Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Anwendung mit Resourcestring mehrsprachig, aber wie? (https://www.delphipraxis.net/73652-anwendung-mit-resourcestring-mehrsprachig-aber-wie.html)

Mazel 21. Jul 2006 09:09


Anwendung mit Resourcestring mehrsprachig, aber wie?
 
Hallo,

ich möchte meine Anwendung mehrsprachig machen, dass heißt Englisch und Deutsch. Nun habe ich im Forum gesucht und einige Themen gefunden die sich mit mehrsprachige Anwendungen beschäftigen. Doch die meisten verwenden wohl die GNU GetText, die ich nicht nehmen will sondern ich möchte es über eine Resource selber machen.

Die Frage ist, wie ich solch eine Resource erstelle?

Ich weis es geht über Resourcestring, aber ich habe mich damit noch nie beschäftigt, dass soll sich nun ändern :wink:.

Gruß
Mazel

Bernhard Geyer 21. Jul 2006 09:12

Re: Anwendung mit Resourcestring mehrsprachig, aber wie?
 
Und wieso nicht über GNU GetText?

Ab der Pro-Version gäbe es noch die Möglichkeit mit Resourcen-DLL's zu arbeiten und auch noch IDE-Unterstützung zu haben. Aber wenn du nur die Personal-Version hast wirst Du diese Möglichkeit nicht haben.

Mazel 21. Jul 2006 09:18

Re: Anwendung mit Resourcestring mehrsprachig, aber wie?
 
Hi,

mit der Personal ist es also nicht möglich eine mehrsprachige Anwendung ohne zusätzliche Programme zu erstellen?

Bernhard Geyer 21. Jul 2006 09:33

Re: Anwendung mit Resourcestring mehrsprachig, aber wie?
 
Möglich schon aber mit großen Aufwand.

Mazel 21. Jul 2006 09:39

Re: Anwendung mit Resourcestring mehrsprachig, aber wie?
 
Mhm,

man könnte doch Konstanten deklarieren und immer, wenn der Benutzer die Sprache ändert, die entsprechenden Konstanten setzen.

Gruß
Mazel

Bernhard Geyer 21. Jul 2006 10:35

Re: Anwendung mit Resourcestring mehrsprachig, aber wie?
 
Möglichkeiten gibt es viel und jede Methode hat Vor und Nachteile.
Aber wieso nicht eine fertige Lösung nehmen die schon viele der Probleme gelößt hat auf die du stoßen wirst wenn du die nächste Variante entwickelst.

Mazel 21. Jul 2006 11:08

Re: Anwendung mit Resourcestring mehrsprachig, aber wie?
 
Mhm.

ok, du hast mich überzeugt. Das Problem, was die GNU GetText hat ist, das sie nicht frei ist, oder habe ich da falsche Informationen? Ich muss doch da eine Licene.txt und noch andere Informationen mitliefern, oder doch nicht?

Gruß
Mazel

Ralf Kaiser 21. Jul 2006 11:14

Re: Anwendung mit Resourcestring mehrsprachig, aber wie?
 
Zitat:

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

Mazel 21. Jul 2006 11:27

Re: Anwendung mit Resourcestring mehrsprachig, aber wie?
 
Hi,

warum ich die GNU GetText nicht haben will steht ein Beitrag weiter oben.

Wenn ich das so mache wie du, wo ist dann der andere Teil für die englische Sprache?

Gruß
Mazel

Ralf Kaiser 21. Jul 2006 11:34

Re: Anwendung mit Resourcestring mehrsprachig, aber wie?
 
Zitat:

Zitat von Mazel
warum ich die GNU GetText nicht haben will steht ein Beitrag weiter oben.

Diese Lizenzeinschränkung gilt nur, wenn du den Code des Projektes, also die Programme/DLLs die zu GNUGetText gehören weitergeben willts. So musste Lars Dybdahl, der Autor der Delphi-Umsetzung diese Dateien beilegen da er Teile des Originalcodes verwendet und weitergibt.

Wenn du das System einfach nur verwendest dann muss keine Lizenz weitergegeben werden.

Ciao,
Ralf


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 Uhr.
Seite 1 von 3  1 23      

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-2025 by Thomas Breitkreuz