J'ai créé mon propre thème et je dois prendre en charge 3 langues. J'ai commencé par ajouter les fonctions gettext à mon modèle _e ("chaîne", "espace de noms"), etc., généré le fichier po avec Poedit, puis créé le fichier .mo pour l'espagnol (es_ES).
Ma configuration actuelle qui ne fonctionne pas> Mise à jour
wp-config.php
define ('WPLANG', 'es_ES');
functions.php
define('TPL_LANGUAGES',TEMPLATEPATH.'/languages/');
function theme_init(){
load_theme_textdomain( 'protoman', TPL_LANGUAGES);
}
add_action('init', 'theme_init');
langues mo fichier
themes/protoman/languages/es_ES.mo
index.php
<ul>
<li><a href="#"><?php _e('Home', 'protoman'); ?> </a></li>
<li><a href="#"><?php _e('Account', 'protoman'); ?></a></li>
<li><a href="#"><?php _e('Shop', 'protoman'); ?> </a></li>
<li><a href="#"><?php _e('Corporate', 'protoman'); ?> </a></li>
Toujours pas de chance!
Vous devez load_theme_textdomain () dans votre thème.
Placez ceci dans le fichier de fonctions de thème:
function theme_init(){
load_theme_textdomain('theme_name', get_template_directory() . '/languages');
}
add_action ('init', 'theme_init');
Ensuite, vous mettez vos fichiers de langue dans votre dossier thème/langues
vos fichiers de langue doivent être es_ES.mo et es_ES.po sans le domaine texte à l’avant car le codex indique File names such as: my_theme-sv_SE.mo will NOT work.