Anpassung der Sprachen
Verfasst: So 16. Mai 2010, 10:22
Bei allen xt:commerce Derivaten kann man die Ausgabe der Seite in unterschiedlichen Sprachen ermöglichen. Für jede Sprache gibt es dafür mehrere Sprach-Dateien, die sich standardmäßig in den Ordnern /lang/ befinden. Für deutsch liegen diese z.B. in /lang/german/.
Die wichtigsten Dateien sind hier die german.php und die lang_german.conf. Erstere ist eine einfache PHP-Datei, die mehrere Sprachelemente in Konstanten definiert. Die lang_german.conf ist eine Textdatei, die von der Template-Engine Smarty genutzt wird, um bestimmte Variablen im Template durch die entsprechenden Wörter zu ersetzen.
Diese ist in verschiedene Sektionen unterteilt, die jeweils durch einen Bezeichner eingeleitet wird.
Beispiel:
Im Template (in diesem Fall in der Datei index.html) wird diese Sektion gesondert geladen, damit die Variablen verwendet werden können:
Damit können die Variablen im Template eingesetzt werden. Beispiel: {#link_account#}
Wenn man einen Shop nicht mehrsprachig betreiben möchte, kann natürlich direkt in das Template schreiben. Sollte man sich später aber dennoch anders entscheiden, dann hat man ggf. eine Menge Arbeit. Deswegen ist es immer empfohlen, immer mit den Sprachdateien zu arbeiten.
Nun kommt es bei der Anpassung des eigenen Shops in der Regel dazu, dass einem die enthaltenen Begriffe nicht gefallen, oder dass man Neue hinzufügen möchte. Dazu kann man natürlcih einfach die besagte lang_german.conf bearbeiten und fertig. Was ist nun aber, wenn es ein Update für das Shop-System gibt. Dann darf man alle Anpassungen mühevoll in das neue System übernehmen.
Im ECB-Shop und im Web-Shop gibt es hier eine elegantere Methode, die einem die zusätzliche Arbeit erspart.
Alle Dateien mit Ausnahme des 'admin' Ordners, die sich im Ordner /lang/ befinden, können so auch im 'lang'-Ordner des Template-Ordners abgelegt werden. Diese werden ebenfalls vom System eingelesen und mit den Dateien im Ordner /lang/ 'verschmolzen'. Alle Angaben innerhalb des Templates haben hierbei immer Vorrang.
Beispiel:
Wir möchten die Bezeichnung 'Ihr Konto' in 'Ihr persönlicher Bereich' ändern. Hierzu muss lediglich die Datei lang_german.conf im Ordner templates/TEMPLATENAME/lang/german/ angelegt oder bearbeitet werden.
Inhalt:
Das wars. Beide lang_german.conf Dateien werden vom System eingelesen und zusammengeführt. 'link_account' überschreibt dabei den vorhandenen Eintrag. Alle anderen Einträge werden aus der lang_german.conf im Stammordner genommen.
Nach dem selben Prinzip kann mit all den anderen Dateien in dem Ordner verfahren werden. Auch die Dateien im 'modules' Ordner werden genauso behandelt.
Die wichtigsten Dateien sind hier die german.php und die lang_german.conf. Erstere ist eine einfache PHP-Datei, die mehrere Sprachelemente in Konstanten definiert. Die lang_german.conf ist eine Textdatei, die von der Template-Engine Smarty genutzt wird, um bestimmte Variablen im Template durch die entsprechenden Wörter zu ersetzen.
Diese ist in verschiedene Sektionen unterteilt, die jeweils durch einen Bezeichner eingeleitet wird.
Beispiel:
Code: Alles auswählen
[index]
link_logoff = 'Abmelden'
link_account = 'Ihr Konto'
link_cart = 'Warenkorb'
link_checkout = 'Kasse'
Code: Alles auswählen
{config_load file="$language/lang_$language.conf" section="index"}
Wenn man einen Shop nicht mehrsprachig betreiben möchte, kann natürlich direkt in das Template schreiben. Sollte man sich später aber dennoch anders entscheiden, dann hat man ggf. eine Menge Arbeit. Deswegen ist es immer empfohlen, immer mit den Sprachdateien zu arbeiten.
Nun kommt es bei der Anpassung des eigenen Shops in der Regel dazu, dass einem die enthaltenen Begriffe nicht gefallen, oder dass man Neue hinzufügen möchte. Dazu kann man natürlcih einfach die besagte lang_german.conf bearbeiten und fertig. Was ist nun aber, wenn es ein Update für das Shop-System gibt. Dann darf man alle Anpassungen mühevoll in das neue System übernehmen.
Im ECB-Shop und im Web-Shop gibt es hier eine elegantere Methode, die einem die zusätzliche Arbeit erspart.
Alle Dateien mit Ausnahme des 'admin' Ordners, die sich im Ordner /lang/ befinden, können so auch im 'lang'-Ordner des Template-Ordners abgelegt werden. Diese werden ebenfalls vom System eingelesen und mit den Dateien im Ordner /lang/ 'verschmolzen'. Alle Angaben innerhalb des Templates haben hierbei immer Vorrang.
Beispiel:
Wir möchten die Bezeichnung 'Ihr Konto' in 'Ihr persönlicher Bereich' ändern. Hierzu muss lediglich die Datei lang_german.conf im Ordner templates/TEMPLATENAME/lang/german/ angelegt oder bearbeitet werden.
Inhalt:
Code: Alles auswählen
[index]
link_account = 'Ihr persönlicher Bereich'
Nach dem selben Prinzip kann mit all den anderen Dateien in dem Ordner verfahren werden. Auch die Dateien im 'modules' Ordner werden genauso behandelt.