Anpassung der Sprachen

Viele Wege führen zum Ziel, doch nicht Jeder ist optimal. Hier werden die bestmöglichen Wege aufgeführt und erklärt.
Antworten
Doc Olson
Beiträge: 536
Registriert: Mo 10. Mai 2010, 08:54

Anpassung der Sprachen

Beitrag von Doc Olson »

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:

Code: Alles auswählen

[index]
link_logoff = 'Abmelden'
link_account = 'Ihr Konto'
link_cart = 'Warenkorb'
link_checkout = 'Kasse'
Im Template (in diesem Fall in der Datei index.html) wird diese Sektion gesondert geladen, damit die Variablen verwendet werden können:

Code: Alles auswählen

{config_load file="$language/lang_$language.conf" section="index"}
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:

Code: Alles auswählen

[index]
link_account = 'Ihr persönlicher Bereich'
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.
partyjunky
Beiträge: 74
Registriert: Di 12. Apr 2011, 19:47
Shop Version: XTC, ECB

Re: Anpassung der Sprachen

Beitrag von partyjunky »

Ich würde gerne Französisch als Sprache in den Shop integrieren. Habe eine lang Erweiterung für xtc 3.04 gefunden und nun die Frage, ob ich die einfach in die aktuelle Web hineinkopieren kann und das ganze ohne größere Probleme funktioniert oder zerhaut es dann alles und ich fummele dann mit Backups herum?

Habe die Lang datei mal in den Anhang gesetzt. ob das enthaltene Französisch so korrekt ist interessiert mich nicht, sondern nur ob webs so die Struktur der Dateien nutzt und ich dann diese anpassen und nutzen kann? oder wurden an den lang in laufe der webs entwicklung große veränderungen betrieben?
Xantiva
Beiträge: 948
Registriert: Mo 10. Mai 2010, 16:26
Shop Version: 1.0.10 [dev]
Kontaktdaten:

Re: Anpassung der Sprachen

Beitrag von Xantiva »

Hi partyjunky,

die Struktur ist grundsätzlich gleich geblieben. Allerdings sind in der ganzen Entwicklungszeit noch weitere "Konstanten" hinzugekommen. Was Du machen kannst, ist die ganzen Zeilen aus den php - Dateien alphabetisch zu sortieren (z. B. in Excel). So erkennst Du am schnellsten, welche Werte hinzugekommen sind, oder auch welche nicht mehr benötigt wurden.

Ciao,
Mike
Mein Shop: http://www.basteln-selbermachen.de
Antworten