Customize labels to support multiple languages
Applies To: Dynamics CRM 2013
When you create customizations in Microsoft Dynamics CRM, you can support multiple languages by using labels.
In This Topic
Using labels
Messages to use with labels
Customize labels in the base language
Translate customized entity and attribute text
Manage languages for your organization
Using labels
Labels are localized strings displayed to users in the client applications. They are implemented by using the Label class, which supports language packs. Strings that are displayed to users, such as entity display names or options in an option set, can be stored in multiple languages. Users can select which language they want displayed in forms and views in Microsoft Dynamics CRM.
The following table lists all of the metadata that uses the Label class.
Metadata property |
Description |
---|---|
Description for an attribute. |
|
Display name for an attribute. |
|
Description for an entity. |
|
Plural display name for an entity. |
|
Display name for an entity. |
|
Label used for an entity in an entity relationship. |
|
Label used for an option in a picklist, state, or status attribute. |
The Label class can store one string for each installed language. This array is the LocalizedLabels property. There must always be a label stored for the base language. The labels for other languages can be null. If the user wants to display the user interface in a language and a label does not have a string for that language, the label for the base language is used.
You can use the UserLocalizedLabel property to retrieve the label for the language chosen by the user.
Messages to use with labels
The following table lists the messages you can use to work with localized labels to support multiple languages. When you import translations you can generate a report based on the import Jjob in the same way you can when importing a solution. For more information, see Install or upgrade a solution.
Message |
Description |
---|---|
Exports all translations for a specific solution to a compressed file. |
|
Imports all translations from a compressed file. |
|
Retrieves the results of an ImportJob as an XML document designed to be opened using Microsoft Office Excel. |
|
Retrieves the localized labels for the specified attribute. |
|
Sets the localized labels for the specified attribute. |
Customize labels in the base language
The customization tools provide ways to edit entity display names and you can customize these properties programmatically. You can also edit entity messages. But not every message is exposed. Another way to locate and customize text used in the application is to export the translations, edit the values for the base language and import the translations again. Although this is not the intended purpose of this feature it is a supported way to identify and customize text used in the application. For more information, see Modify the messages for an entity.
Translate customized entity and attribute text
Because you can only perform customizations in the application by using the base language, when you want to provide localized labels for these customizations you must export the text of the labels so that they can be localized for any other languages enabled for the organization.
Export customized text for translation
You can export the translations in the Web application or by using the ExportTranslationRequest message.
Exported text is saved as a compressed file that contains a CrmTranslations.xml that you open by using Microsoft Office Excel. You can send this file to a linguistic expert, translation agency, or localization firm.
For more information, see Office 2003 XML Reference Schemas.
Import translated text
After you have exported the customized entity or attribute text and had it translated, you can import the translated text strings in the Web application by using the ImportTranslationRequest message. The file that you import must be a compressed file that contains the CrmTranslations.xml and the [Content_Types].xml file just as they were exported.
After you import the completed translations, customized text appears for users who work in the languages that you had the text translated into.
Note
Microsoft Dynamics CRM cannot import translated text that is over 500 characters long. If any of the items in your translation file are longer than 500 characters, the import process will fail. If the import process fails, review the line in the file that caused the failure, reduce the number of characters, and try to import again.
Because customization is supported only in the base language, you may be working in Microsoft Dynamics CRM with the base language set as your language preference. To verify that the translated text appears, you must change your language preference for the Microsoft Dynamics CRM user interface. To perform additional customization work, you must change back to the base language.
Manage languages for your organization
Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online enables you to install multiple language packs on a server and allows the user to select a language pack. For more information about how to install language packs, see the Installing Guide, Install and deploy a language pack. This section contains information about messages used to manage languages installed for your organization.
The following table lists the messages that you use to work with language packs. Use these messages with the Execute method.
Message |
Description |
---|---|
Contains the data needed to deprovision a language |
|
Contains the data needed to provision a new language. |
|
Retrieves the list of available languages. |
|
Retrieves the list of language packs installed on the server that have been disabled. |
|
Contains the data needed to retrieve the list of language packs installed on the server. |
|
Contains the data needed to retrieve the version of an installed language pack. |
|
Retrieves the list of language packs installed on the server that are enabled. |
|
Retrieves the version of the language packs installed on the server. |
See Also
Extend the metadata model
Developers guide to customization for Microsoft Dynamics CRM 2013
Modify the messages for an entity