Magento использует систему для перевода текста в файлы шаблонов, используя:
$this->__('text to be translated.');
или
Mage::helper('modulename')->__('text to be translated.');
,
Это работает очень хорошо. Но когда я добавляю текст в файл javascript, я не могу использовать эти два метода.
Есть ли способ, которым я мог бы сделать подобное с переводами для файлов javascript?
Вы можете сделать это в файле шаблона yourfile.phtml. Javascript-скрипт js / mage / translate.js должен быть включен в ваш заголовок html (по умолчанию это Magento).
<script type="text/javascript"> Translator.add('You should take care of this confirmation message!','<?php echo Mage::helper('yourmodule')->__('You should take care of this confirmation message!')?>'); </script>
EDIT : вы можете с Magento 1.7 добавить файл jstranslator.xml в свой модуль в папку etc / и установить следующую строку:
<jstranslator> <!-- validation.js --> <validate-no-html-tags translate="message" module="core"> <message>HTML tags are not allowed</message> </validate-no-html-tags> <validate-select translate="message" module="core"> <message>Please select an option.</message> </validate-select> </jstranslator>
Затем переведите строку, как вы это делаете, для PHP благодаря CSV-файлу. Это добавит перевод в код javascript, например, следующий var Translator = new Translate(...)
Просто используйте в своих скриптах следующий метод:
Translator.translate('Some phrase');
Это правильный способ для перевода строк JavaScript с файлом .phtml
Translator-add({"To be translated":"<?php echo $this->_('To be translated'); ?>"});