Power BI で Power BI ビジュアルにロケールを追加するAdd the locale in Power BI for Power BI visuals

ビジュアルでは、Power BI ロケールを取得して、関連する言語にコンテンツをローカライズできます。Visuals can retrieve the Power BI locale to localize their content to the relevant language.

詳細については、Power BI でサポートされる言語と国または地域に関する記事をご覧くださいRead more about Supported languages and countries/regions for Power BI

たとえば、サンプルの横棒グラフ ビジュアルでロケールを取得するとします。For example, getting locale in the Sample Bar Chart visual.

サンプルの横棒グラフ ビジュアルのローカライズ

これらの横棒グラフはそれぞれ異なるロケール (英語、バスク語、ヒンディー語) で作成されており、ツールヒントに表示されます。Each of these bar charts was created under a different locale (English, Basque, and Hindi), and it's displayed in the tooltip.

注意

ビジュアルのコードのローカライズ マネージャーは、API 1.10.0 以降でサポートされています。The localization manager in the visual's code is supported from API 1.10.0 and higher.

ロケールを取得するGet the locale

locale は、ビジュアルの初期化時に文字列として渡されます。The locale is passed as a string during the initialization of the visual. Power BI でロケールが変更されると、ビジュアルは新しいロケールで再生成されます。If a locale is changed in Power BI, the visual will be generated again with the new locale. 完全なサンプル コードについては、ロケールを含めた SampleBarChart で見つけることができますYou can find the full sample code at SampleBarChart with Locale

BarChart コンストラクターにロケール メンバーが含まれるようになりました。これは、ホスト ロケール インスタンスと共にコンストラクター内でインスタンス化されます。The BarChart constructor now has a locale member, which is instantiated in the constructor with the host locale instance.

private locale: string;
...
this.locale = options.host.locale;

サポートされているロケール:Supported locales:

ロケール文字列Locale string 言語Language
ar-SAar-SA العربية (アラビア語)العربية (Arabic)
bg-BGbg-BG български (ブルガリア語)български (Bulgarian)
ca-ESca-ES català (カタルニア語)català (Catalan)
cs-CZcs-CZ čeština (チェコ語)čeština (Czech)
da-DKda-DK dansk (デンマーク語)dansk (Danish)
de-DEde-DE Deutsche (ドイツ語)Deutsche (German)
el-GRel-GR ελληνικά (ギリシャ語)ελληνικά (Greek)
en-USen-US English (英語)English (English)
es-ESes-ES español service (スペイン語)español service (Spanish)
et-EEet-EE eesti (エストニア語)eesti (Estonian)
eU-ESeU-ES Euskal (バスク語)Euskal (Basque)
fi FIfi-FI suomi (フィンランド語)suomi (Finnish)
fr-FRfr-FR français (フランス)français (French)
gl-ESgl-ES galego (ガリシア語)galego (Galician)
he-ILhe-IL עברית (ヘブライ語)עברית (Hebrew)
hi-INhi-IN हिन्दी (ヒンディー語)हिन्दी (Hindi)
hr-HRhr-HR hrvatski (クロアチア語)hrvatski (Croatian)
hu-HUhu-HU magyar (ハンガリー語)magyar (Hungarian)
id-IDid-ID Bahasa Indonesia (インドネシア語)Bahasa Indonesia (Indonesian)
it-ITit-IT italiano (イタリア語)italiano (Italian)
ja-JPja-JP 日本 (日本語)日本の (Japanese)
kk-KZkk-KZ Қазақ (カザフ語)Қазақ (Kazakh)
ko-KRko-KR 한국의 (韓国語)한국의 (Korean)
lt-LTlt-LT Lietuvos (リトアニア語)Lietuvos (Lithuanian)
lv-LVlv-LV Latvijas (ラトビア語)Latvijas (Latvian)
ms-MYms-MY Bahasa Melayu (マレー語)Bahasa Melayu (Malay)
nb-NOnb-NO norsk (ノルウェー語)norsk (Norwegian)
nl-NLnl-NL Nederlands (オランダ語)Nederlands (Dutch)
pl-PLpl-PL polski (ポーランド語)polski (Polish)
pt-BRpt-BR português (ポルトガル語)português (Portuguese)
pt-PTpt-PT português (ポルトガル語)português (Portuguese)
ro-ROro-RO românesc (ルーマニア語)românesc (Romanian)
ru-RUru-RU русский (ロシア語)русский (Russian)
sk-SKsk-SK slovenský (スロバキア語)slovenský (Slovak)
sl-SIsl-SI slovenski (スロベニア語)slovenski (Slovenian)
sr-Cyrl-RSsr-Cyrl-RS српски (セルビア語)српски (Serbian)
sr-Latn-RSsr-Latn-RS srpski (セルビア語)srpski (Serbian)
sv-SEsv-SE svenska (スウェーデン語)svenska (Swedish)
th-THth-TH ไทย (タイ語)ไทย (Thai)
tr-TRtr-TR Türk (トルコ語)Türk (Turkish)
uk-UAuk-UA український (ウクライナ語)український (Ukrainian)
vi-VNvi-VN tiếng Việt (ベトナム語)tiếng Việt (Vietnamese)
zh-CNzh-CN 中国 (簡体中国語)中国 (Chinese-Simplified)
zh-TWzh-TW 中國 (繁体中国語)中國 (Chinese-Tranditional)

注意

PowerBI Desktop のロケール プロパティには、インストールされている PowerBI Desktop の言語が含まれます。In the PowerBI Desktop the locale property will contain the language of the PowerBI Desktop installed.

Power BI ビジュアルのプロパティ ペインのローカライズLocalizing the property pane for Power BI visuals

