В большинстве случаев вам не нужно анализировать .po
файлы самостоятельно.Разработчики предоставляют переводчикам файл шаблона .pot
, переименовывают его в xx_XX.po
и переводят строки.Тогда вам, как разработчику, нужно только «скомпилировать» их в .mo
файлы, используя gettext
инструменты GNU (или его реализацию на Python, pygettext
)
Но, если вы хотите / должны проанализировать po-файлысамостоятельно, вместо того чтобы их компилировать, я настоятельно рекомендую вам использовать polib
, хорошо известную библиотеку python для обработки po
файлов.Он используется несколькими крупномасштабными проектами, такими как Mercurial и движок Ubuntu для запуска Launchpad:
PyPi package home: http://pypi.python.org/pypi/polib/
Хранилище кода: https://bitbucket.org/izi/polib/wiki/Home
Документация: http://polib.readthedocs.org
Модуль импорта представляет собой один файл с лицензией MIT, так что вы можете легко включить его в свой код следующим образом:
import polib
po = polib.pofile('path/to/catalog.po')
for entry in po:
print entry.msgid, entry.msgstr
Это не может быть прощечем это;)