Seite 1 von 1
Bug in Übersetzung bei Modul-Input
Verfasst: So 27. Aug 2006, 19:42
von i-fekt
Folgender Code löst einen Fehler bei der Übersetzung aus.
Code: Alles auswählen
if( "CMS_VALUE[1]" == "1" ) { $send_email = " checked=\"checked\""; } else { $send_email = ""; }
Die Modul-Übersetzung will hier schon die erste Zeile PHP-Code übersetzen. Da wir bereits im PHP sind dachte ich es geht so. Nehme ich folgenden Code arbeitet die Modul-Übersetzung korrekt.
Code: Alles auswählen
?><?php
if( "CMS_VALUE[1]" == "1" ) { $send_email = " checked=\"checked\""; } else { $send_email = ""; }
Verfasst: Mo 28. Aug 2006, 08:36
von emergence
wie wirkt sich der fehler genau aus ?
Verfasst: Mo 28. Aug 2006, 08:50
von i-fekt
Erstell einfach mal kurz ein Modul mit dem Inhalt und kick auf "Übersetzung", ist schneller als wenn ich versuche das zu erklären.

Verfasst: Mo 28. Aug 2006, 11:12
von emergence
momentan keine zeit eine aussagekräftige beschreibung des problems zu verfassen...
ich verschiebs mal nach bugs...
Verfasst: Mi 6. Sep 2006, 00:26
von HerrB
Schöner Bug.
Die parseModuleForStrings-Methode in classes/contenido/class.module.php ermittelt für ein nicht-leeres Modul ohne jegliche mi18n-Einträge grundsätzlich einen Eintrag in einem Array. Nun wird in diesem Eintrag ") gesucht, hier gefunden und dann der String zwischen Anfang und ") als zu übersetzen eingetragen. Funky.
Das lässt sich recht einfach korrigieren: Oberhalb von
ein
einfügen und vor
Code: Alles auswählen
/* Make the strings unique */
return array_unique($strings);
ein
zum Schließen einfügen. Das geht, da selbst ein einzelnes mi18n("Hallo") zwei Einträge im Array liefert.
Vorgesehen für Checkin.
Gruß
HerrB