переводите файлы .js, используя gettext - PullRequest
5 голосов
/ 28 января 2010

Я нашел эту классную библиотеку js gettext -> http://code.google.com/p/gettext-js/, но я не понимаю, как это реализовать. Я использую poedit для редактирования переводов, и я вижу, что это работает, когда я извлекаю проект и запускаю демонстрационный файл, но когда я делаю изменения в тексте, файлы .po не обновляются, и я не вижу новый текст У кого-нибудь есть идеи? Спасибо!

Ответы [ 4 ]

9 голосов
/ 18 февраля 2010

«Мне также пришлось форсировать python в команде gettext»:

  1. Файл | Настройки | Парсеры
  2. Редактировать Python
  3. Редактировать "Список расширений ..":
  4. *.py;*.js
  5. Редактировать "Parser Commend:"
  6. xgettext --language=Python --force-po -o %o %C %K %F

Готово.

Спасибо за ведущий меня там Кентор :) 1023 *

4 голосов
/ 04 мая 2011

Я думаю, что xgettext --language = perl --force-po -o% o% C% K% F (используя perl, а не python) должны быть лучшими вариантами, так как python вызывает проблему с комментарием javascript, который содержит один кавычка (неопределенная ошибка строки).

0 голосов
/ 15 октября 2013

Сначала я попытался использовать обе конфигурации: Python и Perl, но с некоторыми сложными шаблонами подчеркивания, вложенными кавычками и двойными кавычками, экранированными символами и т. Д. Оба анализатора сообщили о множестве ложных устаревших строк, поэтому я не могу правильно обновить файлы .pot или .po из исходного кода.

Я тоже безуспешно проверял http://code.google.com/p/gettext-js/

После долгих проб и ошибок я обнаружил, что могу использовать синтаксический анализ цепочки, и он прекрасно работал на poedit 1.5.7. Это параметры конфигурации, которые должны быть включены одновременно для лучшего соответствия

Извлеченный из библиотеки / Preferences / net.poedit.Poedit.cfg версии для Mac, вы можете просто скопировать и вставить его в диалоговом окне, в противном случае

[Parsers/js] 
Extensions=*.js;*.html 
Command=xgettext --language=Python --force-po -o %o %C %K %F 
KeywordItem=-k%k 
FileItem=%f 
CharsetItem=--from-code=%c 

[Parsers/PHP] 
Extensions=*.php;*.js;*.html 
Command=xgettext --language=PHP --force-po -o %o %C %K %F 
KeywordItem=-k%k 
FileItem=%f 
CharsetItem=--from-code=%c 

Обратите внимание, что вам, возможно, не нужно включать * .html в свои расширения, я сделал это для анализа шаблонов подчеркивания. Надеюсь, это поможет, потому что это действительно расстраивает меня:)

0 голосов
/ 28 января 2010

Вы должны вызвать xgettext, чтобы извлечь строки в файл .pot, а затем запустить msgmerge для обновления файлов .po. gettext руководство содержит все кровавые подробности.

...