Localisation des métadonnées de configuration

Les attributs name et description de chaque entrée de métadonnées peuvent être "localisés" (on parle également de régionalisation). Les chaînes traduites sont alors incorporées dans des fichiers de propriétés propres aux différentes langues que vous choisissez de prendre en charge.

Exemple

L'exemple suivant explique comment spécifier l'emplacement des fichiers localisés dans l'en-tête du fichier de métatype :
<metatype:MetaData xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.1.0" 
    localization="OSGI-INF/I10n/metatype">
OSGI-INF/I10n est l'emplacement des fichiers de propriétés traduits dans le bundle, et metatype est le préfixe du fichier de propriétés de la langue par défaut. Par exemple, si les valeurs par défaut, généralement en anglais, se trouvent dans un fichier appelé metatype.properties, chaque environnement local pris en charge est ajouté avec son propre suffixe : metatype_fr.properties, metatype_es.properties, etc.

Contrairement au fichier XML de définition du métatype, qui doit toujours se trouver dans le répertoire OSGI-INF/metatype, les fichiers traduits peuvent être situés n'importe où dans le bundle, leur emplacement étant spécifié par l'attribut localization. Il est recommandé de ne pas placer les fichiers de propriétés dans le répertoireOSGI-INF/metatype avec le fichier XML des métatypes ; le service des métatypes tente d'analyser tous les éléments qui se trouvent à cet emplacement comme s'il s'agissait d'un fichier XML. Ce comportement n'entraîne pas d'échec mais génère des exceptions non souhaitées dans la console. Dans Liberty, la convention est de les placer dans le répertoire OSGI-INF/I10n, mais rien ne vous y oblige.

Dans le fichier XML de définition du métatype, pour indiquer qu'une valeur est une variable pointant sur une chaîne localisée, faites-la commencer par un signe pour cent. Par exemple, vous pouvez utiliser la définition suivante dans le fichier XML du métatype :
<AD name="%client.inactivity.timeout" description="%client.inactivity.timeout.desc"
    id="clientInactivityTimeout" required="false" type="Integer" default="60" />
et vous pouvez utiliser la définition suivante dans le fichier de propriétés :
client.inactivity.timeout=Client inactivity timeout
client.inactivity.timeout.desc=The maximum duration, in seconds, between transactional requests 
from a remote client. Any period of client inactivity that exceeds this timeout results in the 
transaction being rolled back in this application server.

Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_setup_localize.html