Translation Management
The admissions system supports 47 locales with full internationalization. The Translation Management page lets you export translation files, import updated translations, and sync with the centralized Translator API.
Accessing Translation Management
Navigate to the Translations page from the sidebar or configuration menu.
Supported Locales
The system supports 47 locales. Five locales are fully translated:
| Locale | Language |
|---|---|
en | English (source of truth) |
ro | Romanian |
es | Spanish |
pt | Portuguese |
ar | Arabic (with RTL support) |
The remaining 42 locales are registered and ready for translation but currently fall back to English for untranslated keys.
Translation Architecture
- Translations use dot notation keys (e.g.,
common.save,leads.title,dashboard.widgets.tasks.title). - The system contains approximately 4,400+ translation keys.
- Fallback chain: Current locale --> English --> Raw key name.
- English (
en.js) is the source of truth -- all other locale files should have the same keys.
Exporting Translations
To export your current translations:
- Navigate to the Translations page.
- Click Export.
- A ZIP file is downloaded containing all locale files as JSON.
This is useful for:
- Sending translations to external translators.
- Backing up your current translations.
- Reviewing the complete set of keys.
Importing Translations
To import updated translations:
- Navigate to the Translations page.
- Click Import.
- Select a JSON locale file from your computer.
- The system validates the file structure and imports the translations.
WARNING
Imported files must follow the correct format (nested JSON matching the dot notation structure). Invalid files will be rejected with an error message.
Translator API
The Translations page can fetch translations from the centralized Kinderpedia Translator API:
- Click Fetch from Translator.
- The system retrieves the latest translations for all configured locales.
- Updated translations are applied immediately.
TIP
Use the Translator API to stay synchronized with the latest translations maintained by the central team, rather than managing all translations manually.
RTL (Right-to-Left) Support
The system includes RTL support for languages like Arabic:
- The
isRtlflag from theuseI18ncomposable indicates whether the current locale is RTL. - The UI layout automatically adjusts for RTL languages.
- Text alignment, navigation direction, and form layouts are mirrored.
Adding New Keys
When developing new features that need translation:
- Add the key to the English locale file (
en.js) as the source of truth. - Add the key to any other actively maintained locale files (at minimum,
ro.js). - Use the
t('your.key')function in templates and components. - Other locales will fall back to English until translated.
Best Practices
- Export before making changes -- Always download a backup before importing new translations.
- Use meaningful key names -- Follow the existing dot notation convention (e.g.,
section.subsection.element). - Translate in context -- Review translations in the actual UI to ensure they fit the available space.
- Test RTL -- If supporting Arabic or Hebrew, test the UI with those locales active to verify layout correctness.