多言語対応の準備をしましょうかね その2
まだ2,500行ほどのソース行数なので翻訳すべき文字列定数は11箇所しかありませんでした。
以下のように、英語表記を日本語表記に表示したいです。メニューとかステータスバーの表記ですね。
"File" -> "ファイル"
"Exit" -> "終了"
"Help" -> "ヘルプ"
いっぺんには出来ないので、少しずつ行います。流れは以下の様な感じです。
1. システムロケール文字列を調べる
2. main()に多言語対応するための仕組みを入れる
3. 多言語対応するための追加情報を.pro/.qrcファイルに入れる
4. Qtに含まれるlupdateコマンドを使って多言語対応したい文字列の情報を取得する
5. Qtに含まれるLinguist(GUI)を起動して、翻訳作業を行なう
6. Qtに含まれるlreleaseコマンドを使って多言語対応用のバイナリファイルを作る
7. makeする
8. 動作確認する
こんな感じに日本語になります。
まず、「1, システムロケール文字列を調べる」です。
この文字列を利用して表示したい言語の情報を読み込むので必要らしいです。Qt Assistantで調べても分かるのでしょうけど、実際どうなってるのかソースコードに書いて実際に実行して調べました。
以下の2行をmain()にでも書いてみます。普通にcoutに出力しようとするとコンパイルで怒られるので、qDebug()に出力させます。
qDebug() << "[Brynhildr()] QLocale::system().name() : "
<< QLocale::system().name() << endl << flush;
makeして実行すると以下のように表示されました。
$ ./debug/qtbrynhildr.exe
[Brynhildr()] QLocale::system().name() : "ja_JP"
言語の情報は"ja"、国の情報は"JP"みたいです。この"ja_JP"をどこかにメモっておきます。
で、「2. main()に多言語対応するための仕組みを入れる」に進みます。
« 多言語対応の準備をしましょうかね その1 | トップページ | 多言語対応の準備をしましょうかね その3 »
コメント