Internationalization

Calyxo supports i18n from the ground up. At the very basic, Calyxo provides ways to resolve resources in a locale dependent manner. A resource is identified by a bundle name and a resource key.

A resource may be a template, that expects arguments to be expanded to a message.

The default mechanism for resources is to use Java's ResourceBundle class. Messages are created by using Java's MessageFormat class, by default. However, your application may provide its own or customized mechanism.

Calyxo supports i18n of views through accessors in a way, that makes localizing content very easy. Just to let you taste: in your JSPs you can use JSTL expressions like

${calyxo.base.i18n.bundle['strings'].resource['user_id']}
${calyxo.base.i18n.bundle['strings'].message['required']['user_id']}

Thus, you do not need any custom tag libraries to localize your application.

The Calyxo components have been developed with i18n issues in mind. For example, the Calyxo Panels component allows to define locale dependent views. The Calyxo Forms component supports locale dependent form definitions.