la localisation wordpress ne fonctionne pas
J’ai des fichiers en_US.mo et en_US.po dans le dossier thèmes/langues. Mes thèmes/fonctions.php sont
function custom_theme_setup() {
$lang_dir = get_template_directory() . '/languages';
$locale = "en_US"; // get_locale() is also returning same
if ( is_readable( "$lang_dir/$locale.mo"))
echo "Yes, its working";
echo load_theme_textdomain('tutsplus', $lang_dir);
_e("Hellon","tutsplus");
}
add_action('after_setup_theme', 'custom_theme_setup');
_e("Hellon","tutsplus");
J’ai le fichier en_US.po qui contient
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSIONn"
"Report-Msgid-Bugs-To: n"
"POT-Creation-Date: 2014-07-22 18:39+0530n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONEn"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>n"
"Language-Team: LANGUAGE <LL@li.org>n"
"Language: en_USn"
"MIME-Version: 1.0n"
"Content-Type: text/plain; charset=UTF-8n"
"Content-Transfer-Encoding: 8bitn"
#: getetxt.php:80
#, php-format
msgid "Hellon"
msgstr "bonjuren"
J’ai inclus un fichier à la fin, qui a également le même
_e("Hellon", 'tutsplus');
mais rien de tout cela ne semble fonctionner.
Solution n°1 trouvée
Les traducteurs natifs de WordPress ne reconnaissent pas "
, donc il saute cette traduction, c’est pourquoi vous ne voyez pas le texte traduit dans le front-end
Vous devriez, et c’est une règle d’or, TOUJOURS utiliser le single '
. Donc, votre chaîne doit être
_e( 'Hellon', 'tutsplus');
Un autre point à noter. Vous pouvez supprimer complètement le domaine de texte.
e( 'Hellon' );
Si vous utilisez le domaine de texte, il doit être identique au domaine de texte explicitement nommé dans l’en-tête de votre feuille de style principale.
Solution n°2 trouvée
Les traducteurs natifs de WordPress ne reconnaissent pas "
, donc il saute cette traduction, c’est pourquoi vous ne voyez pas le texte traduit dans le front-end
Vous devriez, et c’est une règle d’or, TOUJOURS utiliser le single '
. Donc, votre chaîne doit être
_e( 'Hellon', 'tutsplus');
Un autre point à noter. Vous pouvez supprimer complètement le domaine de texte.
e( 'Hellon' );
Si vous utilisez le domaine de texte, il doit être identique au domaine de texte explicitement nommé dans l’en-tête de votre feuille de style principale.
0 commentaire