簡体中文版を用いたMM7の日本語化 -試行-

Last-modified: 2010-01-09 (土) 11:09:32

簡体中文版を用いたMM7の日本語化

 

 MM7簡体中文版は、文字コードとしておそらくはGB2312もしくはGB-EUCを用いており、その文字コードの中には平仮名と片仮名が存在します。
 英語版は半角英数一辺倒、日本語版はShift-Jis一辺倒ですが、たいていの文字コードはG0部分にASCII文字を使っているので、簡体中文版では英語版のDATAファイルがたいていそのまま使用できるようです。
 それに対し、日本語版は頑固で、英語版のDATAファイルを使うと、たいてい戦闘時にフリーズします。
ですので、英語版MODを日本語で遊ぶに際し、
1.簡体中文版を日本語化し
2.その上に英語版MODを載せ、表示を日本語化する
という手順で、英語版MODを日本語表示で遊べないものかと、以前から考えていました。
 そして今回、大体の線で簡体中文版の日本語化を図ってみましたので、その過程を書いていきます。

 

・簡体中文版の入手
 これはもう、ひたすら根気しかありません。具体的な手法としては通販、現地購入、いけないTorrent先生の3者くらいしかないと思われますが、現実にはどれもとりがたい方法です。
 私は幸い、仕事の都合で北京語や上海語の通訳の先生と接することが多く、変わっていると思われるのを承知で総当りで依頼しまくり、なんとかその先生経由で現物を入手することができました。しかし、これはさすがに、誰にでも取れる方法ではないですが。

 

・各版の比較
 そんなこんなで、手元にMM7の日本語版、英語版、簡体中文版の3者が出揃ったので、さっそく個別にインストールして比較してみます。たちまちのうちに、当方の3DOフォルダ内にはjpnMight and Magic VIIフォルダとか、chn_fix_Might and Magic VIIフォルダなどが乱立する状況となりました。随時フォルダ名を入れ替えて起動し比較していったわけです。もちろん、MM8LevelEditorは大活躍です。
 結局、英語版と日本語版と簡体中文版は
 ・メインフォルダからしてMM7.EXEはもとより、各.DLLも微妙に違う
 ・DATAフォルダ内は、上っ面は同じだがEvents.lodは日本語版が異様にファイルが多い

 

ことがわかり、中文版で英語版データを実行するときのようなお手軽さは期待できないことがわかりました。
 ですので、とりあえず必須ファイルが判明するまではメインフォルダの中身は総取り替えしかないということになりました。

 

・中文版の邦訳
 まずは平仮名が使え、そしてGB2312の文字コードを眺めて片仮名もあるはずとわかったのですが、現実に組み込んでみると、文字コードは同じはずなのに表示されず、何やら罫線文字が出ます。
 総当りで文字を入れてみた結果、文字コードが若干ずれているようです。
 しかも、キャラクター作成画面やカレンダーなどの画面は
01区,02区,03区,04区(平仮名),05区(片仮名),06区,07区,08区,09区
と並んでいるのに,テキストボックス部分は
01区,02区,03区,04区(平仮名),01区,02区,03区,04区(平仮名),05区(片仮名)
と文字コードがずれていて、同じGlobal.txtから文字列を引用しているのに文字が化けたり化けなかったりすることがわかりました。

 

 まあそれはともかく、Shift-Jisでないと我々日本人は読めませんしパソコンでデータを作るのも一苦労ですから、Shift-Jisでデータを作り、簡体字に変換する方法を探す必要がありました。
 単純にShift-Jis→GB2312に切り替えるだけでよければ話は速いのですが、Shift-JisとGB2312で同じ文字コードに似た文字が指定されているわけでなく、単に変換しただけではまったく別の漢字に変化してしまいます。
 しかし世界は広いもので、KCTRANSという,コマンドラインでShift-Jisを簡体字の「似た」文字コードの漢字に交換してくれるソフトと出会うことができました。(20100109付記:GB2JIS.TBLの0601~0994の行を0201~0594の行と同じにする必要があります)
もっとも、比較的大事な「呟」「枠」「罠」「扱」「揃」などが自動変換されないのには参りましたが、そういう例外は数個にとどまったので、かなりスムーズに変換できるようになりました。
 まず
1.Shift-Jisで変換したい日本語を入力したテキストを作成
2.KCTRANSで、Shift-Jis→GB2312変換を行う
3.中文版のテキストファイルを開き、貼り付ける
という過程になります。

 

 ここで問題として、引数をどう並べるか、という問題があります。
 日本語版では
   %sへは%d日かかる
と書かれているデータが英語版や中文版では
   %d days to %s
   用%d天到%s
だったりします。
 あくまで実行するのは中文版のエンジンですから、引数の並びをそれに合わせなくてはエラーの元になります。
 かつて日本語版で英語のMODを強引に実行させようとして、戦闘時にフリーズしたのも
   %sは%luポイントのダメージを与えた
と本来ならなっているところで
   %s hits %s for %lu damage
という行が読まれて、引数がひとつ足りないからだったのではないかと思っています。
 ちなみに、
   %sは%sを倒した
こんな行もありますから、引数が同じだからといって同じ文字が呼ばれているとは限らないので、要注意です。

 

・ファイルの選択
 こればかりは、総当りに試していくより仕方ありません。

 

 結局、実質的に.TXTファイルに手を入れて、今回「使用ツール群」で公開したデータが完成しました。
 配布ファイルのみではMM7を遊ぶことなどできはしませんが、厳密には著作権法に触れますので、組み込みは自己責任でお願いします。

 

CHN-JPNMM7_1.GIF

 

トップへ戻る