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 :

Site PHP multilingue


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    533
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2003
    Messages : 533
    Par défaut Site PHP multilingue
    Bonjour à tous,

    Je suis en train de me poser sur une question, je dois faire un site multilingue, mais je n'ai pas tellement d'idée sur la manière de le créer car si je part du principe que tout et multilingue, les titres des pages doivent l'être, les menus doivent l'être? En fait j'aimerais si possible que quelqu'un m'explique la méthode qu'il a utiliser ou bien qu'il utiliserais???

    Merci d'avance pour votre précieuse aide

  2. #2
    Membre Expert
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Par défaut
    La dernière fois que j'ai réalisé un site multi-lingue, j'avais placé les données textuelles dans des fichiers de langue dans lesquels je faisais des define. Je ne sais pas si c'est la meilleure méthode mais c'est une méthode qui marche, centralise tous les textes dans un même fichiers et donc, méthode plutôt claire dans l'ensemble.

  3. #3
    Membre chevronné Avatar de TucSale
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 264
    Par défaut
    bonjour,

    Par définition un site multilingue, tout doit etre traduit suivant la langue choisie.
    Plusieur principe :
    _ des miror de dossier : tu copie ton site autant de fois que que tu veux de langue : http://monsite/fr http://monsite/en
    _ Mise en place d'un dictionnaire : Tu fais un include dans chaque page du dictionnaire voulue.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    /*fr.php*/
    $Bienvenue = "Bonjour et bienvenu sur developpez.com";
    ....
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    /*en.php*/
    $Bienvenue = "Welcome to developpez.com";
    ...
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    include(fr.php);
    echo $Bienvenue;
    ?>
    Tu peux aussi aller voir $_SERVER['HTTP_ACCEPT_LANGUAGE']

    Pour finir, regarde sur le forum, il y a plusieur post qui traite de ce sujet

  4. #4
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut

    Tu as 3 grosses façons de le faire :
    • La première est celle énoncée par TucSale et muad'dib (par contre, je te déconseille de tout mettre dans le même fichier car lorsque tu vas avoir un site un peu conséquent (avec beaucoup de texte), l'ouverture, la lecture et la fermeture d'un fichier de 50Mo est largement plus longue que celle d'un fichier de 50Ko).
    • La seconde est de créer une base de données contenant tes traductions selon la langue(perso je trouve ça lourd car ça demande beaucoup trop d'accès à la BD et puis ça oblige de faire une insertion dans la BD à chaque fois que tu veux rajouter un mauvais label).
    • La troisième (peut-être la meilleure mais la plus délicate) et de créer un fichier XML contenant la structure de ton site ainsi que le contenu textuel pour chaque langue. A côté de ça, tu te fais 1 fichier XSL qui met tes fichiers XML en page, exactement de la même manière. Tu te retrouves, du coup, avec un fichier XML pour chaque langue et un seul fichier XSL qui met le tout en page.

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    533
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2003
    Messages : 533
    Par défaut
    Bonjour,

    Merci pour les informations qui m'intéresse toutes assez, mais je me pose une petite question, l'utilisateur final pourra bien sur administrer le site on-line, et j'ai prévu mettre mes informations dans la base de données, mais est-ce que ça risque de plus compliquer la programmation du site que si je mets dans un fichier xml?

  6. #6
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 696
    Par défaut
    Ce n'est pas comme ça qu'il faut choisir comment tu vas organiser ton application.
    Tu dois d'abord définir exactement les fonctionnalités de ton application et ensuite tu choisis comment tu vas les mettre en place, la base de données, l'organisation de ton code, etc.

  7. #7
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    533
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2003
    Messages : 533
    Par défaut
    La je suis d'accord avec toi. Etant donné que je travaille la plupart du temps avec les bases de données, je pense que je vais le faire avec. Mais j'aurais juste une petite question, par exemple comment pourrais construire déjà simplement rien que les pages en multilingue? Faire une table langue, une table page, et de faire pour chaque langue une page différentes???

    Je suis pas sur d'être très claire, si jamais dites les moi...

  8. #8
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 696
    Par défaut
    tu n'as peut-être pas besoin de mettre les mots dans la base de données
    comme l'a dit trotters213, l'accès à la base de données peut prendre beaucoup de ressources donc si les mots n'ont pas besoin d'être modifiés, dans une interface d'administration par exemple, il vaut mieux les mettre dans un fichier XML

  9. #9
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    533
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2003
    Messages : 533
    Par défaut
    Ca je suis d'accord, mais par exemple le client souhaiterais avoir les pages des différentes solutions qu'il propose avec le description dans trois langues différentes, pour l'instant, et ensuite peut-être qu'il rajoutera d'autres langues dans le future, donc il faut que ce soit vraiment souple comme système. Donc avec le fichier xml ce serait une bonne idée pour les menus, mais par contre pour ce qui est des descriptions de solutions, est-ce que ce serait une bonne idée???

  10. #10
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Dans ton cas, l'utilisation de ficheir XML est parfaite.
    Exemple pour une page X de ton site :
    • un fichier xml en français
    • un fichier xml en anglais
    • un fichier xsl de mise en page
    Un jour ça te pète et tu dis : "tè je vais faire ma page x en occitant aussi car j'aime bien l'occitant". Et bè tu n'as qu'à faire un fichier xml en occitant, rajouter un petit drapeau occitant et c'est fait (car le fichier de mise en page existe déjà et que c'est la même quelque soit le fichier XML qui l'appelle).

  11. #11
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    533
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2003
    Messages : 533
    Par défaut
    Ah ouai, sympha, je voyait pas dans cette utilité la, et pour tout ce qui est du reste comme par exemple les news et les menus, tu me conseillerais aussi le xml?

  12. #12
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    bè à utiliser une techno autant l'utiliser pour tout. Sachant en plus que ce que tu peux faire pour une page tu peux le faire pour une autre aussi donc si du jour au lendemain tu veux rajouter des news dans une nouvelle langue, ça sera aussi simple qu'indiqué précédemment.

  13. #13
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    533
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2003
    Messages : 533
    Par défaut
    Merci pour les infos. Maintenant, vu que j'ai rarement travailler avec le XML, je devrais structuré comment le site. Pour chaque page je devrais faire un fichier xml, et un fichier aussi xml pour les menus, ou bien il faudrait plutôt que je fasse un fichier xml qui contient toutes les pages?

    Je pense que 1 fichier xml par page sera plus simple, et 1 fichier qui englobe tous les menus...

  14. #14
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Oui, l'intêret et d'avoir quelque chose de facile à mettre à jour et de rapide (à l'éxecution) donc il faut que tu garde une arborescence de fichier et non pas un seul fichier (je sais même pas si c'est faisable).
    Exemple :
    • index.fr.xml
    • index.en.xml
    • index.xsl
    • dossier1
      • index.fr.xml
      • index.en.xml
      • index.xsl
    • dossier2
      • index.fr.xml
      • index.en.xml
      • index.xsl
    et ainsi de suite.
    Si tu as une mise en page commune à toutes les pages, tu peux même n'avoir qu'un seul fichier XSL.
    Par contre si tu veux commencer à faire des choses plus "dynamique", il va falloir que tu utilises du php et que tu utilises des librairies comme xsltproc par exemple. Je te laisse te renseigner sur ceci via Google.

  15. #15
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    533
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Novembre 2003
    Messages : 533
    Par défaut
    Merci pour toutes c'est informations, j'aurais maintenant juste une dernière question, si on fait toute un structure en XML, et que souhaite ajouter un formulaire, celui-ci ne sera pas en xml??? Il sera en html non?

    Désolé de prendre autant de ton temps...

  16. #16
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Non, il sera en XML (pour ce qui est du texte, du contenu) et toute la mise en page sera faite via du XSL.
    Dans ta feuille XML, tu appelleras la feuille de style XSL qui mettra en place le contenu de ton XML (le XML est un ensemble de balises contenant les infos que tu souhaites intégrer à la page et le XSL est une moulinette qui pond du XHTML) .
    Je te laisse jeter un coup d'oeil ici : http://xml.developpez.com/cours/

Discussions similaires

  1. site web multilingue / php
    Par AP dans le forum Langage
    Réponses: 4
    Dernier message: 14/05/2007, 16h38
  2. Réponses: 11
    Dernier message: 10/01/2006, 07h23
  3. Problème changement serveur pour un site PHP
    Par izzy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 06/01/2006, 11h34
  4. [CKEditor] Qui utilise FCKeditor sur son site php pour config ?!
    Par guy2004 dans le forum Bibliothèques & Frameworks
    Réponses: 62
    Dernier message: 26/10/2005, 18h24
  5. Question pour un site PHP/MySQL et Javascript
    Par DvP dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/09/2005, 08h23

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