Localization

Build multi-language applications with Appivo

Localization Guide

Appivo provides built-in support for multi-language applications. Learn how to create applications that work in multiple languages.

Supported Languages

Appivo supports 8 languages out-of-the-box:

LanguageCodeCoverage
EnglishenComplete (default)
SwedishsvFull translation
DanishdaPartial
NorwegiannoPartial
GermandeAvailable
FrenchfrAvailable
FinnishfiAvailable
SpanishesAvailable

Enabling Multi-Language Support

Step 1: Configure Languages

  1. Navigate to Application Settings
  2. Go to Localization
  3. Select the languages you want to support
  4. Set the default language
  5. Save your settings

Step 2: Translate Content

Translate these elements:

ElementExample
Model NamesCustomer → Kund (Swedish)
Attribute LabelsName → Namn
Validation Messages"Required" → "Obligatoriskt"
UI TextButton labels, menu items
Email TemplatesCreate language-specific versions

Translation Keys

Instead of hardcoding text, use translation keys.

Using Keys in UI

Original: "Welcome to our application"
With key: {{string "welcome.message"}}

Benefits

  • Change text without modifying UI
  • Easily add new languages
  • Consistent terminology
  • Professional translations

Date and Number Formatting

Appivo automatically handles locale-specific formatting:

Date Formats

LocaleFormatExample
US EnglishMM/DD/YYYY01/15/2024
SwedishYYYY-MM-DD2024-01-15
GermanDD.MM.YYYY15.01.2024
UK EnglishDD/MM/YYYY15/01/2024

Number Formats

LocaleFormatExample
US English1,234.56$1,234.56
Swedish1 234,561 234,56 kr
German1.234,561.234,56 €
French1 234,561 234,56 €

Time Formats

LocaleFormatExample
US English12-hour2:30 PM
European24-hour14:30

Translation Management

Translation UI

Use the Translation Management interface to:

  1. View translation progress
  2. See missing translations
  3. Edit translations directly
  4. Track completion percentage

Export/Import

For large translation projects:

  1. Export translations to Excel
  2. Send to professional translators
  3. Import completed translations
  4. Review and publish

Example Workflow

1. Develop application in default language
2. Export translation file
3. Send to translators
4. Import translations
5. Test each language
6. Deploy multi-language app

Best Practices

Plan for Localization Early

  • Use translation keys from the start
  • Don't hardcode text in code or templates
  • Consider text length (translations vary)
  • Design flexible layouts

Text Considerations

Translations may be significantly longer or shorter:

EnglishGermanLength Difference
"Save""Speichern"+60%
"Settings""Einstellungen"+55%
"Cancel""Abbrechen"+80%

Design UI to accommodate:

  • Flexible button widths
  • Expandable containers
  • Wrapping text areas

Cultural Considerations

Beyond translation, consider:

  • Date formats
  • Number formats
  • Currency symbols
  • Reading direction
  • Color meanings
  • Icons and symbols

Testing

Test thoroughly in all languages:

  • Check all UI text displays correctly
  • Verify date/number formatting
  • Test form validation messages
  • Check email templates
  • Verify PDF exports

Language Switching

User Preference

Users can set their preferred language:

  1. User accesses Settings
  2. Selects preferred language
  3. Application reloads in selected language
  4. Preference is saved

Automatic Detection

Appivo can detect language from:

  • Browser settings
  • User profile
  • Tenant configuration
  • URL parameter

Per-Tenant Language

Configure default language per tenant:

Tenant: Swedish Company AB
Default Language: Swedish
Available Languages: Swedish, English

Translating Dynamic Content

Model Data

For user-entered content, consider:

  • Separate fields per language
  • Translation tables
  • Default fallback language

Example: Product Names

Model: Product
Attributes:
  - name_en (Text) - English name
  - name_sv (Text) - Swedish name
  - name_de (Text) - German name

Computed Display

Display:
  If user language is Swedish and name_sv exists:
    Show name_sv
  Else:
    Show name_en (fallback)

Email and Notification Templates

Language-Specific Templates

Create separate templates per language:

Templates:
  - welcome_email_en
  - welcome_email_sv
  - welcome_email_de

Dynamic Template Selection

Rule: Send Welcome Email
Action: SENDMAIL
Template: welcome_email_{{user.language}}

Common Patterns

Language Selector Widget

Select: Language
Options:
  - English (en)
  - Svenska (sv)
  - Deutsch (de)
onChange: Save preference and reload

Fallback Chain

1. Try user's preferred language
2. Fall back to tenant default
3. Fall back to application default (English)

Translation Status Dashboard

Track completion:

Translation Progress:
  - English: 100%
  - Swedish: 95%
  - German: 80%
  - French: 60%

Missing translations: 47

Next Steps