Honeycombの日本語化

2005年11月26日
日本語対応化に関してですがDeeさんが成功していたので

http://kikyou.info/diary/?200510#i5_2

を参考にMinGWのlibiconvとgettextを使って

xgettext -k_ ソースファイル名 -o poファイル名
msgfmt -c -o moファイル名 poファイル名

で、ソース内の_()マクロからpoファイル作成後、poファイルのヘッダをcharset=utf-8にしてUTF-8のプレーンテキストで保存。その後、poからmoファイルを作成してwxWidget側でutf-8文字コードを以下の関数で置き換え

inline wxString _GT ( const wxChar* str )
{
wxString str2(str, wxConvUTF8);
wxString str3(wxConvUTF8.cMB2WC(str2.mbc_str().data()), wxConvLocal);
return str3 ;
}

使うときは

_GT(_("string"))

って感じですね。これでやってみたんですが、日本語化できる文字列と日本語化できない文字列が出てきた…

僕がやった限りでは、Fileメニューの&Fileと&Open以外はどうも変換できない。むむむ…

一応、HoneycombAppのコンストラクタで

locale.AddCatalog(wxT("."));
locale.AddCatalogLookupPathPrefix ( wxT("locale")) ;
locale.Init(wxLANGUAGE_DEFAULT);
locale.AddCatalog(wxT("Honeycomb"));

って感じで、./locale/ja/Honeycomb.moが呼び出されるように設定はしているんだけど

少し時間を置いてやってみよう。

コメント