Unterschiedliche Sprache für Frontend und Backend

9

Ich benutze ein englisches WordPress-Paket und das ist sehr gut.

Jetzt möchte ich einige Elemente des Blogs (wie "Gepostet am", "Kommentare") usw. übersetzen, aber die Dashboard-Oberfläche auf Englisch intakt lassen.

Gibt es einen Mechanismus, um nur die Site-Elemente zu übersetzen?

Serhio
quelle

Antworten:

19

Sie können Folgendes tun:

  1. Holen Sie sich das Sprachpaket (zB de_DE.mo) von wordpress.org . Wenn das Sprachpaket nicht als eigenständiger Download verfügbar ist, können Sie auch die .moDatei verwenden, die in der WordPress-ZIP-Datei für Ihre Sprache enthalten ist. Befindet sich unter wp-content/languages.
  2. Verschieben Sie die .moDatei in wp-content/languages/Ihre Standard-WordPress-Installation (Englisch).
  3. Ändern Sie die WPLANGKonstante in wp-config.phpauf das neue Gebietsschema (z de_DE)
  4. Fügen functions.phpSie in Ihrem folgenden Filter hinzu:

functions.php

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

    return $locale;
}
Rofflox
quelle
Was meinst du nun mit "dein Sprachpaket installieren"? sollte ich das WordPress deinstallieren und das neue WordPress installieren, aber Französisch sagen? Ich möchte mein englisches WordPress nicht deinstallieren.
Serhio
1
Nein, Sie müssen nichts neu installieren. Laden Sie einfach WP in Ihrer gewünschten Sprache herunter und kopieren Sie die Sprachdatei wp-content/languages/in Ihre ursprüngliche englische WP-Installation und ändern Sie sie wp-config.phpwie oben beschrieben. Oder laden Sie einfach die fr_FR.moDatei von dieser Site herunter .
Rofflox
Ich hatte den wp-content/languages/Ordner nicht, also sollte ich ihn erstellen. Nachdem ich diese Manipulation durchgeführt habe, habe ich das Gegenteil von dem, was ich tun würde. Ich habe jetzt das Admin-Panel auf Rumänisch, aber die Seite (sogar protokolliert oder nicht) - auf Englisch. Vielleicht sollte ich das Thema übersetzen ...
Serhio
Natürlich muss das Thema übersetzt werden. Das Backend sollte jedoch auf Englisch und nicht auf Rumänisch sein, wenn Sie is_admin()den obigen Filter verwenden.
Rofflox
1
Siehe auch meine Antwort unten für WordPress v> = 4.7, mit der Benutzer das Backend in ihrer eigenen Sprache sehen können
Serge
6

Sie können dafür Plugins verwenden: http://wordpress.org/extend/plugins/kau-boys-backend-localization/ oder http://wordpress.org/extend/plugins/wp-native-dashboard/

Tierkreis 1978
quelle
1
Willkommen auf unserer Webseite. Bitte fügen Sie eine Erklärung hinzu: Was machen diese Plugins, was sind die Unterschiede?
Fuxia
1
Ich denke, es gibt genau das Gleiche. (Ich benutze nur die erste ...) Sie können verschiedene Sprachdateien installieren und mit den Plugins die Sprache für das Backend unabhängig ändern. Beide Plugins bieten Dashboard-Schalter für die Sprache, ein Auswahlfeld für die Anmeldesprache und ein Add-On zur Profilseite für die benutzerspezifische Sprache.
Tierkreis 1978
6

Seit WordPress Version 4.7 können verschiedene Backend-Benutzer ihre bevorzugte Admin-Sprache mithilfe der nativen WordPress-Sprachauswahl festlegen. Auf diese Weise sehen sie die WordPress-Oberfläche in ihrer Sprache und können Inhalte einfacher verwalten. Unterschiedliche Sprache für Backend-Benutzer in Wordpress, unabhängig von der Frontend-Sprache

Serge
quelle
Der Code legt fest, dass dies für alle Benutzer weltweit nur für ein einzelnes Konto funktioniert.
Motaz M. El Shazly
4

Wenn jemand noch danach sucht, sollten Sie Folgendes 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 geladen zu werden. Anschließend können Sie zu den Einstellungen gehen und die gewünschte Sprache festlegen.

Motaz M. El Shazly
quelle
4

In WordPress 5.x ist es ganz einfach, eine andere Wedel- und Backend-Sprache zu erhalten

Um die Site-Sprache zu ändern, gehen Sie zu Einstellung -> Allgemein -> Site-Sprache und wählen Sie die Site-Sprache aus.

Geben Sie hier die Bildbeschreibung ein

Gehen Sie für das Admin-Panel zu Benutzer -> Ihr Profil und wählen Sie die Sprache aus, die Sie im Admin-Panel haben möchten

Geben Sie hier die Bildbeschreibung ein

Damit alle oben genannten Lösungen absolut sind, kann jeder Benutzer seine eigene Sprache für die WordPress-Oberfläche festlegen

EckyBrazzz
quelle
Dies sollte die ausgewählte Antwort für 2019+ sein. Keine Plugins erforderlich und die Lösung ist so einfach. Vielen Dank!
Stason
Dadurch wird es für jeden Benutzer einzeln geändert. Der Code ändert es automatisch für alle Benutzer.
Motaz M. El Shazly
2

Eine aktualisierte Antwort für Wordpress 4+

Die Antwort von @ rofflox ist immer noch korrekt, aber es wurden einige Änderungen an Wordpress vorgenommen, die sich auf die Verwendung seiner Funktion "wie besehen " seit WP 4.0 auswirken können.

Die Konstante wp-config WPLANGwurde zugunsten der Einstellung der Site-Sprache über ein Dropdown-Menü verworfen Settings->General. Dies bedeutet , dass nach der Sprache Ihrer Website an sich ändernde Svenka (zum Beispiel), admin Ihrer Website wird in englischer Sprache erscheinen ... aber das Website - Sprache Drop - Down - in Settings->Generalwird als vorselektiert werden Englisch (USA) . Das heißt, wenn Sie später Änderungen an Ihren allgemeinen Einstellungen vornehmen und vergessen, Svenka erneut als Sprache für Ihre Site auszuwählen , wird die gesamte Site wieder auf Englisch zurückgesetzt.

Ich würde empfehlen, Funktionen in Ihrer functions.phpDatei wie folgt zu erstellen:

//    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');

Und dann eine Javascript-Datei namens site-language.js(gespeichert in einem /js/Ordner in Ihrem Thema) wie folgt:

jQuery(document).ready(function($) {
    $('select#WPLANG').val(langObject.lang).change();
});

Dadurch sollte die aktuelle Anzeigesprache der Site automatisch in der Dropdown-Liste auf der Seite "Optionen" vorgewählt werden, damit Sie nicht jedes Mal daran denken müssen, dies manuell zu tun.

indextwo
quelle
-1

Was Sie brauchen, ist Ihr Thema zu übersetzen. Wenn Ihr Thema eine .pot-Datei enthält, ist die Übersetzung einfach. Folgen Sie einfach den Schritten unter

http://www.appthemes.com/blog/how-to-translate-a-wordpress-theme/

Andernfalls müssen Sie die Themendateien bearbeiten und die Wörter in jeder Instanz ändern.

user8388
quelle
mein thema (zehnundzwanzig) hat den ordner "wp-content / themen / zwanzig / sprachen" und es gibt nur eine .pot-datei darin ...
serhio