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 :

[Tableaux] Conseils pour un site bilingue dynamique


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 18
    Par défaut [Tableaux] Conseils pour un site bilingue dynamique
    Bonjour,

    Je demande vos conseils selon votre experience dans la creation des sites dynamiques bilingues

    j'ai deja consulter ce thread Faire un site bilingue en PHP qui discute des textes statiques pour un site bilingue, la definition des textes dans des fichiers pour chacune des langues est interressante et je pense l'adopter.

    Maintenant pour les textes dynamiques, je pense à un catalogue : description du produit , prix en euro ou dollar ..... comment sont gerés au niveau de la base de donnée ? Je signale que le catalogue est le meme pour les deux langues.

    Est-ce que je dois utiliser deux bases pour chacune des langues ? ou est-ce que je dois dupliquer les champs dans une seule base ?
    Comment gerer dans ce cas les requetes pour que ma page soit la plus generique possible ? c.a.d j'ecris une seule requete qui fonctionne pour les deux langues
    Dans la page d'administration : est-il plus approprié de faire deux site, le premier pour l'ajout modification ... des produits en anglais et le deuxieme en francais ou un seul site qui pour chaque action (ajout modification ) demande les deux versions des textes ang et fr .

    Merci d'avance.

  2. #2
    Membre confirmé
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Par défaut
    L'utilisation de 2 bases de données pour tes 2 langues seraient la pire erreur que tu puisse faire, idem pour l'utilisation de 2 tables. 1 seule table suffit.

    En fait, ce tutoriel est l'exemple à suivre à mon avis:
    http://g-rossolini.developpez.com/tu...e=page_4#LIV-B

  3. #3
    Membre éclairé
    Profil pro
    Ingénieur en électronique
    Inscrit en
    Septembre 2004
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur en électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 419
    Par défaut
    Pour ton écriture ( se qui ne seras pas sur ta base de donnée) , tu peux créé toutes tes pages avec que des $lang[accept] ...............

    et dans le fichier lang ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if($lang==fr)
    {
     // les variables en, français
    }
    else{
    //en anglais ou autre 
    }
    Et je crois que le mieu pour les l'ajout modification que il as 1 site pour les 2

    Pour active pour Fr seul : 1
    ang : 2
    les 2 : 3

    Comme ton project n'est pas expliquer en detail , je crois que s'est une bonne solution

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 201
    Par défaut
    Citation Envoyé par CNoob
    Bonjour,

    Je demande vos conseils selon votre experience dans la creation des sites dynamiques bilingues

    j'ai deja consulter ce thread Faire un site bilingue en PHP qui discute des textes statiques pour un site bilingue, la definition des textes dans des fichiers pour chacune des langues est interressante et je pense l'adopter.
    C'est en effet une bonne solution, je n'en connais pas de meilleure.

    Citation Envoyé par CNoob
    Maintenant pour les textes dynamiques, je pense à un catalogue : description du produit , prix en euro ou dollar ..... comment sont gerés au niveau de la base de donnée ? Je signale que le catalogue est le meme pour les deux langues.
    Perso, je stock dans une variable de session la langue (détectée automatiquement avec par défaut une langue au choix) et j'ajoute des champs dans la base de données pour chacune de ces langues. Par exemple: description_fr, description_en, etc...
    Il faudra biensûr ajouter la description de ce produit dans les deux langues en créant deux textarea depuis l'interface de gestion par exemple, un pour chacune des langues.


    Citation Envoyé par CNoob
    :fleche: Est-ce que je dois utiliser deux bases pour chacune des langues ? ou est-ce que je dois dupliquer les champs dans une seule base ?
    Duplique les champs, comme expliqué plus haut.

    Citation Envoyé par CNoob
    :fleche: Comment gerer dans ce cas les requetes pour que ma page soit la plus generique possible ? c.a.d j'ecris une seule requete qui fonctionne pour les deux langues
    La meilleure méthode réside selon moi dans l'utilisation des classes. Je ne suis pas un adèpte de l'objet mais je sais en tirer avantages dans certaines situations. Par exemple pour une classe Catalog qui contient une méthode getProduct() tu feras:

    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
     
     
    // Objet php4 pour simplifier
     
    class Catalog {
         function Catalog {
         }
     
         function getProduct() {
              switch($_SESSION['lang']) {
                   // Là tu stock le nom du champs selon la langue dans une variable
                   // Exemple:
                   case 'FR':
                   $field = 'description_fr';
                   break;
              }
         }
    }

    Citation Envoyé par CNoob
    :fleche: Dans la page d'administration : est-il plus approprié de faire deux site, le premier pour l'ajout modification ... des produits en anglais et le deuxieme en francais ou un seul site qui pour chaque action (ajout modification ) demande les deux versions des textes ang et fr .
    .
    Tu fais pareil que pour l'interface client, tu gères tout ce qui est fixe dans des fichiers de traduction et tu ajoutes de nouveaux champs pour insérer tes informations en plusieurs langues.

    Jète un oeil à osCommerce si tu veux avoir un aperçu de ce procédé.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Par défaut
    La meilleure méthode réside selon moi dans l'utilisation des classes. Je ne suis pas un adèpte de l'objet mais je sais en tirer avantages dans certaines situations. Par exemple pour une classe Catalog qui contient une méthode getProduct() tu feras:
    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
     
    // Objet php4 pour simplifier
     
    class Catalog {
         function Catalog {
         }
     
         function getProduct() {
              switch($_SESSION['lang']) {
                   // Là tu stock le nom du champs selon la langue dans une variable
                   // Exemple:
                   case 'FR':
                   $field = 'description_fr';
                   break;
              }
         }
    }
    pourquoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $reket="select description_".$lang." from table";
    ...
    $ligne_resultat['description_'.$lang];

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 201
    Par défaut
    Citation Envoyé par tthierry
    pourquoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $reket="select description_".$lang." from table";
    ...
    $ligne_resultat['description_'.$lang];

    Pourquoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $field = 'description_'.$_SESSION['lang'];
     
    $query = "SELECT ".$field." FROM `table`";
    ...
    echo $row[$field];
    Parce que le feu ça brûleuuu et l'eau ça mouilleuu !

  7. #7
    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

    pourquoi ne pas utiliser la technologie XML / XSL pour faire un site bilingue? une feuille XSL pour la mise en page et 1 feuille XML pour chaque langue?

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Par défaut
    >Parce que le feu ça brûleuuu et l'eau ça mouilleuu

    je comprend mieux pourquoi tu crés une classe avec un switch tout compliqué là ou une simple concaténation aurait suffit

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

Discussions similaires

  1. J'ai besoin de vos conseils pour mon site chez-Gaëlle
    Par Gaëlle71 dans le forum Mon site
    Réponses: 2
    Dernier message: 30/04/2007, 23h09
  2. [Tableaux] conseil pour update
    Par jarod71 dans le forum Langage
    Réponses: 1
    Dernier message: 03/03/2007, 14h20
  3. Réponses: 3
    Dernier message: 14/04/2006, 14h33
  4. Réponses: 7
    Dernier message: 06/12/2005, 16h04
  5. [ASP]pb pour un site bilingue
    Par DEC dans le forum ASP
    Réponses: 13
    Dernier message: 20/06/2004, 14h26

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