Joomla 3: Extension-Übersetzung und Fehler

icon Joomla 3: Extension-Übersetzung und Fehler Schreibe einen Kommentar

In diesem Beitrag will ich nicht nur hoffentlich verständlich beschreiben, wie man eine eigene Übersetzung für Joomla-Erweiterungen anlegt, sondern gleichzeitig einen Tipp hinterlassen für all jene, die sich die Finger wundsuchen und so allmählich am Verhalten ihrer Joomla-Installation verzweifeln, weil die eingestellte Sprache plötzlich in einer bestimmten Extension nicht mehr angezeigt wird.

Was ist passiert?

So mancher Joomla-Betreiber kennt das: Man hat sein CMS penibel gepflegt und alles ist in bester Ordnung. Dann wird man auf ein Plugin, Modul oder eine Extension aufmerksam, die man unbedingt integrieren möchte. Doof: die Erweiterung gibt's nicht in der gewünschten Sprache.

Was wird gemacht?

Kein Grund zum Verzweifeln! Die Architektur von Joomla ist so konzipiert, dass Übersetzungen mehr oder weniger bequem selbst zu erstellen sind. Hierzu muss man lediglich den Pfad der Language Strings wissen und natürlich, wie sie heißen. Hierbei wird unterschieden, ob es sich um die Strings aus dem Frontend oder Backend handelt.

Hinweis:
Manche Entwickler machen sich nicht viel aus einer Trennung nach Front- oder Back-End und werfen ihre Language-Strings einfach alle auf einmal in eine Datei, die dann entweder im Ordner fürs Back-End oder eben in dem fürs Front-End landen. Auch ist nicht immer gewährleistet, dass wirklich jedes Textelement übersetzbar ist. Legt der Entwickler keinen String an und gibt den Text „hart“ in seinen Code ein, muss man sehr viel tiefer ansetzen und die Textpassage in der richtigen Code-Datei finden. Meistens handelt es sich hier um irgendeine der enthaltenen PHP-Dateien. Vorsicht: wer diese Dateien bearbeitet, riskiert die Update-Fähigkeit seiner Erweiterung. Beim Update werden manche Dateien übeschrieben und die Arbeit war umsonst. Bestenfalls also immer die Dateien irgendwo zusätzlich sichern oder den Entwickler anschreiben und fragen, ob er in einer nächsten Version nicht Sprachdateien anlegen möchte.

Als Beispiel nehmen wir die Joomla Extension JLex Comment. Folgende Pfade sind standardmäßig für Sprachdateien aller Extensions, Mods und Plugins vorgesehen (auch abseits dieses Beispiels):

Frontend-Sprachdateien

.../joomla-verzeichnis/language/en-GB/en-GB.mod_jlexcomment.ini

Backend-Sprachdateien

.../joomla-verzeichnis/administrator/language/en-GB/en-GB.mod_jlexcomment.ini

Die Ordner und Dateianfänge „en-GB“ stehen hierbei für die Sprache. Joomla benötigt diese, um zuordnen zu können, um welche Sprache es sich handelt. Eine deutsche Version liegt übrigens im Ordner „de-DE“ und die entsprechenden Sprachdateien beginnen namentlich auch mit dieser Buchstabenkombination.

Was brauche ich?

Du brauchst nicht viel, um eine Übersetzung anzufertigen:

  • einen FTP-Client oder einen Web-FTP über dein Provider-Kundenmenü
  • einen Text-Editor, bestenfalls mit Code-Highlight-Funktionen und bitte nicht unbedingt den Texteditor des Betriebssystems!
  • rudimentäre Sprachkenntnisse

Wie gehe ich vor?

Zunächst lädst du über den FTP-Client die Sprachdatei(en) herunter, die du übersetzen möchtest - beispielsweise auf deinen Desktop. Fertige jetzt Kopien der Datei(en) an und ändere den Dateinamen am Anfang von „en-GB“ auf „de-DE“. Der restliche Dateiname bleibt gleich. Nun öffnest du deinen Text-Editor und damit eine der gerade erstellten de-DE Sprachdateien. Du wirst feststellen, dass diese Dateien von oben nach unten nach dem gleichen Muster aufgebaut sind. Kurz vor dem Sprung auf Joomla Version 2 wurden diese Dateien vereinheitlicht und sehen bis heute so aus, dass zu Beginn einer Zeile der Code-String steht, darauf ein Gleichheitszeichen folgt und hiernach in Anführungszeichen die entsprechenden Textbausteine stehen. Standard und unbedingt zu beachten ist, dass jeder Code-String eine Zeile erhält. Man kann sich also vorstellen, wie lang eine solche Datei sein kann, wenn es sich um eine recht üppige Extension handelt (JLex ist übrigens so eine üppige Extension...).

Beispiel:

Wir bleiben beim Beispiel JLex Comment, wovon ich hier einen Ausschnitt in Form der ersten drei Zeilen zeige:


Original

SUBSCRIBE="Subscribe"
JCM_UNSUBSCRIBE="Unsubscribe"
JCM_SUBSCRIBE_EMAIL_VERIFY="A mail was sent to %s. Please check you email to verify your subscription."


Alles, was zwischen den "" steht, muss übersetzt werden. In unserem Beispiel sieht es dann folgendermaßen aus:


Übersetzung

SUBSCRIBE="Abonnieren"
JCM_UNSUBSCRIBE="Abo kündigen"
JCM_SUBSCRIBE_EMAIL_VERIFY="Es wurde eine E-Mail an %s gesendet. Bitte ruf deine E-Mails ab, um das Abonnement zu bestätigen."


Natürlich sollte man auch zwischendurch bei längeren Dateien immer mal wieder speichern. Wenn du am Ende angelangt bist, speicherst du abschließend, schließt die Datei und lädst sie über den FTP-Client an die richtige Stelle. Hierbei wählst du einfach die oben bereits erwähnten Pfade, speicherst die Dateien allerdings nicht im Ordner „en-GB“, sondern im Ordner „de-DE“.

Hast du in deiner Joomla-Installation Deutsch als Standard-Sprache aktiviert, wird die Extension automatisch deine deutsche Übersetzung anzeigen. So kannst du auch erkennen, ob du im Rahmen deiner Übersetzungs-Fleißarbeit irgendwelche Wörter in einem anderen Kontext übersetzt hast. Hier solltest du dann nachbessern, damit die korrekten Formulierungen im richtigen Kontext ausgegeben werden. In unserem Beispiel handelt es sich um den englischen Ausdruck „subscribe“, was übersetzt „anmelden“ bedeutet. Wenn man die Erweiterung dann verwendet, sieht man, dass dieser Code-String verwendet wird, wenn man einen bestimmten Bereich abonnieren und sich per E-Mail Mitteilungen senden lassen möchte. Daher sollte man den String auch mit „Abonnement“ und nicht mit „anmelden“ übersetzen.

Download der deutschen Übersetzung für JLex Comment

Wenn ich mir schon die Mühe mache und eine deutsche Übersetzung anfertige, kann ich sie hier ja auch teilen. Ladet einfach die nachfolgend verlinkte Datei herunter, entpackt sie und ladet sie über euren FTP-Client in den entsprechenden Pfad hoch:

/joomla-verzeichnis/administrator/language/de-DE/


Download: deutsche Übersetzung JLex Comment

Version der deutschen Übersetzung: 1.3.4

Da das Ganze nicht gerade wenig Zeit kostet, freue ich mich über eine freiwillige Spende.

pixel Joomla 3: Extension-Übersetzung und Fehler

Und jetzt zum Spaß für Groß und Klein

Ihr kennt das: wenn man eine so lange Datei übersetzt hat (JLex hat immerhin eine 517 Zeilen lange Sprachdatei), wird man irgendwann vielleicht unkonzentriert und schlimmstenfalls unbewusst nachlässig. Wenn ihr die Datei dann auf euren Server geladen habt und die Inhalte der Extension nach wie vor englisch sind, obwohl ihr Deutsch als Standard-Sprache aktiviert habt, wisst ihr, dass ihr den Sisyphos-Jackpot geknackt habt. Das bedeutet nämlich nichts Anderes, als dass ihr aus Versehen in der Sprachdatei entweder eine Zeilenschaltung zwischen zwei Strings entfernt habt oder dass vor oder nach der übersetzten Zeile ein " fehlt. So einfach ist es. Meistens ist es ein einziges " in 517 Zeilen, das ihr aus Versehen gelöscht habt. Damit sorgt ihr dafür, dass Joomla sagt: „Nö. Das ist dreckig. Das mag ich nicht.“ Mein Sisyphos-Jackpot versteckte sich in Zeile Nr. 385. Zum Glück hatte ich unten angefangen zu suchen...

Nachdem ich selbst wie ein Irrer gesucht hatte und Google mir auch nicht allzu viel helfen konnte, hoffe ich, dass dieser Beitrag nicht nur halbwegs erklärt, wie man eigene, übrigens update-sichere, Übersetzungen anfertigt, sondern auch die beiden großen Ärgernisse bei Nicht-Funktionieren aufklärt.

Viel Spaß beim Übersetzen eurer Extensions ;-)

Gib hier deinen Kommentar ein...
Dein Status ist „Gast“ ( Registrieren? )
oder als Gast kommentieren
Lade Kommentar... Der Kommentar wird aktualisiert nach 00:00.
0
Geteilt
Diese Website verwendet Cookies zur Verbesserung der Nutzung und Bereitstellung bestimmter Funktionen. Weitere Informationen OK