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]