翻訳

適用対象 多次元のみ

Analysis Services 多次元データのモデルでは、キャプションの複数の翻訳を埋め込んで、LCID に基づくロケール固有の文字列を提供することができます。 データベース名、キューブ オブジェクト、およびデータベース ディメンション オブジェクトの翻訳を追加できます。

翻訳を定義すると、モデル内のメタデータと翻訳されたキャプションを作成しますが、クライアント アプリケーションでローカライズされた文字列を表示するには、オブジェクトで Language プロパティを設定するか、(たとえばフランス語の文字列を返すよう LocaleIdentifier=1036 を設定して) 接続文字列の Locale Identifier パラメーターを渡す必要があります。 同じオブジェクトの翻訳をさまざまな言語で同時に複数サポートするには、Locale Identifier の利用を計画します。 Language プロパティを設定しても機能しますが、処理とクエリにも影響を及ぼし、意図しない結果になる可能性があります。 Locale Identifier を設定する方が、翻訳された文字列を返すためにだけ使用されるので、より適しています。

翻訳は、ロケール識別子 (LCID)、オブジェクトのキャプションの翻訳 (ディメンションや属性名など)、およびオプションでターゲット言語のデータ値を提供する列へのバインドから構成されます。 翻訳は複数利用できますが、特定の接続で利用できるのは 1 つのみです。 モデルに埋め込むことができる翻訳の数について理論上は制限がありませんが、翻訳が多くなるにつれてテストが複雑になり、すべての翻訳が同じ照合順序を共有する必要があるため、ソリューションを設計するときはこれらの自然の制約に注意してください。

ヒントヒント

Excel、Management Studio、SQL Server Profiler などのクライアント アプリケーションを使用して、翻訳した文字列を取得することができます。 詳細については、「グローバリゼーションのヒントとベスト プラクティス (Analysis Services)」を参照してください。

翻訳されたメンバーをサポートするためにモデルを設定する

多言語ソリューションで使用されるデータ モデルでは、ラベルの翻訳 (フィールド名と説明) 以上のものが必要です。 さまざまな言語のスクリプトで指定されるデータ値も提供する必要があります。 多言語ソリューションを実現するには、個々の属性が、データを返す外部データベースの列にバインドされている必要があります。

Adventure Works サンプル データベース (多次元およびリレーショナル データ ウェアハウス) は、翻訳機能のサンプルを示しています。 サンプル モデルには、キャプションの翻訳と説明が含まれています。 サンプルのリレーショナル データ ウェアハウスには、モデル内のローカライズされた属性メンバーを提供する翻訳済みの値の列が含まれています。

モデルに利用できる、翻訳されたデータ値を表示するには:

  1. デザイナーで、Adventure Works 多次元モデルを開きます。

  2. ソリューション エクスプローラーで、データ ソース ビューを開いて [Adventure Works DW<バージョン>.dsv] をダブルクリックします。

  3. dimDate、dimProduct、dimProductCategory、または dimProductSubcateogry を探します。 これらのすべてのディメンションには、月、曜日、製品名、カテゴリ名など、翻訳されたメンバーの属性が含まれます。

  4. 任意のフィールドを右クリックし、[データの探索] を選択します。 各メンバーの英語、スペイン語、およびフランス語の翻訳が表示されます。

翻訳では、日付、時刻、通貨の形式は実装されません。 クライアントのロケールに基づいてカルチャに固有の形式を動的に指定するには、通貨換算ウィザードと FormatString プロパティを使用します。 詳細については、「通貨換算 (Analysis Services)」および「FormatString 要素 (ASSL)」を参照してください。

Analysis Services のチュートリアルの レッスン 9 : パースペクティブと翻訳の定義 では、翻訳の作成とテストの手順を詳細に説明しています。

翻訳の定義

翻訳を定義すると、Analysis Services データベース、ディメンション、またはキューブ オブジェクトの子として Translation オブジェクトを作成します。 SQL Server Data Tools - Business Intelligence を使用してソリューションを開き、翻訳を定義します。

キューブに翻訳を追加する

翻訳は、キューブ、メジャー グループ、メジャー、キューブ ディメンション、パースペクティブ、KPI、アクション、名前付きセット、および計算されるメンバーに追加できます。

  1. ソリューション エクスプローラーで、キューブ名をダブルクリックしてキューブ デザイナーを開きます。

  2. [翻訳] タブをクリックします。 翻訳をサポートするすべてのオブジェクトが、このページに表示されます。

  3. 各オブジェクトについて、ターゲット言語 (LCID を内部的に解決)、キャプションの翻訳、および説明の翻訳を指定します。 Management Studio でサーバーの言語を設定している場合でも、または翻訳を追加して 1 つの属性をオーバーライドする場合でも、言語の一覧は Analysis Services の全体で一貫しています。

    照合順序を変更できないことに注意してください。 キャプションの翻訳で複数の言語をサポートしている場合でも、1 つのキューブは本質的に 1 つの照合順序を使用します (ディメンション属性で例外がありますが、それについては後述します)。 言語が共有の照合順序で正しく並べ替えられていない場合は、照合順序の要件に対応するためだけにキューブのコピーを作成する必要があります。

  4. プロジェクトをビルドして配置します。

  5. ロケール識別子を使用するよう接続文字列を変更する、Excel などのクライアント アプリケーションを使用してデータベースに接続します。 詳細については、「グローバリゼーションのヒントとベスト プラクティス (Analysis Services)」を参照してください。

