Skip to content

Scan Translatable Code

This chapter describes how to scan source code for translatable attributes and build up the language database. You can also read about functionality to load translations, how to mark a component as obsolete, how to remove a language (for the component) or how to remove the whole component itself.

Scan Translatable Code

Use the Scan Translatable Code in the navigator to select the Scanner feature to scan the translatable code, see Figure 1 below.

Figure 1. The Scanner feature in the Navigator.

Scan List

The objective of the scanner is to scan all the translatable attributes and build up the language database. The scanner can be used to scan files containing translatable attributes and deployed translatable attributes.

Files containing translatable attributes:

  • Java files, for Web Client, should be located within Web components
  • .Texts.java, used by MWS
  • Text Definition (xml) files,
  • translationDb (xml) files, contains Logical Units attributes, generated during build of the Entity. File is located at..\build\gen\meta\<module>\model\<module>l\TranslationPaths
  • translationWeb (xml), contains Web Client attributes generated during the build of the Client Model. File is located at..\build\gen\meta\<module>\model\<module>l\TranslationPaths
  • translationProjection (xml), contains Projection Services translatable contexts generated during the build of the Projection Model. File is located at..\build\gen\meta\<module>\model\<module>l\TranslationPathsDeployed translatable attributes:

  • Reports, the report needs to be deployed before you can scan for added attributes

  • Basic Data
  • Company Templates

Translatable Code Scan Information page contains three tabs:

  • The Source tab which shows all 'historical' scanning and language file(s) information.
  • The Top Level Context tab which shows a list of all top-level objects that have been built into the selected component. Typically, this list shows logical units, form windows and table windows. It is possible to set a Context as obsolete by selecting the desired contexts and clicking on Set Context Obsolete button.
  • The Destinations tab shows a log of all files that have been exported or generated from the selected component. This log is simply for your convenience and does not fill any other function in IFS Translation Manager

Use the Select Component box to select the component which the scanning files belongs to. Use the Layer box to select which layer you want to scan code for:

  • User layer is used to handle translations related to configurations such as custom objects, lobby elements.
  • Cust is the customization layer, used by partners and IFS consulting for customizations.
  • Core is the IFS R&D layer.

Figure 2. Scan Translatable Code Assistant: step 1.

Press the Next button to upload files to be scanned.

Figure 3. Scan Translatable Code Assistant: step 2.

Note: You can add files by clicking on Add Files button or just drag and drop them to the assistant's file area.

After adding the files you want to scan, press the Next button to add other database objects to the scan list.

Figure 4. Scan Translatable Code Assistant: step 3.

Then press the Next button, to add deployed opbects in to scan list. Below type of objects (which are already deployed) can be selected using this step.

  • Reports
  • Basic Data
  • Company Templates
  • Basic Data Translations

Press the Next button to proceed to start scanning step.

Figure 5. Scan Translatable Code Assistant: step 4.

Log information in the scan list indicates the status of the scanning of each file. Scan button will only scan the selected files in the scan list. Start Scanning button will scan all the files in the scan list.

Set Obsolete

This option marks all texts for the selected component as Obsolete. This does not delete anything from the database, but simply tells IFS Translation Manager to treat the texts as if they no longer exist in the language database.
This function is useful to "clean up" old texts that were present in earlier builds but that have now disappeared from the application code. Setting the component obsolete, followed by a build of all source code, will effectively "clean up" the language database.

Note: If you are building from a language file there is no need to first set the module obsolete, it is done automatically when the build process starts

Remove Language

This option removes all translations in a specified language for the selected component. Users should use this function whenever there is a need to "start over" again.

Remove Component

This option removes all data about the component form the language- and translation databases. Thus please be very careful before using this function.

Refresh Language Cache

Figure 5. Translatable Code Scan Information.