Sprachen Übersetzung

Benötigte Lesezeit: 6 Minuten


Einleitung

Seit der Version 1.5 kann der PhPepperShop kundenseitig mehrsprachig betrieben werden. Diese Anleitung beschreibt die nötigen Arbeiten, welche ausgeführt werden müssen, damit der PhPepperShop in einer weiteren Sprache betrieben werden kann.

Der PhPepperShop setzt sogenannte Sprachsets ein. Diese befinden sich im Ordner {shop_verzeichnis}/shop/language. Hier findet man für jede Sprache einen Ordner.
Ein Sprachset besteht aus folgenden Dateien:

Einige Dateien im Unterordner text_templates gehören zu Modulen und sind ev. nicht vorhanden.

Den grössten Teil der Dateien machen die sprachspezifischen Buttons aus. Weit wichtiger aber, und ziemlich unscheinbar, ist die Datei localetext.inc.php, sie beherbergt die übersetzten Texte der kundenseitigen Darstellung des PhPepperShops. Daneben findet man auch noch die HTML-Templates, welche lokalisiert sind (standardmässig nur das Impressum und die Startseite). Als drittes, zu übersetzendes Element, gibt es die Datei countries.inc.php, welche die Namen aller Länder dieser Welt beherbergt. Im Shop dient sie als Basis der Lieferlandauswahl.

Kurzbeschreibung

Bei einer Übersetzung ist im Wesentlichen folgendes zu tun:

  • Übersetzung der Texte localetext.inc.php, countries.inc.php und .txt Files
  • Übersetzung der Willkommensseite (start_content.tpl.html)
  • Erstellung der Buttons
  • Anpassen des Shops und Aktivierung des neuen Sprachsets

Vorbereitungen

Wir gehen davon aus, dass man sich im Verzeichnis {shopdir}/shop/langauge befindet. {shopdir} steht dabei für das Verzeichnis, in welchem der PhPepperShop installiert ist.

Am einfachsten kopiert man einen vorhandenen Sprachset-Ordner (z.B. de für Deutsch, en für Englisch) und benennt die Kopie gleich so, wie der entsprechende ISO-639-1 Sprachcode der neuen Sprache heisst z.B. fr (für Französisch) oder nl (für Holländisch). ISO-Quelle z.B.: http://www.loc.gov/standards/iso639-2/php/English_list.php

Texte übersetzen

Übersetzung mit dem Lokalisierungseditor

Seit dem PhPepperShop v.2.5 gibt es einen Editor zur Bearbeitung der im Shop verwendeten Übersetzungstexte. Dazu wechselt man in die Shop Administration und dort ins Menü Sprachen. Hier findet man zuunterst den Link ‘Alle übersetzten Texte anpassen’. Wenn man diesen Link anklickt kann man die neue Sprache wählen und dann bequem alle Angaben und Übersetzungen im Editor durchführen. Da der Editor noch neu ist, empfehlen wir häufiges Zwischenspeichern.

Übersetzung direkt in der Übersetzungsdatei

Nun geht man in den neu erstellten Ordner und öffnet die Datei localetext.inc.php. Info: Alle PhPepperShop Sourcecode Dateien benutzen UNIX-Zeilenumbrüche, dementsprechend ‘durcheindander gewürfelt’ sieht die Darstellung auf Windows Rechnern aus. Ein Editor, welcher PHP-Dateien gut darstellt und UNIX-Zeilenumbrüche verarbeiten kann, findet man hier zum Download.

Bevor man sich an die eigentliche Übersetzung macht, sollte man sich den Beginn der Datei gut anschauen. Hier sollte man die Sprache korrekt angeben und auch den eigenen Namen und die E-Mail Adresse der / des Übersetzers angeben.

