J'ai tenté de scanner mes scripts pour tous les appels de fonction _('gettext')
dans un nouveau catalogue PoEdit. Après l'analyse des fichiers, il affiche cette erreur:Erreur de génération PoEdit .PO
Filename.class.php:11: warning: Although being used in a format string position, the msgid is not a valid PHP format string. Reason: In the directive number 1, the character '"' is not a valid conversion specifier.
Filename.class.php, ligne 11 ressemble à ceci:
throw new fatalException(sprintf(_('The chosen directory "%" does not exist.'), $dir));
Le fichier .mo est toujours généré, mais aucun texte traduit apparaît sur le site. Le texte d'origine à l'intérieur des appels à _('gettext')
est affiché à la place. Est-ce que cela risque d'être le problème, ou y a-t-il une autre raison (telle qu'une information incorrecte setlocale()
) que la traduction ne fonctionne pas? Est-ce que quelqu'un est capable de me dire ce que le message d'erreur ci-dessus signifie?
Exécution de Windows sur WAMP Server 2.1 sur mon hôte local avec PHP 5.3.8 et Apache 2.2.17.
Merci.
Maintenant que le msgid a changé avez-vous mis à jour le .po, le .mo et redémarré le serveur web? – dsas
@dsas Oui, tout a été fait. Aucune erreur signalée lors de la génération des fichiers/du redémarrage d'Apache. – Pete171
J'ai aussi vérifié ma fonction 'setlocale()' et elle ne retourne pas false. L'extension Gettext est activée ... – Pete171