DarkHallでは「翻訳用キット」を使うことで、ゲーム中に表示されるメッセージをユーザーが翻訳して、プレイするときにその翻訳したメッセージを使う(本来のメッセージと置き換える)ことができます。
翻訳したメッセージは、当サイトのアップローダーや他のWebサイト等で、ご自由に公開・配布していただくことができます。
翻訳用キットには、DarkHall最新版に対応したカタログファイル(翻訳メッセージを記述するためのファイル)、およびそれをmo形式(DarkHallで使用可能な形式)に変換するツール(make-mo.exe)が含まれています。
同梱の make-mo.exe は、今のところWindowsでしか動作しません。Linuxの場合はソースコードを入手して、rake mo
を実行してください。
翻訳用キットをダウンロードして、適当な位置に展開する。できればDarkHallの本体(darkhall.exe)と同じ位置がよい。
- mo-make.exe
- po_base/
- ja/
- darkhall_*.po
- en/
- darkhall_*.po
- po/
- my/
日本語をベースに翻訳するなら ./po_base/ja/
の下にある *.po ファイルを、英語ベースなら ./po_base/en/
の下にある *.po ファイルを、すべて ./po/my/
フォルダの下にコピーする。
- mo-make.exe
- po_base/
- ja/
- darkhall_*.po
- en/
- darkhall_*.po
- po/
- my/
- darkhall_*.po (←コピー)
コピーした *.po ファイルの内容を編集する。 テキストエディタで編集することもできるし、Poeditなどのツールを使って編集することもできる。
mo-make.exe を実行する。正常に実行されたなら、./po/my/
の下にある *.po ファイルを元にして、./data/locale/my/
以下に *.mo ファイルが生成される。
- mo-make.exe
- po_base/
- po/
- my/
- darkhall_*.po (←元になるファイル)
- data/
- locale/
- my/
- darkhall_*.mo (←生成されたファイル)
DarkHallの本体と同じ位置にある data/locale/my/
に、生成された *.mo ファイルを配置する。
もしも手順1で、キットの内容をDarkHallの本体と同じ位置に展開しているなら、この手順は必要ない(自動的に配置してくれる)。
- darkhall.exe
- data/
- locale/
- my/
- darkhall_*.mo
setting.exe を実行し、表示言語を「独自言語」に変更して確定。
DarkHall本体(darkhall.exe)を起動する。翻訳したメッセージが表示されていれば成功。
あとからまたpoファイルを編集した場合には、再度 mo-make.exe を実行し、新しく生成された *.mo ファイルで古い *.mo ファイルを上書きしてください。
DarkHall β版がバージョンアップされたときに、その新バージョンに合わせて、メッセージを1から翻訳し直すのはとても面倒です。
そこで、編集中の .po ファイルに変更部分を取り込む(マージする)ことで、自分が編集した部分は残しながらも、新しいバージョンで追加されたメッセージを取り込む*ことが可能になります。
DarkHall最新版のソースコードをダウンロードして展開し、それと同じ場所に翻訳用キットと、自分の編集した *.po を配置する。
- Rakefile.rb
- po/
- my/
- darkhall_*.po
手順1で展開したフォルダに移動し、コマンドラインから以下のように打ち込む。
% rake po
これで ./po/my/
に入っている *.po が、すべて最新のソースコードに合わせて更新されます。
編集するための元になるカタログファイル(*.po)は、翻訳用キットの po_base フォルダに入っています。 しかしこの中には、日本語用と英語用のカタログファイルしか含まれていないため、ほかの言語用のカタログファイルを生成したい場合には、以下のような手順を踏む必要があります。
応用1と同じ。
応用1と同じく、ソースコードと翻訳者用キットを同じ場所に展開する。
手順1で展開したフォルダに移動し、コマンドラインから以下のように打ち込む。
% rake pobase DH_POLANG=<言語コード>
たとえば日本語版と中国語版のベースを作りたいなら、次のように打ち込む。
% rake pobase DH_POLANG=ja,zh
使用可能な言語コードの種類については、言語コード一覧 - CYBER@GARDENを参照。
翻訳用キットはNYSL(煮るなり焼くなり好きにしろライセンス)の元で配布されているため、再配布や改変などを自由に行うことができます。 またその際、著作権の表示なども必要ありません。
翻訳キット中には7つのカタログファイルが含まれていますが、それらすべてを翻訳・変換する必要はありません。 たとえば、武器の名前と説明文だけを翻訳したいのであれば、darkhall_weapon.mo というファイル1つだけがあれば十分です。
カタログファイルの中で、直前に「fuzzy」という記述があるメッセージは、ゲーム中で使われません。
#: data/enemy.rb:3
#, fuzzy
msgid "スモールバイン"
msgid_plural "スモールバイン"
msgstr[0] ""
msgstr[1] ""
「fuzzy」と書かれた行を削除すると、ふたたび使われるようになります。
3DダンジョンRPG「DarkHall」