4
私は翻訳された文字列の束を利用するPythonアプリケーションを構築しています。ディレクトリ構造のハウジングは、文字列は次のようになります言った:Pythonとgettext
/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
実装で動作するために必要な一般的な標準に準拠しています。
私はgettextのを使用してPythonでこれらの文字列を利用しようとすると、次がダウンした(この例では、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'
>>>
私は私がここで間違ってやっているかわからないんだけど(このライブラリとその文脈で「ドメイン」の概念と経験不足を超えて)。
私は、単純な間違っているのでしょうか?それとも私はこのがらくたがどのように働くか?
感謝の私の理解では根本的な欠陥を持っています!
私はモジュールが.moので終わるファイルを探しているとされていない理解していればの.po – deinonychusaur