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
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)
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Initialement, les traductions d'une page sont contenues dans un fichier json dont voici un petit exemple :
Code json : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?
Partager