2009/11/08

さっと一品の巻

今回は、AboutSystemを例にしてGUI文字列のLocaleKit対応方法をさっと解説?
修正途中のソースはこちらから
追記:TR_CONTEXTが抜けていたので追加。
  1. まずは、アプリケーションをLayoutSystem対応に書き換えましょう。
    今回は対応済なので、パス。
  2. ソースコードにヘッダーを追加しましょう。
    #include <catalog.h>
    #include <locale.h>
    を追加します。
  3. Applicationクラスに初期化処理?とプライベート変数を追加しましょう。
    private:
    BCatalog fCatalog;
    と、
    be_locale->GetAppCatalog(&fCatalog);
    を追加します。
  4. 各クラスの前にTR_CONTEXTマクロで翻訳が使用されるコンテキストを指定しましょう。
    #undef TR_CONTEXT
    #define TR_CONTEXT "AboutWindow"
  5. 翻訳対象の文字列をマクロで囲みましょう。
    文字列引数にはTR()マクロ、静的文字列変数?には、TR_MARK()マクロを使用しましょう。
  6. Jamfile(Makefile、プロジェクト等)にlibLocale.soを追加しましょう。
    JamfileにはAppearanceの物を参考に、DoCatalogs処理も追加しておくとよいでしょう。
  7. ビルドして、エラーが無いか確認しましょう。
  8. 対象となるソースコードをプリプロセッサに掛けましょう。対象ソースが複数の場合はcatでまとめてから掛ける事もできるでしょう。
    gcc -E -I /Data/haiku/trunk/headers/private/app -I /Data/haiku/trunk/headers/private/shared AboutSystem.cpp > 1.tmp
  9. プリプロセスしたファイルから、抜きツールでja.catkeysファイルを作成しましょう。
    emptycatまたはja.catkeysはファイルタイプをテキストに変更する必要があるでしょう。
    cat 1.tmp | sed -f t1.sed | sed -f t2.sed | sort | uniq | mkcat (emptycatが出力されます。)
    mv emptycat ja.catkeys
  10. 作成したja.catkeysファイルの翻訳や、言語やシグネチャの修正を行いましょう。
  11. linkcatkeysを使って、ja.catkeysからja.catalogファイルを作成しましょう。
    linkcatkeys -l japanese -s x-vnd.Haiku-About -o ja.catalog ja.catkeys
  12. /boot/system/etc/locale/catalogsにフォルダを作成し、出来上がったja.catalogをコピーしましょう。
    フォルダ名称は対象アプリのシグネチャと同じになります。(例)x-vnd.Haiku-About
  13. Localeプレフレットで日本語に設定してから、アプリケーションを立ち上げましょう。
どんどんLocale対応にしちゃいましょう!!

0 件のコメント:

コメントを投稿