• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Problem mit Kodierung von po-Datei

Hallo, ich habe Probleme mit dem Bearbeiten von po-Dateien. Konkret handelt es sich um eine Datei des Horde-Projektes
Code:
.../horde/turba/po/de_DE.po
Die Datei ist ISO-8859 kodiert, wie in den ersten Zeilen der Datei vermerkt ist.
Code:
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
Wenn ich die Datei mit KWrite öffne, ist im Menü Extras unter Kodierung UTF-8 angegeben. Das Umstellen der Kodierung im Menü von KWrite funktioniert nicht, es bleibt UTF-8 und die Umlaute werden dementsprechend dargestellt.

Wenn ich beim Öffnen der Datei mit KWrite als Kodierung ISO-8859-1 wähle, nützt das nichts. KWrite zeigt als Kodierung immer nur UTF-8 an und die Umlaute sind vermurkst.

Auch mit pico, den ich auf der Konsole als Editor verwende, werden die Umlaute falsch dargestellt. Kann man mit pico die Kodierung beim Öffnen erzwingen?

Ich habe mir dann KBabel installiert und damit geht es.

Aber ich möchte trotzdem wissen, wie man es mit einem normalen Editor anstellt, diese dämlichen Kodierungsprobleme, die mir schon so viel Zeit gekostet haben, irgendwie in den Griff zu bekommen.

Das ganze unter Suse 11.1 und KDE 3.5

Danke für jede Hilfe.
 
High!

ich nehme da immer kate. Du kannst die Kodierung - so sie nicht passt, sprich du Hyroglyphen siehst - passend auswählen. Beim Speichern kannst Du dann eine andere Kodierung angeben

Nukem36
 
Nukem36 schrieb:
High!

ich nehme da immer kate. Du kannst die Kodierung - so sie nicht passt, sprich du Hyroglyphen siehst - passend auswählen ...
Nukem36

Das ist es eben, was nicht funktioniert.

Wenn ich eine andere Kodierung, also ISO 8859-1, über das Menü von Kate / KWrite wähle, dann wirkt das nicht. Der Editor scheint die Datei neu zu laden und die Kodierung ist wieder - wie vorher - auf UTF-8 eingestellt, was zur Folge hat, dass die Umlaute vermurkst sind, weil die Datei offensichtlich in Wirklichkeit ISO 8859 kodiert ist.

Das Problem tritt bei diesen *.po Dateien auf. Wenn ich z.B. eine *.php Datei in den Editor lade, kann ich problemlos, wie erwartet, die Kodierung umstellen.
 
Die Frage ist, darf das eigentlich funktionieren? Denn sowohl msgid als auch msgstr können spezielle Zeichen verschiedener Sprache enthalten. Beispiel, ich programmiere in deutsch (nicht üblich aber möglich), irgendwo taucht der String Kühlschrank auf, für die Übersetzung brauchst du kyrillische Zeichen, wie soll das mit einer ISO 8859-X Kodierung funktionieren. Man braucht halt eine Kodierung, die alle Zeichen enthält --> eine UTF Variante.

Würde mich nicht wundern wenn der Editor anhand des Dateityp erkennt, diese Datei kann nur UTF sein kann. Was der Kollege der den Header des po-Files ausgefüllt hat nicht wusste.
 
Tooltime schrieb:
Die Frage ist, darf das eigentlich funktionieren? Denn sowohl msgid als auch msgstr können spezielle Zeichen verschiedener Sprache enthalten. Beispiel, ich programmiere in deutsch (nicht üblich aber möglich), irgendwo taucht der String Kühlschrank auf, für die Übersetzung brauchst du kyrillische Zeichen, wie soll das mit einer ISO 8859-X Kodierung funktionieren. Man braucht halt eine Kodierung, die alle Zeichen enthält --> eine UTF Variante.

Würde mich nicht wundern wenn der Editor anhand des Dateityp erkennt, diese Datei kann nur UTF sein kann. Was der Kollege der den Header des po-Files ausgefüllt hat nicht wusste.

Danke für die Info.

Die Moral von der Geschichte ist für mich, dass man Sprachdateien nicht mit einem normalen Text Editor bearbeiten kann sondern eben KBabel oder so etwas braucht.

Was ich nicht verstehe: Wenn die Datei UTF-8 kodiert ist, warum werden dann die Umlaute nicht als Umlaute angezeigt?
Wenn ich das bedenke, kann ich nur sagen: Diese Sprachdatei, die ich da bearbeiten wollte, war eben NICHT UTF-8 kodiert. KWrite denkt da offensichtlich zu viel ;-) oder wie soll man das verstehen?
 
Da habe ich mich vielleicht ein wenig weit aus dem Fenster gelehnt. Habe nicht daran gedacht, das horde eine Webanwendung ist, da kommt es ja auch noch auf die Kodierung der eigentlichen html-Seiten an. Von daher ist vielleicht eine ISO 8859-X Kodierung sogar sinnvoll.

Jedenfalls habe ich das bei mir versucht nach zu vollziehen. Das Problem ist die automatische Dateityperkennung. Menü Extras --> Dateityp --> Markup --> GNU gettext, dieser ist per default auf utf-8 eingestellt (Einstellungen --> Editor einrichten --> linke Liste auf Datentypen --> Dateityp auf Markup/GNU gettext). Es besteht zwar die Möglichkeit den Dateityp manuell zu ändern, wenn man dann aber noch die Kodierung manuell verstellt, so scheint die automatische Erkennung neu zu starten und alles steht auf den Einstellungen wie zuvor. Ob man ihn dieses Verhalten abgewöhnen kann weiß ich jetzt nicht. Weiter nach zu harken macht ja auch keinen Sinn, da du die po-Datei ja mit kbabel bearbeitet hast.
 
Tooltime schrieb:
Da habe ich mich vielleicht ein wenig weit aus dem Fenster gelehnt. Habe nicht daran gedacht, das horde eine Webanwendung ist, da kommt es ja auch noch auf die Kodierung der eigentlichen html-Seiten an. Von daher ist vielleicht eine ISO 8859-X Kodierung sogar sinnvoll.
...

Weiter nach zu harken macht ja auch keinen Sinn, da du die po-Datei ja mit kbabel bearbeitet hast.

Danke für deine Bemühungen zur Klarstellung. Habe wieder was dazugelernt und betrachte den Thread für mich als abgeschlossen.
 
Oben