Les .properties sous Linux

Les fichiers .properties utilisés pour l'internationalisation respectent des conventions de nommage afin d'être gérés automatiquement par l'application. Cependant, le système de fichiers de Linux étant sensible à la casse (case-sensitive), les règles à respecter sont plus strictes que sous Windows.

Pour ne pas perdre 2h (oui je sais c'est moche...) à essayer de modifier les locales d'Ubuntu, voici quelques petits rappels :

  • Une Locale Java se compose de 3 éléments dont voici le détail :
    • 2 lettres minuscules pour le langage
    • 2 lettres majuscules pour le pays
    • Une chaîne de caractères sensible à la casse pour la variante (ex: WIN, POSIX ou MyVariant)

Note : Lorsque l'on fait new Locale(...) en java, la casse du langage et du pays est automatiquement modifiée si besoin est.

  • Le nom des fichiers .properties doit être composé comme suit :

myResource_[langage]_[pays]_[variante].properties

  • Sous Linux (et donc sous Windows afin de rester portable), la casse des différents suffixes doit être respectée, sans quoi le fichier ne sera pas trouvé.

ex: myResource_FR_fr.properties marche sous Windows mais pas sous Linux, la bonne syntaxe étant myResource_fr_FR.properties.

A bon entendeur...

Un commentaire

  1. Sinon tu peux utiliser le plugin Eclipse ResourceBundleEditor qui fait tout correctement, qui t’affiche les clés manquantes pour chaque langue, remplace les caractères spéciaux et représente tes clés de manière hierarchique(style treeview).
    Il permet aussi de faire du refactoring de clés ^_^

    Donc, il est très pratique 😉

    lien du plugin :
    http://sourceforge.net/projects/eclipse-rbe/

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.