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