Übersetzung in Javascript

Hallo zusammen,

da ich Eigenentwicklung meines Shop treibe, habe ich nun jetzt die Frage: wie am besten behandelt man das Thema Übersetzung in Javascipt? Beispiel:

In javascript lib wie jQuery muss man für popup Fenster den Titel angeben, zwar direkt in javascript Coding. Der Titel soll natürlich in der richtigen Sprache sein - also die aktuelle Shopsprache. Das Problem: in Javascript habe ich das Übersetzungsmechanismus von OXID nicht. Mögliche Lösungen und deren Nachteile:

[B]L1[/B]: Die nötigen Texte alle Sprachen in eine Javascript-Datei schreiben und diese wird importiert von verwendenden Javascripten, bei Runtime immer die Sprache Code mitgeben, damit die richtigen Texte gezogen werden.
[B]Nachteil[/B]: Neue Texte kommen in die javascript Datei rein, aber javascript Datei wird nicht jedes Mal von Browser neu geladen, d.h. die neuen Texte werden nicht immer angezeigt für den Benutzer - Katastrophal für ein Shop.

[B]L2[/B]: Die Texte werden immer von PHP template neu in Page generiert und wird von dem verwendenden Javascript benutzt.
[B]Nachteil[/B]: Bei größerer Textmenge Performance Einbuße?

Gibt es Best Practice hier für das Thema? Danke.

VG, Ge

hast du mal versucht smarty innerhalb des Funktionsaufrufes zu benutzen?

[QUOTE=vanilla thunder;91419]hast du mal versucht smarty innerhalb des Funktionsaufrufes zu benutzen?[/QUOTE]

Meinst Du die Lösung 2, wo ich mit Smarty die Texte direkt in eingebaute Javascripte jedes Mal reingenerieren? Das geht natürlich, nur die Frage war ob es gut ist, jedes Mal dieselben Texte zu generieren, also als Nachteil oben aufgeführt. Oder habe ich was du meinst falsch verstanden?

VG, Ge

Ich hab vermutlich deine 2. Lösung etwas falsch interpretiert, habe wegen der “großen Textmenge” irgendwie daran gedacht, dass Du die komplette .js Datei irgendwie durch PHP/Smarty durchjagen willst.

Wir brauchen mal ein konkreteres Beispiel.

Ich denke in folgende Richtung:
bei einigen Funktionsaufrufen kann in dem Funktionsaufruf festhalten, wie ein Fester heißen soll oder wie ein Knopf beschriftet werden soll.
Z.B: bei einer Lightbox kann sowas ähnliches machen:


$("a.lightbox").lightbox({ title: "bla bla bla auf deutsch"});

und statt dem “bla bla bla auf deutsch” könnte man versuchen [{oxmultilang ident=“lightbox_title”}] einzugeben und dann hoffen, dass der Code richtig geparst wird.

oder einige Plugins bieten ja schon einen multilingualen Support, z.B. TinyMCE oder FCK Editor, da könnte man im Funktionsaufruf auch wieder sowas machen:


$("div#editor").fckeditor({lang: [{$oViewConf->getActLangAbbr()}] });

[QUOTE=vanilla thunder;91641]Ich hab vermutlich deine 2. Lösung etwas falsch interpretiert, habe wegen der “großen Textmenge” irgendwie daran gedacht, dass Du die komplette .js Datei irgendwie durch PHP/Smarty durchjagen willst.

Wir brauchen mal ein konkreteres Beispiel.

Ich denke in folgende Richtung:
bei einigen Funktionsaufrufen kann in dem Funktionsaufruf festhalten, wie ein Fester heißen soll oder wie ein Knopf beschriftet werden soll.
Z.B: bei einer Lightbox kann sowas ähnliches machen:


$("a.lightbox").lightbox({ title: "bla bla bla auf deutsch"});

und statt dem “bla bla bla auf deutsch” könnte man versuchen [{oxmultilang ident=“lightbox_title”}] einzugeben und dann hoffen, dass der Code richtig geparst wird.

oder einige Plugins bieten ja schon einen multilingualen Support, z.B. TinyMCE oder FCK Editor, da könnte man im Funktionsaufruf auch wieder sowas machen:


$("div#editor").fckeditor({lang: [{$oViewConf->getActLangAbbr()}] });

[/QUOTE]

Nach dem Urlaubszeit bin ich wieder da - danke für alle die Vorschläge, inzwischen bin ich auch überzeugt von der Smarty Lösung, also eher Richtung Lösung 2. Danke.

Gruss, Ge