日本語化MUIを作ってみよう!

最近ではいろんなサイトで海外アプリケーションの日本語化MUIが配布されていますが、先日ホーミンさんの公開した方法で簡単に作れるようになったので、まとめて書いてみたり(^^)

これから考えるとお蔭様で死ぬほど楽になっています(^^; 
まぁ、OSコアの部分と機種依存の部分はデバイス本体からROMをダンプして手直ししてあげないと不都合が出る場合がありますが、海外のオンラインソフトでは大体この方法で日本語化MUIが作れるかと・・・(^^ゞ

必要なものを揃える

前準備

  • ホーミンさんの所からDumpRC.zipを入手して解凍、「Win32」フォルダにある「DumpRC.exe」をPCのルートドライブに作業用のフォルダを(例:「C:\MyWorks」)というフォルダ作成して入れる。
  • rc.exeを検索で探す、VS2005を普通にインストールしていれば「C:\Program Files\Microsoft Visual Studio 8\VC\bin\rc.exe」になるかと・・・。
  • RCファイルからRESファイル作成用バッチファイルを作る。
    テキストエディタで下記をコピぺ(パスが違うのであれば変更)
"C:\Program Files\Microsoft Visual Studio 8\VC\bin\rc.exe" /l0 "%1"
  • MakeRes.batとして名前をつけて保存
  • RCファイルからRESファイル(文字の終端処理が\000)の作成用バッチファイルを作る。
    テキストエディタで下記をコピぺ(パスが違うのであれば変更)
"C:\Program Files\Microsoft Visual Studio 8\VC\bin\rc.exe" /l0 /n "%1"
  • MakeRes000.batとして名前をつけて保存
  • RESファイルからDLLファイルのビルド用バッチファイルを作る。
    link.exeを検索で探す、VS2005を普通にインストールしていれば「C:\Program Files\Microsoft Visual Studio 8\VC\bin\link.exe」にあると思われます。
    テキストエディタで下記をコピぺ(パスが違うのであれば変更)
"C:\Program Files\Microsoft Visual Studio 8\VC\bin\link.exe" /DLL /NOENTRY /MACHINE:ARM /SUBSYSTEM:windowsce,4.0 /INCREMENTAL:NO /NOLOGO /OPT:REF /OPT:ICF /OUT:"%1.dll" "%1"
  • MakeDll.batとして名前をつけて保存

SendToを使って処理を簡単に

  • MakeRes.bat、MakeRes000.bat、MakeDll.batを「C:\Documents and Settings\(ユーザー名)\SendTo」フォルダに入れる。 DumpRCのショートカットを作成して入れておく。

RCファイルの作成と翻訳作業

  • ターゲットとなるEXEファイルやDLLファイルをPCに持ってきて右クリック→「送る」→「DumpRC」を選択すると、最初に作った作業用フォルダ「C:\MyWorks」に(ターゲット名)のフォルダが作成されその中に(ターゲット名).rc.txtができる。
    (ドラッグ&ドロップでも可)

f:id:kzou:20060418124223j:image:Small
f:id:kzou:20060418124234j:image:Small

  • (ターゲット名).rc.txtを開いて、CEUX*1、Menu、Dialog、String Table以外を削除して各部分の翻訳を行う。
    このときはなるべくWindowsMobile上のアプリケーションの画面と見比べて行うこと。(文字数も出来るだけ揃える)

f:id:kzou:20060418124236j:image:Small

  • VGA非対応のアプリの場合

(ターゲット名).rc.txtにあるIcon、BMPの記述を削除せずに取っておき、作業用フォルダ内の同じフォルダに吐き出されるのでicoファイル(16,32に64ドットを追加)やBMPファイルの解像度(2倍角?)を変更するとVGA対応(BMPの変更を行うとVGA専用版)としてビルドが可能。

MUIのビルド

  • 終端処理の判定として(ターゲット名).rc.txtで「\000」を検索してみる。
  • 編集した(ターゲット名).rc.txtを右クリック→「送る」→「MakeRes.bat」を検索で「\000」がある場合には右クリック→「送る」→「MakeRes000.bat」を選択。

f:id:kzou:20060418124238j:image:Small

  • (ターゲット名).rc.RESというResourceファイルが同一フォルダに作成されたら今度は右クリック→「送る」→「MakeDll.bat」でDLLファイルとしてビルドする。

f:id:kzou:20060418124240j:image:Small

  • 出来上がった(ターゲット名).rc.RES.dllを(ターゲット名).0411.muiにリネームする。

f:id:kzou:20060418124242j:image:Small
f:id:kzou:20060418124759j:image:Small

"mspbd80.dll"が無いというエラーが出る場合は、"mspbd80.dll"をHDDから検索して"C:\Program Files\Microsoft Visual Studio 8\VC\bin"にコピペしておく。

確認作業と修正

  • 実際に作成したmuiをWindowsMobileデバイスの元ファイルのある場所にコピーして動作を確認する。
  • Dialogなどではみ出したりする場合は、(ターゲット名).rc.resをVS2005で開いて修正するか、出来上がったmuiをResourceHackerなどで修正するればOKかと。

Tips

  • muiの0411はJapanの地域番号、0409は英語版用(muiの値を0411に変更していれば0411でOK)
  • 英語のResourceにある「&Copy」などは「C」のキーで選べるというアクセラレーターが指定されているので日本語にする場合は「コピー(&C)」とかにするといいかも知れない。
  • Dialogの中で改行を意図的に行うには改行キーの代わりに「\n」をつけると反映される場合がある。
  • バルーンの箇所はHTMLで書かれている場合があるのでHTMLのタグで記述する。
  • 日本語化した場合に文字が長い場合には半角カタカナを利用してもOKな場合がある。
  • 一部のリストボックスなどは書き換えることが出来ない場合がある。
  • OSコアの部分はデバイスからROMをダンプして弄らないと不都合が出る場合がある。
  • 日本語と英語で同じmui(地域番号だけ変えるといういみ)を利用する場合には言語をニュートラルにする必要あることも・・・。

こんな感じで簡単な翻訳作業が出来れば、簡単にmuiは作れますけど公開される方は可能な限り、原作者の許諾を貰ってからの方が良いかも知れませんね?(まぁ、くれそうもないところもありますけど・・・。)
あと、余談ですが他の海外言語のWMのエミュレーターからその言語のファイルを引っこ抜きmuiを作成するとSIPとかIMEはどうにかしないといけませんが中国語版とかドイツ語版とかのW-ZERO3を作れたりします(w

後でキャプチャーを加えたり、本文修正する可能性もあったり(w

*1:ハイレゾ宣言なので無ければ他から流用して足してあげるとVGA対応となる場合も