Magento Grundkurs (2012)

translate.csv

Testen Sie unsere 1961 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Die Datei translate.csv ist eine Tabellendatei, welche Bestandteil des eigenen Themes ist. Sie ist für die Übersetzung in andere Sprachen verantwortlich.
08:09

Transkript

Neben der Inline-Übersetzung mit der Sie Texte direkt in der Datenbank übersetzen können, gibt es noch einen besseren Weg in Magento Übersetzungen für einzelne Themes vorzubereiten und zwar über eine Datei namens "translate.csv". Diese Datei sollte Bestandteil Ihres Themes sein und kann als solche separat konfiguriert werden. Die Einstellungen dazu finden wir im Bereich "System", "Konfiguration" und dort im Abschnitt "Design". In unserer Theme-Konfiguration gibt es ein Eingabefeld für die Übersetzungen und wir können unsere Konfiguration beispielsweise so einrichten, dass unser Default, also unser Standard-Theme, unser Training-Theme ist, die Übersetzung aber aus einem anderen Theme kommt, nämlich dem "training-german" Theme. Wenn ich diese Konfiguration nun speichere, muss ich in meinem App Design, auf dem Server ein neues Theme anlegen, nämlich "training-german", dort einen neuen Ordner anlegen: "locale". Bitte beachten, nicht local sondern locale mit einem angehängten "e" und darin dann basierend auf der Sprache, einen weiteren Unterordner. Schauen wir uns das einfach mal an. Ich beginne mit Ihnen gemeinsam hier im Hauptverzeichnis meiner Magento-Instanz und gehe in den Ordner "app", "design", "frontend", dort in mein "default"-Paket, das ist hier im Backend konfiguriert. und habe jetzt hier meine Themes. Standardmässig verwendet mein Shop nun das Training-Theme, holt sich alle anderen Dateien aus dem Default-Theme, insofern sie nicht vorhanden sein sollten. Das sehen wir hier anhand dieser Konfiguration und nur die Übersetzungen sollen nun aus einem neuen Theme kommen. Also muss ich hier einen neuen Ordner anlegen. Schauen wir mal zum Vergleich, wie diese Ordnerstruktur in unserem anderen Theme, nämlich dem Default-Theme aussieht. Da gibt es einen Unterordner "locale", und den müssen wir bei uns jetzt auch anlegen. Innerhalb dieses Ordners locale sehen wir, liegt nicht direkt eine "translate.csv", sondern wir müssen Magento erst noch mitteilen, für welche Sprache diese "translate.csv" verwendet werden soll. Gehen wir also in den Ordner "locale" hinein, und legen einen neuen Ordner an: "de_DE" Warum ist das jetzt so komisch zweimal mit "DE" bezeichnet? Da ist schnell erklärt. Denn neben "de_DE" gibt es auch "de_AT". Es gibt also Deutsch für Österreich, Deutsch für die Schweiz, Deutsch für Deutschland und auf diese Art und Weise können wir ganz gezielt für einzelne Übersetzungen, eigene "translate.csv" Dateien anlegen. Mit unserem Default-Theme haben wir bereits eine solche "translate.csv", und damit uns die Übersetzungen nicht verloren gehen, müssten wir diese jetzt kopieren, damit Magento auch die Inhalte der "translate.csv" des Default-Themes lädt. Wir können diese Datei in OpenOffice 3 öffnen, denn es handelt sich bei der CSV Datei um eine Tabellendatei, oder in einem Texteditor unserer Wahl. Ich habe die Datei jetzt einfach in einem Texteditor geöffnet, und hier können wir am besten sehen, wie die Struktur einer solchen Datei aufgebaut ist. Holen wir uns hier gezielt mal eine Zeile raus. Wir haben auf der linken Seite, umschlossen von doppelten Anführungszeichen, den englischen Text, der im Frontend dargestellt wird, wenn gar keine Übersetzung angelegt ist, und wir haben mit einem Komma getrennt eine zweite Spalte und auch diese ist wieder mit doppelten Anführungszeichen umschlossen und hält die deutsche Übersetzung. Es gibt hier verschiedene Möglichkeiten, wie wir auch Variablen in diese Übersetzung einfließen lassen können. Das sehen wir beispielsweise hier oben. Dieses "%s" ist eine Variable die später beim Ausgeben des Strings, mit einem Inhalt gefüllt wird. Das gleiche haben wir hier in dieser Zeile. Wir müssen bei der Übersetzung auch darauf achten, dass eventueller HTML-Code mit in unsere Übersetzung einfließt. Ich werde jetzt mal die beiden Zeilen direkt untereinander anzeigen. Es handelt sich also bei der zweiten Zeile hier um die Übersetzung der ersten. Und der Text, "Click here to print a copy of your Order confimation", wurde übersetzt durch, "Bestellbestätigung drucken". Und um diesen Text "Bestellbestätigung drucken", haben wir den Original HTML-Code herumgesetzt. Auch hier sehen wir, dass wir HTML gemeinsam mit Variablen verwenden können, und Magento kümmert sich in der Ausgabe dann alleine darum, dass diese Ausgabe auch wirklich korrekt dargestellt wird. Damit wir jetzt diese Datei nicht kaputtmachen, mache ich meine Änderungen rückgängig und nun versuchen wir mal, eine eigene Zeichenfolge zu übersetzen. Dafür gehen wir wieder zurück ins Frontend und schauen mal hier oben der Text "Mein Benutzerkonto". Versuchen wir doch einfach mal aus "Mein Benutzerkonto", "Mein Kundenbereich" zu machen. Ich füge also den englischen Originaltext auf der linken Seite, und die deutsche Übersetzung auf der rechten Seite des Kommas ein. Nun ist die Frage, wie komme ich hier auf den englischen Originaltext? Dazu gibt es 2 Möglichkeiten. Die eine Möglichkeit ist, ich wechsle einfach die Sprache auf Englisch, und sehe hier, der Originaltext ist "My Account". Dann kann ich das einfach mal ausprobieren. Ich achte darauf, dass ich auch wirklich die richtige Datei bearbeite, und nicht versehentlich die "translate.csv" meines Default-Themes überschreibe. Dann sehen wir, dass das hier schon wunderbar funktioniert hat! Aus "Mein Benutzerkonto" ist nun "Mein Kundenbereich" geworden. Es gibt allerdings auch Texte, bei denen ist diese Übersetzung deutlich schwieriger. Das sehen wir z.B. hier "My Cart (1 Item)", also mein Warenkorb, ein Eintrag, ein Artikel. Da wird es schon schwieriger das zu übersetzen. Denn hier ist die Wahrscheinlichkeit groß, dass es sich bei dieser "1" hier um eine Variable handelt. Man könnte nun versuchen, den dazugehörigen Text zu erraten. Man kann auch in den Quelltext schauen und versuchen den Text hier rauszunehmen. Allerdings können wir uns auch ein in Magento bereit enthaltenes Werkzeug zu Hilfe nehmen, was uns den genauen Text dort oben anzeigen kann. Dazu aktivieren wir die Inline-Übersetzung im Bereich "Entwickleroptionen". Wir finden sie in der Mitte, in der Rubrik "Inline übersetzen" und aktivieren sie hier für den Shop. Wenn wir die Seite dann neu laden, werden alle übersetzbaren Texte mit einer roten gestrichelten Linie umrandet und beim Überfahren mit der Maus wird ein kleines Buch eingeblendet, unter dem wir dann die Eingabemaske sehen. Und hier auf dieser Eingabemaske sehen wir nicht nur aus welchem Modul, und an welcher Position der Text steht, sondern wir sehen auch welcher Text gerade angezeigt wird, wie die original Zeichenfolge dazu lautete und wie sie aktuell übersetzt ist. Und hier aus dem Bereich Original können wir uns nun die Zeichenfolge herauskopieren, und in unsere eigene "translate.csv" einsetzen. Wenn Sie wollen, können Sie Umlaute hier mit HTML maskieren. Es handelt sich jedoch um eine UTF-8-Datei und somit ist das nicht unbedingt notwendig. Ich habe die Datei jetzt gespeichert und gehe zurück ins Frontend. Besonders wichtig ist an dieser Stelle, dass Sie hier dieses Fenster nicht mit "Submit" schließen. Wenn Sie den Button "Submit" drücken, wird in der Datenbank ein Eintrag für diese Übersetzung hinterlegt und Sie haben dann keine Möglichkeit mehr, diese datenbankbasierte Übersetzung mit einer CSV-Datei zu überschreiben. Brechen Sie hier also mit "Cancel" oder dem kleinen "X" ab Wechseln Sie dann auf die deutsche Sprachansicht. Nun sehen wir die Übersetzung hier, hat wunderbar funktioniert. Wenn ich nun auf das kleine Buch klicke, dann sehe ich, dass der Originaltext immer noch "My Cart (%s Item)" ist, dass momentan aber meine Einkaufstüte angezeigt wird und dass auch der übersetzte String hier korrekt, basierend auf meiner "translate.csv" angezeigt wird. Die "translate.csv" ist in sofern ein sehr gutes Mittel, da Sie die Übersetzung nicht in der Datenbank abspeichern, sondern in einer leicht zu bearbeitenden Datei haben. Sie können außerdem an dieser Stelle, nicht nur beliebig viele Übersetzungen einfügen, sondern auch wieder löschen was Ihnen mit der Inline-Übersetzung, die wir hier gerade sehen, nicht möglich ist.

Magento Grundkurs (2012)

Lernen Sie als Einsteiger in die E-Commerce-Plattform Magento die Grundlagen kennen und lassen Sie sich als versierter Anwender neue Möglichkeiten und wichtige Tricks erklären.

10 Std. 14 min (135 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!