Does Anyone know the exact purpose of 'I18N: Internationalization Translation helper' plugin?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-09-2019 11:44 PM
Hello,
Does anyone know the exact purpose of 'I18N: Internationalization Translation helper' plugin? What would happen by activating it and where it can help in?
I couldn't find much information in docs.
Thank you
- Labels:
-
Instance Configuration

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-10-2019 12:22 AM
Hi Gaurav,
Link above from Harshvardhan would help. In addition, 'I18N: Internationalization Translation helper' plugin has Modules and Import Set maps to merge all languages into one table for translation maintenance.
Thanks,
Jaspal Singh
Hit Helpful or Correct on the impact of response.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-10-2019 12:46 AM
Hi Jaspal,
Yes, only that much information is available but my question what is the impact if we activate or not activate this plugin. How this plugin is beneficial for customer, what is the use case?
Thank You

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-01-2019 07:55 PM
I too would like to know about this Plugin and how to use it. The information on the DOCs site is very limited. I have it activated in a sub-prod environment that needs to be translated into 20+ languages.
Included with the plugin:
Script Include "TranslationLoader" and the description is:
A. Create files to send to translators...
Start with a freshly zbooted instance and run the following:
var tl = new TranslationLoader();
tl.process();
OR
var tl = new TranslationLoader();
var pluginArray = ['com.glideapp.custom_charts', 'com.snc.hr_management'];
tl.process(pluginArray);
1. Loads default plugins (an array of unpublished but used plugins)
2. Loads array of unpublished plugins as provided via script
- processing only occurs on published plugins.
- If translations are required for an unpublished plugin then pass that plugin id into this processing script by means of the pluginArray
3. Loads all inactive published plugins
4. For each plugin:
Grab new modules
Grab new tables (from above module definition)
Render table form/list
5. Copy sys_choice, sys_documentation, sys_translated, sys_ui_message to the corresponding translation tables
- gives us english entries for each record
6. Loads all of our existing translation plugins so we have the data in place to build a master sheet
translated fields -> u_trf_translations
messages -> u_msg_translations
sys_documentation -> u_gmld_translations
sys_choice -> u_choice_translations
7. Attachement records are created for each translation table
Processing takes 3-4 hours
B. Process files from translators
Copy files from translators into a directory on your local machine (/translations)
Start with a freshly zbooted instance and run the following
var tl = new TranslationLoader();
tl.setDebug(true);
tl.setImportPath('/trans/import/');
tl.setExportPath('/trans/export/');
tl.importTranslations();
1. Loads the translated files
2. Transforms to sys_choice, sys_documentation, sys_translated and sys_ui_message
3. For each language export each table to excel
Result is excel files matching the below file naming convention
4. Check these excel files into each language plugin
File naming convention
sys_choice_<country>.xls
sys_translated_<country>.xls
sys_documentation_<country>.xls
sys_ui_message_<country_.xls
There are also the following Transform Maps that are created.
1) How is one supposed to create these translation files, which take 3-4 hours.
2) In the tables created for language translations from this plugin (e.g. sys_translatedtxt_translations & sys_translated_translations, I do not see a business rule that runs when entries for other languages are entered and they need to be copied to the Translated Text, Translated Name/Fields, UI Messages, sys_choice, etc. Is this table just a visual representation of the data that needs to be manually populated via a separate import/update?