Bonjour,
J'ai effectué en local (wampserver-2b, w*ndows) un site multilingue en français, anglais et allemand à partir d'un site internet en PHP.
J'ai créé des sessions, qui permettent de fixer la langue en fonction du navigateur, ou bien en cliquant sur des drapeaux.
Le contenu du site est généré à partir de pages traduites dans des dossiers spéciaux.
Le site possède un fichier template.php qui englobe les boutons, les div d'entête, de gauche et de pied de page, ainsi que la div qui contiendra la page en cours.
Ce fichier template est traduit grâce au module php_gettext (et le logiciel poEdit 1.4), ce qui permet de changer facilement tous les textes des boutons en fonction de la langue détectée.
L'encodage du site est UTF-8, les fichiers .php sont encodés en UTF-8, les fichiers générés par poEdit sont en UTF-8 également.
Le site fonctionne parfaitement en local, tout est bien traduit : pages et boutons.
Cependant, j'ai créé un répertoire de test sur le serveur (hébergeur NexLink, GNU-Linux, php 5), et seul l'allemand et le français (langue d'origine) fonctionnent correctement : les boutons (grâce au template.php) sont bien traduits.
Mais le template.php de l'anglais ne se traduit pas. J'ai vérifié les droits (644), remplacé les .po et .mo anglais de traduction par ceux en allemand, rien n'y fait.
Pensant avoir fait une mauvaise manipulation, j'ai copié ce dossier de test en local dans la même configuration que sur le serveur (sous-répertoire), et là tout fonctionne correctement !
C'est pourquoi je vous demande un peu d'aide pour résoudre ce problème assez étrange.
Merci.
Partager