【Unity】Calliope – Translation Managerという翻訳管理ツールを作りました
ゲームを作った後には何故だかエディタ拡張のツールを作りたくなるtodoです。
3月にカジュアルゲームのグローバル化を行い、そこからエディタ拡張の作成に没頭して1ヶ月、ついに新しいアセットができました!
その名も『Calliope – Translation Manager』です。
Unityで翻訳を管理するためのツールで、エディタ拡張のウィンドウで翻訳リソース(テキストとか画像とか音楽とか)をリスト形式で管理できます。ゲーム実行中には、言語IDを切り替えることで動的に言語を切り替えることができます。
翻訳そのものも結構大変ですが、何より翻訳データをゲーム内で切り替えるのだって大変なんですよね。ゲーム内のリソースを翻訳・ローカライズする段階になって翻訳管理用のシステムを作るのは中々のコストです。ある程度ゲームシステムが固まってきて、必要なUIも決まって、じゃあ翻訳切り替えのシステムを……あれ? ここから2、3週間吹き飛ぶの? みたいな。
そんな時にサクッと翻訳管理システムを導入して時間を節約しようぜ! というコンセプトのもと生まれたのがCalliopeです。
詳細については上のアセットストアへのリンクからご覧あれ。
Calliopeについて
Calliope(カリオぺ)はギリシャ神話に出てくる女神で、雄弁、弁舌を司る女神です。彼女の名前にあやかってこの名前を付けました。
カリオぺはゼウスの娘さんで、ミューズと呼ばれる女神集団の1柱。言葉に関する女神なので、翻訳してゲームに込められたメッセージをユーザに伝えるという意味で名前を借りました。
エディタ拡張アセットは他にも『Ariadne – 3D Dungeon Maker』という3Dダンジョン作成ツールを作っているのですが、こちらもギリシャ神話に出てくる女神の名前を付けています。厨二だな?
アリアドネはクレタ王の娘で、ミノタウロスを討伐しに行ったテセウスに糸の玉を渡し、迷宮で迷わないようにしてくれた人。世界樹の迷宮ではダンジョンからの脱出用アイテムとして「アリアドネの糸」が出てきます。
彼女は人間だよ説と、いやいや女神様だよ説があるのですが、女神様だよ説を採用して名前にあやかることにしました。迷宮を作るツールなので、むしろミノタウロスを閉じ込める迷宮の作者であるダイダロスの名前の方が相応しい気もしますが、女神様の名前の方がなんとなくテンション上がるのでこっちにしました。
機能の紹介
CalliopeではExcelでデータを管理するときのように表形式で翻訳データを管理し、ゲーム実行中には言語IDに応じて動的に切り替えることができます。
ローカライズの対象としているのはText、Image、Audio、Spriteで、それぞれ各コンポーネントに対応しています。
翻訳というと文字だけを別の言語に変換するイメージがありましたが、実際にゲームをローカライズするとなると画像や、場合によっては音楽も切り替える必要があります。
画像でいえば、タイトルロゴに日本語が含まれていたら英語などの言語に変える必要がありますし、UIのボタンに日本語が入っていたりした日にはそれも差し替えです。あと国によって色に対するイメージも異なるので、そこも注意しないといけません。
リストで管理できる
Excelでデータを管理するときのように表形式で翻訳データを管理することができます。
画面上のタブではText、Image、Audio、Spriteのどのリソースを設定するか選ぶことができます。それぞれ、各コンポーネントに対応しています。
Unity特有の情報としてどのシーンのデータなのかも入力できるようにしました。シーン名を入れておけば、『Scene』ボタンをクリックすることで、シーンごとにソートされます。
Keyはシーン内のどの情報なのかを入力できます。これも自分が分かりやすいように名前を入力できますし、ソートも可能です。
あとは最初に設定した言語の数だけカラムが並びます。ゲーム実行中には、言語設定が英語の時は英語のカラムに入力したデータ、言語設定が日本語の時は日本語のカラムに入力したデータがそれぞれ表示されます。
リソースをプレビューできる
Calliopeのエディタウィンドウ、そしてInspectorウィンドウで翻訳データのプレビューが可能です。
例えば上の画像ではImageの翻訳データを表示しています。すぐ確認できることで時間の節約に繋がります。
音楽もプレビュー
画像だけでなく、Audioのデータもプレビューできます。通常、Unityのエディタ上で音楽の再生を行う場合は、AudioSourceのデータを選択し、インポート設定の画面を開いてから再生ボタンを押します。
が、Calliopeではその作業を簡略化して、エディタ上の再生ボタンでそのまま試聴出来るようにしました。Audioデータのファイル名として分かりやすい名前が付いていれば良いのですが、中身は聞かないと分からないこともあるため、すぐに確認できるようにしています。
ゲーム実行中に切り替えられる
上の画像はデモシーンのものです。画面左に並ぶ言語ボタンをクリックすることで、サンプルのText、Image、Audio、Spriteを切り替えることができます。
シーンのリロードを行わずに切り替えられるようにしているので、ユーザがコンフィグ画面で言語を切り替えて即反映、みたいなことが可能です。
デモシーンでは英語、中国語、ドイツ語、ロシア語、フランス語、日本語の6言語で切り替えを行なっています。
テキストに関しては「これはCallopeのデモシーンだよ(意訳)」「Calliopeはギリシャ神話に出てくる女神だよ(意訳)」の文章がそれぞれの言語で表示されます。
Image(Sprite)とAudioも以下のような意図で作ってみました。
言語 | 想定する国 | Image | Imageの意図 | AudioSource | AudioSourceの意図 |
英語 | アメリカ | 星 | 国旗である
星条旗から |
線路は続くよどこまでも | アメリカの民謡 |
中国語 | 中国 | 龍 | 古代中国での
皇帝の象徴 |
茉莉花 | 中国の民謡 |
ドイツ語 | ドイツ | 木 | シュヴァルツヴァルト
から |
こぎつね | ドイツの民謡 |
ロシア語 | ロシア | 雪 | 雪国だもの | 一週間 | ロシアの民謡 |
フランス語 | フランス | 鳩 | 自由の象徴 | アマリリス | フランスの民謡 |
日本語 | 日本 | 魚 | 寿司 | さくら | 日本の民謡 |
なんとなく言語と結びつきの強そうな情報を入れています。実際にローカライズするときにも、こうしたローカライズ先の国に合わせたリソースを用意するのがベストです。……とはいえ、どこまでコストをかけるのかは売上予測と比較して決めよう。
まとめ
こんな感じのアセットを作ってます、という近況報告に近い何かでした。
よかったらアセットストアを覗くだけ覗いてみてもらえると嬉しいです。
こんな感じのアイコンです。
ゲーム開発の攻略チャートを作りました!
-
前の記事
アプリストアへのリンクをQRコードにして少しでもDL数を増やす 2019.03.17
-
次の記事
【Unity】メニューバーの「File」について解説【初心者向け】 2019.05.11
コメントを書く