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 :

Projet php multilingue


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de ThitoO
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 134
    Points : 81
    Points
    81
    Par défaut Projet php multilingue
    Bonjour à tous,

    J'ai pour projet de développer un site web en PHP. Je ne suis pas à mon coup d'essai et le PHP ne fait plus peur

    Par contre il doit être multilingue et je n'ai encore fait ça.
    En gros on doit pouvoir changer la langue du site en cliquant sur un bouton.

    J'y ai réfléchit un peu, et la solution la plus probable est la suivante :
    Je met une variable de session avec la langue utilisée, et en fonction de cette variable j'inclue un fichier.php contenant toutes les chaines de caractères dans la langue spécifiée. Ensuite j'utilise directement les variables dans mes vues.
    Par exemple un fichier FR.php contenant: $bienvenue = "Bonjour à tous !" ... et un fichier EN.php contenant $bienvenue = "Hi all !"

    Un truc du genre ...

    Mais bon, je ne suis pas sur que ce soit la meilleure solution, auriez-vous une idée/un truc que vous avez déjà fait ?

    Merci d'avance
    Si un probleme a une solution cela ne sert à rien de s'inquieter, mais si un probleme n'a pas de solution s'inquieter ne changera rien.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    Pour moi l'idéal pour du multilingue reste gettext
    tuto : http://guillaume.gronoff.free.fr/art...?id_article=21

    Le gros intérêt est que c'est un format standard , et qu'il existe des logiciel pour faciliter la traduction. C'es td'autant plus pratique si tu passe par des tiers pour traduire ton site dans différentes langues.

    Pou finir gettext est généralement plus rapide que les autres solution d'internationalisation : http://mel.melaxis.com/devblog/2006/...t-fast-enough/
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par ThitoO Voir le message
    Bonjour à tous,

    J'ai pour projet de développer un site web en PHP. Je ne suis pas à mon coup d'essai et le PHP ne fait plus peur

    Par contre il doit être multilingue et je n'ai encore fait ça.
    En gros on doit pouvoir changer la langue du site en cliquant sur un bouton.
    Tu trouvera une partie de réponse ICI
    http://www.developpez.net/forums/d77...sieurs-volets/

    dis moisi ça te guide bien

  4. #4
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 450
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 450
    Points : 4 600
    Points
    4 600
    Par défaut
    ah, je suis interesse ... =)
    pour ma part, quand je debutais, j'avais fais un "double" du site... un entierement francais, et l'autre entierement anglais...

    puis, j'ai fabrique mes pages avec une BDD.
    ma BDD contenait une table avec les nom des pages et avec l'id de la phrase.
    ce qui donnait quelque chose comme
    table index-php
    001 | "bonjour a tous" | "Hello all" | ...
    mes tables avaient toutes la meme structure : id, texte fr, texte en, etc...
    ainsi, en une requete, j'ai l'integralitee de la page dans la langue voulue.

    le seul hic avec cette method c'est qu'il faut renseigner les BDD manuellement...
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  5. #5
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    ah, je suis interesse ... =)
    pour ma part, quand je debutais, j'avais fais un "double" du site... un entierement francais, et l'autre entierement anglais...
    Trés franchement le plus simple et de loin est de mettre dans sa base de donnée la partie centrale de la page avec tout (compris balises)

    Bien sur on a ailleur une fois pour toutes le menu dans chaque langue, et le bas de page

    Alors pourquoi, parceque c'est du html on eput donc tout faire en Français,
    et envoyer a un ou deux amis qui mettent en allemand, espagnol ,anglais
    Et hop on copie colle le tout dans un data mysql
    fr_apropos ou en_apropos ...

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    Trés franchement le plus simple et de loin est de mettre dans sa base de donnée la partie centrale de la page avec tout (compris balises)
    C'est en effet vachement pratique surtout le jour ou tu change quelque chose dans ta structure html , tu vas le faire 15 fois si tu as 15 langues
    De plus des amis qui traduisent le site ne savent pas forcément ce qu'est de l'html.

    En pièce jointe l'interface de poedit avec un de mes fichier de lang chargé. Le mec qui traduit n'a qu'a faire la correspondance colonne de gauche(oroginal) => colonne de droit (traduction).

    La base de données c'est vraiment quand on à pas d'autre choix, enfin c'est mon avis
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par grunk Voir le message
    C'est en effet vachement pratique surtout le jour ou tu change quelque chose dans ta structure html , tu vas le faire 15 fois si tu as 15 langues
    De plus des amis qui traduisent le site ne savent pas forcément ce qu'est de l'html.
    1) je ne sais pas toi, mais mes amis savent au moins respecter le fait que balises= pas touche
    2) les modifs de textes rien a voir , je leur met un copier collé par mail
    ils m'envoient la traduction.
    3) les changement de mise en page, bien sur j'ai mon petit outil ...

    De toute façon je suis un vieux encrassé et on ne me mettra pas aux "tempalte" je suis alergique !

  8. #8
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    Citation Envoyé par FoxLeRenard Voir le message
    1) je ne sais pas toi, mais mes amis savent au moins respecter le fait que balises= pas touche
    Pour être passer par des connaissance , des collègue voir même des boites indépendante pour la traduction je t'assure que 3/4 temps c'est non.
    Une boite indépendante ne prendra même le fichier si c'est pas un format plus ou moins standard (au moins un csv).
    A titre d'exemple j'ai deja eu des fichiers php qui revenais avec les clé de tableau traduite ><
    Alors que là avec un fichier .po pas de souçis , il le charge directement dans leur logiciel de traduction et on en parle plus.

    De toute façon je suis un vieux encrassé et on ne me mettra pas aux "tempalte" je suis alergique !
    Rien à voir avec les templates, gettext c'est une extension disponible avec php.
    Au lieu de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $lang_fr['machaine']
    Tu fais par exemple :
    En terme de codage ça change pas grand chose , c'est juste l'aspect traduction/maintenance qui est facilité.

    Mais puisque tu parle de template , il existe un plugin gettext pour smarty bien pratique ^_^
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par grunk Voir le message
    En terme de codage ça change pas grand chose , c'est juste l'aspect traduction/maintenance qui est facilité.

    Mais puisque tu parle de template , il existe un plugin gettext pour smarty bien pratique ^_^
    Ca tu me plais !! je vais creuser ça, merci d'avoir regardé de pret ce point, je vais revoir ma copie c'est sur !

    Pffffff t'as pas honte par cette chaleur me faire bosser

Discussions similaires

  1. Projet php à la base, mais découverte de .NET
    Par ophalia dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 05/05/2007, 10h53
  2. Projet PHP / MySQL
    Par hartecel dans le forum Installation
    Réponses: 3
    Dernier message: 06/01/2007, 13h40
  3. Projet PHP
    Par Nacros dans le forum XMLRAD
    Réponses: 9
    Dernier message: 09/04/2006, 15h46
  4. [MySQL] Projet PHP : Génération de numéro de Références et Stockage
    Par Jimmy_S dans le forum PHP & Base de données
    Réponses: 136
    Dernier message: 27/10/2005, 17h22

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