Localization Configuration

The procedure to configure custom localizations in your Reltio Connected Cloud environment is simple.

The configuration of localization includes the following activities:

  • Collection of localizable resources and preparation of resource bundles for deployment
  • Deployment procedure
  • Verification procedure

Resource Bundles Preparation

Data Label Patterns

Data label patterns are used to define how the label of an entity or an attribute will be displayed in the UI. Each entity type, relation type, nested attribute, reference attribute can have label patterns specified in the data model configuration.

For details refer to:

  • Attributes configuration
  • Entity types
  • Relation types
  • Configuration API

For each data label pattern, the localizable resource is a string value of the dataLabelPattern field.

Example 1

Localizable resources from data model configuration

Example of a data label pattern defined for nested attributes:

[{
		"label": "Privacy Prefs",
		"name": "PrivacyPreferences",
		"type": "Nested",
		...
		"URI": "configuration/entityTypes/HCP/attributes/PrivacyPreferences",
		"dataLabelPattern": "Allowed To Contact: {AllowedToContact}",
		...
		"attributes": [{
				"label": "Allowed To Contact",
				"name": "AllowedToContact",
				"description": "Specifies whether the person is allowed to contact using their
				contact information ",
				"type": "Boolean",
				...
				"URI": "configuration/entityTypes/HCP/attributes/PrivacyPreferences/attributes/AllowedToContact"
			},
			...
		]
	}
	...
]

Resource Bundle for Localization of Data Lable Pattern

In our example, localizable data label pattern string is Allowed To Contact: {AllowedToContact}. This string should be represented in a resource bundle (for example, in file my-custom-label-patterns-it.json) in the following way (language: Italian-it): { "Allowed To Contact: {AllowedToContact}": "Pucontattare: {AllowedToContact}", ... }

Example 2

Localizable resources from data model configuration:

Example of a data label pattern defined for an entity type:

"entityTypes": [ { "URI": "configuration/entityTypes/Individual/Employee", "description": "Employee entity type details", "dataLabelPattern": "Employee {FirstName} {LastName} from {Company}", ... } ...]

Resource bundle for localization

In our example, localizable data label pattern string is "Employee {FirstName} {LastName} from {Company}". This string should be represented in a resource bundle (for example, in file my-custom-label-patterns-ru.json) in the following way (language: Russian-ru):
{  "Employee {FirstName} {LastName} from {Company}": "Сотрудник {FirstName} {LastName} из {Company}", ... } 

Lookups

Lookups are used to define lists of values for an attribute to be displayed and available for selection in the UI. For each lookup, the localizable resource is a string value of the displayName field.

Localizable resources from data model configuration

Example of a lookup code defined for the Gender attribute:

{  
   "label":"Gender",
   "name":"Gender",
   "description":"",
   "type":"String",
   ...  "URI":"configuration/entityTypes/Individual/attributes/Gender",
   "lookupCode":"GENDER_CD"
}

Gender lookups configuration:

{  
   "GENDER_CD":{  
      "M":{  
         "displayName":"Male"
      },
      "F":{  
         "displayName":"Female"
      }      "N/A":{  
         "displayName":"Not known"
      }
   }   ...
}

Resource Bundle for Localization of Lookups

{ "{lookupCode}.{displayName}" : "{value}"}

In our example, localizable lookup strings are: "Male", "Female", "Not known". These strings should be represented in a resource bundle (for example, in file my-custom-lookups-fr.json) in the following way (language: French-fr):

{  "GENDER_CD.Male": "Maculin",  "GENDER_CD.Female": "Fminin", "GENDER_CD.Not known": "Inconnue", ... } 

Example 2

Localizable Resources From Data Model Configuration

Example of lookup configuration:
"STS_CD": { "A": { "displayName": "Active" }, "I": { "displayName": "Inactive" } }

Resource Bundle For Localization

In our example, localizable lookup strings are: "Active", "Inactive". These strings should be represented in a resource bundle (for example, in file my-custom-lookups-es.json) in the following way (language: Spanish-es):
{  "STS_CD.Active": "Activo",  "STS_CD.Inactive": "Inactivo", ... }

Deployment

Prerequisites

Before you start the deployment procedure, ensure that you have the following information and deployment artifacts:

  1. Environment URL
  2. TenantID in this environment
  3. Language
  4. JSON file for deployment prepared according to the instructions provided in the Resource Bundle for Localization of Lookups Preparation section.
Note:
  • Each localization resource bundle should be represented by a separate file for each language, one file per language.
  • As a good practice, it is recommended to check the JSON for syntax errors by using any tool, for example http://www.jsoneditoronline.org/.
  • If you need to deploy both data label patterns and lookups, you can merge corresponding resource bundles (for example, my-custom-label-patterns-es.json and my-custom-lookups-es.json) into one *-es.json file for deployment.

Deploy using API

To deploy your custom localization to your tenant, use the Set Tenant Translation Table operation of Internationalization API, make the following POST request using Postman (language: German-de):
POST {BalancerURL}/reltio/{tenantID}/resources/i18n
The Headers must be as follows: {Content-Type: application/json,Authorization: Bearer {{access_token}},Language: de} and body with all content of your German localization (*-de.json) file.

Example

Example (language: Portuguese-pt):
 
POST https://mpe-01.reltio.com/reltio/{TenantID}/resources/i18n
Headers: 
{
  Content-Type: application/json,
  Authorization: Bearer "a30fdec5-a410-4e2c-9abc-3dda421ba750",
  Language: pt
}
Body:
{
  "{Number} {Type}": "{Number} {Type}",
  "{AddressLine1} {City} {StateProvince} {Zip.Zip5}": "{AddressLine1} {City} {StateProvince} {Zip.Zip5}",
  "[primaryMember]({LastName}) Household": "Agregado Familiar de [primaryMember]({LastName})",

 ...
}

Verification

Verify Localization Using API

To verify your custom localization deployed to your tenant, use the Get Tenant Translation Table operation of Internationalization API, make the following GET request using Postman (language: German-de):
GET {BalancerURL}/reltio/{tenantID}/resources/i18n 
The Headers must be as follows: {Content-Type: application/json,Authorization: Bearer {{access_token}},Language: de}

The response will contain the JSON structure of German localization strings deployed to this tenant.

Verify Localization Using UI

For more information, see Setting Up Localization.