4
我正在構建一個利用一堆翻譯後的字符串的Python應用程序。目錄結構住房表示字符串看起來是這樣的:由一個PHP應用程序生成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
文件,但據我所知,它們符合與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 2012-03-22 20:31:27