How to Design Multilingual Reports

When we generate reports from D365FO, we would often like to print them in different languages for corresponding customers, vendors, subsidiaries or any other partners. Similarly to SSRS, Docentric supports multilingual reports by using D365FO labels in Docentric templates (aka designs). Therefore, instead of entering fixed text in a Docentric template in a particular language (e.g. ‘Invoice number’ in English) we need to use D365FO labels, or more precisely their codes (e.g. @SYS4726). When a report runs, all label codes will be translated in the runtime language (e.g. for invoices this is the language of the sales order that is set by default to the language of the customer).

The advantages of using Docentric comparing to multilingual SSRS reports are:

  • Instead of label codes, in Docentric templates we will see label translations in the default design language.
  • We can use multilingual preview directly from within Docentric designer.
  • We can also use so-called Custom and Dynamic labels, not just those provided with the report data source that are called System labels.

Working directly with label translations

When we want to use D365FO labels (e.g. @SYS4726) in a Docentric template instead of static text (e.g. ‘Invoice number’), we need to use so called Label tagging elements. Similarly to Field tagging elements, which serve to bind dynamic parts in a template to report data, Label tagging elements bind template parts to report labels.

Inserting and binding Label tagging elements

We can insert a Label tagging element into a Docentric template and bind it to a D365FO label from the report data source in multiple ways. Let’s say that instead of ‘Number of workers’ static report title we want to use the corresponding D365FO label (with the code @SYS326474) in our template for the Number of workers report. We can achieve this by inserting a new Label tagging element from the Docentric AX ribbon tab and bind it to the system label of the NumberOfWorkers data field from the report data source. The steps are the following:

  1. Position the cursor in the template where you want to insert a label. You can also select some fixed text, in our case the report title ‘Number of workers’.
  2. In Docentric designer click the Label tagging element. The Label tagging element is now inserted but remains unbound. When a tagging element is missing its binding, you will see the exclamation mark in the Element tree pane.
  3. In the binding control of the inserted Label tagging element select the system label of the wanted data field, i.e. NumberOfWorkers. If a system label is not provided, you will not be able to select it. In that case but also if you want to use a D365FO label you cannot find in the report data source, you can use Custom or Dynamic labels instead.

Alternatively, we can insert a Label tagging element already bound to the system label of a particular data field to our template by using the A button on the Data Source pane:

  1. Select a place in the template where you would like to add a label.
  2. On the Data Source pane select the data field (e.g. NumberOfWorkers) from the report data source whose system label you want to bind to the inserting Label tagging element.
  3. Click the A button.

The third option to insert an already bound Label tagging element is to use Quick Builder:

  1. In Docentric designer click the Quick Builder button.
  2. Select a place in the template where you would like to add a label.
  3. In the Quick Builder pane select the data field from report data source whose system label you want to use and right-click on it.
  4. Select Add label.

After the Label tagging element is inserted into your template and bound, instead of the label code (@SYS326474) you will see the label translation (‘Number of workers’) in the default design language as shown on the image below.

Difference between Docentric and SSRS designer

Instead of seeing label codes (e.g. @SYS326474) in our template as we do in SSRS, we will see label translations (e.g. ‘Number of workers’) in the default design language (e.g. EN-US).

This is how the corresponding SSRS report design with label codes looks like.

How to select the default design language

We can select the default design language in the Print destination settings form (the Language field) when we generate the DDSP file for a report in D365FO. By default, the current user language is used.

Besides seeing labels’ translation in the previously selected default design language in Docentric templates, we will also see all friendly names of data records and fields in the report data source translated in this language.

Multilingual preview

The other benefit you will get when you design multilingual reports with Docentric designer is instant multilingual preview without leaving MS Word.
When you generate a DDSP file in the Print destination settings form in D365FO, you can also select which Preview languages you would like to use through template preview in Docentric designer.

After you load the generated DDSP file, on the Data Source pane in Docentric designer you can switch between previously selected Preview languages and preview your template with labels translated in the currently selected Preview Language.

Let’s select German as the current Preview Language and click the Preview button.

You can see the result on the image below.

Now we can switch to, e.g. Japanese as Preview Language and click the Preview button. You can see the result on the image below.

System, Custom and Dynamic labels

Each Label tagging element can be bound to a D365FO label that is provided as a part of the report data source, as shown in the beginning of this tutorial, when we used the system label ‘Number of workers’ of the NumberOfWorkers data field. Hence, these labels of data records and their fields included in the report data source are called System labels, and we can use them without any additional setup.

However, you will often need to use a label that is not delivered as one of System labels, for example ‘Due date’ instead of ‘Payment per’, or ‘Qty’ instead of ‘Quantity’. When this happens, you will have two options to add missing labels to your report: to use Dynamic or Custom labels. About what they are, how to use them and which one to choose please read in our next tutorial.

See also

How to Add Missing Labels to Multilingual Reports >>
Learn about User-Defined Labels >>
How to Use Labels in Print Destination Settings >>
Learn more about Docentric designer >>

IN THIS ARTICLE