AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Das eigene Programm in Russisch

Ein Thema von torud · begonnen am 26. Apr 2007 · letzter Beitrag vom 24. Jul 2007
Antwort Antwort
Seite 1 von 3  1 23      
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Das eigene Programm in Russisch

  Alt 26. Apr 2007, 13:09
Hallo Wissende,

ich würde gern eines meiner Tools ins Russische übersetzen, verzweifele aber gerade, die Buchstaben in die Controls zu bekommen. Mir ist klar, dass da was mit UniCode ist, und das das nicht ganz einfach ist, aber was muss ich beachten und wie kann ich vorgehen, ohne dabei alle meine Controls ändern zu müssen. Ich erhalte nur ???? statt der Buchstaben, wie sie hier schön zu sehen sind.

АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

Was muss ich also tun, um dieses Problem zu beheben?
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von RXR-Max
RXR-Max

Registriert seit: 15. Apr 2007
Ort: Hamburg
48 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Das eigene Programm in Russisch

  Alt 26. Apr 2007, 13:22
schreib das ganze doch in eine ini und dann kann man bei einem button-klick die sprache ändern. und die fragezeichen bedeuten soweit ich weiß das du das language-pack nicht installiert hast. musst dann wohl machen. ja und nen russe hat das sicher schon standard auf seinem rechner denke ich mal...
Der menschliche Körper ist immernoch das beste Instrument.
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#3

Re: Das eigene Programm in Russisch

  Alt 26. Apr 2007, 13:27
Du musst jedem Control in Font.Charset RUSSIAN_CHARSET (204) zuweisen. Geht per Code recht schnell, eine alle Controls der Form durchiterieren (Controls/ControlCount).
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#4

Re: Das eigene Programm in Russisch

  Alt 26. Apr 2007, 13:31
Ok, dann werde ich das mal probieren. der Code, den ich über Skype erhielt war natürlich schon in UniCode, weshalb es nicht ging.

Ich habe soeben eine Textdatei in verschiedenen Formaten erhalten.

Unicode
Unicode Big endian
UTF-8
Ansi

Leider in den 3 erstgenannten Dateien zwar alles auf Russisch in Kyrillischen Schriftzeichen zu lesen, aber nach dem Kopieren in ein Label von Delphi waren nur Fragenzeichen zu lesen.

In der Ansitextdatei waren von vornherein nur Fragezeichen drin. Ich hatte bei dem Label mal auf

ANSI_CHARSET
RUSSIAN_CHARSET

gestellt, aber es scheint nicht zu funzen. Irgendwie mache ich immer noch was falsch...!?
Danke
Tom
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#5

Re: Das eigene Programm in Russisch

  Alt 26. Apr 2007, 13:34
Es gibt übrigens auch die TNTWare Unicode Controls, die als Ersatz für die normalen richtig Unicode können statt Charsets zu benötigen.

Dummerweise wurden die gerade kommerziell, aber vielleicht findet sich ja auf Torry etc. noch ein etwas ältereres Download.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Das eigene Programm in Russisch

  Alt 26. Apr 2007, 13:37
Zitat von RXR-Max:
schreib das ganze doch in eine ini und dann kann man bei einem button-klick die sprache ändern.
Ini-Dateien sind nicht Unicode-Fähig bzw. von Windows-Seite auf 8-Bit-Charaters beschränkt.

Zitat von RXR-Max:
und die fragezeichen bedeuten soweit ich weiß das du das language-pack nicht installiert hast. musst dann wohl machen.
Falsch. Fragezeichen bedeuten das eine Codepagewandlung durchgeführt wurde (in die aktuelle Codepage) und in der Zielcodepage dieses Zeichen nicht abbildbar ist. Ist ein Zeichen im verwendeten Font nicht vorhanden bekommt man ein leeres Ersatzzeichen im Font (z.B. ein schwarz umrandetes Rechteck).

Zitat von RXR-Max:
ja und nen russe hat das sicher schon standard auf seinem rechner denke ich mal...
Nein. Ein "Russe" wird ein Windows-System haben das als Standard-Codepage kyrilisch hat. Damit könnenn Nicht-Unicode-Anwendungen kyrilische Zeichen verarbeiten. Jedoch werden diese keine Westeuropäischen Umlaute mehr verarbeiten könnnen.

Zitat von CCRDude:
Du musst jedem Control in Font.Charset RUSSIAN_CHARSET (204) zuweisen. Geht per Code recht schnell, eine alle Controls der Form durchiterieren (Controls/ControlCount).
Vergiss eine solceh Lösung. Nicht alle Controls berücksichtigen diese Einstellung und eine darauf aufbauende Lösung verursachte mehr Probleme als sie lößt.

Die einzige vernünftige Lösungen ist Unicode-Controls wie ElPack oder TMS TNTWare-Controls zu verwenden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#7

Re: Das eigene Programm in Russisch

  Alt 26. Apr 2007, 13:45
