ASUS Eee Note EA800のインタフェースを日本語にしようと、調査中。
その途中経過の報告です。
内蔵microSDHCカードのパーテーション5番の/local/eTabletディレクトリ以下にメインメニューに表示されるアプリ群が入っている。
binディレクトリ内に各アプリケーションが入っており、stringsをかけてみると、英語のメッセージが出てくる。
translatorディレクトリの中にアプリ名のディレクトリがあり、その中に「アプリ名_tc.qm」といったファイルがある。
「tc」というのは、システム内部の「/eTablet/etc/setting/sys.config」で指定されている「default=tc」の値にひも付いていると想定される。
公開されているソースコードにQtがある、拡張子が「.qm」ということから考えると、アプリはQtで作成されており、アプリが表示するメッセージについては、Qtの国際化の仕組みを利用しているものと想定される。
さて、Qtの国際化を調べてみる。
Qtの場合、拡張子「.ts」のxmlファイルを記述し、.qmを作成しているらしい。
今回、.tsの元ファイルは無いので、qmからtsが生成できるのか?、という点が重要である。
「qt qm ts」でググるとML:q-interestのConverting *.qm to *.tsという質問記事がでてきて、「できないよー」と言われてるからあきらめかけてたんだけど、よく見てみれば、2001年の記事。
さらに調べてみると、技評の2009年記事が出てきた。
進化するQt-Qt最新事情2009 第5回 Qt Linguistの進化
「バイナリの.qmファイルがテキストフォーマットの.tsなどに変換できるようになったのは,内容を確かめるのにとても便利です。」
まじで!?
なので、現在、qtをコンパイルして、必要な環境の構築中。
バイナリ配布のやつはCentOS 5.5だと「/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9′ not found 」と言われて実行できないんですよ・・・
LD_LIBRARY_PATHとかLD_PRELOADとかを駆使してごまかせばいいんですけど、それをやるよりは、まずは正攻法かな、ということころで・・・
その2へ続く