Хорошо, я думаю, вы немного смущены. Вы можете использовать файлы 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 и позволят вам обработать ваши переводы или работа с воспоминаниями о переводе / проверки орфографии и т. д. .... попробуйте и дайте мне знать, если вам нужна дополнительная помощь с этим.