[con 4.9.12] Übersetzung kaputt

Alle bestätigten Fehler in CONTENIDO 4.9 (erledigte Fehler werden durch geschlossene Beiträge gekennzeichnet).
Antworten
mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

[con 4.9.12] Übersetzung kaputt

Beitrag von mattmarr » Mi 17. Mai 2017, 10:11

Hallo!

Ärgerliches Problem, das wir hier auch auf anderen Contenido Installationen reproduzieren können.

Wenn man in einem Modul, in der Übersetzung etwas ändert, wird am Ende der ../lang/*.txt immer eine neue Leerzeile hinzugefügt.
Fügt man dann im PHP Code eine weitere Zeile mit mi18n("") hinzu und Übersetzt diese öfter, kommen weitere Leerzeilen hinzu.
Die bereits vorhanden Leerzeilen des vorherigen mi18n("") bleiben an der übersetzten stelle weiterhin bestehen.

Könntet Ihr das bitte noch in der kommenden Version korrigieren.

Es ist sehr sehr ärgerlich, wenn bei einer laufende Seite plötzlich die Platzhalter aus dem mi18n("") zu sehen bekommt. Und das nur, weil ich etwas an der Modul-Übersetzung verändert oder hinzugefügt habe. :cry:


Gruß
Matthias

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: [con 4.9.12] Übersetzung kaputt

Beitrag von frederic.schneider_4fb » Do 18. Mai 2017, 10:41

Lieber Matthias,

ich schaue mir das gerne noch einmal an. Allerdings ist die Leerzeile bislang immer nötig gewesen, da es ansonsten zu einem Parsing-Fehler kommt. Wir müssten dann einiges umstellen, das natürlich technisch möglich ist, dann aber zwischen verschiedenen Versionen zu Inkompatibilitäten führen könnte. Deshalb will ich Dir da, das gehört zur Ehrlichkeit dazu, für die "kommende Version" keine Hoffnung machen
Frederic Schneider
Entwickler bei der four for business AG

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: [con 4.9.12] Übersetzung kaputt

Beitrag von mattmarr » Do 18. Mai 2017, 13:12

Hallo Frederik,
frederic.schneider_4fb hat geschrieben:
Do 18. Mai 2017, 10:41
ich schaue mir das gerne noch einmal an. Allerdings ist die Leerzeile bislang immer nötig gewesen, ....
Eine Zeile wäre ja noch ok, aber viele auf einmal?
Hier mal ein Beispiel:

Code: Alles auswählen

xx=xxxxx
xxxx=xxx
.
.
xx=xxxxxx
xxx=xxxx
.
xxx=xxxx
.
.
.
.

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: [con 4.9.12] Übersetzung kaputt

Beitrag von frederic.schneider_4fb » Do 18. Mai 2017, 14:29

Kannst Du mir mal bitte eine solche Übersetzungsdatei an frederic.schneider@4fb.de mit einem kurzen Hinweis, wie ich das reproduzieren kann, mailen? Dann schaue ich mir das an. Ich bin allerdings erst wieder übernächste Woche im Büro (nächste Woche ist u. a. Feiertag). Unter Umständen kann ich Dir dann aber weiterhelfen. Okay? :-)
Frederic Schneider
Entwickler bei der four for business AG

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: [con 4.9.12] Übersetzung kaputt

Beitrag von mattmarr » Do 18. Mai 2017, 15:37

frederic.schneider_4fb hat geschrieben:
Do 18. Mai 2017, 14:29
Kannst Du mir mal bitte eine solche Übersetzungsdatei an frederic.schneider@4fb.de mit einem kurzen Hinweis, wie ich das reproduzieren kann, mailen? Dann schaue ich mir das an. Ich bin allerdings erst wieder übernächste Woche im Büro (nächste Woche ist u. a. Feiertag). Unter Umständen kann ich Dir dann aber weiterhelfen. Okay? :-)
Ich werde mal schauen was sich machen läßt.
Wenn ich es nicht vergesse, geht morgen ein oder zwei Beispiele raus.


Grus
Matthias

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: [con 4.9.12] Übersetzung kaputt

Beitrag von frederic.schneider_4fb » Do 18. Mai 2017, 15:41

Danke :)
Frederic Schneider
Entwickler bei der four for business AG

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: [con 4.9.12] Übersetzung kaputt

Beitrag von mattmarr » Di 13. Jun 2017, 08:53

Hallo Frederic!

Hab dir eine Email geschickt.


Gruß
Matthias

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: [con 4.9.12] Übersetzung kaputt

Beitrag von Oldperl » Di 13. Jun 2017, 10:01

mattmarr hat geschrieben:
Do 18. Mai 2017, 15:37
Wenn ich es nicht vergesse, geht morgen ein oder zwei Beispiele raus.
Doch vergessen... :mrgreen:

Aber das geht uns allen so! :wink:

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: [con 4.9.12] Übersetzung kaputt

Beitrag von mattmarr » Di 13. Jun 2017, 10:30

Hallo Ortwin!
Oldperl hat geschrieben:
Di 13. Jun 2017, 10:01
Doch vergessen... :mrgreen:
irgendwie schon. :roll:




Gruß
Matthias

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: [con 4.9.12] Übersetzung kaputt

Beitrag von frederic.schneider_4fb » Do 22. Jun 2017, 09:11

Liebe Community,

bitte tauscht in der Datei class.module.filetranslation.php (Ordner contenido/classes/module) die Funktion _serializeArray() mit folgender neuen Variante aus:

Code: Alles auswählen

     /**
     * This method serialize an array.
     *
     * $key.[Divider].$value."\r\n"
     *
     * @param array $wordListArray
     * @return string
     */
    private function _serializeArray($wordListArray) {
        $retString = '';
        foreach ($wordListArray as $key => $value) {
            // Original String [Divider] Translation String
            if (strlen($key) > 0) {
                $retString .= trim($key . self::$originalTranslationDivider . $value) . "\r\n";
            }
        }

        return trim($retString);
    }
Frederic Schneider
Entwickler bei der four for business AG

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: [con 4.9.12] Übersetzung kaputt

Beitrag von frederic.schneider_4fb » Do 22. Jun 2017, 09:22

In der selben Datei in der Funktion saveTranslationArray() muss noch die Zeile

Code: Alles auswählen

if (cFileHandler::write($fileName, $this->_serializeArray($escapedArray)) === false) {
durch

Code: Alles auswählen

if (cFileHandler::write($fileName, $this->_serializeArray($escapedArray) . "\r\n") === false) {
ersetzt werden. Eine Leerzeile ist nämlich zwingend. Das habe ich eben vergessen
Frederic Schneider
Entwickler bei der four for business AG

Antworten