9 Internationalization
Internationalization is the process of creating software that can be translated into different languages more easily. Changes to the code are not specific to any particular market. This chapter describes configuration settings and features of the software that ensure that the base application can handle multiple languages. Oracle Retail applications have been internationalized to support multiple languages.
This chapter contains the following sections:
Translation in RPASCE
Translation is the process of interpreting and adapting text from one language into another. Although the code itself is not translated, components of the application that are translated include the following:
-
Graphical user interface (GUI)
-
Error messages
-
Taskflow components
The following components are not translated:
-
Documentation (online help, release notes, installation guide, user guide, operations guide)
-
Batch programs and messages
-
Log files
-
Reports
-
Demonstration data
-
Training materials
The user interface has been translated into the following languages:
Table 9-1 Supported Languages with Language Identifiers
Language | Language Identifier |
---|---|
Chinese (Simplified) |
CHINESE_SIMPLIFIED |
Chinese (Traditional) |
CHINESE_TRADITIONAL |
Croatian |
CROATIAN |
Dutch |
DUTCH |
English |
ENGLISH |
English (Australia) |
ENGLISH_AU |
English (Canada) |
ENGLISH_CA |
English (Great Britain) |
ENGLISH_GB |
English (United States) |
ENGLISH_US |
French |
FRENCH |
German |
GERMAN |
Greek |
GREEK |
Hungarian |
HUNGARIAN |
Italian |
ITALIAN |
Japanese |
JAPANESE |
Korean |
KOREAN |
Polish |
POLISH |
Portuguese (Brazilian) |
PORTUGUESE |
Russian |
RUSSIAN |
Spanish |
SPANISH |
Swedish |
SWEDISH |
Turkish |
TURKISH |
Note:
The language identifiers mentioned in Table 9-1 are RPASCE position names for the lngs hierarchy. In most cases, they do not match the browser language IDs.
Translation in RPASCE can be handled in the following ways.
-
Build the translation-related workspaces, edit translation strings and commit.
-
Load the internal translation measures directly using the load Facts Data OAT task.
-
Manage translation using Translation Tasks.
Note:
The Multi-Language setting in the Configuration Tool properties is now obsolete. Applications are by default multilingual.
Browser Setup
Before translated strings can be viewed in the client, the following steps must be followed to change the Web browser's locale settings to the desired language. If you are using Chrome, go to Settings. The language settings are under the Advanced options.
If the language you require is not present, add it using the Add languages option. However, note that only languages in Table 9-1 are supported by RPASCE.
Click the menu next to your language and select Move to the top. Then, select Display Google Chrome in this language.
If you are using Firefox, go to Settings. Under Language and Appearance, select the button next to Choose your preferred language for displaying pages. Move the language you want to the top.
For the updates to take effect, close and then re-open your browser.
Translation Administration Workspaces
Two translation-related workspaces are available. The "Translation Administration Workspace" is used for all translation changes except position translations. The "Position Translation Administration Workspace" is used for all position label translation changes.
Note that the translation changes do not take effect until the user commits the relevant workspace.
Figure 9-4 Translation Administration Workspaces
![Description of Figure 9-4 follows Description of Figure 9-4 follows](img/translation-ws.jpg)
Description of "Figure 9-4 Translation Administration Workspaces"
Translation Administration Workspace
The Translation Administration workspace contains views for translating text used in measure labels, workspace template names, template group names, user group labels, and general areas (for example, wizard instructions, and error messages).
No wizard is available for this workspace. Select Translation Administration, as shown in Figure 9-5. You will receive a notification when the workspace has been built and is ready to use.
Dimension
The Dimension Labels view allows the user to view and edit the translations of dimension labels.
Hierarchy
The Hierarchy Labels view allows the user to view and edit the translations of hierarchy labels.
Measure
The Measure Translations view allows the user to view and edit the translations of measure labels, measure descriptions, and measure picklists.
Message
Messages contain many different types of translation strings. They consist mainly of the messages that are shown to the user in case of error or for user input. Messages can contain the measure's label override based on the template as well as the translation of a picklist range overridden based on the template. Direct messages are easy to override using this view. For measure overrides, it is best to directly load the translation measure r_msglabel. Details can be found in Loading Internal Translation Measures
Note:
RPASCE and solution-specific messages to the user must not be modified. If changes are made to these messages, they may be overwritten when patching occurs
Rule Group
The Rule Group Labels view allows the user to view and edit the translations of rule group labels displayed to users in the RPASCE Client.
Template
The Template Translation view allows the user to view and edit the translations of workbook template names.
Template Group
The Template Group Translations view allows the user to view and edit the translations of template group names.
User Group
The User Group Translations view allows the user to view and edit the translations of user group labels. The list of user groups includes the Administration, Default, and any other user group names set up by the system administrator. For products in the Oracle Retail Predictive Planning Suite, the list of user groups also includes the various planning roles.
Position Translation Administration Workspace
Position labels in a dimension are translatable. However, there are no default translations for the position labels. If translated labels are not loaded, workspaces show position labels from the hierarchy load file.
Search for translation in the taskbar search window and select Position Translation Administration, as shown in Figure 9-5. There is no wizard for this workspace. You will receive a notification when the workspace is built and ready to use.
Building a Position Translation Administration Workspace
To build a position translation administration workspace, complete the following steps.
-
Select the level to be translated, as shown in Figure 9-6.
-
Further define the level, as shown in Figure 9-7.
-
In the Position Translation Administration workbook, a different view for each level selected in the wizard is provided. Enter the position label for the language to be translated to and select Commit, as shown in Figure 9-8.
Loading Internal Translation Measures
This section discusses loading the internal measures directly using the Load Fact Data task. (For details, see Online Administration Tools.) It also describes managing translations using the Translation task, which is described in Translation Tasks
Table 9-2 lists the internal measures corresponding to the type of translation supported by RPASCE.
Table 9-2 Internal Translation Measures
Translation Type | Translation Measure | Base Intersection | Table Name |
---|---|---|---|
Level label |
r_dimlabel |
langdim_ |
RP_APP_LEVELLABEL_FT |
Dimension label |
r_hierlabel |
langhier |
RP_APP_DIMENSIONLABEL_FT |
Measure description |
r_measdescription |
langmeas |
RP_APP_MEASLABEL_FT |
Measure labels |
r_measlabel |
langmeas |
RP_APP_MEASLABEL_FT |
Pick list measure labels |
r_measpicklist |
langmeas |
RP_APP_MEASLABEL_FT |
Rule group labels |
r_rgrplabel |
rgrplang |
RP_APP_RGRPLABEL_FT |
Template labels |
r_wbtlabel |
langwbt_ |
RP_APP_WBTLABEL_FT |
Template group labels |
r_wbtglabel |
langwbtg |
RP_APP_WBTGLABEL_FT |
User group labels |
r_grplabel |
langgrp_ |
RP_APP_GRPLABEL_FT |
Internal messages and other strings |
r_msglabel |
langmsg_ |
RP_APP_MSGLABEL_FT |
Position label |
r_<levelName>label |
lang<levelName> |
e.g: RP_APP_STORLABEL_FT |
Example
The following example illustrates how to create the measure input file for internal translation measures.
Assume you are adding translation for the picklist measure. For this, the internal translation measure r_measpicklist must be loaded with the translation strings.
Create a CSV input file r_measpicklist.csv.ovr file with the translations for the picklist measure. Each row is in the format below.
<picklistMeasureName>, <languageId> , "value1(value1Label), value2(value2Label), valueN(valueNLabel)"
Here is sample content for a picklist measure named picklist1.
picklist1,swedish,"0(Nekad),1(Skrivskyddad),2(Fullständig åtkomst)" picklist1,turkish,"0(Reddedildi),1(Salt Okunur),2(Tam Eri¿im)" picklist1,croatian,"0(Odbijeno),1(Samo za itanje),2(Puni pristup)" picklist1,dutch,"0(Geweigerd),1(Alleen-lezen),2(Volledige toegang)" picklist1,french,"0(Refusé),1(Lecture seule),2(Accès complet)"
Position Translation
Dimension-specific position translation measures are named as r_<levelName>label, where <levelName> must be replaced with the name of the level from the configuration. For example, if the SKU level positions are to be translated, load the r_skulabel measure with translations. These position translation measures must be loaded after loading the hierarchy because RPASCE can only load translations for already loaded positions.
The position label translation measure files have three columns. The first column contains the position names, the second column contains the language identifier, and the third column contains the translation for the position label in that row.
For example, a translation measure input file for the dept level must be named r_deptlabel.csv.ovr and have the content formatted as follows:
2100,english,department 2100,spanish,Departamento 2100,dutch,afdeling 2100,french,département 2100,polish,dzia¿
Template-Based Override for Measures
It is possible to override a measure label or measure picklist labels based on the template in the configuration. For translating such overridden labels, see the following example.
The internal translation measure that holds the translation is r_msglabel. The ID to load the translation is as follows.
For label:
measName + '-' + templateName + '-' + l
For picklist label:
measName + '-' + templateName + '-' + pl
Example:
meas1-template1-l,english,test meas1-template1-l,spanish,prueba meas1-template1-l,dutch,toets meas1-template1-l,dutch,testa
Translation Tasks
The RPASCE platform and its applications update the default translations in the application as part of the regular upgrade and patch process. If the user has custom translations, such as message strings or measure labels, for any of the default RPASCE strings, these translations may be deleted after a patch or upgrade. To ensure that the custom translations are maintained through patches and upgrades, use the Translations task. Using the OAT task Translation Tasks, a user can upload custom translations to the PDS. Custom translations for both the server and the UI components can be uploaded using this task. This task can be found under the patch task group.
Upload Custom Translations Task
Use this task to upload and apply custom translations. The translations archive file name does not have any special restrictions but must have a .zip extension. The translations files in it must be either without a top-level folder or with one folder containing all the files. If there is a top-level folder, the name of the archive must match the folder name. The task looks for input translation archives in the Object Storage location under Translations.
The second page of the upload task provides a drop-down list of all available translation archives. The user can select one and continue. The translation measures files found in the input archive are loaded into the fact tables present in the PDS. The UI translation files are also uploaded to the right location in the PDS. In addition, a copy of all the uploaded translation files is uploaded to the PDS. This helps to list and download just the custom translations.
Here is an example of the translation archive file.
$ unzip -l tr.zip tr.tar.gz tr/ tr/MultiSolutionBundle_de.properties tr/MultiSolutionBundle.properties tr/MultiSolutionBundle_es.properties tr/r_langattr.csv.ovr tr/MultiSolutionBundle_it.properties tr/r_measdescripti.csv.ovr tr/MultiSolutionBundle_en_US.properties tr/MultiSolutionBundle_pt.properties tr/r_measlabel.csv.ovr tr/MultiSolutionBundle_ja.properties tr/MultiSolutionBundle_en_AU.properties tr/MultiSolutionBundle_fr.properties tr/r_dimlabel.csv.ovr tr/r_grplabel.csv.ovr tr/r_msglabel.csv.ovr
Note:
Be sure to include only translation changes in the input translation archive. For example, if you want to translate only five messages in the r_msglabel measure, include only those five in the input file and do not include the full r_msglabel exported from the PDS.
Remove Custom Translations Task
This task has the following options:
-
Remove server. Remove the custom server translations and re-load the default server translations.
-
Remove UI. Remove the custom UI translations and re-load the default UI translations. The changes will take effect once the UI is restarted.
-
Remove server and UI. Remove the custom server and UI translations. Re-load the default server translations into the PDS. Re-load the default UI translations. The changes will take effect once the UI is restarted.
The next page of the Remove task provides a check box. Delete the uploaded translations. If this is not checked, the custom server and UI translation files will not be deleted from the PDS. They can be re-applied using the Apply Custom Translation task from the other translations tasks drop-down list. If this option is checked, the custom translations must be uploaded again.
Other Translation Tasks
This task consists of the following subtasks.
Apply Custom Translations Task
If translation files have previously been uploaded using the Upload Custom Translations task, they must now be applied to the PDS using this task. However, the Upload task also applies the translations, and the patch scripts automatically call the Apply task during the application patch process. Therefore, in a regular upgrade and patch scenario, the manual execution of this task is not required. However, this option is exposed through OAT to be used if required. For example, if the Remove Custom Translations task is executed without the Delete Uploaded Translation option, the Apply task can be run in order to re-apply the previously uploaded custom translations.
Download Custom Translations Task
This task exports only the custom translations that are currently in use by the server and UI. The resulting archive file is sent to Object Storage under Planning/Outgoing. The name of the file is in the format CustomTranslations_<timestamp>.zip.
List Custom Translations Task
This task lists the custom translations that are currently in use by the server and UI. To view the output of this task, examine the task log in the OAT dashboard.
Miscellaneous
Note the following:
-
Rebuild segments to see the updated translations in a segment.
-
Use the OAT task Translation Tasks to ensure that the custom translations are not deleted because of a patch or upgrade.
-
Virtual hierarchy position labels cannot be loaded differently, compared to the actual hierarchy. As a result, views for virtual hierarchy levels are not included in the translation administration workspace for position label translation.
-
The following are translatable for OAT tasks. Search the contents of the translation measure r_msglabel to find the ID of the current string that can be replaced.
-
Administration task list label
-
Administration task label
-
Administration task description
-
Argument branches label
-
Argument label
-
Taskflow Components Translation
UI-side translations are done using a properties file used in the UI named MultiSolutionBundle.properties. This file contains the strings for labels, descriptions, and instructions for Activity Groups, Activities, Tasks, and Steps. This file also contains application information for a multi-solution installation. Additional files can be created that contain strings for translated languages. These files are in the format of MultiSolutionBundle_XX.properties, where XX is the language code.
Notes
-
Decimal digit and separator formatting cannot be configured in the RPASCE Client. It relies on the user's browser locale for this, where the choice of the decimal and digit grouping separator characters is derived from the language specified in the user's browser session.
-
Characters with an accent must be represented in Unicode. For example, you must represent "è" as\u00E9.
-
The displayed label of the profile can be modified by creating or updating the translation entry for the profile label in the MultiSolution taskflow bundle for the application. The key to modify is <solution name>.dashboard.profile.<profile name>.
For example, for the profile MFP-IN in the solution mfpccs, the key is mfpccs.dashboard.profile.MFP-IN.