Golden Cheetah日本語化メモ

12月 16th, 2009 by key

Golden Cheetahいじりのメモです。

Golden CheetahはNokia Qtライブラリを使って組まれています。このライブラリは国際化の対応が進んでいて、すでにフランス語版が動いているし、ちょっと頑張ると日本語化出来そうな予感。ということでゴニョる。


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):
日本語化の成果が本家にマージされました!

タグ: ,

4 Responses to “Golden Cheetah日本語化メモ”

Feed for this Entry Trackback Address
  1. 1

    yama-kei

    どもども。
    GCの日本語化、自分も全く同じノリでやってました(笑)。
    強いて言うなら、Makefile に translations/gc_ja.qm のエントリーを追加しているかいないかが違うくらい(これは必須ではないです)

    雑な仕事ではありますが、手元のtsファイルを下に置いておくのでもしあれでしたら参考にしてください。
    http://www.yama-kei.org/gc_ja.ts

  2. 2

    key

    Makefileの方は見落としてました。
    qrc_applicationの依存に追加しなければならないのですね!

    tsファイルありがとうございます。
    Ride, Power, Wattの訳などちょっと悩んでいるところもあって参考になります。

    ちなみに、このファイルをベースにパッチを作って本家に投げてもよいでしょうか?

  3. 3

    yama-kei

    未翻訳部分、文法的に訳すのが厳しいところ、typoなど、いろいろあるかとは思いますが、使ってやっていただければ嬉しいです。

    しかし、QTの国際化の仕組みはなかなか賢いですね。
    言語切り替えがアプリ実装になってしまうにせよ、リソースファイル形式で優れたツールが使えるのはアリだと思いました。

  4. 4

    key

    国際化がされていない部分をいくつか修正してまとめてみました。

    表記の揺れは悩んだのですがなるべく統一してみました。クリティカルパワーのように日本語的に長いものは、部分的に略している場所もあります(画面みつつ調整)。

    tsファイル:
    http://mitsukuni.org/tmp/gc_ja.ts

    先程へたくそなメールでgolden-cheetah-usersに投げたので、問題なければマージされるでしょうw

    今後は国際化されていない部分を広げてもらうのと、時刻表記(いまはyyyymmddをtsファイルで定義してるのでナンチャッテ)をちゃんとしてもらうように働きかけてます。

コメントをどうぞ