1

pyGTKを使ってソフトを書いています。pyGTKにGTK用に自分の*.moファイルを使用させる方法を知りたいのですが。

実際、私の問題は、Linuxでコーディングしていますが、Windowsで配布したいということです。Windows実行可能ファイルを取得するには、cx_Freezeを使用します。テキストに独自のgettextを含めることができ、それはうまく機能しますが、pyGTK gettextも含めたいと思います。これを行わないと、ボタンのテキストは英語のままです。 Windowsは別の言語です。また、すべてのGTK言語をサポートしたくないので、すべての言語を含めたくありません。

事前に感謝し、悪い英語をお詫びします...

EDiT:コードスニペットは何よりも優れているので:

APP_NAME="MyWonderfulApp"
LOCALE_DIR="locale"
#Translation stuff

local_path = os.path.realpath(os.path.dirname(sys.argv[0]))
langs = []
lc, encoding = locale.getdefaultlocale()
if (lc):
    langs = [lc]

language = os.environ.get('LANGUAGE', None)
if (language):
    langs += language.split(":")

langs += ["fr_FR", "en_US"]
gettext.bindtextdomain(APP_NAME, LOCALE_DIR)
gettext.textdomain(APP_NAME)
lang = gettext.translation(APP_NAME, LOCALE_DIR, languages=langs, fallback = True)
_ = lang.gettex
4

1 に答える 1

-1

Python の gettext を正しく初期化していますが、GTK+ や友人が使用する libintl は初期化していません。私のelib.intlモジュールを見て、それがどのように行われたかを確認できます。

于 2011-08-11T13:17:31.613 に答える