Golden Cheetahいじりのメモです。
Golden CheetahはNokia Qtライブラリを使って組まれています。このライブラリは国際化の対応が進んでいて、すでにフランス語版が動いているし、ちょっと頑張ると日本語化出来そうな予感。ということでゴニョる。
[ad#text_only_square]
Qt国際化周り。
- src.proのTRANSLATIONSにtranslations/gc_ja.ts追加
- lupdate-macを実行するとtranslations/gc_ja.tsができる
- linguist-macを起動してgc_ja.tsを開く
- がんばって翻訳
- lrelease-macを実行するとtranslations/gc_ja.qmができる
コード側の対応。
application.qrcにtranslations/gc_ja.qmを追加、Pages.cpp, ConfigDialog.cpp辺りにJapaneseの定義を追加。で、make clean && makeするとダイアログに項目が増えて、日本語メッセージが表示されるようになる。
設定画面。
リアルタイムライドの画面。
githubのHEADに対するパッチ。
diff --git a/src/ConfigDialog.cpp b/src/ConfigDialog.cpp index 0df2c0f..5919576 100644 --- a/src/ConfigDialog.cpp +++ b/src/ConfigDialog.cpp @@ -141,6 +141,8 @@ void ConfigDialog::save_Clicked() settings->setValue(GC_LANG, "en"); else if (configPage->langCombo->currentIndex()==1) settings->setValue(GC_LANG, "fr"); + else if (configPage->langCombo->currentIndex()==2) + settings->setValue(GC_LANG, "ja"); if (configPage->unitCombo->currentIndex()==0) settings->setValue(GC_UNIT, "Metric"); diff --git a/src/Pages.cpp b/src/Pages.cpp index 0a748bb..aa7978c 100644 --- a/src/Pages.cpp +++ b/src/Pages.cpp @@ -18,6 +18,7 @@ ConfigurationPage::ConfigurationPage() langCombo = new QComboBox(); langCombo->addItem(tr("English")); langCombo->addItem(tr("French")); + langCombo->addItem(tr("Japanese")); QVariant lang = settings->value(GC_LANG); @@ -25,6 +26,8 @@ ConfigurationPage::ConfigurationPage() langCombo->setCurrentIndex(0); else if(lang.toString() == "fr") langCombo->setCurrentIndex(1); + else if(lang.toString() == "ja") + langCombo->setCurrentIndex(2); else // default : English langCombo->setCurrentIndex(0); diff --git a/src/application.qrc b/src/application.qrc index 9327207..978c2cc 100644 --- a/src/application.qrc +++ b/src/application.qrc @@ -8,5 +8,6 @@images/gc.png images/config.png translations/gc_fr.qm +translations/gc_ja.qm diff --git a/src/src.pro b/src/src.pro index dd3283f..dcce0d2 100644 --- a/src/src.pro +++ b/src/src.pro @@ -194,5 +194,5 @@ SOURCES += \ RESOURCES = application.qrc -TRANSLATIONS = translations/gc_fr.ts +TRANSLATIONS = translations/gc_fr.ts translations/gc_ja.ts diff --git a/src/translations/gc_fr.ts b/src/translations/gc_fr.ts index 1fd2321..beb33cb 100644
画面とtsファイルの関係性が解ってないため対訳がヘンですが、まあこんなかんじ。国際化されてない部分がいくつかあるので、開発の人を捕まえてつつく、かも。とりあえずここまで。
UPDATE (12/18): 日本語化の成果が本家にマージされました!
[ad#text_wide]