Add a non-standard
language
The SAFE X3 technology software is used to manage a group of standard languages, which are systematically supplied on the CD-ROM. However, it is possible to add additional connection languages via a manual procedure.
This procedure does not guarantee the evolution of the messages of a given language upon delivery of a standard patch list, likely to add messages. In this case, it is necessary to add these additional messages to the non-standard language which has been created. It is strongly recommended to export the texts in the new language from the APLSTD and ATEXTE tables to a backup file once the process has been carried out, in order to be able to import them again if need be.
PREREQUISITES
5
STARTING THE TRANSLATION
9
Export/import of messages 10
Text export/import 12
Language addition validation operations in the translation folder 13
Additional operations 16
TRANSLATABLE TEXTS
17
Dashboard elements 19
Translation of pages in the administration menu 20
Processes, process menus 23
Menu items 24
Mobile functions 24
Resource functions 26
Evolution of the translation 27
GLOSSARY
29
Classic page 29
Navigation page 29
Module, submodule, block 29
Menu item 29
Installing the environment
The environment which will be used to extract and retrieve the translation must be installed as a child folder of the root folder (usually X3).
This folder should contain:
• the code for at least one standard language,
• the non-standard language code,
• the value of the DIS activity code, which must be set to 'Yes'. This activity code activates the translation functions.
The translation folder is the reference folder used to identify the translation differences. It is also used to bring the translation up to date further to patches or updates. It is possible at any given moment to know which messages and texts remain to be translated in the software using the untranslated text/message search functions (in the Translation menu).
The validation of each folder generates the standard language dictionary and thus creates the architecture necessary for the import of the non-standard language.
The prerequisite to the translation of an non-standard language is to determine the language code to be used. Either this code already exists or it needs to be created and/or complemented. If a code needs to be created and/or complemented, we recommend that you consult with Sage to validate this code. As a matter of fact, codes need to be
compatible with the ISO standards (this is also true for the assignment of the legislation codes).
The definition of a language requires operations at two different locations.
1. In the definition of the "Locales" at administration level, where the language code is defined as per the the ISO 639-2 standard.
Other regional parameters, such as the grouping of numbers or decimal and/or thousand separators, are also defined here.
2. In the language management function in the "common Data" module (GESTLA
function) where the language is identified by an alphanumeric code with three letters. If the code does not exist in the list, it is possible to add it along with its description (in the connection language) or to merely modify it if it does exist.
The link with the ISO code must be completed in the locales at administration level by entering the same value in the ISO code column.
It is also necessary to specify whether or not the language uses Unicode characters ("Unicode language" column).
The language must be defined as a connection language to make it possible to choose it if it has been set at folder level (data source).
When the language table is updated, use the Description translation function to translate the descriptions available in the other languages into the new language. Conversely, you need to translate the descriptions of the added language into the other languages (at least those which are likely to be used as a connection language).
Once the language has been defined, go to the "Initialize" tab in the GESADS function for the requested folder and add it to activate it in this folder.
Important! It is prohibited to add a non-standard language to the X3 folder. This operation must be performed in an application folder.
This folder can be specified as being the reference folder for the added language. In this case, it will be used when language validation or manipulation operations are performed. For that purpose, select the "Translation ref." box on the line corresponding to the
language added to the grid.
There is no need at this stage to revalidate the folder. This operation should be carried out after the translated texts have been added.
There are two translation methods:
• Translation within Sage X3: it is carried out with the standard translation tools that can be activated by means of the DIS activity code. The use of these tools is
recommended namely when translations are modified or added. All the on-line translation functions are available in the "Translation" sub-menu.
• Translation outside of Sage X3: this is a translation performed out of context.This method is faster and is used to outsource the translation to specialized agencies. In this case, texts and messages are exported from the X3 application from the language that will be used as the basis for the translation. We recommend that you start from the French (FRA code) or the US English (ENG code) which are the two basic languages.
To perform the export, use:
o Either the GEXPOBJ function and choose the appropriate export template o Or the preset functions (available in the Translation menu)
• AEXPATD for messages • AEXPATR for texts
The import/export templates to be used are:
o ATDXLS for the local menus (APLSTD table) o ATRXLS for the texts (TEXT table)
These templates are set to operate by default with Unicode files.
Starting the translation
If the translation language is not Unicode, the templates can be adapted in the GESAOE function.
Export/import of messages
The export of messages can be launched directly using the AEXPATD function.
The export is launched from a language that is already available. The translation language needs to be selected in a second screen (specify the three-character code defined in the GESTLA function)
For our example, let us select the ZZZ code as the language in which we wish to translate.
The resulting file is a csv file containing six columns:
1. The target translation language (the language that is provided in the second screen during the export)
2. The local menu chapter number 3. The local menu message number 4. The exported text
5. The text to be translated, initialized by the exported text 6. The date of the record last update
The 5th column is the only one to be modified, with the translation. The other columns must not be modified.
The maximum length of a message is 123 characters. Do not to exceed this length or the excess characters will be lost during the import.
The records for which the third column is equal to 0, in other words technical records, must not be changed. For example:
"ENG";2;0;"RCMAD><LVI09XTH+-F";"RCMAD><LVI09XTH+-F";20050113 This record must not be translated.
When texts begin with the ? character, it means that they correspond to disabled values. They still need to remain in the file in order to keep the same numbers for the active entries. It is not necessary to translate them (for example, Local Menu 91, entry 4).
When special characters are included in texts, they must be left as is. They are interpreted by specialized programs.
Characters such as " ; or , can pose problems because they are separators for Excel. Such records must be dealt with in a specific way.
Text export/import
Like for local menus, the translation language needs to be specified in a second screen.
The resulting file is a csv file containing eleven columns: 1. The translation language
3. The search key 4. The length (not used)
5. The name of the "objects" which use the text 6. The name of the "collections" which use the text 7. The text number
8. The reference text 9. The text to be translated 10. The object type
11. The comment
Only column 9 needs to be translated. The other columns must not be modified. The
Comment column can be translated, but this is not mandatory.
The maximum length of a text is 80 characters. Do not exceed this length or the
excess characters will be lost during the import.
Characters such as " ; or , can pose problems because they are separators for Excel. Such records must be dealt with in a specific way.
Note: Import operations last from 20 to 30 minutes depending on the systems. Each import, texts and messages, impacts more than 50,000 records.
Language addition validation operations in the translation folder
Your file is now ready to be validated and integrate the new language in the available resources.This operation will create the directories which are necessary for the application to operate in the new language. It will then populate them with the generated elements. These directories will be defined in
[X3_Install_dir]/dossiers/X3_PUB/GEN/ "Language code on 3 characters"
[X3_Install_dir]/dossiers/X3_PUB/GEN/SYR/ "ISO language code in uppercase letters" And in
[X3_Install_dir]/dossiers/X3_PUB/X3_ROOT/GEN/ "Language code on 3 characters" This last directory contains resource files used by some technical components.
2. Relaunch the dictionary validation using the "Complete" validation mode.
Important! This operation lasts for several hours. We recommend that you launch this operation in batch mode (VALDICO batch task) and that you clear the "Deferred validation" box.
3. Open the Create descriptions function (ALANG). Only select the line corresponding to the language that is being set up by selecting the "To generate" field. Validate by clicking OK.
4. Copy the file that contains the messages of the added language engine from [X3_Install_dir]\folders\X3_PUB\X3_ROOT\GEN\ALL\LIB\"language code" to the [X3_Install_dir]\runtime\lan directory of the main processing server and of the other installed servers, if necessary (this file contains the messages displayed by the engine and translated to the new language.)
5. It is now possible to log on to the application in the new language and use the product in this language.
Additional operations
Further to this initial phase, all the classic functions are now available in the new language. This initial phase is the most time consuming phase.
Some other operations need to be completed to ensure that all the components of the software are available in the new language.
• Translatable texts
• Dashboard elements
• Pages
• Processes, process menus
• Menu items
• Mobile functions
The concept of translatable texts has been introduced into Sage X3 to manage the translations of technical or application data.
These texts are stored in the ATEXTRA database table. They correspond to information associated with the AXX, AX1, AX2 or AX3 data types (the data type of a field in a screen can be checked by pressing the ESC+F6 key combination).
This is the case if a description is associated with a product code. For example, this French description "Bicyclette" can be translated to "Bicycle" in English. It will appear as "Bicycle" to the users who are connected in this language and in the reports launched in this language.
Translatable texts are also used to manage some technical data, such as the descriptions of the vignettes, the descriptions of the processes, the descriptions of the process menus, etc.
The translation operating mode is a contextual mode.
• Position the cursor on the corresponding Description field and a Translation choice is submitted for each "translatable" text.
It is then possible to translate this description into the languages of your choice. There is no validation to be performed for this contextual data. It can be directly used in the translated language with the exception of the dashboard elements detailed later on.
Translatable texts
It is possible to select the translatable texts of the ATEXTRA table in a more global way, table by table, using the FUNTRAAXX function (Setup/Setup/Text translation).
Refer to the online documentation on the function for further information.
http://online-help.sageerpx3.com/erp/staticpost/text-translation-3/
Activating the "Number of elements" button is used to know the number of global elements contained in the ATEXTRA table.
Dashboard elements
This group of elements includes all the elements composing dashboards, and especially the vignettes.
The descriptions associated with the vignettes (GESAPR function) are translatable texts. They must be translated as indicated in the previous paragraph.
Concerning the vignettes, an additional step consists in importing the dashboards. For that purpose, once the translation has been performed, use the "Import of menu profiles" function in the administration pages and select the "Import vignettes" box.
It is also possible to directly translate in the pages the titles of the vignettes or of the imported elements by means of the translation functions available on each description in the menu items.
Translation of pages in the administration menu
To translate the elements in the pages, in the Administration page, choose the Authoring menu/Navigation pages. Select the Home page, then the "Edit"action.
Clicking the title provides access to a page which enables the names of the modules, submodules and menus to be translated. Click each title, then "Translation" from the Actions menu.
Menu items cannot be translated from this page. It is necessary to go to the Authoring menu/Menu modules, and select the Administration page of the Syracuse Collaboration application.
For each item, select the "Translation" action at least for the title (it is also available for the description).
Processes, process menus
Use the Process translation function (GESAPR) in the Translation menu. There are two possible ways to translate processes.
For further information on the translation of processes, refer to the documentation on the function.
For the process menus, their descriptions should be translated (translatable texts) in the GESAPO function.
Menu items
The Import function of the menu profiles is used to integrate the translation of the menu items for the classic functions.
It is necessary beforehand to have completed the following operations:
• Translation of the ADMIN menu. Texts are derived from the ATEXTE table, either by import as seen previously, or using the translation tools in the Translation menu.
• Validation of the menu in a folder containing the new language
Mobile functions
The translation of the representations available in mobile applications in Version 7 and Update 8 must use a hidden URL.
In this URL, " Syracuse server" and "Syracuse port" must be replaced with their corresponding values.
http://syracuseserver:syracuseport/syracuse-main/html/main.html?url=%3Frepresentation%3Ddevsos.%24dashboard
In this page, go to the "Dashboards" function in the "Syracuse personalization" menu.
Select the items related to the mobile applications.
For example, choose the "Customer Queries" vignette.
The pages associated with the functions are representations and they are translated like classic pages. Texts are contained in the ATEXTE table.
From Update 9, a menu in the Syracuse administration pages will grant access to all the resources used by the mobile application. It will make it possible to translate these resources in a similar way to the Syracuse functions.
Resource functions
Some interface elements cannot be integrated via the usual translation functions. This is the case of the Platform messages and Office Addin messages.
• The Platform messages are stored in json resource files located in various sub-directories of the installation tree structure.
• The Office Addin messages are generated in the form of resource and they are integrated into the Setup.
The tools that are currently available do not enable business partners to be fully autonomous to generate these resources.
To take these resources into account, the procedure is to translate these menus and then communicate the translation to Sage. Then Sage will generate the resources in the next Syracuse patch list.
In a future release, we will provide a translation platform to enable us to meet this need in a more flexible way.
Evolution of the translation
The initial translation must be complemented with update when texts change. This happens with Updates which include new functionalities, and also with corrective patch lists. In the case of corrective patch lists, updates are quite limited.
The software provides a text and message update procedure adapted to this operation mode.
The functions to use are located:
• In the classic pages, in the "Translation" menu
• In the Syracuse administration pages, Administration Utilities/Personalization management group, to export the Syracuse pages, and in the "Menu profile import" function to reimport these pages.
For the classic pages, the "Text to translate" function is used to list the untranslated or modified texts since a given date.
It is then possible to translate these elements in the lines of the grid.
To translate the new messages, locate the modified or untranslated records in the APLSTD table by performing an export (AEXPATD function) after having selected a modification start date.
Classic page
A classic page is an edit page linked to an X3 function.
On the other hand, a Syracuse page is linked to a representation.
Navigation page
A navigation page is a page that displays the various menu items.
Module, submodule, block
A module corresponds to a menu item at the first hierarchy level of a navigation page. A submodule corresponds to a menu item at the second hierarchy level of a navigation page.
A block corresponds to a menu item at the third hierarchy level of a navigation page.
Menu item
A menu item defines a link to a page managed by the software.