【XUnity.AutoTranslator】Unity製のゲームを自動翻訳しながらプレイする【The Silent Age】

記事内に広告が含まれています。

Unity製のPCゲームを自動翻訳しながらプレイできるXUnity.AutoTranslatorの導入と使い方を、「The Silent Age」の日本語化作業を通して説明する記事です。

導入の流れをざっくり説明すると、必要ファイルをダウンロードして、ゲームフォルダに貼り付けて、その後個別にいろいろ設定して、、、という流れです。

スポンサーリンク

Unity製ゲームを自動翻訳

XUnity.AutoTranslatorは、Unityエンジン上で実行されるゲームのテキストを自動翻訳してくれるツールです。

オープンソースで公開されているため、誰でも自由に、無料で使うことができます。

仕組みとしては、ゲームのテキストデータを読み取って、オンライン翻訳サービスにかけたものをリアルタイムで置き換えて表示するという内容になっています。そのため、インターネットの接続が必須となります。

自動翻訳XUnity.AutoTranslator導入の流れ
  • XUnity.AutoTranslatorをダウンロード

    XUnity.AutoTranslator-ReiPatcher

  • フォントをダウンロード

    TMP_Font_AssetBundles

  • ゲームフォルダにDLしたファイルを貼る
  • パッチを当てる
  • Config.iniの設定
  • ゲームに合わせた調整
  • 翻訳テキストの編集

スポンサーリンク

翻訳したいゲームがUnityか確認する

PCGamingWIKIで確認

XUnity.AutoTranslatorは、Unity製のゲームのみで動作します。

対象のゲームがUnity製かどうかは、一般的にストアページで判断します。なければPCGamingWIKIか、SteamDBで確認することができます。

それでもわからない場合は、コミュニティページを利用するか、製作者本人に聞くのが確実でしょう。

スポンサーリンク

必要ファイルをダウンロードする

まずは「TMP_Font_AssetBundles」と「XUnity.AutoTranslator-ReiPatcher」をダウンロードします。

展開して3つのファイルがあればおk

「XUnity.AutoTranslator」にはいくつか種類がありますが、ここではReiPatcherで導入を進めます。Melon loaderとの違いなどについてはこの記事では触れません。

ゲームフォルダにDLしたファイルを貼る

ダウンロードして解凍して出てきたファイルを、自動翻訳したいゲームの「.exe」があるフォルダに貼り付けます。

ゲームフォルダの場所が分からない場合は以下を参考にしてください。

Steamの場合

「ゲーム名を右クリック」→「管理」→「ローカルファイルを閲覧」

Epicの場合

「ライブラリ」→「…」→「管理」→「フォルダのアイコン」

パッチを当てる

SetupReiPatcherAndAutoTranslator.exeを実行しましょう。

すると同名の「Patch and Run」というファイルが出来ていると思いますので、それを再度実行します。

ゲームが起動したら、画面を閉じて、導入は完了です。

これからは普通に元のアプリケーションから起動しましょう。

patchは1回起動するだけでおk

導入はこれで終わりで、ここからは

Config.iniの設定

ゲームフォルダに「AutoTranslator」というフォルダができているので、そこの「Config.ini」を開きましょう。

使用するアプリはメモ帳で大丈夫です。

開いたら、以下のように書き換えてください。

[General]
Language=ja
FromLanguage=en

上は翻訳した後、下は翻訳する前の言語です。初期は逆になっているので入れ替えます。

[Behaviour]
MaxCharactersPerTranslation=2000

OverrideFontTextMeshPro=arialuni_sdf_u2019
FallbackFontTextMeshPro=arialuni_sdf_u2019

上は翻訳するテキストの最大文字数です。初期は200で最大2500まで設定できます。

下は書き換える際のテキストの日本語フォントです。今回は2019でやってますが、ダメなら2018を使ってみるなど各自工夫してください。

