I am creating a series of blog posts that collectively are designed to help anyone preparing for the Microsoft Power Platform + Dynamics 365 Core exam. (aka MB-200) In this post I will look at concepts around languages and translations.
There is a section of the MB-200 skills measured statement which references languages. It is under the heading “Perform system administration” and is within the “Perform solutions deployment and testing” sections of the exam.
The Power Platform and Dynamics 365 supports many languages. Including English, Arabic, Chinese, Dutch, French, German, Spanish and many more. Each instance has a base language. Additionally we can enable multiple other languages in one instance.
Each Dynamics 365 organisation will have a base language, just like it has a base currency. The base language is defined when you first enable an instance / environment and cannot be changed.
I assume you will often be testing Dynamics 365 using a trial instance! Below you can see that whilst creating a trial it prompts me to confirm my currency. I also have an option to select my language. (These will have been defaulted for me but you can override these settings.)
By clicking the “Change currency” option you can influence your base currency and region settings. Below you can see that before starting my setup I have changed my region to Netherlands.
After my Dynamics 365 instance was ready, as you can see below, it was in the Dutch language. Meaning my base language was now fixed to Dutch. (Not much use for me as I speak very little Dutch. But still testing out the process of creating an instance with an alternative language is a useful learning experience!)
We can also create a Power Platform instance without Dynamics 365. Below you can see that in the Power Platform admin center I am creating a new environment. Having clicked the new button I give my instance a name, select a region and define the type of instance. (Possible types are sandbox, trial or production.)
Having clicked next, I can select the default language and currency for this environment. You can see that I have again selected Dutch as my language.
As part of your revision I suggest creating a trial or environment with a different base language. Even if (like me) you don’t speak another language! As you the point here is to understand the process or creating an instance with a different language.
Enable Additional Languages
You may have a requirement to operate a single system in multiple languages. This is also possible. First create your instance with a suitable base language. Then you can enable multiple other languages in the power platform admin center.
Below you can see that I have selected my instance and then I can use the settings option to access many system settings. Including an option to enable additional languages.
Within settings under the heading of “Product” you will find the languages option.
Within the language settings option you can select one or more additional languages. Having selected a new language you simply click the apply button and wait a few minutes for the language to be enabled.
Once multiple languages have been enabled your users can decide which language suits them best. This is done within their personal options.
The personalization settings option can be found from the “cog” icon within an application.
Below you can see that within the languages tab a user can select any of the enabled languages.
Notice that they can opt for different languages for the help pages and user interface. Also notice that the base language is shown but greyed out. As it can’t be changed.
Whilst enabling several languages will have created a system that can operate in multiple languages doing “just” that will probably not be enough! As whenever you create a custom entity / field any field names will only be in the local language. Therefore to fully support an alternative languages you may need to provide translations for all your custom fields labels.
To do this we need to export the text, edit the translations and import the text back into the system.
As an example, I decided to complete a quick test of this process! Below you can see that I have added several custom fields to the contact entity in my system. In my system it was useful to flag which of my contacts were MVPs or speakers at certain types of events etc. But as you can see despite my system having the Dutch language enabled these fields remain in English.
To resolve this issue we first export the translations. To do this open a solution containing the entities in question and use the export translations option. Below you can see that I have opened a solution in make.powerapps.com. I called my test solution “Language Demo” and just included my contact entity.
Once exported you will have a zip file that includes a file called “CrmTranslations.xml”. This file will need to be changed. To do this extract the contents of the zip file and open the file in a suitable editor. (I just used Excel!)
I have shown a copy of the file opened in Excel below. Notice that on the localized labels tab I can see all of the text values from my contact entity. A column is created for language 1033. (1033 being the code for the UK, which is my base currency.)
I then have two other columns for languages 1036 and 1043. These are French and Dutch as I have these languages enabled in my instance. Now I “simply” need to find any rows without an entry in these columns and enter the required translation.
Once you have completed all of your changes create a new zip file.
Having created a new zip file, I used the import translations option to apply my changes. Not forgetting to use the publish all customizations option after the import completed.
Below you can see that I entered the correct Dutch phrases for “Professional” and “Saturday”. Being just a test (and because I am lazy) I only changed these fields!
Assuming you try this you should find this process is quite simple. BUT you may need to consider that on a heavily customized system entering all of the translations for multiple languages could be a significant undertaking.
Hopefully I have given you a good introduction into language settings for the Power Platform / Dynamics 365. As always, I encourage you to get some hands on experience as part of your exam revision. I suggest you try enabling multiple languages and translating some custom fields. Enjoy!