実装Read this article in English

ウディタ製ゲームの翻訳・英語化 — テキストの持ち方と取り出し方

ウディタで作ったゲームを英語版でも出したい、あるいは海外の人から翻訳させてほしいと連絡が来た。どちらの入り口でも、最初にぶつかるのは同じ壁です。ウディタには、文字列テーブルを書き出して翻訳して戻す、という道が用意されていません。CSVの書き出しボタンも、実行ファイルの隣に翻訳用のファイルが並ぶフォルダもありません。

テキストは、それを表示するイベントコマンドと一体になって、エディタ独自のデータの中にあります。この一点が全体を規定します。どう取り出すか、どう確認するか、更新が来たときどうするか、そしてどれだけの作業が表計算ソフトではなくエディタの中での手作業になるか、すべてがここから決まります。

この記事では、文字列が実際にどこにあるか、そのうち構造的に訳しにくいものは何か、日本語前提のツールに付いてくる文字コードとフォントの問題、そして自分の作品でない場合に最初に済ませるべき許諾の話を扱います。

テキストがある場所と、検索できない理由

ウディタのプロジェクトでプレイヤーが読むテキストは、大きく3か所に散らばります。マップイベントには、その場所に紐づいた会話が入ります。話しかける村人、調べる看板、踏むと始まるイベントなどです。コモンイベントには、ゲーム全体で使い回すロジックが入ります。実際にはシステムメッセージ、メニュー、戦闘まわりの文言など、一度作ってあちこちから呼ぶものの大半がここです。データベースには名詞が入ります。アイテム名と説明、キャラクター名、技の説明、用語、エンジン側の設定可能なメッセージなどです。

その中で、テキストはさらに特定のコマンドの中に置かれます。文章表示は分かりやすいほうです。選択肢のコマンドには選択肢のラベルが入ります。文字列操作は実行時に文章を組み立てます。ピクチャや文字列の表示コマンドは、メッセージウィンドウを通さずに画面へ直接文字を描けます。つまり、メッセージだけを追いかけていると、目に見えている文字の一部が最後まで見つかりません。

そしてこれらはプレーンテキストではなくエディタ独自の形式に入っているため、普段使う道具が効きません。ゲーム中で見た一文をプロジェクト全体から検索することも、2つのバージョンを比べて作者がどこを直したか見ることも、翻訳をプルリクエストとして読むこともできません。編集の正となる場所はエディタであり、有志が作った抽出・差し替えのツールも存在しますが、どの経路を選んでも検証は自分の責任で残ります。何を取りこぼしたかを教えてくれる仕組みがどこにもないからです。

  • マップイベント: その場の会話、看板、イベントシーン、単発のやりとり
  • コモンイベント: システムメッセージ、メニュー、戦闘の文言、共通処理
  • データベース: アイテム・技の名前と説明、キャラクター名、用語、設定可能なメッセージ
  • 文字列操作や、ピクチャ・文字列表示でウィンドウを通さず描かれる文字
  • 画像に焼き込まれた文字: タイトルロゴ、メニュー素材、UIパネル、エンディング画面

実行時に組み立てる文が、いちばんの難所

いちばん訳しにくいのは、どこにも一文として存在しないテキストです。ウディタのプロジェクトでは、変数と断片をつないで文章を作るのが普通です。アイテム名+「を手に入れた!」、数値+助数詞、キャラ名+決まった反応。日本語ではこれが破綻しません。助詞が文法上の仕事をしてくれて、スロットに何が入っても語順が変わらないからです。

英語はそうはいきません。日本語ならどの名詞にも使えた断片が、英語では名詞によって冠詞が変わり、数によって複数形が変わり、多くの場合そもそも語順が違います。断片だけを単体で訳すと、プレイヤーがアイテムを拾うたびに文法的におかしい文が出るゲームになります。しかも1周のあいだに何千回も、いちばん目立つメッセージとして出ます。

これは翻訳を始める前に洗い出します。完成した文章を読むのではなく、変数を参照している文字列操作と文章表示を探すのが早道です。見つけたら、1件ずつ方針を決めます。1つのスロットを持つ完全な文に書き換える、コード側で数パターンを出し分ける、どの値が来ても成立する中立的な言い回しで妥協する、のいずれかです。自分の作品ではなくロジックを変えられない場合、これは自分だけで決められる話ではなく作者との相談になります。スケジュールを約束する前に済ませておく価値があります。

文字コードとフォント — 日本語前提のツールであること

ウディタは日本語環境で育ったツールで、どのバージョンがどの文字コードを前提にしているかは、ツールの歴史の中で変わってきました。パイプラインの他のことを決める前に、自分が使っているバージョンの前提を公式サイトと更新履歴で確認してください。別のバージョンについて書かれた掲示板の投稿ではなく、です。ここで、そもそも入力してよい文字の範囲が決まります。

