Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sprache ändern mit ? (https://www.delphipraxis.net/67918-sprache-aendern-mit.html)

gauggi 22. Apr 2006 10:46

Re: Sprache ändern mit ?
 
Zuerst einmal vielen Dank für die Antworten! :-D

Hallo!

Ich hab zu diesem Thema nun auch in der Delphi Hilfe gesucht

und etwas gefunden:

Zitat:

Mit dem Ressourcen-DLL-Experten können Sie für Ihre Anwendung in Ressourcenmodul erstellen. Er steht Ihnen zur Verfügung, wenn Sie ein Projekt geöffnet, compiliert und gespeichert haben. Der Experte erstellt eine RC-Datei, in der die String-Tabellen der verwendeten RC-Dateien und die resourcestring-Strings des Projekts enthalten sind. Die RES-Datei wird aus der neuen RC-Datei compiliert.
Ich besitze Delphi 3 Prof. und Delphi 7 Pers.. Bei beiden Delphi Versionen habe ich den Ressourcen-DLL-Experten nicht gefunden. Wie kann ich Res DLL erstellen?


mfg
gauggi

ichbins 22. Apr 2006 10:54

Re: Sprache ändern mit ?
 
Datei -> Neu -> DLL (?) oder so ;)


ich würde das ganz einfach über INI-Dateien machen.

So wie du es schon gemacht hast musst du zuerst aus einer Datei die gerade eingestellte Sprache auslesen.

Dann öffnest du die Datei mit dem ausgelesenen Namen. Wenn du also 'German' als Sprache ausgelesen hast, öffnest du mit deiner inifile die Datei GERMAN.INI. (Vorraussetzung ist natürlich dass die Datei zuerst erstellt werden muss ;))

aus dieser geöffneten Datei kannst du jetzt alle Strings auslesen:
Delphi-Quellcode:
ini:=tinifile.create('test.ini');
language:=ini.readstring('programm','sprache','Alternativtext, z.B. "English"');
ini.free;
ini:=tinifile.create(language+'.ini');
button1.caption:=ini.readstring('strings','button1.caption','Alternativtext falls der String nicht aus der Datei gelesen werden kann');
form1.caption:=...
Die INI-Dateien baust du so auf:

test.ini (welche du schon hast)
Delphi-Quellcode:
[Programm]
Sprache=German
(...)
German.ini
Code:
[Info]
Languagename=Deutsch
Englishname=German
Copyright=ichbins

[Strings]
form1.caption=Dies ist der Titel von Form1
button1.caption=Ja
showmessage1=Hallo. Dies ist ein sinnloser Text.
...
und die english.lng eben analog dazu:

English.ini
Code:
[Info]
Languagename=English
Englishname=English
Copyright=ichbins

[Strings]
form1.caption=This is the title of Form1.
button1.caption=Yes
showmessage1=Hello. This is a senceless text.
...
Die Sprachinidatei kannst du den ganzen Programmverlauf geöffnet halten und immer die Sprachstirngs die du benötigst einlesen, wie z.B. bei dem Showmessage, das irgendwann angezeigt wird etc.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 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