見出し画像

エバークエストを日本語化してみる

暇つぶしにeverquestの日本語化を始めてみました。

文字化け_2

私は英語があまり得意ではないのですが、残念ながらeverquestのテキストは全て英語なため、画面に表示されるメッセージはなんとなくな雰囲気で感じ取っている状態です。
その状態がなんとも歯がゆいので、どうにかして日本語化できないものかと調べていたら、メッセージ類は Everquest フォルダ直下の eqstr_us.txt と dbstr_us.txt に定義されており、これらの中身を日本語に置き換えればいいようです。
dbstr_us.txt の中身は約70000行・・・これは量がやばすぎるので、そっ閉じ・・・。
eqstr_us.txt の中身は約7000行・・・これぐらいなら何とかなりそうなので、これから手をつけることにします。

とりあえず1から翻訳しようとも思ったのですが、むかーし買ったeverquestの日本語版がまだ手元にあったのを思い出し、まずはeverquest日本語版のデータ(日本語版のファイルは eqstr_ja.txt)をもとに、DeepL翻訳さん等の力も借りつつ翻訳を始めて行くことにしました。

文字化け_1

とりあえず適当に1000行ぐらい日本語化してみたのですが、文字化けしてますね。eqstr_us.txt の文字コードは utf8 にしてあるので問題ないと思っていたのですが、フォントを変えてみたり、文字コードを utf8 BOM にしてみたりを試したのですが見当違いだったようで改善せず、しばらくもんもんとしていたのですが、よく見てみると1枚目の画像も2枚目の画像も、文頭の文字だけが文字化けしているんですよね。
そして、2枚目の画像のメッセージをよく見てみると【A fiery spirit steed】と【a fiery spirit steed】は同じmobを表しているのですが、先頭の文字が大文字と小文字のものがありますね。これは英語特有の表現で、文頭を大文字から始めるというものがあるからですが、ひょっとして日本語に対してもこれが行われてるから文字化けしているのではないかという疑念がふつふつと湧き上がってきました。

ちょっとutf8の文字コードを調べてみて、その疑念が正しいか否かを確認してみたいと思います。
A:0x41
a:0x61
□:0x82(未定義の文字)
□:0xB4(未定義の文字)
Á:0xC381
Â:0xC382
あ:0xE38182
ゴ:0xE382B4
まず【a fiery spirit steed】というテキストがあったとして、これが文頭に現れたときeverquestが【A fiery spirit steed】に変換するということを考えた場合、最初の一文字目の a が A に変換されているわけですが、文字コード上は 0x61 から 0x41 への変換、つまり 0x20 減算されているわけですね。
【あなた】が【Á□なた】に文字化けしている場合はどうでしょうか。【あ】と【Á】の文字コードを見てみると、0xE38182 と 0xC381 で桁が違ってますが、1バイト目だけみてみると、0xE3 と 0xC3 で 0x20 減算されていますね。つまり 0xE38182 の1バイト目が 0x20 減算されることにより 0xC38182 となり、utf8だとこれが 0xC381 と 0x82 の2文字に分かれ、それぞれが【Á】と【□】となるようですね。
【ゴクゴク】と【Â□クゴク】の場合も同じことが言えるので、どうやら疑念は正しいような気がしますね。

とはいえ、どう対処しましょうかね・・・。
(iniファイルで設定項目があったりすると楽なんだけどなあ・・・)

いいなと思ったら応援しよう!