Zum Hauptinhalt springen

Mehrsprachige Admin-Oberfläche

Nicht zu verwechseln mit Content-Sprachen

Diese Einstellung betrifft ausschließlich, in welcher Sprache Menü, Buttons und Formulare im Admin-Bereich selbst erscheinen - unabhängig davon, in welchen Sprachen die eigentlichen Website-Inhalte vorliegen.

Einstellen

Jeder Nutzer stellt seine eigene Admin-Sprache individuell im Profil ein - zwei Nutzer desselben Systems können den Admin-Bereich also gleichzeitig in unterschiedlichen Sprachen sehen.

Technischer Aufbau

Jede Textstelle läuft über eine zentrale t('schlüssel.name')-Funktion, die den passenden Text aus lang/admin/de.php bzw. lang/admin/en.php nachschlägt - inklusive Platzhalter-Ersetzung, z.B. t('trash.heading', ['count' => 5]) für "Im Papierkorb (5)".

Die Ausnahme: JavaScript

t() ist eine reine PHP-Funktion - JavaScript-Code (z.B. der Autosave-Status im Seiten-Baukasten: "Speichert…", "Gespeichert 14:32:10") kann sie nicht direkt aufrufen. Die Lösung: ein kleines JS-Objekt (window.i18nBuilder) wird beim Laden der Seite per PHP mit den bereits übersetzten Werten befüllt (json_encode() der aufgerufenen t()-Ergebnisse), das eigentliche JavaScript greift dann nur noch auf dieses fertige Objekt zu, statt selbst zu übersetzen.

— Ein echter architektonischer Fund

Grenzen

Der Block-Editor selbst (die Buttons "+ Absatz", "+ Überschrift" usw.) bleibt bewusst unangetastet Deutsch - eine eigenständige, komplexere JavaScript-Datei, deren vollständige Anbindung ans Sprachsystem ein eigenes, größeres Vorhaben wäre.