Python и gettext

Я создаю приложение Python, в котором используется набор переведенных строк. Структура каталогов, содержащая указанные строки, выглядит следующим образом:

/locales
    default.pot # reference English strings live here
    /es_ES
        /LC_MESSAGES
            default.po #Spanish strings
    /de_DE
        /LC_MESSAGES
            default.po #German strings

Эти файлы default.poбыли сгенерированы приложением PHP, но, насколько мне известно, они соответствуют общему стандарту, необходимому для работы с . ] реализации gettext.

Когда я пытаюсь использовать эти строки в Python с помощью gettext, происходит следующее (этот пример был запущен из каталога locales:

>>> import os; os.listdir('.')
['.svn', 'de_DE', 'default.pot', 'eng', 'es_ES', 'fr_FR', 'ja_JP', 'ko_KR', 'pl_PL', 'pt_BR', 'ru_RU']
>>> import os.path
>>> os.path.exists('./es_ES/LC_MESSAGES/default.po')
True
>>> import gettext
>>> ldir = 'es_ES/LC_MESSAGES/'
>>> t = gettext.translation('default',ldir)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/gettext.py", line 469, in translation
IOError: [Errno 2] No translation file found for domain: 'default'
>>>

Я не уверен, что делаю неправильно здесь (помимо неопытности с этой библиотекой и понятия «домен» в ее контексте).

Я совершаю простую ошибку? Или у меня есть фундаментальный недостаток в моем понимании того, как работает эта хрень?

Спасибо!

6
задан inkedmn 22 March 2012 в 18:51
поделиться