Delphi-PRAXiS
Seite 2 von 2     12   

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 Stringkonstanten als Resourcestring deklarieren (https://www.delphipraxis.net/11392-stringkonstanten-als-resourcestring-deklarieren.html)

MathiasSimmack 19. Aug 2006 08:42

Re: Stringkonstanten als Resourcestring deklarieren
 
Jetzt muss ich die alte Möhre selbst noch mal hervorholen. Also, ich habe ein paar Dialoge. Jeweils doppelt, einmal mit englischen Sprachangaben, einmal mit deutschen:
Code:
400 DIALOGEX DISCARDABLE 0, 0, 317, 163
STYLE WS_CHILD | WS_DISABLED | WS_CAPTION | DS_SHELLFONT
CAPTION "Konvertierung läuft"
FONT 8, "MS Shell Dlg"
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
// ...


400 DIALOGEX DISCARDABLE 0, 0, 317, 163
STYLE WS_CHILD | WS_DISABLED | WS_CAPTION | DS_SHELLFONT
CAPTION "Starting Task"
FONT 8, "MS Shell Dlg"
LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL
// ...
Wenn ich nach meiner eigenen Beschreibung die deutschen Ressourcen in eine separate DE-Bibliothek kompiliere, dann ignoriert Delphi diese und zeigt mir die englischen Dialoge an. Wenn ich die deutschen Ressourcen aber direkt mit ins Programm einbinde (ohne zusätzliche DE-Datei), dann zeigt mir das Programm die deutschen Dialoge an. Kann ich davon ausgehen, dass jemand mit einem englischen Windows stattdessen die englischen Dialoge sehen würde, oder ist das nur ein Zufall? :gruebel:


Edit: Okay, es scheint zu funktionieren. Gebe ich der englischen Ressource LANG_NEUTRAL, dann zeigt er mir die an. Das erklärt aber nicht, warum die separate DE-Datei nicht mehr funktioniert. :gruebel:

himitsu 25. Jul 2009 07:57

Re: Stringkonstanten als Resourcestring deklarieren
 
wo ich das grad zufällig seh ... theoretisch kann man also über eine externe Sprach-DLL andere Sprachen unterstützen und Delphi dürfte diese auch automatisch laden, aber

die ID/Indizes der ResourceStrings in den Resourcen sind nicht fest und können sich bei jeder Kompilierung oder zumindestens kleineren Änderungen am Programm (Quelltext) ändern
und soweit ich weiß, machte Borland keine Angaben wie/wo sich diese Strings in den Resourcen befinden können.

im Prinzip müßte man also nach (je)dem Compilieren erst in der EXE nachschauen wie und wo die Strings nun liegen und die SprachDLL eventuell anpassen.

Genauso gut dürfte man auch gleich die anderen Sprachresourcen direkt in die EXE einbauen können.

Bernhard Geyer 25. Jul 2009 16:41

Re: Stringkonstanten als Resourcestring deklarieren
 
Falls es nur um die unterstützung von mehrsprachigkeit in der App geht, so schau dir mal GNU Gettext for Delphi an.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 Uhr.
Seite 2 von 2     12   

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