AGB  ·  Datenschutz  ·  Impressum  







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

Mein Progi soll japanisch sprechen!

Ein Thema von FrankBrin · begonnen am 4. Jul 2005 · letzter Beitrag vom 25. Jul 2005
Antwort Antwort
Seite 1 von 3  1 23      
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#1

Mein Progi soll japanisch sprechen!

  Alt 4. Jul 2005, 14:50
Hallo miteinander,
ich habe da ein nettes Programm, das bereits alle europäischen Sprachen beherrscht. D.h. unabhängig von der Windowseinstellung kann eine Sprache ausgewählt werden und das Programm setzt alle Ausgabetexte in die Sprache um. Dies geschieht über normale Textdateien, in denen die Übersetzungen hinterlegt sind.

So - und jetzt sollen die asiatischen Sprachen noch dazu kommen.

Hat jemand ne Ahnung, wie man sowas anstellt? Die bislang benutzten Textdateien sind in 8-Bit ASCII, muss ich da evtl. auf 16Bit Unicode gehen und dann alle meine Labels, Strings, Buttons usw. auf Unicode erweitern?

Wäre schön, wenn mir jemand da mal einen kleinen Einstieg geben kann

Gruß Frank
Frank Brinschwitz
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.198 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Mein Progi soll japanisch sprechen!

  Alt 4. Jul 2005, 14:54
ElPack
Der Entwickler 5.2003, Artikel "We are a World"
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: Mein Progi soll japanisch sprechen!

  Alt 4. Jul 2005, 14:57
Zitat von FrankBrin:
muss ich da evtl. auf 16Bit Unicode gehen und dann alle meine Labels, Strings, Buttons usw. auf Unicode erweitern?
Schau mal hier vorbei:
TntWare Delphi Unicode Controls
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.198 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Mein Progi soll japanisch sprechen!

  Alt 4. Jul 2005, 15:11
Zitat von FrankBrin:
Hat jemand ne Ahnung, wie man sowas anstellt? Die bislang benutzten Textdateien sind in 8-Bit ASCII, muss ich da evtl. auf 16Bit Unicode gehen und dann alle meine Labels, Strings, Buttons usw. auf Unicode erweitern?
Ach ja. Falls dir jemand eine Lösung auf Basis von Codepages/Charsets vorschlagen will: Vergiss es. Das ist 'ne Frickellösung die nicht 100% Funktioniert (Delphi-Fehler, Win32-Controls-Fehler).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Mein Progi soll japanisch sprechen!

  Alt 6. Jul 2005, 14:34
Zitat:
Ach ja. Falls dir jemand eine Lösung auf Basis von Codepages/Charsets vorschlagen will: Vergiss es. Das ist 'ne Frickellösung die nicht 100% Funktioniert (Delphi-Fehler, Win32-Controls-Fehler).
So jetzt hab ich mich mal ein bischen mit TntWare beschäftigt. Die Controls umzuschreiben ist ja wirklich easy, doch wie in Gottes Namen bekomm ich nun die mittlerweile in Unicode abgelegten Texte aus den Textdateien in die .Captions.
Ist TntWare nicht genau diese "Frickellösung". Ich muss immer diesen Charset umschalten, wenn ich von Hand Captions eintrage.

Irgendwie sieht das alles chaotisch aus!!!

Gruß Frank
Frank Brinschwitz
  Mit Zitat antworten Zitat
MosiXXL
(Gast)

n/a Beiträge
 
#6

Re: Mein Progi soll japanisch sprechen!

  Alt 6. Jul 2005, 14:58
Hier sind auch Hinweise zu diesem Thema.
Entwickler Forum
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.198 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Mein Progi soll japanisch sprechen!

  Alt 6. Jul 2005, 14:59
Zitat von FrankBrin:
So jetzt hab ich mich mal ein bischen mit TntWare beschäftigt. Die Controls umzuschreiben ist ja wirklich easy, doch wie in Gottes Namen bekomm ich nun die mittlerweile in Unicode abgelegten Texte aus den Textdateien in die .Captions.
Indem du einen Unicode-Codierte Textdatei verwendest.

Zitat von FrankBrin:
Ist TntWare nicht genau diese "Frickellösung". Ich muss immer diesen Charset umschalten, wenn ich von Hand Captions eintrage.
Nein TNT geht den richtigen weg. Aber was meinst Du mit "Hand Caption eintragen"?
Das Problem ist eher die Delphi-IDE (welche Delphi-Version hast Du denn?) welche kein Unicode kann.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Mein Progi soll japanisch sprechen!

  Alt 6. Jul 2005, 16:07
Zitat:
Das Problem ist eher die Delphi-IDE (welche Delphi-Version hast Du denn?) welche kein Unicode kann.
Ich verwende D7 Pro unter WinXP Pro (D2005 liegt hier bereits neben mir !!!Angst vor Neuem!!!).

Also jetzt mal konkret:
Ich habe mir erst einmal ein kleines Testprogi erstellt, welches nix anderes tut, wie eine Unicode - TextDatei zeilenweise einzulesen. Die Texte in der Datei zeigt Notepad auch richtig als japanisch an. Also gehe ich davon aus, dass es Unicode ist.
Die Texte werden in ein Array of WideString abgelegt und so ein einzelner WStr weise ich dann einem TntLabel.Caption zu. Das Ganze sieht dann so aus:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons,
  TntForms, TntStdCtrls, TntButtons, TntSystem;

type TForm1 = class(TTntForm)
    Lbl_01: TTntLabel;
    Btn_01: TTntBitBtn;
    Edt_01: TTntEdit;
    TntButton1: TTntButton;
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure TntButton1Click(Sender: TObject);
  private { Private-Deklarationen }
    txtErrTexts : Array of WideString;
  public { Public-Deklarationen }
    MaxErrTexts : Integer;
    procedure ReadUnicode();
end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ReadUniCode();
end; //========================================================================

procedure TForm1.FormActivate(Sender: TObject);
var myWStr : WideString;
begin
  myWStr := txtErrTexts[ 70];
  Lbl_01.Caption := myWStr;
end; //========================================================================

procedure TForm1.ReadUnicode();
var
  tf :   TextFile;
  strLine : WideString;
   fname : String;
  idx : Integer;
  TntWideString
begin
  //Fehlertexte
  fname := 'Txt_Errors.ger';
  if ( FileExists( fname)) then begin
    SetLength( txtErrTexts, 0);
    MaxErrTexts := 0;
    AssignFile( tf, fname);
    Reset( tf);
    while not Eof( tf) do begin
      Readln( tf, strLine);
      idx := AnsiPos( ';', strLine);
      if idx <> 1 then begin //Kommentarzeilen beginnen mit ;
        if idx > 0 then strLine := Copy( strLine, 1, idx - 1); // Alles nach ; entfernen
        //strLine := AnsiDequotedStr( strLine, '"');
        SetLength( txtErrTexts, MaxErrTexts + 1);
        txtErrTexts[ MaxErrTexts] := WideString( strLine);
        Inc( MaxErrTexts);
      end;
    end;
    CloseFile( tf);
  end;
end; //========================================================================

procedure TForm1.TntButton1Click(Sender: TObject);
begin
  Lbl_01.Caption := Edt_01.Text;
end;

end.
Bitte nicht an dem AnsiPos und Copy stören! es ist mir klar, das es nicht tut. Es wird ja auch nicht ausgeführt.

Wenn ich das Ganze debugge, dann sieht das Textfeld txtErrTexts in ReadUnicode echt gut aus. Kommt der Debugger aber in FormActivate steht im Textfeld was anderes und das TntLabel zeigt nix an.

Manchmal komm ich mir vor wie ein Anfänger!!!
Frank Brinschwitz
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: Mein Progi soll japanisch sprechen!

  Alt 6. Jul 2005, 17:15
Hallo,

kann es sein, dass ReadLn nur mit AnsiStrings zurechtkommt?

Versuch doch mal eine TntStringList. Ist wahrscheinlich sowieso die bessere Alternative.

Gruß
xaromz
  Mit Zitat antworten Zitat
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Mein Progi soll japanisch sprechen!

  Alt 7. Jul 2005, 08:29
Zitat:
Versuch doch mal eine TntStringList.
Jaja, die Lösung liegt so Nah und ist so schön einfach. Vielen Dank für den Tip.

Gibt es ausser der Homepage von Troy irgend eine Hilfedatei oder Beschreibung zu den Tnt Controls?

Gruß Frank
Frank Brinschwitz
  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 18:48 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