Warum Ihre Übersetzungen in WordPress nicht angezeigt werden (Leitfaden zur Fehlerbehebung)
Es gibt nichts Frustrierenderes in der WordPress-Entwicklung als das "Stille Versagen".
Sie haben alles richtig gemacht. Sie haben die .po-Datei übersetzt. Sie haben sie in eine .mo-Datei kompiliert. Sie haben sie per FTP auf Ihren Server hochgeladen. Sie haben Ihren Cache geleert.
Sie aktualisieren die Seite und erwarten Spanisch, Französisch oder Deutsch. Stattdessen sehen Sie... Englisch.
Keine Fehlermeldung, kein weißer Bildschirm – nur hartnäckiger, unübersetzter Text. Bevor Sie sich die Haare ausreißen, lesen Sie diesen Leitfaden. Hier sind die 5 häufigsten Gründe, warum Übersetzungen in WordPress nicht geladen werden, und wie man sie behebt.
1. Sie benennen die Datei falsch
WordPress ist unglaublich streng bei der Dateibenennung. Wenn Sie ein Zeichen verpassen, wird die Datei nicht geladen.
Das Standardformat ist: {Text-Domain}-{Gebietsschema}.mo
- Die Text-Domain: Dies ist die eindeutige ID des Themes oder Plugins (z. B.
woocommerce,twentytwentyfour,my-custom-plugin). - Das Gebietsschema: Der WP-Gebietsschemacode (z. B.
es_ESfür Spanien-Spanisch,fr_FRfür Französisch).
Häufige Fehler:
- Die Datei nur
es_ES.monennen (Dies funktioniert nur für globale WordPress-Kerndateien, nicht für Plugins). - Den falschen Bindestrich verwenden:
my_plugin_es_ES.mo(Unterstrich) stattmy-plugin-es_ES.mo(Bindestrich). - Die Text-Domain raten. Sie müssen den Code des Plugins (
style.css-Header oderload_plugin_textdomain-Funktion) überprüfen, um den genauen Slug zu finden.
2. Sie haben die Datei in den falschen Ordner gelegt
Wo Sie die Datei hochladen, ist genauso wichtig wie der Name. WordPress sucht in bestimmten Verzeichnissen in einer bestimmten Reihenfolge.
- Der 'Sichere' Systemordner:
/wp-content/languages/plugins/oder/wp-content/languages/themes/.- Vorteile: Dies ist sicher vor Plugin-Updates.
- Nachteile: Sie müssen die Datei
textdomain-locale.monennen.
- Der Autorenordner:
/wp-content/plugins/plugin-name/languages/.- Vorteile: Leicht zu finden.
- Nachteile: GEFAHR. Wenn Sie das Plugin aktualisieren, wird dieser Ordner gelöscht. Ihre Übersetzungen verschwinden.
Best Practice: Legen Sie Ihre benutzerdefinierten .mo-Dateien immer im globalen Verzeichnis /wp-content/languages/ ab, um Datenverlust bei Updates zu vermeiden.
3. Der "Stille Killer": Beschädigte Syntax in der .po-Datei
Dies ist das am schwierigsten zu debuggende Problem, und es passiert häufig mit generischen KI-Übersetzungstools.
WordPress liest binäre .mo-Dateien, die aus .po-Textdateien kompiliert werden. Wenn Ihre .po-Datei Syntaxfehler enthält, wird die .mo-Datei möglicherweise generiert, ist aber intern "kaputt".
Wie passiert das? Wenn ein Übersetzer (Mensch oder KI) die Gettext-Formatierung durcheinander bringt, wird die Zeichenfolge ungültig.
- Beispiel: Ein schließendes Anführungszeichen
"fehlt. - Beispiel: Eine Variable kaputt machen (
%szu% sändern). - Beispiel: Die
msgid_plural-Anzahl durcheinander bringen.
Wenn WordPress auf einen kaputten Eintrag in der .mo-Datei stößt, überspringt es diesen oft oder hört ganz auf, die Datei zu lesen, und kehrt zum ursprünglichen Englisch zurück.
4. Sie haben vergessen zu kompilieren (.po vs .mo)
WordPress kann .po-Dateien nicht direkt lesen. Das ist ein häufiges Missverständnis.
.po= Von Menschen lesbar (Portable Object)..mo= Von Maschinen lesbar (Machine Object).
Wenn Sie eine my-theme-es_ES.po-Datei hochladen, aber vergessen, die passende .mo-Datei zu generieren, passiert nichts. Sie müssen sie kompilieren.
5. Caching (Der übliche Verdächtige)
Wenn Sie Caching-Plugins (WP Rocket, LiteSpeed) oder serverseitiges Caching (Varnish, Redis) verwenden, liefert Ihre Website möglicherweise eine zwischengespeicherte HTML-Version von vor dem Hochladen der Übersetzung.
Lösung: Leeren Sie alle Caches, einschließlich Ihres Browser-Caches und Objekt-Caches.
Die ultimative Lösung: Gültige Dateien von Anfang an
Die Fehlerbehebung bei Dateipfaden und -namen ist einfach. Die Fehlerbehebung bei beschädigter Syntax (Grund #3) ist ein Albtraum.
Wenn Sie ein Tool verwenden, das Ihre Codevariablen beschädigt oder die Gettext-Struktur korrumpiert, werden Sie Stunden damit verbringen, sich zu fragen, warum die Datei nicht funktioniert, ohne zu bemerken, dass die Datei selbst "vergiftet" ist.
Deshalb haben wir SimplePoTranslate entwickelt.
- Syntax-Sperre: Wir stellen sicher, dass jede einzelne Zeichenfolge syntaktisch gültig ist, bevor Sie sie herunterladen. Wir sperren Variablen wie
%s, damit sie nicht kaputt gehen können. - Perfekte Formatierung: Wir generieren saubere, standardmäßige
.po-Dateien, die zu 100% in funktionierende.mo-Dateien kompiliert werden. - Keine Plugins erforderlich: Sie laden die Datei herunter und wissen, dass sie funktioniert. Sie müssen sie nur in den richtigen Ordner hochladen.
Hören Sie auf zu raten, warum Ihre Übersetzungen unsichtbar sind. Beginnen Sie mit einer Datei, der Sie vertrauen können.
Bereit, ohne Kopfschmerzen zu übersetzen? Starten Sie kostenlos auf SimplePoTranslate.com