Bonjour,
Tout d'abord désolé si je ne suis pas dans le bon forum, mais j'avoue, je ne sais pas lequel est approprié à mon problème.
D'ailleurs, voici mon problème, vous en jugerez...
J'ai installé, sous xp, GetText, j'ai créé mes fichiers .po, tout tourne sauf que... Lorsque ma traduction "msgstr" contient un accent celui est affiché sur ma page avec losange contenant un ?.
La page attend clairement, un codage en UTF-8. Malgré les tentatives pour transformer le résultat en UTF-8 rien ne marche. Je vous montre ce que j'ai fait, en espérant que c'est moi qui n'ai rien compris... Ainsi vous aurez la possibilité d'y remédier.
J'ai également tenté de faire un formatage directement dans le fichier .po en ajoutant ces lignes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 // Dans le fichier fr_FR/LC_MESSAGES/traduction.po -->.mo, j'ai msgid "Subscriber" | msgstr "Abonné" // Je récupère la traduction en Français $langage = "fr_FR"; putenv("LANG=$langage"); setlocale(LC_ALL, $langage . ".UTF-8"); $f_langue = 'traduction'; bind_textdomain_codeset("$f_langue", "UTF-8"); bindtextdomain("$f_langue", "./locale"); textdomain("$f_langue"); echo _('Subscriber');
Pour éviter les erreurs, j'ai mis les caractères accentués avec \\u00E8. Ce qui donne msgid "Subscriber" | msgstr "Abonn\\u00E8".msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
Dans ce dernier cas cela m'affiche Abonn\\u00E8.
Je croise les doigts et allume des cierges afin que quelqu'un connaisse une solution afin que les accents s'affichent correctement.
Christian.







Répondre avec citation






Partager