*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:

以上ができたら、あとは気が付いたところから訳せばいい。

リンク