Configuration

Translations

The texts visible in the different modules of the Data Portal, as well as the application messages, can be customized by configuring translations for each language available in Anjana Data Platform. Whenever new texts are added or a new language is incorporated, the corresponding translations must be registered in the platform.

image-20260716-121914.png
Language selector within the user's profile

Internationalization table structure

Each record in the Internationalization table represents a translation key for a language and consists of the following fields:

  • Internal: indicates whether the translation is internal text introduced by Anjana Data Platform (true) or text from the organization's own configuration —attributes, menus, roles, etc.— (false). Internal translations cannot be deleted.

  • Usage: descriptive field that allows classifying translations into functional groups. It can be left empty.

  • Key: key of the translation.

    • This is the value shown to the user when there is no translation configured for the selected language.

    • It is not recommended to use the names of metamodel objects as the key (the name field of Object Sub-Types).

  • List of languages with their translation text:

    • Each text is the translation the user will see if they select the language indicated in the column header.

    • Two keys representing attribute names or reference metadata values cannot share the same translation value.

Notes:

  • The same translation key cannot have different values for the same language.

  • As of version 26.1, the name of each language is stored in its own language, so it is not necessary to register its translation.

  • The names of metamodel objects do not support translations.

  • If the translation value for a key is missing, the platform displays the key itself instead of the translated text; this does not prevent normal use of the application.

Creating translations

The translations for each key are configured in the Internationalization section of the Administration Panel. To create a new translation:

  1. Click the New translation button to open the wizard.

  2. Fill in the wizard fields:

    1. Key (required): the key for which the translation is being configured. It can correspond to internal platform keys or to values configured for menus, sections, attributes, filters, etc.

    2. Usage: descriptive field for classifying translations into functional groups. It is recommended to define a standard that makes searching and filtering easier and maintains a common reference vocabulary.

    3. Language (English and the rest of the configured languages): the text the user will receive for that key according to the language set in their Personal Area.

  3. Click Confirm to save the translation or Cancel to discard it.

  4. After confirming, the Publish button is enabled, which is required to make the changes effective. If the Administration Panel is left without publishing, the changes will be lost.

image-20260717-104851.png
Wizard for creating a new translation

Note:

  • After creating it, you must click Publish in the Administration Panel for the changes to take effect and be visible in the Data Portal.

  • Without publishing, the search box and filters will allow you to locate the translations

Modifying a translation

Modifying translations is a common operation when the text shown to the user needs to be adjusted or existing terminology needs to be updated. It is enough to update the text of the corresponding language from the Internationalization section of the Administration Panel, using one of these two options:

  • Direct editing: modifying the text in the editable field.

  • Editing via wizard: clicking the pencil icon opens a wizard that allows editing the texts in the different languages.

image-20260703-114515.png

Note:

  • After the modification, you must click Publish in the Administration Panel for the changes to take effect and be visible in the Data Portal.

  • Without publishing, the search box and filters will allow you to locate the translations

Special considerations for translation keys

Some elements of the Anjana Data Platform configuration require a specific criterion when defining their translation keys.

Infrastructure, Technology and Zone (triplets)

The translation keys (Key) for the possible values of these attributes must correspond exactly to the parts of the triplet configured in the Tot plugins, which in turn must match the name values of the Attribute Definition Values table set in the Configuration Portal.

For example, if a Tot plugin defines the triplet AWS / Amazon S3/ Gold, the translation keys (Key) must be the following, regardless of the translation value:

  • infrastructure: AWS

  • technology: Amazon S3

  • zone: Gold

image-20260717-111331.png
Screenshot of a triplet in a plugin's YAML

Note: the values of these attributes must not contain the characters :, #, ( or ), to avoid interference with Anjana Data Platform's internal identifiers.

Important: if, during metadata import in the creation wizard, selecting a triplet produces the error "No plugin exists for extract", the triplet values defined in the plugin's YAML probably do not match the selected translations. Check that:

image-20260717-111653.png
Extraction error indicating that no plugin is registered with that triplet
  • The keys (Key) corresponding to the translations selected in the wizard (value) match the name values of the Attribute Definition Value table.

  • The name values of the Attribute Definition Value table match those configured in the plugin's YAML ari.

image-20260717-111529.png



Roles

To translate role names, the translation key is formed by concatenating the prefix ROLE. with the value of the name column of the Roles table.

image-20260717-111914.png
Translation keys for roles in the new Administration Portal
image-20260717-112032.png
Roles configuration in the Configuration Portal

Querying translations via direct database access — Developer view

Translations are stored in two MongoDB collections, depending on whether they are internal platform translations or the organization's own translations:

  • anjana.InternalTranslation: Anjana Data Platform's internal translations.

  • anjana.ExternalTranslation: translations from the organization's own configuration.

Internal translations (anjana.InternalTranslation)

Field

Type

Description / Constraints

_id

UUID

Unique identifier.

configKey

String

Translation key.

usedFor

String

Optional. Functional label (e.g. AUDIT, WORKFLOWS).

defaultValues

Object

Map with the default values. Example: { "en-US": "Hello,", "es-ES": "Hola," }

values

Object

Map with the translated texts by language. Example: { "en-US": "Hello,", "es-ES": "Saludos" }

created_at

Date

Creation date.

modified_at

Date

Update date.

Example query for a translation whose key contains COMMON.WELCOME:

JavaScript
use anjana
db.InternalTranslation.find({ configKey: RegExp("COMMON.WELCOME") })

External translations (anjana.ExternalTranslation)

Field

Type

Description / Constraints

_id

UUID

Unique identifier.

configKey

String

Translation key.

values

Object

Map with the translated texts by language. Example: { "en-US": "API admin User", "es-ES": "Usuario de API admin" }

created_at

Date

Creation date.

modified_at

Date

Update date.

Example query for a translation whose key contains ROLE.apiAdmin:

JavaScript
use anjana
db.ExternalTranslation.find({ configKey: RegExp("ROLE.apiAdmin") })