Development Tips, Dynamics 365, Extension Package, How To, Information, Instalation & Configuration, NAV 2018, Tip & Tricks, Visual Studio Code, What's New

Configuring Visual Studio Code to Use Modern Development Environment with Dynamics NAV 2018

After installing Dynamics NAV 2018, I want to configure Visual Studio Code with Dynamics NAV to use new Development tool.

Before we start lets verify few things and update accordingly.

NDE-1

You can download VS Code from here:-Click to download Visual Studio Code

Install and Launch the Visual Studio Code.

Now Click View -> Extensions.

NDE-2

Click on … to open the extension menu.

Click on Install from VSIX

NDE-3

You can find VSIX file on the installation medium path:

“ModernDev\program files\Microsoft Dynamics NAV\110\Modern Development Environment”

or in the

“C:\Program Files (x86)\Microsoft Dynamics NAV\110\Modern Development Environment”

NDE-4

This will install AL Language Version 0.12.15355

NDE-5

Once the Extension installation is complete, follow below steps

Press Alt+A, Alt+L to trigger the Go! Command

NDE-6

Enter Project Name and Press Enter

NDE-7

Choose “Your own server”

Once you select the “Your own server” you will see a code like below in the “launch.json” file.

NDE-8

Update the information to look similar to below:-

NDE-9

I have updated my ServerInstance as DynamicsNAV110 (you check your instance name if changed while installing server)

I have updated my Authentication as Windows (I am using Windows authentication update what yours use accordingly)

I have added Port as 8049 (please check and use accordingly you are using the port, if using default 7049 then this step not required)

Now save your File. And Press <CTRL + F5>.

NDE-12

Enter your Credentials.

The server url and the web client url are assumed to be the same. That is not the case. The two settings we talked about above, the server url and the developer port number, are the only settings you need in the launch.json.

When VS Code publishes the extension to the NAV server, the NAV server returns the web client url as a response. This url is then opened in the browser. No setting needed in the launch.json at all.

The NAV server reads that setting from the Web Client Base Url server setting.

NDE-13

NDE-11

Your Extension is published, you can verify as below:

NDE-10

Now you are good to go with developing your Extensions using New Modern Development Tool using AL.

I hope this may have clarified your doubt on how VS Code and the NAV server work together!

I will come with more details as I proceed.

Advertisement
Development Tips, How To, Information, Instalation & Configuration, Language Module, NAV 2017, Tip & Tricks

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.

Corfu Navision 2016, Development Tips, How To, Information, Instalation & Configuration, License, Server, Tip & Tricks, Virtual

Working with Partner Translation Toolkit

In my earlier post I have given the overview of Managing Multilanguage support in Navision continuing from same today I will discuss about how to create Language Module for the Languages not available from Microsoft.

Although still we will not be having direct support for all Languages but using this process you can create one.

To be very fair it will not be easy task for all Languages but for few it could help you much to get you work done with little ease.

See few helpful links which will help you getting done your task:-

Platform strings maintained in managed assemblies and fin.stx and fin.etx files

Configuring Microsoft Dynamics NAV Help Server

To work with Partner Translation Toolkit you will require below, make sure you have all before you start with using this Tool:

  1. Visual Studio
  2. WiX Toolset
  3. Microsoft Translator for ResX
  4. Azure Data Market account
  5. Microsoft Translator data service subscribed
  6. Your NAV License File
  7. Finally your efforts

Visual Studio:

If you don’t have make sure you install the latest version of the same.

WiX Toolset:

You will require the WiX Toolset to start with you can download from here. Install WiX Toolset version 3.8 or 3.9

PTT-1

Install the WiX Toolset according to the instructions. In my case it is already installed on my system so getting option for Uninstall.

Building the project you require that you have the WiX Toolset version 3.8 or 3.9 installed on the computer.

Microsoft Translator for ResX:

See my previous post for more details here.

Azure Data Market account / Microsoft Translator data service:

See my previous post for more details here.

Steps to get ready for Translation tool:

See my previous post for more details here. 

Let’s start with building our project:

Step -1:

Run the “Microsoft.MCSUK.RESXTranslator.exe” Tool

See my previous post for more details here.

Step -2:

Run the “Visual Studio” with opening project solution PartnerTranslations.sln

PTT-8

You will see all the projects discussed above is having their own folder in this solution.

Add your all the translated resx files obtained in Step-1 post Translation to respective projects.

PTT-9

Right click on the project folder and choose Add and then Existing Item.

Select the resx file which we translated in Step-1.

In my case I select “Common.Language.Lang.hi-IN.resx”

Similarly you will add these translated files to your all other projects. Be cautious few may have 2-3 files add them all.

PTT-10

The properties of the installation determine which folders are created during the installation of the language packs and what files are placed in the folders. The properties can be found in the Locals.wxi file located in the root directory of the translation kit. Open the Locals.wxi file and change the following properties:

• CountryRegionCode, to one of the country/region codes in Globals.wxi or create a new.

• ModuleLanguage, to the language of your choice.

• LocalLangFolder, to the .Net culture of the satellite assemblies.

• LocalIsoFolder, to the three letter ISO code for your language.

