画像テキスト翻訳:メニュー・タイトル・ボタンに焼き込まれた文字を翻訳する
ゲームのテキストの一部は文字データではなく、アートワークに描き込まれています。タイトル画面、New Game / Continue ボタン、HUD のラベルなど。抽出ツールでは手が届きません。RuneTranslate の画像テキスト翻訳なら、画像上の文字を枠で囲み、プロジェクトの元言語で認識し、自分の選んだプロバイダーで翻訳して、元のファイル名のまま焼き直せます。0.24.2 の新機能:テキストストローク・インペインティングは文字だけを消し、その背後のアートを再構築します——色つきのパッチではなく、きれいな背景に。仕組み、どこで動くか(セルフホスト、切り抜きは破棄)、そして Free と Supporter の違い。
ゲームのテキストの一部は、そもそも文字データではありません——アートワークに描き込まれているのです。タイトル画面、「New Game / Continue / Options」のボタン、HUD のラベル、CG に押されたスタンプ。通常の翻訳作業はそれらに一切触れられません。抽出できる文字列が存在しないからです。文字がそのままピクセルなのです。だから翻訳をやり終えても、ゲームは一番最初の画面でいまだに日本語であなたを迎えます。
画像テキスト翻訳がそのすき間を埋めます。画像の中の文字を指し示すと RuneTranslate がそれを読み取り、あなたは他の行と同じように翻訳し、書き出し時に翻訳が画像へと焼き戻されます——元のファイル名のままなので、ゲームは追加の手順なしで読み込みます。0.24.2 の新機能として、文字をきちんと消せるようにもなりました。アートワークの上に色つきの長方形を押しつけるのではなく、元の文字だけを取り除き、その背後のアートワークを再構築します。
仕組みをひと目で
プロジェクトエディターに新設された Images タブで、いつものテキスト行のすぐ隣にあります。何を翻訳するかを正確にあなたが把握できるよう、フローはあえて手を動かす方式になっています:
- 画像を選ぶ。 RuneTranslate が有力な候補(エンジンの UI フォルダーにあるメニュー / タイトル / ボタンのアート)を提示します。もちろん、任意の画像を自分で追加することもできます。
- 画像上の文字のかたまりを枠で囲む——必要な数だけ、単語やフレーズごとに 1 つずつ。
- Recognize は各枠を、ゲーム自身の言語で編集可能なテキストに変えます——OCR のずれがあればその場で直せます。
- 他のどこでも使っているのと同じエンジンで Translate し、結果を微調整します。
- Export は翻訳したテキストを画像に焼き戻し、元の画像を
bk_<name>として安全に残します。
翻訳する価値のある画像を見つける
文字を探して何千枚ものスプライトをスクロールする必要はありません。Images タブは候補ギャラリーを表示します——メニュー / タイトル / ボタンのアートである可能性が最も高い画像を(ゲーム内での置き場所とサイズから)拾い上げ、極小のアイコンや巨大な背景は飛ばす、素早いローカル処理です。そのリストを作るために何かがアップロードされることはありません。あなた自身のファイルを読んでいるだけです。ギャラリーにないものがあれば、任意の画像を手作業で追加できます。実際に文字があるのはどれかを目で見当をつけて開きます——CG や個人的なアートは、あなたが開くことを選ばない限り決して触れられません。
枠を描けば、文字が出る
候補をクリックすると、キャンバス上に大きく開きます。文字のかたまりを枠でドラッグすると——アプリの他の場所で使うのと同じ範囲選択です——番号付きの領域になり、画像の横に専用の行として現れます。ほとんどの画像には文字の箇所が複数あるので(New Game、Continue、Options、Load…)、それぞれに枠を描くだけで、小さなリストとして積み上がっていきます。枠は微調整・リサイズ・削除ができます。
ある領域で Recognize を押すと、切り抜きが編集可能なテキストとして読み戻されます。これはプロジェクトの元言語で認識されます——日本語に決め打ちされてはいません。プロジェクトが中国語、韓国語、英語、ロシア語、アラビア語、あるいはヨーロッパの言語なら、認識は自動的に対応するモデルを使います。枠が縁を拾ってしまったり、字と字の間に収まって空で返ってきたりした場合は、沈黙ではなく「テキストが検出されません——枠のサイズを変えてください」という案内が出ます。そして元テキストの欄は常に編集可能なので、直したり、いっそ自分で文字を打ち込んだりできます。
他の行と同じように翻訳する
各領域には Translate ボタン(と画像ごとの「すべて翻訳」)があり、セリフに使うのと同じ翻訳を通します——DeepL や Google から OpenAI や Claude まで、あなたが選んだプロバイダーとモデルで。翻訳されたテキストは編集可能な欄に入るので、ボタンに収まるよう短くしたり、画像に触れる前に語調を整えたりできます。後付けの機能ではなく、いつもの行の隣に自然になじむ、ひとつの一貫したワークフローとして感じられます。
パッチではなく、きれいな背景(0.24.2 のアップグレード)
ここが、焼き込まれた文字を実際に翻訳済みらしく見せる部分です。画像の文字を差し替える素朴なやり方は、古い文字の上に塗りつぶした長方形を描き、その上に新しい文字を書くことです。平坦なボタンなら見栄えはよく——けれどタイトル画面ではひどいことになります。文字が緻密なイラストの上に乗っていて、そのパッチが明らかに色違いのブロックになってしまうからです。
代わりに、RuneTranslate はテキストストローク・インペインティングを行います。実際の文字のストロークを検出し、そのピクセルだけを取り除き、その背後にあったアートワーク——夜空、キャラクター、グラデーション——を再構築してから、その上にきれいな縁取りであなたの翻訳を描きます。平坦なボタンなら継ぎ目のない差し替えになり、にぎやかなタイトル CG なら文字は消えてアートが組み直され、焼き直しで到達しうる限り「最初から日本語ではなかった」に最も近づきます。(強く質感のある写真背景は難しいケースで、わずかな痕跡が残ることがあります。平坦なアートや淡くシェーディングされたアートが最もきれいに仕上がります。)
どこで動くか——そして何が非公開のままか
認識と背景のクリーンアップは RuneTranslate 自身のサーバーで動きます——セルフホストの認識器であり、サードパーティの OCR クラウドではありません。あなたのアプリが送るのは、枠で囲った小さな切り抜き(クリーンアップが再構築するためのわずかな余白つき)だけで、ゲーム全体を送ることは決してありません。その切り抜きのバイト列はメモリ上で読まれ、ただちに破棄されます——何も保存されず、リクエストはエンジンだけでタグ付けされ、ゲーム名やプロジェクト名で付くことは決してありません。実際の翻訳は、セリフのときとまったく同じく、あなたが選んだプロバイダーを通ります。
Free と Supporter
サーバー側の認識ときれいなインペイントは Supporter 機能($3/mo)です——これは私たちのハードウェアを使う部分で、共同プロジェクトやクラウド翻訳メモリと同じ「ホスティングに対して支払う」モデルです。
Free ユーザーも、完全に自分のマシン上で本物のワークフローを使えます。枠を描き、元テキストを自分で打ち込み、自分のプロバイダーで翻訳し、書き出す——焼き直しはサーバーのインペイントの代わりに、単純な塗りつぶし消去を使うだけです。つまり自動認識ときれいに再構築された背景が Supporter へのアップグレードであり、それ以外はすべての人に働き、Free の書き出しが私たちのサーバーに触れることは決してありません。
焼き直しとバックアップの仕組み
焼き直しは書き出し時に、書き出されたゲームのコピーに対して行われます——あなたの元ファイルには決して行われません。翻訳された領域を持つ各画像について、RuneTranslate は新しい画像を元のファイル名の上に書き(だからエンジンは設定なしで読み込みます)、手を触れていない元画像をその隣に bk_<name> としてコピーします。バックアップは一度だけ書かれるので、再書き出ししても本物の元画像を上書きしてしまうことは決してありません——焼いたファイルを削除して bk_ のコピーを戻せば、いつでも元に戻せます。PNG はロスレスのまま、JPEG は高品質で再エンコードされ、形式を保ちます。
Kirikiri:XP3 アーカイブ内の画像——そして TLG
ほとんどのエンジンは画像を素のファイルとして持ちますが、Kirikiri / KAG のビジュアルノベルは違います——すべてを(多くは暗号化された).xp3 アーカイブの中に詰め込み、しかも多くはエンジンの外では何も開けない Kirikiri 独自の TLG 画像形式(TLG5 / TLG6)で保存しています。RuneTranslate はそのすべてを代わりに処理します。テキスト翻訳を支えるのと同じ復号を使って XP3 から画像を直接読み取り、アプリ内で TLG をデコードし、他の画像と同じようにギャラリーに表示します——展開も、変換も、外部ツールも要りません。
書き出し時には翻訳した画像を注入し直し、ゲームがそのまま読み込めるようにします——素のファイルと小さな patch2.xp3 オーバーレイ(テキスト翻訳が使うのと同じ、二重の安全策となる override)として。そして署名済みビルドを認識します(署名なしのものが署名チェックに落ちる場合は、パッチアーカイブを飛ばします)。TLG 画像は元の名前で有効な .tlg に焼き直されるので、エンジンは違いにまったく気づきません。
対応範囲と制限
- 今のところ、素の画像を持つエンジンと Kirikiri。 RPG Maker MV / MZ(
img/フォルダー)と Kirikiri / KAG(XP3 内の画像、TLG を含む)に現在対応しており、さらに多くのエンジンが続きます。他のアーカイブ形式の中に封じられた画像(一部の Unity / Wolf のパック)にはまだ手が届いていません。 - 平坦な UI やイラスト調の UI は映える。密度の高い写真は難しいケース。 ボタン、タイトル、様式化されたロゴは美しく仕上がります。にぎやかな写真の質感の上に乗った文字は、わずかな痕跡が残ることがあります。
- あなたは常にその輪の中にいます。 認識も翻訳もどちらも編集可能で、書き出すまで画像に自動で適用されるものは何もありません——だから誤った読み取りやぎこちない言い回しが、思いがけず世に出てしまうことはありません。
6 ステップでやってみる
- プロジェクトを開き、Images タブに切り替えます。
- ギャラリーからタイトル / メニュー画像を選びます(または自分で追加します)。
- その上の文字のかたまりごとに枠を描きます。
- 各枠を Recognize し、元テキストの欄で OCR のずれを直します。
- 自分のプロバイダーで Translate し、結果を整えます。
- Export。 翻訳した画像が元の名前で(
bk_バックアップつきで)収まり、ゲームはそのまま読み込みます。
まとめ
セリフで止まる翻訳は、タイトル画面が日本語で読み込まれた瞬間に、やはり中途半端に感じられます。画像テキスト翻訳がその仕事を仕上げます——メニュー、ボタン、タイトルアートまで——そして新しいインペイントは、それらを後から貼り付けたものではなく、最初からそう描かれていたかのように見せます。
RuneTranslate をダウンロードして、Images タブを開き、抽出ツールでは決して届かなかった文字を翻訳しましょう。
RuneTranslate を試してみませんか?
無料プランですべてのエンジンとすべての翻訳プロバイダーが使えます。Supporter(月額 $3)ならフルスピードで翻訳できます。
Windows 版をダウンロード