22.1 アプリケーション翻訳およびグローバリゼーション・サポートの理解
異なる言語で同時に実行できるAPEXアプリケーションの開発について説明します。
1つのOracleデータベース・インスタンスとOracle APEXは、様々な言語をサポートするようにカスタマイズされた複数のデータベース・セッションをサポートできます。
- 翻訳プロセスについて
アプリケーション・ビルダーで構築したアプリケーションの翻訳について学習します。 - 言語の指定について
APEXエンジンがアプリケーション言語を決定する方法について説明します。 - アプリケーションの翻訳ルールについて
アプリケーションの翻訳ルールについて説明します。 - 翻訳済アプリケーションのレンダリング方法
翻訳済アプリケーションのAPEXによるレンダリング方法について説明します。 - アプリケーション属性を翻訳可能に指定
アプリケーション内のアプリケーション属性を翻訳可能にするベスト・プラクティスについて学習します。
親トピック: アプリケーションのグローバリゼーションの管理
22.1.1 翻訳プロセスについて
アプリケーション・ビルダーで構築したアプリケーションの翻訳について学習します。
一般的に、アプリケーション・ビルダーで構築したアプリケーションの翻訳は、次のようなステップになります。
-
ステップ1: アプリケーション言語の定義 - ターゲット・プライマリとターゲット・アプリケーションの言語を特定するマッピングを作成します。
-
ステップ2: 翻訳ファイルへのシードおよびダウンロード - 翻訳表をシードして、翻訳テキストを翻訳ファイルにエクスポートします。翻訳のシードにより、すべての翻訳可能なテキストが翻訳テキスト・リポジトリにコピーされます。言語を指定して翻訳テキストをシードした後で、翻訳用のXLIFFファイルを生成してエクスポートします。
-
ステップ3: XLIFFファイルの翻訳 - 翻訳用のXLIFFファイルをダウンロードするか、手動で翻訳リポジトリを編集します。
-
ステップ4: 翻訳済XLIFFドキュメントのアップロードおよび適用 - 翻訳済テキストが含まれたXLIFFファイルをアップロードして、翻訳テキスト・リポジトリに翻訳内容を適用します。
-
ステップ5: アプリケーションのパブリッシュ - 翻訳したアプリケーションをユーザーが使用できるようにします。
ヒント:
詳細は、「翻訳プロセスの理解」で説明した翻訳のステップを参照してください。22.1.2 言語の指定について
APEXエンジンがアプリケーション言語を決定する方法について説明します。
アプリケーションの作成後に、「アプリケーションのプライマリ言語」属性を編集して、言語プリファレンスを指定します。「グローバリゼーション」の属性では、APEXエンジンによるアプリケーション言語の決定方法を制御します。アプリケーションのプライマリ言語は静的にすることも、Webブラウザ言語から導出したり、ユーザー・プリファレンスやアイテムから特定することもできます。
ヒント:
詳細は、「アプリケーションのプライマリ言語の指定」を参照してください22.1.3 アプリケーションの翻訳ルールについて
アプリケーションの翻訳ルールについて説明します。
次のルールを使用して、使用する翻訳のバージョンを決定します。
-
ユーザーの言語プリファレンスに完全一致する言語コードの翻訳済アプリケーションを検索します。
-
部分一致を検索します。つまり、言語およびロケールが存在するかどうかを確認します。たとえば、ユーザーの言語プリファレンスが
en-us
で、en-us
の翻訳済バージョンが存在しない場合は、言語コードがen
の翻訳済アプリケーションを検索します。 -
アプリケーションのプライマリ言語を使用します。
たとえば、プライマリ言語がドイツ語(de
)のアプリケーションを作成し、言語コードがen-us
の翻訳バージョンを作成すると想定します。ユーザーがブラウザ言語en-us
を使用してこのアプリケーションにアクセスすると、英語(en-us
)バージョンのアプリケーションが実行されます。ユーザーがブラウザ言語en-gb
を使用してこのアプリケーションにアクセスすると、アプリケーションがプライマリ言語(つまりドイツ語)で表示されます。この例では、en
のすべてのバリエーションに対応するために、言語コードen
を使用して英語の翻訳バージョンを作成する必要があります。
22.1.4 翻訳済アプリケーションのレンダリング方法
翻訳済アプリケーションのAPEXによるレンダリング方法について説明します。
APEXがアプリケーションの言語を決定した後、APEXエンジンは、特定のページ・リクエストに対してデータベース言語を変更します。その後、適切な言語に翻訳されたアプリケーションを検索します。APEXエンジンはその言語を検出すると、その定義を使用してアプリケーションをレンダリングします。それ以外の場合は、ベース(プライマリ)のアプリケーション言語でアプリケーションをレンダリングします。
アプリケーション内に表示されるテキストは、すぐには翻訳されないことに注意してください。APEXは、ベース言語アプリケーション定義または代替アプリケーション定義のいずれかから動的にページ属性を収集します。
22.1.5 アプリケーション属性を翻訳可能に指定
アプリケーション内のアプリケーション属性を翻訳可能にするベスト・プラクティスについて学習します。
アプリケーション・ビルダーでアプリケーションを作成する際、フィールド・ラベル、リージョン・ヘッダー、ページ・ヘッダー・テキストなど、多数の宣言的な属性を定義します。
- メッセージの翻訳をサポートするショートカットについて
メッセージの翻訳をサポートするショートカットについて説明します。 - メッセージについて
メッセージについて説明します。 - テキスト文字列の動的翻訳について
テキスト文字列の動的翻訳について説明します。 - リージョンを翻訳不可に指定
リージョンを翻訳不可に指定する方法について説明します。 - テンプレートを翻訳可能として指定
テンプレートを翻訳可能として指定する方法について説明します。
22.1.5.1 メッセージの言語変換をサポートするショートカットについて
メッセージの翻訳をサポートするショートカットについて説明します。
アプリケーション・ビルダーには、翻訳可能なメッセージを参照できる2つのタイプのショートカットがあります。
-
メッセージ。このショートカットを使用して、実行時に変換可能なメッセージを参照します。ショートカット名は、対応するメッセージ名と一致させる必要があります。実行時、ショートカット名は、現在の言語に翻訳可能なメッセージのテキストに展開されます。
-
JavaScriptにより一重引用符がエスケープされたメッセージ:このショートカットを使用し、JavaScriptリテラル文字列内部のショートカットを参照し、実行時に翻訳可能なメッセージを参照します。このショートカットは、テキスト文字列を定義します。ショートカットが参照されると、JavaScriptに必要な一重引用符がエスケープされます。
関連項目:
親トピック: アプリケーション属性を翻訳可能に指定
22.1.5.2 メッセージについて
メッセージについて説明します。
アプリケーションにPL/SQLリージョンまたはPL/SQLプロセスが含まれている場合には、生成されるHTMLまたはテキストを翻訳する必要があります。また、APEXが翻訳されている10言語以外の言語をアプリケーションで使用する場合、レポートで使用されるメッセージの翻訳が必要な場合もあります。
関連項目:
親トピック: アプリケーション属性を翻訳可能に指定
22.1.5.3 テキスト文字列の動的翻訳について
テキスト文字列の動的翻訳について説明します。
動的翻訳は、実行時に翻訳する必要があるデータベース・データに使用します。たとえば、動的翻訳を使用して、データベース問合せに基づくLOVを翻訳する場合があります。動的翻訳は、翻訳元の言語文字列、言語コードおよび翻訳先の文字列で構成されています。また、APEX_LANG.LANG
APIを使用して、動的翻訳をプログラム的に取得できます。
関連項目:
親トピック: アプリケーション属性を翻訳可能に指定
22.1.5.4 リージョンを翻訳不可に指定
リージョンを翻訳不可に指定する方法について説明します。
デフォルトでは、ページ・リージョン・タイトルは、生成された翻訳ファイルに含まれます。ただし、リージョン・タイトルは、翻訳不可と指定できます。
リージョン・タイトルを翻訳不可と指定するには:
親トピック: アプリケーション属性を翻訳可能に指定
22.1.5.5 テンプレートを翻訳可能として指定
テンプレートを翻訳可能として指定する方法について説明します。
テンプレートを翻訳可能として指定するには:
関連項目:
親トピック: アプリケーション属性を翻訳可能に指定