We are facing the problem that Mondrian will not support internationalization completely if multiple clients try to use the same application in different locales.

After adding the "caption" attributes in the schema and customizing the property file in German, Mondrian is able to deal with both English and German in a single connection. The situation is, we build two connections sequently, which hold English and German as locale in their connectString. Mondrian will simply take the locale from the first connection and won't change it until the server shuts down. e.g. the first client with a german locale connects to the application, he will get everything in German as desired, then the second client connects with the locale English, but he will also get German displayed. If the connecting order is inverted, they will both have English.

We've also tested it in the code like this:

Code:
Util.PropertyList propertiesDE = getFoodMartConnectionProperties();
  propertiesDE.put("DynamicSchemaProcessor","mondrian.i18n.LocalizingDynamicSchemaProcessor");
  propertiesDE.put(RolapConnectionProperties.Locale.name(), "de");
  RolapConnection deConn = (RolapConnection)DriverManager.getConnection(propertiesDE, null, null);
  System.out.println(
        deConn.getSchema().getCubes()[0].getDimensions()[1].getCaption());
  System.out.println(deConn.getSchema());
  //Even the first connection is closed here, the second connection still gets German.
  //deConn.close();
   
  Util.PropertyList propertiesEN = getFoodMartConnectionProperties();
  propertiesEN.put("DynamicSchemaProcessor","mondrian.i18n.LocalizingDynamicSchemaProcessor");
  propertiesEN.put(RolapConnectionProperties.Locale.name(), "en");
  RolapConnection enConn = (RolapConnection)DriverManager.getConnection(propertiesEN, null, null);
  System.out.println(
        enConn.getSchema().getCubes()[0].getDimensions()[1].getCaption());
  System.out.println(enConn.getSchema());
    deConn.close();

enConn.close();
Output:
-----------------------------------------------------------------------------------------------
Geschäft
mondrian.rolap.RolapSchema@ace7690c
Geschäft
mondrian.rolap.RolapSchema@ace7690c
-----------------------------------------------------------------------------------------------

As you see in the output, they are getting the same caption and schema.

If you can provide us with some ideas about this, it will do us a big favor.

BTW, has anybody in Mondrian ever made the data (not metadata) localized too?

Thanks again!