If your Dynamics NAV customers operate in a number of countries, you must ensure that the software complies with country-specific laws, regulations and common business practices to meet legal obligations for activities conducted in each country.
The process of adapting software to meet local laws or requirements is called localization.
Microsoft has adapted specific commercial requirements, language, national or international functionality to address specific tax, accounting or financial reporting requirements for countries where Dynamics NAV is generally available.
Dynamics NAV software is also multilanguage enabled and that allows users to view the user interface in the language of their choice.
However, Microsoft does not provide localization, translations, or technical support for Dynamics NAV software in all countries. In that case, developers must create the localization themselves.
Although this might sound like a time-consuming task, the good news is that localization is now a simpler process using Dynamics NAV Extensions to handle the customization.
Adding functionality with Extensions
Dynamics NAV Extensions are packages that contain additional functionality, report layouts, permissions, and more. The packages can be easily installed, uninstalled and upgraded, enabling developers to extend the functionality of the software without modifying Microsoft’s original source code.
Extensions are the runtime application of objects and object deltas for a specific combination of an extension package and a tenant. When an Extension is published to a Dynamics NAV deployment, it compiles the objects in it against the current application database.
When the Extension installs for a tenant, it stores the association and builds the relevant database schema. At runtime, Dynamics NAV simply loads the associated objects for that Extension and tenant.
This makes upgrades much easier. For example, when you upgrade the software with a cumulative update, you no longer need to merge all the customized objects.
Using Extensions for localization
Dynamics NAV Extensions enable you to add functionality such as localization without changing Microsoft’s standard solutions. Currently, you can do this by adding Microsoft’s translation files to Extensions.
Aleksandar Totovic, writing in his Dynamics Blog, describes this as “the first step in providing localization via Extensions.” He points out that “translation will not be made as before, and now we need to accept a different approach, but the feature is here.”
Using the translation facility, you can create localized versions that provide users with the same convenient interface as their counterparts in countries with official Microsoft localization support.
Users will be able to change the language that is used to display text. The change is immediate, once they have been automatically signed out and in again. The setting applies to individual users and not to everyone else in their organization.
Working with translation files
As part of the NAV Development Preview November 2017 update, Microsoft improved the translation feature to include support for XLIFF files. You can enable this by opening the app.json file and add “features”: “TranslationFile”.
You then use the package command (Ctrl+Shift+B) in Visual Studio Code to create a /Translations folder with the .xlf files ready for translation.
The new .xlf file will include all labels, label properties and report labels ready for translation. When you have specified the target language and translation is complete, include the renamed .xlf file in the /Translations folder. Next time the Extension is published, it will be translated to your language of choice.
However, the .xlf files approach cannot be used for translating the base application. If you are working on a translation or localization, you must take the .txt file containing the base application translation, and place the file in the root folder of your Extension. When the Extension is compiled, the .txt file is then packaged with the Extension. Microsoft recommends using only one .txt file per language.
Simplifying translations with Microsoft Dynamics Lifecycle Services
A translation feature in Microsoft Dynamics Lifecycle Services (LCS) can help you quickly translate an AL Extension. Once the newly created .xlf is complete, you submit your source file to the Microsoft Dynamics 365 Translation Service. The process is straightforward.
Sign into Microsoft Dynamics Lifecycle Services and select the Translation Service. Follow the instructions to create and submit a request for translation. You will receive an email confirming your request followed later by a link for downloading and extracting the translated file.
The Translation Service uses a machine translation system that is custom-trained for Microsoft General Availability (GA) languages to maximize the quality of the translation. To ensure consistency, the service supports translation recycling from the linguistic assets of Microsoft Dynamics, partners and ISVs. That means identical strings are translated once and reused consistently.
Meeting localization requirements
Language translation is just part of the localization process. To create a customized version, you must meet Microsoft’s minimum viable product scope for localization before submitting the application to AppSource.
This is a summary of the requirements.
- Develop your extension in Visual Studio Code.
- Include the mandatory settings for the app.json file.
- Code the date in a specific format.
- Use either HTTP or HTTPS for remote services.
- Digitally sign the .app file.
- Include detailed steps for all setup and user validation testing in the user scenario document.
- Set the application areas that apply to your controls.
- Ensure the Extension creates permission set(s) to give the user all setup and usage abilities.
- Ensure that you can publish/sync/install/uninstall/reinstall your extension in a Dynamics 365 Business Central environment.
- Thoroughly test your extension in a Dynamics 365 Business Central environment.
- Include the proper upgrade code allowing your app to successfully upgrade from version to version.
- Include all translations of countries your extension is supporting.
- Prefix or suffix the Name property of your fields to eliminate collision between apps.
- Include a Visual Studio Code test package with your Extension. The test package must include at least 90% code coverage.
Help customers reach new markets
Creating multilanguage versions of Dynamics NAV will help your customers reach new markets with localized versions that are not generally available. By using Extensions, the localization process is now much simpler and faster.
If you request Dynamics 365 Business Central availability in a country in which Microsoft has not built a localization, you will get access to the international (W1) version of Dynamics 365 Business Central. The availability of this version is by demand, so by requesting access as the first partner in a country there will be a lead time of minimum 3 months for Microsoft to:
- Make Dynamics 365 Business Central offers available on the CSP pricelist for the country.
- Ensure datacenter operations.
- Build platform translation for language(s) for the desired country.
If you would like to find out more about localization using Extensions, Simplanova has extensive experience in this field and can provide advice as well as practical support or a custom Dynamics NAV Extensions Training Course for your company. If You have any questions about Add-on Upgrade to Extensions in Microsoft Dynamics NAV, you can always contact Simplanova team by submitting the Form below.