日本語のコードページを前提とする構成なら、その外の文字が敵になります。アクセント付きのラテン文字、キリル文字、ワープロが自動で入れる曲がった引用符、ダッシュ類、各種の約物は、化けるか黙って消えることがあります。現実的な防御は、翻訳者に使ってよい文字の範囲を最初に伝えることと、シートではなく実際のビルドで確認することです。シート上では正常に見える文字が、エディタに入る途中で壊れることがあります。

フォントも同じ理屈です。日本語がきれいに出るからと選んだフォントは、欧文の字形が弱いことがよくあり、この種のゲームでよく使われる小さいサイズではその差がはっきり見えます。同梱するつもりのフォントはライセンスを確認し、フォントのプレビュー画面ではなく実際のメッセージウィンドウで、いちばん長い英文を表示して見てください。

ウィンドウ、改行、画像に描かれた文字

メッセージウィンドウは固定サイズで表示行数も少なく、日本語のシナリオは行のバランスを見ながら手で改行を入れて書かれているのが普通です。その改行位置は英語になると全部ずれますし、同じ内容でも英語は横幅を必要とします。言語ごとに改行を入れ直す工程を最初から見込んでおき、平均的な行ではなく最悪の行 — 長いアイテム説明、変数を含むシステムメッセージ、選択肢のラベル — で確認してください。

バックスラッシュで始まる特殊文字は、他のエンジンにおけるタグと同じ扱いをします。変数を埋め込み、色を変え、表示を制御するもので、テキストではなくコードです。このプロジェクトで実際に使われている記法を一覧にして翻訳者に渡し、見慣れない並びが出てきたら推測も削除もせず質問として上げてもらうよう明記します。

そして画像です。このツールで作られたゲームは、タイトル、メニュー、UIパネルを日本語の文字ごと画像として描いていることが多くあります。これは別工程の画像作業になり、たいていはレイヤーの残った元データが要ります。作者の手元にそれが残っているかどうかを早めに確認してください。答えによって約束できる範囲が変わります。統合済みの画像から文字を差し替えるのはレタッチ作業であり、絵が描き込まれているほど難しくなります。

自分の作品でないなら、許諾が先

他人のゲームを翻訳することは二次的な制作であり、熱意は許諾の代わりになりません。日本のフリーゲーム・同人作品の作者は、readme や自サイトに利用規約を置いていることが多く、そこには改変・パッチ・再配布について直接書かれていることがよくあります。始める前に読み、翻訳について触れられていなければ、訊いてください。

逆の立場も同じです。海外の人から「翻訳させてほしい」と連絡が来たときに、こちらが何を許可したのかを曖昧にしたまま進めると、あとで配布形態でもめます。プレイヤーが手元のコピーに当てるパッチなのか、ゲーム丸ごとの改変版を再配布するのかは大きく違い、後者は必ず明示的な合意が要る話です。何を、どこで配るのか、金銭が絡むのか、原作者のクレジットをどう出すのかを具体的に決めて、やりとりを残してください。

更新が来たときにどうするかも先に決めておきます。この種のゲームは公開後も修正が続くことが多く、作者が更新を知らせるのか、新バージョンの翻訳を配ってよいのか、どちらがどこを直すのかは、最初のリリース前に合意しておくほうが、バージョンが上がって翻訳が取り残されてから話し合うよりずっと簡単です。

差分が取れないぶん、記録を自分で持つ

プロジェクトのデータを比較できない以上、差分は自分で持つしかありません。もう一度その文字列にたどり着ける精度の場所の列、原文、訳文、状態、翻訳者が上げた疑問を書くメモ欄を持つシートを作って維持します。このシートが、変更履歴であり、進捗の指標であり、作者が更新を出したときに何が変わったのかを答えられる唯一の手段になります。

場所の列は本当に使える粒度で書いてください。日本語の原文だけが書かれた行は半年後に役に立ちません。マップ名やコモンイベントの番号、イベントとページ、シーンの中でのおおよその位置まで書いてあれば、自分以外の人でもゲームを最初から遊び直さずにたどり着けます。

そのうえで、スクリーンショットによる確認を組み合わせます。翻訳版を実際に遊んで、文字が出る画面をすべて撮ります。メニュー、戦闘メッセージ、アイテム説明、エンディングまで含めてです。シートだけを読む確認では、ウィンドウからはみ出した行も、英語のアイテム名に日本語の断片がくっついたメッセージも、そもそも抽出が触れていなかった画面も見つかりません。

場所                              | 原文             | 訳文 | 状態 | 備考
マップ:古い洋館 / Ev3 / 1ページ目   | ……鍵が、ない。    | ...  | 訳済 | 主人公の独白
コモン:12 アイテム取得             | (アイテム名)を手に入れた! | ...  | 保留 | 変数連結。英語は冠詞と複数形が必要
DB:アイテム / 04 / 説明            | 古びた真鍮の鍵      | ...  | 確認中 | アイテム欄は2行まで

関連記事