В наших файлах JS мы используем следующий формат для перевода Gettext:
var str1 = '!t[The text that should be translated]';
var str2 = '!t[Some more text]';
Эти JS-файлы будут проанализированы с использованием PHP, а проанализированные строки переведены через Zend Framework Zend_Translate. Сгенерированный JS выглядит так:
var str1 = 'The text that should be translated';
var str2 = 'Some more text';
Для извлечения строк, которые нужно перевести, и для перевода наших файлов PHP, мы используем Poedit, он работает очень хорошо.
Есть ли способ проанализировать строки для перевода из '!t[...]'
с помощью Poedit?
Что решило бы проблему, это какой-то парсер Poedit, основанный на регулярных выражениях. Есть ли такой парсер?
В качестве альтернативы мы могли бы определить синтаксический анализатор исходного кода на основе xgettext с языком PHP в качестве параметра (вы должны сделать это, потому что xgettext не знает о файлах .js и обрабатывает их как файлы C). Затем мы используем следующий формат в наших файлах JS:
var str1 = '<?=_t("The text that should be translated")?>';
var str2 = '<?=_t("Some more text")?>';
Само собой разумеется, это действительно не круто использовать код, который везде выглядит как php, просто чтобы иметь возможность анализировать строки с помощью Poedit.