HerrB hat geschrieben:"Prüngen" werden beim ersten Speichern auch entsprechend gespeichert. Jedoch wird nun "Prüfungen" angezeigt - wird dieser Eintrag erneut gespeichert, steht "Prüfungen" auch in der DB. Mit der Eingabe "Prüngen" kann man das Sterben hinauszögern: Beim ersten Speichern landet "Prüngen" in der DB (was dann natürlich bei Ausgabe auf der Webseite zu "Prüngen" wird, also nützt das wenig), beim zweiten "Prüngen", beim dritten "Prüfungen".
Das ist ein guter Punkt, aber ich weiß nicht wie er "gut" gelöst werden kann. Beispiel: Der Entwickler schreibt in seinen Code
"Prüfungen".
Daher die Grundsatzfrage: Soll der Übersetzer "Prüfungen" oder "Prüfungen" angezeigt bekommen? Soll der Übersetzer dann auch die HTML-Entities mit eingeben oder nicht? Ich bin eher der Meinung, daß der Übersetzer sowohl "Prüfungen" angezeigt bekommen als auch eintragen soll.
Ich habe das daher so eingebaut, daß er dann bei einem Eintrag "Prüfungen" in der DB "Prüfungen" einträgt (htmlspecialchars). Beim Auslesen wird daraus wieder "Prüfungen" (liegt an dem internen Encoding der GenericDB). Bei einem XML-Export wird daher "Prüfungen" in "Pr&üfungen" umgewandelt, was auch vollkommen richtig ist. Oder anders gesprochen:
Das, was bei mi18n("") eingetragen wird, wird genauso sowohl in der Stringliste als auch bei den Feldern eingetragen und auch zurückgeliefert. Damit ist zwar der "Komfort" des Editierens nicht mehr vorhanden, aber die Funktionsweise ist stringent und nachvollziehbar.
Die exportierte XML-Datei ist unter Windows nach wie vor net richtig formatiert (Zeilenende-Zeichen-Problem).
Hast du einen Lösungsvorschlag? Ich nicht...
Ansonsten sind die Übersetzungs-XML-Dateien tricky: Der Eintrag "Prüfungen" muss (um HTML zu erhalten) z.B. so codiert werden: "Prüngen" (aber nur in der XML-Datei!). Bleibt die Codierung des & aus, kommt es zur Fehlermeldung "Undefined entity". Dazu im Gegensatz muss <br> als <br> in der XML-Datei angegeben sein (ohne Codierung des &, sonst wird das später nicht als HTML-Tag erkannt).
Ähm nein....<br> muß im XML auch als <br> encodiert sein, da das <br> nicht im XML-Namespace vorhanden sein darf...es ist also richtig, daß es encodiert ist. Es muß nur beim erneuten Einlesen wieder dekodiert werden. Wobei wir hier ja von Übersetzungen sprechen, d.h. wenn ein Übersetzer z.b. <br> eingibt, wird daraus <br> schon in der DB, und im XML dann <br> -> was dann auch funktioniert. In Übersetzungen gehören ja auch schließlich keine HTML-Tags, mit Ausnahme der Umlaute...
So wie ich das sehe funktioniert das jetzt -> wird dann im nächsten Snapshot vorhanden sein.