Wie Sie ein WordPress-Theme übersetzen, hängt davon ab, was Sie benötigen. Wenn Ihre gesamte Website in einer anderen Sprache als Englisch ausgeführt wird, wechseln Sie die Website-Sprache unter Einstellungen → Allgemein und lassen Sie WordPress das Sprachpaket des Themes herunterladen oder das des Themes bearbeiten .po/.mo Übersetzungsdateien mit einem Tool wie Loco Translate oder Poedit. Wenn Besucher zwischen mehreren Sprachen wählen sollen, benötigen Sie ein mehrsprachiges Plugin, das den Text des Themes und Ihren Inhalt für jede Sprache übersetzt, da allein Theme-Übersetzungsdateien die gesamte Website auf eine Sprache umstellen.
Wichtige Erkenntnisse
- Theme-Strings (Schaltflächen, Beschriftungen, “Weiterlesen”, “Suchergebnisse für…”) befinden sich im Code des Themes und werden über eine Textdomäne übersetzt und
.po/.moDateien. - Themes aus dem WordPress.org-Verzeichnis erhalten automatisch Sprachpakete von translate.wordpress.org, wenn Sie die Site-Sprache ändern.
- Speichern Sie benutzerdefinierte Übersetzungen, bei denen Theme-Updates sie nicht überschreiben können:
wp-content/languages/themes/oder der geschützte Ordner von Loco Translate. - Text, der nicht in Übersetzungsfunktionen verpackt ist, kann nicht übersetzt werden von
.poDateien. Korrigieren Sie es in einem untergeordneten Design oder verwenden Sie ein Tool, das die gerenderte Seite übersetzt. - Für eine mehrsprachige Site benötigt jede Sprache ihre eigene URL und ihren eigenen hreflang. A
.moDatei bietet das nicht.
Erstens, welche Art von “übersetzen” benötigen Sie?
| Ihr Ziel | Was zu verwenden ist |
|---|---|
| Die gesamte Site in einer Sprache (z. B. eine ausschließlich auf Deutsch verfügbare Site mit englischem Thema) | Site Language-Einstellung plus die Übersetzungsdateien des Themes |
| Beheben Sie einige Themenphrasen, die in Ihrer Sprache fehlen oder falsch sind | Loco Translate oder Poedit zum Bearbeiten der Übersetzungen des Themas |
| Besucher haben die Wahl zwischen Englisch, Deutsch, Französisch … | Ein mehrsprachiges Plugin, das Themenzeichenfolgen und Inhalte pro Sprache übersetzt |
Die meisten “wie übersetze ich mein Thema” Fragen sind eigentlich der dritte Fall, daher behandelt die zweite Hälfte dieses Leitfadens ihn. Erstens, wie die Themenübersetzung funktioniert.
So funktioniert die Übersetzung von WordPress-Themes
Ein übersetzungsfähiges Theme umschließt jede sichtbare Zeichenfolge in einer Übersetzungsfunktion mit dem Theme Textdomäne, eine eindeutige ID, die zum Slug des Themes passt. Das Beispiel des WordPress Theme Handbook: Ein Theme namens Fabled Sunset verwendet die Textdomäne fabled-sunset, deklariert in style.css als Text Domain: fabled-sunset (WordPress-Entwicklerressourcen).
In den Vorlagen des Themes sehen Strings so aus:
<?php esc_html_e( 'Read more', 'fabled-sunset' ); ?>
<?php echo esc_html( sprintf( __( 'Search results for: %s', 'fabled-sunset' ), get_search_query() ) ); ?>Übersetzungen werden gespeichert in .po Dateien (menschenlesbar) und kompiliert in .mo Dateien, die WordPress tatsächlich verwendet. Das Handbuch listet zwei Orte auf, an denen WordPress nach der Übersetzung eines Themes sucht, basierend auf dem Gebietsschema der Website:
wp-content/themes/your-theme/{domain-path}/{locale}.mowp-content/languages/themes/{textdomain}-{locale}.mo
Seit WordPress 6.5 können Übersetzungen auch geladen werden von .l10n.php Dateien, ein schnelleres PHP-Format, das jetzt in den Sprachpaketen von WordPress.org enthalten ist. Wenn nur ein .mo Datei existiert, sie wird immer noch wie zuvor geladen (Erstellen Sie WordPress Core).
Schritt 1: Überprüfen Sie, ob Ihr Theme übersetzungsreif ist
- Öffnen Sie das Theme
style.cssund suchen Sie nach einemText Domain:Linie. - Suchen Sie nach einem
languagesOrdner (oder ähnliches), der einen.potvorlagendatei. - Überprüfen Sie eine Vorlagendatei stichprobenartig: Zeichenfolgen sollten in Funktionen wie diese eingeschlossen sein
__(),_e(),esc_html__()oderesc_html_e(), jeweils mit der Textdomäne.
Wenn das Theme keines davon hat, sind seine Strings fest codiert und können nicht mit Übersetzungsdateien übersetzt werden. Springen Sie unten zu “Fest codierte Zeichenfolgen reparieren” oder zum mehrsprachigen Abschnitt.
Schritt 2: Probieren Sie zuerst das Sprachpaket aus
Für Themes, die im WordPress Theme Directory gehostet werden, werden Sie im Handbuch “übersetzungen müssen nicht geladen werden” darauf hingewiesen: WordPress prüft wp-content/languages und lädt Übersetzungen aus dem Projekt „Übersetzen von WordPress“ herunter.
- Gehen zu Einstellungen → Allgemein und wählen Sie Ihre Site-Sprache.
- Gehen zu Dashboard → Updates und klicken Übersetzungen aktualisieren wenn Sie dazu aufgefordert werden.
- Besuchen Sie die Site. Wenn die Freiwilligen des Themas es in Ihre Sprache übersetzt haben, sind die meisten Zeichenfolgen bereits übersetzt.
Premium-Themen, die anderswo gekauft wurden, versenden normalerweise ihre eigenen languages Ordner stattdessen; Überprüfen Sie die Dokumentation des Themas auf enthaltene Sprachen.
Schritt 3: Bearbeiten oder vervollständigen Sie die Übersetzung
Wenn Zeichenfolgen fehlen oder Ihnen der Wortlaut nicht gefällt, bearbeiten Sie die Übersetzungsdateien.
Option A: Loco Translate (in WordPress)
Loco Translate “bietet die Bearbeitung von WordPress-Übersetzungsdateien im Browser” und kann benutzerdefinierte Übersetzungen in einem geschützten Sprachverzeichnis speichern wp-content/languages/loco/themes, damit Theme-Updates sie nicht überschreiben (WordPress.org Plugin-Verzeichnis).
- Loco Translate installieren und aktivieren.
- Gehen zu Loco Übersetzen → Themen und wählen Sie Ihr Thema.
- Klicken Neue Sprache, wählen Sie die Sprache und wählen Sie die Benutzerdefiniert (geschützter) Standort.
- Suchen Sie nach der Zeichenfolge, geben Sie die Übersetzung ein und klicken Sie Speichern. Loco stellt die zusammen
.moDatei für Sie.
Option B: Poedit (auf Ihrem Computer)
- Laden Sie das Theme herunter
.potDatei (oder die vorhandene.pofür Ihre Sprache). - Öffnen Sie es in Poedit, erstellen Sie eine neue Übersetzung für Ihr Gebietsschema und übersetzen Sie die Zeichenfolgen.
- Speichern. Poedit schreibt sowohl die
.pound die zusammengestellte.mo. - Benennen Sie die Dateien um in
{textdomain}-{locale}, zum Beispielfabled-sunset-de_DE.po„.mo, und laden Sie sie hoch aufwp-content/languages/themes/.
Legen Sie keine benutzerdefinierten Dateien in den Theme-Ordner: Ein Theme-Update ersetzt diesen Ordner und Ihre Übersetzungen damit.
Fixieren fest codierter Zeichenfolgen
Wenn ein Theme Text direkt druckt (<a>Read more</a>), keine Übersetzungsdatei kann es erreichen. Ihre Optionen, von der saubersten bis zur schnellsten:
- Fragen Sie den Titelautor um die Saiten übersetzbar zu machen. Es hilft jedem Benutzer des Themas.
- Überschreiben Sie die Vorlage in einem untergeordneten Design. Kopieren Sie die Vorlagendatei in Ihr untergeordnetes Design und wickeln Sie die Zeichenfolge ein:
esc_html_e( 'Read more', 'my-child-theme' );. Laden Sie die Übersetzungen Ihres Kinderthemas mitload_child_theme_textdomain()auf derafter_setup_themeHaken, wie das Handbuch zeigt. - Verwenden Sie ein Tool, das die gerenderte Seite übersetzt und nicht der Code, der neben allem anderen auch fest codierten Text aufnimmt.
Ein Hinweis für Entwickler: Seit WordPress 6.7 warnt WordPress, wenn ein Theme oder Plugin Übersetzungen zu früh lädt, bevor after_setup_theme oder init (Erstellen Sie WordPress Core). Wenn Sie eine sehen _load_textdomain_just_in_time Hinweis: Nach einem Update gehört der Fix in den Code, der die Textdomäne lädt.
Denken Sie auch daran, was nicht Teil des Designs ist: Seiten- und Beitragsinhalte, von Ihnen erstellte Menüs, Widget-Text, von Ihnen bearbeitete Blockmuster, Customizer-Text und Seitenersteller-Layouts werden alle in der Datenbank gespeichert. Themenübersetzungsdateien berühren sie nicht.
Übersetzen eines Themas für eine mehrsprachige Website
A .mo Datei wechselt die Sprache der Zeichenfolgen des Designs für die gesamte Site. Es kann einem Besucher nicht Deutsch und einem anderen Französisch anzeigen und Ihre Inhalte werden nicht übersetzt. Für eine Site in mehreren Sprachen benötigen Sie drei weitere Dinge:
- Jedes übersetzte Textstück, einschließlich Themenzeichenfolgen, Menüs, Widgets, Inhalten und Plugin-Ausgaben wie WooCommerce-Schaltflächen und Checkout.
- Eine separate URL für jede Sprache, wie zum Beispiel
/de/„/fr/. Google empfiehlt für jede Sprachversion unterschiedliche URLs anstelle von Cookies oder Browsereinstellungen (Google Search Central). - Hreflang-Anmerkungen Verknüpfen der Versionen, damit Suchmaschinen die richtige anzeigen. Sehen So fügen Sie hreflang-Tags hinzu.
Wie ConveyThis damit umgeht
Das ConveyThis-Plugin für WordPress (1.000+ aktive Installationen auf WordPress.org, bewertet mit 4,4/5 von 145 Bewertungen) übersetzt die Seite, die WordPress rendert, sodass die Zeichenfolgen, der fest codierte Text, die Menüs, Widgets, der Inhalt und die Plugin-Ausgabe des Designs alle zusammen übersetzt werden, ohne .po zu verwaltende Dateien. Dies ist nützlich, wenn ein Theme nicht übersetzungsbereit ist oder wenn Sie Übersetzungsdateien lieber nicht pro Sprache verwalten möchten.
In der Praxis:
- Automatischer erster Entwurf, dann Änderungen. Seiten werden maschinell übersetzt und Sie verfeinern jede Zeichenfolge im visuellen Editor, der sie an Ort und Stelle auf der Seite anzeigt, sodass Sie sehen können, ob eine übersetzte Schaltflächenbeschriftung noch passt.
- Konsistente Begriffe. A Glossar hält Marken- und Produktnamen unübersetzt oder überall auf die gleiche Weise übersetzt.
- SEO-fähige URLs. Jede Sprache wird aus einem eigenen Unterordner oder einer eigenen Subdomain mit übersetzten Metatiteln und -beschreibungen und automatischem hreflang bereitgestellt. Sie können auch Übersetzte URLs anpassen.
- Ausschlüsse. Behalten Sie bestimmte Seiten oder Elemente in der Originalsprache bei Ausschlussregeln.
- 210 Sprachen, einschließlich rechts-links-Sprachen wie Arabisch und Hebräisch.
Die WordPress-Integrationsseite deckt die Installation ab, und die Schritt-für-Schritt-Hilfeanleitung geht durch das Setup. Wenn die Leistung auf einer größeren Website ein Problem darstellt, lesen Sie unseren Leitfaden dazu Mehrsprachige WordPress-Leistung.
Fehlerbehebung: Warum eine Theme-Zeichenfolge nicht übersetzt wird
- Falsche Textdomäne. Die Domäne im Funktionsaufruf muss mit der in übereinstimmen
style.cssund im Dateinamen. - Falscher Dateiname oder falsches Gebietsschema.
de_DEist nichtde; Die Datei muss genau mit der Site Language übereinstimmen. - Datei im falschen Ordner, oder durch ein Theme-Update überschrieben.
- Zeichenfolge nicht umwickelt in einer Übersetzungsfunktion (fest codiert).
- String stammt von einem Plugin oder der Datenbank, nicht das Thema. Durchsuchen Sie die Übersetzungen des Plugins oder bearbeiten Sie den Inhalt selbst.
- Zwischenspeicherung. Löschen Sie Seiten- und Objekt-Caches, nachdem Sie Übersetzungsdateien geändert haben.
Häufig gestellte Fragen
Wie übersetze ich mein WordPress-Theme in eine andere Sprache?
Legen Sie die Site-Sprache unter „Einstellungen“ und „Allgemein“ fest und aktualisieren Sie dann die Übersetzungen. Wenn das Design kein Sprachpaket hat oder Sie andere Formulierungen wünschen, erstellen oder bearbeiten Sie seine Übersetzung mit Loco Translate oder Poedit und speichern Sie sie in wp-content/languages/themes oder im geschützten Ordner von Loco.
Wo werden WordPress-Theme-Übersetzungsdateien gespeichert?
WordPress sucht im eigenen Sprachordner des Themes und in wp-content/languages/themes und verwendet Dateien, die mit der Textdomäne und dem Gebietsschema benannt sind, wie z. B. fabled-sunset-de_DE.mo. Benutzerdefinierte Übersetzungen sind außerhalb des Theme-Ordners am sichersten.
Werden meine Übersetzungen durch ein Theme-Update gelöscht?
Ja, wenn Sie sie im Ordner des Designs gespeichert haben. Speichern Sie sie stattdessen in wp-content/languages/themes oder im geschützten Verzeichnis von Loco Translate.
Kann ich ein Thema übersetzen, das nicht übersetzungsreif ist?
Nicht mit Übersetzungsdateien. Verpacken Sie die Zeichenfolgen entweder in Übersetzungsfunktionen in einem untergeordneten Design oder verwenden Sie ein Tool, das die gerenderte Seite übersetzt, z. B. ConveyThis.
Machen .po- und .mo-Dateien meine Site mehrsprachig?
Nein. Sie ändern die Sprache der Zeichenfolgen des Themas für die gesamte Website. Eine mehrsprachige Site benötigt eine Inhaltsübersetzung, eine URL pro Sprache und hreflang, was ein mehrsprachiges Plugin bietet.
Übersetzen Sie die gesamte Website, nicht nur das Thema
Wenn Ihr Ziel eine Website ist, die Besucher in mehreren Sprachen lesen können, können Sie Erstellen Sie ein ConveyThis-Konto, installieren Sie das WordPress-Plugin und übersetzen Sie Ihr Theme und Ihre Inhalte gemeinsam.