Я использую gettext в JavaScript со следующей конструкцией:
Файл: script.js.php:
createDynamicForm(formId, '<?php echo(_("Hromadný report")); ?>', data, '', '');
Затем у меня есть ссылка на этот файл в моей конфигурации страницы:
<script type='text/javascript' src='".$root."javascript/"."script.js.php'></script>
У меня также есть этот элемент в моем файле PO:
CZ #: javascript/script.js.php:35 msgid "Hromadný report" msgstr "" EN: #: javascript/script.js.php:35 msgid "Hromadný report" msgstr "Summary report"
К несчастью, это не работает для меня. После обновления страницы я вижу только слова CZ, а не слова EN. В принципе для ясных PHP-файлов gettext работает для меня очень хорошо. Он не работает только для файлов JS, переименованных в .js.php с помощью этой специальной встроенной функции PHP gettext.
Я что-то пропустил?
Изменить: я обнаружил, что если этот код javascript с функцией gettext находится внутри кода PHP с HTML между тегами <script>, он работает хорошо:
<?php $var = 1; ?> <script> createDynamicForm(formId, '<?php echo(_("Hromadný report")); ?>', data, '', ''); </script> <?php $var++;
Поэтому gettext не работает для меня, если он находится в отдельном файле, связанном как файл с внутренним JS.