J'utilise un package WordPress en anglais et c'est très bien.
Maintenant, j'aimerais traduire certains éléments du blog (comme "posté sur", "commentaires"), etc., mais laissez l'interface de tableau de bord intacte en anglais.
Existe-t-il un mécanisme permettant de traduire uniquement les éléments du site?
Vous pouvez faire ce qui suit:
de_DE.mo
) auprès de wordpress.org . Si le module linguistique n'est pas disponible en téléchargement autonome, vous pouvez également utiliser le fichier .mo
fourni avec le fichier ZIP WordPress correspondant à votre langue. Situé sous wp-content/languages
..mo
vers wp-content/languages/
de votre installation WordPress par défaut (anglais).WPLANG
dans wp-config.php
par la nouvelle localisation (par exemple, de_DE
).functions.php
, ajoutez le filtre suivant:functions.php
add_filter('locale', 'wpse27056_setLocale');
function wpse27056_setLocale($locale) {
if ( is_admin() ) {
return 'en_US';
}
return $locale;
}
Vous pouvez utiliser des plugins pour cela: http://wordpress.org/extend/plugins/kau-boys-backend-localization/ ou http://wordpress.org/extend/plugins/wp-native- tableau de bord/
Une réponse mise à jour pour Wordpress 4+
La réponse de @ rofflox est toujours correcte, mais quelques modifications dans Wordpress peuvent avoir un effet lors de l'utilisation de sa fonction 'en l'état' depuis WP 4.0.
La constante wp-config WPLANG
est déconseillée en faveur de la définition de la langue du site via une liste déroulante dans Settings->General
. Cela signifie que, après avoir changé la langue de votre site en Svenka (par exemple), l'administrateur de votre site will apparaît en anglais ... mais cette liste déroulante Langue du site dans Settings->General
sera présélectionnée. as Anglais (États-Unis) . Cela signifie que si vous modifiez ultérieurement vos paramètres généraux en oubliant de choisir Svenka comme langue de votre site, le site entier redeviendra en anglais.
Je recommanderais de créer des fonctions dans votre fichier functions.php
comme ceci:
// Set the locale; original function from @rofflox
function vnmFunctionality_setLocale($locale) {
if (is_admin()) {
return 'en_US';
}
return $locale;
}
add_filter('locale', 'vnmFunctionality_setLocale');
// Enqueue a script to force-set the Language dropdown on the General Options page, just in case we forget about it later.
function vnmFunctionality_countryReminderScript($hook) {
if ($hook != 'options-general.php') {
return;
}
wp_enqueue_script('lang-reminder-script', get_template_directory() . '/js/site-language.js', array('jquery'), '1.0.0', true);
wp_localize_script('lang-reminder-script', 'langObject', array(
'lang' => get_option('WPLANG'),
));
}
add_action('admin_enqueue_scripts', 'vnmFunctionality_countryReminderScript');
Et puis un fichier Javascript appelé site-language.js
(enregistré dans un dossier /js/
de votre thème) comme ceci:
jQuery(document).ready(function($) {
$('select#WPLANG').val(langObject.lang).change();
});
Cela devrait présélectionner automatiquement la langue d'affichage actuelle du site dans le menu déroulant de la page Options, afin que vous n'ayez pas à vous rappeler de le faire manuellement à chaque fois.
Si quelqu'un cherche toujours cela, voici ce que vous devriez faire depuis la version 4.7
function wp_noshor_redefine_locale($locale) {
if( is_admin() ):
switch_to_locale('en_US');
endif;
}
add_filter('init','wp_noshor_redefine_locale');
Cela force le tableau de bord à se charger en anglais. Vous pouvez ensuite accéder aux paramètres, définir la langue souhaitée.