Localization

Document ID : KB000019513
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

This document further elaborates on the steps listed in the readme.htm file for translating Role Definitions and Resource Bundles in CA Identity Manager located in C:\Program Files (x86)\CA\Identity Manager\IAM Suite\Identity Manager\tools\samples\Localization.

Solution:

Localizing RoleDefinitions and ResourceBundles

Introduction

This document further elaborates on the steps listed in the readme.htm file for translating Role Definitions and Resource Bundles in CA Identity Manager located in C:\Program Files (x86)\CA\Identity Manager\IAM Suite\Identity Manager\tools\samples\Localization. Consider referring to that document for information that is beyond the topics covered in this document.

Part I - RoleDefinitions

In order to localize task names (e.g. Request and View Access) you must translate the role definitions as such:

  1. Add any missing entries to the language dictionary files located in C:/Program Files (x86)/CA/Identity Manager/IAM Suite/Identity Manager/tools/samples/Localization (E.g. the Japanese dictionary file is ja.dic).

    In a dictionary file you will find strings set up in a key=value pair fashion. The key is in English, and the value is the appropriate locale specific translation of the key.

    The following is an example of English to French translation of a string in fr.dic:

    View\ Active\ Directory\ Account=Afficher le compte Active Directory

    Some will contain Unicode numbers used to represent special characters (E.g. Japanese characters). In cases like these, the customer will have to determine them and write them into the dictionary file since some strings aren't fully localized by default.

    The following is an example of English to Japanese translation of a string in ja.dic:

    View\ Active\ Directory\ Account=Active Directory \u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u8868\u793A

  2. Open up a command line window or a terminal in linux, navigate to C:\Program Files (x86)\CA\Identity Manager\IAM Suite\Identity Manager\tools\samples\Localization and run:

    ant translateroledef -Dinputfile=RoleDefinitions.xml

    NOTE: Make sure you have installed ant and that the ANT_HOME variable is set in the environment before running the command.

    The input file mentioned above can be whatever definitions file the customer wants translated (E.g. Provisioning-RoleDefinitions.xml), as long as it is appropriately located in the command line.

    It is recommended to copy the desired definitions file to the directory in which the command is being run, that way it is easier to locate it.

    The output from this command will be a RoleDefinitions_language.xml, for each of the 14 languages that CA Identity Manager supports. For example, for the Japanese locale it will be something like RoleDefinitions_ja.xml.

  3. In IM Management Console -> Environments, pick the desired environment. Go to Role and Task Settings, click import, scroll to the bottom and browse for the translated role definition file and click Finish.

  4. Restart the environment and log into the User Console and certify that the translation took effect.

Part II - ResourceBundles

In order to have static strings (e.g. Create a new endpoint of Endpoint Type) localized, you must translate the resource bundles as such:

  1. Add any missing entries to the language dictionary files located in C:\Program Files (x86)\CA\Identity Manager\IAM Suite\Identity Manager\tools\samples\Localization (E.g. the Japanese dictionary file is ja.dic).

    In a dictionary file you will find strings set up in a key=value pair fashion. The key is in English, and the value is the appropriate locale specific translation of the key.

    The following is an example of English to French translation of a string in fr.dic:

    View\ Active\ Directory\ Account=Afficher le compte Active Directory

    Some values contain Unicode numbers used to represent special characters (E.g. Japanese characters). In cases like these, the customer will have to determine them and write them into the dictionary file since some strings aren't fully localized by default.

    The following is an example of English to Japanese translation of a string in ja.dic:

    View\ Active\ Directory\ Account=Active Directory \u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u8868\u793A

  2. Open up a command line window or a terminal in linux, navigate to C:\Program Files (x86)\CA\Identity Manager\IAM Suite\Identity Manager\tools\samples\Localization and run:

    ant translateresourcebundle -Dinputfile=bundlename.properties

    NOTE: Make sure you have installed ant and that the ANT_HOME variable is set in the environment before running the command.

    The input file mentioned above is a bundle represented by a .properties file that is deployed to the application server (E.g. Jboss) during installation of CA Identity Manager. The file is located in either jboss_directory\server\default\deploy\iam_im.ear\custom\resourceBundles or jboss_directory\server\default\deploy\iam_im.ear\custom\provisioning\resourceBundles.

    Each bundle in the resourceBundles folder has a .properties file that is specific to each of the 14 locales supported by CA Identity Manager. The file that is not dedicated to any specific locale is the one that should be used as input to the command line previously mentioned.

    It is recommended to copy the desired .properties file to the directory in which the command is being run, that way it is easier to locate it.

    This will output a file of the given bundlename.properties in all the supported languages. Again, for the Japanese locale it will be something like bundlename_ja.properties.

  3. Place the translated bundle in the appropriate application server location. For example, if running Jboss, the translated bundle would go into
    jboss_directory\server\default\deploy\iam_im.ear\custom\provisioning\resourceBundles.

  4. Restart the application server and log into the User Console to make sure it worked.