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

PHP & Base de données Discussion :

Traduction du site en plusieurs langues php


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 161
    Par défaut Traduction du site en plusieurs langues php
    Bonjour,

    Je suis entrain de traduire mon site. J'aimerai quand je clique sur une langue de traduire le contenu du champ que je récupère en fonction de la langue choisie . Ce contenu est récupéré dynamiquement dans la base de données. J'ai un champ pour chaque langue par exemple : description_produit_fr, description_produit_gb, description_produit_es.

    Mon problème est que le contenu que je récupère en base de données ne change quand je change de langue.

    Ci-dessous mon code :

    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
    19
    20
    21
     
    $langues = array("FR", "GB", "ES");
     
        foreach ($langues as $langue) {
            if (isset($_SESSION['langue']) && !empty($_GET['page'])) {
                if (in_array($_GET['page'], $langues)) {
                    $_SESSION['langue'] = $_GET['page'];
                    $langue = $_SESSION['langue'];
                } else if (in_array($_SESSION['langue'], $langues)) {
                    $langue = $_SESSION['langue'];
                } else {
                    $langue = "FR";
                }
            }
        }
     
    // Requete
    $sql = " SELECT produit_id,  produit_description_{$langue} FROM produit ORDER BY date DESC ";
    $req = $db->prepare($sql);
    $req->execute() or die(print_r($db->errorInfo()));
    $data = $req->fetch(PDO::FETCH_ASSOC);
    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
    19
    20
    21
    22
    23
    24
    25
     
    <!-- Liens navigations pour changer de langues -->
     
    <div class="nav-lang">
                        <?php if (!isset($_SESSION['langue'])) { ?>
                            <div class="div-lg"><a class="lang" href="siteAccueil.php?lg=GB<?php if (!empty($_GET['page'])) { echo '&page='.$_GET['page']; } ?>">GB</a></div>
                            <div class="div-lg"><a class="lang" href="siteAccueil.php?lg=ES<?php if (!empty($_GET['page'])) { echo '&page='.$_GET['page']; } ?>">ES</a></div>
                        <?php } else {
                            if ($_SESSION['langue'] == 1) { ?>
                                <div class="div-lg"><a class="lang" href="siteAccueil.php?lg=GB<?php if (!empty($_GET['page'])) { echo '&page=' . $_GET['page']; } ?>">GB</a></div>
                                <div class="div-lg"><a class="lang" href="siteAccueil.php?lg=ES<?php if (!empty($_GET['page'])) { echo '&page=' . $_GET['page']; } ?>">ES</a></div>
                            <?php } else if ($_SESSION['langue'] == 2) { ?>
                                <div class="div-lg"><a class="lang" href="siteAccueil.php?lg=FR<?php if (!empty($_GET['page'])) { echo '&page=' . $_GET['page']; } ?>">FR</a></div>
                                <div class="div-lg"><a class="lang" href="siteAccueil.php?lg=ES<?php if (!empty($_GET['page'])) { echo '&page=' . $_GET['page']; } ?>">ES</a></div>
                            <?php } else { ?>
                                <div class="div-lg"><a class="lang" href="siteAccueil.php?lg=FR<?php if (!empty($_GET['page'])) { echo '&page=' . $_GET['page']; } ?>">FR</a></div>
                                <div class="div-lg"><a class="lang" href="siteAccueil.php?lg=GB<?php if (!empty($_GET['page'])) { echo '&page=' . $_GET['page']; } ?>">GB</a></div>
                            <?php }
                        } ?>
    </div>
     
    <!-- Affichage de la description d'un produit récupérée en bd -->
    <div class="content">
            <div class="row"><?=$data['produit_description_'.$langue];?></div>
    </div>
    Mon souci ce que je n'arrive pas à traduire les contenus qui sont récupérés en base de données. Quelqu'un peut m'aider.

    Merci par avance !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                if (in_array($_GET['page'], $langues)) {
                    $_SESSION['langue'] = $_GET['page']
    Peut-être qu'en évitant de confondre $_GET['page'] et $_GET['lg'] ?...

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 161
    Par défaut
    Bonjour @jreaux62,

    Merci d'avoir pris le temps de me répondre.
    Ça a marché !

    A bientôt !

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

Discussions similaires

  1. [PHP 5.4] Site en plusieures langues, quelles meilleures techniques
    Par pierrot10 dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2010, 20h18
  2. Site en plusieurs langues
    Par bernardgiraud dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 05/04/2010, 19h09
  3. Site avec plusieurs langues
    Par midosd dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 23/05/2009, 14h36
  4. création d'un site avec plusieurs langues
    Par ghyosmik dans le forum Langage
    Réponses: 2
    Dernier message: 22/05/2008, 04h06
  5. Un site en plusieur langue (Besoin de faire en russe)
    Par benbax dans le forum Eclipse PHP
    Réponses: 2
    Dernier message: 04/01/2008, 16h30

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