Windows で gettext に問題があります。Python の gettext モジュールと gettext_windows という名前の 3 番目のモジュールを使用しています: http://bazaar.launchpad.net/~bialix/gettext-py-windows/trunk/view/head:/gettext_windows.py コードは次のとおりです。 :
gettext_windows.setup_env()
_ = gettext.gettext
self._appName = "bitbucket"
self._localeDir = os.getcwd() + "\\data\\locale\\"
self._languages = ["it_IT", "pl_PL"]
if gettext_windows.get_language()[0] in self._languages:
lang = gettext_windows.get_language()[0]
self._translation = gettext.translation(self._appName, self._localeDir, lang)
self._translation.install(unicode=True)
PoEdit を使用して.po/ .mo ファイルを作成します。次に、これらのファイルを保存して、次の場所に配置します。
data
----locale/
--------it_IT/
------------LC_MESSAGES/
----------------bitbucket.mo
----------------bitbucket.po
data
----locale/
--------pl_PL/
------------LC_MESSAGES/
----------------bitbucket.mo
----------------bitbucket.po
アプリを実行しようとすると、次のエラーが発生します。
ドメイン bitbucket の翻訳ファイルが見つかりません
誰が私に何が悪いのか説明できますか?
ファイルは適切なディレクトリにあります。
gettext モジュールから find() メソッドを使用しようとしている場合:
print gettext.find('bitbucket', self._localeDir, self._languages, all=True)
正しく動作し、it_IT/pl_PL 言語の *.mo ファイルを返します