IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Détection de la langue du navigateur pour le choix du bundle de Properties


Sujet :

Servlets/JSP Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Points : 139
    Points
    139
    Par défaut Détection de la langue du navigateur pour le choix du bundle de Properties
    J'ai une appli Web, à la base uniquement en français, que je suis en train de traduire en anglais.
    Pour tous mes fichiers de libellés, j'ai un XXXResources_fr.properties et un XXXResources_en.properties.
    Sur la page d'authentification, dans une liste déroulante, je choisis la langue désirée (Français ou Anglais), ce qui, dans la servlet Java, va définir la Locale correspondante.
    Mon problème, c'est que sur la page d'authentification, j'ai du texte écrit, et celui ci est toujours écrit en français, bien que le fichier traduit soit bien présent.

    Est il possible que la langue de mon navigateur soit détectée, et que cela "force le choix" de la langue à Français ?

    Comment détecter la langue en javascript avant l'affichage de la page, de manière à afficher la page directement dans la bonne langue ?

    Merci pour votre aide

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Points : 53
    Points
    53
    Par défaut
    Bonjour,

    en effet la langue de ton navigateur est transmis à ta servlet par l'entête http, ce qui à pour effet de te charger les fichiers de properties correspondant à la langue local.

    Donc soit tu laisse le chargement des properties en fonction de la langue du navigateur et sur cette première page tu propose le choix de la langue, soit tu met une première page qui contient uniquement la demande de sélection de la langue

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Points : 139
    Points
    139
    Par défaut
    Merci pour ta réponse.
    Par curiosité, j'ai voulu comprendre qu'est ce qui transitait par le navigateur et qui influait sur le choix de la langue.
    J'ai installé un AddOn firefox, et j'ai pu intercepter l'entête HTTP.
    Voici son contenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    GET /Accueil.do HTTP/1.1
    Host: ---------------
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15 ( .NET CLR 3.5.30729)
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,* / *;q=0.8
    Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 115
    Connection: keep-alive
    Cookie: JSESSIONID=h3JhNLrHKhdVTTrJHj2QfNJ7Jgw254CgJjJ1tyZCJJ0Z2Css6JXj!-303062001
     
    HTTP/1.1 200 OK
    Cache-Control: no-cache,no-store,max-age=0
    Date: Tue, 22 Mar 2011 14:11:18 GMT
    Pragma: No-cache
    Content-Length: 4682
    Content-Type: text/html; charset=ISO-8859-1
    Expires: Thu, 01 Jan 1970 00:00:00 GMT
    X-Powered-By: Servlet/2.4 JSP/2.0
    Je ne comprends pas ce qui là dedans peut inciter le choix de la langue...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Points : 139
    Points
    139
    Par défaut
    J'ai aussi fouiller dans la config de Firefox, et j'ai trouvé cette option :
    general.useragent.locale
    qu'il est possible de changer de "fr" à "en-GB" par exemple.
    Mais aucun effet sur mon problème, l'un comme l'autre ammène la page en français.

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Points : 53
    Points
    53
    Par défaut
    a mon avis il faut que ton fichier de properties soit appelé XXXResources_en_GB.properties dans ce cas la.
    Par contre t'as essayé de forcer la Local histoire de voir qu'il arrive bien a charger le bon fichier?

    tu fait bien un truc du genre ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ResourceBundle bundle = ResourceBundle.getBundle("package.XXXResources",locale);
    DateFormat df = DateFormat.getDateInstance(DateFormat.FULL,locale);
    String message = bundle.getString("welcome_msg");

Discussions similaires

  1. Réponses: 16
    Dernier message: 31/03/2011, 12h46
  2. Détection de la langue du navigateur via JS
    Par michaeljeru dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/03/2011, 11h05
  3. Syntaxe pour la langue du navigateur
    Par bronon dans le forum Langage
    Réponses: 5
    Dernier message: 03/12/2007, 10h58
  4. [PHP-JS] Détection de la langue du navigateur
    Par nako dans le forum Langage
    Réponses: 4
    Dernier message: 28/02/2007, 14h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo