ZAPP in Language of your choice


ZENworks Application(ZAPP) currently supports 9 different locales. ZAPP by default uses the language mentioned in language settings of windows. If the Windows language is not a supported language, English translations are used. 

It is however possible to have ZAPP in an language other than 9 languages supported out of the box by ZENworks. This cool solution outlines the steps through which this can be achieved.

There are 2 approaches to have ZAPP in an language of your choice -

Approach - 1 - In this approach you specify the locale as 'custom'. This is helpful, if you are un-sure of locale you are adding or if you are not aware of locale of machine. However, this approach requires addition of a registry entry in the registry of the devices. In this approach, the language code mentioned in the registry takes precedence over the language of OS settings.

This approach involves following - 

1) Create and deploy new translation files to the agent machine

2) Update and deploy  "locales.json" file in the agent machine 

3) To activate this new translation language, a registry key-value pair needs to be created in the agent machine.


Approach -2  - Administrator has to mention the correct locale of the agent machine in the config file provided. No need to create an edit registry in this method. 

1) Create and deploy new translation files to the agent machine

2) Update and deploy  "locales.json" file in the agent machine 


Here are the steps to be followed for both the approaches. 

Step 1 - Create translation of strings in language of your choice

ZAPP uses 10 different properties files, which would need to be translated. However, please do note that these property files can change in a release with new entries coming in and older ones going away. Hence, it is always a good idea to take the files corresponding to ZENworks version you are in. These property files are present in ZENworks agent at following location -

C:\Program Files (x86)\Novell\ZENworks\zapp\i18n


For your convenience a sample copy of these files is present in the attachment.

Modify the translation values in the 10 given translation files as required. 



For example, zapp.tray_custom.json contains translations for the z-icon strings. If you want to change the string “login”, just replace the value  "Entrar' in this example with your required translation string. 



Approach -1 - In Approach 1, you should save this translated file as zapp.tray_custom.json

Approach -2 - In Approach 2, you should save this translated file as zapp.tray_locale.json, where you should replace 'locale' by the exact locale you intend to have.  So, if you are using Tamil, the file can be renamed to zapp.tray_ta.json. The value "ta" is the language code of the language. Here is the list of language codes,

Step 2 - Create an Updated version of a conf file

An entry for the new language needs to be added in the locales.json configuration file, which  present on the agent at following location -

C:\Program Files (x86)\Novell\ZENworks\zapp\conf

Depending upon the approach you are following, in the locales.json following code needs to be added -

Approach -1 

{"name": "custom", "value": "custom", "helpFolder":"en", "aliases": "[\"custom\"]"}

Approach -2

 {"name": "Tamil", "value": "ta", "helpFolder":"en", "aliases": "[\"ta\", \"ta-IN\"]"}

This is assuming that you are adding Tamil as the language. 

Name - can be any name, here is 'Tamil'

value - locale value / translation file’s suffix

helpFolder- a value of supported help folder’s locale. This is english (en) in the example provided above. Custom translations are not supported for help currently. A supported help locale value should be provided (en /fr-FR /es-ES/ it-IT /de-DE /zh-CN /zh-TW /ja-JP).

Aliases- Multiple values can be provided 

Again, The value "ta" is the language code of the language. 

Save the updated locales.json file. For your convenience, a modified locales.json as required for Approach 1 is present in the attachment (

At this time, only thing remains is to deploy the modified files to the device. This can be achieved by creating a bundle and assigning it to devices. 

Step 3 - Create a bundle to deploy modified files to the device

All the steps mentioned in the bundle are applicable for both Approach -1 & Approach -2 unless indicated otherwise. A video demonstrating the steps to create the bundle  is attached in attachments(

1) Create an empty Windows bundle.

2)Create install files action

In Install actions of the bundle, click on Add -> Install Files(s).  



a) Click on the add button and choose the locales.json provided.

In the Destination Directory, give value as

C:\Program Files (x86)\Novell\ZENworks\zapp\conf


b)Click on the add button again and choose all the 10 required translation files and mention Destination Directory as

C:\Program Files (x86)\Novell\ZENworks\zapp\i18n



3) Create a new key-value pair under HKEY_LOCAL_MACHINE\SOFTWARE\Novell\ZCM

Imp. - This step is ONLY required, if you are using Approach -1. If you are using Approach-2, you should skip this step. 

  a)In Install actions of the bundle, click on the add button and choose Registry Edit.

  b)Select SOFTWARE under HKEY_LOCAL_MACHINE and click New->Key and provide input as                Novell.

  c)Select Novell and click New->Key and provide input as ZCM.

  d)Select ZCM and click New->Value.

  Provide the values given below.

  value name: defaultUICulture 
  value type: String
  String Data: custom

The final registry structure should look like this,


At this point, your bundle is ready. It should like this in case of Approach -2.



Step 4 - Assign and Deploy

Assign Bundle to required agents and install the bundle. On windows login/logout or restart of the agent, the new translation changes will be reflected.


How To-Best Practice
Configuration Management
Comment List
Related Discussions