J'ai créé mon propre thème, maintenant je souhaite le rendre traduisible.
J'ai fait deux fichiers:
theme.pot
msgid "know_more"
msgstr "Vuoi saperne di più?"
it_IT.po
msgid "know_more"
msgstr "Vuoi saperne di più?"
Ensuite, dans le fichier de thème d'index, j'ai écrit:
<h2><?php _e('know_more',''); ?></h2>
Mais lorsque je lance le site, il apparaît simplement:know_more
Pour le faire correctement, vous devez générer un fichier .mo valide et charger le domaine de texte dans votre thème functions.php:
function wpse222346_localize_theme() {
load_theme_textdomain( 'your_theme_domain', get_template_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'wpse222346_localize_theme' );
Vous pouvez consulter le codex WordPress pour plus d’informations sur la fonction load_theme_textdomain: https://codex.wordpress.org/Function_Reference/load_theme_textdomain
Ensuite, vous appelez les chaînes à traduire en utilisant le domaine de texte de votre thème:
<h2><?php _e( 'know_more', 'your_theme_domain' ); ?></h2>
De plus, il est fortement conseillé d'utiliser un outil pour automatiser la création des fichiers POT. Cela rend la maintenabilité beaucoup plus facile. Il existe de nombreuses options, telles que Poedit , plusieurs générateurs en ligne, makepot.php et même un très joli plugin pour le faire depuis le tableau de bord WordPress appelé LocoTranslate . La plupart d'entre eux vous aideront également à créer les fichiers .PO et .MO.