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が呼び出されるように設定はしているんだけど
少し時間を置いてやってみよう。
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が呼び出されるように設定はしているんだけど
少し時間を置いてやってみよう。
コメント