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
<metatype:MetaData xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.1.0"
localization="OSGI-INF/I10n/metatype">
où 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.
<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.