For the complete documentation index, see llms.txt. This page is also available as Markdown.

Localization

Localization

Schema localization allows your Mondrian OLAP cube to display in multiple languages. Instead of hardcoding "Sales" or "Customer" directly in your schema, you use placeholders (called tokens) that get replaced with the appropriate translation based on each user's language preference.

Think of it as mail merge for analytics – one schema serves many languages.

placeholder for localized cube screenshot:

Tokenization

Tokenization is the process of replacing real text like "Sales" with placeholders like %{sales.caption} in your schema XML file. These tokens act as variables that will be filled in later.

The Golden Rule

<?xml version="1.0" encoding="UTF-8"?>
<Schema name="ClassicModels"
  caption="%{classicmodels.schema.caption}"
  description="%{classicmodels.schema.description}">
...

What to Localize vs. What to Leave Alone

DO localize (these are for users to see):

  • Dimension, hierarchy, level, and measure captions

  • Description text

  • User-facing labels and titles

DON'T localize (these are for the system):

  • Dimension, hierarchy, level, and measure names (the name= attribute)

  • Database column names

  • Database table names

  • Technical identifiers

Think of it this way: if it's in a caption= or description= attribute, localize it. If it's in a name= or column= attribute, leave it alone. This separation keeps your schema working smoothly while giving users their preferred language.

Message Bundles

Message Bundles are simple text files (one per language) that contain the actual translations. For example, MondrianMessages_en.properties has "Sales" while MondrianMessages_fr.properties has "Ventes" for the same token.

Properties File Best Practices

  • Use UTF-8 encoding for special characters

  • Add comments to organize sections

  • Keep consistent token names across all language files

  • Test all tokens have corresponding translations

  • Avoid line breaks in property values

  • Escape special characters with backslash if needed

x

Dynamic Schema Processor

Dynamic Schema Processor is the engine that does the replacement. When a French user opens Analyzer, it reads your schema, finds all the %{...} tokens, looks them up in the French properties file, and replaces them with French text – all automatically.

x

x

Locale

Locale is simply a language code like "en" for English or "fr" for French that tells the system which translation file to use.

x

Was this helpful?