Warum Ihre Übersetzungen in WordPress nicht angezeigt werden (Fehlerbehebung)

Es gibt kaum etwas Frustrierenderes in der WordPress-Entwicklung als den "Stillen Fehler".
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 zu sehen. Stattdessen sehen Sie... Englisch.
Keine Fehlermeldung, kein weißer Bildschirm – nur hartnäckiger, nicht übersetzter Text. Bevor Sie sich die Haare raufen, lesen Sie diese Anleitung. Hier sind die 5 häufigsten Gründe, warum Übersetzungen in WordPress nicht geladen werden, und wie Sie diese beheben können.
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}-{locale}.mo
- Die Textdomäne: Dies ist die eindeutige ID des Themes oder Plugins (z. B.
woocommerce,twentytwentyfour,my-custom-plugin). - Das Gebietsschema: Der WP-Ländercode (z. B.
es_ESfür Spanisch in Spanien,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 Strich verwenden:
my_plugin_es_ES.mo(Unterstrich) anstelle vonmy-plugin-es_ES.mo(Bindestrich). - Die Textdomäne erraten. Sie müssen den Code des Plugins (
style.css-Header oderload_plugin_textdomain-Funktion) überprüfen, um den genauen Slug zu finden.
2. Sie legen die Datei im falschen Ordner ab
Wo Sie die Datei hochladen, ist genauso wichtig wie der Name, den Sie ihr geben. 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 komplett gelöscht. Ihre Übersetzungen verschwinden.
Bewährte Methode: Legen Sie Ihre benutzerdefinierten .mo-Dateien immer im globalen /wp-content/languages/-Verzeichnis ab, um Datenverluste bei Updates zu vermeiden.
3. Der "stille Killer": Fehlerhafte Syntax in der .po-Datei
Dies ist das am schwierigsten zu debuggende Problem, und es tritt häufig bei generischen KI-Übersetzungstools auf.
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 "defekt".
Wie passiert das? Wenn ein Übersetzer (Mensch oder KI) die Gettext-Formatierung durcheinanderbringt, wird die Zeichenkette ungültig.
- Beispiel: Fehlendes schließendes Anführungszeichen
". - Beispiel: Eine Variable aufbrechen (Ändern von
%sin% s). - Beispiel: Die
msgid_plural-Zählung durcheinanderbringen.
Wenn WordPress auf einen fehlerhaften Eintrag in der .mo-Datei stößt, überspringt es diesen oft oder hört auf, die Datei vollständig 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. Dies ist ein weit verbreitetes Missverständnis.
.po= Lesbar für Menschen (Portable Object)..mo= Lesbar für Maschinen (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, bedient Ihre Website möglicherweise eine zwischengespeicherte HTML-Version von vor dem Hochladen der Übersetzung.
Behebung: Leeren Sie alle Caches, einschließlich Ihres Browser-Caches und Objekt-Caches.
Die ultimative Lösung: Von Anfang an gültige Dateien
Das Beheben von Problemen mit Dateipfaden und -namen ist einfach. Das Beheben von Problemen mit fehlerhafter Syntax (Grund Nr. 3) ist ein Albtraum.
Wenn Sie ein Tool verwenden, das Ihre Code-Variablen aufbricht oder die Gettext-Struktur beschädigt, werden Sie sich stundenlang fragen, warum die Datei nicht funktioniert, und nicht merken, dass die Datei selbst "vergiftet" ist.
Deshalb haben wir SimplePoTranslate entwickelt.
- Syntax-Sperre: Wir stellen sicher, dass jede einzelne Zeichenkette syntaktisch gültig ist, bevor Sie sie herunterladen. Wir sperren Variablen wie
%s, damit sie nicht beschädigt werden können. - Perfekte Formatierung: Wir generieren saubere, standardmäßige
.po-Dateien, die zu 100 % der Zeit 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.
- WordPress-Plugin: Möchten Sie das manuelle Hochladen ganz überspringen? Unser offizielles SimplePoTranslate WordPress-Plugin erkennt automatisch Ihre Theme- und Plugin-
.pot-Dateien, übersetzt sie in der Cloud und stellt das Ergebnis mit dem richtigen Dateinamen im richtigen Verzeichnis bereit. Keine falsch benannten Dateien mehr, keine falschen Ordnerpfade – die beiden häufigsten Gründe, warum Übersetzungen nicht angezeigt werden.
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 unter SimplePoTranslate.com