Localization for Clients
Configure localizations for a custom client built with our libraries or for yuuvis® client as reference implementation.
Table of Contents
Introduction
The terms and phrases displayed by a client application based on our libraries such as our yuuvis® client as reference implementation can be translated into custom languages according to the corresponding needs. For this purpose, each individual technical term used in the background can be mapped to a user-friendly localized term or phrase that will be displayed in the client application instead of the technical term. The built with our libraries allows for the localization of control elements (e.g., buttons or error messages). In order to provide a custom language in the selection list from which the users can select their preferred language, it has to be added to the client's main configuration. Furthermore, labels used in forms can be localized easily during runtime.
Localizing Control Elements
The localization of control elements is realized directly during the build process of the client. JSON files are used as configuration files for the translations. The languages to be offered to users are specified in the client's main configuration.
>> Framework Library Installation and Configuration
Our yuuvis® client as reference implementation offers the possibility to manage those global configuration files via the client application.
>> Manage Language Settings via Configuration Files
Localizing Form Labels ...
The labels displayed in forms (e.g., object metadata forms) are localized by means of JSON configuration files as well. A distinction is made between tenant-specific labels available only in one tenant and global labels available in all tenants. The tenant-specific localization files are managed by users with the YUUVIS_TENANT_ADMIN role. Their changes are applied only to their own tenant. Users with the YUUVIS_SYSTEM_INTEGRATOR role are allowed to manage the global localization files available in all tenants.
Whenever a new tenant is created and provided with its own tenant-specific resources like, e.g., a tenant schema, a tenant-specific localization file also needs to be created. Otherwise the technical terms defined in the technical resource files will be displayed in the forms.
In order to retrieve or import localization files, the corresponding endpoints of the Web-API Gateway (API-WEB) can be used. Alternatively, the administrative graphical user interface of yuuvis® architect allows for a comfortable localization handling.
... by means of Web-API Gateway
The endpoints for the management of localization files provided by the Web-API Gateway (API-WEB) are available only for users with specific administrative roles. Furthermore, the endpoints require the specification of the language for which the localization file should be retrieved/updated. The language has to be specified in ISO norm (e.g., de
, en
, es
, fr
, ...) in the request header for GET endpoints and in the request URL for the POST endpoints:
User Role | Available Endpoints for Localization Management | Description | ISO Language Specification | Range of Application of managed Localization Files |
---|---|---|---|---|
YUUVIS_TENANT_ADMIN | GET /api-web/api/admin/resources/text | Retrieves tenant-specific localized text resources for the | in the request header Accept-Language | Tenant-specific: available only in the tenant the currently logged-in user belongs to. |
POST /api-web/api/admin/resources/text/{locale} | Updates the tenant-specific localized text resources for the active tenant and the specified | as path parameter | ||
YUUVIS_SYSTEM_INTEGRATOR | GET /api-web/api/system/resources/text | This request retrieves global localized text resources for the | in the request header Accept-Language | Global: available for all tenants. |
POST /api-web/api/system/resources/text/{locale} | Updates the global localized text resources for the specified | as path parameter |
The endpoints can be called via Swagger-UI.
>> Web-API Gateway Endpoints
Alternatively, they can be called using cURL as shown in the following examples:
# Management of a global localization file: # Retrieve the localization file for English language as a JSON response: curl -X GET "https://mydomain/api-web/api/admin/resources/text" -H "accept: application/json" -H "Accept-Language: en" # Import or update the localization file for Japanese language: curl -X POST "https://mydomain/api-web/api/admin/resources/text/ja" -H "accept: */*" -H "Content-Type: application/json" -d "{all keys that are given}" # Management of a tenant-specific localization file for the tenant of the logged-in user: # Retrieve the localization file for English language as a JSON response: curl -X GET "https://mydomain/api-web/api/admin/resources/text" -H "accept: application/json" -H "Accept-Language: en" # Import or update the localization file for Japanese language: curl -X POST "https://mydomain/api-web/api/admin/resources/text/ja" -H "accept: */*" -H "Content-Type: application/json" -d "{all keys that are given}"
... by means of yuuvis® architect
yuuvis® architect provides a support tool with a graphical user interface for client administrators. Based on the framework library, metadata forms of their client's graphical user interface can be modeled. Furthermore, users can be added or removed from the respective tenant and language settings can be customized.
The Localization tile is available on the dashboard for users with the YUUVIS_TENANT_ADMIN or YUUVIS_SYSTEM_INTEGRATOR roles.
>> Localization
Localizing Terms from Plug-ins
In case you need to extend translations with new keys, please specify translations in the plug-in configuration for each language in your system.
>> Extending Clients with Plug-ins
Language-specific Date, Time and Number Formats
Regardless of the availability of a localization file with language-specific terminology, a library-based client can support language-specific date, time and number formats according to the corresponding rules. The supported languages are listed below. Support for languages not listed below can be implemented by the yuuvis® Momentum development team upon request.
Language | ISO code |
---|---|
Arabic | ar |
Bengalese | bn |
Chinese | zh |
English | en |
French | fr |
German | de |
Hindi | hi |
Italian | it |
Japanese | ja |
Korean | ko |
Latvian | lv |
Polish | pl |
Portuguese | pt |
Russian | ru |
Slovak | sk |
Spanish | es |
Ukrainian | uk |
To configure display languages for the client, please refer to this article: Customizing the Main Configuration.
Summary
In client applications built with our libraries, all displayed terms and phrases can be localized for a custom language. While labels for control elements are defined already during the client configuration, the localization of labels in forms is possible at runtime via Web-API Gateway or yuuvis® architect.