編集が終わったら、必ず保存してからゲームを起動します。

ゲームに合わせた調整

普通なら、これで自動翻訳が始まるのですが、「The Silent Age」の場合、翻訳されませんでした。

ゲーム画面で「ALT-0」で押してUIをみてみると、Translated(ALT+T)にチェックがついているので動作はしているはずですが、翻訳はされてませんね。

いろいろ試した結果、以下をFalseからTrueに書き換えたらうまくいきました。

[TextFrameworks]
EnableTextMesh=True

少し時間を置いてから翻訳されました!

たまに画面外までテキストが飛び出していくことがあったので、強制的に改行させる設定も途中で追加しました。

[Behaviour]

ForceSplitTextAfterCharacters=40

自分はプレイしながら30~60の間で調整していった感じです。

これで複数行で表示されるようになりましたが、動作は不安定になりました。状況によっては空欄のほうがいい時もあります。そこらへんはプレイしながら臨機応変に。

一応導入するだけならこれで完了です。

翻訳テキストの編集

翻訳されたテキストは「AutoTranslator」→「Translation」→「ja」→「Text」→「_AutoGeneratedTranslations.txt」に記録されていきます。

XUnity.AutoTranslatorのすごいところは、生成された翻訳テキストを後から手動で修正できることです。

試しに一部分変えてみましょう。

書き換えて保存したら、「ALT+R」で翻訳テキストを再読み込みしましょう。ゲーム再起動でもおkです。

うまくいきました。

DeepL翻訳の使用

このように1個1個訂正していくのも悪くないと思いますが、もっとも手っ取り早いのは、よりクオリティの高い翻訳ツールを使うことです。

デフォルトでは、以下のように、Google翻訳を使うように設定されています。

[Service]
Endpoint=GoogleTranslateV2

そこで翻訳に定評のあるDeepL翻訳を使ってみましょう。以下のように書き換えます。

[Service]
Endpoint=DeepLTranslate

ゲーム起動後、「ALT+0」でUIを開いて「DeepL」となっていたらおkです。

「ALT+0」でUIを表示できる

先程の文章を「_AutoGeneratedTranslations.txt」から削除して、イチから翻訳してもらいます!

DeepL翻訳
Google翻訳

どうでしょうか? DeepL翻訳のほうがGoogle翻訳より自然な感じがしますね。

しかしDeepLには「遅くて不安定」という欠点があります。

Google翻訳の場合は、数秒といわず2,3秒で翻訳される感じですが、DeepLの場合は、5~6秒近い待ち時間がありました。

テキストが少なかったり、動きの少ないゲームならいいのですが、今回例に挙げている「The Silent Age」は読み物ゲーで、文字も自動で引っ込む仕様なため、遅すぎる自動翻訳は使いにくいです。

DeepL APIを使う

そこで、より応答性の高いDeepL APIを使ってみます。

普通のDeepLとの比較は以下の通りです。

デフォルトのDeepL
DeepL API
  • 無料
  • 制限なし
  • やや不安定
  • 遅い
  • 無料
  • 制限あり(1ヶ月50万字)
  • 安定
  • 速い
  • 登録にクレカが必要

ポイントは無料で使えるが制限があるところです。有料オプションもありますが、個人で使う分には無料で事足りると思います。

登録はDeepL公式サイトから行います。注意点として、無料の利用であっても、本人確認のためにクレジットカードの登録が必須です。またクレジットカードならなんでもいいわけではないので、そこに関しても注意が必要です。

TOPページ上の「API」から登録画面に進みます

登録が終わったら、アカウントページ下の「DeepL APIで使用する認証キー」からキーをコピーして、Config.iniの指定箇所に貼り付けます。

Freeの欄をTrueにしておくことも忘れずに。

[DeepLLegitimate]
ExecutableLocation=空欄でおk
ApiKey=:fxで終わるキー
Free=True

また1番上の使用する翻訳サービスのところもAPI用に書き換えます。

[Service]
Endpoint=DeepLTranslateLegitimate

そしたらまたゲームを起動し、自動で翻訳されているのを確認します。

その後でDeepL公式サイトから「アカウント」→「ご利用状況」で「ご利用文字数」が増加していたらおkです。

今回導入した「The Silent Age」も、2~3秒で翻訳されるようになって、快適にプレイできるようになりました。

何か翻訳に問題があったり、テキストが読みにくいときは、「ALT+T」で翻訳オン・オフの切り替えができるので、諦めて原文を読みましょう。

今回はここまで。

海外PCゲームがより身近に

https://steamdb.info/tech/

Unityで動くゲームってこんなにあるんですね!

自分の世界が広がったような気がします。日本語化がされていないために見逃したゲームもありますし、どうせ日本語化が来るまで何もできないからと見向きもしなかったゲームもたくさんあります。これからは見逃したゲームも遊べるし、積極的にゲームを探す喜びも生まれますね。いやーこれは素晴らしいものだ。

最後に、導入にあたって、特に参考になったページを紹介します。

MiyabiSFG様

リアルタイム翻訳ツールの革命

Steam Community :: Guide :: 日本語化する方法(XUnity.AutoTranslator)
XUnity.AutoTranslator を利用することでリアルタイム日本語化が可能です。 ここでは、安定動作させる為のヒントを記載しておきます。 他のゲームの�

ゲーマーズボックス様

XUnity Auto Translatorを使って、Unityのゲームを日本語にリアルタイムで変換してプレイする方法 | ゲーマーズボックス
Unity全般のゲームをリアルタイムで日本語に翻訳する方法です。当然対応できないゲームなどもありますので、その辺はご了承ください。実際に変換している動画まずはリアルタイム変換がイメージできないかと思うので参考動画です。

お~るげーむず(仮)様

How to use "XUnity.AutoTranslator"|お~るげーむず(仮)
はじめに 今回はUnity製ゲームで単言語や日本語化が難しい(言語ファイルが特殊)ものをリアルタイムで自動翻訳しプレイできる「XUnity Auto Translator」を紹介したいと思います。 リアルタイムで自動翻訳されるため少し日本語...

しゃるる様(技術とゲームと酒と本と)

【SpellForce Conquest of Eo】日本語化のやり方(自動翻訳)【XUnity Auto Translator】
SpellForce Conquest of Eoに関してXUnity Auto Translatorを用いた日本語化のやり方について書いた記事です。 ツールのインストール方法から日本語化設定まで丁寧に解説しています。是非参考にしてください...

藤依ひな様(人形は四畳半で夢を見る)

【Dinkum】MelonLoaderを使った日本語化・リアルタイム翻訳のやり方
スポンサーリンク Dinkumの日本語化・リアルタイム翻訳の方法についてご紹介していきます。この方法はUnityで作成されたゲームであれば、他のゲームでも使用できる場合があります。 ②から後は個別に導入方法がまとまってい ...

コメント

  1. kazu より:

    こんにちは。
    質問があってコメントしました。
    行程としては「パッチを当てる」の途中までは成功したのですが、Patch and Runをクリックしてゲームが起動してもAutoTranslatorが生成されません。これは対応していないゲームということでしょうか?
    ゲームタイトル名「Faeland」
    ※(unity製と確認済み)

    • GYBE GYBE より:

      パッチを適用してもフォルダが生成されない問題。自分もありました。
      おっしゃるとおり対応していないゲームだと思います。Unityだからといってすべてのゲームで動作するわけではありません。
      自分だったら、MelonloaderとBepInExを試してみて、どちらもダメだったら諦めます。
      コメントありがとうございました。

ホーム » ゲーム感想 » 【XUnity.AutoTranslator】Unity製のゲームを自動翻訳しながらプレイする【The Silent Age】

カテゴリー

タイトルとURLをコピーしました