翻訳の仕方まとめ

Last-modified: 2021-10-31 (日) 12:41:46

(自分の翻訳経験からざっくり書きました。詳しい方よろしければ補足や修正をお願いします。)


用意するもの

  • DeepL
    翻訳サイト。翻訳出来れば方法は何でもOKですが、翻訳精度が良いのでオススメです。
  • BaseMod
    実際にStSを起動して和訳のチェックをする際にコンソールコマンドを使用する為に必要なMOD。
    と言うより前提MODなのでStSMODに触れた事があれば既に導入されてたりします。



和訳の難易度

MODの和訳のし易さは大きく分けて以下の2つがあります。

  • テキストファイルを編集するだけで和訳作業が完結するタイプのMOD
    大抵のMODはこちら。MODのlocalizationフォルダにあるテキスト(.json)を編集することで和訳作業が完結するタイプです。
    テキストを直接日本語に変えてもそのままゲーム内に反映されるので、直感的で和訳作業がしやすいです。

  • テキストファイルだけでは和訳作業が完結しないタイプのMOD
    製作途中だったり独自の仕様で作られている為にlocalizationフォルダのテキストを編集するだけでは和訳作業が完結しないタイプです。
    製作者がgithub等にMODデータを公開していればIntelliJを用いて直接編集する事で和訳作業ができますが、内部データを扱う関係上考慮しなければならない点が多いので、MOD更新が途絶えている/製作者が音信不通等の事情が無ければ前者を優先しましょう。

和訳するMODがこのどちらになるかはMODがどう作られているのかで異なるので一概には言えません。
より詳細に知りたい場合はJavaDecompilerでMOD(.jar)を開くか、前述のIntelliJを用いる等の方法でclassファイルを確認します。
フォルダの外に置かれているキャラMOD.classファイルにlocalizationのテキストを参照しているのか等MODの包括的な部分が書かれているので、まず最初にチェックしましょう。これをすると例えば魔理沙MODの場合はThMod.classファイルにキャラクター選択画面の説明文が直接書かれており、これがテキストファイルでは編集出来ない事が分かります。
その辺はよく分からんって方は日本語以外の言語で翻訳が進んでいるMOD(多言語に対応しているMOD)を選ぶのが無難です。



各テキストファイルの説明

MODによってテキストファイルの名称は異なりますが、大抵は以下の単語が含まれています。

  • Character
    キャラクター選択画面で表示される文章、Act3後のイベントで心臓に攻撃する時のセリフ、吸血鬼イベントの導入文章の3つがあります。
    前述の通り魔理沙MODのようにテキストファイルが無かったりします。
  • Cards
    MODで追加されたカードの名称と説明文を設定します。サイレントのナイフのようにカードの効果で追加されるカードも含まれます。
    和訳する際はここから始めるのがオススメです。
  • Keywords
    ここで設定した単語はキーワードとして扱われ、Cardsで単語を入力するとゲーム内では廃棄や天賦のように別枠で説明が表示されます。
    ただし、例えば単語を「陽光」にした時、MODのによってそのまま 陽光 と入力したり、 astrologer:陽光 のように記述形式が決まっている場合があります。事前に和訳元のテキストを見て、どういった形式で入力されているかを確認して下さい。
  • Powers
    パワーなどの継続効果の名称と説明文を設定します。
  • Events/Potions/Relics
    イベント/ポーション/レリックはMODで新しく追加されている時だけテキストファイルがあります。Cardsのように"NAME"や"DESCRIPTION"が使われていて、記述の仕方は大体同じです。
    レリックにはFLAVORという項目がありますが、これはレリックを拡大した時の追加説明で(フレーバーテキストとして)表示される文章です。
  • UI/Tutorial/Orb...等
    MODで独自実装されている要素のテキストファイルです。"DESCRIPTION"の代わりに"TEXT"が使われていたりしますが、こちらもCards等と記述の仕方は大体同じです。

各テキストどこに入力すれば良いのかは基本的には元データに倣えば問題ありませんが、例えば文章を改行したい時は NL と入力する必要があるなど記述ルールがあります。
詳細は次の項目で説明しています。



和訳するテキストの記述ルール

例えば魔理沙MODのDouble Spark/ダブルスパークを例にすると、以下のような記述になっています。

doublespark.png

・元データ(英語)

 "DoubleSpark": {
   "NAME": "Double Spark",
   "DESCRIPTION": "Deal !D! damage. Add 1 Spark to your hand.",
   "UPGRADE_DESCRIPTION": "Deal !D! damage. Add 1 Upgraded Spark to your hand."
 }

・和訳データ

 "DoubleSpark": {
   "NAME": "ダブルスパーク",
   "DESCRIPTION": "!D! ダメージを与える NL スパーク を 1 枚手札に加える。",
   "UPGRADE_DESCRIPTION": "!D! ダメージを与える NL スパーク + を 1 枚手札に加える。"
 }

画像と比較するとほとんど見ての通りになりますが、これらの文字列はそれぞれ以下のように対応しています。
 "DoubleSpark"      →MOD内でのファイル名(編集しません)
  "NAME"          →ゲーム内でのカードの名前
  "DESCRIPTION"     →ゲーム内でのカード説明
  "UPGRADE_DESCRIPTION"→ゲーム内でのアップグレード後のカード説明


