Einzelnen Beitrag anzeigen

Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Anwendung mit Resourcestring mehrsprachig, aber wie?

  Alt 21. Jul 2006, 12:14
Zitat von Mazel:
Die Frage ist, wie ich solch eine Resource erstelle?
Hi,

erstelle eine neue DLL und füge dieser einfach Resourcestrings hinzu:

Delphi-Quellcode:
resourcestring
  STEXT1 = 'Das ist Text Nummer 1';
  STEXT2 = 'Hier ist noch ein Text';
Diese Resourcestring werden wie Konstanten definiert nur eben mit dem Schlüsselwort "resourcestring" anstatt "const". Das sorgt dann dafür, daß diese Strings in die Resourcen des betreffenden Moduls (also der DLL oder der EXE) aufgenommen werden.

Anschliessend können diese Strings mittels "LoadString" aus der Resource geladen werden. Da sich Resourcen in (z.B.) DLLs auslagern lassen können diese ganz einfach ausgetauscht werden => andere Sprache.

GNUGetText nimmt dir diese ganze Arbeit nun ab und verwendet eine eigene Version von "LoadString" welche die Daten nicht aus der Resource sondern aus den MO-Dateien liest. Die Übersetzung findet also fast ohne eine Zeile Code (genauer ein Aufruf von "TranslateComponent()") von deiner Seite statt. Warum willst du GNUGetText nicht verwenden?

Texte die nicht in Formularen (DFM-Dateien) sondern im Code stehen müssen trotzdem als Resourcestrings definiert werden da GNUGetText diese ausliest wenn die PO-Dateien erzeugt werden.

Ciao,
Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat