このセクションでは、アプリケーション・ビルダーで構築されたアプリケーションを言語変換する方法について説明します。
内容は次のとおりです。
アプリケーション・ビルダーでは、同時に複数の言語で実行可能なアプリケーションを開発できます。 単一のOracleデータベース・インスタンスとOracle Application Expressで、異なる言語で実行するようにカスタマイズされた複数のデータベース・セッションをサポートできます。
通常、アプリケーション・ビルダーで構築されたアプリケーションを言語変換するには、次のステップを実行します。
プライマリおよびターゲットのアプリケーションIDをマップします。
言語変換ファイルにテキストをシードおよびエクスポートします。
テキストをファイルに言語変換します。
言語変換済ファイルを適用します。
言語変換済ファイルを公開します。
このセクションの内容は次のとおりです。
アプリケーションの作成後、「グローバリゼーション属性の編集」ページで言語プリファレンスを指定します。 「グローバリゼーション属性の編集」ページで、アプリケーションのプライマリ言語を選択し、Application Expressエンジンでアプリケーション言語を決定する方法を指定します。ユーザーのブラウザの言語プリファレンス、アプリケーションのプリファレンスまたはアイテムのプリファレンスに基づいてアプリケーション言語を指定できます。
使用する言語変換バージョンを指定する場合は、次の規則を使用します。
ユーザーの言語プリファレンスに完全一致する言語コードの言語変換済アプリケーションが検索されます。
ユーザーの言語プリファレンスに部分一致する言語コードの言語変換済アプリケーションが検索されます。このためには、言語およびロケールの存在が確認されます。 たとえば、ユーザー言語プリファレンスが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は、ベース言語アプリケーション定義または代替アプリケーション定義のいずれかから動的にページ属性を収集します。
アプリケーション・ビルダーでアプリケーションを作成する際、フィールド・ラベル、リージョン・ヘッダー、ページ・ヘッダー・テキストなど、多数の宣言的な属性を定義します。このセクションで説明するステップを使用して、アプリケーション内のすべてのアプリケーション定義属性を言語変換可能にできます。
アプリケーション・ビルダーには、 言語変換可能なメッセージを参照できる、2つのショートカット・タイプがあります。
メッセージ: 言語変換可能なメッセージを実行時に参照するには、このショートカットを使用します。ショートカット名は、対応するメッセージ名と一致させる必要があります。実行時、ショートカット名は、現在の言語に変換可能なメッセージのテキストに拡張されます。
JavaScriptにより一重引用符がエスケープされたメッセージ: このショートカットを使用して、JavaScriptリテラル文字列内部のショートカットを参照し、実行時に変換可能なメッセージを参照します。このショートカットは、テキスト文字列を定義します。ショートカットが参照されると、JavaScriptに必要な一重引用符がエスケープされます。
アプリケーションにPL/SQLリージョンまたはPL/SQLプロセスが含まれる場合は、生成されたHTMLまたはテキストを言語変換する必要があります。 Oracle Application Expressが言語変換される10言語のいずれでもない言語をアプリケーションで使用する場合は、レポートで使用されるメッセージも言語変換する必要があります。
動的言語変換は、実行時に言語変換する必要があるデータベース・データに使用されます。たとえば、動的言語変換を使用して、データベース問合せに基づくLOVを言語変換する場合があります。 動的言語変換は、言語変換元の言語文字列、言語コードおよび言語変換先の文字列で構成されています。 また、APEX_LANG.LANG
APIを使用して、動的言語変換をプログラム的に取得できます。
デフォルトでは、ページ・リージョン・タイトルは、生成された言語変換ファイルに含まれます。ただし、リージョン・タイトルは、言語変換不可と指定できます。
リージョン・タイトルを言語変換不可と指定するには、次のステップを実行します。
「ページ定義」にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
「ページ定義」が表示されます。
「ページ定義」で、リージョン・タイトルをクリックします。
「リージョンの編集」ページが表示されます。
「タイトルを言語変換から除外」チェック・ボックスを選択します。
デフォルトでは、テンプレートは言語変換可能ではないため、生成された言語変換ファイルには含まれません。通常、テンプレートには言語変換可能なテキストを含めません。 ただし、テンプレートを言語変換可能として指定する必要がある場合は、「ページ・テンプレートの編集」ページで、「翻訳可能」チェック・ボックスを選択します。
テンプレートを言語変換可能として指定するには、次のステップを実行します。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「アプリケーション」ホームページで、「共有コンポーネント」をクリックします。
「ユーザー・インタフェース」で、「テンプレート」を選択します。
「テンプレート」ページが表示されます。
編集するテンプレートを検索して、テンプレート名を選択します。
「名前」で、「翻訳可能」を選択します。
静的置換文字列を使用して言語変換可能なテキストを定義することで、言語変換可能なテキストをアプリケーション・レベルで含めることができます。 アプリケーション・レベル属性は変換されるため、静的置換文字列として定義された任意のテキストは、生成された言語変換ファイルに含められます。
グローバリゼーション属性は、Application Expressエンジンによるアプリケーションのプライマリ言語の決定方法を指定します。
グローバリゼーション属性を編集するには、次のステップを実行します。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「属性の編集」をクリックします。
「グローバリゼーション」をクリックします。
「アプリケーションのプライマリ言語」から、アプリケーションが開発されている言語を選択します。
「アプリケーション言語の派生元」から、Application Expressエンジンによるアプリケーション言語の決定(派生)方法を指定します。 表14-1に、使用可能なオプションを示します。
表14-1 アプリケーション言語の派生元オプション
オプション | 説明 |
---|---|
NLSなし(アプリケーションは翻訳されない) |
このオプションは、アプリケーションが言語変換されない場合に選択します。 |
アプリケーションのプライマリ言語を使用 |
アプリケーションのプライマリ言語属性に基づいて、アプリケーションのプライマリ言語を決定します。 (ステップ5を参照。) |
ブラウザ(ブラウザの言語プリファレンスを使用) |
ユーザーのブラウザの言語プリファレンスに基づいて、アプリケーションのプライマリ言語を決定します。 |
アプリケーション・プリファレンス(FSP_LANGUAGE_PREFERENCEを使用) |
|
アイテム・プリファレンス(プリファレンスを含むアイテムを使用) |
|
Application Expressエンジンは、レンダリングされた各ページにグローバリゼーション設定を適用します。デフォルトの動作は、数字や日付などの特定のアイテムの表示に影響する可能性があります。
たとえば、ユーザーのブラウザの言語プリファレンスに基づいて、アプリケーション言語を決定するとします。 Application Expressエンジンが、ユーザーのブラウザの言語プリファレンスをフランス語と決定した場合、日付および数字は、フランス語の標準に合わせた書式で表示されます。書式マスクを適用することによって、このデフォルトの動作をオーバーライドし、アイテムの表示方法を明示的に制御できます。「表示形式」リストから選択して、書式マスクを適用します。
アイテム作成時
アイテム属性を編集してアイテムを作成した後
次に、ソース・タイプが「データベース列」のアイテムのアイテム属性を編集する方法について説明します。
アイテム属性を編集するには、次のステップを実行します。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
「ページ定義」が表示されます。
「アイテム」で、アイテム名を選択します。
「ページ・アイテムの編集」ページが表示されます。
「名前」で、「表示形式」リストから選択を行います。
「ソース」で、書式マスクを選択または入力します。
アプリケーション・ビルダーで開発されたアプリケーションを言語変換するには、プライマリ言語とターゲット言語をマップし、言語変換ファイルにテキストをシードおよびエクスポートした後、テキストを言語変換して、言語変換ファイルを適用し、言語変換済ファイルを公開する必要があります。
このセクションの内容は次のとおりです。
アプリケーションの言語変換の最初のステップは、プライマリおよびターゲットのアプリケーション言語をマップするステップです。プライマリ・アプリケーションは、言語変換されるアプリケーションです。ターゲット・アプリケーションは、言語変換された結果のアプリケーションです。
プライマリおよびターゲットのアプリケーション言語をマップするには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
「グローバリゼーション」で、「アプリケーションの翻訳」をクリックします。
「アプリケーションの翻訳」ページが表示されます。
「翻訳されたアプリケーションIDにプライマリ言語アプリケーションをマップ」をクリックします。
「アプリケーション・マッピング」ページが表示されます。
「作成」をクリックします。
「翻訳アプリケーション・マッピング」ページで、次の選択を行います。
言語変換アプリケーション: ターゲット・アプリケーションを識別する数値のアプリケーションIDを入力します。言語変換済アプリケーションIDは整数である必要があり、0(ゼロ)以外の整数で終了する必要があります。
言語変換アプリケーション言語コード: 言語変換結果となる言語を選択します。
イメージ・ディレクトリ: イメージの取得元のディレクトリを入力します。
この属性は、言語変換されたイメージの仮想パスを指定します。 たとえばプライマリ言語アプリケーションのイメージ接頭辞が'/images/'
の場合、ドイツ語には'/images/de/'
、スペイン語には'/images/es/'
のように、その他の言語の仮想ディレクトリを追加で定義できます。
「作成」をクリックします。
2番目のステップでは、言語変換表をシードし、言語変換テキストを言語変換ファイルにエクスポートします。
このセクションの内容は次のとおりです。
言語変換のシードでは、言語変換可能なすべてのテキストを言語変換テキスト・リポジトリにコピーします。 言語を指定し、言語変換テキストをシードした後、言語変換用のXLIFFファイルを生成し、エクスポートできます。
シード・プロセスでは、プライマリ言語アプリケーションと言語変換テキスト・リポジトリの同期がとられます。プライマリ言語アプリケーションを変更するたびに、シード・プロセスを実行する必要があります。
言語変換可能なテキストをシードするには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
「グローバリゼーション」で、「アプリケーションの翻訳」をクリックします。
「アプリケーションの翻訳」ページが表示されます。
「アプリケーションの翻訳」ページで、「アプリケーションの翻訳テキストを翻訳ファイルにシードおよびエクスポート」を選択します。
「言語マッピング」から、適切なプライマリおよびターゲットのアプリケーションIDマップを選択します。
「翻訳可能なテキストのシード」をクリックします。
「XLIFFのエクスポート」ページが表示されます。
注意: XLIFF(XML Localization Interchange File Format)は、ローカリゼーション・データを変換するためのXMLベースのフォーマットです。 XLIFFについて、またはXLIFF仕様を確認するには、次のURLを参照してください。
|
言語変換可能なテキストをシードした後は、「XLIFFのエクスポート」ページ上部にあるステータス・ボックスに、言語変換が必要な可能性のある属性の合計数が表示されます。この合計数には、次の属性の数が含まれます。
言語変換が必要な可能性のある既存の更新済属性
言語変換が必要な可能性のある新しい属性
言語変換が不要になった削除済属性
この情報を使用して、アプリケーション全体の言語変換可能なテキストをエクスポートするか、特定のページの言語変換可能なテキストをエクスポートするかを判断できます。
「XLIFFのエクスポート」ページは、2つのセクションに分かれています。 アプリケーション全体(すべてのページ、LOV、メッセージなど)の言語変換可能なテキストをエクスポートするには、ページ上部セクションを使用します。特定のページの言語変換可能なテキストをエクスポートするには、後半を使用します。
アプリケーション全体の言語変換可能なテキストをエクスポートするには、次のステップを実行します。
言語変換可能なテキストをシードします。 詳細は、「言語変換可能なテキストのシード」を参照してください。
「XLIFFのエクスポート: ステップ2、XLIFFのエクスポート」で、次のステップを実行します。
「アプリケーション」から、適切なプライマリおよびターゲットのアプリケーションIDマップを選択します。
XLIFFターゲット要素を含めるかどうかを指定します。
「エクスポート」で、XLIFFファイルに含められる言語変換テキストを指定します。
「アプリケーションのXLIFFファイルのエクスポート」をクリックします。
画面に表示されるステップに従います。
特定のページの言語変換可能なテキストをエクスポートするには、次のステップを実行します。
「言語変換可能なテキストのシード」のとおり、言語変換可能なテキストをシードします。
「特定ページのXLIFFのエクスポート」で、次のステップを実行します。
「アプリケーション」から、適切なプライマリおよびターゲットのアプリケーションIDマップを選択します。
XLIFFターゲット要素を含めるかどうかを指定します。
「エクスポート」で、XLIFFファイルに含められる言語変換テキストを指定します。
「ページのXLIFFファイルのエクスポート」をクリックします。
画面に表示されるステップに従います。
言語変換可能なファイルをXLIFFフォーマットにエクスポートした後は、適切な言語に言語変換できます。 XLIFFは、言語変換を行うためのオープン標準のXMLファイルであるため、ほとんどの言語変換ベンダーは、XLIFFをサポートする必要があります。 Oracle Application Expressは、UTF-8キャラクタ・セットでエンコードされたXLIFFファイルのみをサポートしています。つまり、Oracle Application Expressでは、言語変換用のXLIFFファイルはUTF-8でエクスポートされ、言語変換済XLIFFファイルは、同じキャラクタ・セットになります。
言語変換は、時間のかかるタスクです。 Oracle Application Expressでは、アプリケーション開発と言語変換を並行して行えるように、増分的な言語変換をサポートしています。 XLIFFファイルは、ファイルの一部のみが言語変換されている場合でも、言語変換してOracle Application Expressにアップロードできます。 対応する言語変換済アプリケーションに言語変換がない文字列の場合、Oracle Application Expressは、プライマリ言語の対応する文字列を使用します。
言語変換したXLIFFドキュメントを、アップロードして適用します。
このセクションの内容は次のとおりです。
言語変換済XLIFFドキュメントをアップロードするには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
「グローバリゼーション」で、「アプリケーションの翻訳」をクリックします。
「アプリケーションの翻訳」ページが表示されます。
「翻訳ファイルを適用して公開」をクリックします。
「XLIFFのアップロード」をクリックします。
「XLIFFのアップロード」ページで、次のステップを実行します。
タイトルを指定します。
説明を入力します。
「参照」をクリックし、アップロードされるファイルを指定します。
「XLIFFファイルのアップロード」をクリックします。
アップロードされたドキュメントが、XLIFFファイル・リポジトリに表示されます。
XLIFFドキュメントをアップロードした後、そのXLIFFドキュメントを適用して言語変換済アプリケーションを公開します。 XLIFFドキュメントを適用すると、Application Expressエンジンはファイルを解析して、言語変換表を新しい言語変換可能なテキストで更新します。
アプリケーションを公開すると、ベース言語のアプリケーションのコピーが作成され、言語変換表の言語変換されたテキスト文字列が置換されます。その後、この公開されたアプリケーションを使用して、代替言語でアプリケーションをレンダリングできます。
アプリケーションを代替言語で実行するには、代替言語バージョンで表示するようにグローバリゼーション設定を行ってアプリケーションを実行する必要があります。たとえば、言語がブラウザ言語に従う場合は、ブラウザ言語を言語変換済アプリケーションと同じ言語に設定する必要があります。
言語変換済XLIFFドキュメントの適用およびアプリケーションの公開を行うには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
「グローバリゼーション」で、「アプリケーションの翻訳」をクリックします。
「アプリケーションの翻訳」ページが表示されます。
「翻訳ファイルを適用して公開」をクリックします。
XLIFFファイル・リポジトリで、公開するドキュメントの横にある「ビュー」アイコンをクリックします。
「適用」から、適切なプライマリおよびターゲットのアプリケーションIDマップを選択します。
「XLIFF翻訳ファイルの適用」をクリックします。
「アプリケーションのパブリッシュ」をクリックします。
アップロードしたXLIFFドキュメントを削除するには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
「グローバリゼーション」で、「アプリケーションの翻訳」をクリックします。
「アプリケーションの翻訳」ページが表示されます。
「アプリケーションの翻訳」ページで、「翻訳ファイルを適用して公開」を選択します。
XLIFFファイル・リポジトリで、そのドキュメント・タイトルの左のチェック・ボックスを選択します。
「チェックした項目の削除」をクリックします。
アプリケーションが公開された後、言語変換済アプリケーションの有無を確認する必要があります。言語変換済アプリケーションは、「アプリケーション・ビルダー」ホームページの「選択可能なアプリケーション」リストには表示されません。かわりに、そのページの左側のアプリケーション・ナビゲート・リストを使用します。
言語変換済アプリケーションがアプリケーション・ビルダーに表示されるためには、アプリケーションのグローバリゼーション属性が正しく設定されている必要があります。
次の場合、メッセージを変換する必要があることがあります。
アプリケーションにPL/SQLリージョンまたはPL/SQLプロセスが含まれている場合、あるいはアプリケーションでPL/SQLパッケージ、プロシージャまたはファンクションをコールする場合。 この場合、生成されたHTMLを言語変換する必要があることがあります。
Oracle Application Expressが言語変換される10言語のいずれでもない言語をアプリケーションで使用する場合。 この場合、レポートで使用されるメッセージを言語変換する必要があることがあります。
このセクションの内容は次のとおりです。
アプリケーションにPL/SQLリージョンまたはPL/SQLプロセスが含まれる場合、あるいはアプリケーションがPL/SQLパッケージ、プロシージャ、またはファンクションをコールする場合は、生成されたHTMLを言語変換する必要がある場合があります。最初に、「翻訳可能なメッセージ」ページで、各メッセージを定義します。 次に、APEX_LANG
.MESSAGE
APIを使用して、PL/SQLストアド・プロシージャ、ファンクション、トリガーまたはパッケージ化されたプロシージャおよびファンクションのメッセージを言語変換します。
「翻訳可能なメッセージ」ページで、言語変換可能なメッセージを作成します。
新しい言語変換メッセージを定義するには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
「グローバリゼーション」で、「テキスト・メッセージ」をクリックします。
「メッセージの翻訳」ページで、「作成」をクリックします。
「テキスト・メッセージを指定」ページで、次のように指定します。
名前: メッセージを識別するための名前を入力します。
言語: メッセージが使用される言語を選択します。
テキスト: テキスト・メッセージがコールされたときに戻されるテキストを入力します。
たとえば、メッセージGREETING_MSG
を次のように英語で定義できます。
Good morning %0
また、メッセージGREETING_MSG
を次のようにドイツ語で定義できます。
Guten Tag %0
「作成」をクリックします。
PL/SQLストアド・プロシージャ、ファンクション、トリガー、パッケージ化されたプロシージャおよびファンクションから生成されたテキスト文字列(メッセージ)を言語変換するには、APEX_LANG
.MESSAGE
APIを使用します。
構文
APEX_LANG.MESSAGE ( p_name IN VARCHAR2 DEFAULT NULL, p0 IN VARCHAR2 DEFAULT NULL, p1 IN VARCHAR2 DEFAULT NULL, p2 IN VARCHAR2 DEFAULT NULL, ... p9 IN VARCHAR2 DEFAULT NULL, p_lang IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
パラメータ
表14-2に、APEX_LANG
.MESSAGE API
で使用可能なパラメータを示します。
表14-2 APEX_LANG.MESSAGEパラメータ
パラメータ | 説明 |
---|---|
|
Oracle Application Expressで定義されたメッセージの名前。 |
...
|
動的置換値: |
|
取得されるメッセージの言語コード。 指定しない場合、Oracle Application Expressは、アプリケーション言語の派生元属性で定義されているとおり、ユーザーの現行の言語を使用します。 |
例
次の例では、アプリケーションのGREETING_MSG
というメッセージを、英語でGood morning%0
、ドイツ語でGuten Tag%1
と定義したと仮定しています。この例は、PL/SQLからこのメッセージを呼び出す方法を示しています。
BEGIN -- -- Print the greeting -- APEX_LANG.MESSAGE('GREETING_MSG', V('APP_USER')); END;
p_lang
属性の定義は、Application Expressエンジンがアプリケーションのプライマリ言語を導出する方法によって異なります。 たとえば、アプリケーションをドイツ語で実行中に、前回のコールがAPEX_LANG
.MESSAGE
APIに対して行われた場合、Application Expressエンジンは、最初にLANG_CODE
がde
であるGREETING_MSG
というメッセージを検索します。見つからない場合は、アプリケーションのプライマリ言語属性に戻ります。 それでも見つからない場合、Application Expressエンジンは、言語コードがen-us
であるこの名前でメッセージを検索します。
Oracle Application Expressは、ドイツ語、スペイン語、フランス語、イタリア語、日本語、韓国語、ポルトガル語(ブラジル)、簡体字中国語および繁体字中国語に変換できます。 Oracle Application Expressが言語変換される10言語のいずれでもない言語をアプリケーションで使用する場合は、Application Expressレポート・エンジンによって表示されるメッセージを言語変換する必要があります。
たとえば、ロシア語のアプリケーションを開発し、ロシア語のレポート・メッセージ(ページ区切りなど)を含める場合は、レポートに表示されるメッセージで使用される文字列を変換する必要があります。
レポートで使用されるメッセージを言語変換するには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
「グローバリゼーション」で、「テキスト・メッセージ」をクリックします。
「メッセージの翻訳」ページで、「作成」をクリックします。
「テキスト・メッセージを指定」ページで、次のように指定します。
名前: 言語変換する必要がある各レポート・メッセージの名前を入力します。 表14-3を参照してください。
言語: メッセージが使用される言語を選択します。
テキスト: テキスト・メッセージがコールされたときに戻されるテキストを入力します。 英語のテキスト・メッセージにプレースホルダ(%0
、%1
など)が含まれている場合は、定義したメッセージにも同じ名前のプレースホルダが同じ数含まれていることを確認します。
「作成」をクリックします。
表14-3に、言語変換を実行する必要があるレポート・エンジン・メッセージを示します。
表14-3 言語変換を実行する必要があるレポート・エンジン・メッセージ
レポート・メッセージ名 | 英語のテキスト |
---|---|
|
row(s)%0 - %1 of %2 |
|
Minimum row requested: %0, rows found but not displayed: %1 |
|
row(s) %0 - %1 of more than %2 |
|
Next |
|
Next Set |
|
Previous |
|
Previous Set |
|
Total |
|
report total |
|
%0 seconds ago |
|
%0 minutes ago |
|
%0 hours ago |
|
%0 days ago |
|
%0 weeks ago |
|
%0 months ago' |
|
%0 years ago |
|
Sort by this column |
|
Invalid set of rows requested, the source data of the report has been modified |
|
reset pagination |
動的データを言語変換するには、動的言語変換を作成します。たとえば、データベース問合せに基づくLOVで動的言語変換を使用する場合があります。
動的言語変換は、メッセージ名ではなく特定の文字列を問い合せるという点でメッセージとは異なります。動的言語変換は、「動的翻訳」ページで定義します。 その後、APEX_LANG
.LANG
APIを使用して、p_primary_text_string
パラメータで指定された動的言語変換文字列を戻します。
動的言語変換は、「動的翻訳」ページで定義します。 動的言語変換は、言語変換元の言語文字列、言語コードおよび言語変換先の文字列で構成されています。
動的言語変換を定義するには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
「グローバリゼーション」で、「テキスト・メッセージ」をクリックします。
「アプリケーションの翻訳」ページで、「(オプション)SQLに基づくLOVをサポートするために動的に翻訳する必要があるデータを指定」を選択します。
「動的翻訳」ページで、「作成」をクリックし、次の項目を指定します。
言語: ターゲットの言語を選択します。
翻訳元テキスト: 言語変換されるソースのテキストを入力します。
翻訳先: 言語変換後のテキストを入力します。
「作成」をクリックします。
構文
APEX_LANG.LANG ( p_primary_text_string IN VARCHAR2 DEFAULT NULL, p0 IN VARCHAR2 DEFAULT NULL, p1 IN VARCHAR2 DEFAULT NULL, p2 IN VARCHAR2 DEFAULT NULL, ... p9 IN VARCHAR2 DEFAULT NULL, p_primary_language IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
パラメータ
表14-4に、APEX_LANG
.LANG
APIで使用可能なパラメータを示します。
表14-4 APEX_LANG.LANGパラメータ
パラメータ | 説明 |
---|---|
|
プライマリ言語のテキスト文字列。これは、「動的翻訳」の「翻訳元テキスト」の値になります。 |
...
|
動的置換値: |
|
取得されるメッセージの言語コード。 指定しない場合、Oracle Application Expressは、アプリケーション言語の派生元属性で定義されているとおり、ユーザーの現行の言語を使用します。 |
例
すべての1次色を定義する表があるとします。 それぞれの色に動的メッセージを定義し、問合せで定義された値にLANG
ファンクションを適用します。次に例を示します。
SELECT APEX_LANG.LANG(color) FROM my_colors
アプリケーションをドイツ語で実行中に、my_colors
表のcolor列の値がRED
であったとします。赤にドイツ語を定義すると、前述の例では、ROT
が戻されます。
多言語アプリケーションを構築する場合、グローバリゼーション・コードが、アプリケーションの実行方法に与える影響を理解しておくことが重要です。これらのコードは、選択したアプリケーション・レベルのグローバリゼーション属性に基づいて自動的に設定されます。
NLS_LANGUAGE
およびNLS_TERRITORY
によって、数字、日付および通貨のデフォルトの表示形式が決まります。
表14-5に、Oracle Application Expressのグローバリゼーション・コードを示します。
表14-5 Oracle Application Expressのグローバリゼーション・コード
言語名 | 言語コード | NLS_LANGUAGE | NLS_TERRITORY |
---|---|---|---|
アフリカーンス語 |
|
ENGLISH |
SOUTH AFRICA |
アラビア語 |
|
ARABIC |
UNITED ARAB EMIRATES |
アラビア語(アルジェリア) |
|
ARABIC |
ALGERIA |
アラビア語(バーレーン) |
|
ARABIC |
BAHRAIN |
アラビア語(エジプト) |
|
EGYPTIAN |
EGYPT |
アラビア語(イラク) |
|
ARABIC |
IRAQ |
アラビア語(ヨルダン) |
|
ARABIC |
JORDAN |
アラビア語(クウェート) |
|
ARABIC |
KUWAIT |
アラビア語(レバノン) |
|
ARABIC |
LEBANNON |
アラビア語(リビア) |
|
ARABIC |
LIBYA |
アラビア語(モロッコ) |
|
ARABIC |
MOROCCO |
アラビア語(オマーン) |
|
ARABIC |
OMAN |
アラビア語(カタール) |
|
ARABIC |
QATAR |
アラビア語(サウジアラビア) |
|
ARABIC |
SAUDI ARABIA |
アラビア語(シリア) |
|
ARABIC |
SYRIA |
アラビア語(チュニジア) |
|
ARABIC |
TUNISIA |
アラビア語(アラブ首長国連邦) |
|
ARABIC |
UNITED ARAB EMIRATES |
アラビア語(イエメン) |
|
ARABIC |
YEMEN |
アッサム語 |
|
ASSAMESE |
INDIA |
バスク語 |
|
FRENCH |
FRANCE |
ベラルーシ語 |
|
RUSSIAN |
RUSSIA |
ベンガル語 |
|
BANGLA |
BANGLADESH |
ブルガリア語 |
|
BULGARIAN |
BULGARIA |
カタロニア語 |
|
CATALAN |
CATALONIA |
中国語 |
|
SIMPLIFIED CHINESE |
CHINA |
中国語(中国) |
|
SIMPLIFIED CHINESE |
CHINA |
中国語(香港SAR) |
|
TRADITIONAL CHINESE |
HONG KONG |
中国語(マカオSAR) |
|
TRADITIONAL CHINESE |
HONG KONG |
中国語(シンガポール) |
|
SIMPLIFIED CHINESE |
SINGAPORE |
中国語(台湾) |
|
TRADITIONAL CHINESE |
TAIWAN |
クロアチア語 |
|
CROATIAN |
CROATIA |
チェコ語 |
|
CZECH |
CZECH REPUBLIC |
デンマーク語 |
|
DANISH |
DENMARK |
オランダ語(ベルギー) |
|
DUTCH |
BELGIUM |
オランダ語(オランダ) |
|
DUTCH |
THE NETHERLANDS |
英語 |
|
AMERICAN |
AMERICA |
英語(オーストラリア) |
|
ENGLISH |
AUSTRALIA |
英語(ベリーズ) |
|
ENGLISH |
UNITED KINGDOM |
英語(カナダ) |
|
ENGLISH |
CANADA |
英語(アイルランド) |
|
ENGLISH |
IRELAND |
英語(ジャマイカ) |
|
ENGLISH |
UNITED KINGDOM |
英語(ニュージーランド) |
|
ENGLISH |
NEW ZEALAND |
英語(フィリピン) |
|
ENGLISH |
PHILIPPINES |
英語(南アフリカ) |
|
ENGLISH |
SOUTH AFRICA |
英語(トリニダード) |
|
ENGLISH |
UNITED KINGDOM |
英語(イギリス) |
|
ENGLISH |
UNITED KINGDOM |
英語(米国) |
|
AMERICAN |
AMERICA |
英語(ジンバブエ) |
|
ENGLISH |
UNITED KINGDOM |
エストニア語 |
|
ESTONIAN |
ESTONIA |
フェロー語 |
|
ENGLISH |
UNITED KINGDOM |
ペルシア語 |
|
ENGLISH |
UNITED KINGDOM |
フィンランド語 |
|
FINNISH |
FINLAND |
フランス語(ベルギー) |
|
FRENCH |
BELGIUM |
フランス語(カナダ) |
|
CANADIAN FRENCH |
CANADA |
フランス語(フランス) |
|
FRENCH |
FRANCE |
フランス語(ルクセンブルグ) |
|
FRENCH |
LUXEMBOURG |
フランス語(モナコ) |
|
FRENCH |
FRANCE |
フランス語(スイス) |
|
FRENCH |
SWITZERLAND |
FYROマケドニア語 |
|
MACEDONIAN |
FYR MACEDONIA |
ゲール語 |
|
ENGLISH |
UNITED KINGDOM |
ガリシア語 |
|
SPANISH |
SPAIN |
ドイツ語(オーストリア) |
|
GERMAN |
AUSTRIA |
ドイツ語(ドイツ) |
|
GERMAN |
GERMANY |
ドイツ語(リヒテンシュタイン) |
|
GERMAN |
GERMANY |
ドイツ語(ルクセンブルグ) |
|
GERMAN |
LUXEMBOURG |
ドイツ語(スイス) |
|
GERMAN |
SWITZERLAND |
ギリシャ語 |
|
GREEK |
GREECE |
グジャラト語 |
|
GUJARATI |
INDIA |
ヘブライ語 |
|
HEBREW |
ISRAEL |
ヒンディー語 |
|
HINDI |
INDIA |
ハンガリー語 |
|
HUNGARIAN |
HUNGARY |
アイスランド語 |
|
ICELANDIC |
ICELAND |
インドネシア語 |
|
INDONESIAN |
INDONESIA |
イタリア語(イタリア) |
|
ITALIAN |
ITALY |
イタリア語(スイス) |
|
ITALIAN |
SWITZERLAND |
日本語 |
|
JAPANESE |
JAPAN |
カンナダ語 |
|
KANNADA |
INDIA |
カザフ語 |
|
CYRILLIC KAZAKH |
KAZAKHSTAN |
コンカニ語 |
|
KOREAN |
KOREA |
韓国語 |
|
KOREAN |
KOREA |
キルギス語 |
|
RUSSIAN |
RUSSIA |
ラトビア語 |
|
LATVIAN |
LATVIA |
リトアニア語 |
|
LITHUANIAN |
LITHUANIANA |
マラヤーラム語(マレーシア) |
|
MALAY |
MALAYSIA |
マラヤーラム語 |
|
MALAYALAM |
INDIA |
マルタ語 |
|
ENGLISH |
UNITED KINGDOM |
マラーティー語 |
|
ENGLISH |
INDIA |
ネパール語(インド) |
|
ENGLISH |
UNITED KINGDOM |
ノルウェー語(ブークモール) |
|
NORWEGIAN |
NORWAY |
ノルウェー語(ブークモール) |
|
NORWEGIAN |
NORWAY |
ノルウェー語(ニーノシュク) |
|
NORWEGIAN |
NORWAY |
オリヤー語 |
|
ORIYA |
INDIA |
ポーランド語 |
|
POLISH |
POLAND |
ポルトガル語(ブラジル) |
|
BRAZILIAN PORTUGUESE |
BRAZIL |
ポルトガル語(ポルトガル) |
|
PORTUGUESE |
PORTUGAL |
パンジャブ語 |
|
PUNJABI |
INDIA |
ルーマニア語 |
|
ROMANIAN |
ROMANIA |
ロシア語 |
|
RUSSIAN |
RUSSIA |
ロシア語(モルドバ) |
|
RUSSIAN |
RUSSIA |
セルビア語 |
|
CYRILLIC SERBIAN |
SERBIA AND MONTENEGRO |
スロバキア語 |
|
SLOVAK |
SLOVAKIA |
スロベニア語 |
|
SLOVENIAN |
SLOVENIA |
スペイン語(アルゼンチン) |
|
LATIN AMERICAN SPANISH |
ARGENTINA |
スペイン語(ボリビア) |
|
LATIN AMERICAN SPANISH |
ARGENTINA |
スペイン語(チリ) |
|
LATIN AMERICAN SPANISH |
CHILE |
スペイン語(コロンビア) |
|
LATIN AMERICAN SPANISH |
COLUMBIA |
スペイン語(コスタリカ) |
|
LATIN AMERICAN SPANISH |
COSTA RICA |
スペイン語(ドミニカ共和国) |
|
LATIN AMERICAN SPANISH |
PUERTO RICO |
スペイン語(エクアドル) |
|
LATIN AMERICAN SPANISH |
ECUDOR |
スペイン語(エルサルバドル) |
|
LATIN AMERICAN SPANISH |
EL SALVADOR |
スペイン語(グアテマラ) |
|
LATIN AMERICAN SPANISH |
GUATEMALA |
スペイン語(ホンジュラス) |
|
LATIN AMERICAN SPANISH |
GUATEMALA |
スペイン語(メキシコ) |
|
MEXICAN SPANISH |
MEXICO |
スペイン語(ニカラグア) |
|
LATIN AMERICAN SPANISH |
NICARAGUA |
スペイン語(パナマ) |
|
LATIN AMERICAN SPANISH |
PANAMA |
スペイン語(パラグアイ) |
|
LATIN AMERICAN SPANISH |
ARGENTINA |
スペイン語(ペルー) |
|
LATIN AMERICAN SPANISH |
PERU |
スペイン語(プエルトリコ) |
|
LATIN AMERICAN SPANISH |
PUERTO RICO |
スペイン語(標準) |
|
LATIN AMERICAN SPANISH |
SPAIN |
スペイン語(米国) |
|
LATIN AMERICAN SPANISH |
AMERICAN |
スペイン語(ウルグアイ) |
|
LATIN AMERICAN SPANISH |
ARGENTINA |
スペイン語(ベネズエラ) |
|
LATIN AMERICAN SPANISH |
VENEZUELA |
スウェーデン語 |
|
SWEDISH |
SWEDEN |
スウェーデン語 |
|
SWEDISH |
FINLAND |
タミル語 |
|
TAMIL |
INDIA |
テルグ語 |
|
TELUGU |
INDIA |
タイ語 |
|
THAI |
THAILAND |
トルコ語 |
|
TURKISH |
TURKEY |
ウクライナ語 |
|
UKRAINIAN |
UKRAINE |
ウルドゥー語 |
|
ENGLISH |
UNITED KINGDOM |
ウズベク語 |
|
LATIN UZBEK |
UZBEKISTAN |
ベトナム語 |
|
VIETNAMESE |
VIETNAM |
ズールー語 |
|
ENGLISH |
UNITED KINGDOM |