【Unity】ゲームをローカライズしたい

【ヤマふだ! にごうめ】に正式な英語のアップデートを行いました!

『すっかり ヤマのぼりが うまくなったね』

なので、そちらの事例をTIPS形式で紹介します。

ヤマふだ! にごうめ
KPC

1.データ構造
Excel → Scriptable → ゲーム内カード

スプレッドシート(Excelなど)からScriptableに変換しています。

翻訳作業だけのことを考えるとメッセージだけが含まれるシートを分けた方が良いのですが、数字や演出とセットでメッセージを考えたいので本作ではデータと混在させています。

2.変数に対応

<アイテム名>を<5>個入手!】 が、英語だと 【Got a <5> <Stones> ! 】 と順番が入れ替わったりします。なので、String.Formatに渡すように 【{0}を{1}個入手!】 といった形にしました。

3.フォント、画像の切り替え
にほんごロゴ
えいごロゴ

言語別に【フォント】【画像スロット】を定義して、言語切り替え時に反映するようにしました。会話用フォントと、システム用フォントがあります。

※いつでも切り替えられるように常駐させていますが、規模の大きいゲームでは都度ロードし直すのが正しいです。

4.文字数のはみ出し対応
日本語6文字分
はみ出す分をちょっと縮小

日本語版と雰囲気を合わせたいため、はみ出しそうになる場合のみ縮小させるように【BestFit】を設定しました。

5.文字色の変更
One-Stationの部分

本作では予約語と数字については色を変えていましたが、英文の途中にハイフンが入ることがあったので、【予約語>数字】の優先的で処理するようにしました。

6.確認のためのデバッグ機能
【カード】→【ぜんぶつかう】で全開放

全要素をいつでもどこでも確認できるように、各シーンへの遷移と全データを開放するデバッグ機能を用意しました。

7.ビルドの自動化

翻訳内容を実行環境で確認できるように、Debug版とRelease版を定期的にビルドし、圧縮するバッチを作成しました。

Unityにはコマンドライン起動と、そこから呼び出せるメソッドがあるため、Husky Studioさんの記事を参考にビルド命令を追加しました。。

※ただ、外部のメッセージデータをゲーム内に直接取り込む環境を用意できるのであれば、そちらの方が良いとは思います。

8.まとめ
日本語の表題は【おねがい】でした

本作のメッセージ文字数は少ない方ですが、カードゲームなので、それなりに複雑な要素もあり、他ジャンルでも参考になる部分はあるかも知れません。

今回の英語翻訳にはゴダノ・マルコ様(@GodanoMarco)にご協力頂きました。迅速かつ丁寧に翻訳頂きまして、誠にありがとうございました!

おつかれさまでした!
それでは、よいUnityライフを~

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA