DarkLord> ce ne sera pas utile paske ce n'est qu'un seul user qui a la main dessus. (serveur de publication)
c'est pour formater la langue une seule fois (edit: des messages d'erreurs). donc property. mais j'ai réussi à faire passer un paramètre via -Duser.language. en fait, je prends en main Ze affaire et réalise la sélection.
gfive> exactement, j'en suis là pour l'instant. j'ai ajouté le code 'country'.
comment puis-je faire un lien ? un lien UNIXment parlant ? (paske ça doit tourner aussi sous Windows (-> simple copie de fichier alors ?)
je compte faire ceci: 2 params -Dbidule.lang -Dbidule.country si non spécifié(s), j'utilise msg.properties (anglais), country = UK.
c'est OK ?
[jfdsdjhfuetppo]--Message édité par TBone--[/jfdsdjhfuetppo]
gfive
Sinon, pour tes fichiers de properties localisés, il me semble judicieux de faire plutôt des fichiers
toto_<lang>_<COUNTRY>.properties (ex : toto_fr_FR.properties)
et de faire un lien de toto.properties vers le fichier de ta langue par défaut : si tu dois changer de langue par défaut, tu sera moins emmerdé!
darklord
bin ce que je te propose passe par un fichier de properties. Pour que ce soit plus propre, mets le dans le home directory comme ca chaque user a ses propres préférences.
TBone
Clair ? oui ;)
je voulais justement éviter cela :)
bah! j'vais mettre une property en dur alors.
(je dois justement faire une GUI pour qques properties, ça sera dedans)
merci !
darklord
pas possible je crois
tu es obligé de le passe en paramètre via -D
ou de le demander à l'utilisateur la première fois qu'il lance ton prog.
Lorqu'il a choisi tu peux crée un fichier dans son répertoire home (System.getProperty("user.home" )).
Lorsque tu démarres ton prog tu regardes si le fichier existe et contient la langue. Si oui tu demandes rien, sinon tu demandes et tu crées le fichier.
Clair?
TBone
salut,
je suis en train de faire une appli qui devra tourner sur des postes en anglais, français (France, Belgique, Suisse) et allemand. -> je prépare des fichiers properties pour les messages.
j'ai cependant quelques soucis...
j'utilise un ResourceBundle pour qu'il sélectionne le bon fichier de ressource. j'ai msg.properties pour l'anglais. et msg_fr.properties.
je fais un msg = ResourceBundle.getBundle("msg" ); où msg est un ResourceBundle.
pour spécifier la langue le tutoriel parle de:
java ... -Duser.language=fr GnapGnap
pour choisir la langue... et beh ça marche pô. (il est aussi noté dans ce tutoriel que cette façon de faire est dépendante de l'implémentation de la JVM)
comment puis-je faire pour trouver de manière automatique la "langue" par défaut de la plateforme ? (j'ai regardé dans java.util.Locale et dans java.lang.System mais je n'ai pas trouvé de méthode permettant de connaître cela)
(je suis sous Linux mais ça doit être du Linux/Windows JVM compatible ;) )