Go for it!

モーターサイクルと自転車とキャンプの日々。

Golden Cheetah日本語化メモ

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]