wxPythonアプリの国際化。
基本的には以下のサイトの解説通り。
wxPythonでメッセージ文字列を国際化する方法を勉強
E-Renameに試してみて、幾つか補足。
wxPythonで扱う.xrc内の文字列に関する設定と
ソースコード(.py)中の文字列に関する設定はそれぞれ別。
たまたまどちらも同じフォーマットの.moを参照する作りなので1つの.moにまとめちゃっているだけ。
以下のgettext.find()の項を見る限り、環境変数を設定しないと
「ja」フォルダ以下の「.mo」が使われないように思え、実際そうだった。
22.1. gettext ― 多言語対応に関する国際化サービス
環境変数は使いたくないので gettext.install() を以下で代用。
…もっとスマートなやり方がありそうな気がしてならない…。
wxPythonでメッセージ文字列を国際化する方法を勉強
E-Renameに試してみて、幾つか補足。
wxPythonで扱う.xrc内の文字列に関する設定と
ソースコード(.py)中の文字列に関する設定はそれぞれ別。
たまたまどちらも同じフォーマットの.moを参照する作りなので1つの.moにまとめちゃっているだけ。
以下のgettext.find()の項を見る限り、環境変数を設定しないと
「ja」フォルダ以下の「.mo」が使われないように思え、実際そうだった。
22.1. gettext ― 多言語対応に関する国際化サービス
環境変数は使いたくないので gettext.install() を以下で代用。
…もっとスマートなやり方がありそうな気がしてならない…。
#gettext.install('erename', localedir, unicode=True)
if locale.getlocale()[0] == 'Japanese_Japan':
languages = ['ja']
else:
languages = ['en']
t = gettext.translation('erename', localedir, languages, fallback=True)
t.install(unicode=True)