title.png

^<< 2011.08/1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>$

Trackback の仕組みはありませんので、コメントにでも残していただくと嬉しいかも、です。

(2011.08.07)

Qt開発メモ(5)

Mac OS X でアプリケーションメニューなどを日本語にする

ご存知の通り Mac OS X の場合、メニューバーに各アプリ名のメニュー(アプリケーションメニュー)があって、アバウトメニュー(「XXXについて」)・設定メニュー(「環境設定...」)・Quitメニュー(「XXXを終了」)といったものやサービスメニューなどの共通メニューはここに配置されます。

Qt の公式ドキュメントの "Qt for Mac OS X - Specific Issues" には「Translating the Application Menu and Native Dialogs」という項があって、そこを読むとアプリケーションメニューをローカライズしたい場合にはアプリケーションバンドルの中の言語ごとのリソースディレクトリ(日本語なら Contents/Resources/ja.lproj ですね)に locversion.plist というファイルを置けばいい、と書いてあります。

しかしこれは(今では)大嘘

この記載に惑わされて相当無駄な時間を使ってしまったオイラがいるわけですが(^^; たぶん、これはQtのバックエンドが Carbon であった時の記載だと思われます。

少なくとも、私が使っているCocoaバックエンドの環境ではうまくいかないです。

正解は、Qt 自体のローカライズファイル(qm) を動的にロードしてアプリの実行環境にインストールする、です。つまりQtにおける通常のi18n対応方法と変わりません。では Qt 自体の qm ファイルはどこにあるか、というと Qt をインストールした場所($QTDIR、Mac OS X で普通に入れると /Developer/Applications/Qt です)にある taranslations ディレクトリにあります。ここに qt_XX.qm ファイル(XXは言語を表す。日本語用なら qt_ja.qm)があるので、これを自分のアプリでも抱えて QTranslater で load して QApplication に installTranslater してあげればおkです。

ちなみにこの qt_XX.qm ファイルはフランス語・ドイツ語・簡体中国語のみが Nokia のサポートするもので、日本語も含めたその他の言語用のものはサードパーティのコントリビュータから提供されたサポート保証のないファイル、とのことのようです。

Document の記述に惑わされて私と同じハマりをする方が無くなるようにここにメモしておきます。

ツッコミ

HatheEssecell すべては、することができます (2011/09/08 12:01:46)