PTT-11

PTT-12

Step -3:

Build the project PartnerTranslations.sln

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

Step-4:

Copy your Language Module Files and install on desired Server & Client

PTT-13

Install – Add your language pack to the W1 version

If have not already done so, install the W1 version of Microsoft Dynamics NAV 2016 from the product media.

Install the new language Pack

Next, install the new language pack on the same computer. 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.

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

I will comeup with more details in my next posts.

 

Corfu Navision 2016, Development Tips, How To, Information, Instalation & Configuration, Tip & Tricks

How do I translate my ResX Files?

In my earlier post I have given the overview of Managing Multilanguage support in Navision continuing from same today I will discuss about how to translate the resx files for the Languages not available from Microsoft. 

Microsoft Translator for ResX:

To translate resx file you require to download Microsoft Translator for ResX you can use this link to download.

This will help you to translate your required .resx files

Azure Data Market account / Microsoft Translator data service:

You will need an Azure Data Market account, subscribe to Microsoft Translator data service and a register a developer application in order to use the tool.

You can start setting this up here: https://datamarket.azure.com/developer/applications/

Microsoft Translator is a service on the Windows Azure Marketplace that translates text between many languages. This is a billed service that comes with many different pricing plans. For example, one plan allows the translation of 2,000,000 characters per month for free.

PTT-2

Steps to get ready for Translation tool:

  1. Get an account on the Azure Data Market with your Microsoft Live ID.
  2. Login into the Azure Data Market (ADM).
  3. Subscribe to the Microsoft Translator Service
  4. Create an application on top of this service in order to use the service in the ResX Translator tool.
  5. Go the developer application registration
  6. Choose the Register button to create a new application.
  7. Enter your information and choose the Create button.

Make sure you note your Client ID and Client Secret, you will need this if you wish to Translate Resx files using Microsoft Translator Service.

If you remember I have shared the link from where you can download Translation Tool. You will require Customer/Partner Source.

Download the Translation Tool (NAV2016PartnerTranslationsToolkit) and extract the zip file.

Scan the extracted Folder here few important files which will help identifying purpose of these files:

  1. Microsoft.MCSUK.RESXTranslator.exe
  2. Microsoft.MCSUK.RESXTranslator.exe.xml
  3. NAV 2016 Creating Custom Platform Translations.pdf
  4. PartnerTranslations.sln

PTT-3

Each project contains the platform resource files (.resx) for all languages shipped by Microsoft.

The Visual Studio solution file, PartnerTranslations.sln, contains a project for each of the platform assemblies that contain translatable resources. In order to create a custom translation, you add the respective resource files with custom translations to the respective project.

Let us see the directory structure of “NAV2016PartnerTranslationsToolkit\Microsoft.Dynamics.Nav.Language” similar structure is for other projects too.

PTT-4

For detailed help you can refer to “NAV 2016 Creating Custom Platform Translations.pdf” file.

Let’s start with translating our resx files:

Run the “Microsoft.MCSUK.RESXTranslator.exe” Tool

PTT-5

Switch to Advanced Tab.

Enter the Client ID and Client Secret obtained in above step when we registered the Application.

Click on Save.

PTT-6

Switch to Single File Tab.

Browse the .resx file for source language in my case if have selected “Common.Language.Lang.en-US.resx

Translate To choose desired language available from the drop down. In my case I have selected “Hindi”.

Select the Language 3 char code in my case I have selected “hi-IN [HIN] Hindi (India)

Click on Translate Now.

Once resx file is translated you will get the summary of result, click ok to return.

Similarly you translate the rex files for each projects listed above.

 

PTT-7

Post this step you are ready with all of you resx file translated to desired language.

 

Corfu Navision 2016, Development Tips, How To, Information, Instalation & Configuration, Tip & Tricks

Managing Multilanguage support in Navision Overview

language

Microsoft Dynamics NAV is Multilanguage enabled, which means that you can display the user interface (UI) in different languages.

A Multilanguage version of Microsoft Dynamics NAV is not the same as a localized version.

  • A localized version is a version that is adapted to a local market. All text that is displayed to the user is translated into the local language, and all functional areas are adapted to the requirements of the local market.
  • A Multilanguage version is a localized version that you can run in different languages, but all local functionality remains the same.

 

Language Module:

To be able to run a localized version in multiple languages, you must install language modules.

Language Module contains translated text strings of Logs & error reporting for:

  • Translated strings for the UI in the Microsoft Dynamics NAV Windows client.
  • Translated strings for the database.
  • Translated strings for Microsoft Dynamics NAV Server, such as for logs and error reporting.
  • Translated strings for the Microsoft Office Outlook Add-in for Microsoft Dynamics NAV.
  • Translated strings for charts on Role Centers in the Microsoft Dynamics NAV Windows client.
  • Localized versions of the client Help.

Language Modules are Binary Files which can’t be changed by any external tools for this you will require Partner Translation Tool Project and Visual Studio.

You can install language modules so that you can view text in the user interface in different languages.

Once you have installed a language module, you can select that language on the Select Language page in the UI to change the language of all text that is displayed in the UI in captions for text boxes, on command buttons, in menus, and so on.

