Bug mit der Fremdsprachigkeit im akt. Snapshopt 7.1.05

Gesperrt
RH
Beiträge: 50
Registriert: Mo 17. Mai 2004, 22:32
Kontaktdaten:

Bug mit der Fremdsprachigkeit im akt. Snapshopt 7.1.05

Beitrag von RH »

Bin auf das nächste Problem beim Schreiben meines Plugins gestossen:

Ich verwende in Templates die i18n-Funktion zum Übersetzen analog zu den Standard-Templares Contenido.

Das Ganze scheint aber nur zu Funktionieren, wenn keine Domain angegeben wird. Gebe ich, wie bei Plugins erforderlich, den Domainnamen mit an, nimmt die i18n-Funktion in den Templates nur den 1. Parameter mit, übersetzt diesen dann nicht korrekt weil der Domain-Name nicht zusätzlich mitgenommen wurde und ignoriert alles was folgt. D.h., dass der Domainname als Text im HTML stehen bleibt.

Beispiel:
======

Originalcode:

frmvalidator.addValidation('isocode','req', 'i18n("Please enter the ISO-code", "productmgmt")'+'!');

Ergebnis nach dem Parsen:

frmvalidator.addValidation('isocode','req', 'Please enter the ISO-code", "productmgmt'+'!');

Erwartetes Ergebnis:

frmvalidator.addValidation('isocode','req', 'Bitte den ISO-Code eingeben'+'!');

Scheint ein Bug zu sein. Die Übersetzung ist jedenfalls korrekt vorhanden. Eigentlich sollte beim Analysieren des Templates die i18n-Funktion die Parameter bis zur schliessenden Klammer mitnehmen. Stattdessen scheint beim Komma nach dem 1. Parameter Schluss zu sein.
Ich verwende schon extra andere Hochkommata, damit es hier keine Probleme mit der Konstantenerkennung gibt. Aber das nutzt auch nichts.

Gruss
RH
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Ja, in den Templates wird keine Domain übernommen. Das war damals nur eine "Arbeitserleicherung" und nicht wirklich "sauber".

Du müsstest mit Platzhaltern arbeiten und dann über den PHP-Code diese füllen.
RH
Beiträge: 50
Registriert: Mo 17. Mai 2004, 22:32
Kontaktdaten:

Beitrag von RH »

Na gut muss ich mich anders behelfen. Ist aber eigentlich 'ne schicke Sache. Wäre toll, wenn es das irgendwann mal sauber implementiert gäbe. Finde ich eine gute Idee, denn das macht eine Mulitlingualität doch wesentlich einfacher als über Templates mit Platzhalter zu arbeiten.
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Ja prinipiell ist das ne Gute Sache, aber Funktionen in HTML-Templates parsen ist relativ komplex...ich laß den Bug aber auf jeden Fall mal offen.
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Ich habe vermutlich eine Lösung für dich:

Wenn man bei der Template-Engine die i18n-Domain global angeben könnte, wäre das okay?

also nicht im Template selbst ein i18n(string, domain) sondern nur ein i18n(string) und dann im Template über

$tpl->setDomain("deinei18ndomain");

?
RH
Beiträge: 50
Registriert: Mo 17. Mai 2004, 22:32
Kontaktdaten:

Beitrag von RH »

Wäre OK, aber die Standard-Übersetzungen Contenido müssten auch weiterhin verfügbar bleiben. Die Domain müsste zusätzlich geladen werden. Anonsten müsste ich alle Contenido-Standardübersetzungen dann in die Plugin-Übersetzungen mit einbauen. Wäre zuviel Aufwand und sicher auch nicht sinnvoll.
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Ja, das ist ja nur Template-Spezifisch. d.h. es wird bei einer Instanziierung der Klasse "Template" erst einmal die Domain "Contenido" angenommen, mit setDomain wird für dieses eine Template eine benutzerdefinierte angenommen.
RH
Beiträge: 50
Registriert: Mo 17. Mai 2004, 22:32
Kontaktdaten:

Beitrag von RH »

Supi, wann gibt's das? Wie ich Dich kenne hast Du das in der nächsten CVS-Version drin, oder? :lol:
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

bingo ;)

d.h. spätestens am Freitag ists drin.
RH
Beiträge: 50
Registriert: Mo 17. Mai 2004, 22:32
Kontaktdaten:

Beitrag von RH »

So, habe jetzt alle meine Templates umgestellt. Funzt hervorragend. Vielen Dank.

Und: bitte ja nicht wieder rausnehmen, ich müsste ansonsten hunderte von Texten wieder von den Templates in die Programm-Module verschieben. :D
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

RH hat geschrieben:So, habe jetzt alle meine Templates umgestellt. Funzt hervorragend. Vielen Dank.

Und: bitte ja nicht wieder rausnehmen, ich müsste ansonsten hunderte von Texten wieder von den Templates in die Programm-Module verschieben. :D
Ich wüßte nicht warum man das rausnehmen sollte? ;)
RH
Beiträge: 50
Registriert: Mo 17. Mai 2004, 22:32
Kontaktdaten:

Beitrag von RH »

Timo, meine Bemerkung bitte nicht so wichtig nehmen, war eher nur als Bitte artikuliert, dies zukünftig als Funktion weiterhin beizubehalten. Ich wollte nur meine Ehrfurcht vor Deiner schnellen Leistung zum Ausdruck bringen. Ich finde, diese Änderung stellt eine super Vereinfachung dar, da wirklich Code und Darstellung voneinander getrennt werden können.
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Sehr nett ausgedrückt ;)
RH
Beiträge: 50
Registriert: Mo 17. Mai 2004, 22:32
Kontaktdaten:

Beitrag von RH »

Na ja, Ehre wem Ehre gebürt. Ich finde, Ihr macht einen super Job. Danke.
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

RH hat geschrieben:Na ja, Ehre wem Ehre gebürt. Ich finde, Ihr macht einen super Job. Danke.
An dieser Stelle muß ich den Dank zurückgeben, denn ohne die Community wären wir wohl nie auf die Domain-Idee in den Templates gekommen ;)
Gesperrt