CriWare Unreal Engine
Plug-ins for CriWare solutions.
読み取り中…
検索中…
一致する文字列を見つけられません
Asset Localization による多言語対応

UE の機能である Asset Localization を活用することで、
言語ごとに分かれたアセットを1つのアセットに置き換えることができます。

データの準備

ADX

Atom Craft ツールから、言語ごとのデータを準備してください。
ツールから出力されたデータは ローカライズ言語ごとに .acb と .awb が分かれています
ファイル名が同じなので、インポートする際のファイル選択の間違いにご注意ください。

詳しくは Atom Craft Tools マニュアル: 多言語対応 をご確認ください。

Sofdec

データの準備段階で多言語対応のための設定などは必要ありません。

以降の説明は ADX のデータを元に記載しております。
Sofdec のデータを多言語対応する場合も同様の手順となります。

言語ごとのフォルダの作成

ローカライズされたアセットは、UE プロジェクトの「Content」フォルダ内の L10N フォルダ下の、言語ごとのフォルダに存在する必要があります。

そのため、UE プロジェクトの「Content」フォルダの直下に「L10N」フォルダの作成と、
「L10N」フォルダ直下に 対応させたい言語 のフォルダを作成する必要があります。

※「日本語」、「英語」、「中国語」に対応させる場合のフォルダ構成。
※ 言語ごとのフォルダ名は UE の仕様に従ってください。
※ Create Localized Asset を実行すると自動でフォルダが作成されるため、必ずしもこの工程を行う必要はありません。

ローカライズ対象のアセットの準備

UE エディタにファイルをインポートします。
インポートするファイルは日本語用に準備したものとします。


ローカライズされたアセットの配置フォルダの作成

ローカライズ対象のアセットを選択した状態で、
Asset Localization サブメニューの Create Localized Asset から対応させたい言語を選択してください。

UE プロジェクトの「Content」フォルダの直下に L10N フォルダが作成されます。
「L10N」フォルダ直下に対象の言語フォルダと、言語フォルダ内には選択したアセットと同様のものが作成されます。

上記で作成されたアセットは不要なため 削除 して問題ございません。

※ 適切なフォルダを作成することが目的な工程となっております。
※ 必ずしもこの工程を行う必要はありません。手動でフォルダを作成しても問題ありません。

Create Localized Asset に目的の言語が表示されない場合の対処方法

UE エディタの「Tools」メニューから Localization Dashbord を選択します。

Cultures の項目に表示されているリストに目的の言語が追加されているか確認します。
追加されていない場合は Add New Culture から追加することができます。

目的の言語を追加したら Compile Text を実行してください。

Create Localized Asset に Localization Dashbord で追加した言語が選択できるようになります。

目的の言語向けのアセットの準備

上記で作成したフォルダに、目的の言語向けに準備したファイルをインポートします。

※ ローカライズ対象のアセットと同じ名前にしておく必要があります。

ローカライズアセットの使用

使用するアセットは ローカライズ対象としたアセット を選択してください。
アセットロード時の 現在の言語設定に応じた ローカライズアセットがロードされます。

※ 「L10N」フォルダ内のアセットを直接使用しないようご注意ください。

言語設定の変更方法

設定の変更後にロードされたアセットに対して適応されます。
設定の変更前にロードされたアセットには反映されません のでご注意ください。

UE エディタ上での編集時

UE エディタの Edit メニューから Editor Preferences を選択します。
Region & Language の設定から Editor Language から言語を変更することができます。

アプリケーション実行時

Blueprint

UKismetInternationalizationLibrary::SetCurrentCulture関数を使用することで変更することができます。

C++

FInternationalization::SetCurrentCulture関数を使用することで変更することができます。

FInternationalization::Get().SetCurrentCulture(TEXT("language"));

Asset Group

任意のアセットクラスをプロジェクトで設定している言語とは違う言語にローカライズできる仕組みです。
プロジェクトの言語は「日本語」に設定されているが、
再生させるサウンドは「英語」にローカライズされたアセットを使用したい場合などで活用できます。

DefaultEngine.ini を編集する

UE プロジェクトの「Config」フォルダに存在する DefaultEngine.ini ファイルに Asset Group を定義します。

"AtomSoundGroup" という Asset Group を定義しています。
[Internationalization.AssetGroupClasses]
+AtomSoundGroup=AtomCueSheet
+AtomSoundGroup=AtomWaveBank

Asset Group のローカライズ言語の設定

設定の変更後にロードされたアセットに対して適応されます。
設定の変更前にロードされたアセットには反映されません のでご注意ください。

UE エディタ上での編集時

DefaultEngine.ini ファイルにAsset Group の定義と同様にローカライズさせる言語を設定することができます。

"AtomSoundGroup" のローカライズ言語を「英語」に設定しています。
[Internationalization.AssetGroupCultures]
+AtomSoundGroup=en

アプリケーション実行時

SetCurrentCulture の呼び出しは全てのアセットのローカライズ言語が変更されます。
そのため、SetCurrentCulture の呼び出し後に SetCurrentAssetGroupCulture を呼び出して再度設定する必要があります。

Blueprint

UKismetInternationalizationLibrary::SetCurrentAssetGroupCulture関数を使用することで変更することができます。

C++

FInternationalization::SetCurrentAssetGroupCulture関数を使用することで変更することができます。

FInternationalization::Get().SetCurrentAssetGroupCulture("None", TEXT("language"));

パッケージ化の設定

UE エディタの Edit メニューから Project Settings を選択します。
Packaging 項目の Advanced にある Localization to Package を設定します。
リスト内のパッケージに含める言語にチェックしてください。

Packaging 項目の Advanced にある Internationalization Support を設定します。