Imp: When you change the language of Microsoft Dynamics NAV, you are not changing the language of the data that is stored in Microsoft Dynamics NAV. Changing the text that is stored as application data is not part of the language modules.

When you install a language module, a subdirectory for the language is created in the Microsoft Dynamics NAV directory structure. The .stx, .etx, .chm, and .hh files for each language are automatically installed in the subdirectory. The name of the subdirectory is the three-letter language code (Abbreviated Name) that is used by Windows for the particular language.

You can use this link to access NAV 2016 downloads for Available – Product, Translation Tool & Language Modules. https://mbs.microsoft.com/customersource/Global/NAV/downloads/product-releases/msdnav2016download

 

There are 3 main parts for creating translations that works in Dynamics NAV.

  1. Translate the platform by translating the resource file for each DLL file.
  2. Translate all the captions by adding a new language into captionML in each object
  3. Localize development environment by translating .stx and .etx files. These 2 files have to be sent to the Microsoft regional office and sealed by Microsoft. (Only required if you want the Development Environment to be in Unsupported Language as well)

 

Common available resources for supported/available Language Module.

To work with Language Modules what else you required to know about: You can check below links on MSDN.

  1. Windows Language Virtual Table
  2. How to: Install Language Modules
  3. How to: Add Translated Strings By Importing and Exporting Multilanguage Files
  4. How to: Add Translated Strings By Using the Multilanguage Editor
  5. How to: Uninstall Language Modules
  6. How to: Delete Translated Strings
  7. Multilanguage Development
  8. Viewing the Application in Different Languages

 

Translated User Interface Strings:

In Microsoft Dynamics NAV, the user interface includes the following types of translatable user interface strings:

Captions for application objects, such as pages, tables, reports, option fields, icons, menus, and so on, that are defined in the CaptionML property for an object. Text messages that are defined in the development environment, such as text constants and error messages that are defined in the C/AL Globals window or the C/AL Locals window.

Text messages and strings that are defined in Microsoft Dynamics NAV Server and Microsoft Dynamics NAV Windows client.

To add a language to the text messages that are defined in the resource files for Microsoft Dynamics NAV Server and Microsoft Dynamics NAV Windows client, special tools are required.

You can manage translations by using text files. In the development environment, you can export all strings for the specified objects to a text file, translate the strings in a translation tool of your choice, and then import the new translations. Then, when you compile the updated objects, the new translations are available to users in the Microsoft Dynamics NAV Windows client.

 

Multilanguage across Conflicting Text Encoding Formats:

To support users with translated strings across conflicting text encoding formats, you must save the translations to a text file in UTF-8 text encoding format.

This converts the file to Unicode, which Microsoft Dynamics NAV Development Environment cannot import. Instead, you add the files to a dedicated Translations folder on the Microsoft Dynamics NAV Server computer.

The default location of this folder is:

C:\Program Files\Microsoft Dynamics NAV\90\Service\Translations.

When you have more than one service instance, there is a Translations folder for each service instance, such as:

C:\Program Files\Microsoft Dynamics NAV\90\Service\Instances\MyInstance\Translations.

Microsoft Dynamics NAV Server adds any strings in text files that you place in the relevant Translations folder to the metadata for Microsoft Dynamics NAV.

 

To add translated strings for a conflicting text encoding format:

In the development environment, export the strings for the objects that you want to translate.

Translate the strings in the resulting text file into desired Language by using your preferred translation process.

When translations are complete, save the translated strings into a text file in the UTF-8 text encoding format. The extension of the file must be .txt.

It is recommend that you remove the other Language strings from the Unicode file before you copy it to the Microsoft Dynamics NAV Server computer.

Microsoft Dynamics NAV Server queries the Translations folder for updated strings, and for performance reasons the folder should only contain strings that you cannot import into the development environment because of conflicting codepages.

Copy the UTF-8 file to the Microsoft Dynamics NAV Server computer.

C:\Program Files\Microsoft Dynamics NAV\90\Service\Translations

When you have more than one service instance, there is a Translations folder for each service instance, such as:

C:\Program Files\Microsoft Dynamics NAV\90\Service\Instances\MyInstance\Translations.

Restart the Microsoft Dynamics NAV Server instance.

Microsoft Dynamics NAV Server adds the translated strings in the file to the metadata store for the Microsoft Dynamics NAV deployment.

Now Users of this Microsoft Dynamics NAV Server session can now change the user interface language from English to required Language.

The metadata store is updated whenever you add new strings to the Translations folder and then restart the Microsoft Dynamics NAV Server service instance. Cached strings are not deleted from the metadata store when you restart the service instance.

I will comeup with more details in my upcomming post soon.

Development Tips, Excel, Instalation & Configuration, Jet Reports, Office Integration, Report

Specify your Jet Interface Language

You can specify the language of your Jet Express interface.

  • Select Application Settings from the Jet Ribbon
  • Select the Language tab or General tab depending upon version you are using.
  • Pick the user interface language that you wish to use.
  • Click OK

JetExcel-9
You will need to restart Excel for the user interface language change to take effect.

Checkout Upcoming posts for more information.