Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド 12c (12.2.1.3.0) E90019-04 |
|
![]() 前 |
![]() 次 |
この章の内容は次のとおりです。
ローカライズとは、Oracle Business Intelligenceのデプロイメントを特定の言語に対応させるプロセスを指します。
ユーザーが英語以外の言語を話す場合は、ローカライズに関する情報を使用して、複数言語をサポートするようにデプロイメントを構成します。
サポートされる言語の詳細は、「システム要件と動作保証」を参照してください。
インタフェースのいくつかの領域は、ユーザーのネイティブ言語に翻訳されています。
英語以外の言語に翻訳されているOracle Business Intelligenceのコンポーネントを次に示します。
インストーラ
Webユーザー・インタフェース
Oracle BIスケジューラのジョブ・マネージャ・インタフェース
カタログ・マネージャ
Oracle BIプレゼンテーション・サービスのメッセージ:
error
warning
information
Oracle BIサーバーの関数:
DayName
MonthName
注意:
DayName関数またはMonthName関数を使用して問合せを発行しても、その関数がバックエンド・データベースに転送されない場合、日または月の名前はローカライズされた言語で戻されますが、列名は英語のままになります(または他のローカライズ制御の影響を受ける場合があります)。この例として、LOCALEパラメータがGermanに設定されている場合のMonthName問合せでは、文字列Maiが戻されますが、列ヘッダーはName of Monthのままです。Oracle BIサーバーおよびOracle BIスケジューラのメッセージ:
error
warning
information
ログ・ファイル:
Oracle BIサーバーのnqserver.log
Oracle BIサーバーのnqquery.log
Oracle BIサーバー・クラスタのnQCluster.log (クラスタリングが有効な場合)
メタデータ:
ダッシュボードおよび分析(Oracle BIプレゼンテーション・カタログ)
プレゼンテーションの表および列の名前(.rpdファイル)
Oracle BI管理ツールのインタフェース
ODBCの設定
次のリストは、ローカライズされていないOracle Business Intelligenceのコンポーネントを示しています。
ODBCクライアント・ツール:
nqcmd (UNIX)
nqcmd.exe (Windows)
nqclient.exe (Windows)
Oracle WebLogic Server管理コンソールやFusion Middleware Controlなど、数多くのOracle Fusion Middlewareコンポーネントが翻訳されています。詳細は、Oracle Fusion Middlewareのドキュメントを参照してください。
管理者として、Oracle BIプレゼンテーション・サービスをローカライズするための各種タスクを実行します。
内容は次のとおりです。
ユーザーが英語以外の言語を使用する場合は、Oracle BIプレゼンテーション・サービスのユーザー・インタフェースをローカライズできます。
ユーザーは、Oracle BI EEのサインイン・ページで言語を選択できます。これにより、ユーザー・インタフェースの多くの要素が適切な言語で自動的に表示されます。サイン・イン後、ユーザーは、「マイ・アカウント」ダイアログの「プリファレンス」タブで言語設定を変更できます。
ユーザーの設定はWEBLANGUAGEセッション変数に保存されます。Oracle BIプレゼンテーション・サービスのユーザー・インタフェースでは、ユーザーがサインイン・ページで言語を選択したときにWEBLANGUAGEが設定されます。
注意:
Oracle BIアプリケーションでは、ユーザーの初回ログイン時にWEBLANGUAGEがブラウザの言語に設定されます。たとえば、言語がフランス語に設定されているブラウザを使用してOracle BIアプリケーションに初めてログインすると、WEBLANGUAGEの値はFrenchになり、メタデータはフランス語に翻訳されます。
次の各項の説明に従い、管理者として、Oracle BIプレゼンテーション・サービスのユーザー・インタフェースの他の要素をローカライズするための各種タスクを実行します。
Oracle BI EEは、ユーザー・インタフェースの各要素およびメッセージを制御する多くのファイルとともにインストールされます。
これらのファイルは、ORACLE_HOME/bi/bifoundation/web/msgdb
ディレクトリのmessagesサブディレクトリおよびpagesサブディレクトリにインストールされます。これらの要素およびメッセージをローカライズするには、それらのファイルをSDD/service_instances/service1/metadata/content/msgdb/l_xx
のl_xxサブディレクトリにコピーします。
SDDはシングルトン・データ・ディレクトリで、_xxは言語拡張子を示します。「Oracle Business Intelligenceの主なディレクトリ」を参照してください。ファイルをコピーしたら、コピー先のサブディレクトリに対応する言語に合せてコンテンツを変更できます。
優先通貨に関連付けられたメッセージをローカライズできます。
ユーザーの優先通貨の使用の詳細は、「静的マッピングを使用したユーザーの優先通貨オプションの定義」を参照してください。
Oracle BI EEで、適切にローカライズされたテキストがユーザーに表示されます。この例では、表示されるテキストはMy Currency Text 1です。
ユーザーに表示される言語を変更するには、ユーザーのブラウザに指定されている言語をオーバーライドします。
プレゼンテーション・サービスのサインイン・ページの表示に使用されるデフォルト言語は、ユーザーのクライアント・ブラウザの設定から取得されます。次の手順は、この言語を変更する方法について説明しています。
注意:
次の手順では、例としてInternet Explorer 7.0を使用しています。別のブラウザを使用する場合は、必要に応じて内容を置き換えてください。サインイン・ページでユーザーが使用できる言語およびロケールを構成できます。
この機能は、ユーザーがアクセスできる言語およびロケールの数を制限する場合に便利です。instanceconfig.xmlファイルのAllowedLanguages要素およびAllowedLocales要素によって、使用できる言語およびロケールを指定します。
開始前に構成ファイル内の情報を理解しているか確認します。
プレゼンテーション・サービスでは、パフォーマンス・タイルを使用して、上位レベルの集計データの1つに関心を集めることができます。
タイルには、1,000,000のような数字を含めることも、たとえば1Mのように、インジケータを使用した値の「圧縮」または「スケーリング」を指定することもできます。
数字をスケーリングするために、プレゼンテーション・サービスでは現在のロケールで使用可能なスケール変更係数を検索して、数字を処理し、そのインジケータの値を追加します。現在のロケールでスケール変更係数が定義されていない場合、スケーリングは適用されません。数字のスケーリングは言語によって異なるため、次の手順の説明に従って、localedefinitions.xmlファイルを手動で編集してスケーリングを制御できます。
『Oracle Business Intelligence Enterprise Editionユーザーズ・ガイド』のパフォーマンス・タイル・ビューの編集に関する項を参照してください。
ユーザーは、サインイン・ページを表示してOracle BI EEを起動するとき、サインイン・プロセスの一部として言語を選択できます。
ユーザーは「マイ・アカウント」ダイアログの「プリファレンス」タブで言語を選択することもできます。
ダッシュボードまたはアプリケーションの他のページを表示するURLをユーザーに提供する場合、URLパラメータをプロファイル属性として定義できます。これにより、アプリケーションの言語設定と一致するように、ダッシュボードおよび分析の言語が動的に設定されます。
運用アプリケーションでは、シンボリックURLによって統合環境内のダッシュボードおよび分析が組み込まれます。Oracle BIプレゼンテーション・サービスの場合、URLパラメータLangによってWebページのレンダリングで使用される言語が指定されます。
Langパラメータは、Oracle Business Intelligenceに接続する運用アプリケーションで定義されたシンボリックURLに含めることができます。Langパラメータはプロファイル属性として定義されますが、シンボリックURLが実行時に作成される場合は、プロファイル属性のLanguageCodeが値として設定されます。次の表に、Langを含む、シンボリックURLパラメータ・アプレットのパラメータ設定の例を示します。
たとえば次のURLでは、サインイン・ページがフランス語で表示されます。
http://Server_Name:port_number/analytics/saw.dll?Dashboard&Lang=fr
名前 | タイプ | Path引数の値 | 追加 | シーケンス番号 |
---|---|---|---|---|
Cmd |
定数 |
Go |
Y |
1 |
Path |
定数 |
/shared/Sales/Pipeline/Overview/Top 10 Deals |
Y |
2 |
nQUser |
コマンド |
UseLoginId |
Y |
3 |
nQPassword |
コマンド |
UseLoginPassword |
Y |
4 |
PostRequest |
コマンド |
PostRequest |
Y |
5 |
Lang |
プロファイル属性 |
LanguageCode |
Y |
6 |
Oracle BIプレゼンテーション・カタログには、分析およびダッシュボードなど、ユーザーが作成するオブジェクトが格納されます。これらのオブジェクトの名前および説明はテキスト文字列に保持されます。
オブジェクトのテキスト文字列をローカライズする必要がある場合は、翻訳するために、カタログからテキスト文字列をエクスポートします。その後、文字列を翻訳して公開します。
この項では、キャプションをローカライズするステップについて説明します。
エクスポート・プロセスでは、順番に行う必要がある一連のステップが必要となります。
エクスポート・プロセスでは、共有フォルダ内の第1レベルのサブフォルダそれぞれに対してXMLファイルが1つ作成されます。このファイル名の形式はfoldername captions.xmlで、foldernameは共有フォルダ内のサブフォルダの名前を表します。各XMLファイルには、対応する第1レベル・フォルダおよびそのサブフォルダ内にあるすべてのコンテンツのテキスト文字列が含まれます。
たとえば、プレゼンテーション・カタログの共有フォルダにMarketing、ServiceおよびSalesという第1レベル・フォルダが含まれている場合は、エクスポート・プロセスによって次の3つのXMLファイルが作成されます。
marketingcaptions.xml
salescaptions.xml
servicecaptions.xml
コンテンツを翻訳した後、これらのフォルダを次のディレクトリ内の対応する場所に配置します。
SDD/service_instances/service1/metadata/content/msgdb/l_xx/captions
SDDはDOMAIN_HOME/bidata
などのシングルトン・データ・ディレクトリです(「Oracle Business Intelligenceの主なディレクトリ」を参照)。
エクスポート・プロセスでは、新しいXMLファイルが生成されるだけでなく、カタログが変更され、各オブジェクトの適切なメッセージIDが挿入されます。プレゼンテーション・サービスでは、これらのメッセージIDによって新しい翻訳済テキストが特定されます。
補助(拡張Unicode)文字を含む名前を持つフォルダをエクスポートする場合、エラーが発生する可能性があることに注意してください。
エクスポート・プロセスが完了したら、出力XMLファイルをローカライズ・チームに配信します。
XMLファイルを編集する場合は、XMLファイル用に設計されたエディタを使用します。XMLファイルの上部に指定されているエンコーディングに従うこと、および必要に応じて特殊文字をエスケープすることに注意してください。管理者およびローカライズ・チームのスタッフが、翻訳済テキスト文字列に関するエラーを解決する責任者です。オブジェクトが追加、削除または変更された場合は、常に、カタログのコンテンツが最新であることを確認します。
翻訳対象言語ごとに、すべての出力ファイルのコピーを作成できます。
最初の図は、エクスポートされたキャプションXMLファイルの翻訳前の抜粋です。ファイル名はmyfoldercaptions.xmlです。2番目の図は翻訳後のファイルからの抜粋です。ファイル名はmyfoldercaptions_fr.xmlです。
カタログからエクスポートしたテキスト文字列が重複する問題が発生することがあります。
カタログからエクスポートされたテキスト文字列の重複は、複数のユーザーが「キャプションのエクスポート」ユーティリティを同時に実行した場合、または同じユーザーが1分以内にこのユーティリティを2回実行した場合に発生します。次の手順は、重複するキャプションに対処する方法について説明しています。
「キャプションのエクスポート」ユーティリティは、「ステップ2: カタログ内のテキスト文字列のエクスポート」を参照してください。
重複するキャプションを含む、次のwebmessages.xmlファイルを考えてみます。
<WebMessageTable system="catalog" type="folder" path="/shared/example/A"> <WebMessage name="kcap12790830_5" use="Caption" status="new"> <TEXT>A Really Good Report</TEXT> </WebMessage> </WebMessageTable> <WebMessageTable system="catalog" type="folder" path="/shared/example/B"> <WebMessage name="kcap12790830_5" use="Caption" status="new"> <TEXT>I like this report</TEXT> </WebMessage> </WebMessageTable> <WebMessageTable system="catalog" type="folder" path="/shared/example/Copy of A"> <WebMessage name="kcap12790830_5" use="Caption" status="new"> <TEXT>A Really Good Report</TEXT> </WebMessage> </WebMessageTable>
このサンプル・ファイルでは、重複する無効なメッセージIDがオブジェクトBに含まれています。オブジェクトCopy of Aには、有効であるものの、重複するメッセージIDが含まれています。「キャプションのエクスポート」ダイアログで、次のいずれかを選択できます。
「1つ残す」を選択すると、ファイルのコンテンツは変更されません。
「IDの削除」を選択すると、オブジェクトBおよびオブジェクトCopy of Aの両方に対して新しい一意のIDが生成されます。
「テキストの削除」を選択すると、オブジェクトBに対して新しい一意のIDが生成され、オブジェクトCopy of AのWebMessage要素が削除されます。このオプションにより、通常、翻訳するメッセージは少なくなりますが、プレゼンテーション・サービスおよびCatalog Managerのカタログのディレクトリ・リストで、同じ名前を持つ2つのオブジェクトが表示されることに注意してください。
Catalog Managerを使用する場合、そのユーザー・インタフェース要素に使用するロケール、およびカタログ内のオブジェクトに使用するロケールを指定できます。
カタログ・マネージャのロケールは同じロケールにするか、別のロケールにできます。ユーザー・インタフェース要素には10のロケールを使用でき、特定アプリケーションのカタログ・コンテンツには28のロケールを使用できます。
Catalog Managerのユーザー・インタフェース要素(ダイアログ、メニューなど)は、使用可能な10のロケールのいずれかで表示できます。データ処理などのCatalog Managerの特定の領域は、現時点では翻訳またはローカライズされていません。Catalog Managerでは、次のプロセスで、表示するロケールが決定されます。
Catalog Managerを起動してカタログをオンライン・モードで開くと、そのコンテンツを表示するためのロケールを選択できます。選択可能なロケールは次の条件により決まります。Catalog Managerでは、以降のオンライン接続に、この選択したロケールが使用されます。
インストール・プロセスでプレゼンテーション・サービス用にロケールが選択されているかどうか。
カタログのコンテンツが特定のロケールで翻訳されているかどうか。
ロケールの翻訳済ファイルがない場合、コンテンツはデフォルト・ロケールの英語(厳密にはen_US)で表示されます。
次の点に注意してください。
セッション・エラー(ログインの失敗やセッション・タイムアウトなど)はデフォルトのロケールで表示されます。これは、必ずしもユーザーがログインしようとしたロケールであったり、そのセッションがタイムアウトしたロケールであるとはかぎりません。
Catalog Managerのユーザー・インタフェースの一部の文字列(文字列Maximizeなど)は翻訳されません。
「カタログ・マネージャについて」を参照してください。
アプリケーションでローカライズをカスタマイズするための様々な方法について学習します。
次の各項では、Oracle BIサーバーでのロケールの設定について説明します。
複数言語をサポートするには、Oracle BIサーバーを適切に構成する必要があります。
NQSConfig.INIファイルのGeneralセクションには、ローカライズおよび国際化に必要なパラメータが含まれています。また、Oracle BIサーバーからクライアント・アプリケーションへのデータの送信方法を決定するデフォルト・パラメータも含まれています。「構成ファイル設定」を参照してください。
NQSConfig.INIファイル内のローカライズに影響するパラメータは次のとおりです。
LOCALE
SORT_ORDER_LOCALE
SORT_TYPE
CASE_SENSITIVE_CHARACTER_COMPARISON
Oracle Business Intelligenceを正常に実行するには、ユーザーがアプリケーションを実行する言語について、オペレーティング・システムのロケールを適切に構成する必要があります。ロケールおよび言語に関する一部の設定は相互に関連しており、Oracle BIサーバーでのデータのソート方法の決定に役立ちます。
サーバー起動時にC-runtimeロケールに対して使用される値は、NQSConfig.INIファイルのSORT_ORDER_LOCALEパラメータに指定されています。このパラメータは、通常、Oracle BIサーバーにより設定されます。
このロケールは、日付や通貨の表示、およびデータのソートなどの機能で使用されます。
設定を調整する必要がある場合は、NQSConfig.INI
ファイルのGeneralセクションで、プラットフォーム非依存の名前を入力してLOCALEパラメータおよびSORT_ORDER_LOCALEパラメータを設定します。
次の表に、プラットフォーム非依存の名前と、サポートされる各UNIXプラットフォーム固有の名前の言語マッピングを示します。たとえば、HP-UXまたはLinuxオペレーティング・システムでは、中国語にzh_CN.utf8設定が使用されます。
zh_CN.utf8やfr-FR-UTF-8などの名前文字列はプラットフォーム固有のロケール・コンポーネントの名前であり、システム管理者がインストールする必要があります。NQSConfig.INIファイルでは、ChineseやFrench(大文字小文字は区別されません)など、プラットフォーム非依存の名前が使用されます。
ロケール(プラットフォーム非依存の名前) | Solarisでの名前 | AIXでの名前 | HP-UX/Linuxでの名前 |
---|---|---|---|
Arabic |
ar_SA.UTF-8 |
AR_AA.UTF-8 |
ar_SA.utf8 |
Chinese |
zh_CN.UTF-8 |
ZH_CN.UTF-8 |
zh_CN.utf8 |
Chinese-traditional |
zh_TW.UTF-8 |
ZH_TW.UTF-8 |
zh_TW.utf8 |
Croatian |
hr_HR.UTF-8 |
HR_HR.UTF-8 |
hr_HR.utf8 |
Czech |
cs_CZ.UTF-8 |
CS_CZ.UTF-8 |
cs_CZ.utf8 |
Danish |
da_DK.UTF-8 |
DA_DK.UTF-8 |
da_DK.utf8 |
Dutch |
nl_NL.UTF-8 |
NL_NL.UTF-8 |
nl_NL.utf8 |
English-USA |
en_US.UTF-8 |
EN_US.UTF-8 |
en_US.utf8 |
Finnish |
fi_FI.UTF-8 |
FI_FI.UTF-8 |
fi_FI.utf8 |
French |
fr_FR.UTF-8 |
FR_FR.UTF-8 |
fr_FR.utf8 |
German |
de_DE.UTF-8 |
DE_DE.UTF-8 |
de_DE.utf8 |
Greek |
el_GR.UTF-8 |
EL_GR.UTF-8 |
el_GR.utf8 |
Hebrew |
he_IL.UTF-8 |
HE_IL.UTF-8 |
iw_IL.utf8 |
Hungarian |
hu_HU.UTF-8 |
HU_HU.UTF-8 |
hu_HU.utf8 |
Italian |
it_IT.UTF-8 |
IT_IT.UTF-8 |
it_IT.utf8 |
Japanese |
ja_JP.UTF-8 |
JA_JP.UTF-8 |
ja_JP.utf8 |
Korean |
ko_KR.UTF-8 |
KO_KR.UTF-8 |
ko_KR.utf8 |
Norwegian |
no_NO.UTF-8 |
NO_NO.UTF-8 |
no_NO.utf8 |
Polish |
pl_PL.UTF-8 |
PL_PL.UTF-8 |
pl_PL.utf8 |
Portuguese |
pt_PT.UTF-8 |
PT_PT.UTF-8 |
pt_PT.utf8 |
Portuguese-Brazilian |
pt_BR.UTF-8 |
PT_BR.UTF-8 |
pt_BR.utf8 |
Romanian |
ro_RO.UTF-8 |
RO_RO.UTF-8 |
ro_RO.utf8 |
Russian |
ru_RU.UTF-8 |
RU_RU.UTF-8 |
ru_RU.utf8 |
Slovak |
sk_SK.UTF-8 |
SK_SK.UTF-8 |
sk_SK.utf8 |
Spanish |
es_ES.UTF-8 |
ES_ES.UTF-8 |
es_ES.utf8 |
Swedish |
sv_SE.UTF-8 |
SV_SE.UTF-8 |
sv_SE.utf8 |
Thai |
th_TH.UTF-8 |
TH_TH.UTF-8 |
th_TH.utf8 |
Turkish |
tr_TR.UTF-8 |
TR_TR.UTF-8 |
tr_TR.utf8 |
Oracle BIプレゼンテーション・サービスでは、エラー・メッセージの言語はNQ_SESSION.WEBLANGUAGEセッション変数に基づいて設定されます。
プレゼンテーション・サービスでは、インストレーション時にこの変数のデフォルト値が指定されます。この値は、ユーザーがOracle BI EEサインイン・ページで言語を選択すると更新されます。
サード・パーティのクライアントを含むその他のクライアントでは、エラー・メッセージの言語は次の優先順位モデルにより決定されます。
エラー・メッセージの言語はWEBLANGUAGEセッション変数に基づいて設定されます。
WEBLANGUAGEセッション変数が設定されていない場合は、Oracle BIプレゼンテーション・サービスへのアクセスで使用されるODBCデータ・ソース名(DSN)に指定されたエラー言語に基づいて設定されます。
ODBC DSNでのエラー・メッセージ言語の設定の詳細は、Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイドを参照してください。
ODBC DSNにエラー・メッセージの言語が設定されていない場合は、ORACLE_BI_LANG環境変数で指定されている言語がエラー・メッセージに対して使用されます。
ORACLE_BI_LANGの値を変更するには、NQSConfig.INIでこの変数の文字コードを更新します。サポートされている言語の文字コードは、ORACLE_HOME/bi/bifoundation/server/locale
ディレクトリで確認できます(たとえば、enは英語を表し、pt-BRはポルトガル語/ブラジル語を表します)。
ORACLE_BI_LANG環境変数が設定されていない場合、エラー・メッセージは英語で表示されます。
管理ツールおよびジョブ・マネージャのクライアントでは、WEBLANGUAGEセッション変数は設定されないので注意してください。したがって、これらのクライアントは、ODBC DSNエラー・メッセージ設定以降の優先順位モデルに従います。
ORACLE_BI_LANG変数は、アプリケーションのコンポーネントをユーザーに表示するために使用される言語を制御します。
NQServer.logファイルの内容など、Oracle BIサーバーのコンポーネントの正しい言語を表示するには、次の手順の説明に従い、ORACLE_BI_LANG変数を設定する必要があります。
Oracle BI管理ツールのユーザーインタフェースは、オペレーティング・システムに指定されている言語を継承します。
たとえば、Windowsオペレーティング・システムがフランス語を使用するように設定されている場合は、メモ帳や管理ツールなどのすべてのWindowsベース・アプリケーションで、メニューやボタンなど、すべてのユーザー・インタフェース要素がフランス語で表示されます。Windowsのコントロール・パネルで設定したロケールは、通貨、日時、表示単位およびキーボードのレイアウトなどの項目に影響します。これは、メニューやボタンなどのユーザー・インタフェース要素とは異なります。
推奨される方法は、管理ツールでオペレーティング・システムの言語を継承できるようにすることです。オペレーティング・システムの言語を変更せずに、管理ツールのユーザー・インタフェースの言語を変更する必要がある場合は、ORACLE_BI_LANG環境変数を使用できます。この変数の設定の詳細は、「エラー・メッセージの言語が決定される方法」を参照してください。
また、「リポジトリでのメタデータ名のローカライズ」で説明されているように、プレゼンテーション・レイヤーでサブジェクト領域、表、階層および列の名前とその説明をローカライズすることもできます。
一部の地域では、特定のトラブルシューティング手順が必要となります。
この項では、Oracle BIサーバーでの現在のロケールに関するトラブルシューティングについて説明します。
適切なロケールがインストールされていない場合、Oracle BIサーバーは起動せず、obis1-query.logファイルに次のエラーが格納されます。
NLSのロケールxxxは、このオペレーティング・システムでサポートされていません。
xxxは、NQSConfig.INIファイルでSORT_ORDER_LOCALEパラメータに指定されているロケールです。このエラーを解決するには、次の操作を実行します。
UNIX。UNIXシステムでのロケールの設定の表に示すロケールのうち、必要な言語に対応するものをインストールします。
Windows。「地域の設定」ダイアログを使用して、対応する言語パックを追加します。
Oracle BIサーバーのユーティリティの使用状況情報およびエラー・メッセージが正しい言語で表示されることを確認します。
Linux環境では、マルチバイト文字を表示するにはターミナル・エンコーディングをUTF-8に設定します。これには、「Terminal」メニュー、「Set Character encoding」、「utf8」の順に選択します。
ネイティブWindows環境では、コンソールのフォントを「Lucida Console」に設定します。このオプションがリストに表示されない場合は、まず、コード・ページを65001に変更します。これによりUTF-8がサポートされるので、コマンドchcp 65001
を使用します。
管理ツールの「文字列の外部化」ユーティリティを使用すると、プレゼンテーション・レイヤーのサブジェクト・エリア名、表名、階層名、列名およびそれらの説明をローカライズできます。
これらのテキスト文字列を、ANSI、UnicodeおよびUTF-8のエンコーディング・オプションを使用して外部ファイルに保存できます。
管理ツールでリポジトリを開きます。
サブジェクト・エリア、プレゼンテーション表またはプレゼンテーション列など、プレゼンテーション・レイヤーのオブジェクトを右クリックし、「表示名の外部化」→「カスタム名の生成」を選択するか、「記述子の外部化」→「カスタム説明の生成」を選択して文字列を外部化します。「カスタム名の生成」を選択して、「文字列の外部化」ユーティリティを実行すると、変換キーも「文字列の外部化」ダイアログに表示されます。
これらの外部化オプションのいずれかを選択すると、選択したオブジェクトとそのすべての子オブジェクトについて、「プロパティ」ダイアログの「カスタム表示名」オプションまたは「カスタム説明」オプションが自動的に選択されます。
たとえば、サブジェクト・エリアを右クリックして外部化オプションのいずれかを選択すると、サブジェクト・エリア内のすべてのプレゼンテーション表、列、階層およびレベルに対して外部化フラグが設定されます。
「ツール」→「ユーティリティ」を選択します。
「文字列の外部化」を選択し、「実行」をクリックします。
「文字列の外部化」ダイアログの左側のペインで、1つ以上のサブジェクト・エリアを選択します。
右側のペインに、翻訳済の値と元の文字列(名前および説明)が表示されます。これらは、プレゼンテーション・サービスで使用されるセッション変数の値になります。
プレゼンテーション・レイヤーで外部化フラグが設定されているオブジェクトのみ右側のペインに表示されます。
「保存」をクリックします。
「名前を付けて保存」ダイアログで、次のいずれかを実行します。
選択したサブジェクト・エリアが1つのみの場合は、ファイルのタイプおよびエンコーディング値を選択し、「保存」をクリックします。
複数のサブジェクト・エリアを選択し、それぞれを別々のXMLファイルに外部化する場合は、ディレクトリ名を選択し、[SHIFT]を押しながら「保存」をクリックします。サブジェクト・エリアはそれぞれ、Unicodeで暗号化されたXMLファイルに保存されます。
「外部化された文字列」ダイアログで、「閉じる」をクリックします。
(オプション)外部化を無効にするには、プレゼンテーション・レイヤーのオブジェクトを右クリックし、「表示名の外部化」→「外部化の無効化」を選択するか、「記述子の外部化」→「外部化の無効化」を選択します。
これらのオプションのいずれかを選択すると、選択したオブジェクトとそのすべての子オブジェクトについて、「プロパティ」ダイアログの「カスタム表示名」オプションまたは「カスタム説明」オプションが自動的に選択解除されます。
「文字列の外部化」ユーティリティを使用して文字列ファイルを作成した場合は、次の手順に従い、そのファイルを使用してメタデータ・オブジェクトの文字列を翻訳できます。
各文字列ファイルを開いて次の列を調べます。
1列目には、実際のリポジトリ・オブジェクトの名前が記述されています。この名前には、オブジェクトのタイプと接頭辞が含まれます。
2列目には、各オブジェクトの名前または説明に対応するセッション変数が記述されています。これらには、カスタム名を示すデフォルト接頭辞のCN_、またはカスタム説明を示すデフォルト接頭辞のCD_が含まれます。
3番目の列には、それぞれのオブジェクト名に対応する変換キーが含まれています。
Languageという名前の4番目の列を追加します。この列で、deなど、名前が翻訳された言語のコードを指定します。
文字列ファイルをデータベース表にロードします。
管理ツールで、この表を物理レイヤーにインポートします。
行単位の初期化ブロックを使用して、翻訳済の文字列をロードします。初期化ブロックのターゲットが「行単位の初期化」に設定されていること、および実行優先順位が正しく設定されていることを確認します。
たとえば、次の手順を実行します。
次のようなSQL文を使用して、データベースからのデータ・ソースを含むセッション初期化ブロックを作成します。
SELECT 'VALUEOF(NQ_SESSION.WEBLANGUAGE)' FROM DUAL
設定言語の「セッション変数初期化ブロック」ダイアログで、「変数ターゲット」にLOCALEセッション変数を指定します。
この仕様により、ユーザーがサインインするときは常に、WEBLANGUAGEセッション変数が設定されるようになります。その後、この変数によって、LOCALE変数が初期化ブロックを使用して設定されます。
「セッション変数初期化ブロックのデータソース」ダイアログで、次のようなデータベース固有のSQL文を使用して、一連のセッション変数を作成する別のセッション初期化ブロックを作成します。
select SESSION_VARIABLE, TRANSLATION from external where LANGUAGE = 'VALUEOF(NQ_SESSION.LOCALE)'
このブロックで作成されるすべての変数の言語は、サインイン時にユーザーが指定した言語に一致します。
「セッション変数初期化ブロックの変数ターゲット」ダイアログで、初期化ブロックのターゲットを「行単位の初期化」に設定します。
「セッション変数初期化ブロック」ダイアログの「実行優先度」領域で、前に作成した初期化ブロックを指定して、最初に作成したブロックが最初に実行されるようにします。
変更を保存します。
ヒント:
管理ツールの言語の詳細は、「管理ツールのユーザー・インタフェースの言語の変更」を参照してください。
Oracle Application Development Frameworkデータ・ソースを使用する場合は、「文字列の外部化」ユーティリティを使用するかわりに、そのデータ・ソースからラベルおよびツールチップを伝播できます。『Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』を参照してください。
Oracle BIサーバーはいくつかの言語の翻訳をサポートしています。
この項では、複数の言語でフィールド情報を表示できるようにOracle BIサーバーを構成する方法について説明します。内容は次のとおりです。
管理ツールの使用の詳細は、Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイドを参照してください。
多言語データのサポートとは、データベース・スキーマのデータを複数の言語で表示する機能です。
Oracle BIサーバーは、翻訳の管理を簡素化し、その問合せパフォーマンスを改善することによって多言語スキーマをサポートします。多言語スキーマでは、通常、翻訳済フィールドが参照表と呼ばれる個別の表に格納されます。参照表には記述子列の翻訳が複数言語で格納され、ベース表にそのデータが元の言語で格納されます。記述子列は、キー列のテキストによる説明を提供します。記述子列とキー列の間には1対1の論理的関係があります。たとえば、記述子列はProduct_Nameなどで、これはProduct_Key列のテキストによる説明を提供します。
参照とは、問合せによってベース表と参照表を結合し、ベース表の各行に対して翻訳済の値を取得することを指します。
その性質上、参照表には「密」および「疎」があります。密である参照表には、ベース表のすべてのレコードの翻訳が、すべての言語で格納されています。疎である参照表には、ベース表の一部のレコードの翻訳のみが格納されています。場合によって、参照表は密および疎の両方であることがあります。たとえば、参照表に、Product Descriptionフィールドのすべての翻訳が含まれる一方、Product Categoryフィールドの一部の翻訳のみが含まれるような場合です。密および疎とは、表の性質というよりも、参照操作のタイプになります。参照表は、管理ツールを使用して構成します。
二重列サポートとは、論理レイヤーの2つの列(記述子ID列と記述子列)を関連付ける機能であり、言語非依存フィルタの定義に役立ちます。
ユーザーが記述子列に基づいてフィルタを作成すると、問合せツールにより、記述子列から選択された値のリストがユーザーに表示されます。
この記述子列の手法は、CLOBやBLOBなどのLOBデータ型に関連する問合せを処理する場合、およびCOUNT
またはSUM
などの集計関数を処理する場合にも便利です。一部のデータ・ソースでは、GROUP BY
句でのLOB列の使用は許可されていません。したがって、LOB列をGROUP BY
に追加するかわりに、LOB列との1対1の関係を持つ他の列でグループ化し、集計が行われた後にLOB列を結合する必要があります。
多言語スキーマで翻訳参照表を設計する一般的な手法には、次の2つがあります。
多くの場合、ベース表ごとに個別の参照表があります。参照表には、ベース表内のレコードへの外部参照キーが含まれ、各翻訳済フィールドの値が個別の列に含まれます。
参照表が完全に密である場合、特定言語用の参照表内の行数は、ベース表内の行数と等しくなります。
次の図の例は、ベース表内の1つの行のみに一致する、参照表内の各レコードを示しています。
この項では、論理参照表および論理参照列の作成について説明します。内容は次のとおりです。
ビジネス・モデルで論理参照表オブジェクトを作成して、翻訳参照表に必要なメタデータを定義します。
「論理表の参照表としての指定」で説明しているように、参照表とは、自身を参照表として指定するプロパティを持つ論理表のことです。次の図は、参照表の例を示しています。
参照表の各主キーをまとめて参照キーと見なし、参照が実行されます。参照は、すべての参照キー列に値が指定されている場合にのみ実行できます。たとえば、前述の図では、Product_CodeとLanguage_Keyの組合せによってこの参照表の主キーが形成されます。
参照キーは論理表キーとは異なります。参照キー列ではその順序が考慮されます。たとえば、Product_CodeとLanguage_Keyの参照キーは、Language_KeyとProduct_Codeの参照キーとは異なると見なされます。参照キー列の順序は管理ツールで指定できます。参照キーのすべての列は参照関数で結合する必要があります。
参照表には参照キーが1つのみ含まれます。
参照表には少なくとも1つの値列が含まれます。前述の図ではDescriptionが値列であり、製品の説明の翻訳済値が含まれています。
参照キーから各値列への関数従属性が存在する必要があります。言い換えれば、参照キーによって値列を識別できます。参照キーおよび値列は、どちらも同じ物理表に属している必要があります。
参照表は独立しており、他の論理表には結合されません。
整合性チェック・ルールは参照表に対しては緩和されているため、表が参照表として指定されている場合、サブジェクト・エリア内の他の表と結合する必要はありません(論理表は、通常、サブジェクト・エリア内の1つ以上の表に結合されます)。
参照列を使用した集計の結果は、ベース列を使用した結果と一致する必要があります。たとえば、次のコードを実行したとします
SELECT product.productname_trans, sales.revenue FROM snowflakesales;
これは、次のコードと同じ結果を戻す必要があります。
SELECT product.productname, sales.revenue FROM snowflakesales;
この例の参照表productname_transで参照キーProductIDおよびLANGUAGEを使用している場合、両方の問合せで同じ集計結果が戻されます。
参照キーにproductnameとは異なる集計レベルの列が含まれる場合は、問合せで変更が取得され、集計に反映されます。
論理表を参照表として使用するには、管理ツールを使用して、事前に論理表を参照表として指定する必要があります。
論理表を参照表として指定するには、管理ツールを使用して、最初に参照表を物理レイヤーにインポートし、それを「ビジネス・モデルとマッピング」レイヤー内にドロップします。次に、論理参照表ごとに、「論理表」ダイアログで「参照表」オプションを選択する必要があります。
参照表の主キーに指定されている列の順番により、LOOKUP
関数の対応する引数の順番が決まります。
たとえば、参照表の主キーがRegionKey列、CityKey列およびLanguageKey列で構成される場合、LOOKUP
関数の対応する引数を同じ順番で指定する必要があります。主キー列の順番を変更するには、管理ツールを使用します。
LOOKUP
関数は通常、「ビジネス・モデルとマッピング」レイヤーで、翻訳済の論理表列の式として使用されます。
LOOKUP
関数の構文は、次のようになります。
Lookup ::= LookUp([DENSE] value_column, expression_list ) | LookUp(SPARSE value_ column, base_column, expression_list ) expression_list ::= expr {, expression_list } expr ::= logical_column | session_variable | literal
次に例を示します。
LOOKUP( SPARSE SnowflakeSales.ProductName_TRANS.ProductName, SnowflakeSales.Product.ProductName, SnowflakeSales.Product.ProductID, VALUEOF(NQ_SESSION."LANGUAGE")) LOOKUP( DENSE SnowflakeSales.ProductName_TRANS.ProductName, SnowflakeSales.Product.ProductID, VALUEOF(NQ_SESSION."LANGUAGE"))
次の点に注意してください。
LOOKUP
関数は密または疎のいずれかで、キーワードDENSE
またはSPARSE
を使用して指定します。DENSE
とSPARSE
をどちらも指定しない場合、デフォルト動作は密参照になります。DENSE
参照の場合、翻訳表は内部結合を通じてベース表に結合されますが、SPARSE
参照の場合は左外部結合が実行されます。
第1パラメータ(DENSE
またはSPARSE
キーワードの後のパラメータ)は、論理レイヤーで定義されている有効な参照表の有効な値列にする必要があります。
SPARSE
キーワードを指定した場合、第2パラメータは、value_columnのベース値を提供する列にする必要があります。DENSE
参照の場合、このベース列は必要ありません。
expression_listの式の数は、value_columnで定義した、参照表で定義されている参照キー列の数と同じにする必要があります。また、式リストで指定した式は、参照キー列と1対1で順番に一致している必要があります。
次に例を示します。
参照表ProductName_TRANSの参照キーは、Product_codeおよびLanguage_Keyの両方です。
expression_listの式は、SnowflakeSales.Product.ProductIDおよびVALUEOF(NQ_SESSION."LANGUAGE")です。
この参照の意味を次に示します。
Product_code = SnowflakeSales.Product.ProductIDおよびLanguage_Key = VALUEOF(NQ_SESSION."LANGUAGE")という条件を使用して、翻訳表からProductNameの翻訳済の値を戻します。
参照関数を含む論理列を作成するには、管理ツールで式ビルダーを使用します。
論理列の値は、現在のユーザーに関連付けられている言語に基づきます。
たとえば、翻訳済の製品名を取得するには、「列ソース」タブで、導出された列式を使用して新しい論理列を作成します。
LAN_INT
はセッション初期化ブロックMLSにより移入されるセッション変数で、基本言語または他の言語を表します。
基本言語(たとえば、en - English)の場合は0
他の言語コード(たとえば、fr - Frenchまたはcn - Chinese)の場合は1
WEBLANGUAGE
は、ユーザーがログイン時に選択した言語に基づいて自動的に初期化されるセッション変数です。
INDEXCOL
関数は、適切な列の選択をサポートします。前述の例では、ユーザー言語が基本言語の場合(つまり、セッション変数LAN_INT
の値が0の場合)にのみ、基本列(ProductName)の値が戻されます。ユーザー言語が基本言語でない場合(セッション変数LAN_INT
の値が1の場合)は、WEBLANGUAGE
セッション変数に渡された言語の参照表から値が戻されます。
(前述の例の)DENSE
関数を使用する場合、翻訳対象言語の列に値がないと、参照関数により空白のエントリが表示されます。
(次の例の)SPARSE
関数を使用する場合、翻訳対象言語の列に値がないと、参照関数により基本言語で対応する値が表示されます。
INDEXCOL( VALUEOF(NQ_SESSION."LAN_INT"), "Translated Lookup Tables"."Product". "ProductName", LOOKUP( SPARSE "Translated Lookup Tables"."Product Translations". "ProductName", "Translated Lookup Tables"."Product"."ProductName", "Translated Lookup Tables"."Product"."ProductID", VALUEOF(NQ_SESSION."WEBLANGUAGE")))
派生論理列を使用する場合は、エラーを減らすための計画が必要となります。
派生論理列を使用する場合は、次のヒントに留意してください。
LOOKUP
関数の結果である派生論理列を、1次論理レベル・キーの一部として使用することはできません。集計が行われた後にLOOKUP
操作が適用されるため、この制限が存在します。ただし、レベル・キー列によって集計の計算粒度が定義されるため、レベル・キー列は集計を行う前に使用可能にしておく必要があります。
LOOKUP
関数の結果である派生論理列は、2次論理レベル・キーとして使用できます。
導出した式に参照関数が含まれる派生論理列については、次の点に留意してください。
参照関数で使用される論理列に関連付けられたレベルは、派生論理列自体のレベルよりも低くしないでください。
推奨される方法は、記述子ID列を構成することです。
表内のデータに非ISOタイプの言語コードが含まれる場合は、ISO言語コードを非ISO言語コードにマップする表が必要になります。
ユーザーのログイン時にISO言語コードを設定する既存のWEBLANGUAGE
変数を使用できます。個別のLANGUAGE
変数を定義し、その初期化ブロックでマッピング表に対して問合せを実行して、WEBLANGUAGE
変数の値でフィルタされた非ISO言語コードをフェッチします。次の表に、非ISO言語コードのマッピング表を示します。LANGUAGE
が非ISO言語コードです。
WEBLANGUAGE | LANGUAGE | LAN_INT |
---|---|---|
en |
ENG |
0 |
cn |
CHI |
1 |
fr |
FRA |
1 |
ビジネス・モデルで物理参照表オブジェクトを作成して、翻訳参照表に必要なメタデータを定義できます。物理参照表は、その意味と使用方法の両方において論理参照表に類似しています。
物理参照表は、論理参照表で処理できない次のシナリオに対処します。
参照表ソースが断片化されている。この場合、複数の物理参照表を使用して値を保持します。たとえば、断片化されている製品名データの翻訳値を、productname_trans_AtoMおよびproductname_trans_NtoZという2つの物理参照表に分散させることができます。
異なるレベルの翻訳表を使用できる。たとえば、Essbaseデータ・ソースとリレーショナル・データ・ソースの両方で翻訳を使用できます。基本問合せと同じソースを使用することをお薦めします。
論理参照表は「論理表」ダイアログでオプションを選択することにより指定しますが、物理参照表は論理表ソース・マッピングで参照関数を作成することにより構成します。
たとえば、次の物理表があるとします。
categoryidおよびcategorynameなどの列を含む、Categoriesという名前のベース表。
categoryid、language_keyおよびcategorynameなどの列を含む、Categories_Transという名前の翻訳表。categorynameの翻訳済値は、categoryid列およびlanguage_key列の組合せにより決定されます。
Categoriesという名前の論理表があるとします。この表に、categoryname_pという名前の新しい論理列を追加します。この列は、現在の言語に基づく翻訳列です。論理参照列とは異なり、この列は他の論理列からは導出されません。
次の手順で、前述の例を使用して、物理参照翻訳列を構成する方法について説明します。
Categories_trans物理翻訳表を論理表ソースに組み込む必要はありません。INDEXCOL
関数により、LAN_INT
セッション変数が0であるかどうかチェックされ、ベース表からcategoryname列がフェッチされます。LOOKUP
関数について次の点に注意してください。
物理LOOKUP
関数は論理LOOKUP
関数と同様に機能します。唯一の違いは、論理表および論理列に対するすべての参照が、物理表および物理列に置き換えられることです。
LOOKUP
関数の第1列は値列で、これは翻訳表の翻訳値列です。疎参照が存在する場合、第2列は基本値列です。残りの列は、物理翻訳表に結合される列または値です。この物理翻訳表は、LOOKUP
関数の値列により示されます。
ダイアログを使用して物理参照表を構成できないため、結合列および値の順番と、物理翻訳表の「物理表」ダイアログに表示される列の順序に互換性があることを確認する必要があります。たとえば、Categories_trans表の「物理表」ダイアログの「Keys」タブでは、主キーはCategoryID列とLanguage_Key列により構成されます。
LOOKUP
関数で指定される列は、次のように対応します。
次の行があるとします。
"DB_Name"."My_Category"."My_Schema"."Categories"."CategoryID"
これはCategories_trans.CategoryID列に対応します。
次の行があるとします。
valueof(NQ_SESSION."LANGUAGE")
これはCategories_trans.Language_key列に対応します。
LAN_INT
セッション変数やLANGUAGE
セッション変数などの参照の概念の詳細、およびLOOKUP
関数の完全な構文の情報は、「論理参照表および論理参照列の作成」を参照してください。
多くの場合、Essbaseキューブのメンバーは、ユーザー言語ごとに個別の別名を用意して、ユーザーが自分の言語でメンバー名を表示できるようにします。
通常、セッション変数を定義して、ユーザーのログイン時に適切な別名を動的に選択します。Essbaseの別名表について、およびそれらをセッション変数で使用する方法の詳細は、Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイドを参照してください。
辞書編集上の差異によるソートは、データをアルファベット順にソートする機能です。
ほとんどのデータ・ソースは辞書編集上の差異によるソートをサポートしています。ただし、辞書編集上の差異によるソートが特定のデータ・ソースに対して適切に動作しない場合、Oracle BIサーバーを構成して、バックエンド・データ・ソース以外でソートを実行できます。この構成を実行するには、管理ツールの「データベース」ダイアログの「機能」タブで、ORDERBY_SUPPORTEDが選択解除されていることを確認します。データベース機能の指定の詳細は、Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイドを参照してください。
データ・ソースでORDERBY_SUPPORTEDを無効にすると、パフォーマンスに非常に大きな影響を与える場合があるので注意してください。これは、無効にした結果、多数の結合がデータ・ソースにプッシュダウンされないためです。多くの場合、パフォーマンスへの影響は非常に大きいため、辞書編集上の差異によるソート機能への影響に関係なく、ORDERBY_SUPPORTEDはデータ・ソースで有効にしておくことができます。