Правильное использование jstranslator.xml
Я пытаюсь перевести сообщения об ошибках, возвращаемые модулем Почтовый индекс в любом месте. Они отображаются в предупреждениях браузера, поэтому создаются на JavaScript.
Мне удалось перевести один из них, используя метод встроенного скрипта, как показано ниже:
alert( Translator.translate(error) );
Translator.add('PostalCode Required', '<?php echo $this->__('Translated text here'); ?>');
Мне это не очень нравится, потому что это означает, что у меня есть встроенный JavaScript и перевод, хранящийся в файле шаблона, когда все мои другие переводы хранятся в папке global locale. В попытке сделать этот очиститель, я пытался использовать более новый метод jstranslate, но я не могу заставить его работать правильно.
Редактировать: Вот ссылка на учебник, которому я следовал: http://en.herveguetin.com/translate-javascript-with-jstranslator-xml.html
У меня есть модуль config.xml определение модуля таким образом (Клиент используется для замены реального имени в целях конфиденциальности):
<modules>
<Client_PostcodeAnywhere>
<version>0.0.1</version>
</Client_PostcodeAnywhere>
</modules>
Внутри внешнего интерфейса ->разделы компоновки config.xml файл, который я добавил:
<jstranslate>
<file>jstranslator.xml</file>
</jstranslate>
Внутри интерфейсный раздел config.xml Я добавил:
<translate>
<modules>
<client_postcodeanywhere>
<files>
<default>Client_PostcodeAnywhere.csv</default>
</files>
</client_postcodeanywhere>
</modules>
</translate>
Я создал jstranslator.xml файл в том же расположении, что и модуль config.xml файл:
<jstranslator>
<client-postcodeanywhere-required translate="message" module="client_postcodeanywhere">
<message>PostalCode Required</message>
</client-postcodeanywhere-required>
</jstranslator>
Я создал файл Client_PostcodeAnywhere.csv в своей папке fr_FR в папке глобальной локали (перевод с английского на французский):
"PostalCode Required","Translated text here"
Я не получаю перевода после этого, и я не знаю, почему. Кто-нибудь понимает, какими должны быть теги xml в файле jstranslator? Мой называется "клиент - в любом месте - требуется", но я даже не знаю, что это значит.
2 answers
Требования
- Модуль должен быть объявлен
- Этот модуль должен быть готов к приему переводов (CSV-файлы+ Помощники и узел перевода должны быть объявлены в модуле config.xml)
Мой пример кода действительно работает. Я думаю, что, возможно, у меня где-то было несоответствие в названии, но сейчас это работает так, как ожидалось.