Customizing text elements in the Adminapp UI

Text elements displayed in the IAM Adminapp UI may be customized. Customizing is achieved by editing property files in the instance directory.

  • Text translations are included with Airlock IAM for the following languages:
  • German
  • English
  • French

The Adminapp UI does not support localization with 5-letter locale codes.

To add or change translations for Adminapp text elements, proceed according to the following steps.

Step 1 – Create new property files

Custom text elements are specified in properties files located in either the instance directory or the common instance directory. If the property files do not yet exist, they must first be created.

  • To make the text elements available for all IAM instances:
  • Create the files strings_de.propertiesstrings_en.properties (and so on) in the directory ./instances/common/adminapp-texts/.
  • For a specific IAM instance:
  • Create the files strings_de.propertiesstrings_en.properties (and so on) in the directory ./instances/<instance-name>/adminapp-texts/.

Property files must be UTF-8 encoded and readable by the process running Airlock IAM.

Step 2 - Extract resource keys from the *.json files

Airlock IAM comes with hundreds of default text elements for the supported languages. They are stored in JSON files in the IAM installation directory (where IAM was installed). These JSON files are used to find out the property names of the text elements:

  1. Open the JSON language file (e.g. en.json) under app/adminapp/i18n/. The app directory is located in the IAM installation (e.g. /opt/airlock-iam/).
  2. The indentation of the resource keys in the JSON files corresponds to the entries in the strings properties file.
    For Example
  3.  "user": {
        "tabs": {
          "overview" : "Overview", 

     in en.json corresponds to user.tabs.overview = Overview in strings_en.properties.

  4. Find the existing translation in the JSON file via search (e.g. Generate IAK Letter) or by searching for corresponding keys (e.g. user, mtan, number, label).
  5. Use the extracted resource key in the strings property files and customize the texts as required.
  6. Re-login as administrator to validate the text changes in the Adminapp UI. The changes are automatically applied at runtime. This may take up to 30 seconds.
  1. Do not change the original JSON files, as these files are overwritten without notice when installing an update. Only add those text elements to the newly created properties files, which should be customized, not all text elements.

Translation of user and admin role names

The user and the admin management feature of the IAM Adminapp allows assigning roles to users and admins.

  • The sets of possible roles are defined in the configuration:
  • User management: Adminapp >> Users >> Available User Roles
  • Admin management: Adminapp >> Administrators >> Administrators Management >> Assignable Role Combinations

The roles may be translated by providing the corresponding resource keys as described above using properties files. If not translations are provided, the technical role name is displayed (e.g. customer or useradmin).

  • To provide translations for roles use the following resource keys:
  • For user management: roles.user.labels.<rolename>
  • For admin management: roles.admin.labels.<rolename>

Example 1: Role translation for a user role

To provide an English translation for the user role customer, the following property has to be defined in strings_en.properties:

roles.user.labels.customer = Customer

Example 2: Role translations for admin roles and role combinations

To provide English translations for the admin roles useradmin and tokenadmin as well as the role combination tokenadmin,useradmin, the following properties have to be defined in strings_en.properties:

roles.admin.labels.useradmin = User Administrator
roles.admin.labels.tokenadmin = Token Administrator
roles.admin.labels.tokenadmin,useradmin = Token- and User Administrator

Note that translations for all role combinations (as defined in the configuration) have to be defined. In the above example, would not be sufficient to provide translations only for roles useradmin and tokenadmin.