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

Langage PHP Discussion :

Internationalisation - multilangue


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut Internationalisation - multilangue
    Bonjour !

    J'essaye de me mettre à PHP...
    Je voudrais mettre en place la gestion multilangue pour le site que je suis en train de construire.
    J'ai trouvé après des recherches sur google différentes manières de mettre en place l'internationalisation :
    - via des fichier xml (tutoriel ici, sur le site developpez.net)
    - via des fichiers .ini et une classe de consultation des .ini

    Habituellement, je code en JAVA, avec le framework STRUTS qui contient déjà tous les mécanismes nécessaires pour l'internationalisation, via des fichiers .properties contenant des paires clé/valeur (detection auto de la langue du navigateur, et sélection des clé/valeurs directement dans le fichier properties qui contient les clé/valeur associés à la langue)....

    Je voudrais savoir, en PHP5, quelle est la méthode la plus appropriée / utilisée / évolutive pour mettre en place l'internationalisation... Et savoir aussi s'il est possible de détecter la langue du navigateur sans utiliser le JavaScript.

    Merci d'avance pour tous vos conseils et réponses.

    Anne

  2. #2
    FoxLeRenard
    Invité(e)
    Par défaut
    Bonjour,
    Ta question est trés générale,

    Pour y répondre je vais te poser aussi une question:
    Possédes-tu MYSQL sur ton serveur (hébergeur)

    En effet le Topo que tu présentes ne s'appuis pas sur une base de donnée mais sur des fichiers qu'il faut éditer un a un , puis sécuriser etc ...

    Si tu as Mysql, il te suffit d'avoir pour chaque page un code
    (un data de ta base de donnée) composé de "langue_titre"

    par exemple, fr_apropos en_apropos es_apropos ...

    on pourrait donc avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $langue="fr";
    $page="apropos";
    $macle=$langue."_".$page;
    C 'est sans doute une méthode sommaire mais ultra simple et efficace !

    Quand au choix de la langue méfiance elle ne corespond que rarement !
    en PHP c' est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?PHP
     
        $langs=explode(",",$_SERVER["HTTP_ACCEPT_LANGUAGE"]);
        echo "votre langue principale est: $langs[0]";
     
    ?>
    Mais tu peux gérer des clics sur des drapeaux, et placer un Cookies sur le micro de tonvisiteur, ou une session ...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut
    Merci pour ta réponse.

    J'aimerais autant ne pas utiliser de base de données pour stocker les libellés à afficher sur ma page à mon utilisateur. Sinon à chaque affichage de page, je devrais faire une requête SQL (j'utilise MySQL) pour récupérer la valeur de toutes les clés situées dans ma page. Et ce fonctionnement de requêtes MySQL ne me parait pas très efficace en terme de temps de réponses. J'aurais tendence à me dire que utiliser la technique xml ou mettre en place une classe php pour la récupération des messages est d'une part plus claire dans le code et d'autre part plus rapide en terme de fonctionnement (maintenant, n'étant pas une experte, loin de là, j'ai peut être tort... mais c'est mon ressenti sur la chose ).

    Je vais tester le truc des drapeaux... Je vais essayer de le mettre en place (pour le moment j'ai choisi l'option de la classe php et des fichiers .ini, mais je suis ouvertes aux remarques pour optimiser le code.... et si il le faut, je changerais de méthode).

  4. #4
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par AnneB Voir le message
    Merci pour ta réponse.
    Bien bien ,
    juste deux ou trois points

    MYSQL est hyper rapide, et c'est du limpide en terme de syntaxe
    Penses qu'ici avec les millers de visiteurs jour, tout est en mysql

    Tu sais ouvrir des fichiers et les gérer c'est le bazard ...

    Si tu compte travailler vite, laisses ce FIL ouvert donc ne cliques pas RESOLU,
    si non, fermes le, puis plus tard réouvres un message peut-étre plus précis sur tel ou tel point ou tu en sera

    as you like

  5. #5
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    Citation Envoyé par AnneB Voir le message
    Habituellement, je code en JAVA, avec le framework STRUTS qui contient déjà tous les mécanismes nécessaires pour l'internationalisation, via des fichiers .properties contenant des paires clé/valeur (detection auto de la langue du navigateur, et sélection des clé/valeurs directement dans le fichier properties qui contient les clé/valeur associés à la langue)....
    Salut
    en PHP aussi vous avez plusieurs Framework avec des mécanismes tous prêts
    aityahia

  6. #6
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par aityahia Voir le message
    Salut
    en PHP aussi vous avez plusieurs Framework avec des mécanismes tous prêts
    aityahia
    Voila AnneB nous sommes dans le choix typique de deux démarches,
    c' est pratiquement indiscutable tant les approches ont de réelles valeurs.

    Etant donné ta réponse de ce matin il parait certainque la solution de aityahia te conviendra mieux

Discussions similaires

  1. [Kylix] internationalisation
    Par bohort dans le forum EDI
    Réponses: 1
    Dernier message: 26/07/2004, 18h26
  2. [STRUTS] INTERNATIONALISATION ==>> EXEMPLE
    Par zarbydigital dans le forum Struts 1
    Réponses: 10
    Dernier message: 23/03/2004, 14h55
  3. Application multilangue
    Par xave dans le forum MFC
    Réponses: 9
    Dernier message: 24/02/2004, 13h53
  4. [Unicode] Internationalisation d'une application
    Par Thierry Laborde dans le forum Langage
    Réponses: 4
    Dernier message: 21/10/2003, 20h15
  5. [CR] internationalisation d'un report
    Par osoudee dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 24/06/2002, 16h54

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