Salut !
Pour ma part j'utilise des fichiers de langues qui contiennent les textes de l'interface. Les textes sont définis dans une variable appelée $lang :
$lang['ajouter_news']='Ajouter une news';
Pour un site français/anglais, je vais avoir 2 fichiers : fr.php et en.php. Et selon la langue detectée ou choisie par l'utilisateur, le fichier FR ou EN est appelé. Tu peux aussi utiliser un fichier XML si tu préfères.
En ce qui concerne le contenu du site, j'utilise une base de données. Ma table news par exemple contient un champ langue qui permet de spécifier si l'article est rédigée en anglais ou en français. A l'affichage je vais donc choisir seulement les news dont la langue correspond à celle de l'utilisateur.
Si tu utilise une solution avec une base de données pour le texte de l'interface, alors cela prendra effectivement pas mal de ressource et mieux vaut avoir un système de cache en parallèle.
Quand aux templates, ils permettent de séparer le code PHP et le design HTML... Ils sont très pratiques mais pas nécessaire pour un site multilingue.
Bon courage !
A++
Partager