Advertisements

How to Add my Custom Language Pack to W1 Version?

Post you build the PartnerTranslation solution from inside Visual Studio, choose Build Solution from the Build menu.

This will pick up all translated artifacts, and create three installer files (.msi):

  • Server.msi – Located in the Server\Bin\Debug folder.
  • RTC.msi – Located in the RTC\Bin\Debug folder.
  • WebClient.msi – Located in the WebClient\Bin\Debug folder.

You can check my earlier post for more details:

How do I translate my ResX Files?

Managing Multilanguage support in Navision Overview

 

ilm-01

Install the new language pack on the target computer with W1. To do this, select and click each of the three .msi files listed below, one after the other. The order is not significant:

  • Server\Bin\Debug\Server.msi
  • RTC\Bin\Debug\RTC.msi
  • WebClient\Bin\Debug\WebClient.msi

Each installer quickly shows a dialog, which disappears when the installer has completed.

ilm-02

The language pack is now installed, but you must make some final configuration.

Next step is to register root assemblies with strong name key token in the Add-ins table

Microsoft Dynamics NAV cannot load untrusted assemblies. To enable your custom resource assemblies as trusted, you must register the strong name key in the database:

  1. Open the Microsoft Dynamics NAV Development Environment.
  2. On the View menu, choose Object Designer, and then choose Table.
  3. Navigate to the Add-in table, table 2000000069, and then choose Run.
  4. For each assembly, enter the name and the public key token used when signing the files. The assemblies to add can be found in the Output folder of Partner Translation Tool Project.

ilm-03

To find the public key token, use the Strong Name tool (sn.exe) with the -T parameter.

At the command prompt, enter the following command: sn.exe –T

For example, enter the following command to find the public key token for the Microsoft.Dynamics.Framework.UI.dll file:

sn.exe –T Microsoft.Dynamics.Framework.UI.dll.

The sample assemblies that are included in the Partner Translation solution have the following signature: 15e5b2499d4875c1.

Optionally, you can use PowerShell to register a strong name key for the custom resource assemblies.

New-NAVAddIn -AddInName -PublicKeyToken -Category LanguageResource

Next step is, you need to update the Languages page:

  1. In the Object Designer, choose Pages.
  2. Navigate to the Languages page, page 9, and then choose Run.
  3. Add the Arabic Jordan (ARJ) language to it.

ilm-04

Restart the Microsoft Dynamics NAV Server service

To enable the newly added language, you must restart the Microsoft Dynamics NAV Server service:

  1. Choose the Start button, point to Administrative Tools, and then choose Services.
  2. In the Services window, right-click Microsoft Dynamics NAV Server, and on the shortcut menu, choose Restart.

Connect to the Microsoft Dynamics NAV Server and select the new language

After you have restarted the Microsoft Dynamics NAV Server service, you can then open the Microsoft Dynamics NAV Client and select the new language:

  1. Choose the Start button, and then choose Microsoft Dynamics NAV.
  2. Choose Microsoft Dynamics NAV, and then choose Select Language.
  3. In the Language Selection field, select the new language, Arabic (Jordan), and then choose the OK button.

ilm-05

Complete Captions are not translated for this project yet at the time of writing of this post and it is in progress, but the sample screen will look like one shown below.

ilm-06

Will come up with more details in my upcoming posts, till then keep exploring and learning.

Advertisements

Translating Multilanguage Files in Navision 2017 for Arabic Jordan

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:

  1. Table 18
  2. Report 111
  3. 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.

String Description
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.

 

tmf-01

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:

How do I translate my ResX Files?

Managing Multilanguage support in Navision Overview

tmf-02

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).

tmf-03

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:

 

tmf-04tmf-05tmf-06tmf-07tmf-08

Translate to Arabic Jordan as one shown in above screen.

Add you translation after [ : ]

Once all done Save your file as shown below:

tmf-09

Open the file in Notepad to check format is not disturbed and output is as below:

tmf-10

Next step in upcoming post.

Till then keep exploring and learning.

 

 

Important

Most of the contents you find in this blog will be either inherited from MSDN or Navision Developer IT Pro Help. Some places images are also directly taken from these sites. Purpose is simple to try those stuffs and re-produce adding few things as per my understanding to make easy understanding for others and quick reference.

Here nothing under my own brand or authorship of the content. At any point of time we are just promoting Microsoft stuffs nothing personnel with same.

Hope stuffs used here will not violate any copyright agreement with them. In case by mistake or in-intestinally it happens and the Microsoft feels these should not be used Microsoft have full right to inform me about same and will be glad to take down any such content which may be violating the norms.

Purpose is to promote Navision and share with community.

FB Profile

Like FB Page

%d bloggers like this: