このサイトは2chの『このソフトを日本語化して欲しい!』スレッドのまとめ Wikiです。
だれでも自由に読み書きできます。
目次
主な日本語化の手順です。ここで紹介しているツールについては、下記のソフトウェアダウンロードリンクをご覧ください。
exeファイルなどは圧縮されている場合、そのままでは編集できないため展開する必要があります。
一番使用される事が多い圧縮形式はupx形式で upxで展開が可能です。
コマンドラインが苦手な人はGUIフロントエンドのFree UPXがおすすめです。
圧縮形式が分からない場合Exeinfo PEを使うと圧縮形式と使用言語が分かります。
最も一般的な方法です。Resource Hacker や XN Resource Editor(Unofficial mirror) などのリソースエディタで実行ファイルや DLL ファイルなどを開き、メニュー、ダイアログ、文字列などの英語 (もしくはその他の言語) の部分を日本語に置き換えます。
必要に応じて、フォント、フォントサイズ、言語などを変更します。例えば、フォントを「MS Shell Dlg」や「MS Sans Serif」のような欧文フォントから「MS UI Gothic」や「MS Pゴシック」のように日本語フォントにしたり、フォントサイズを 8 ポイントから 9 ポイントにしたり、言語 ID を「1033」から「1041」にしたりします。
主に Delphi 製のソフトウェアは RC データのフォーム (DFM) と文字列を編集することになります。
リソースエディタだけでは、編集できない文字列があります。
また、Visual Basic 言語のソフトウェアは、基本的にリソースを編集できません。
どうしてもこういった部分を日本語化したい場合に役立つのが、バイナリエディタです。
翻訳したい文字列を検索し、その文字列を日本語に置き換えましょう。
しかし、ファイルサイズが変わると、実行できなくなるので元の文より短くし、余った文字数は半角スペース(20)で埋めて下さい。(EXE ファイルの場合)。
例えば、バイナリに以下のような文字列があったとします。
&Japanize &Edit Text &Localize
この文字列を「&Japanize」は「日本語化(&J)」、「&Edit Text」は「テキストの編集(&E)」、「&Localize」は「地方化(&L)」に置き換えるとすると、以下のようにしなければならないことになります。
日本語化(&J) テキストの編集(&E)地方化(&L)
こうなると、日本語の文字列が 5 文字多くなってしまいます。なので、「&Edit Text」は日本語に置き換えるのをやめるか、「編集(&E)」に置き換えるようにしましょう。
VB製の文字化け回避方法
00 00 00 64 00 44 42 01 00 06 54 61 68 6F 6D 61|.....DB...Tahoma~
上のようなフォント指定があった場合の内容は以下の通り
00: Font charset
00: ?????????????
00: Strikethrough*8+Underline*4+Italic*2
Strikethrough = 0 'Falsetrue=1000=08h
Underline = 0 'Falsetrue=0100=04h
Italic = 0 'Falsetrue=0010=02h
64 00: Weight = 100
44 42 01 00: Size = 8.3 (00014244h=82500)
06: lenght of the フォント名
54 61 68 6F 6D 61:"Tahoma"
なので、文字化けを回避したい場合はFont charsetの場所を80(SHIFT_JIS)に書き換えます。
関連サイトへのリンク。