Captions and other user interface text that you define for objects in the Microsoft Dynamics NAV Development Environment can be exported to a text file. You can then add new translations to the text file and import the new translations in the development environment. You can add translations manually using Notepad, Microsoft Excel, and so on.
The exported text files contain an entry for each translatable user interface element for the objects that you selected in the development environment. However, the text file also includes entries that cannot be translated. For example, if you export the strings for table 18, the resulting text file contains hundreds of entries, of which fewer than 170 can be translated. The translatable strings include the captions of for all fields and the error messages that you have defined. The non-translatable strings include names of variables, and so on.
In CRONUS International Ltd. demonstration database, all objects are multilanguage enabled, and they include strings with captions in the 1033 locale, English (US). The locale is specified by a multilanguage property such as P8629, but the ID of the actual property is different for different types of strings. However, the locale for the multilanguage property value always starts with the character A. For example, the English (US) captions are identified by the A1033 locale value for the relevant multilanguage property. You can identify which strings can be translated by opening the file in Microsoft Excel and then filter by the English locale.
If you export strings for objects of different types, the text file lists the strings by object type and then by object ID. For example, if you export strings for table 18, page 21, and report 111, the text file lists strings in the following order:
- Table 18
- Report 111
- Page 21
The format of the exported text files can be difficult to read, because for each type of object, the text file contains different types of strings. Each type of string is identified by a property that starts with the character P followed by an ID.
For example, for a table object and the fields on the table, the multilanguage property has the ID 8629.
For option values for fields on tables, the multilanguage property has the ID 8632.
This means that you can identify the type of string when you translate the strings. However, you should filter out all strings that are not translatable, which makes the remaining strings easier to understand.
The following table illustrates the translatable strings for table 18 in the CRONUS International Ltd. demonstration database.
|T18-P8629-A1033-L999:Customer||The caption of the table object.|
|T18-F1-P8629-A1033-L999:No.||The caption of field 1.|
|T18-F7601-P8629-A1033-L999:Copy Sell-to Addr. to Qte From T18-F7601-P8632-A1033-L999:Company,Person||The caption of field 7601 and the captions of the option values for the field.|
|T18-Q1001-P26171-A1033-L999:Do you wish to create a contact for %1 %2?||A text constant that defines user interface text.|
For more information, see How to: Add Translated Strings By Importing and Exporting Multilanguage Files.
Here it is assumed that the Language Module Installer are prepared by translating resx files and Partner Translation Tool project is build and same is Installed.
You can check my earlier post for more details:
After preparing Language Module Installer and installing the same our next step is to add the translated Captions to CaptionML.
You have other methods to do the same below is one which I have used to get my task done.
Export the objects in txt format from the database (ObjectToTranslate.txt).
My objects have ENU and want to add translation for ARJ.
You can use below PS Script to extract Language Layer from the objects.
Export-NavApplicationObjectLanguage -Source ObjectToTranslate.txt -LanguageId ENU, ARJ -Destination translated.txt
In our objects, we have ENU and we are supposed to add ARJ Caption translation.
Above command will extract the ENU Captions and add entries for ARJ where we can add our translated string for Arabic Jordan.
Open the translated.txt in notepad and save as translatedNew01.txt, make sure you select Encoding = UTF-8.
Open the File [translatedNew01.txt] in Excel as below defined step:
Translate to Arabic Jordan as one shown in above screen.
Add you translation after [ : ]
Once all done Save your file as shown below:
Open the file in Notepad to check format is not disturbed and output is as below:
Next step in upcoming post.
Till then keep exploring and learning.