XUnity.AutoTranslator-BepInExを使ってUltimate Admiral Age of Sailを日本語化してみた
Ultimate Admiral Age of SailはSteamで購入できるRTSゲームです。前作のUltimate General: Civil Warは日本語に対応していたため、Ultimate Admiral Age of Sailも日本語対応を待っていましたが、一向に対応されないため我慢できずに購入に踏み切りました。やっぱり英語のままでは理解が難しいため、XUnity.AutoTranslator-BepInExを使って日本語化に挑戦してみました。結果は結構うまく行ったのでXUnity.AutoTranslator-BepInExを使った日本語化対応の方法をご紹介します。
XUnity.AutoTranslator-BepInExとは
Unityで作成されたゲームを自動的に翻訳できるプログラムのようです。Configファイルを見ると元々は日本語のゲームを英語に翻訳するために開発されたような印象があります。
GitHubから翻訳に必要なファイルをダウンロードします。
BepInEx_x64_〇〇〇.zip翻訳に必要なプログラムが入っています。解凍するとBepInEx、changelog.txt、doorstop_config.ini、winhttp.dllが入っています。Ultimate Admiral Age of Sailのゲームフォルダへそれぞれを移動させます。
TMP_Font_AssetBundles.zipをダウンロードします。日本語化を行うためのフォントデータです。解凍するとarialuni_sdf_u2018とarialuni_sdf_u2019が入っています。こちらもUltimate Admiral Age of Sailのゲームフォルダへ移動させます。
Ultimate Admiral Age of Sailのフォルダ内はこんな感じです。Ultimate Admiral Age of SailのフォルダはSteamライブラリのローカルファイル参照で開くと簡単です。
ゲームを起動する
ゲームを起動させることで、Autotranslatorフォルダが出来上がります。Autotranslatorフォルダ内のConfig.iniで設定を変更するため一度ゲームは終了させます。
Config.iniの設定
Config.iniはテキストファイルで開くと編集することができます。[General]欄のJaとenを入れ替えます。この設定でどの言語からどの言語に変換するかを決めることができます。
[General]Language=ja
FromLanguage=en [Service]は利用する翻訳情報です。デフォルトではGoogle翻訳になっています。GoogleTranslateV2をDeeplTranslateに変えるとDeepl翻訳も使えるようです。私はなんかうまく行かなかったのでGoogleTranslateV2を使っています。 [Service]
Endpoint=GoogleTranslateV2 [Behaviour]のMaxCharactersPerTranslationは一度に翻訳できる文字数制限のようです。2500まで対応可能のようです。私はなんとなく1000にして使っています。 [Behaviour]
MaxCharactersPerTranslation=1000
翻訳を実行する
翻訳はゲームを起動させるだけです。待っていると徐々に日本語に変わっていきます。プログラムが正常に動いているか確認するには、Autotranslator>Translation>Ja>Textに_AutoGeneratedTranslations.txtがあるか確認します。翻訳された情報は_AutoGeneratedTranslations.txtに原文とともに蓄積されます。翻訳内容を編集する際は_AutoGeneratedTranslations.txtを開いて直接情報を書き換えてください。
翻訳が実行される様子です。翻訳は文章をフォーカスしたり、しばらく待っていると徐々に実行されます。この時にConfig.iniで設定したMaxCharactersPerTranslationの文字数が翻訳される文字数や処理時間に影響を与えるのではと思います。