次の方法で共有


複数言語をサポートするためのラベルのカスタマイズ

Dynamics 365 Customer Engagement (on-premises) でカスタマイズを作成するときは、ラベルを使用することで複数の言語をサポートできます。

ラベルの使用

Microsoft.Xrm.Sdk.dll Web API
Label クラス ラベル ComplexType
LocalizedLabel クラス LocalizedLabel ComplexType

ラベルは、クライアント アプリケーションでユーザーに表示されるローカライズされた文字列です。 それらは、言語パックをサポートする Label (ラベル ComplexType または Label クラス) を使用して実装されます。 エンティティの表示名やオプション セット内のオプションなど、ユーザーに表示される文字列は複数の言語で保存できます。 ユーザーは、Dynamics 365 Customer Engagement (on-premises) のフォームおよびビューに表示する言語を選択できます。

次の表に、Label を使用するすべてのメタデータの一覧を示します。

メタデータ プロパティ 内容
AttributeMetadata.Description 属性の説明。
AttributeMetadata.DisplayName 属性の表示名。
EntityMetadata.Description エンティティの説明。
EntityMetadata.DisplayCollectionName エンティティの複数形での表示名。
EntityMetadata.DisplayName エンティティの表示名。
AssociatedMenuConfiguration.Label 1 対 1 のエンティティ関連付けで使用されるラベル。
OptionMetadata.Label 候補リスト、状態、またはステータス属性のオプションで使用されるラベル。

Label には、インストールされている言語ごとに 1 つずつ文字列を格納することができます。 この配列は LocalizedLabels プロパティです。 常に、基本言語用に格納されたラベルが存在する必要があります。 その他の言語のラベルは null にすることができます。 ユーザーがユーザー インターフェイスをある言語で表示するときに、その言語の文字列のラベルがない場合は、基本言語のラベルが使用されます。

UserLocalizedLabel プロパティを使用して、ユーザーが選択した言語のラベルを取得できます。

ラベルで使用するメッセージ

以下の表には、複数の言語をサポートするためにローカライズされたラベルの操作に使用できるメッセージを一覧表示します。 翻訳のインポート時は、ソリューションのインポート時と同じ方法でインポート ジョブに基づいてレポートを生成できます。 詳細については、ソリューションのインストールまたはアップグレード を参照してください。

メッセージ Web API 操作 SDK アセンブリ
ExportTranslation
特定のソリューションのすべての翻訳を圧縮ファイルにエクスポートします。
ExportTranslation アクション ExportTranslationRequest
ImportTranslation
圧縮ファイルからすべての翻訳をインポートします。
ImportTranslation アクション ImportTranslationRequest
RetrieveFormattedImportJobResults
ImportJob の結果を、Office Excel で開ける形式の XML ドキュメントとして取得します。
RetrieveFormattedImportJobResults 関数 RetrieveFormattedImportJobResultsRequest
RetrieveLocLabels
指定された属性のローカライズされたラベルを取得します。
RetrieveLocLabels 関数 RetrieveLocLabelsRequest
SetLocLabels
指定された属性のローカライズされたラベルを設定します。
SetLocLabels アクション SetLocLabelsRequest

基本言語のラベルのカスタマイズ

カスタマイズ ツールにはエンティティの表示名を編集する方法が用意されており、これらのプロパティをプログラムでカスタマイズできます。 エンティティ メッセージを編集することもできます。 ただし、すべてのメッセージが公開されるわけではありません。 アプリケーションで使用されるテキストを見つけてカスタマイズする別の方法は、翻訳をエクスポートし、基本言語の値を編集し、翻訳を再度インポートすることです。 これはこの機能の本来の目的ではありませんが、アプリケーションで使用されるテキストを識別してカスタマイズするためにサポートされている方法です。 詳細については、エンティティのメッセージの変更 を参照してください。

カスタマイズされたエンティティおよび属性のテキストの翻訳

アプリケーションのカスタマイズは基本言語でのみ実行できるので、カスタマイズ用のローカライズされたラベルを用意する場合は、組織で使用できる他の言語にローカライズできるように、ラベルのテキストをエクスポートする必要があります。

カスタマイズされたテキストの翻訳用のエクスポート

翻訳は、Web アプリケーションまたは ExportTranslation メッセージ (ExportTranslation アクション、または ExportTranslationRequest クラス) を使用してエクスポートすることができます。

エクスポートされたテキストは、Office Excel を使用して開く CrmTranslations.xml を含む、圧縮ファイルとして保存されます。 翻訳担当者、翻訳会社、およびローカリゼーション会社にはこのファイルを送信できます。

翻訳されたテキストのインポート

カスタマイズされたエンティティまたは属性のテキストをエクスポートし、翻訳したら、ImportTranslation メッセージ (ImportTranslation アクション、または ImportTranslationRequest クラス) を使用して、Web アプリケーション内に翻訳済みのテキスト文字列をインポートすることができます。 インポートするファイルは、エクスポートされたときの CrmTranslations.xml および [Content_Types].xml ファイルを格納する圧縮ファイルである必要があります。

完了した翻訳をインポートした後、カスタマイズされたテキストは、そのテキストの翻訳後の言語を使用するユーザーに表示されます。

Note

Dynamics 365 Customer Engagement (on-premises) では、500 文字を超える長さの翻訳済みテキストをインポートすることはできません。 翻訳ファイル内の任意のアイテムが 500 文字を超える長さの場合、インポート プロセスは失敗します。 インポート プロセスが失敗した場合は、失敗の原因となったファイル中の行を確認し、文字数を減らしてから再度インポートを試みてください。

カスタマイズは基本言語でのみサポートされるので、言語選択で設定した基本言語で Dynamics 365 Customer Engagement (on-premises) を操作している可能性があります。 翻訳済みテキストが表示されることを確認するには、Dynamics 365 Customer Engagement (on-premises) のユーザー インターフェイスの言語選択を変更する必要があります。 カスタマイズに関する追加の作業を行うには、基本言語に戻す必要があります。

組織で使用する言語の管理

Dynamics 365 Customer Engagement (on-premises) では、サーバー上に複数の言語パックをインストールして、ユーザーが言語パックを選択できるようにすることができます。 言語パックをインストールする方法については、言語を有効にする を参照してください。 このセクションには、組織のためにインストールされた言語の管理で使用するメッセージに関する情報が含まれています。

次の表に、言語パックを操作する際に使用するメッセージを示します。 これらのメッセージは IOrganizationService.Execute メソッドで使用します。

メッセージ Web API 操作 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

参照

Dynamics 365 Customer Engagement (on-premises) のメタデータ モデルの拡張
カスタマイズDynamics 365 Customer Engagement (on-premises)
エンティティのメッセージの変更
AttributeMetadata
EntityMetadata
OptionMetadata