Правильное использование 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? Мой называется "клиент - в любом месте - требуется", но я даже не знаю, что это значит.

Author: Mark Weston, 2014-01-27

2 answers

Требования

  • Модуль должен быть объявлен
  • Этот модуль должен быть готов к приему переводов (CSV-файлы+ Помощники и узел перевода должны быть объявлены в модуле config.xml)
 1
Author: oleksii.svarychevskyi, 2014-01-27 17:51:02

Мой пример кода действительно работает. Я думаю, что, возможно, у меня где-то было несоответствие в названии, но сейчас это работает так, как ожидалось.

 1
Author: Mark Weston, 2014-01-28 09:50:10