mosspower Posted April 27, 2010 Share Posted April 27, 2010 Hallo,ich bin relativ neu in PHP drinnen und komme gerade nicht weiter, was die Internationalisierung betrifft.Was bedeutet folgender Smarty-Befehl?{l s='Contact us'}Ich denke, dass l für Language steht und s für standard. Ist dies so? Wenn ich auf Englisch die Locale stehen habe, dann wird immer der Text in Hochkommatas angezeigt, aber wenn ich auf französisch schalte, ist glaube ich der Text 'Contact us' so eine Art Key? Stimmt das? Wo kann ich den französischen Text finden? Ich kann den weder in einem File noch in der Datenbank finden. Ist das einkompiliert? Wo?Beispiel: Ich rufe URI: http://localhost/prestashop/order-slip.php?id_lang=1Hier sehe ich in Englisch (id_lang=1) den Text canceled orders (der hardgecoded) im TPL File steht. Rufe ich aberhttp://localhost/prestashop/order-slip.php?id_lang=2 (französisch) auf, steht da 'annulations de commandes', nur finde ich diesen Text (auch einzeln z.B. nur commandes) nirgends in einer Datei.Kann mir bitte einer erklären, wie das applikationstechnisch abläuft? Link to comment Share on other sites More sharing options...
rumata Posted April 27, 2010 Share Posted April 27, 2010 Hallo,du solltest da gar nichts verändern Es gibt im Adminbereich ein Übersetzungstool (Einstellungen->Übersetzungen), damit lässen sich alle solche Ausdrücke in jede installierte Sprache übersetzen. Der Ausdruck {l s=‘Contact us’} bedeutet nur, dass an dieser Stelle eine neue Sprachvariable ezeugt wird mit dem Defaultwert Contact us auf Englisch. Sollte für diesen Ausdruck keine Entsprechung existieren, wird auch der Defaultwert ausgegeben. Der Ausdruck "annulations de commandes", genau wie jeder andere Ausdruck in dieser Anwendung wurde also über diese Tool angelegt.s steht denke ich für "string".Gruß Link to comment Share on other sites More sharing options...
mosspower Posted April 28, 2010 Author Share Posted April 28, 2010 Super, vielen Dank!Wo aber ist das dann gespeichert und wie (in welchem Format)? Mich interessiert das einfach.Ist die Anweisung {s l='XYZ'} Smarty-spezifisch oder eine Erweiterung von Smarty?Danke schon einmal für etwaige Antworten im Voraus! Link to comment Share on other sites More sharing options...
rumata Posted April 28, 2010 Share Posted April 28, 2010 Hallo,die übersetzten Strings werden in den Dateien en.php, fr.php und de.php (und anderen länderspezifischen Kennungen gespeichert). Sie befinden sich sich in jedem Modulorder under /modules, in den Mails und im Themaordner /theme/[dein themt]/langGruß Link to comment Share on other sites More sharing options...
mosspower Posted April 28, 2010 Author Share Posted April 28, 2010 Vielen Dank!Ich muss echt blind gewesen sein, da ich die Datei fr.php im Verzeichnis /lang gar nicht gefunden hatte, bzw. den Texteintrag.Nun ist alles klar!Danke! Link to comment Share on other sites More sharing options...
mosspower Posted April 28, 2010 Author Share Posted April 28, 2010 Ganz kurz noch eine kleine Verständnisfrage.Wenn ich einen neuen Textbaustein einbauen möchte, dann muss ich immer einen "Pseudo-Englisch-Key" anlegen?also ich möchte neuen Text FC Bayern München, dann mache ich das so:{l s="team.xyz"} im Template und im Back-Office gebe ich für team.xyz = FC Bayern München ein.Geht nur so oder gleich, was ich nicht möchte, hardgecoded im Template. Anders geht es nicht ohne den englischen "Pseudo-Key" - zumindest habe ich das jetzt so verstanden.Danke schon einmal für etwaige Antworten im Voraus.Edit: OK, hat sich erledigt, ich stelle dann einfach die Default-Language auf Deutsch! Trotzdem danke nochmal für die Hilfe! Link to comment Share on other sites More sharing options...
rumata Posted April 28, 2010 Share Posted April 28, 2010 ja, so ist es sauberer.{l s="my default string for the english shop version" mod="mymodule"}die Englische Variable erschein dann, wenn der Shop mehrsprachig ist als Defaultwert. Kann aber in der englischen Übersetzung nachträglich übersetzt werden. den Wert "mod" nicht vergessen, wenn die Variable modulbezogen ist, dann erschein sie entsprechend in der Modulübersetzung. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now