Language of Data Marketplace, Design Studio and Scheduler¶
The language of Data Marketplace, Design Studio and the administration tool of Scheduler is English by default. The administrators can change:
The default language of these applications.
They can put in place several language files so these applications automatically display their user interface in the language preferred by the user’s web browser.
The language configuration of each application is independent. For example, you can set Data Marketplace in French and Design Studio in English.
We provide the language files for some of these applications and some languages. For any other languages, the administrators of these applications can translate the user interface to the language of their choice. To translate these files, follow the steps below, Creating Your Own Language Files. Once you have the files, the steps to deploy them are the same as for the files we provide.
Changing the Language of the Applications¶
For each application, follow these steps to make available these languages to the users. Take into account that in addition to using these languages files, you can also create your own (see below).
Download the language files you want to deploy for each application:
Data Marketplace 9.3:
Design Studio 9.3:
Scheduler 9.3:
Data Marketplace:
Log in to Data Marketplace with an administrator account and in the menu Administration > Set-up and management.
Click Personalization and click the tab Language and region.
In USER INTERFACE, click Add language to upload the file of the languages you want to make available to the users.
Design Studio:
If you are logged in to Design Studio, log out first.
Go to the Preferences page of Design Studio:
Design Studio of the Solution Manager: https://denodo-solution-manager.acme.com:19443/denodo-design-studio/#/web-local-login
Design Studio of a Denodo Platform installation: https://denodo-server.acme.com:9443/denodo-design-studio/#/web-local-login
Click the menu Configuration > Application settings.
In the section Language, select the Default language and click Add language to upload the file of the languages you want to make available to the users.
Scheduler:
If you are logged in to Scheduler Administration Tool, log out first.
Go to the Web configuration of Scheduler (i.e. https://denodo-server.acme.com:9443/webadmin/denodo-scheduler-admin/#/web-local-login).
Click Language and then, select the Default language and click Add language to upload the file of the languages you want to make available to the users.
You do not need to restart the application to apply these changes.
After uploading the language files, they will be available to all the users immediately. That is, once a user logs in, the application will display on the top-right side of the screen a “globe” icon in which the user will be able to choose the preferred language file. The options are:
Browser preferences: the application will try to choose, among all the configured languages, the one that best suits the language preferences of the user’s web browser. If no suitable language is found, the application will use the Default Language.
English (preinstalled)
Additional Languages: these are the languages you just uploaded.
The old method of configuring the language files of these applications still works (i.e. uploading the files to the computer in which the Denodo server runs and copying the files to <DENODO_HOME>/work/...).
Creating Your Own Language Files¶
In addition to use the language files available here, you can also create your own. This section explains how to translate the language files of Data Marketplace, Design Studio and Scheduler so the administrators can deploy these languages as well; not just the ones we provide. The installation of the Denodo Platform includes a template file for each application.
Data Marketplace:
<DENODO_HOME>/resources/data-catalog/messages/customLang.properties.template.Design Studio:
<DENODO_HOME>/resources/design-studio/messages/customLang.properties.template.Scheduler:
<DENODO_HOME>/resources/scheduler-webadmintool/messages/customLang.properties.template
Consider this:
These templates change every update, when there are new labels and messages to translate.
These template files contain key-value pairs like this one:
Ensure that the language files are encoded in UTF-8, to avoid character encoding issues.
The content and quality of the language files directly affect the user experience. It is the administrator’s responsibility to provide accurate and complete translations.
login.signIn=Sign in
The administrator must translate the value of each pair. In this example, translate “Sign in” to the required language.
You can do this only for the applications you want to translate, you do not need to do it for all of them.
Once you translate a file, the steps to deploy this file are the same as for the language files we provide.
Considerations When Translating the Language Files¶
The customLang.properties files store the translation of the messages in key-value pairs. You must translate the value, not the key. For example, if you are translating the user interface to Spanish, replace this:
common.daysOfWeek.monday=Monday
with this:
common.daysOfWeek.monday=Lunes
That is, translate the text on the right side of the “=” sign.
When changing these files, follow these rules:
Do not change the encoding of the
customLang.propertiesfiles. They are encoded in UTF-8 and if you change it, the applications may display garbled text.Do not translate words surrounded by curly braces (e.g.
{name}). These words represent a pattern, and the applications will replace them with context-related information.For example, for this message:
login.welcome=Welcome {username}!leave
{username}as is:login.welcome=¡Bienvenido {username}!Note that
{username}remains in the translated message. When the application displays this message to a user, it will replace{username}with the value of this pattern.Be careful with complex patterns. Those expressions contain both tokens and values to be translated. For example, if you see this:
element.usage.times.queries=Query executed {times, plural, one {once} =2 {twice} other {# times}}you must translate it to this:
Consulta ejecutada {times, plural, one {una vez} =2 {dos veces} other {# veces}}Note that the nested patterns within curly braces have been translated to Spanish.
The documentation of ICU MessageFormat explains this in more detail.
How to Refresh Custom Messages After Installing an Update¶
If you are using a language file provided by Denodo, you do not have to do this.
If you already translated a customLang.properties, this file will not be modified during the installation of a Denodo update. The new update may include a new customLang.properties.template for each Web Administration Tool with modifications that might include new messages, modifications of previous messages and deleted messages.
When an update is installed, if a previous customLang.properties.template file exists the update will replace the template with the new version. Also, the update will create a backup of the current template file (adding a suffix such as customLang.properties.template.back.202107152200 where the numbers at the end represent the update version where the template was added). Do not remove the backup versions because they will help you find changes in the upcoming updates.
To keep your custom customLang.properties files updated use the script <DENODO_HOME>/setup/common/custom_lang_util. This script finds the differences and updates your customLang.properties files. You can manually update your custom file checking the differences between the previous template and the new template, or generate a new customLang.properties using your current customLang.properties as a starting point.
custom_lang_util script options:
-diff: receives as argument the template of the previous version and the template of the last version and shows the differences between both files categorized (removed properties, new properties and modified properties).
Use this option to update your current
customLang.properties. Usage:-diff <lastPropertiesTemplateFile> <updatedPropertiesTemplateFile>
-gen: creates a custom properties file using as a starting point your current
customLang.propertiesand applies the differences between the template you used to generate your current file and the new template. At the end of the generated file, you will find two sections showing new and modified properties. Each modified property will have a comment with the previous value and the new value and will not replace the custom defined message. The properties that no longer exist in the new template are automatically removed. Usage:-gen <lastPropertiesTemplateFile> <updatedPropertiesTemplateFile> <currentCustomPropertiesFile> <newCustomPropertiesFile>
Example of updating the customLang.properties of the Design Studio manually:
Identify the new and the old templates. First, check your current update version and your previous update in the Control Center. Let’s say that XXXXXXXX is our previous update and YYYYYYYY is the version of the latest update installed. Open the template folder
<DENODO_HOME>/resources/design-studio/messages/. You may find a template file for each update installed. Identify the ones which version matches with your current and previous version respectively, in our examplecustomLang.properties.template.back.XXXXXXXXandcustomLang.properties.template.back.YYYYYYYY.Using the script
custom_lang_util.shidentify the differences by executing the following commands (replace ‘XXXXXXXX’ and ‘YYYYYYYY’ with the version of your template files):
cd <DENODO_HOME>/setup/common
custom_lang_util.sh -diff ../../resources/design-studio/messages/customLang.properties.template.back.XXXXXXXX ../../resources/design-studio/messages/customLang.properties.template.back.YYYYYYYY
Open your current
<DENODO_HOME>/work/design-studio/customLang.propertiesand update its value with the information obtained in step 2.Restart the application to load the new configuration.
Example of generating a customLang.properties for the Design Studio with the help of the script custom_lang_util.sh:
Identify the new and the old templates. First, check your current update version and your previous update in the control center. Let’s say that XXXXXXXX is our previous update and YYYYYYYY is the version of the latest update installed. Open the template folder
<DENODO_HOME>/resources/design-studio/messages/. You may find a template file for each update installed. Identify the ones which version matches with your current and previous version respectively, in our examplecustomLang.properties.template.back.XXXXXXXXandcustomLang.properties.template.back.YYYYYYYY.Using the script
custom_lang_util.shgenerate the new file executing the following commands (replace ‘XXXXXXXX’ and ‘YYYYYYYY’ with the version of your template files):
cd <DENODO_HOME>/setup/common
custom_lang_util.sh -gen ../../resources/design-studio/messages/customLang.properties.template.back.XXXXXXXX ../../resources/design-studio/messages/customLang.properties.template.back.YYYYYYYY ../../work/design-studio/customLang.properties ../../work/design-studio/new_customLang.properties
Open your new file
<DENODO_HOME>/work/design-studio/new_customLang.properties, go to the end of the file and update the values of the new and modified properties.Replace
<DENODO_HOME>/work/design-studio/customLang.propertieswith your new properties file<DENODO_HOME>/work/design-studio/new_customLang.properties.Restart the application to load the new configuration.