In der localetext.inc.php muss man nun alle Textpassagen übersetzen und die Sprachinfos anpassen (charset, …). Dies macht man, indem man jede Zeile die mit $locale_strings beginnt wie folgt übersetzt. In der eckigen Klammer folgt eine Referenz, an dieser darf man nichts ändern. Nach dem Gleichzeichen folgt der zu übersetzende Text(teil). Hier muss darauf geachtet werden, dass das Hochkomma am Anfang des Textteils und am Ende des Textteils auf keinen Fall verloren geht. Zum besseren Verständnis sind bei gewissen Textteilen dahinter nach jeweils zwei Slashes (//) noch Kommentare angebracht worden. Beispiel einer Zeile:

<?php
$locale_strings['artikel_weiterempfehlen'] = 'Diesen Artikel weiterempfehlen';

Viele Zeilen besitzen sogenannte Platzhalter in den zu übersetzenden Texten. Platzhalter sehen wie folgt aus: %s. Für was die Platzhalter stehen steht jeweils im Kommentar ganz rechts, hinter der Zeile geschrieben. Die Platzhalter DÜRFEN NICHT GELÖSCHT WERDEN. Sie müssen im übersetzten Text wieder am richtigen Ort platziert werden.

Info: Spezialfälle sind die letzten Abschnitte Kunden Zusatzfelder, lokalisierte AGBs (Allgemeine Geschäftsbedingungen), Kundeninformationen und Artikel Zusatzfelder ganz unten in der jeweiligen localetext.inc.php. Die (Kunden) Zusatzfelder und die AGBs lassen sich für die Default-Sprache bequem über das Webinterface tätigen (Zusatzfelder -> Kundenattribute, AGBs -> Allgemeine Shopeinstellungen / Kundeninformationen). Wenn der Shop vom Kunden in den jeweiligen Sprachmodus geschaltet wird und er in diesen Variablen Angaben findet, welche entweder leer sind oder sich von den in der Datenbank gespeicherten Werten unterscheiden, so benutzt der Shop die in der localetext.inc.php angegebenen Werte.

Buttons übersetzen

Ist die Übersetzung der Texte in localetext.inc.php vollbracht, sollte man die Buttons im Buttons Unterverzeichnis anpassen, insbesondere das Bild lang_pic.gif, welches ein Piktogramm für die Sprache enthält. Die Buttons-Änderungen sollten über das Administrationsinterface gemacht werden. Man darf nicht vergessen, dass der Ordner Buttons und alle darin befindlichen Dateien ausser der index.html für alle lesbar markiert werden müssen (nur UNIX-Systeme) - das heisst der Ordner Buttons muss die Dateizugriffsrechte 777 haben, die Bilder darin dann 666 oder 777, dies ist wichtig, sonst kann man unter Umständen die Bilder später nicht über die Shop-Administration verwalten (ändern).

Die Texte der Buttons kann man bei der Übergabe eines neuen Sprachsets auch einfach an Glarotech GmbH mitgeben. Wir erstellen dann ein lokalisiertes Button-Set mit den Standard- Buttons.

Willkommensseite (in HTML) übersetzen

Was man hingegen direkt via HTML-Editor erledigen kann, ist die Anpassung der Datei mit dem Namen start_content.html. Dies ist die Willkommensdatei die der Kunde sieht, wenn er den Shop betritt (und diese Sprache vorgewählt hat). Man kann dieses HTML-Template auch direkt über die Shopadministration bearbeiten.

Optional - HTML-Templates anpassen

Dies ist im Moment nicht nötig, soll an dieser Stelle aber erwähnt werden, weil in den HTML-Templates auch sprachspezifische Änderungen enthalten sein können.

Hierzu kann man einfach die entsprechenden HTML-Dateien im Unterverzeichnis html_templates bearbeiten.

Text-Templates anpassen

Im Unterordner text_templates befinden sich Textdateien, welche als Vorlagen für Mails dienen – z.B. um den Kunden zu benachrichtigen, dass seine bestellten Waren ausgeliefert wurden. Auch diese Dateien haben UNIX-Zeilenumbrüche, siehe dazu den Downloadlink zu einem geeigneten Editor in Kapitel 4.2.

Das neue Sprachset in Betrieb nehmen

Nun ist das ‘Sprachset’ bereit. Wir können es im Shop aktivieren. Dazu geht man ins Administrationsmenü und dort in das Untermenü Sprachen. Hier sieht man nun neu aufgelistet und als verfügbar markiert, die neue Sprache. Mit einem Klick auf das Kästchen unterhalb von ‘aktiviert’ und nach dem Speichern steht die neue Sprache dann zur Verfügung.

Ausschliesslich diese Sprache verwenden

Wenn man nun im eigenen Shop ausschliesslich diese Sprache verwenden möchte, muss man in die Datei {shopdir}/shop/config.inc.php gehen und bei DEFAULT_LANGUAGE die Konstante mit dem ISO-639-1 Code der Sprache definieren (siehe auch Kommentar auf der Zeile dort).

Suchmaschinenoptimierungstags des PhPepperShops anpassen

Beim ausschliesslichen Betrieb mit der neu übersetzten Sprache:

In der Datei {shopdir}/shop/shopindex.php und katalog.php bei DC.Coverage (2 mal und 4 mal) das Land hinzufügen. Dies ist nötig, damit die Suchmaschinenindizierung des PhPepperShops die Dublin Core Metatags für das Land richtig setzt.

Wohin mit dem Sprachset?

Wer ein Sprachset erstellt hat, kann es uns komprimiert in einem der unten aufgeführten Formate an developers@phpeppershop.com zusenden. Wir werden es danach allen Sponsoren zur Verfügung stellen und auf unserer Sprachpaketeliste posten.

Falls es zuviel Aufwand ist, das ganze Sprachset zu erstellen, reicht es uns, die übersetzte localetext.inc.php zuzusenden zusammen mit den Mail-Vorlagen und im E-Mail noch die übersetzten Schriftzüge auf den Buttons zu nennen. Wir erstellen die Buttons dann hier.

Weitere Details / Informationen

Weitere Informationen findet man in der info.txt Datei, welche in jedem PhPepperShop im Verzeichnis {shopdir}/shop/language/ liegt. Darin ist auch der Übersetzungsmechanismus erklärt.

🌶️
🔥
🌶️