プロパティ ペインのフィールドは、より統合され、一貫したエクスペリエンスを提供するようにローカライズできます。Fields in the property pane can be localized to provide more integrated and coherent experience. これにより、カスタム ビジュアルは他の Power BI コア ビジュアルと同様に動作します。It makes your custom visual behave like any other Power BI core visual.

たとえば、pbiviz new コマンドを使用して作成したローカライズされていないカスタム ビジュアルでは、プロパティ ペインに次のフィールドが表示されます。For example, a non-localized custom visual created by using the pbiviz new command, will show the following fields in the property pane:

プロパティ ペイン内のローカライズ

カテゴリ データとメジャー データは両方とも、capabilities.json ファイル内に displayName として定義します。both the Category Data and the Measure Data are defined in the capabilities.json file as displayName.

機能をローカライズする方法How to localize capabilities

まず、機能の中でローカライズするすべての表示名に表示名キーを追加します。First add a display name key to every display name you want to localize in your capabilities. この例は次のとおりです。In this example:

{
    "dataRoles": [
        {
            "displayName": "Category Data",
            "displayNameKey": "VisualCategoryDataNameKey1",
            "name": "category",
            "kind": "Grouping"
        },
        {
            "displayName": "Measure Data",
            "displayNameKey": "VisualMeasureDataNameKey2",
            "name": "measure",
            "kind": "Measure"
        }
    ]
}

次に、stringResources という名前のディレクトリを追加します。Then add a directory called stringResources. このディレクトリには、ビジュアルでサポートするロケールに基づいて、異なる文字列リソース ファイルを格納します。The directory will contain all your different string resource files based on the locales you want your visual to support. このディレクトリの下に、サポートするロケールごとに JSON ファイルを追加する必要があります。Under this directory, you'll need to add a JSON file for every locale you want to support. これらのファイルには、ロケール情報と、置換するすべての displayNameKey のローカライズした文字列値を含めます。Those files contain the locale information and the localized strings values for every displayNameKey you want to replace.

この例では、アラビア語とヘブライ語をサポートするとします。In our example, lets say we want to support Arabic and Hebrew. 次の方法で 2 つの JSON ファイルを追加する必要があります。We will need to add two JSON files in the following way:

文字列リソース フォルダー内のローカライズ文字列

JSON ファイルごとに、1 つのロケールを定義し (このファイルは上記のサポートされているリストのロケールの 1 つである必要があります)、対象の表示名キーの文字列値を含めます。Every JSON file defines a single locale (this file has to be one of the locales from the supported list above), with the string values for the desired display name keys. この例では、ヘブライ語の文字列リソース ファイルは次のようになります。In our example the Hebrew string resource file will look as follows:

{
    "locale": "he-IL",
    "values": {
        "VisualCategoryDataNameKey1": "קטגוריה",
        "VisualMeasureDataNameKey2": "יחידות מידה"
    }
}

ローカライズ マネージャーを使用するために必要なすべての手順を以下に示します。All the required steps to use the localization manager are described below.

注意

現時点では、ローカライズは、開発者向けビジュアルのデバッグ用にはサポートされていませんCurrently, localization is not supported for debugging the dev visual

環境の設定Setup environment

デスクトップDesktop

デスクトップの使用方法については、Power BI デスクトップのローカライズ版を https://powerbi.microsoft.com からダウンロードします。For desktop usage, download the localized version of Power BI desktop from https://powerbi.microsoft.com.

Web サービスWeb service

サービスで Web クライアント (ブラウザー) を使用する場合は、[設定] で言語を変更します。If you use the web client (browser) in the service, then change your language in settings:

Web サービスでのローカライズ

リソース ファイルResource file

stringResources フォルダー内の使用するロケールの名前を付けたフォルダーに、resources.resjson ファイルを追加します。Add a resources.resjson file to a folder named as the locale you're going to use inside of the stringResources folder. この例では、en-US と ru-RU です。It is en-US and ru-RU in our example.

新しい resjson ファイル

その後、使用するすべてのローカライズ文字列を、前の手順で追加した resources.resjson ファイルに追加します。After that, add all the localization strings you are going to use into the resources.resjson file you've added in the previous step.

{
    ...
    "Role_Legend": "Обозначения",
    "Role_task": "Задача",
    "Role_StartDate": "Дата начала",
    "Role_Duration": "Длительность"
    ...
}

次のサンプルは、resources.resjson ファイルの en-US バージョンです。This sample is the en-US version of resources.resjson file:

{
    ...
    "Role_Legend": "Legend",
    "Role_task": "Task",
    "Role_StartDate": "Start date",
    "Role_Duration": "Duration"
    ...
}

新しい localizationManager インスタンスでは、次のようにビジュアルのコードで localizationManager のインスタンスを作成しますNew localizationManager instance Create an instance of localizationManager in your visual's code as follows

private localizationManager: ILocalizationManager;

constructor(options: VisualConstructorOptions) {
    this.localizationManager = options.host.createLocalizationManager();
}

localizationManager の使用例localizationManager usage sample

resources. resjson で定義した文字列キー引数を使用して、ローカライズ マネージャーの getDisplayName 関数を呼び出して、コード内の任意の場所で必要な文字列を取得できるようになりました。Now you can call the getDisplayName function of the localization manager with the string key argument you defined in resources.resjson to get the required string anywhere inside of your code:

let legend: string = this.localization.getDisplayName("Role_Legend");

en-US の場合は "Legend"、ru-RU の場合は "Обозначения" が返されますIt returns "Legend" for en-US and "Обозначения" for ru-RU

次の手順Next steps