メインコンテンツまでスキップ

ローカライゼーション設定

このガイドでは、AI Localization Automator がテキストを検出して翻訳できるように、Unreal Engine でテキストをローカライズ可能にする方法を説明します。

UE のローカライゼーションに詳しいですか?

Unreal Engine のローカライゼーションパイプラインにすでに精通しており、FText の設定、ローカライゼーションターゲット、テキストの収集の経験がある場合は、このページをスキップして はじめに に直接進んでください。

このページでは、AI Localization Automator を含む翻訳ツールを使用する前に必要な、基本的な UE ローカライゼーションの設定について説明します。

UE のローカライゼーションが初めてですか?

Unreal Engine のローカライゼーションシステムにまったく慣れていない場合は、まずこの短いビデオチュートリアルを見ることを強くお勧めします: Unreal Engine 5 Localization Tutorial

ビデオを見た後、このページで取り上げるほとんどのトピックはすでに明確で理解できるようになり、おそらくこのページをスキップして はじめに に直接進むことができるでしょう。

以下のガイドでは、一般的な Unreal Engine のローカライゼーション設定とワークフローについて説明します。これらの手順は、AI を利用した翻訳だけでなく、UE でのあらゆる翻訳プロジェクトに適用できます。これは、基本的なローカライゼーションの概念と設定プロセスのリファレンスです。

ローカライズ可能なテキストの理解

AI Localization Automator を機能させるには、プロジェクト内で ローカライズ可能 としてマークされた FText プロパティが必要です。このプラグインは UE のローカライゼーションシステムを通じてテキストを検出するため、テキストは最初に適切に設定されていなければなりません。

FText と FString と FName

Unreal Engine でローカライズできるのは FText (Blueprints では Text) のみです:

  • FText: ローカライズ可能、リッチな書式設定をサポート、ユーザー向けテキストに使用
  • FString: ローカライズ不可、内部データとファイルパスに使用
  • FName: ローカライズ不可、識別子とキーに使用

Blueprints でテキストをローカライズ可能にする

1. FText 変数の作成

Blueprint クラスで:

  1. FText 変数の追加
    • Blueprint クラスを開く
    • タイプ Text (FText) の新しい変数を追加する

  1. デフォルト値の設定
    • 変数の詳細で、デフォルトのテキスト値を設定する
    • これが翻訳用のソーステキストになる

  1. ローカライゼーションの有効化
    • テキストコンテンツの右側にある フラグアイコン をクリックする
    • 開いたローカライゼーションウィンドウで、"Localize" チェックボックスをオンにする - これが重要です!
    • オプションで、整理用のカスタム KeyNamespace を設定する

2. FText が使用される場所

ローカライズ可能な FText 変数が用意できたら、それらは Unreal Engine エコシステム全体で使用できます。これには以下が含まれます:UMG ウィジェット、HUD クラス、UI メッセージのための GameMode/GameState、インタラクションプロンプトのための Actor コンポーネント、ダイアログシステム、入力アクション名、実績/トロフィーの説明、セーブゲームの表示テキスト、コンソールコマンドのヘルプテキスト、エディターツール、およびユーザー向けのコンテンツを表示する任意のカスタム Blueprint または C++ システム。

C++ でテキストをローカライズ可能にする

1. LOCTEXT マクロを使用する

C++ での静的テキストの場合:

// At the top of your file
#define LOCTEXT_NAMESPACE "MyGameUI"

// Create localizable text
FText WelcomeText = LOCTEXT("WelcomeMessage", "Welcome to the game!");
FText ButtonText = LOCTEXT("StartButton", "Start Game");

// At the end of your file
#undef LOCTEXT_NAMESPACE

2. 特定の名前空間に NSLOCTEXT を使用する

// For text with custom namespace/key
FText ScoreText = NSLOCTEXT("GameUI", "ScoreLabel", "Score: {0}");
FText HealthText = NSLOCTEXT("GameUI", "HealthDisplay", "Health");

3. クラス内の FText プロパティ

UCLASS()
class MYGAME_API UMyUserWidget : public UUserWidget
{
GENERATED_BODY()

public:
// Localizable text property
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Localization")
FText DisplayText;

// Function returning localizable text
UFUNCTION(BlueprintCallable)
FText GetWelcomeMessage() const
{
return LOCTEXT("Welcome", "Welcome, player!");
}
};

ローカライゼーションターゲットの設定

