“Small things can make a big difference”
Yes this is what Microsoft has done in their latest release of CRM 2015 for Products.
In our earlier blog Product
Catalog enhancement in CRM 2015, I briefly explained about all areas of
Product Catalog that are modified in CRM 2015.
In this blog we have explained how the product
localization works and how we can setup that in CRM 2015.
If we take an example of a multinational
clothing company, and suppose that company sells “Trousers” in USA, Spain and China, then in earlier versions of CRM we
needed to create 3 products with following names.
- Trousers for US English
- Pantalones for Spanish
- 褲子 for Chinese
But now in CRM 2015, you just need to
create only one Product record and you can localize the name of that product
for all of the installed languages.
Along with Product name you can localize
the following properties of the Products.
- Product.Name
- DynamicProperty.Name
- DynamicPropertyOptionSetItem.DynamicPropertyOptionName
- DynamicPropertyOptionSetItem.DynamicPropertyOptionDescription
I have created one Product Family in CRM
named Trousers, and added 2 properties one is Size and another is Type, as shown
below.
Type is an Option Set property, and we have
added 2 types into that.
Now I would like to set the Name in the
Spanish language as well. Hence I have changed my language to Spanish and again
opened the same product record. But this time it shows Name of product and
properties in Read-only format. As shown below.
So the question is, how can we change the
name in different languages?
Don’t worry, you just need to follow the
below steps for localization of the Product.
- Open CRM, and go to Settings à Data Management.
- Now click on the Export Field Translation link, as shown below.
It will export “CrmFieldTranslations.zip” file.
- Extract that zip file then you will see the following 2 XML files.
1.
[Content_Types].xml
2.
CrmFieldTranslations.xml
As shown below.
- Now you need to edit the “CrmFieldTranslations.xml” file in excel, then you will see Localize Labels sheet. As shown below.
In that sheet, you
can see the columns for the various installed languages in the System. Those column
names indicate the language codes of the installed languages in the CRM.
1.
1003: for US English
2.
1036: for French
3.
2052: for Chinese
4.
3082: for Spanish.
And apart from
language columns this sheet contains the following additional columns as well.
1.
Entity Name: It displays the name of
Entity like Product, or DynamicProperty etc…
2.
Object Id: It displays the Guid of
corresponding Product or DynamicProperty record.
3.
Object Column Name: It display the field
name of the corresponding entity.
- Now you need to set the corresponding values for the various languages, as shown below, I have set the values for French, Chinese and Spanish languages.
- Now you need to save the “CrmFieldTranslations.xml” file and again zip the “[Content_Types].xml” and “CrmFieldTranslations.xml” files. As shown below.
- Click on “Import Field Translations”.
- Then select our zip file and click on the OK button.
After completing the import, if you change
your language, then you can see the Name and other Description in other
languages as well. As shown in below screens.
In Spanish
In
Chinese
Below I have given some important facts
about Product Localizations.
- Records with localized attributes are read-only unless your preferred language is the organization’s base language. You can’t manually change the products values of localized attributes into different languages.
- If your language in CRM is not the Organisation’s base language, then you can’t create the Product record.
- When you query on product using values for localized attributes, the conditions will be evaluated using your preferred language first and will revert to the base language if there is no localized value for that attribute.
And there is product defined in CRM and the name of that product is as follows.
In English: Trousers
In Spanish: Pantalones
Now suppose, your preferred language is Spanish and if you search product with name “Trousers”, then first it will search in your referred language i.e. Spanish, but it will not find any result. After that, it will search in using the Base language and display the result. As shown below.
Hope this will help you!