« 多言語対応の準備をしましょうかね その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 »

コメント

コメントを書く

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

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

トラックバック


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

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