1. ローカライゼーションターゲットの作成

  1. ローカライゼーションダッシュボードを開く (ツール → ローカライゼーションダッシュボード)
  2. デフォルトでは、翻訳元のテキストを取得するための Game ターゲットが既に存在しているはずです
  3. Game ターゲットが存在しない場合は、"新規ターゲットを追加" をクリックし、名前として "Game" を入力し、ローディングポリシー として Game を選択してください

2. 収集設定の構成

  1. ダッシュボードでターゲットを選択します
  2. Game パネルの "テキストを収集" セクションに移動します

Blueprint コンテンツの場合:

  1. "パッケージから収集" をオンにして展開します
  2. "含めるパスのワイルドカード" で、ローカライズ可能なテキストを含むアセットが配置されているディレクトリを選択します

C++ コンテンツの場合:

  1. "テキストファイルから収集" をオンにして展開します
  2. "検索ディレクトリ" で、ソースのローカライズ可能なテキストが存在する C++ コードのディレクトリを指定します

除外するパスのワイルドカードファイル拡張子 など、システムがローカライズ可能なテキストを検索する方法を微調整できる多くの追加パラメーターが利用可能です。

3. ターゲット言語の追加

  1. ローカライゼーションダッシュボードで、ターゲットを選択した状態にします
  2. "新しい言語を追加" ボタンをクリックします
  3. ドロップダウンから単一の言語を選択します (例: スペイン語、フランス語、ドイツ語)
  4. 翻訳先としたい各ターゲット言語に対してこのプロセスを繰り返します
  5. 言語リストの左側にあるラジオボタンを使用して、ネイティブカルチャがソース言語としてマークされていることを確認してください (デフォルトでは英語が選択されています)

4. テキストを収集する

  1. ターゲット内の "Gather Text" ボタンをクリックします
  2. 収集プロセスが完了するまで待ちます
  3. プロセスが終了したら "OK" ボタンをクリックします
  4. Word Count カラムにテキストエントリが表示されていることを確認します

5. ローカライゼーションを編集する

テキストが収集されたら、手動でローカライゼーションを編集および追加できます:

  1. 各ターゲット言語の Actions 列にある Edit ボタン(最初のボタン)をクリックします
  2. これによりローカライゼーションエディタが開き、言語ごとに単語やフレーズを手動で翻訳できます
  3. テスト目的では、システムが機能することを確認するために、独自のテスト用ローカライゼーションを手動で追加できます
自動 AI 翻訳

AI Localization Automator プラグインは、AI プロバイダーを使用してこの翻訳プロセスを自動的に処理します。自動 AI 翻訳の詳細については、はじめに を参照してください。

6. テキストをコンパイルする

ローカライゼーションを追加した後(手動で、または 最初の翻訳 で説明されている AI Localization Automator を通じて):

  1. ローカライゼーションターゲットで "Compile Text" ボタンをクリックします
  2. コンパイルプロセスが完了するまで待機します - Gather Text 操作と同様です
  3. コンパイルが完了すると、翻訳されたテキストが利用可能になり、プロジェクト内で表示されるはずです
  4. これで、以下で説明する方法を使用してローカライゼーションをテストできます

ローカライゼーションのテスト

ローカライゼーションの設定をテストするには、いくつかの方法があります。以下に最も一般的に使用される方法を示します:

方法 1: エディタ設定

  1. エディタ設定(Editor Preferences)→ 地域と言語(Region & Language) に移動します
  2. 「プレビューゲーム言語(Preview Game Language)」 プロパティで、プレビューする言語を選択します
  3. 注意: 言語リストが表示されない場合、これは一般的な UE のバグである可能性があり、エディタを再起動することで修正されます

方法 2: UMG プレビュー

  1. UMG エディタ で、UI ウィジェット内の翻訳をプレビューしたい場合
  2. プレビューウィジェットの右上セクションに、ローカライゼーションをプレビューするための言語を選択するオプションがあります

AI翻訳の準備完了

以下の準備が整ったら:

  • ✅ プロジェクト内にローカライズ可能な FText コンテンツがある
  • ✅ 「Game」という名前で適切に設定されたローカライゼーションターゲットがある
  • ✅ 正しい収集設定を使用してソーステキストの収集が成功している
  • ✅ 翻訳対象の言語を追加した
  • ✅ テストを通じて設定を検証した

AI Localization Automator を使用する準備が整いました! はじめに(Getting Started) に進み、AIプロバイダーを設定して翻訳を開始してください。