From 151eebcc289884259e18e95b2d707a2fc1c72b0e Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Tue, 2 Nov 2010 11:39:38 -0700 Subject: [PATCH] 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. --- plugins/Realtime/RealtimePlugin.php | 24 ++++++++++++++++++++++++ plugins/Realtime/realtimeupdate.js | 24 ++++++++++++++---------- 2 files changed, 38 insertions(+), 10 deletions(-) diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php index 352afcf785..7a40cdca31 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 25dc12d584..f764ca738d 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('
  • '); - - $('#realtime_pause').bind('click', function() { + $('#realtime_actions').prepend('
  • '); + $('#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('
  • '); - - $('#realtime_play').bind('click', function() { + $('#realtime_actions').prepend('
  • '); + $('#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(''); - - $('#realtime_popup').bind('click', function() { - window.open(url, + $('#realtime_timeline').append(''); + $('#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'); -- 2.39.5