AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Probleme mit Zeichensatz

Ein Thema von Zend · begonnen am 15. Feb 2011 · letzter Beitrag vom 15. Feb 2011
Antwort Antwort
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
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Probleme mit Zeichensatz

  Alt 15. Feb 2011, 17:14
Warum Zeichensatz, nimm doch die originären ([hexa]dezimal) Werte.
Dann ist es vollkommen egal welche Darstellung aktiv ist.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Probleme mit Zeichensatz

  Alt 15. Feb 2011, 17:27
Kurzfristig wird da vermutlich nix werden. Schon beim laden einer DFM werden die "ü" bei verwendung von Nicht-Unicode-Controls "verhunzt" da Ansi/Codepage-technisch nicht dargestellt werden können.

Der "einfachste" weg für D7 wird vermutlich der Austausch der control durch die TNTWare-Controls sein sowie ersetzen in den für die Übersetzung relevanten Funktionionen String->Widestring.

Und vor allem: Setzt dir eine VM mit Russisch auf.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz