Fehlerbehebung
Die folgenden Fälle leiten sich aus vorhandenen Diagnosechecks, Fallbacks und Codepfaden von FG Multilang WP ab.
Eine Sprach-URL wie /en/ liefert 404
Section titled “Eine Sprach-URL wie /en/ liefert 404”Mögliche Ursache
- Die Zusatzsprache ist nicht aktiv.
- Der URL-Prefix ist leer oder kollidiert mit einer Seite beziehungsweise einem konfigurierten Slug.
- WordPress verwendet Plain Permalinks.
- Ein Rewrite-Flush steht noch aus.
Lösung
- Unter Sprachen Aktivstatus und Prefix prüfen.
- Status & Diagnose auf Prefix- und Slug-Konflikte prüfen.
- Unter Tools die Rewrite-Regeln aktualisieren.
- Sicherstellen, dass WordPress eine Pretty-Permalink-Struktur verwendet.
Prüfung
Die Sprach-Startseite erneut aufrufen und Status & Diagnose kontrollieren. Die Meldung zu Rewrite-Regeln sollte keinen ausstehenden Flush mehr anzeigen.
Bestehende Inhalte erscheinen nur in der Default-Sprache
Section titled “Bestehende Inhalte erscheinen nur in der Default-Sprache”Mögliche Ursache
Für Zusatzsprachen benötigt die Query-Filterung ein explizites _fgml_lang. Alte Inhalte ohne Sprach-Meta werden nur der Default-Sprache zugerechnet.
Lösung
Unter Tools → Bestehende Inhalte vorbereiten die vorhandenen Inhalte der Default-Sprache und Übersetzungsgruppen zuordnen. Danach die benötigten Sprachversionen anlegen.
Prüfung
In der Beitrags-/Seitenliste die Sprach- und Statusspalten prüfen und anschließend die Zielsprachseite erneut laden.
Inhalte fehlen in einer eigenen WP_Query
Section titled “Inhalte fehlen in einer eigenen WP_Query”Mögliche Ursache
Die globale Option Frontend-Queries filtern ergänzt auch eigene WordPress-Abfragen, wenn deren Post Types übersetzbar sind.
Lösung
Wenn eine technische Abfrage bewusst alle Sprachen benötigt, fgml_skip_language_filter setzen:
$query = new WP_Query([ 'post_type' => 'page', 'fgml_skip_language_filter' => true,]);Prüfung
Die Query-Ausgabe mit und ohne Bypass vergleichen.
Der Sprachumschalter zeigt eine Sprache nicht
Section titled “Der Sprachumschalter zeigt eine Sprache nicht”Mögliche Ursache
- Die Sprache ist inaktiv.
switcher_show_currentblendet die aktuelle Sprache aus.- Auf einem Einzelinhalt fehlt bei
fallback_mode=hideeine öffentlich sichtbare Zielübersetzung. - Bei automatischer Menüausgabe passt die konfigurierte Theme-Location nicht zum ausgegebenen Menü.
Lösung
Sprachstatus, Umschalter-Optionen, Fallback-Modus und die veröffentlichte Übersetzung prüfen.
Prüfung
Den Umschalter zusätzlich testweise per [fg_language_switcher] in einem Inhalt ausgeben. Damit lässt sich die Menü-Location als Ursache abgrenzen.
Ein Menüeintrag verschwindet in einer Zusatzsprache
Section titled “Ein Menüeintrag verschwindet in einer Zusatzsprache”Mögliche Ursache
Bei fallback_mode=hide entfernt FG Multilang WP Post- oder Taxonomie-Menüeinträge, wenn keine verwendbare Zielübersetzung vorhanden ist. Bei Posts muss die Zielversion veröffentlicht sein.
Lösung
Die fehlende Übersetzung anlegen und veröffentlichen oder den Fallback-Modus auf fallback umstellen.
Prüfung
Menü in der Zusatzsprache neu laden und Ziel-URL kontrollieren.
Ein interner Content-Link bleibt in der Originalsprache
Section titled “Ein interner Content-Link bleibt in der Originalsprache”Mögliche Ursache
Das Plugin ersetzt einen Link nur, wenn es eine interne WordPress-URL auf einen Post auflösen kann und eine öffentlich sichtbare Zielübersetzung existiert.
Lösung
- Option Interne Inhaltslinks übersetzen prüfen.
- Übersetzungszuordnung und Veröffentlichungsstatus des Zielposts prüfen.
- Kontrollieren, ob die URL tatsächlich zur eigenen
home_url()gehört.
Prüfung
Den Link in der gerenderten Zusatzsprachseite kontrollieren. Query-String und Fragment sollten bei erfolgreicher Ersetzung erhalten bleiben.
ACF Options bleiben in allen Sprachen gleich
Section titled “ACF Options bleiben in allen Sprachen gleich”Mögliche Ursache
- ACF ist nicht aktiv.
- ACF Options übersetzen ist deaktiviert.
- Für das Feld wurde noch kein Sprachwert gespeichert.
- Die Field Group wird nicht über eine ACF-Location mit
options_pageerkannt.
Lösung
Unter ACF Options die gewünschte Zusatzsprache wählen und die erkannten Felder speichern.
Prüfung
Im Theme weiterhin get_field('feldname', 'option') verwenden und die Ausgabe in Default- und Zusatzsprache vergleichen.
Übersetzte Alt-Texte oder Captions erscheinen nicht
Section titled “Übersetzte Alt-Texte oder Captions erscheinen nicht”Mögliche Ursache
- Medienübersetzungen sind deaktiviert.
- Für die aktuelle Zusatzsprache ist kein Wert gespeichert.
- Das Theme durchläuft nicht
wp_get_attachment_image_attributesbeziehungsweisewp_get_attachment_caption.
Lösung
Das Attachment in der Mediathek öffnen, Sprachwerte speichern und die Ausgabemethode des Themes prüfen.
Prüfung
Ein Bild testweise mit einer normalen WordPress-Attachment-Ausgabe rendern und die HTML-Attribute vergleichen.
String-Übersetzungen greifen nicht
Section titled “String-Übersetzungen greifen nicht”Mögliche Ursache
- Die Funktion ist standardmäßig deaktiviert.
- Die aktuelle Sprache ist die Default-Sprache.
- Der Request ist AJAX oder JSON.
- Die Gesamtausgabe enthält kein
<html. - Der Text liegt in
script,style,textarea,codeoderpre. - Quelltext und gespeicherter String stimmen nicht exakt überein.
Lösung
Die Option und String-Zeile prüfen. Für gezielte Theme-Ausgaben kann alternativ fgml_string() verwendet werden.
Prüfung
Einen kurzen, eindeutigen Text in normalem HTML-Textinhalt testen.
Eine URL fehlt in FG Static Export
Section titled “Eine URL fehlt in FG Static Export”Mögliche Ursache
- Der Post ist nicht veröffentlicht.
- Post Type oder Taxonomie ist nicht als übersetzbar aktiviert.
- Archive oder Terms sind in der Static-Export-Konfiguration deaktiviert.
static_export_skip_staleentfernt einen Eintrag mit Statusneeds_update.- Ein Custom Post Type besitzt kein
has_archive.
Lösung
Unter Static Export Konfiguration und URL-Vorschau prüfen.
Prüfung
Mit fgml_get_export_urls() oder wp fgml status die berechnete Liste beziehungsweise Anzahl kontrollieren.
Die Datenschutzseiten-URL ist übersetzt, der Linktext aber nicht
Section titled “Die Datenschutzseiten-URL ist übersetzt, der Linktext aber nicht”Mögliche Ursache
Das ist das aktuelle implementierte Verhalten. FG Multilang WP filtert privacy_policy_url, nicht den von WordPress separat gelesenen Titel der Datenschutzseite.
Lösung
Wenn der sichtbare Linktext sprachabhängig sein soll, muss das Theme beziehungsweise die konkrete Ausgabe den Text selbst sprachabhängig erzeugen.
Prüfung
URL und sichtbaren Linktext getrennt kontrollieren.
WordPress zeigt Version 1.0.1, wp fgml status aber 1.0.0
Section titled “WordPress zeigt Version 1.0.1, wp fgml status aber 1.0.0”Mögliche Ursache
Im analysierten Paket steht im Plugin-Header 1.0.1, während die interne Konstante FGML_VERSION noch 1.0.0 enthält. Das CLI verwendet diese interne Konstante.
Lösung
Im aktuellen Paket gibt es dafür keine Konfiguration. Eine Korrektur erfordert eine Anpassung der Versionswerte im Plugin-Code.
Prüfung
Die WordPress-Pluginliste und wp fgml status vergleichen.