17
Adding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain languages that are supported by Microsoft. Adding other languages or modifying existing languages, though possible, is NOT supported by Microsoft. Users assume full responsibility for any localizations or translations they create pursuant to the terms of the Partner Localization and Translation Licensing Program. Microsoft does not provide any warranties or guarantees for localizations or translations created by channel partners or other third parties. This document is for information purposes only. It is provided “as is”. . MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. Introduction Microsoft Dynamics AX 2012 ships with 39 languages out of the box. Though language packs are no longer monetized, they are still controlled by license keys that Microsoft issues. In certain situations, channel partners or independent software vendors (ISVs) may add languages to Microsoft Dynamics AX 2012 that Microsoft does not ship. This document describes multiple approaches for enabling languages that do not ship with Microsoft Dynamics AX 2012. Requirements This process only applies to Microsoft Dynamics AX 2012, Microsoft Dynamics AX 2012 Feature Pack, and Microsoft Dynamics AX 2012 R2. Only languages listed under Developable Languages can be added. Translated languages must contain labels to specify these are third party developed languages. You must have following license code enabled to be able to develop new license file for languages “Enable license code authoring and editing”. Technical Architecture There are 3 core concepts that control enabling additional languages in Microsoft Dynamics AX 2012. To develop new languages all 3 artifacts must be present. 1. KTD Files kernel files that contain a list of: Available languages in the product (localized) Kernel error messages for client Localized labels for property description in AOT Non-localizable symbols like property name in AOT 2. ALD Files files that contain localized app labels

Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

Embed Size (px)

Citation preview

Page 1: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

Adding additional language to Microsoft Dynamics AX 2012

Disclaimer

Microsoft Dynamics AX 2012 ships with certain languages that are supported by Microsoft.

Adding other languages or modifying existing languages, though possible, is NOT supported by

Microsoft. Users assume full responsibility for any localizations or translations they create

pursuant to the terms of the Partner Localization and Translation Licensing Program. Microsoft

does not provide any warranties or guarantees for localizations or translations created by

channel partners or other third parties.

This document is for information purposes only. It is provided “as is”. . MICROSOFT MAKES

NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION

IN THIS DOCUMENT. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR

OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS

DOCUMENT.

Introduction

Microsoft Dynamics AX 2012 ships with 39 languages out of the box. Though language packs

are no longer monetized, they are still controlled by license keys that Microsoft issues. In certain

situations, channel partners or independent software vendors (ISVs) may add languages to

Microsoft Dynamics AX 2012 that Microsoft does not ship. This document describes multiple

approaches for enabling languages that do not ship with Microsoft Dynamics AX 2012.

Requirements

This process only applies to Microsoft Dynamics AX 2012, Microsoft Dynamics AX

2012 Feature Pack, and Microsoft Dynamics AX 2012 R2.

Only languages listed under Developable Languages can be added.

Translated languages must contain labels to specify these are third party developed

languages.

You must have following license code enabled to be able to develop new license file for

languages – “Enable license code authoring and editing”.

Technical Architecture

There are 3 core concepts that control enabling additional languages in Microsoft Dynamics AX

2012. To develop new languages all 3 artifacts must be present.

1. KTD Files – kernel files that contain a list of:

Available languages in the product (localized)

Kernel error messages for client

Localized labels for property description in AOT

Non-localizable symbols like property name in AOT

2. ALD Files – files that contain localized app labels

Page 2: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

3. Language License Codes – codes that control availability of languages in Microsoft

Dynamics AX 2012

Creating new language files:

In this approach we’ll add new language files to the system and create license code to enable the

language. Identify supported language From the developable list of languages below identify

the language you want to add.

We will take the Faroese “FO” language as an example.

1051 Fo Faroese

Create test certificates:

1. Create an “AX” folder under your C:\ drive to save your files

2. Create test certificate by using the Certificate Creation tool, makecert.exe. To generate

test certificates, follow these steps:

3. Go to Start/ All Programs/Visual Studio 2010/Command prompt

4. Launch the Visual Studio Command Prompt as Administrator

Page 3: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

5. Create a test code signing certificate. Run following command:

"makecert –len 2048 -r -n CN=FOLanguage -eku 1.3.6.1.5.5.7.3.3 -pe -ss FOLanguage FO.cer"

This will generate a certificate file “FO.cer” under:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC

6. Go to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC and copy the “FO.cer”

file to “AX” folder (Created under step1)

Page 4: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

7. Run command certmgr.msc.

8. You will find a “FOLanguage” node, expand it and click on “Certificates” sub-node.

9. Drag and drop the “FOLanguage” certificate to “Trusted Root Certification..”

“Certificates” node

Page 5: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

10. You need to export a private certificate key

11. Go to “Trusted Root Certification..” > “Certificates” node and right click

12. Select “All Tasks” > “Export”

13. Follow the below addressed wizard steps:

1)

2)

Page 6: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

3)

4)

Page 7: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

5)

Enter a password (You have to remember it )

6)

Save it in “AX folder and name it “FO”

Page 8: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

7)

8)

14. Now the Certificate .cer and the Private Key .pfx files should be created and ready

Page 9: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

Generate license code and license file:

1. Configure AX client on ISV layer using your own ISV layer codes

Page 10: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

2. Launch the AX client (In ISV layer)

3. Open development workspace

4. Go to “Tools” > “Model management” > “Create model” and create a new Model, give it

a name e.g. “FOLanguage” and make it the active model

5. In the Application Object Tree (AOT) > Data Dictionary > License Codes, right-click,

and then click New License Code.

Page 11: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

6. In the license Code properties : Name=FOLanguage, Label: Faroese, Group:=Language,

PublicKey: 1051, Package:BusinessEssential, Legacy: 1051

CertificateName : Browse to the generated certificate file “FO.cer”

7. Save, Synchronize and restart AOS and Client

8. Export FOLanguage.axmodel model using the AXUtil tool

Command = “axutil export /model:FOLanguage /file:C:\AX\FOLanguage.axmodel”

Page 12: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

9. Generate the License file by the AXUtil tool

10. Start a Command DOS prompt as Administrator and run following command

Axutil genlicense /file:filename /certificatepath:filepath /licensecode:name

/customer:name /serialnumber:number /password:value /expirationdate:date

Where:

“file” = The License file name that will be generated

“certificate” = Path to the generated certificate .cer file (in this example the FO.cer file)

“licensecode” = The License code name generated in AX

“customername” = License holder name from AX License code

(Customer’s name where the License code to be loaded into his environment)

“Serialnumber” = License serial number from AX License code

(Customer’s serial number where the License code to be loaded into his environment)

“password” = Password entered on the Private Key generation wizard

“expirationdate” = The license code expire date

Page 13: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

11. Now, you should have the “SEV.txt” license code and a Model files ready:

12. Send files to Customer

On Customer AX environment side:

1. Save provided files on their Local drive

2. Open Dev Workspace AX client and go to:

\Data Dictionary\Tables\LanguageTable\Fields\LabelFile field.

Right click and select “Properties”. Change the “Visible” to “Yes”, save and

synchronize.

3. Open table in table browser and check mark the “LabelFile”

4. Save and synchronize the table

Page 14: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

Create ktd/ald files and the license code:

1. Create a .ktd file

Create .ktd translation for that particular language and save it using AxSysFO.ktd format

Copy the file into AX Client and Server bin directories:

C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin

C:\Program Files\Microsoft Dynamics AX\60\Server\[Instance Name]\bin

2. Create .ald file

Create .ktd translation for that particular language and save it using AxSysFO.ald format

Copy the label file for the language and save the file in the server application folder:

C:\Program Files\Microsoft Dynamics AX\60\Server\[Instance

Name]\bin\Application\Appl\Standard

3. Open Dev Workspace AX client and go to:

\Data Dictionary\Tables\LanguageTable\Fields\LabelFile field.

Right click and select “Properties”. Change the “Visible” to “Yes”, save and

synchronize.

4. Import Model file using the AXUtil tool

5. Restart AX AOS and Client

6. Load provided language license code into AX license information

7. Restart AX AOS and Client

8. Verify the “FO” language functionality

Page 15: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

Developable Languages

ID Code Description

1003 af Afrikaans

1004 sq Albanian

1005 ar Arabic

1006 ar-sa Arabic(Saudi Arabia)

1007 ar-iq Arabic(Iraq)

1008 ar-eg Arabic(Egypt)

1009 ar-ly Arabic(Libya)

1010 ar-dz Arabic(Algeria)

1011 ar-ma Arabic(Morocco)

1012 ar-tn Arabic(Tunisia)

1013 ar-om Arabic(Oman)

1014 ar-ye Arabic(Yemen)

1015 ar-sy Arabic(Syria)

1016 ar-jo Arabic(Jordan)

1017 ar-lb Arabic(Lebanon)

1018 ar-kw Arabic(Kuwait)

1019 ar-ae Arabic(U.A.E.)

1020 ar-bh Arabic(Bahrain)

1021 ar-qa Arabic(Qatar)

1022 eu Basque

1023 bg Bulgarian

1024 be Belarusian

1025 ca Catalan

1026 zh-hant Chinese(Traditional)

1027 zh-hans Chinese(Simplified)

1028 zh-hk Chinese(Hong Kong S.A.R)

1029 zh-sg Chinese(Singapore)

1030 hr Croatian

1031 cs Czech

1032 da Danish

1033 nl Dutch

1034 nl-be Dutch(Belgian)

1035 en English

1036 en-us English(United States)

1037 en-gb English(United Kingdom)

1038 en-au English(Australian)

1039 en-ca English(Canadian)

1040 en-nz English(New Zealand)

1041 en-ie English(Ireland)

Page 16: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

1042 en-za English(South Africa)

1043 en-jm English(Jamaica)

1044 en-029 KJ:our own extension,

standard is en

1045 en-bz English(Belize)

1046 en-tt English(Trinidad & Tobago)

1047 en-in English(India)

1048 en-my English(Malaysia)

1049 en-sg English(Singapore)

1050 et Estonian

1051 fo Faroese

1052 fa Farsi

1053 fi Finnish

1054 fr French

1055 fr-be French(Belgian)

1056 fr-ca French(Canadian)

1057 fr-ch French(Swiss)

1058 fr-lu French(Luxembourg)

1059 de German

1060 de-ch German(Swiss)

1061 de-at German(Austrian)

1062 de-lu German(Luxembourg)

1063 de-li German(Liechtenstein)

1064 el Greek

1065 he Hebrew

1066 hi Hindi

1067 hu Hungarian

1068 is Icelandic

1069 id Indonesian

1070 it Italian

1071 it-ch Italian(Swiss)

1072 ja Japanese

1073 ko Korean

1074 lv Latvian

1075 lt Lithuanian

1076 mk Macedonian

1077 ms Malay

1078 mt Maltese

1079 nb-no Norwegian(Bokmal)

1080 nn-no Norwegian(Nynorsk)

1081 pl Polish

1082 pt-br Portuguese(Brazil)

1083 pt Portuguese

Page 17: Adding additional language to Microsoft Dynamics AX 2012 · PDF fileAdding additional language to Microsoft Dynamics AX 2012 Disclaimer Microsoft Dynamics AX 2012 ships with certain

1084 ro Romanian

1085 ru Russian

1086 sr Serbian(Cyrillic)

1087 sr-la Serbian(Latin) KJ: our own

envention, was sr

1088 sk Slovak

1089 sl Slovenian

1090 es-tr Spanish(Spain - Traditional

Sort)

1091 es-mx Spanish(Mexican)

1092 es Spanish(Spain - Modern Sort)

1093 es-gt Spanish(Guatemala)

1094 es-cr Spanish(Costa Rica)

1095 es-pa Spanish(Panama)

1096 es-do Spanish(Dominican Republic)

1097 es-ve Spanish(Venezuela)

1098 es-co Spanish(Colombia)

1099 es-pe Spanish(Peru)

1100 es-ar Spanish(Argentina)

1101 es-ec Spanish(Ecuador)

1102 es-cl Spanish(Chile)

1103 es-uy Spanish(Uruguay)

1104 es-py Spanish(Paraguay)

1105 es-bo Spanish(Bolivia)

1106 es-sv Spanish(El Salvador)

1107 es-hn Spanish(Honduras)

1108 es-ni Spanish(Nicaragua)

1109 es-pr Spanish(Puerto Rico)

1110 sv Swedish

1111 sv-fi Swedish(Finland)

1112 th Thai

1113 tn Tswana

1114 tr Turkish

1115 uk Ukrainian

1116 ur Urdu

1117 vi Vietnamese

1118 xh Xhosa

1119 zu Zulu