Study guide
5.4 Multi-Language & Internationalization
Mendix Certified Intermediate Developer Exam
Track your progress as you read
Finished sections get a check mark.
1 Chapter 1: Exam Blueprint, Agile Collaboration & Project Structure
1.1 Exam Blueprint, Format & Logistics 1.2 Mendix Project Lifecycle & Agile Roles 1.3 Project Directory Structure & Architecture 1.4 Modules, Marketplace Content & Module Boundaries 1.5 Team Server, Branching & Version Control
2 Chapter 2: Advanced Domain Modeling & Entity Architecture
2.1 Persistable vs. Non-Persistable Entities 2.2 Entity Generalization & Specialization 2.3 Associations & Delete Behavior 2.4 System Members, Attributes & Indexing
3 Chapter 3: XPath Constraints & Data Retrieval
3.1 XPath Syntax & Association Traversal 3.2 XPath Functions, System Tokens & Date Math 3.3 Advanced Filtering Patterns & Database Performance
4 Chapter 4: Advanced Microflows & Business Logic
4.1 Sub-microflows & Modular Architecture 4.2 List Operations & Aggregations 4.3 Loops, Batch Processing & Rules 4.4 Error Handling & Transaction Management 4.5 Client Notifications & User Feedback Activities
5 Chapter 5: Advanced UI, Navigation & Atlas UI
5.1 Atlas UI Architecture & Design System 5.2 Advanced Widgets, Snippets & Building Blocks 5.3 Dynamic Behavior: Conditional Visibility & Editability 5.4 Multi-Language & Internationalization
6 Chapter 6: Application Security & Access Control
6.1 Security Architecture & Security Levels 6.2 Entity Access Rules & Attribute-Level Security 6.3 Row-Level Security via XPath Constraints 6.4 Anonymous Users & Public Access
7 Chapter 7: REST & SOAP Integrations
7.1 Consuming REST Services 7.2 Import & Export Mappings with JSON & XML 7.3 Publishing REST Services 7.4 Consumed SOAP Web Services & Error Handling
8 Chapter 8: Mobile Development & Nanoflows
8.1 Mobile Architectures: PWA vs. Native Mobile 8.2 Nanoflows Architecture & Client-Side Execution 8.3 Offline Synchronization & Conflict Resolution
9 Chapter 9: Debugging, Quality Assurance & Operations
9.1 Microflow Debugger & Diagnostic Tools 9.2 Logging, Error Tracking & Monitoring 9.3 Consistency Checks, Best Practices & Quality
5.4 Multi-Language & Internationalization
Key Takeaways Explain This Topic AI
Mendix manages multi-language applications through Project Settings, where exactly one language is designated as the Default Language serving as the authoring baseline and fallback.
System texts are the messages the server and client show automatically (validation warnings, authentication errors, pagination labels); they are opened from App Explorer > App > System texts and must be translated separately for every added language.
Enumeration internationalization translates the user-facing caption per language while preserving the immutable underlying enumeration key/name across all application logic.
The Translatable Texts tool and Batch Translation feature enable bulk phrase replacement and Excel export/import workflows for professional translation bureaus.
Right-to-Left (RTL) language support dynamically mirrors page layouts, navigation menus, and form inputs via Atlas UI CSS and HTML dir="rtl" attributes based on the user's active locale.
Last updated: September 2026
5.4 Multi-Language & Internationalization
Exam Focus: Multi-language architecture is a key competency tested on the Intermediate Developer exam. You must understand how project languages are structured, identify the critical distinction between Translatable Texts and System Texts, explain the fallback mechanisms when translations are incomplete, manage translation workflows using the Batch Translate and Excel export/import tools, internationalize enumeration captions without breaking business logic, and configure Right-to-Left (RTL) layout rendering.
Global enterprises deploy software across diverse geographic territories, requiring applications that fluently adapt to local languages, numbering conventions, and cultural layouts. The Mendix platform provides a comprehensive internationalization (i18n) and localization (l10n) engine deeply integrated into Studio Pro and the client runtime.
Project Language Configuration & Architecture
Multi-language capabilities are managed in App Settings > Languages in Studio Pro (older material calls this Project Settings — Mendix renamed Project to App in Studio Pro 9). The language architecture revolves around two foundational concepts: +-----------------------------------------------------------------------------+
- | Project Language Hierarchy |
- +-----------------------------------------------------------------------------+
- | Default Language --> Authoring baseline & runtime fallback (e.g., en_US) |
- | Active Language --> Currently selected editing language in Studio Pro |
- | Secondary Langs --> Localized target languages (e.g., nl_NL, de_DE, ar_SA) |
- +-----------------------------------------------------------------------------+
- 1. The Default Language
Definition: Exactly one language in the app is designated as the Default Language , marked as such on the Languages tab of App Settings.
Authoring Baseline: When a developer models a new page, creates an enumeration, or writes a validation message, the text is initially authored in the default language.
Runtime Fallback: If a user runs the application in a secondary language (such as French) and encounters a UI element whose French translation was left blank, the Mendix runtime falls back to the Default Language text . This prevents empty labels and missing button captions.
2. The Active Language in Studio Pro
At design time, developers can toggle the Active Language via the language selector located in the bottom status bar of Studio Pro.
Switching the active language changes the design-time canvas: all page labels, button text, and menu captions switch to show the text defined for that specific language. Untranslated elements are visually highlighted (typically preceded by a yellow warning marker or question mark) to alert developers to missing copy.
Loading diagram... Mendix Runtime Language Resolution and Formatting Architecture
Translatable Texts vs. System Texts
A critical distinction tested on the exam is the functional difference between Translatable Texts and System Texts :
Classification Definition & Scope Where Configured in Studio Pro Examples
Translatable Texts Custom UI copy authored by the developer to fulfill business requirements. Configured on individual pages, microflows, snippets, and navigation documents. Page titles, button captions, form field labels, custom validation messages, enumeration captions.
System Texts Pre-packaged platform strings generated automatically by the Mendix client runtime. Opened from App Explorer > App > System texts ; languages themselves are managed in App Settings . Authentication error dialogs ( "User name or password is incorrect" ), file download prompts, pagination labels ( "Page 1 of 5" , "Previous" , "Next" ), required field indicators ( "This field is required" ).
Why System Texts Require Explicit Translation
When a team adds a new language (e.g., Japanese), they often focus entirely on translating page labels. However, if they fail to translate the System Texts , end users will encounter an awkward hybrid experience: while form labels appear in Japanese, login errors, session timeouts, and pagination buttons will abruptly appear in English.
Enumeration Internationalization: Key vs. Caption
Enumerations represent fixed lists of values (e.g., OrderPriority : Low , Medium , High , Critical ). In Mendix, enumerations strictly separate their programmatic identifiers from their presentation strings: +-----------------------------------------------------------------------------+
- | Enumeration Architecture |
- +-----------------------------------------------------------------------------+
- | Name / Key (Immutable): 'InReview' |
- | - Used in Database records, XPath queries, Microflow decisions, and APIs |
- | |
- | Captions (Localized): |
- | - English (Default): "Under Review" |
- | - Dutch (nl_NL): "In Beoordeling" |
- | - German (de_DE): "In Prüfung" |
- | - French (fr_FR): "En Cours d'Examen" |
- +-----------------------------------------------------------------------------+
The Rule of Logic Independence: Microflows, nanoflows, rules, and XPath constraints always reference the enumeration Name (the internal key). They never evaluate the caption.
Caption Localization: Developers define localized captions for every language in the enumeration editor. When a drop-down or data grid renders an enumeration attribute, Mendix looks up the caption corresponding to the logged-in user's active session language without requiring conditional microflows.
Translation Workflows: Tools and Operations
Mendix Studio Pro provides built-in tools to streamline enterprise translation projects:
1. Batch Translate Tool
Located under Language > Batch Translate .
Allows developers to find all occurrences of a specific phrase across the entire project (or within specific modules) and translate them simultaneously.
For example, if the word "Save" appears on two hundred buttons, Batch Translate replaces all occurrences with "Opslaan" (Dutch) in a single operation.
2. Translatable Texts Overview
Located under Language > Translatable Texts .
Displays a comprehensive, searchable grid of all strings in the application, comparing the source language against the target language.
Includes filters to identify Untranslated texts , allowing translators to rapidly locate incomplete copy.
3. External Translation via Excel ( .xlsx )
Enterprise translation projects are typically outsourced to professional linguistic agencies who do not have access to Studio Pro.
Developers navigate to Language > Export Translation File to generate an Excel spreadsheet containing source strings, target strings, and unique platform keys.
Translators populate the target column in Excel.
The developer re-imports the spreadsheet via Language > Import Translation File . Mendix matches rows by their cryptographic string keys and populates the project model without risk of breaking application logic.
Runtime Language Switching & Fallback Mechanics
How does an application know which language to display to an active user?
User Account Language Association: Every user entity specializing Administration.Account or System.User maintains a reference to System.Language ( System.User_Language ). When a user logs in, the client runtime initializes the UI in the language linked to their user record.
Language Switcher Widget: Developers can place the Language Selector widget into navigation bars or page headers. When a user selects a different language from the drop-down, Mendix immediately updates their active session language and redraws the client UI.
Anonymous Users: For unauthenticated public visitors, Mendix inspects the browser's HTTP Accept-Language header. If the project supports that language, it renders in that locale; otherwise, it falls back to the project Default Language.
Right-to-Left (RTL) Support & Bi-Directional Layouts
Languages such as Arabic ( ar_SA ), Hebrew ( he_IL ), Farsi, and Urdu read from right to left. Mendix Atlas UI provides native, automated RTL adaptation:
Configuration: When a project includes an RTL language, selecting it sets the HTML document root attribute to dir="rtl" .
Atlas UI Grid Mirroring: Flexbox layout grids automatically invert their horizontal axis: column 1 appears on the far right, and subsequent columns flow toward the left.
Navigation & Icons: Left-anchored sidebars automatically move to the right side of the screen. Directional icons (such as "Next" back-and-forward arrows) mirror horizontally, while direction-neutral icons (such as search magnifying glasses or user avatars) maintain their orientation.