メニューのローカライズ

メニュー画面のローカライズに挑戦しました。

上メニューのツール > ローカライゼーションダッシュボードを選択。

最初にネイティブ言語を決める

カルチャ > 新規カルチャーを追加をクリックし、日本語(日本)と中国語(簡体字、中国)を追加する。

このネイティブ言語をベースとして、他言語に翻訳することになります。
ネイティブ言語を変更すると翻訳情報を全て失いますから、最初にネイティブ言語を決めておく必要があります。とても大きな注意点として、デフォルトでは英語がネイティブ言語です。知らずにそのまま日本語入力してしまっている人が多いかと思います。

テキストを収集する

テキストを収集 > パッケージから収集にチェックを入れる。
Include Path Wildcardsを+して、「Auto」を「Project」に変更し、その右の「…」をクリックして、UIのウィジェットが入っているフォルダを指定。私はUIというフォルダを作っていましたので、それを選択しました。

カルチャ > テキストを収集するをクリック。
しばらく待つと緑のチェックマークがつきます。

OKをクリックするとワード数が0→105になりました。

言語欄の英語の「アクション」に8個のアイコンが並んでいます。その中の一番左が「このカルチャーの翻訳を編集」です。

クリックして開き、「未翻訳」のタブを見ると、収集された言語が並んでいます。

この中の日本語で表記されているところの右の空欄を選択し、英語で入力。

翻訳を終えたら、カルチャにある「ワード数をカウントする」「テキストをコンパイル」で更新します。
もともと英語で表記しているものは翻訳しませんから、翻訳率が100%でなくて問題ありません。

Enumを作成

ブループリント > 列挙型を作成。
名前はEnum_Culturesにしました。

列挙子を3つ追加しました。
Japanese
English
Simplified Chinese

セッティングメニューに「言語」を追加

W_Settingsの編集

私が使っているセッティングメニューであるW_Settingsの項目に「言語」を追加しました。
Background Buttonの名前はBackground_Language。
Left ButtonはLanguage-、Right ButtonはLanguage+。

Language ButtonをマウスHoveredとキーボードFocusの設定に追加します。

イベントグラフを編集します。

現在値の読み込み
ノードを組む

イベント Constructから続くノードにGet Current Cultureを配置して、Return Valueから線を伸ばして変数へ昇格。名前をCurrentCultureにしました。
ローカライズ設定の入力
ノードを組む

Language-とLanguage+のイベント On Clickedを作成。
Enum_Culturesという変数を作成。型はEnum Cultures。
Cultures Numberという変数を作成。型はInteger。
Cultures Numberの0~2でEnum_Culturesをスイッチして、Set Current Cultureにセットしています。
Get Localized Culturesを使ったほうがスマートにできそうなのですが、よくわかりませんでした。
現在値の出力

デザイナーの言語欄のテキストブロックからバインドを作成。

ノードを組む

Current Cultureをそのまま表示させていますので、ja/en/zhと味気ない表記です。

テストプレイする時は「スタンドアローンゲーム」にしないと反映されません。

とりあえず完成

一応形になりましたが、もっと上手くできるんじゃないかと思います。

Steamの2023年7月時点のデータによると、英語と中国語が62%を占めます。日本語は2%です。
英語は38%という数字以上に重要度が高いと思います。英語が苦手な日本人の私から見ても中国語や韓国語のゲームは買えませんが、英語のゲームなら興味があると手を出せます。

Steamでの販売を検討するなら、ローカライズは必要だと思いました。
海外のインディーズゲームはGoogle翻訳レベルの日本語も多いですから、DeepLの翻訳を使ってでも、必ずやろうと思いました。

テストプレイがスタンドアローンゲームじゃないと言語設定が反映されないのは落とし穴でした。

コメント

タイトルとURLをコピーしました