Einzelnen Beitrag anzeigen

Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#5

Re: multilingual mit ini datei ?

  Alt 11. Mai 2006, 13:59
Ich hab das wie folgt gelöst:

- jede Sprache hat eine eigene INI Datei
- diese Datei hat folgenden Aufbau:
Zitat:
[Language File Information]
Creator_Name=Thomas
LanguageID=$00000405

[Main Window]
Button_Close=Close
Button_Options_CheckNow=Check now

... u.s.w. ...
- über das Auslesen alle Languagedateien aus dem Verzeichnis und der LanguageID kann ich ganz leicht ne Combobox füllen lassen mit allen vorhandenen Sprachen

- dann gibt's noch in jeder Form eine Funktion, die beim Erstellen der Form und beim Ändern der Spracheinstellungen aufgerufen wird - diese Function sieht so aus bei mir

Delphi-Quellcode:
procedure TfrmOnlineUpdate.LoadLocalizedStrings;
const cLngFormSection = 'OnlineUpdate Window';
begin
  Caption := GetLocalizedString(cLngFormSection, 'Caption', Caption);
  btnClose.Caption := GetLocalizedString(cLngFormSection, 'Button_Close', btnClose.Caption);
  Label1.Caption := GetLocalizedString(cLngFormSection, 'Label_YourVersion', Label1.Caption);
  Label2.Caption := GetLocalizedString(cLngFormSection, 'Label_CurrentVersion', Label2.Caption);
  Label3.Caption := GetLocalizedString(cLngFormSection, 'Label_UpdateDate', Label3.Caption);
  Label4.Caption := GetLocalizedString(cLngFormSection, 'Label_LastVersionNews', Label4.Caption);
  Label5.Caption := GetLocalizedString(cLngFormSection, 'Label_ClickHereToDownload', Label5.Caption);
  fUnknown := GetLocalizedString(cLngFormSection, 'Text_Unknown', fUnknown);
end;
(Aufbau von GetLocalizedString: 1. Parameter = Section; 2. Parameter = Ident; 3. Parameter = Standardwert)
- GetLocalizedString geht nun in die aktuell ausgewählte Sprachdatei und liest mit Hilfe der INI Functionen den entsprechenden Text aus der Sprachdatei aus - falls dieser nicht vorhanden ist wird dieser Eintrag in der Sprachdatei mit dem Standardwert ergänzt

Das ist eigentlich auch schon alles. Aus dem oben genannten solltest du eigentlich ohne Probleme deinen eigenen Code ableiten/erstellen können.

Gruss
Thomas
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat