Einzelnen Beitrag anzeigen

Zend

Registriert seit: 5. Mär 2010
Ort: Braunschweig
17 Beiträge
 
Delphi 7 Professional
 
#1

Probleme mit Zeichensatz

  Alt 15. Feb 2011, 17:01
Hallo,

ich betreue eine mehrsprachige Anwendung. Unterstützt werden deutsch und englisch. Die Anwendung ist zur Design-Zeit komplett auf Deutsch, wenn jemand die Sprache englisch auswählt, läd das Programm eine XML-Datei die folgendermaßen aufgebaut ist:

Code:
<Text>
  <Native>Hallo Welt!</Native>
  <Translated>Hello World!</Translated>
</Text>
Eine Funktion iteriert dann durch alle Controls die es auf der Form gibt und prüft zu übersetzende Eigenschaften wie z.B. "Caption" und "Text", d.h. die XML-Datei wird nach dem deutschen Texte durchsucht und ersetzt die Eigenschaften des Controls durch die englische Übersetzung. Das man hier besser String-IDs genommen hätte ist mir klar, allerdings ist die Anwendung "gewachsen" und an dieser Stelle suboptimal.

Ein Benutzer aus Russland meldete nun das Problem, dass die Software bei ihm grundsätzlich in englisch dargestellt werde, einige Texte aber trotzdem auf deutsch sind. Nach einiger Recherche fand ich heraus, dass die Texte welche Umlaute enthalten von der Übersetzungskomponente nicht ersetzt werden. Anscheinend ersetzt Windows bei der Programmausführung alle Umlaute durch ähnliche Buchstaben (Ü => U, Ä => A, ...) und deshalb findet die Übersetzungskomponente den deutschen String nicht mehr in der XML-Datei.

Die richtige Lösung um dieses Problem zu beseitigen wäre die Verwendung von String-IDs und langfristig auch der Umstieg auf Unicode. Da dies leider nicht kurzfristig geschehen kann, wollte ich euch fragen, ob ihr eine Lösung kennt, die kurzfristig dieses Problem lösen kann? Kann eine Anwendung den für sie verwendeten Zeichensatz bestimmen?

Grüße
Zend
  Mit Zitat antworten Zitat