12.3 Individuelle Übersetzungen mit Overrides anlegen
Joomla! speichert Systemmeldungen und E-Mail-Texte in sprachabhängigen Textdateien. Auch wenn Sie nur eine einsprachige Website betreiben, ließen sich diese Dateien theoretisch verändern, um die Texte nach Ihren Wünschen anzupassen. Das System ist einfach: Jedes Textfragment besteht aus einem Sprachschlüssel und dem eigentlichen Textinhalt, z. B.:
COM_USERS_EMAIL_REGISTERED_BODY="Hallo %s,\n\nVielen Dank für die Registrierung bei %s."
Bei COM_USERS_EMAIL_REGISTERED_BODY handelt es sich um den Sprachschlüssel, aus dessen Bezeichnung hervorgeht, wo er eingesetzt wird, hier: Fließtext (BODY) für die Registrierungs-E-Mail (EMAIL_REGISTERED). Zugeordnet ist dieser Sprachschlüssel der Benutzerkomponente (COM_USERS). Danach folgt der Inhalt in Anführungszeichen mit – in diesem Beispiel – zwei kleinen Besonderheiten: Zeilenumbrüchen per \n\n und %s-Platzhalter, die Joomla! bei Einsatz des Textes automatisch durch andere Worte ersetzt.
Änderungen an diesen Sprachdateien gingen nach einem Joomla!-Update jedoch verloren, darum stellt das CMS einen sauberen Mechanismus für diese Anpassungen vor: Overrides. Dabei handelt es sich um die Originalsprachdateien ergänzende Textdateien, die die zu überschreibenden Felder enthalten. Im Dateisystem finden Sie die Dateien, vom Joomla!-Hauptverzeichnis ausgehend, unter /language/overrides. Die deutsche Override-Datei heißt de-DE.override.ini und existiert noch nicht initial nach der Joomla!-Installation. Statt diese Datei per Hand anzulegen, nutzen Sie ein Formular im Administrations-Backend, das zudem eine bequeme Suche nach den zu aktualisierenden Textfragmenten bereitstellt.
-
Wechseln Sie über das Menü Erweiterungen • Sprachen zum Sprachenmanager.
-
In der linken Seitenleiste wählen Sie den Link Overrides.
-
Wichtig: Setzen Sie jetzt darunter bei Filter die Sprache und den Bereich, in dem Sie den Override erwarten. Das ist oft nicht eindeutig – wechseln Sie einfach zwischen Site und Administrator, wenn die folgende Sprachschlüsselsuche ohne Erfolg ist.
-
Klicken Sie oben in der Buttonleiste auf Neu, um zum Formular Neuer Override zu gelangen.
-
Geben Sie jetzt ein Stichwort in das Textfeld auf der rechten Seite ein, das in dem zu verändernden Text oder im Sprachschlüssel vorkommt (je nach Einstellung der Dropdown-Liste Suchen nach), und klicken Sie auf Suchen. Für die Änderung von Registrierungs-E-Mail-Texten suchen Sie beispielsweise nach »benutzer« (mit Suchen nach: Inhalt), Groß-/Kleinschreibung spielt keine Rolle.
-
Suchen Sie in der Ergebnisliste den zu verändernden Eintrag, und klicken Sie ihn an, sodass die Textfelder auf der linken Seite automatisch befüllt werden. Falls Sie das Feld nicht finden, klicken Sie auf den Link Weitere Ergebnisse unter der Liste. Beachten Sie auch, dass in dieser Ergebnisliste die Originaltexte erscheinen und nicht etwa bereits eingestellte Overrides.
-
Passen Sie nun den Inhalt des Felds Text an (siehe Abbildung 12.20). Beachten Sie dabei folgende Regeln:
-
In Systemmeldungen, die auf der Website erscheinen, dürfen Sie einige ausgewählte HTML-Tags verwenden, nicht aber für E-Mail-Texte, z. B. <strong> oder <em> für Hervorhebungen.
-
Für Zeilenumbrüche im Fließtext einer E-Mail verwenden Sie \n\n (doppeltes Backslash + n).
-
%s-Elemente sind Platzhalter, die Joomla! später durch variable Worte, z. B. den Benutzernamen, URLs etc., ersetzt. Beim Anpassen der Texte achten Sie darauf, dass Sie diese Variablen in der richtigen Reihenfolge behalten, sonst würden falsche Texte eingesetzt.
-
-
Nach dem Klick auf Speichern in der Buttonleiste gelangen Sie zur Übersichtsseite der Overrides. In dieser Liste taucht jetzt Ihr neuer Eintrag auf und ist für weitere Korrekturen anklickbar.
Tipp: Möchten Sie Overrides verschiedener Sprachen bearbeiten, kehren Sie über den Button Speichern & Schliessen oder Schliessen zurück zum Sprachenmanager. Dort wechseln Sie über die Dropdown-Liste Filter in der linken Seitenleiste in eine beliebige andere installierte Sprache – beachten Sie, dass Sie dabei die Wahl zwischen Front- und Backend-Overrides haben.