Zitat von Bernhard Geyer:
Zitat von CCRDude:
Du musst jedem Control in Font.Charset RUSSIAN_CHARSET (204) zuweisen. Geht per Code recht schnell, eine alle Controls der Form durchiterieren (Controls/ControlCount).
Vergiss eine solceh Lösung. Nicht alle Controls berücksichtigen diese Einstellung und eine darauf aufbauende Lösung verursachte mehr Probleme als sie lößt.
Nun, hier wende ich das erfolgreich für 53 verschiedene Sprachen an. Bis auf Persisch (4 Sonderzeichen, die in ARABIC_CHARSET nicht enthalten sind) keinerlei Probleme.
Klar, TVirtualStringTree z.B. will lieber Unicode, dafür registriere ich in meiner Lokalisierungsklasse einen speziellen Handler, aber Controls, die nur ANSI können, dort aber Font.Charset ignorieren, sind mir noch nicht untergekommen (oder vielleicht schon, aber wegen mangelnder Qualität sofort rausgeflogen).
Übrigens: auch mit ANSI-INI-Dateien gelöst
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#8

Re: Das eigene Programm in Russisch

  Alt 26. Apr 2007, 13:47
Das war doch mal ne Aussage. Das tolle ist, dass ich von TMS das ComponentenPack gekauft habe und ehrlich gesagt nicht einsehe nun auf die optisch recht ansprechenden Controls verzichten zu müssen und nochmal extra zahlen soll. Ich werde mal den Support von den Kollegen anschreiben. Vielleicht lassen die sich ja zu nem Update hinreißen!?

Im übrigen hat es bei mir nicht einmal geklappt ein einfaches Label mit nem russischen Text zu bestücken.
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Das eigene Programm in Russisch

  Alt 26. Apr 2007, 14:08
Zitat von CCRDude:
Nun, hier wende ich das erfolgreich für 53 verschiedene Sprachen an. Bis auf Persisch (4 Sonderzeichen, die in ARABIC_CHARSET nicht enthalten sind) keinerlei Probleme.
Wolltest Du nicht mal nach Freepascal wechseln ...

Zitat von CCRDude:
... aber Controls, die nur ANSI können, dort aber Font.Charset ignorieren, sind mir noch nicht untergekommen (oder vielleicht schon, aber wegen mangelnder Qualität sofort rausgeflogen).
Und was machst du wenn du "Ω=∑aa−≍⋥ ä" benötigst?

Zitat von CCRDude:
Übrigens: auch mit ANSI-INI-Dateien gelöst
Wenn die Text in der entsprechenden Codepage als 8-Bit Character gespeichert werden ...

Zitat von torud:
Das war doch mal ne Aussage. Das tolle ist, dass ich von TMS das ComponentenPack gekauft habe und ehrlich gesagt nicht einsehe nun auf die optisch recht ansprechenden Controls verzichten zu müssen und nochmal extra zahlen soll.
Wenn du dein Geld damit verdienst wird das Geld das kleinste Problem sein. Der Aufwand zum umstellen. Aber das TMS ja jetzt die TNT's besitzt kannst Du ja mal nachfragen ob diese Technik in den Controls einfließt. Aber bisher waren die eigenen Unicode-Lösungen von TMS alles andere als Praktikabel.

Zitat von torud:
Im übrigen hat es bei mir nicht einmal geklappt ein einfaches Label mit nem russischen Text zu bestücken.
Du mußt schon deinene Widestring in die passende Codepage umwandeln z.B. per WideStringToStringEx-Funktion aus den Jedis. Und das bei jedem Text die du in ein Ansi-Control schreibst oder auslesen willst.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#10

Re: Das eigene Programm in Russisch

  Alt 26. Apr 2007, 14:22
Zitat von Bernhard Geyer:
Wolltest Du nicht mal nach Freepascal wechseln ...
Was genau hat das damit jetzt zu tun?
Lazarus (LCL, das VCL-Äquivalent) ist leider unter Windows auch nicht wirklich Unicode, bringt hier also keine Vorteile.
Aber: Die Windows Mobile-Version ist pures FreePascal, die nächste Symbian-Version wird das ebenfalls sein, und insgesamt kompilieren inzwischen 100% mit beiden Compilern (fpc/dcc32) und 95% sind schon auf Funktion unter FPC getestet

Zitat von Bernhard Geyer:
Und was machst du wenn du "Ω=∑aa−≍⋥ ä" benötigst?
Wahrscheinlich SYMBOL_CHARSET? Benötige ich im genannten Beispiel ja nicht
Aber wo ich Unicode wirklich brauche, verwende ich selbstverständlich auch Unicode, genauso wie in meinen eigenen UI-Klassen.

Ich sprech mich ja nicht dafür aus, daß Codepages & ANSI die ideale Lösung sind, nur daß die eben eine durchaus gut funktionierende Lösung sind, wenn man ein einfaches ANSI-Projekt mit durchgehend einer Benutzersprache umstellen will, und eben eigentlich nicht die Probleme machen muss, die Du erwähntest.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 00:50 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