web-dev-qa-db-fra.com

Comment changer la langue pour le front-end seulement?

J'ai installé un thème wordpress, je peux voir les fichiers .mo et .po /public_html/wp-content/themes/themename/lang, la langue que je veux utiliser est disponible.

Pourriez-vous s'il vous plaît indiquer comment utiliser une langue spécifique? Je ne veux pas changer la langue d'admin seulement la langue de thème.

5
Hicham

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.

3

Je pense que votre option la plus simple serait de mettre à jour votre installation en utilisant la version localisée de WordPress pour votre langue maternelle (et en vous assurant que WPLANG reste définie en conséquence), puis d’utiliser un plugin tel que:

... afin de basculer uniquement l'interface d'administration en anglais.

3
Yosi Mor

Vous pouvez filtrer la chaîne pour locale, elle contient la langue actuelle. Et vous pouvez exclure l'administrateur de ce filtre:

is_admin() or add_filter( 'locale', function() {
    return 'ar';
});
3
fuxia

Eh bien, vous n’avez réellement besoin de rien de spécial pour avoir deux langues différentes à l’arrière et au début. Je viens juste de le tester à nouveau sur WP 5.1

  1. accédez à la settings et définissez le Site Language sur la langue principale, par exemple - allemand, puis enregistrez.

  2. accédez à Users, puis cliquez sur Modifier dans votre compte d'administrateur. Là, vous pouvez définir Language en anglais et enregistrer. C'est tout. Votre front-end utilisera l'allemand comme base et le back-end sera en anglais.

0
Simeon

Vous pouvez aussi essayer ceci:

1.Téléchargez le script de traduction jquery à partir de ce link

2.Comment ça marche ( doc , test en direct )

<?php
function ravs_frontend_translate_script() {
    wp_enqueue_script( 'translate', get_template_directory_uri() . '/js/jquery.translate.js', array( 'jquery' ), '0.0.1', true );
}
add_action( 'wp_enqueue_scripts', 'ravs_frontend_translate_script' );


function ravs_translate_webpage_fx(){
?>
<script>
    // run script after both script load for translate webpage
        jQuery(document).ready(function(){
          //from english to german:
          jQuery('body').translate( 'ar' );
        });
</script>
<?php
add_action('wp_footer','ravs_translate_webpage_fx', 999 ); // make sure this hook run after jquery-translate include in webpage
0
Ravinder Kumar