[RESOLU] Site multilingue

Eléphanteau du PHP | 30 Messages

05 juil. 2017, 14:51

Bonjour,
Je souhaite rendre mon petit site multilingue et je suis entrain d'étudier deux solutions :
1- sol 1 : utilisation d'un fichier par langue : en.php, fr.php, es.php et à chaque fois inclure le fichier qu'on a besoin aprés séléction de la langue dans un listbox.
2- Sol 2 : Utilisation d'un seul fichier XML qui contient les trois langues avec un positionnement à chaque fois au nœud qui nous intéresse.

Solution 1 :
fichier en.php

Code : Tout sélectionner

<?php // fichier de langues en anglais define("_BVN","Welcome "); ?>
Fichier fr.php :

Code : Tout sélectionner

<?php // fichier de langues en français define("_BVN","Bienvenue "); ?>
Dans la page index.php :

Code : Tout sélectionner

$lang = $_GET["lang"]; if($lang == "fr") {include "./langues/fr.php";} elseif ($lang == "es") {include "./langues/es.php";} elseif ($lang == "en") {include "./langues/en.php";} else {include "./langues/fr.php";} echo _BNV;

Solution 2 :
Fichier XML :

Code : Tout sélectionner

<?xml version="1.0" encoding="UTF-8"?> <traduction> <fr> <trad100>Bienvenue</trad100> </fr> <en> <trad100>welcome</trad100> </en> <es> <trad100>Bienvenida</trad100> </es>
Dans le fichier index.php

Code : Tout sélectionner

if (!empty($_GET['lang'])){ $lang=$_GET['lang']; } else { $lang='fr'; } $bibliotheque = simplexml_load_file('./langues.xml'); $langue = $bibliotheque->$lang; <?php echo $tras100; ?>
Merci pour votre aide.

Eléphanteau du PHP | 23 Messages

05 juil. 2017, 22:16

Bonjour,

Une solution serait d'utiliser la fonction gettext pour aller chercher la traduction dans des fichiers.

Une explication ici : http://tassedecafe.org/fr/international ... ttext-2878

Bonne soirée

Eléphanteau du PHP | 30 Messages

12 juil. 2017, 15:36

Merci pour l'info, j'ai utilisé un fichier XML car c'est mieux.