*band日本語化メモ
for Windows
ディレクトリ構造とデータファイル
lib/edit/*.*
lib/file/*.*
lib/help/*.*
のファイルには日本語訳が必要なものがある。
lib/data/jp/*.*
lib/edit/jp/*.*
lib/file/jp/*.*
lib/help/jp/*.*
jpフォルダを作成しファイルを移す。
init2.c のパス設定を変更して jp フォルダを読むようにする。
lib/edit/*.* のファイル
N:1:of Galadriel
などの「N:」で始まる名前と「D:」で始まる説明の行を基本的に翻訳する。
この作業は一番最後で構わない。
N:1:of Galadriel
J:N:ガラドリエルの
I:39:4:0
W:1:1:10:10000
P:0:1d1:0:0:0:1
F:ACTIVATE |
F:INSTA_ART
D:A small crystal phial, with the light of Earendil's Star contained inside.
D:Its light is imperishable, and near it darkness cannot endure.
J:D:小さな水晶の瓶で、ガラドリエルの泉に映った
J:D:エアレンディルの星(シルマリル)の光が閉じ込めてある。
J:D:その不滅の光はあらゆる暗闇を追い払う。
英日切り替え可能なように英語をコメントアウトしない。
ソースコード
#ifdef JP
日本語版のソース
#else /* JP */
オリジナルのソール
#endif /* JP */
や
#ifndef JP
オリジナルだけ必要なソース
#endif /* JP */
と書き、コンパイル時に JP を定義する。
文字コードに関係する部分は
#ifdef EUC
文字コードがEUCの場合のソース
#endif
#ifdef SJIS
文字コードがSJISの場合のソース
#endif
と条件付きコンパイルできるようにする。
ウィンドウのメニューを日本語化
先ずはどうがんばってもつまずかないところから。
angband.rc を単純に日本語訳して終わり。
日本語フォントの指定
main-win.c:
既に日本語化されているバリアントのソースを見るのが早い。
日本語を表示できるようにする
japanese.c:
japanese.h:
日本語化されているバリアントから持ってくる。
日本語関係の汎用関数はここにまとめる。
ターミナルの日本語対応。
util.c:
z-term.c:
日本語を通すようにする。
日本語データの読み込み
データファイルの日本語部分も読み込む。
init1.c:
init2.c:
英語データを読み込んだときに日本語データにも(ポインタ管理なので)英語データを持たせておくと、日本語データがなかった場合にエラーにならない。
日本語部分のデータ構造体の定義を追加。
types.h:
table.c:
variable.c:
externs.h:
以上ができたら、あとは気が付いたところから訳せばいい。
リンク