和訳データの !D! は内部データから数値を参照、 NL は改行を意味していて、このようにlocalizationのテキストには記述ルールがあります。
(※魔理沙MODの和訳データではこのカードにNLは無いのですが、解説する都合で付け足しています。)
専用の記述ルールが必要な文字列は全て前後に半角スペースが必要なので注意して下さい。(例:NL→ NL )一覧にすると以下の通りです。

文字列               説明
NL改行します。カードの説明文は5行までは1行あたり10文字まで収まり、6行以降は文章全体がカードの枠に収まるよう自動で調整されます(その関係で1行あたり10文字以上収まるようになります)。行数が多くなって調整されると文字が小さくなってしまう他、カードを拡大した時に説明文がカードから飛び出してしまうので(6行で少し飛び出る程度)、出来るだけ簡潔にまとめましょう。
(数値)前後を空けておくと文字間隔が整いやすい(?)です。
[E]エナジーのアイコンで表示します。
(例:「エナジーを2得る」をエナジーのアイコンで表示したい場合は→「[E] [E] を得る」と書きます。)
*(単語)[Cardsテキストのみ](単語)にキーワード等と同じ色を付けます。
#y(単語)[Cardsテキスト以外](単語)にキーワード等と同じ色を付けます。
!B!,!D!,!M!等[Cardsテキストのみ]内部データから数値を参照する場合に使っています。そのまま記載しましょう。
#b0,#b1,#b5等[Cardsテキスト以外]こちらも数値に関する文字列ですが、基本触れないのでそのまま記載しましょう。
"EXTENDED_DESCRIPTION"主にcardsテキストで使われます。これは例えば「手札1枚につき3ブロック得る」というカードがあった場合、今プレイすると何ブロック得られるかといったゲームプレイに応じて追加の説明文を表示したい時に使われます。説明文+計算する値+説明文のような文章を内部処理で組み合わせる関係で、テキストで見ると文章がバラバラになっている場合があります。




keywordsテキストに独自のキーワードに追記する

ウオォォオォラアァァァー!.png

上記では魔理沙MODのkeywordsテキストにボスグレムリンというキーワードを追加していて、それをストライクの説明文に入れています。
新たにキーワードを追加するのに特別設定は不要で、他のキーワードの文章構成に倣って追記するだけでOKです。(※テキストファイルのみで和訳できるMODであれば可能のはず)
魔理沙MODの場合は使われていないWWWWWWWというキーワードがあるので、これを書き換えるという手もあります。

・cardsテキスト

 "Strike_MRS": {
   "NAME": "シンプルスパーク",
   "DESCRIPTION": "ボスグレムリン のマネ NL をする。 NL !D! ダメージを与える。"
 }

・keywordsテキスト

 {
   "NAMES": [
     "ボスグレムリン"
   ],
   "DESCRIPTION": "ウオォォオォラアァァ NL ァー!"
 }

基本的には元データに沿って和訳するので新しくキーワードを追加する必要性はあまり無いのですが、非常に説明文が長いカードを別枠で説明できたり、複数のカードで同じ文言が使われている場合に統合したりなど和訳する上で有用な場合もあります。
(超どうでもいいですがウオォォをそのまま入れると説明の枠に収まらない不具合が起きたので NL で改行しています。)



コンソールコマンドでテストプレイ

debugモード.png

実際にStSで和訳が反映されているか確認する時、このページで紹介されているような魔理沙MODのダブルスパークやストライクであればStSの機能としてある「カードライブラリ」で素早く確認できますが、カードのバフの効果の説明やイベントの文章のように、ゲームプレイの中でしか確認できない箇所も出てきます。
プレイしながら和訳した箇所を確認していくのも一つの手段ですが、それだと時間が掛かってしまうのでBaseModのコンソールコマンドを使用するのがオススメです。


コンソールコマンドを使用(または終了)するには「 `キー 」を押します。和訳中に使うであろうコンソールコマンドは大体以下の通りです。
(コマンド一覧はこちら
・コマンド入力中に↑キーを押すと履歴のコマンドをコピー出来ます。
・コマンド入力中に→キーを押すと入力中に出てくる予測候補を自動で入力出来ます。

コマンド               説明
deck add [id] (枚数) (アップグレード)山札に指定したカードを追加します。IDはカードのMOD内でのファイル名で、例えばこのページで紹介されている魔理沙MODのダブルスパークならDoubleSpark。ストライクであればStrike_MRSになります。アップグレードはそれぞれ無しが0、有りが1です。
deck remove [id]指定したカードを山札から削除します。
draw (数)[戦闘中]指定した枚数だけ山札から引きます。
energy add (数)[戦闘中]指定した数だけエナジーを得ます。
kill all[戦闘中]即死ダメージを与えます。
event [イベント名]指定したイベント名を呼び出します。
debug [true/false]デバッグモードのON/OFFを切り替えます(デフォルトはOFF)。マップ上のどこでも移動出来るようになったりします。
act [act名]指定したActに移動します。Act3後のイベントで心臓に攻撃する時のメッセージを確認する時などに使います。