複数言語をサポートするためのラベルのカスタマイズ
Microsoft Dataverse でカスタマイズを作成するときは、ラベルを使用することで複数の言語をサポートできます。
ラベルの使用
| Microsoft.Xrm.Sdk.dll | Web API |
|---|---|
| Label クラス | Label ComplexType |
| LocalizedLabel クラス | LocalizedLabel ComplexType |
ラベルは、クライアント アプリケーションでユーザーに表示されるローカライズされた文字列です。 それらは、言語パックをサポートする Label (Label ComplexType または Label クラス) を使用して実装されます。 表示名や選択肢など、ユーザーに表示される文字列は複数の言語で保存できます。 ユーザーは、Dataverse のフォームおよびビューに表示する言語を選択できます。
次の表に、Label を使用するすべてのテーブル定義の一覧を示します。
| テーブル定義プロパティ | 内容 |
|---|---|
| AttributeMetadata.Description | 列の説明。 |
| AttributeMetadata.DisplayName | 列の表示名。 |
| EntityMetadata.Description | テーブルの説明。 |
| EntityMetadata.DisplayCollectionName | テーブルの複数表示名。 |
| EntityMetadata.DisplayName | テーブルの表示名。 |
| AssociatedMenuConfiguration.Label | テーブル リレーションシップのテーブルに使用されるラベル。 |
| OptionMetadata.Label | 選択肢、状態、または状態コードの値に使用されるラベル。 |
Label には、インストールされている言語ごとに 1 つずつ文字列を格納することができます。 この配列は LocalizedLabels プロパティです。 常に、基本言語用に格納されたラベルが存在する必要があります。 その他の言語のラベルは null にすることができます。 ユーザーがユーザー インターフェイスをある言語で表示するときに、その言語の文字列のラベルがない場合は、基本言語のラベルが使用されます。
UserLocalizedLabel プロパティを使用して、ユーザーが選択した言語のラベルを取得できます。
ラベルで使用するメッセージ
以下の表には、複数の言語をサポートするためにローカライズされたラベルの操作に使用できるメッセージを一覧表示します。 翻訳のインポート時は、ソリューションのインポート時と同じ方法でインポート ジョブに基づいたレポートを生成できます。 詳細については、アンマネージド ソリューションのインポートを参照してください。
| メッセージ | Web API 操作 | SDK アセンブリ |
|---|---|---|
| ExportTranslation特定のソリューションのすべての翻訳を圧縮ファイルにエクスポートします。 | ExportTranslation Action | ExportTranslationRequest |
| ImportTranslation圧縮ファイルからすべての翻訳をインポートします。 | ImportTranslation Action | ImportTranslationRequest |
| RetrieveFormattedImportJobResultsインポート ジョブの結果を、Office Excel で開ける形式の XML ドキュメントとして取得します。 | RetrieveFormattedImportJobResults Function | RetrieveFormattedImportJobResultsRequest |
| RetrieveLocLabels指定した列のローカライズされたラベルを取得します。 | RetrieveLocLabels Function | RetrieveLocLabelsRequest |
| SetLocLabels指定した列のローカライズされたラベルを設定します。 | SetLocLabels Action | SetLocLabelsRequest |
基本言語のラベルのカスタマイズ
カスタマイズ ツールには表示名を編集する方法が用意されており、これらのプロパティをプログラムでカスタマイズできます。 メッセージを編集することもできます。 ただし、すべてのメッセージが公開されるわけではありません。 アプリケーションで使用されるテキストを見つけてカスタマイズする別の方法は、翻訳をエクスポートし、基本言語の値を編集し、翻訳を再度インポートすることです。 これはこの機能の本来の目的ではありませんが、アプリケーションで使用されるテキストを識別してカスタマイズするためにサポートされている方法です。 詳細については、テーブルのメッセージの変更 を参照してください。
カスタマイズしたテーブルおよび列テキストの翻訳
アプリケーションのカスタマイズは基本言語でのみ実行できるので、カスタマイズ用のローカライズされたラベルを用意する場合は、組織で使用できる他の言語にローカライズできるように、ラベルのテキストをエクスポートする必要があります。
カスタマイズされたテキストの翻訳用のエクスポート
翻訳は、Web アプリケーションまたは ExportTranslation メッセージ (ExportTranslation Action または ExportTranslationRequest クラス) を使用してエクスポートすることができます。
エクスポートされたテキストは、Office Excel を使用して開く CrmTranslations.xml を含む、圧縮ファイルとして保存されます。 翻訳担当者、翻訳会社、およびローカリゼーション会社にはこのファイルを送信できます。
詳細は、Office 2003 XML リファレンス スキーマを参照してください。
翻訳されたテキストのインポート
カスタマイズされたテーブルまたは列のテキストをエクスポートし、翻訳したら、ImportTranslation メッセージ (ImportTranslation Action または ImportTranslationRequest クラス) を使用して、Web アプリケーション内に翻訳済みのテキスト文字列をインポートすることができます。 インポートするファイルは、エクスポートされたときの CrmTranslations.xml および [Content_Types].xml ファイルを格納する圧縮ファイルである必要があります。
完了した翻訳をインポートした後、カスタマイズされたテキストは、そのテキストの翻訳後の言語を使用するユーザーに表示されます。
注意
Dataverse では、500 文字を超える長さの翻訳済みテキストをインポートすることはできません。 翻訳ファイル内の任意のアイテムが 500 文字を超える長さの場合、インポート プロセスは失敗します。 インポート プロセスが失敗した場合は、失敗の原因となったファイル中の行を確認し、文字数を減らしてから再度インポートを試みてください。
カスタマイズは基本言語でのみサポートされるので、言語選択で設定した基本言語で Dataverse を操作している可能性があります。 翻訳済みテキストが表示されることを確認するには、Dataverse のユーザー インターフェイスの言語選択を変更する必要があります。 カスタマイズに関する追加の作業を行うには、基本言語に戻す必要があります。
組織で使用する言語の管理
Dataverse では、サーバー上に複数の言語パックをインストールでき、ユーザーが言語パックを選択できます。 言語パックをインストールする方法については、言語を有効にする を参照してください。 このセクションには、組織のためにインストールされた言語の管理で使用するメッセージに関する情報が含まれています。
次の表に、言語パックを操作する際に使用するメッセージを示します。 これらのメッセージは IOrganizationService.Execute メソッドとともに使用します。
| メッセージ | Web API 操作 | SDK アセンブリ |
|---|---|---|
| DeprovisionLanguage言語のプロビジョニングを解除するために必要なデータを格納します。 | DeprovisionLanguage Action | DeprovisionLanguageRequest |
| ProvisionLanguage新しい言語をプロビジョニングするために必要なデータを格納します。 | ProvisionLanguage Action | ProvisionLanguageRequest |
| RetrieveAvailableLanguages使用可能な言語の一覧を取得します。 | RetrieveAvailableLanguages Function | RetrieveAvailableLanguagesRequest |
| RetrieveDeprovisionedLanguagesサーバーにインストール済みの言語パックのうち、無効になっているものの一覧を取得します。 | RetrieveDeprovisionedLanguages Function | RetrieveDeprovisionedLanguagesRequest |
| RetrieveInstalledLanguagePacksサーバーにインストール済みの言語パックの一覧を取得するために必要なデータを格納します。 | RetrieveInstalledLanguagePacks Function | RetrieveInstalledLanguagePacksRequest |
| RetrieveInstalledLanguagePackVersionインストール済みの言語パックのバージョンを取得するために必要なデータを格納します。 | RetrieveLicenseInfo Function | RetrieveInstalledLanguagePackVersionRequest |
| RetrieveProvisionedLanguages有効になっているサーバーにインストールされている言語パックの一覧を取得します。 | RetrieveProvisionedLanguages Function | RetrieveProvisionedLanguagesRequest |
| RetrieveProvisionedLanguagePackVersionサーバーにインストールされている言語パックのバージョンを取得します。 | RetrieveProvisionedLanguagePackVersion Function | RetrieveProvisionedLanguagePackVersionRequest |
関連項目
Dynamics 365 のテーブル定義モデルを拡張する
Dynamics 365 をカスタマイズする
テーブルのメッセージを変更する
AttributeMetadata
EntityMetadata
OptionMetadata
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。
フィードバック
フィードバックの送信と表示