gestion multi-langue et tables
Bonjour,
on m'a proposé un système multi-langue qui utilise json ; il convient pour traduire plusieurs mots par contre je ne vois pas comment l'adapter pour traduire des tables si les données à traduire appartiennent à des tables (MySql).
Voici le système :
On a cette fonction
Code:
1 2 3 4 5 6 7 8 9
| function getPageLanguage($lang,$pages) {
$dataPage=[];
foreach($pages as $p){
$jsonString=file_get_contents('_lang/'.$lang.'/'.$p.'.json');
$json=json_decode($jsonString);
$dataPage[$p]=$json;
};
return (object) $dataPage;
} |
qu retourne un objet dont chaque propriété contient les traductions d'une page (sous forme d'un objet qui lui-même contient toutes les traductions de la page)
Initialement, les traductions d'une page sont contenues dans un fichier json dont voici un petit exemple :
Code:
1 2 3 4
| {
"home":"Accueil",
"var1":"test_fr"
} |
Donc si la page ne contient que des mots (statiques) à traduire, c'est clair pour moi. Voici comment accéder à l'un d'eux, une fois appelée la fonction ci-dessus : $lang->home->var1 (pour la page nommée "home").
Là où je ne vois pas comment faire, c'est si on veut afficher des données contenues dans une table. Ce que je suppose, c'est qu'on a une table par langue et que selon la langue demandée par l'utilisateur, on va chercher la bonne table. C'est bien ça ?