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