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:
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:
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 !