Dynamics 365 Business Central Translation Files is multi language enabled, which means that you can display the user interface (UI) in different languages. To add a new language to the extension you have built, you must first permit the generation of XLIFF files. The XLIFF file extension is .xlf.
The generated XLIFF file contains the strings that are specified in properties such as Caption and Tool tip. You can utilize the .xlf translation files approach only for objects from your extension. For translating the base application you still need to use the .txt files approach.
Dynamics 365 Business Central Translation Files Overview
1. Translation and Localization Apps
The .xlf files approach cannot be used for translating the base application. If you are working on a translation or localization app, you must take the .txt file containing the base application translation and store the file in the root folder of your extension. When the extension is executed, the .txt file is then packaged with the extension.
We recommend that you use only one .txt file per language. There is no enforced naming on the .txt files, but a suggested good practice is to name it
2. Generating the XLIFF File
To enable generation of the translation file, you must add a setting in the manifest. In the app.json file of your extension, add the following line:
“features”: [ “TranslationFile” ]
Now, when you run the build command (Ctrl+Shift+B) in Visual Studio Code, a
\Translations folder will be generated and filled with the .xlf file that contains all the labels, label properties and report labels that you are using in the extension. The generated .xlf file can now be translated.
3. Label Syntax
The label syntax is shown in the example below for the Caption property:
Caption = ‘Developer translation for %1’, Comment = ‘%1 is extension name’, locked = false, MaxLength=999;
Use the same syntax for report labels:
LabelName = ’Label Text’, Comment=’Foo’, MaxLength=999, Locked=true;
And the following is the syntax for Label data types:
a : Label ’Label Text’, Comment=’Foo’, MaxLength=999, Locked=true;
The ML versions of properties are not included in the .xlf file:
- The TextConst Data Type is not included in the .xlf file either.
4. The XLIFF File
In the generated .xlf file, you can see a
<source> element for each label. For the translation, you will now have to add the
target-language and a
<target> element per label. This is illustrated in the example below.
<xliff version=”1.2″ xmlns=”urn:oasis:names:tc:xliff:document:1.2″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd”>
<file datatype=”xml” source-language=”en-US” target-language=”da-DK” original=”ALProject16″>
<trans-unit id=”PageExtension 1255613137 – Property 2879900210″ maxWidth=”999″ size-unit=”char” translate=”yes” xml:space=”preserve”>
<source>Developer translation for %1</source>
<target>Udvikleroversættelse for %1</target>
<note from=”Developer” annotates=”general” priority=”2″>%1 is extension name</note>
<note from=”Xliff Generator” annotates=”general” priority=”3″>PageExtension – PageExtension</note>
When the extension is built and published, you change the language of MS D365 Business Central to view the UI in the translated language. For more information on Microsoft Dynamics 365 Business Central Translation Files, please contact us.