web-dev-qa-db-fra.com

Comment déboguer échoué load_theme_textdomain ()?

J'ai préparé mon thème pour la traduction. Mon text domain est my_theme et mes fichiers .po et .mo (de_DE.po et de_DE.mo) sont situés dans un sous-dossier languages dans mon dossier de thèmes.

Dans mon functions.php j'ai ajouté le code suivant:

add_action('after_setup_theme', 'my_theme_setup');
function my_theme_setup(){
    load_theme_textdomain('my_theme', get_template_directory() . '/languages');
}

La langue de travail est "allemand" mais la traduction n’est pas chargée. Des idées?

4
user1706680

load_theme_textdomain() renvoie TRUE en cas de succès et FALSE si aucun fichier n'a été trouvé. Pour le débogage, essayez la modification suivante:

function my_theme_setup(){
    $path = get_template_directory() . '/languages';
    $result = load_theme_textdomain('my_theme', $path );

    if ( $result )
        return;

   $locale = apply_filters( 'theme_locale', get_locale(), 'my_theme' );
   die( "Could not find $path/$locale.mo." );
}
10
fuxia