文字列リソースとフォント指定
AzXClass では文字列を翻訳する方法が提供されています。独自の形式のファイルから文字列を読み込みます。
axstrc
文字列リソースはテキストファイルから axstr ファイルに事前に変換しておく必要があります。変換用のツールは tool/axstrc です。他のファイルのコンパイル時に make しておくとよいでしょう。
また、langtmp/ 以下にデフォルトの文字列を含んだファイルがあるので、コピーして自分用の文字列リソースを追加して利用させてもらいましょう。axstrc.cpp の説明によると、プログラムごとにそれぞれの文字列リソースを持つ、ということです。
axstrc の使い方は以下のような感じになります。
axstrc -o NAME.LANG_COUNTRY.axstr NAME.LANG_COUNTRY
環境の判定は環境変数の LANG で行われます。LANG と COUNTRY がそれの値と一致するようにしておいてください。-o オプションを指定しなければなんだかうまくいきません(?)。
フォント指定
日本語などの文字を表示するには、文字列リソースを指定する以外に起動時(など)に利用するフォントを教えてあげなくてはいけません。--font オプションをつけて起動します。
./foo --font "VL ゴシック-10"
フォントを指定しなければ変な表示になるか、文字が表示されません。
文字列リソース指定
文字列リソース用のファイルを用意したら、AXApp クラスのインスタンスの LoadTranslation メソッドを呼び出してリソースファイル名を指定します。
AXApp app; if (! app.Init(argc, argv, TRUE)) return 1; app.LoadTranslation("TestWindow");
二番目の引数に利用するロケールを ja_JP といった形式で指定できます。指定しなければ LANG から判定されます。
文字列の利用
利用する文字列リソースファイルを指定しておき、文字列をグループと文字列 ID を指定して取得します。
これには AXApp.h で定義されているマクロを利用するとよいようです。
_STR_GROUP(gid) _STR(id, def) _STRING(gid, id, def)
gid にはグループ ID を、id には文字列 ID を、def にはデフォルトの値を指定します。