la localisation wordpress ne fonctionne pas

Publié par Jean-Michel le

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.

Lire également:  Wordpress : Réécrire une fonction du thème parent sur le thème enfant

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.

Lire également:  Comment puis-je savoir quel modèle une URL wordpress utilise

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.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *