Internationalization
Internationalization
Modularized ADITO modules support language-specific files and translation workflows. This section describes conventions, tools, and special cases in multilingual environments.
Language Files and Merging
Each module maintains its own language files under the others
folder. The convention is:
LANGUAGE_<lang>_<module>
Example: LANGUAGE_de_activity
Naming Keys
All module-specific keys should follow ADITO’s spelling conventions and use a prefix based on the module name. The format is: ModuleName_KeyName: translation
.
Example: Activity_New service ticket: Neues Serviceticket
This naming convention is not technically required, but it significantly improves clarity and orientation in multilingual projects.
- The module name must match exactly.
- Files are merged automatically during transpilation.
- Do not rename these files manually—Designer relies on the naming convention.
Overriding Keys
To override a language key from another module:
- Create a language file with the same
LANGUAGE_<lang>_<sourceModule>
name. - Define the key with the desired value.
During transpilation, this override is merged and takes precedence over the original.
Overriding is only supported for existing keys. Creating new keys for another module breaks isolation and is not allowed.
Designer Support for Overrides
In modularized projects, the Designer provides an option “Override Keys” in the context menu of language files—except for LANGUAGE_EXTRA
files.
This tool allows overriding selected language entries from dependent modules:
- The selected entries are copied into your own module’s language file (
LANGUAGE_<lang>_<yourModule>
). - The copied entries are immediately editable.
- The view automatically scrolls to the newly inserted keys.
This feature simplifies the override process and ensures correct structure.
Figure: Selecting override entries from a shared module
↓
Figure: Overridden entries are transferred to the current module’s language file
Further Tool Support
The Designer provides several built-in tools for managing and analyzing language keys. This section focuses on tool behaviors relevant to modularized ADITO projects.
Extract Language Keys
- Keys from child modules are not extracted to prevent duplication
- Keys in modifications are found only if “Execute partial transpile” is enabled
- The final synchronization step must be triggered manually
Dependencies Dialog
The "Dependencies" dialog
Appears during:
- Extract Keys
- Refresh / Sync
- Find Unused Keys
Options:
- Include: Search in current project and all dependencies
- Don’t Include: Only search in current project (recommended)
- Execute partial transpile: Targets data from the
dist
folder, ensuring that modifications and ExtensionPoints are also scanned correctly
Always keep “Execute partial transpile” checked for accurate results.
Refresh / Sync
- Users are prompted whether to sync only their own module or all dependencies
Find Unused Keys
- Users are asked whether to scan all dependencies or only the current module
Import
- Synchronization is not automatic; must be started manually after import
Jasper Report Keys
All keys from Jasper files are extracted, regardless of which module the file belongs to. This includes Jasper files from dependencies and shared report definitions across modules.