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