summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-11-02 11:39:38 -0700
committerBrion Vibber <brion@pobox.com>2010-11-02 11:46:29 -0700
commit151eebcc289884259e18e95b2d707a2fc1c72b0e (patch)
tree7f8ae277b4b6776208431035e6de9c3419225a90
parent760a1c27bc37a20b70788e5e132c4cf9da1bb579 (diff)
Starting on making Realtime plugin's UI messages localizable: pause/play, popup button text and tooltip text are now loaded from PHP code where we can get at gettext.
-rw-r--r--plugins/Realtime/RealtimePlugin.php24
-rw-r--r--plugins/Realtime/realtimeupdate.js24
2 files changed, 38 insertions, 10 deletions
diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php
index 352afcf78..7a40cdca3 100644
--- a/plugins/Realtime/RealtimePlugin.php
+++ b/plugins/Realtime/RealtimePlugin.php
@@ -106,7 +106,9 @@ class RealtimePlugin extends Plugin
$realtimeUI = ' RealtimeUpdate.initActions("'.$url.'", "'.$timeline.'", "'. $pluginPath .'");';
}
+ $i18n = $this->_getMessages();
$script = ' $(document).ready(function() { '.
+ 'RealtimeUpdate._messages=' . json_encode($i18n) . ';' .
$realtimeUI.
$this->_updateInitialize($timeline, $user_id).
'}); ';
@@ -326,6 +328,28 @@ class RealtimePlugin extends Plugin
return array('plugins/Realtime/realtimeupdate.js');
}
+ /**
+ * Any i18n messages that need to be loaded at runtime.
+ * @return array of string key to output text string pairs
+ */
+ function _getMessages()
+ {
+ return array(
+ // TRANS: Text label for realtime view "play" button, usually replaced by an icon.
+ 'play' => _m('BUTTON', 'Play'),
+ // TRANS: Tooltip for realtime view "play" button.
+ 'play_tooltip' => _m('TOOLTIP', 'Play'),
+ // TRANS: Text label for realtime view "pause" button
+ 'pause' => _m('BUTTON', 'Pause'),
+ // TRANS: Tooltip for realtime view "pause" button
+ 'pause_tooltip' => _m('TOOLTIP', 'Pause'),
+ // TRANS: Text label for realtime view "popup" button, usually replaced by an icon.
+ 'popup' => _m('BUTTON', 'Pop up'),
+ // TRANS: Tooltip for realtime view "popup" button.
+ 'popup_tooltip' => _m('TOOLTIP', 'Pop up in a window'),
+ );
+ }
+
function _updateInitialize($timeline, $user_id)
{
return "RealtimeUpdate.init($user_id, \"$this->replyurl\", \"$this->favorurl\", \"$this->repeaturl\", \"$this->deleteurl\"); ";
diff --git a/plugins/Realtime/realtimeupdate.js b/plugins/Realtime/realtimeupdate.js
index 25dc12d58..f764ca738 100644
--- a/plugins/Realtime/realtimeupdate.js
+++ b/plugins/Realtime/realtimeupdate.js
@@ -40,6 +40,7 @@ RealtimeUpdate = {
_documenttitle: '',
_paused:false,
_queuedNotices:[],
+ _messages:{},
init: function(userid, replyurl, favorurl, repeaturl, deleteurl)
{
@@ -261,9 +262,10 @@ RealtimeUpdate = {
RealtimeUpdate.addNoticesHover();
$('#realtime_playpause').remove();
- $('#realtime_actions').prepend('<li id="realtime_playpause"><button id="realtime_pause" class="pause" title="Pause">Pause</button></li>');
-
- $('#realtime_pause').bind('click', function() {
+ $('#realtime_actions').prepend('<li id="realtime_playpause"><button id="realtime_pause" class="pause"></button></li>');
+ $('#realtime_pause').text(RealtimeUpdate._messages['pause'])
+ .attr('title', RealtimeUpdate._messages['pause_tooltip'])
+ .bind('click', function() {
RealtimeUpdate.removeNoticesHover();
RealtimeUpdate.showPlay();
return false;
@@ -274,9 +276,10 @@ RealtimeUpdate = {
{
RealtimeUpdate.setPause(true);
$('#realtime_playpause').remove();
- $('#realtime_actions').prepend('<li id="realtime_playpause"><span id="queued_counter"></span> <button id="realtime_play" class="play" title="Play">Play</button></li>');
-
- $('#realtime_play').bind('click', function() {
+ $('#realtime_actions').prepend('<li id="realtime_playpause"><span id="queued_counter"></span> <button id="realtime_play" class="play"></button></li>');
+ $('#realtime_play').text(RealtimeUpdate._messages['play'])
+ .attr('title', RealtimeUpdate._messages['play_tooltip'])
+ .bind('click', function() {
RealtimeUpdate.showPause();
return false;
});
@@ -334,10 +337,11 @@ RealtimeUpdate = {
initAddPopup: function(url, timeline, path)
{
- $('#realtime_timeline').append('<button id="realtime_popup" title="Pop up in a window">Pop up</button>');
-
- $('#realtime_popup').bind('click', function() {
- window.open(url,
+ $('#realtime_timeline').append('<button id="realtime_popup"></button>');
+ $('#realtime_popup').text(RealtimeUpdate._messages['popup'])
+ .attr('title', RealtimeUpdate._messages['popup_tooltip'])
+ .bind('click', function() {
+ window.open(url,
'',
'toolbar=no,resizable=yes,scrollbars=yes,status=no,menubar=no,personalbar=no,location=no,width=500,height=550');