このページでは、Scaleform Studio プロジェクトで画面上に表示されるテキストのローカライズに使用できるいくつかの方法について説明します。
異なる言語または使用方法のそれぞれに対して、異なる Scaleform Studio プロジェクトを作成し、Stingray の組み込みリソース選択メカニズムを利用してランタイムで適切なプロジェクトを選択することができます。このメカニズムの詳細については、「リソースをローカライズする」を参照してください。
これは最も重いアプローチですが、言語やプラットフォームの変更により、表示する必要のある文字列またはグラフィックスが非常に大きく変化することが避けられない場合に適していることがあります。たとえば、UI の目的がゲームのコントロールをプレイヤーに示すことであると仮定します。この UI は、PC (キーボードとマウスを使用)上とコンソール(ゲームパッドを使用)上では大きく異なる必要がある場合があります。そのため、複数の個別のプロジェクトを作成し、リソース名にプラットフォーム固有のローカライズ ID を使用してそれらを識別します。
この方法では、参照言語で既定の文字列を入力し、Scaleform Studio で既定の UI を作成します。次に、ユーザが別の言語を選択した場合に、Scaleform プロジェクトに異なる文字列を、その文字列が UI のどこに配置されるかを定義する ID とともに送信するために、Stingray ゲームが Scaleform プロジェクトにメッセージを送信するように設定します。Scaleform Studio プロジェクト(または Stingray)の Lua コードが、そのメッセージに応答して新しい文字列に入れ替えるようにします。
この方法の長所は、Stingray ローカライズ文字列ファイル内にすべての文字列を保持することができ、翻訳とロードが容易になる点です。「文字列をローカライズする」を参照してください。この方法の短所は、Stingray と Scaleform Studio 間の処理により多くの通信が必要な点です。
これら 2 つは同じ Lua 環境を共有するため、Stingray localizer から取得した文字列でテキストを設定するために、Stingray から Scaleform Lua 関数を呼び出すこともできます。または、Scaleform プロジェクトから Stingray Localizer を呼び出すことができます。これを行う場合の短所は、両者が緊密に連携されることです。このことはスタンドアロン モードで実行する Scaleform Studio での UI の動作をテストできる状態を維持したい場合は、注意が必要になることを意味します。
Scaleform Studio プロジェクト内の Lua テーブル内に、各 Scaleform Studio プロジェクトのすべての文字列を保持することができます。次に、UI に目的の言語を設定するために、Stingray プロジェクトが Studio Scaleform にメッセージを送信するように設定します。Scaleform Studio プロジェクトで、そのメッセージを受け取り、Scaleform Studio で文字列を入れ替えます。
この方法の期待できる長所は、Stingray Lua コードと Scaleform プロジェクト間の直接的な統合が少なくて済み、自己完結型の UI モジュールが保持できる点です。