it-swarm.com.de

Lokalisierung: Ich möchte das Backend: Englisch und Frontend in definierter Sprache

Ich möchte das Backend von Wordpress auf Englisch haben und ein anderes Gebietsschema für das Frontend verwenden

bisher habe ich herausgefunden, ob ich es vielleicht tun könnte, indem ich in der wpconfig das Gebietsschema einstelle, das ich im Frontend verwenden möchte, und dann in functions.php so etwas hinzufüge:

add_filter('locale', 'mytheme_backendlocale');
function mytheme_backendlocale($locale) {
    if ( is_admin() ) {
        return 'en_US';
    }
    return $locale;
}

ist dies die beste Vorgehensweise, um das zu erreichen, was ich will, oder sollte ich es anders machen?

9
unfulvio

Installieren Sie das Plugin WP Native Dashboard . Anschließend können Sie in Ihrem wp-config.php eine Sprache für das Front-End festlegen und jeder Benutzer kann eine andere Sprache für das Back-End auswählen.
Siehe Sprache der Kommentarvorlage ändern für Details und einen Screenshot.

2
fuxia

Es gibt ein Plugin, das genau das ist, was Sie brauchen.

http://wordpress.org/extend/plugins/fe-be-localization/

1
Andy James

Bis jetzt denke ich, dass Fulvios Antwort die beste ist. Ich verwende diesen Filter sogar in einem Multisite-Setup mit nur einer Zeile:

add_filter('locale', 'set_admin_locale');
function set_admin_locale($locale) {
  return 'en_US';
}

Grundsätzlich verwende ich manchmal und in diesem Fall Multisite für mehrsprachige Sites anstelle von Plugins. Außerdem habe ich für jede Sprache ein einziges Thema (normalerweise untergeordnete Themen der Hauptsprache). Also hat jede Seite des Netzwerks ihre eigene Sprache, aber auf der Administratorseite brauche ich alle Oberflächen auf Italienisch.

Ich mache also:

  1. Ich verwende nicht die allgemeine WPLANG-Konstante in wp-config.php
  2. Ich setze Italienisch auf jeder Seite des Netzwerks
  3. In der Datei functions.php des jeweiligen Themas verwende ich den obigen Filter, um die Sprache/das Gebietsschema des Frontends zu steuern.

HINWEIS: Dieser Filter ändert nicht die Admin-Sprache, sodass nicht geprüft werden muss, ob is_admin ()

1
Luca Reghellin

Wenn noch jemand danach sucht, sollten Sie dies seit Version 4.7 tun

function wp_noshor_redefine_locale($locale) {
    if( is_admin() ):
        switch_to_locale('en_US');
    endif;
}
add_filter('init','wp_noshor_redefine_locale');

Dadurch wird das Dashboard gezwungen, auf Englisch zu laden. Anschließend können Sie zu den Einstellungen wechseln und die gewünschte Sprache einstellen.

0