Translations
Manage multi-language content for the platform. Menon Mobility supports 34 languages.
Overview
The translation system allows you to:
- Manage UI text in multiple languages
- Translate category and brand names
- Localize email templates
- Enable/disable languages
Accessing Translations
- Go to Admin Panel
- Click "Translations" in the sidebar
- View translation management
Supported Languages
Menon Mobility supports 34 languages:
| Code | Language | Code | Language |
|---|---|---|---|
| ar | Arabic | ms | Malay |
| bn | Bengali | nb | Norwegian |
| cs | Czech | nl | Dutch |
| da | Danish | pl | Polish |
| de | German | pt | Portuguese |
| en | English | ro | Romanian |
| es | Spanish | ru | Russian |
| fa | Persian | sv | Swedish |
| ff | Fulah | sw | Swahili |
| fr | French | th | Thai |
| ha | Hausa | tr | Turkish |
| he | Hebrew | uk | Ukrainian |
| hi | Hindi | ur | Urdu |
| hu | Hungarian | vi | Vietnamese |
| id | Indonesian | yo | Yoruba |
| it | Italian | zh | Chinese |
| ja | Japanese | ||
| ko | Korean |
Language Settings
Enabling Languages
- Go to Translations > Languages
- Toggle languages on/off
- Enabled languages appear in:
- Language selector
- User preferences
- Admin options
Default Language
Set the default language:
- Select primary language
- Used for:
- First-time visitors
- Fallback translations
RTL Languages
Right-to-left languages are automatically handled:
- Arabic (ar)
- Hebrew (he)
- Persian/Farsi (fa)
- Urdu (ur)
Translation Interface
Translation List
Browse translations by:
| Filter | Options |
|---|---|
| Namespace | UI, Email, Content |
| Status | All, Translated, Missing |
| Language | Target language |
| Search | Key or text search |
Translation Entry
Each entry shows:
| Field | Description |
|---|---|
| Key | Translation identifier |
| English | Source text |
| Target | Current translation |
| Status | Translated, Missing, Review |
| Last Updated | Modification date |
Editing Translations
- Click on translation row
- Edit target language text
- Click "Save"
- Or use keyboard: Tab to save and next
Bulk Editing
Edit multiple translations:
- Select namespace
- Click "Bulk Edit"
- View all keys in spreadsheet format
- Make changes
- Save all
Translation Namespaces
UI Namespace
Interface elements:
- Button labels
- Navigation items
- Form labels
- Error messages
- Notifications
Email Namespace
Email template content:
- Subject lines
- Email body text
- Footer content
Content Namespace
Dynamic content:
- Category names
- Brand names
- Feature names
- Specification labels
Missing Translations
Finding Missing
- Select target language
- Filter by "Missing"
- View untranslated keys
Prioritizing Missing
Focus on:
- High-frequency UI text
- Error messages
- Navigation elements
Machine Translation
Auto-Translate
Use AI translation for missing text:
- Select missing translations
- Click "Auto-Translate"
- Choose provider:
- Google Translate
- DeepL
- Review translations
- Approve or edit
Review Required
Auto-translated text is marked for review:
- Yellow indicator
- "Review" status
- May need manual adjustment
Import/Export
Exporting Translations
- Go to Translations > Export
- Select:
- Languages
- Namespaces
- Format (JSON, CSV, XLIFF)
- Download file
Importing Translations
- Go to Translations > Import
- Upload translation file
- Select:
- Target language
- Namespace
- Conflict handling
- Preview changes
- Confirm import
Format Support
| Format | Description |
|---|---|
| JSON | Simple key-value |
| CSV | Spreadsheet format |
| XLIFF | Translation industry standard |
Category/Brand Translations
Translating Categories
Categories support multiple languages:
- Go to Categories
- Open category
- Click "Translations" tab
- Enter translations for each language
- Save
Translating Brands
Brand names may differ by region:
- Go to Brands
- Open brand
- Add localized names
- Save
Email Templates
Template Translations
Translate email content:
- Go to Translations > Emails
- Select template
- Choose language
- Translate:
- Subject line
- Body content
- Variables remain:
- Save
Testing Translations
Preview email in different languages:
- Select template
- Choose language
- Click "Preview"
- Send test if needed
Verification
Key Count Verification
Ensure all languages have complete translations:
# Verify key counts match across languages
cd apps/web/messages
for f in *.json; do
echo "$f: $(jq 'def count: if type == "object" then (to_entries | map(.value | count) | add) // 0 else 1 end; count' "$f") keys"
done | sort -t: -k2 -rnParity Check (Admin API)
The admin panel provides automatic parity checking:
- Go to Admin Panel > Translations
- View "Parity Status" indicator
- Green = All languages have same key count
- Yellow = Some languages missing keys
The API endpoint /api/admin/translations/parity returns:
{
"success": true,
"data": {
"parity": true,
"keyCount": 450,
"languages": [
{ "code": "en", "keys": 450, "missing": 0 },
{ "code": "de", "keys": 450, "missing": 0 },
{ "code": "fr", "keys": 448, "missing": 2 }
]
}
}Completeness Report
Generate translation completeness report:
- Go to Translations > Report
- View percentage complete per language
- Download detailed report
Admin Translation Management
The admin panel provides direct translation editing:
| Feature | Description |
|---|---|
| View All | Browse translations by language |
| Edit Inline | Edit values directly in the admin UI |
| Add Keys | Add new translation keys |
| Bulk Update | Update multiple translations at once |
| Sync Check | Verify all languages are in sync |
Translation Update Process
- Go to Admin > Translations
- Select source language (typically English)
- Add or modify translation keys
- System prompts to add to other languages
- Use auto-translate or manual entry
- Save changes
Best Practices
Translation Guidelines
Consistency
Use consistent terminology across translations.
Context
Consider where text appears when translating.
Variables
Never translate variable placeholders like .
Length
Translations may be longer/shorter - test display.
Quality Assurance
Before publishing:
- Native speaker review
- Check text truncation
- Verify RTL display
- Test in context
Translation Memory
Reusing Translations
The system suggests existing translations:
- Same or similar source text
- Previously approved translations
- Consistency across site
Translation Glossary
Maintain terminology glossary:
- Go to Translations > Glossary
- Add terms and translations
- Suggested during translation

