« 多言語対応の準備をしましょうかね その2 | トップページ | 多言語対応の準備をしましょうかね その4 »

2014年5月23日 (金)

多言語対応の準備をしましょうかね その3

「2. main()に多言語対応するための仕組みを入れる」です。

2つのincludeと"// for Translation"以降の行をmain()に追加します。
#include <QLocale>
#include <QTranslator>

int main(int argc, char *argv[])
{
  QApplication app(argc, argv);

  // for Translation
  QTranslator appTranslator;
  appTranslator.load(":/translations/brynhildr_"
				 + QLocale::system().name(),
				 qApp->applicationDirPath());
  app.installTranslator(&appTranslator);

appTranslator.load()の引数に言語ごとのデータファイルを指定するのですが、":"が付いているのは特別な指定をするためです。

debug/qrc_*.cppというファイルの中身を見るとなんとなく分かるかもしれません。実はこのqrc_*.cppというソースファイルは、言語ごとのデータとかアイコン用の画像データなどが埋め込まれたソースファイルで、makeの時に画像データや言語データ、その他指定したデータが実行ファイルに埋め込まれるようになっています。このように埋め込まれたファイルにアクセスするために":"というのが目印になっているそうです。

ですので、アイコン用の画像データや言語データは別途同梱する必要はなさそうですね。

« 多言語対応の準備をしましょうかね その2 | トップページ | 多言語対応の準備をしましょうかね その4 »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/2011805/56290426

この記事へのトラックバック一覧です: 多言語対応の準備をしましょうかね その3:

« 多言語対応の準備をしましょうかね その2 | トップページ | 多言語対応の準備をしましょうかね その4 »

無料ブログはココログ
2017年6月
        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