複数言語をサポートするためのラベルのカスタマイズ
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