WordPress : Comment créer une traduction spécifique à un thème de buddypress ?
Initialement demandé sur les forums BuddyPress :
À des fins de distribution, j’aimerais inclure mes fichiers de langue buddypress personnalisés dans mon thème aux côtés de mes autres fichiers de langue. Peu importe ce que j’essaie, je ne peux afficher les fichiers de langue que si je les copie wp-content/languagescomme décrit dans le codex buddypress. Je pensais que ce qui suit fonctionnerait, mais ce n’est pas le cas:
function load_buddypress_language_files() {
load_theme_textdomain('buddypress', get_template_directory() . '/lang');
}
add_action('plugins_loaded', 'load_buddypress_language_files');
C’est possible non ?
WP : 3.5.1 BP : 1.7.2
Solution n°1 trouvée
Tout d’abord, les actions ajoutées au plugins_loadedcrochet ne fonctionneront pas à partir du thème functions.phpou de tout fichier de thème car à ce stade, elles seront déjà déclenchées (trop tard à partir des fichiers de thème).
Ce que vous pouvez faire, c’est d’accrocher votre action after_setup_themeet de décharger d’ buddypressabord le domaine de texte, puis d’ajouter votre buddypressfichier de domaine de texte personnalisé. La raison en est que WordPress ne chargera aucun fichier de traduction pour les domaines de texte déjà ajoutés :
add_action('after_setup_theme', 'replace_bp_mofile');
function replace_bp_mofile() {
$mo_file = get_stylesheet_directory() . '/languages/' . sprintf( 'buddypress-%s.mo', get_locale() );
if (file_exists( $mo_file )) {
unload_textdomain('buddypress');
load_textdomain('buddypress', $mo_file);
}
}
0 commentaire