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

Développement Web en Java Discussion :

[Débutant][bundle] plusieurs "bundle"


Sujet :

Développement Web en Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 36
    Points : 28
    Points
    28
    Par défaut [Débutant][bundle] plusieurs "bundle"
    Voilà, je me base sur mon appli sur une appli existante qui utilise les "bundle" pour la gestion multilingue. Ca marche bien, mais je me posais question, pour éviter d'avoir à dupliquer des infos, est-il possible d'utiliser plusieurs fichiers de bundle spécifique pour une langue :
    Citation Envoyé par exemple
    recherche de la clé dans fichier bundle spécifique à l'appli
    -> si non trouvée, recherche de la clé, dans le bundle commun a ttes les appli
    Lire l'API java ne fait pas de mal : http://java.sun.com/j2se/1.4.2/docs/api/
    Pensez à marquer vos messages [résolu]

  2. #2
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 109
    Points : 111
    Points
    111
    Par défaut
    bien sur, je ne vois pas pourquoi tu ne pourrais pas le faire...

  3. #3
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    C le principe des ressources Bundles

    tu a par exemples plusieurs bundle :

    monbundle.properties
    monbundle_fr.properties pour le francais
    monbundle_en.properties pour l'anglais
    monbundle_de.properties pour l'allemands

    et si plusieurs pays on la meme langue mais des expressions différentes:

    monbundle_fr_CA.properties pour le francais au Canada
    monbundle_en_GB.properties pour l'anglais en angleterre
    monbundle_en_US.properties pour l'anglais aux US

    Sachant que qsi un bundle n'est pas trouvé, il remonte d'un niveau automatiquement jusqu'au premier.

    Les codes pays et langues sont déteminées soit par le navigateur ( on appelle ca la Locale) soit par toi dans ton prog ( voir l'objet locale )


    @+

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    J'ai du mal m'expliquer, le multilingue je le gère bien, mon problème serait plutôt dans le cadre d'un ensemble d'appli si il est possible d'avoir une batterie de bundle (par langue prise en charge + le généric) dans un package common, puis une autre batterie de bundle spécifiques à chaque appli, avec une gestion de prioirté : recherche de la key d'abord dans le spécifique appli, sinon recherche dans le common (autrement dit on a le droit dans le package appli d'overrider les key du common).
    J'espère que j'ai été plus clair cette fois
    Lire l'API java ne fait pas de mal : http://java.sun.com/j2se/1.4.2/docs/api/
    Pensez à marquer vos messages [résolu]

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    je pense que ce que tu veux faire n'est pas directement possible...
    je m'explique...

    Pour allez chercher des mots dans ton "bundle", tu spécifie un fichier (le "ResourceBundle" utilisé).
    Or ce que tu veux faire, c'est utilisé deux "bundles" différents (un dans le cas des applis spécifique et un dans le cas du "common") ....donc pour y accéder, il te faut forcément 2 références sur des "ResourceBundle"!


    sinon, un conseil, je ne sais pas ce que tu utilises comme type de "bundle"; mais je te conseil (si tu en as la possibilité) les "ListResourceBundle" (ou tout dérivé), qui sont des classes Java.
    Car l'accés y est plus rapide qu'à des fichiers ".properties". Les données sont directement chargée dans la JVM...vu que ce sont des classes Java et non pas des fichiers qu'il faut aller chercher sur un disque...
    J'avais lu là sur le net et j'ai meme fait des tests perso pour le vérifier.

    voilà....j'espere que ça pourra t'aider.... ;-)
    a +

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    En fait, vu que je suis stagiaire dans la boite et que je pars dans 3 mois, je suis pas trop maitre de mon projet, mais comme il vont devoir développer pas mal d'appli sur ce modèle, je me disais que les clés générique dans un package common ça pourrait être sympa.

    Sinon pour les ListRessourceBundle, tu aurais des liens pour que je puisse m'appuyer sur des références en faisant la proposition?

    Merci pour les réponses 8)
    Lire l'API java ne fait pas de mal : http://java.sun.com/j2se/1.4.2/docs/api/
    Pensez à marquer vos messages [résolu]

  7. #7
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    En fait c possible . Il suffit d'appeler deux ressources bundles différents. Apres c une classe comme une autre ( elle est static pour l'appli je crois qd meme).

    tu charge un bundle généric "generic.properties"

    et ton bundle par langue "langue.properties" qui peut se decliner en "langue_fr.properties " .....


    @+

  8. #8
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    Ben en fait est-ce que generic peut se decliner en generic_fr ...

    Mais bon si on peut déclarer plusieurs bundle comme ça, je vais faire des tests dans tous les sens, g des chances de parvenir à faire qq chose, je vous tiens au courant
    Lire l'API java ne fait pas de mal : http://java.sun.com/j2se/1.4.2/docs/api/
    Pensez à marquer vos messages [résolu]

  9. #9
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    alors là je compernds plus.

    Je croyais que ton generic etait commun donc en langue unique !!!!

    Si tu repsécialises en _fr alors tu fouts tes strings dans le bundle de la langue "fr" .

  10. #10
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    Pour moi c commun a diverses applications, mais pas dans une langue unique, sinon g pas besoin de bundles
    Lire l'API java ne fait pas de mal : http://java.sun.com/j2se/1.4.2/docs/api/
    Pensez à marquer vos messages [résolu]

  11. #11
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    ah ok commun a plusieur appli suffit que tu les foutes dans un classpath commun ...

    Tu te definis un rep unique ou tu fout tes .properties et tu le set dans le classpath.

    Par contre je pense qu'il y aura plusieurs instances de tes bundles communs ( un par appli ). Mai c pas bien génant.

    @+

  12. #12
    Candidat au Club
    Inscrit en
    Avril 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    si tu utilises 2 "bundle" différents pour tes 2 cas, c'est à toi après de gérer ça...mais ca doit etre faisable sans trop de soucis.

    sinon, pour des liens sur les "ListResourceBundle", je te mets une liste ici dans les cours et tutoriels pour apprendre java : http://java.developpez.com/cours/

    des liens aussi sur l'internationalisation plus généralement :
    http://www.joconner.com/javai18n/ind...annel=articles
    http://www.i18ngurus.com/docs/984813264.html
    http://java.sun.com/j2se/1.3/docs/gu...tlTOC.doc.html
    http://developer.java.sun.com/develo...ltilingualJSP/

    voilà....bonne chance ;-)

  13. #13
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    Merci a tous
    Lire l'API java ne fait pas de mal : http://java.sun.com/j2se/1.4.2/docs/api/
    Pensez à marquer vos messages [résolu]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 15/10/2006, 20h02
  2. Réponses: 3
    Dernier message: 30/07/2004, 10h51

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