xulfr.org

9.6 Les fichiers de propriétés

Écrit par Neil Deakin. Traduit par Sylvain Costard (21/07/2004).
Page originale : http://www.xulplanet.com/tutorials/xultu/locprops.html xulplanet.com

Dans un script, les entités ne peuvent être utilisées. On utilise alors plutôt les fichiers de propriétés.

Propriétés

Les fichiers DTD conviennent lorsque vous avez du texte dans les fichiers XUL. Néanmoins, un script n'est pas analysé pour remplacer les entités. De plus, vous pourriez souhaiter afficher un message généré par un script, si, par exemple, vous ne connaissez pas le texte exact à afficher. Les fichiers de propriétés peuvent être utilisés dans ce but.

Un fichier de propriétés contient une suite de chaînes. Vous trouverez les fichiers de propriétés aux côtés des fichiers DTD avec l'extension .properties. Les propriétés dans les fichiers sont déclarées à la manière nom=valeur. Un exemple est décrit ci-dessous :

notFoundAlert=Aucun fichier trouvé correspondant aux critères.
deleteAlert=Cliquez sur OK pour effacer tous vos fichiers.

Ici, le fichier de propriétés contient deux propriétés. Elles devraient être lues par un script et affichées. Vous pouvez écrire le code de lecture des propriétés vous même, néanmoins XUL fournit l'élément stringbundle qui le fait pour vous. Cet élément a plusieurs fonctions, qui peuvent être utilisées pour récupérer les chaînes des fichiers de propriétés et d'autres informations locales. Cet élément lit le contenu des fichiers de propriétés et construit une liste de ces propriétés pour vous. Vous pouvez donc ensuite y accéder par leur nom.

<stringbundle id="chaines" src="chaines.properties"/>

Inclure cet élément permettra de lire les propriétés via le fichier chaines.properties dans le même répertoire que le fichier XUL. Utilisez une URL chrome pour lire un fichier local.

L'élément stringbundle a plusieurs propriétés. La première est getString qui peut être utilisée dans un script pour lire une chaîne de la collection.

var strbundle=document.getElementById("chaines");
var nofilesfound=strbundle.getString("notFoundAlert");

alert(nofilesfound);

Cet exemple obtient tout d'abord une référence sur la collection en utilisant son id. Puis il recherche la chaîne notFoundAlert dans le fichier de propriétés. La fonction getString retourne la valeur de la chaîne ou null si la chaîne n'existe pas. Enfin, la chaîne est affichée dans une boite de dialogue.


Dans la prochaine section, nous découvrirons XBL, qui peut être utilisé pour définir le comportement d'un élément.