ディメンションおよび属性への翻訳の追加

翻訳は、データベース ディメンション、属性、階層、および、階層内のレベルに追加できます。

キャプションの翻訳は、キーボード、またはコピーして貼り付けを使用して、手動でモデルに追加されますが、ディメンション属性メンバーでは、外部データベースから翻訳済みの値を取得できます。 具体的には、属性の CaptionColumn プロパティは、データ ソース ビュー内の列にバインドできます。

たとえば幅の区別を調整する場合や、特定の属性でバイナリの並べ替えを使用する場合に、属性レベルで照合順序の設定をオーバーライドできます。 Analysis Services で、データ バインドが定義されている照合順序が公開されます。 ディメンション属性の翻訳を DSV 内の別のソース列にバインドするため、照合順序の設定が利用可能になり、ソース列で使用される照合順序を指定することができます。 リレーショナル データベース内の列の照合順序の詳細については、「列の照合順序の設定または変更」を参照してください。

  1. ソリューション エクスプローラーで、ディメンション名をダブルクリックしてディメンション デザイナーを開きます。

  2. [翻訳] タブをクリックします。 翻訳をサポートするすべてのディメンション オブジェクトが、このページに表示されます。

    各オブジェクトについて、ターゲット言語 (LCID を解決)、キャプションの翻訳、および説明の翻訳を指定します。 Management Studio でサーバーの言語を設定している場合でも、または翻訳を追加して 1 つの属性をオーバーライドする場合でも、言語の一覧は Analysis Services の全体で一貫しています。

  3. 値の翻訳を提供する列に属性をバインドするには:

    1. ディメンション デザイナー | [翻訳] で、新しい翻訳を追加します。 言語を選択します。 新しい列がページに表示され、翻訳済みの値を受け入れます。

    2. 属性のいずれかに隣接する空のセルにカーソルを置きます。 属性はキーにすることはできませんが、その他のすべての属性を選択できます。 点が描かれた小さなボタンが表示されます。 ボタンをクリックして、[属性データの翻訳] ダイアログ ボックスを開きます。

    3. キャプションの翻訳を入力します。 これは、PivotTable フィールド リストのフィールド名など、ターゲット言語のデータ ラベルとして使用されます。

    4. 属性メンバーの翻訳済みの値を提供するソース列を選択します。 ディメンションにバインドされているテーブルまたはクエリ内の既存の列のみを利用できます。 列が存在しない場合は、データ ソース ビュー、ディメンション、キューブが列を取得するよう変更する必要があります。

    5. 該当する場合は、照合順序と並べ替えの順序を選択します。

  4. プロジェクトをビルドして配置します。

  5. ロケール識別子を使用するよう接続文字列を変更する、Excel などのクライアント アプリケーションを使用してデータベースに接続します。 詳細については、「グローバリゼーションのヒントとベスト プラクティス (Analysis Services)」を参照してください。

データベース名の翻訳を追加する

データベース レベルでは、データベースの名前と説明の翻訳を追加することができます。 翻訳されたデータベース名は、言語の LCID を指定するクライアント接続で表示される場合がありますが、ツールに応じて異なります。 たとえば、Management Studio では、データベースを表示したとき、接続でロケール識別子を指定した場合でも名前の翻訳は表示されません。 Management Studio で Analysis Services への接続に使用する API は、Language プロパティを読み取りません。

  1. ソリューション エクスプローラーで、プロジェクト名を右クリックして、[データベースの編集] を選択し、データベース デザイナーを開きます。

  2. 翻訳で、ターゲット言語 (LCID を解決)、キャプションの翻訳、および説明の翻訳を指定します。 Management Studio でサーバーの言語を設定している場合でも、または翻訳を追加して 1 つの属性をオーバーライドする場合でも、言語の一覧は Analysis Services の全体で一貫しています。

  3. データベースのプロパティ ページで、Language を翻訳に指定した同じ LCID に設定します。 既定値が適切でなくなった場合は、必要に応じて Collation も設定します。

  4. データベースをビルドして配置します。

翻訳の解決

クライアント アプリケーションがロケール識別子を要求すると、Analysis Services インスタンスは、Analysis Services オブジェクトのデータおよびメタデータを、一致度が最も高い LCID になるように解決しようとします。 クライアント アプリケーションで既定の言語が指定されていない場合、ニュートラルなロケール識別子 (0) が指定されている場合、または既定の言語識別子 (1024) が処理される場合、Analysis Services はインスタンスの既定の言語を使用して Analysis Services オブジェクトのデータおよびメタデータを返します。

関連項目

概念

Analysis Services 多次元のグローバリゼーションのシナリオ

言語および照合順序 (Analysis Services)

列の照合順序の設定または変更

グローバリゼーションのヒントとベスト プラクティス (Analysis Services)