Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Internationalisierung (https://www.delphipraxis.net/70571-internationalisierung.html)

Baeuerle 1. Jun 2006 08:23


Internationalisierung
 
Hallo zusammen,

ich möchte meine Anwendung in verschiedene Sprachen übersetzten und habe mir folgende Vorgehensweise überlegt.

Pro Sprache wird eine Datei angelegt, die alle von mir gesetzten Strings enthält. Beim erzeugen eines Formulars wird über Konstanten der jeweilige Text gesucht und gesetzt. Die String von Systemfehlermeldungen werden nicht in das Sprachfile übernommen, da diese automatisch ermittelt werden, korrekt?

Bsp:
Delphi-Quellcode:

const RC_MAIN_CAPTION = 0;
      RC_START_CAPTION = 1;

function GetText(Index: WORD): String;
begin
// Ermittelt den Text aus dem aktuell zugeordneten Sparchfile
end;

procedure TFomr1.Create(Sender: TObject);
begin
Caption:=GetText(RC_MAIN_CAPTION);
Button1.Caption:=GetText(RC_START_CAPTION);
.
.
.
end;
Ist diese Vorgehensweise sinnvoll ??
Ich wäre über Eure Meinung dankbar.

Bernhard Geyer 1. Jun 2006 08:37

Re: Internationalisierung
 
GNU Gettext

Baeuerle 1. Jun 2006 08:44

Re: Internationalisierung
 
Ja, ich habe darüber hier schon etwas gelesen, und habe es auch schon versucht.

Mich stören dort aber einige Dinge.
Es werden massig Strings zum übersetzen Angeboten die ich nicht übersetzten muss z.b. Schriftarten

Wäre meine Methode nicht umsetzbar?

Du hast diese empfehlung schon mehrere male ausgesprochen, und hast dann bestimmt auch schon damit gearbeitet. Kannst du mir vielleich ein Minibeispiel zukommen lassen ( Hallo Welt; Hello world ) inkl. *.mo; *.po und einbindung in den Code.

Ich wäre Dir super dankbar.

Bernhard Geyer 1. Jun 2006 20:30

Re: Internationalisierung
 
Zitat:

Zitat von Baeuerle
Mich stören dort aber einige Dinge.
Es werden massig Strings zum übersetzen Angeboten die ich nicht übersetzten muss z.b. Schriftarten

AFAIK kann man Properties angeben die Ignoriert werden.

Zitat:

Zitat von Baeuerle
Du hast diese empfehlung schon mehrere male ausgesprochen, und hast dann bestimmt auch schon damit gearbeitet. Kannst du mir vielleich ein Minibeispiel zukommen lassen ( Hallo Welt; Hello world ) inkl. *.mo; *.po und einbindung in den Code.

Wir setzen ein System ein das im Prinzip genauso Funktioniert jedoch statt po und mo-Files Excelfiles verwendet und diese mit einem eigenen Programm nach Resourcen-DLL's umsetzt. Aber als wir alles fertig hatten haben wir diese Lösung entdeckt.

semo 1. Jun 2006 21:34

Re: Internationalisierung
 
arbeitet niemand mit dem ITM (internal translation manager)
da kann man doch auch noch schön bei bedarf die übersetzten formulare anpassen, wenn mal ein string zu lang sein sollte....

Baeuerle 2. Jun 2006 08:04

Re: Internationalisierung
 
@computer-glossar.de

hast du mir die URL zu deren website?

@Bernhard Geyer

Du hast recht jedoch können die Klassen bzw. Properties nur beim übersetzten und nicht beim ermitteln der Wörter ausgeschlossen werden!!!

Delphi-Quellcode:
TP_GlobalIgnoreClass(TFont);
TP_GlobalIgnoreClassProperty(TControl,'Name');
Und mein Problem ist, dass ich während der Analyse die Klassen bzw. Properties ignorieren möchte !!!

Corth 2. Jun 2006 09:42

Re: Internationalisierung
 
Von Peter Tiemann gibt es ein Tool welches ich seit Jahren verwende.
Unter www.preview.org ist näheres zu finden.
Vielleicht hilft das weiter...

Gruß ulli


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz