Skip to content

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

  1. Go to Admin Panel
  2. Click "Translations" in the sidebar
  3. View translation management

Supported Languages

Menon Mobility supports 34 languages:

CodeLanguageCodeLanguage
arArabicmsMalay
bnBengalinbNorwegian
csCzechnlDutch
daDanishplPolish
deGermanptPortuguese
enEnglishroRomanian
esSpanishruRussian
faPersiansvSwedish
ffFulahswSwahili
frFrenchthThai
haHausatrTurkish
heHebrewukUkrainian
hiHindiurUrdu
huHungarianviVietnamese
idIndonesianyoYoruba
itItalianzhChinese
jaJapanese
koKorean

Language Settings

Enabling Languages

  1. Go to Translations > Languages
  2. Toggle languages on/off
  3. Enabled languages appear in:
    • Language selector
    • User preferences
    • Admin options

Default Language

Set the default language:

  1. Select primary language
  2. 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:

FilterOptions
NamespaceUI, Email, Content
StatusAll, Translated, Missing
LanguageTarget language
SearchKey or text search

Translation Entry

Each entry shows:

FieldDescription
KeyTranslation identifier
EnglishSource text
TargetCurrent translation
StatusTranslated, Missing, Review
Last UpdatedModification date

Editing Translations

  1. Click on translation row
  2. Edit target language text
  3. Click "Save"
  4. Or use keyboard: Tab to save and next

Bulk Editing

Edit multiple translations:

  1. Select namespace
  2. Click "Bulk Edit"
  3. View all keys in spreadsheet format
  4. Make changes
  5. 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

  1. Select target language
  2. Filter by "Missing"
  3. 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:

  1. Select missing translations
  2. Click "Auto-Translate"
  3. Choose provider:
    • Google Translate
    • DeepL
  4. Review translations
  5. Approve or edit

Review Required

Auto-translated text is marked for review:

  • Yellow indicator
  • "Review" status
  • May need manual adjustment

Import/Export

Exporting Translations

  1. Go to Translations > Export
  2. Select:
    • Languages
    • Namespaces
    • Format (JSON, CSV, XLIFF)
  3. Download file

Importing Translations

  1. Go to Translations > Import
  2. Upload translation file
  3. Select:
    • Target language
    • Namespace
    • Conflict handling
  4. Preview changes
  5. Confirm import

Format Support

FormatDescription
JSONSimple key-value
CSVSpreadsheet format
XLIFFTranslation industry standard

Category/Brand Translations

Translating Categories

Categories support multiple languages:

  1. Go to Categories
  2. Open category
  3. Click "Translations" tab
  4. Enter translations for each language
  5. Save

Translating Brands

Brand names may differ by region:

  1. Go to Brands
  2. Open brand
  3. Add localized names
  4. Save

Email Templates

Template Translations

Translate email content:

  1. Go to Translations > Emails
  2. Select template
  3. Choose language
  4. Translate:
    • Subject line
    • Body content
    • Variables remain:
  5. Save

Testing Translations

Preview email in different languages:

  1. Select template
  2. Choose language
  3. Click "Preview"
  4. Send test if needed

Verification

Key Count Verification

Ensure all languages have complete translations:

bash
# 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 -rn

Parity Check (Admin API)

The admin panel provides automatic parity checking:

  1. Go to Admin Panel > Translations
  2. View "Parity Status" indicator
  3. Green = All languages have same key count
  4. Yellow = Some languages missing keys

The API endpoint /api/admin/translations/parity returns:

json
{
  "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:

  1. Go to Translations > Report
  2. View percentage complete per language
  3. Download detailed report

Admin Translation Management

The admin panel provides direct translation editing:

FeatureDescription
View AllBrowse translations by language
Edit InlineEdit values directly in the admin UI
Add KeysAdd new translation keys
Bulk UpdateUpdate multiple translations at once
Sync CheckVerify all languages are in sync

Translation Update Process

  1. Go to Admin > Translations
  2. Select source language (typically English)
  3. Add or modify translation keys
  4. System prompts to add to other languages
  5. Use auto-translate or manual entry
  6. 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:

  1. Native speaker review
  2. Check text truncation
  3. Verify RTL display
  4. 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:

  1. Go to Translations > Glossary
  2. Add terms and translations
  3. Suggested during translation

Commercial Vehicle Marketplace