diff --git a/CHANGES.rst b/CHANGES.rst index 81727fa..c730c78 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,9 @@ Changelog 1.0b1 (unreleased) ------------------ +- Implement i18n on the widget (closes `#15`_). + [rodfersou] + - Simplify static files stack. [rodfersou] @@ -22,3 +25,5 @@ Changelog ------------------ - Initial release. + +.. _`#15`: https://github.com/collective/collective.texttospeech/issues/15 diff --git a/src/collective/texttospeech/browser/templates/texttospeech.pt b/src/collective/texttospeech/browser/templates/texttospeech.pt index 30e53d2..290248e 100644 --- a/src/collective/texttospeech/browser/templates/texttospeech.pt +++ b/src/collective/texttospeech/browser/templates/texttospeech.pt @@ -1,4 +1,16 @@ -
+ tal:attributes="data-voice view/voice" + i18n:attributes="data-label-stopped; + data-label-playing; + data-label-paused"> +
diff --git a/src/collective/texttospeech/locales/collective.texttospeech.pot b/src/collective/texttospeech/locales/collective.texttospeech.pot index dc673d4..57452e2 100644 --- a/src/collective/texttospeech/locales/collective.texttospeech.pot +++ b/src/collective/texttospeech/locales/collective.texttospeech.pot @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2016-03-28 19:39+0000\n" +"POT-Creation-Date: 2016-06-10 18:49+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,10 +34,22 @@ msgstr "" msgid "If selected, Text-to-Speech feature will be enabled sitewide." msgstr "" +#: collective/texttospeech/browser/templates/texttospeech.pt:1 +msgid "Listen page" +msgstr "" + #: collective/texttospeech/interfaces.py:26 msgid "Only objects of these content types will display a Text-to-Speech button." msgstr "" +#: collective/texttospeech/browser/templates/texttospeech.pt:1 +msgid "Pause" +msgstr "" + +#: collective/texttospeech/browser/templates/texttospeech.pt:1 +msgid "Play" +msgstr "" + #: collective/texttospeech/controlpanel.py:10 #: collective/texttospeech/profiles.zcml:14 #: collective/texttospeech/profiles/default/controlpanel.xml diff --git a/src/collective/texttospeech/locales/es/LC_MESSAGES/collective.texttospeech.po b/src/collective/texttospeech/locales/es/LC_MESSAGES/collective.texttospeech.po index df71e5c..8282696 100644 --- a/src/collective/texttospeech/locales/es/LC_MESSAGES/collective.texttospeech.po +++ b/src/collective/texttospeech/locales/es/LC_MESSAGES/collective.texttospeech.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2016-03-28 19:39+0000\n" +"POT-Creation-Date: 2016-06-10 18:49+0000\n" "PO-Revision-Date: 2016-03-28 16:40-0300\n" "Last-Translator: \n" "Language-Team: \n" @@ -36,10 +36,22 @@ msgstr "Aquí puede modificar las configuraciones de collective.texttospeech." msgid "If selected, Text-to-Speech feature will be enabled sitewide." msgstr "Si está seleccionado, la funcionalidad de Text-to-Speech estará habilitada en el sitio." +#: collective/texttospeech/browser/templates/texttospeech.pt:1 +msgid "Listen page" +msgstr "" + #: collective/texttospeech/interfaces.py:26 msgid "Only objects of these content types will display a Text-to-Speech button." msgstr "Sólo los objetos de estos tipos de contenido mostrarán el botón de Text-to-Speech." +#: collective/texttospeech/browser/templates/texttospeech.pt:1 +msgid "Pause" +msgstr "" + +#: collective/texttospeech/browser/templates/texttospeech.pt:1 +msgid "Play" +msgstr "" + #: collective/texttospeech/controlpanel.py:10 #: collective/texttospeech/profiles.zcml:14 #: collective/texttospeech/profiles/default/controlpanel.xml diff --git a/src/collective/texttospeech/locales/pt_BR/LC_MESSAGES/collective.texttospeech.po b/src/collective/texttospeech/locales/pt_BR/LC_MESSAGES/collective.texttospeech.po index bb41788..03b6620 100644 --- a/src/collective/texttospeech/locales/pt_BR/LC_MESSAGES/collective.texttospeech.po +++ b/src/collective/texttospeech/locales/pt_BR/LC_MESSAGES/collective.texttospeech.po @@ -1,8 +1,10 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2016-03-28 19:39+0000\n" +"POT-Creation-Date: 2016-06-10 18:49+0000\n" "PO-Revision-Date: 2016-03-28 16:44-0300\n" +"Last-Translator: \n" +"Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -11,8 +13,6 @@ msgstr "" "Language-Name: English\n" "Preferred-Encodings: utf-8 latin1\n" "Domain: DOMAIN\n" -"Last-Translator: \n" -"Language-Team: \n" "Language: pt_BR\n" "X-Generator: Poedit 1.7.5\n" @@ -36,10 +36,22 @@ msgstr "Aqui pode modificar as configurações do collective.texttospeech." msgid "If selected, Text-to-Speech feature will be enabled sitewide." msgstr "Se estiver selecionado, a funcionalidade de Text-to-Speech estará habilitada no site." +#: collective/texttospeech/browser/templates/texttospeech.pt:1 +msgid "Listen page" +msgstr "Escutar página" + #: collective/texttospeech/interfaces.py:26 msgid "Only objects of these content types will display a Text-to-Speech button." msgstr "Só objetos de esses tipos de conteúdo mostrarão o botão de Text-to-Speech." +#: collective/texttospeech/browser/templates/texttospeech.pt:1 +msgid "Pause" +msgstr "Pausar" + +#: collective/texttospeech/browser/templates/texttospeech.pt:1 +msgid "Play" +msgstr "Tocar" + #: collective/texttospeech/controlpanel.py:10 #: collective/texttospeech/profiles.zcml:14 #: collective/texttospeech/profiles/default/controlpanel.xml diff --git a/src/collective/texttospeech/static/main.js b/src/collective/texttospeech/static/main.js index 8abb823..6b2c6bf 100644 --- a/src/collective/texttospeech/static/main.js +++ b/src/collective/texttospeech/static/main.js @@ -1 +1 @@ -var MainView = (function() { function MainView() { var self = this; self.$el = $('#viewlet-texttospeech'); self.$el.data('main', self); self.template = ""; self.playing = false; self.paused = true; self.render(); self.$button.on('click', self.play_pause); } MainView.prototype.render = function() { var self = this; self.$el.html(self.template); self.$button = $('#texttospeech-button', self.$el); }; MainView.prototype.onstart = function() { var self = $('#viewlet-texttospeech').data('main'); self.playing = true; self.paused = false; self.$button.attr('value', 'Pause'); }; MainView.prototype.onend = function() { var self = $('#viewlet-texttospeech').data('main'); self.playing = false; self.paused = true; self.$button.attr('value', 'Play'); }; MainView.prototype.play_pause = function(e) { e.preventDefault(); var self = $('#viewlet-texttospeech').data('main'); if (self.playing) { if (self.paused) { self.paused = false; self.$button.attr('value', 'Pause'); responsiveVoice.resume(); } else { self.paused = true; self.$button.attr('value', 'Play'); responsiveVoice.pause(); } } else { responsiveVoice.speak( $('#content').text(), self.$el.attr('data-voice'), { onstart: self.onstart, onend: self.onend } ); } }; return MainView; })(); var ControlPanelView = (function() { function ControlPanelView() { var self = this; self.template = ""; self.actual_voice = $('#form-widgets-voice').val(); self.render(); } ControlPanelView.prototype.render = function() { var self = this; $('#form-widgets-voice').replaceWith(self.template); var voicelist = responsiveVoice.getVoices(); var vselect = $('#form-widgets-voice'); var i, len, voice; for (i = 0, len = voicelist.length; i < len; i++) { voice = voicelist[i]; if (voice.name === self.actual_voice) { vselect.append($('