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.
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates