サイバーグノーシス - XUnity Auto Translatorの設定ファイル(AutoTranslatorConfig.ini)メモ
目次


一時メモ

設定ファイルの場所
C:\illusion\KoikatsuSunshine\BepInEx\config\AutoTranslatorConfig.ini

Endpoint=GoogleTranslateV2

エラー関連

[Error :XUnity.Common] An unexpected error occurred during maintenance.
→自動翻訳をiniから切る?

よく使う置換

文字→キャラ
メーカー→キャラメイク
コリダー→コライダー
します→空白
無料h→フリーH
オス→男性
メス→女性
浸透→挿入
バルジ→膨らみ
ACC→アクセ
「=」の文字列よりあとを抜き出す正規表現
(?<=\=)(.*)
改行
 \ n \ n

 \n\n
 \ r \ n

CSVへの置換

選択肢後オート継続=After options, continue auto
→文書中にカンマがある。タブにする?
滞在人数<color\=red><size\=14>※1=Number of stay <color \= red> <size \= 14> * 1
→文字の色や大きさの変更している箇所の場合

翻訳ファイルの分割?(上手くいかず)

このプラグインを使用する場合、いつでもファイル「Translation¥{Lang}¥Text¥_AutoGeneratedTranslations.txt」 に
移動し自動生成された翻訳を編集でき、次にゲームを実行するときに表示されます。
また(ALT+R)を押すと、すぐに翻訳を再読み込みすることができます。

このプラグインはTranslation (Directory) にあるすべてのテキストファイル (*.txt) を読み込むので、
手動翻訳を提供したい場合は「Translation¥_AutoGeneratedTranslations.{lang}.txt」 からテキストを切り出して、新
しいテキストファイルに配置するだけで手動翻訳に置き換えることができることも知っておくとよいでしょう。
これらのテキストファイルは、標準の.zipアーカイブに入れることもできます。

この場合、「Translation¥{Lang}¥Text¥_AutoGeneratedTranslations.txt」 は、
翻訳を読み込む際に常に最も低い優先度を持つことになります。
そのため、同じ翻訳が2箇所にある場合、(OutputFile)の翻訳が使われることはありません。

コイカツの翻訳手順

ステップ1:元々日本語だった項目の保護

AutoTranslatorConfig.iniの項目を以下のように設定
Language=en
FromLanguage=ja
スプレッドシートで左右を入れ替える
ステップ2:プラグインの翻訳
うまく設定すればDLL毎に翻訳設定できるのか?
AutoTranslatorConfig.iniの項目を以下のように設定
Language=ja
FromLanguage=en

「高度な設定」のチェックを忘れずに入れる

XUnity Auto Translatorの設定ファイル(AutoTranslatorConfig.ini)メモ

自動翻訳を調整する用のテキストファイル

_Postprocessors.txt 
  • 翻訳者に送信される直前のテキストを変更するエントリを定義することができます。
_Preprocessors.txt
  • 翻訳者から受信された直後に翻訳されたテキストを変更するエントリを定義することができます。
_Substitutions.txt

キーマッピング

次の主要な入力がマップされます。
  • ALT + R
    • 翻訳ファイルをリロードします。
    • テキストファイルとテクスチャファイルをその場で変更する場合に便利です。
    • すべてのテクスチャで機能することは保証されていません。
  • ALT + 0(これはゼロであり、Oではありません)
    • 自動翻訳を無効にする
    • XUnity AutoTranslatorUIを切り替えます。
  • ALT + F
    • 文字化けした時に代替フォントに切り替える
    • OverrideFontが設定されている場合、オーバーライドされたフォントとデフォルトのフォントを切り替えます。
  • ALT + 1:翻訳アグリゲーターUIを切り替えます。
  • ALT + T:このプラグインによって提供されるすべてのテキストの翻訳済みバージョンと非翻訳バージョンを交互に使用します。
  • ALT + U:手動フッキング。デフォルトのフックは常にテキストを取得するとは限りません。これにより、手動でルックアップが試行されます。有効になっていないフレームワークからテキストコンポーネントをフックしません。
  • ALT + Q:プラグインがシャットダウンされた場合は、プラグインを再起動します。これは、変換エンドポイントへの連続したエラーのためにプラグインがシャットダウンされた場合にのみ機能します。問題を解決したと信じる理由がある場合にのみ使用する必要があります(VPNエンドポイントの変更など)。そうでない場合は、再びシャットダウンします。
デバッグ専用キー:
  • CTRL + ALT + NP9:同期エラーをシミュレート
  • CTRL + ALT + NP8:1秒遅れの非同期エラーをシミュレート
  • CTRL + ALT + NP7:ロードされたシーン名とIDをコンソールに出力します
  • CTRL + ALT + NP6:GameObject階層全体をファイルに出力します hierarchy.txt

空白の処理

  • 変換を実行する前後の空白の処理に影響を与える構成パラメーター
  • これらの設定はいずれも、自動生成された翻訳ファイルに配置される「未翻訳のテキスト」には影響しません。
  • 自動翻訳に関しては適切な空白の処理により、実際に翻訳が行われたり中断されたりする可能性があります。
  • 空白の処理を制御するパラメーターは次のとおりです。
    • IgnoreWhitespaceInDialogue
    • IgnoreWhitespaceInNGUI
    • MinDialogueChars
    • ForceSplitTextAfterCharacters
  • このタイプの処理が翻訳を作成または中断できる主な理由は、実際には、エンドポイントに送信する前にソーステキストから空白が削除されているかどうかにあります。
  • ほとんどのエンドポイント(GoogleTranslateなど)は、複数行のテキストを個別に考慮します。
  • これにより不要な改行が含まれていると、ひどい翻訳になることがよくあります。

UIのサイズ変更

  • 多くの場合、テキストコンポーネントで翻訳を実行すると、結果のテキストは元のテキストよりも大きくなります。
  • これは多くの場合、テキストコンポーネントに結果を表示するための十分なスペースがないことを意味します。
  • このセクションでは、テキストコンポーネントの重要なパラメータを変更することでこれを修正する方法について説明します。
  • デフォルトでは、プラグインは以下のパラメータによって制御されているいくつかの基本的な自動リサイズ動作を、しようとします
    • EnableUIResizing
      • 変換が実行されるときにコンポーネントのサイズを変更します。
    • ForceUIResizing
      • すべてのコンポーネントのサイズを常に、期間にわたって変更します。
    • ResizeUILineSpacingScale
      • サイズ変更されたコンポーネントの行間隔を変更します。UGUIのみ。
    • OverrideFont:EnableUIResizingおよじForceUIResizingに関係なく、すべてのテキストコンポーネントのフォントを変更します
      • UGUIのみ。
    • OverrideFontTextMeshPro:
      • EnableUIResizingおよびForceUIResizingに関係なく、すべてのテキストコンポーネントのフォントを変更します。
      • TextMeshProのみ。

翻訳リクエストの削減

  • 変換エンドポイントに送信されるリクエストの数を減らすことを目的としています。
  • EnableBatching
    • サポートされているエンドポイントを使用して、複数の翻訳リクエストを1つにまとめます。
  • UseStaticTranslations
    • 英語から日本語へのさまざまな用語の内部検索辞書の使用を可能にします。
  • MaxCharactersPerTranslation
    • 翻訳するテキストの最大長を指定します。これより長いテキストはプラグインによって無視されます。
    • 1000を超えることはできません。このmodを400を超える値で再配布しないでください

XUnity Auto Translatorの設定ファイルの解説(Mod翻訳編)

参考:Modの翻訳
  • 多くの場合、他のmodUIはIMGUIを介して実装されます。
  • 上記のようにこれはデフォルトで無効になっています。
  • 「EnableIMGUI」の値を「True」に変更すると、IMGUIの変換も開始されます。
  • これは、他のmodUIが変換されることを意味する可能性があります。
  • プラグイン固有の翻訳を提供することも可能です。次のセクションを参照してください。

正規表現の使用法

手動でのUIフォントのサイズ変更

ゲームの一部のみに翻訳する場合

テクスチャ翻訳

手動翻訳

  • このプラグインを使用すると、いつでもファイルTranslation\{Lang}\Text\_AutoGeneratedTranslations.txt(OutputFile)に移動して、自動生成された翻訳を編集できます。
  • これらの翻訳は次にゲームを実行したときに表示されます。
    • または(ALT + R)を押し、翻訳をすぐに再読み込みすることもできます。

  • このプラグインはTranslation(ディレクトリ)内のすべてのテキストファイル(* .txt)を読み取るため、手動翻訳を提供する場合は、Translation\_AutoGeneratedTranslations.{lang}.txt(OutputFile)からテキストを切り取って新しい場所に配置することもできます。
  • 手動翻訳に置き換えるためのテキストファイル。これらのテキストファイルは、標準の.zipアーカイブに配置することもできます。

  • このコンテキストでは、Translation\{Lang}\Text\_AutoGeneratedTranslations.txt(OutputFile)は、翻訳を読み取るときに常に最低の優先度を持ちます。
  • したがって、同じ翻訳が2つの場所に存在する場合、使用される(OutputFile)からの翻訳ではありません。

  • 一部のADVエンジンでは、テキスト「スクロール」がゆっくりと所定の位置に配置されます。
  • これにはさまざまな手法が使用されます。場合によっては、翻訳されていないテキストの代わりに翻訳されたテキストをスクロールインする場合は、を設定する必要がありますGeneratePartialTranslations=True。ゲームで必要とされない限り、これをオンにしないでください。

プラグイン固有の手動翻訳

  • 多くの場合、自然に翻訳されない他のプラグインの翻訳を提供したい場合があります。
  • これは前のセクションで説明したように、このプラグインでも明らかに可能です。
  • しかし、そのプラグインに固有の翻訳を提供したい場合はどうでしょうか。そのような翻訳は、別のプラグイン/一般的な翻訳と競合するためです。

  • プラグイン固有の翻訳を追加するにPluginsは、テキスト翻訳にディレクトリを作成するだけDirectoryです。
  • このディレクトリでは、プラグイン固有の翻訳を提供するプラグインごとに新しいディレクトリを作成できます。
  • ディレクトリの名前は、拡張子(.dll)を除いたdll名と同じである必要があります。
  • このディレクトリ内で、通常どおりに翻訳ファイルを作成できます。

置換

  • 翻訳が作成される前に見つかったテキストに適用される置換を追加することもできます。
  • これはSubstitutionFile、
  • 正規表現などはサポートされていませんが、通常の翻訳テキストファイルと同じ形式を使用するによって制御されます。
  • これは、誤って翻訳されることが多い名前の置き換えなどに役立ちます。
  • 置換を使用する場合検出されたオカレンスは、次のように生成された翻訳でパラメーター化されます。
私は{{A}}=I am {{A}}
  • または構成GenerateStaticSubstitutionTranslations=Trueが使用されている場合、変換はパラメーター化されません。
  • 手動翻訳を作成するときはパフォーマンスに影響を与える可能性があるため、正規表現を使用する場合と同じようにこのファイルを慎重に使用してください。
  • 注:翻訳するテキストにリッチテキストが含まれている場合、現在パラメータ化することはできません。