Uebersetzungen
Das Modul Uebersetzungen haelt Laufzeit-UI-Strings — kurze Textfragmente, die Plugins und Widgets rendern und die nicht Teil des Seiten-Inhalts sind. Beispiele: das Label auf einem "Mehr lesen"-Button, der Platzhalter einer Such-Box, die Fehlermeldung unter einem Formularfeld. Jeder String hat ein Original (Hauptsprache) und eine Uebersetzung pro konfigurierter Sprache.
Oeffne Einstellungen → Uebersetzungen. Die Liste zeigt jedes Uebersetzungspaar.

Spalten
| Spalte | Zweck |
|---|---|
| Originaltext | Quell-String in der Hauptsprache. |
| Uebersetzung | Uebersetzter String fuer eine konkrete Sprache. |
Die Sprach-Tabs im Bearbeiten-Modal erlauben das Setzen fuer alle Sprachen in einem Rutsch.
1. Uebersetzung anlegen
Klick Übersetzung hinzufügen.

| Feld | Zweck |
|---|---|
| Originaltext | Der literale String, wie er in der UI erscheint. Exakt kopieren. |
| Uebersetzung | Die uebersetzte Entsprechung. |
Sprach-Tabs oben im Modal erlauben Uebersetzungen fuer alle Sprachen auf einmal. Klick Speichern.
Wie der Lookup funktioniert
Frontend und Backend rufen die Uebersetzungs-Funktion mit dem Original-String als Schluessel. Direkter Treffer auf Originaltext liefert die Uebersetzung; Fehltreffer faellt auf das Original zurueck. Gross-/Kleinschreibung und Satzzeichen zaehlen — Speichern und speichern sind zwei Eintraege.
2. Uebersetzung bearbeiten
Klick das Stift-Icon Bearbeiten. Uebersetzung aendern, speichern.
Du kannst auch das Original aendern, aber jeder Aufruf mit dem alten Original faellt sofort auf sich selbst zurueck, bis der aufrufende Code nachgezogen wird. Besser neue Zeile anlegen und alte loeschen.
3. Uebersetzung loeschen
Klick das Muell-Icon Löschen. Der String faellt in jeder Sprache, die die Uebersetzung abdeckte, auf das Original zurueck. Nicht rueckgaengig machbar.
Was hierher gehoert — und was nicht
Dieses Modul ist fuer Laufzeit-Strings — kurze Fragmente, die der Code zur Render-Zeit nachschlaegt.
| Typ | Wo es hingehoert |
|---|---|
| Widget-Button-Labels, Platzhalter | Uebersetzungen (hier). |
| Validierungsfehler, Erfolgsmeldungen | Uebersetzungen. |
| Plugin-gelieferte UI-Labels | Uebersetzungen. |
| Seiteninhalt (Ueberschriften, Fliesstext, Bilder) | Pagebuilder — Sprach-Tabs auf jedem Widget. |
| URL-Segmente | URL-Uebersetzungen. |
| Menu-Eintrags-Labels | Menu Editor, Sprach-Tab je Eintrag. |
| Produktnamen, -beschreibungen | Shop, Sprach-Tab je Produkt. |
Im Zweifel: Lebt der Text im Code (Uebersetzungen) oder in einer Content-Zeile (das eigene Sprach-Tab des Moduls)?
Suche
Das Suchfeld filtert nach Originaltext. Fragment eintippen, um Eintraege zu finden. Treffer ist Gross-/Kleinschreibung-unabhaengiger Teilstring.
Legacy-Carve-out
Die Tabelle language_translations ist ein Legacy-Carve-out aus dem CMS-Vorgaenger. Sie haelt Eintraege, auf die der Code historisch angewiesen ist — zuletzt etwa 40 deutsche Laufzeit-Strings. Neue Plugins migrieren auf In-Code-i18n; bestehende Eintraege funktionieren weiter und bleiben, bis der Code umgezogen ist.
Haeufige Fehler
Widget zeigt deutschen Text im englischen Frontend. Kein Treffer in Uebersetzungen. Leg das deutsche Original als Schluessel an und trag die englische Uebersetzung ein.
Uebersetzung angelegt, nichts aendert sich. Zwei Ursachen:
- Original stimmt nicht exakt (Tippfehler, fehlender Punkt, zusaetzliches Leerzeichen).
- Der Response-Cache liefert den Stand vor Aenderung. Cache leeren.
Deutscher Tab leer, obwohl Englisch und Franzoesisch gefuellt sind. Nicht gefuellt. Zeile oeffnen, deutschen Tab waehlen, eintragen.
Siehe auch
- Sprachen — welche Sprachen existieren.
- URL-Uebersetzungen — URL-Segmente uebersetzen (keine UI-Strings).
- Cache — nach Massen-Bearbeitungen leeren.