Есть ли способ создать файл CSV локализации торнадо, как MakeJessage Django? - PullRequest
5 голосов
/ 05 ноября 2010

Django makemessage может генерировать файлы i18n, что упрощает перевод.

Как я вижу, торнадо поддерживает как формат CSV, так и формат gettext, но я могу использовать только версию CSV, потому что я буду использовать ее в appengine.

Итак, я ищу способ создания этих CSV-файлов для базы торнадо на основе сканирования моих кодов и шаблонов.

Ответы [ 2 ]

6 голосов
/ 17 ноября 2010

Хорошо, я думаю, вы немного смущены. Вы можете использовать файлы gettext и po / mo из appengine, поскольку gettext экспортируется из реализации Google django.util (обсуждение этого можно найти в google-appengine google group ):

from django.utils.translation import gettext as _ 

Я не знаком с форматом i18n AppEngine CSV, но есть очень простой способ извлечь интернационализированные строки из кода и шаблонов торнадо, используя xgettext , просто в основном форсируя python из командной строки. Как пример:

 xgettext -L Python -o myproject.pot  *.html

Эта команда получит все строки i18n из * .html в вашем текущем каталоге и поместит их в myproject.pot. Вы можете инициализировать этот файл и перевести его, скажем, в ./it_IT/myproject.po, используя любой коммерческий инструмент или инструмент с открытым исходным кодом (я бы порекомендовал poedit или pootle ), и как только вы перевели все строки Вы можете конвертировать файл в CVS, используя po2csv Translate Toolkit, который также написан на python:

po2csv -i it_IT/myproject.po -o it_IT/myproject.csv 

Формат location:codeLine,source,target, который довольно прост, и его легко конвертировать в любой другой формат, который вам нужен (я не знаком с форматом appengine i18n CSV), вы можете вызвать po2csv без аргумента -o и передать вывод из STDOUT.

Я не знаю, решит ли это ваш вопрос, но в основном я думаю, что вы должны принять рабочий процесс code-> pot / po-> csv, так как есть много инструментов, которые ожидают po / pot / mo и позволят вам обработать ваши переводы или работа с воспоминаниями о переводе / проверки орфографии и т. д. .... попробуйте и дайте мне знать, если вам нужна дополнительная помощь с этим.

0 голосов
/ 12 июля 2012

Я написал для этой цели новый модуль под названием tornado-babel , который включает в себя экстрактор для babel для извлечения переводимых строк из шаблонов торнадо.Он не создаст файл CSV для вас, но стандартные файлы банка.

...