For quite a while, I was thinking of creating and sharing a gimmick for Microsoft Dynamics 365 for Finance and Operations. There are currently, as per standard application, two methods to change the language on the interface. I created a new option which would be easier to use in several scenarios. In this post you will read about the new option and how you can get the feature for free.
Reasons to change the language
What would make the need for changing the session language? There are various reasons to mention. The first reason is when your user account has been created with the wrong default language.
The second reason is when you want to deliver support in an international environment. Your default language might be different compared to your colleague. When you want to compare screens or forms in some cases you would like to or change your language of the language from your colleague. That would make it easy to e.g. see if all options are provided via security configuration.
Another reason is related to testing. If you need to create a solution in multiple languages, then you need to verify if the translated labels also make sense in the correct context. E.g. the word invoice could be interpreted as a noun or a verb. In many cases, when reviewing the label files, you won’t find such errors. In the application context, you may find the error. For sure you will have a great laugh when a translation will make the application ridiculous.
My reason in most cases is that I want to verify sometimes the Dutch language. I always set the default language to English to better understand the application and learn the English business language. Sometimes, I need to look at the Dutch version. Then I need to switch my language.
There might be more reasons, but enough for now. I will briefly first mention the two methods which you can use with the standard application. Thereafter, I will tell you about my open source project to support the change of the session language with a dialog form.
Default user language
When you go to the User options form, you can change the user language, like I also explained before in one of my blogs related to personalization. The personalization blogs are already outdated. Forms look different in the latest version. So, here is a recent screenshot where you can change the default language.
When you have changed the default language, you need to reload the Dynamics 365 application in the browser to have the language change effective. If you want to switch back, you again need to change it in the user options.
Language in URL query
When you want to change the language without changing the default language on the user options form, you can manipulate the URL. There is a query parameter called “lng” which can also switch the session language. E.g. “https://dynamicspedia.cloudax.dynamics.com/?cmp=USMF&mi=DefaultDashboard&lng=nl” would open the application in the Dutch language regardless the language setting on the user options.
There are some disadvantages using URL manipulation.
- It is error prone; you can make typos or accidentally change a part of the URL
- You must know the language locale for each language you want to use
- When you are using the new Chromium based Edge browser and have installed Dynamics 365 as an app, you are not able to change the URL
As you can read and conclude, the standard options are good, but it might be easier to have a support in the user interface to be able to change the session language without changing the default language or altering the URL.
Session language utility
To have a more convenient way of changing the session language, I did create a form which is listing all languages supported in your environment. Then you can choose which language you would like to activate temporary. I will start with a short introduction and then provide some more details about the solution and where you can download the solution and source code.
When you want to launch the Session language dialog, you can click the configuration icon and select the option Session language as showed in the next screenshot.
This menu item will open a dialog where you can search for your required language.
The dialog has three menu items which have the following actions:
|Apply||This action will change the current session language and reload the Dynamics 365 form which is currently opened.|
|Reset||This action will reset the session language and will reload Dynamics 365 with your own default language.|
|Set default||This action will change the default language on the User options form.|
You can see the utility in action on the next YouTube demo.
Now you know what this tool is about, I will reveal where you can get a free version and source coding of the session language utility. I have released the features on GitHub. Feel free to download and use it where-ever you want to install it. There is only one restriction. It is not allowed to commercially use the software and earn money by selling it to customers. The GitHub project can be found here: https://github.com/Dynamicspedia/Session-language-Microsoft-Dynamics-365
Within the release, you will find three different options to deploy the solution. You can use a deployable package, model or project installation. All options will give you the same functionality. If you have suggestions or feedback, please comment below or use the contact form on this website.
I have used the Dynamics 365 Translation services to translate this utility in all languages available with the standard application. You can eventually use these services to add additional local languages. As I’m not familiar with all languages, I have not verified the correctness of the translations. For this, I would like to ask your help!! If you find wrong label translations, in your environment, please provide me this information. Then I can create a new release with correct labels.
The session language feature has a new privilege which has been added to the System user security role. This means that every user in Microsoft Dynamics 365 would be able to use this utility. If you want to restrict this, you can use the security configuration form to change it or have a developer changing the source code in Visual Studio. This information is also important for your security compliance when you need to report changes to auditors.
The software is provided as-is. You may freely use and modify the utility to your needs. The use and installation of this utility is at your own risk. I cannot be held liable for any error or damage in your environments. For this reason, please first deploy it on a test environment which is not important in your project. Test it carefully before using it eventually in a customer production environment. I have only tested it on my own sandboxes.
One more small comment. The first time you will change the language to a language which has not used before, it will need to build some cache. This is due to the nature of the Microsoft Dynamics 365 technology. In this utility, I can’t improve the performance when you use a language the first time. After a restart of the services, the cache also needs to be recreated.
I do hope you liked this post and will add value for you in your daily work as a professional. If you have related questions or feedback, don’t hesitate to use the Comment feature below.
That’s all for now. Till next time!