la localisation des messages. [Java] - Programmation
Marsh Posté le 08-03-2002 à 09:54:02
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?
Marsh Posté le 08-03-2002 à 10:07:49
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 !
Marsh Posté le 08-03-2002 à 10:20:39
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.
Marsh Posté le 08-03-2002 à 10:31:35
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é!
Marsh Posté le 08-03-2002 à 11:05:44
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]
Marsh Posté le 08-03-2002 à 11:10:07
Pour le lien, sous Unix, tu te met dans le répertoire de tes fichiers properties, et tu tapes la commande :
ln -s toto_<lang>_<COUNTRY>.properties toto.properties
Sous Windows, évidement, t emmerdé!
Marsh Posté le 08-03-2002 à 11:24:24
c'est bien ce que je pensais
Marsh Posté le 08-03-2002 à 15:23:12
je suis une brele
System.out.println("Host locale: " + Locale.getDefault().toString());
Marsh Posté le 08-03-2002 à 15:24:33
pour etre complet:
javadoc:
public static Locale getDefault()
[...]
Note that the initial setting will match the host system.
j'sais pas lire ou quoi ? (j'suis passé dessus avant de poster)
[jfdsdjhfuetppo]--Message édité par TBone--[/jfdsdjhfuetppo]
Marsh Posté le 08-03-2002 à 15:38:37
nous aussi parce qu'on a pas pu t'aider ... Enfin moi perso j'ai jamais été confronté à ce genre de problèmes.
Marsh Posté le 08-03-2002 à 09:43:25
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 )
merci de m'éclairer !
---------------
A straight line is a special case of a curve. It's a curve which is uncurved. -- Susskind.