Bug in Übersetzung bei Modul-Input

Gesperrt
i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

Bug in Übersetzung bei Modul-Input

Beitrag 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 = ""; }
Gruss,
Michael

"Keep on riding this Bike!" (Jackson Mulham)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

wie wirkt sich der fehler genau aus ?
*** make your own tools (wishlist :: thx)
i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

Beitrag 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. ;)
Gruss,
Michael

"Keep on riding this Bike!" (Jackson Mulham)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

momentan keine zeit eine aussagekräftige beschreibung des problems zu verfassen...
ich verschiebs mal nach bugs...
*** make your own tools (wishlist :: thx)
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag 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

Code: Alles auswählen

foreach ($varr as $key => $value)
ein

Code: Alles auswählen

if (count($varr) > 0)
{
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
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Gesperrt