Konfiguration
FG Multilang WP speichert die Hauptkonfiguration in der WordPress-Option fgml_options. Sprachen und Übersetzungsgruppen liegen zusätzlich in eigenen Datenbanktabellen.
Die folgenden Standardwerte stammen aus der Aktivierungslogik des analysierten Codes.
Sprachen
Section titled “Sprachen”Sprachen werden nicht in fgml_options, sondern in der Tabelle fgml_languages gespeichert.
Standard: Deutsch und Englisch aktiviert.
Funktion: Legt fest, ob eine Sprache im Frontend, in Rewrite-Regeln und im Sprachumschalter berücksichtigt wird.
Technische Auswirkungen: Die Default-Sprache wird beim Speichern zwangsweise aktiviert.
Default
Section titled “Default”Standard: de.
Funktion: Kennzeichnet die Standardsprache der Website.
Technische Auswirkungen: Die Default-Sprache erhält beim Speichern immer einen leeren URL-Prefix. Für Abfragen der Default-Sprache werden auch ältere Inhalte ohne _fgml_lang berücksichtigt.
Standard: de beziehungsweise en.
Funktion: Interner Sprachschlüssel.
Technische Auswirkungen: Der Code wird kleingeschrieben, auf a-z, 0-9, _ und - begrenzt und maximal 12 Zeichen lang gespeichert.
Locale
Section titled “Locale”Standard: de_DE beziehungsweise en_US.
Funktion: Locale der Sprache.
Technische Auswirkungen: Im Frontend verwendet der Filter für language_attributes die Locale mit Bindestrich, beispielsweise de-DE.
Name und Native Name
Section titled “Name und Native Name”Standard: Deutsch beziehungsweise English.
Funktion: Bezeichnungen in der Administration und optional im Sprachumschalter.
URL-Prefix
Section titled “URL-Prefix”Standard: leer für Deutsch, en für Englisch.
Funktion: Erstes URL-Segment für Zusatzsprachen.
Technische Auswirkungen: Der Wert wird mit sanitize_title() bereinigt. Doppelte Prefixe oder Kollisionen mit Seiten- und konfigurierten Slugs werden teilweise im Diagnosebereich erkannt.
Sortierung
Section titled “Sortierung”Standard: 10 für Deutsch, 20 für Englisch.
Funktion: Reihenfolge der Sprachen in Administration und Sprachumschalter.
Inhaltstypen und Slugs
Section titled “Inhaltstypen und Slugs”Übersetzbare Post Types
Section titled “Übersetzbare Post Types”Option: post_types
Standard: page und post aktiviert.
Funktion: Bestimmt, welche öffentlichen Post Types Sprach-Meta, Übersetzungsgruppen, Query-Filter und Übersetzungsaktionen erhalten.
Wann sinnvoll: Für alle Post Types, die tatsächlich getrennte Sprachversionen besitzen sollen.
Technische Auswirkungen: Attachments werden in der Administrationsauswahl ausgeschlossen. Andere öffentliche Custom Post Types können aktiviert werden.
Slugs pro Post Type und Sprache
Section titled “Slugs pro Post Type und Sprache”Standard: keine expliziten Werte.
Funktion: Überschreibt für Custom Post Types den Rewrite-Slug je Sprache.
Technische Auswirkungen: Ohne Eintrag verwendet das Plugin den registrierten WordPress-Rewrite-Slug des Post Types oder ersatzweise dessen Namen. Für page und post wird keine eigene CPT-Basis-Regel erzeugt.
Taxonomien und Slugs
Section titled “Taxonomien und Slugs”Übersetzbare Taxonomien
Section titled “Übersetzbare Taxonomien”Option: taxonomies
Standard: category und post_tag aktiviert.
Funktion: Aktiviert Sprachzuordnung, Übersetzungsgruppen, Query-Filter und Übersetzungsaktionen für Begriffe.
Technische Auswirkungen: Interne WordPress-Taxonomien nav_menu, link_category und post_format werden aus der öffentlichen Auswahl ausgeschlossen.
Slugs pro Taxonomie und Sprache
Section titled “Slugs pro Taxonomie und Sprache”Standard: keine expliziten Werte.
Funktion: Legt sprachabhängige Taxonomie-Basen fest.
Technische Auswirkungen: Fehlt ein Wert, wird der registrierte Rewrite-Slug der Taxonomie oder ersatzweise der Taxonomiename verwendet.
Menü-Mapping verwenden
Section titled “Menü-Mapping verwenden”Option: use_menu_mappings
Standard: aktiviert.
Funktion: Verwendet je Theme-Location und Sprache ein explizit zugewiesenes WordPress-Menü.
Wann sinnvoll: Wenn Sprachen vollständig getrennte Navigationsstrukturen benötigen.
Technische Auswirkungen: Ein Mapping-Wert 0 beziehungsweise eine leere Auswahl lässt die normale Theme-Zuordnung unverändert.
Menüeinträge automatisch übersetzen
Section titled “Menüeinträge automatisch übersetzen”Option: translate_menus
Standard: aktiviert.
Funktion: Ersetzt Post-, Seiten-, CPT-, Taxonomie- und interne Custom-Links mit vorhandenen Sprachversionen.
Technische Auswirkungen: Bei Posts werden nur veröffentlichte Zielposts verwendet. Das Verhalten bei fehlender Übersetzung richtet sich nach fallback_mode.
Sprachumschalter automatisch einfügen
Section titled “Sprachumschalter automatisch einfügen”Option: inject_switcher
Standard: aktiviert.
Funktion: Fügt den Sprachumschalter in WordPress-Menüs ein.
Menü-Location des Sprachumschalters
Section titled “Menü-Location des Sprachumschalters”Option: switcher_menu_location
Standard: all.
Funktion: Beschränkt die automatische Ausgabe auf eine registrierte Theme-Location oder lässt sie in allen Menüs zu.
Position
Section titled “Position”Option: switcher_position
Standard: end.
Mögliche Werte: start, end.
Funktion: Fügt den Umschalter am Anfang oder Ende des Menüs ein.
Beschriftung
Section titled “Beschriftung”Option: switcher_label_mode
Standard: native.
Mögliche Werte: native, name, code_upper, code_lower.
Funktion: Steuert den sichtbaren Text der Sprachlinks.
Trennzeichen der Inline-Ausgabe
Section titled “Trennzeichen der Inline-Ausgabe”Option: switcher_separator
Standard: ein Leerzeichen.
Funktion: Trennt Sprachlinks bei format="inline".
Aktuelle Sprache anzeigen
Section titled “Aktuelle Sprache anzeigen”Option: switcher_show_current
Standard: aktiviert.
Funktion: Bestimmt, ob die aktuell aktive Sprache im Umschalter enthalten ist.
Eigenes Inline-CSS
Section titled “Eigenes Inline-CSS”Option: switcher_custom_css
Standard: leer.
Funktion: Gibt benutzerdefiniertes CSS im Frontend im <head> aus.
Technische Auswirkungen: HTML-Tags werden entfernt. Verfügbare Klassen sind unter anderem .fgml-language-switcher, .fgml-language-item, .fgml-language-separator und .is-active.
Weitere Details stehen unter Menüs und Sprachumschalter.
Theme-Kompatibilität
Section titled “Theme-Kompatibilität”Theme-neutraler Modus
Section titled “Theme-neutraler Modus”Option: theme_neutral_mode
Standard: aktiviert.
Funktion: Im Admin-Interface ist die Einstellung vorhanden und wird gespeichert.
Technische Auswirkungen: Im aktuellen Projektcode wird theme_neutral_mode außerhalb von Speichern, Import und Darstellung der Einstellung nicht ausgewertet. Eine konkrete Laufzeitwirkung ist daher nicht nachweisbar.
Frontend-Queries filtern
Section titled “Frontend-Queries filtern”Option: filter_queries
Standard: aktiviert.
Funktion: Ergänzt bei relevanten WP_Query- und Term-Abfragen einen Sprachfilter.
Technische Auswirkungen: In der Default-Sprache werden Objekte mit passendem _fgml_lang sowie Objekte ohne dieses Meta berücksichtigt. In Zusatzsprachen ist eine explizite Sprachzuordnung erforderlich.
Permalinks übersetzen
Section titled “Permalinks übersetzen”Option: translate_permalinks
Standard: aktiviert.
Funktion: Setzt Sprachprefixe sowie konfigurierte CPT- und Taxonomie-Slugs in generierte URLs ein.
Interne Inhaltslinks übersetzen
Section titled “Interne Inhaltslinks übersetzen”Option: translate_content_links
Standard: aktiviert.
Funktion: Übersetzt interne Links in the_content und formatierten ACF-WYSIWYG-Werten auf eine veröffentlichte Sprachversion.
Technische Auswirkungen: Externe URLs, Hash-Links sowie mailto:, tel:, sms: und javascript: bleiben unverändert. Query-Strings und Fragmente werden beibehalten.
ACF Options übersetzen
Section titled “ACF Options übersetzen”Option: translate_acf_options
Standard: aktiviert.
Funktion: Liefert bei get_field(..., 'option') beziehungsweise get_field(..., 'options') einen gespeicherten Sprachwert aus.
Technische Auswirkungen: Ist für die aktuelle Zusatzsprache kein übersetzter Wert vorhanden, bleibt der normale ACF-Optionswert erhalten.
Übersetzungsstatus automatisch pflegen
Section titled “Übersetzungsstatus automatisch pflegen”Option: translation_mark_stale_on_source_update
Standard: aktiviert.
Funktion: Markiert andere nicht als Entwurf geführte Sprachversionen einer Übersetzungsgruppe als needs_update, wenn das Original beziehungsweise eine als Quelle behandelte Version gespeichert wird.
SEO Canonical
Section titled “SEO Canonical”Option: seo_canonical
Standard: aktiviert.
Funktion: Ersetzt WordPress-Canonical-URLs für übersetzbare Einzelinhalte durch den Permalink des aktuell angezeigten Posts.
Noindex für veraltete Übersetzungen
Section titled “Noindex für veraltete Übersetzungen”Option: seo_noindex_stale
Standard: deaktiviert.
Funktion: Setzt bei Einzelinhalten mit Übersetzungsstatus needs_update den Robots-Wert noindex.
Verhalten bei fehlender Übersetzung
Section titled “Verhalten bei fehlender Übersetzung”Option: fallback_mode
Standard: hide.
Mögliche Werte: hide, fallback.
Funktion: Steuert insbesondere Menü und Sprachumschalter.
hide: nicht verfügbare Sprachziele werden ausgeblendet.fallback: vorhandene Originaleinträge bleiben in Menüs erhalten; der Sprachumschalter führt ohne Zielübersetzung auf die jeweilige Sprach-Startseite.
Plugin-Daten beim Löschen entfernen
Section titled “Plugin-Daten beim Löschen entfernen”Option: delete_data_on_uninstall
Standard: deaktiviert beziehungsweise bei Neuinstallation nicht gesetzt.
Funktion: Erlaubt der Deinstallationsroutine, die beiden Plugin-Tabellen und zentrale FGML-Optionen zu löschen.
Grenze: Post-/Term-Meta, sprachabhängige ACF-Optionswerte und gemeinsame FG-Core-Daten werden dadurch nicht gelöscht. Siehe Installation und erste Schritte.
String-Übersetzungen
Section titled “String-Übersetzungen”String-Übersetzung im Frontend aktivieren
Section titled “String-Übersetzung im Frontend aktivieren”Option: string_translation_enabled
Standard: deaktiviert.
Funktion: Aktiviert eine HTML-Ausgabepufferung für kleine hartcodierte Theme-Texte.
Technische Auswirkungen: Die Ersetzung läuft nur im normalen Frontend, nicht im Adminbereich, nicht bei WordPress-AJAX und nicht bei als JSON erkannten Requests.
String-Zeilen
Section titled “String-Zeilen”Option: string_translations
Standard: leere Liste.
Jede Zeile enthält:
- Aktivstatus,
- Originaltext der Default-Sprache,
- Übersetzung je Zusatzsprache.
Die Ersetzung erfolgt textbasiert. Details und Grenzen stehen unter ACF, Medien und Strings.
Medien
Section titled “Medien”Medienübersetzungen
Section titled “Medienübersetzungen”Option: media_translation_enabled
Standard: aktiviert.
Funktion: Ergänzt bei Attachments Felder für Alt-Text, Titel und Beschriftung je Zusatzsprache.
Technische Auswirkungen: Die Originaldatei wird nicht dupliziert. Die Sprachwerte werden als Post-Meta am Attachment gespeichert und bei unterstützten WordPress-Ausgabefiltern eingesetzt.
Static Export
Section titled “Static Export”CPT-Archive aufnehmen
Section titled “CPT-Archive aufnehmen”Option: static_export_include_archives
Standard: aktiviert.
Funktion: Ergänzt Archive aktivierter Custom Post Types mit has_archive für alle aktiven Sprachen in der Export-URL-Liste.
Taxonomie-Archive aufnehmen
Section titled “Taxonomie-Archive aufnehmen”Option: static_export_include_terms
Standard: aktiviert.
Funktion: Ergänzt alle Begriffsseiten aktivierter Taxonomien in der Export-URL-Liste.
Veraltete Übersetzungen überspringen
Section titled “Veraltete Übersetzungen überspringen”Option: static_export_skip_stale
Standard: deaktiviert.
Funktion: Lässt Posts und Begriffe mit Status needs_update aus der generierten Exportliste weg.
Mehr dazu unter SEO und Static Export.