.properties
.properties est une extension de fichier essentiellement utilisée en Java et qui permet aux technologies compatibles de stocker les paramètres de configuration d'un logiciel. Ils sont également utilisés afin de stocker les chaînes de caractères standardisées ; ils sont connus comme des Property Resource Bundles.
Chaque paramètre est stocké comme une paire composée d'un pointeur de référence (« key ») donnant le nom du paramètre, suivi de la valeur désirée de ce paramètre.
Format
Chaque ligne d'un fichier .properties comporte normalement une seule valeur. Plusieurs formats sont néanmoins possibles pour chaque ligne, y compris le système de balise = valeur
comme en HTML.
Les fichiers .properties peuvent utiliser le (#) ou le (!) comme premier caractère non vide de ligne afin de mettre en commentaire le reste de la ligne qui devient un mémo, un titre, une méthode, un avertissement, mais qui ne sera plus pris en compte par le programme qui reprendra sa lecture dès la ligne suivante sauf si celle-ci comprend ce même caractère et ainsi de suite.
# Vous êtes en train de lire un fichier de type ".properties".
! Le point d'exclamation peut également être utilisé pour mettre en commentaire
website = <nowiki>http://fr.wikipedia.org/</nowiki>
language = French
# La [[barre oblique inversée]] ci-dessous signifie que l'application va continuer sa lecture à la ligne suivante
# La valeur sera donc lue à la ligne
message = Bienvenue sur \
Wikipédia !
# Ajouter des espaces au nom de la variable
key\ with\ spaces = Ceci est la valeur retrouvable en demandant "key with spaces".
# Unicode
tab : \u0009
Dans l'exemple au-dessus, website correspondrait à un pointeur et sa valeur serait http://fr.wikipedia.org/. Bien que le croisillon et le point d'exclamation indiquent un commentaire, ils n'ont pas d'effet quand ils font partie d'une propriété. Ainsi, la valeur "Bienvenue sur \ Wikipédia !" sera donc bien lue "Bienvenue sur Wikipédia !". Il faut également remarquer que tout l'espace vide en début de ligne est complètement exclu.
L'encodage d'un fichier de propriété obéit à la norme ISO-8859-1 aussi connue sous le nom de Latin-l. Tous les caractères de cette norme doivent être introduits en utilisant les caractères de type Unicode escape. Par exemple \uHHHH. Ceci permet d'utiliser les fichiers de propriété dans la normalisation internationale et donc d'utiliser tous les alphabets sans se limiter au latin-l. Même le français rencontre cette situation, certains caractères accentués ou le ç n'étant pas repris dans le latin-l. Un texte écrit hors de cette norme peut cependant être directement encodé en utilisant l'outil native2ascii qui est livré avec le JDK ou encore en utilisant des programmes de traductions comme 'po2prop'[1] qui permet de traduire un texte écrit en direct en chaîne de caractère interprétable en Unicode, ce qui est d'ailleurs utile pour les sites polyglottes.
Références
- Translate Toolkit's « po2pro » converts native character encodings in a Gettext PO file into correctly escaped ascii without the need for native2ascii