The Calyxo Forms component supports locale-dependent variants of form definitions. This advanced feature may be used to define different validation variants, depending on the user's locale settings.

A locale specifies a language code, and may additionally specify a country code. If it does so, it may also specify a variant code (see class java.util.Locale). The generalization of a locale is defined by stripping off the last and least significant code. For example, generalizing en_US leads to en. Generalizing en leads to an unspecified locale.

Localized form definitions are collected into separate groups of <forms> elements. According to the locale properties, the <forms> element accepts attributes language, country and variant to specify a locale for the contained <form> elements.