The Elder Scrolls: Arena の日本語化 - 1
はじまり
The Elder Scrollsの最初の作品である Arena (アリーナ) は現在、Bethesda.netランチャーから無料でインストール・プレイできる模様。
以前は無料配布されたものの、自力?でDOSBoxなどを導入する必要があったらしい??
とにかく、すぐさま遊ぶ事ができる。
だが、英語。日本語化Modなども存在しない。
であれば、画面の英語をそのまま翻訳するしかない。
やること
画像から文字にする(OCR)
色々な手段が取れるが、まずOCRについては以前調べた事のある Tesseract を使うことにする。
C#から簡単に導入できて使用できるし、フォントなどを自分で登録すればきっと精度も上がるはず。
翻訳
TerrariaのModにてTooltip TranslatorなるModを作成した時は、内部にWebBrowserコントロールを埋め込んで、そのままブラウザ機能でGoogle翻訳させていたが、使えなくなっている。
個人で使うならGAS(Google Apps Script)を使う手段もあるが、この手の方法はいっぱい記事があった。
Selenium(セレニウム)も使ったことがあるし、簡単そうでC#で即導入できるので、SeleniumにてGoogle翻訳させることにする。
とりあえず最低限の機能を作成
- まずOCRするにあたって画像を取得する必要があるが、普通にPrint Screenして、それをフォーム側で取得する事にする。
- 画像を取得したら、そこからOCRして文字列に変換する、一旦この辺も手動での操作を挟む。
- 文字列を翻訳する。
最低限の機能で動作検証
タイトル画面
画面左がキャプチャした画像のリスト。
右上がキャプチャした画像。(表示サイズに合わせているので少し比率がおかしいがOCRする画像はPrintScreenしたもの)
その左下がOCRした文字列。(タイトル画面では何も取得できなかった)
最後に右下が翻訳した文字列。(空なので翻訳しなかった)
オープニング1
文字列は取得できたが、癖のある書体部分はまともに取れていない。(必要があればTesseractの学習データを作成する)
取得できている文字がまともでないので、翻訳結果も今はしょうがない。
オープニング2
こちらも同様。
スタート画面
こちらも文字に癖がありすぎてまともに取得できていない。
プロローグ
残念ながらまったく文字が取れていない。選択しているようにスペースだったりする。
クラス選択
こちらは結構認識できている。頑張れば何とかなりそう。
クラス選択質問の説明
上記同様。
クラス選択質問1
意外にもかなりちゃんと取れている。タブこの辺の文字が一番ゲーム上で出てきそうなので、何とかなるかもしれない。
今後
Morrowindの翻訳ツールも作成中なので、そちらが終わったら次のことを進めたい。
- ゲーム側のフォントをなんとかする。(Nexus Modにゲーム用のフォントを良くするModがあったので)
- 画像補正をかける。(2値化などして、とにかくOCRの認識精度を上げる補正)
- フォントの学習データを作成する。(これで癖のあるフォントは認識精度があがるはず)
- それでもダメなら自分で直接画像から文字認識(どうせ決められた文字だけなのでタブンできると思う)
この辺をやって、それなりに認識できれば、この手のゲーム全部で利用できるかも!?