Seite 1 von 1

lupdate und Utf8 Umlaute

Verfasst: 4. Juni 2008 12:39
von Hans
Hallo beisammen,
zwar habe ich über die Suchfunktion viele Übersetzungsbezogene Themen gefunden, dieses jedoch versteckte sich vor mir:
Ich habe ein kleines Programm, ursprünglich für rein deutsches Publikum, geschrieben also komplett mit deutschen Texten. Nun wollte ich es doch internationalisieren, habe also laut Anleitung als ersten Schritt lupdate darüber laufen lassen. Das jedoch bricht ab mit folgender Fehlermeldung:
Non-ASCII character detected in trUtf8 string
Ich dachte, genau das sei es, wofür trUtf8 da sei? Im entsprechenden Text ist ein Utf8 codiertes 'ä' zu finden.

Edit: Eine Lösung erbrachte zwischenzeitlich ein 'recode UTF-8..LATIN-1' der betroffenen Dateien, in Verbindung mit einer Änderung des trUtf8 in tr.
Für mich ist das ausreichend, da deutsche Zeichen vollständig in LATIN-1 enthalten sind.
Ein zwischenzeitliches 'CODECFORSRC = UTF-8' in der Projektdatei zeigte keine auswirkung. Allenfalls einen zusätzlichen Fehler
Cannot convert C++ string from UTF-8 to ISO-8859-1
nach dem recode.

Verfasst: 4. Juni 2008 13:34
von Christian81
Ganz allgemein wird es (wenn Du unbedingt Deutsch benutzen willst) so gemacht dass man die zu übersetzenden Texte mit ae, oe usw. schreibt. Also nur ASCII benutzt. Dann erzeugt man eine Übersetzung für die deutsche Sprache. Der Hintergrund davon ist, dass du nicht wirklich weist welche Codierung dein Compiler benutzt. D.h. gcc benutzt imho immer LOCALE, aber wenn Du es woanders kompilierst (z.B. Windows oder ein Unix) muss das nicht so sein. Dann passen deine Text nicht mehr.