多言語対応の準備をしましょうかね その3
「2. main()に多言語対応するための仕組みを入れる」です。
2つのincludeと"// for Translation"以降の行をmain()に追加します。
debug/qrc_*.cppというファイルの中身を見るとなんとなく分かるかもしれません。実はこのqrc_*.cppというソースファイルは、言語ごとのデータとかアイコン用の画像データなどが埋め込まれたソースファイルで、makeの時に画像データや言語データ、その他指定したデータが実行ファイルに埋め込まれるようになっています。このように埋め込まれたファイルにアクセスするために":"というのが目印になっているそうです。
ですので、アイコン用の画像データや言語データは別途同梱する必要はなさそうですね。
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 »
コメント