![]() |
Betriebssystem Sprache auslesen
Hallo zusammen,
ich möchte die Betriebssystem Sprache auslesen (mit Delphi 2010), dabei ist mir egal, ob "en" oder "en-US" etc. ermittelt wird, wichtig ist mir eine Unterscheidung nach Englisch und Deutsch. Habe versucht, Google dafür zu nutzen, aber bekomme bei Suchbegriffen mit Delphi und Sprache oder Language etc nichts Vernünftiges raus :-) Vielen Dank für eure Hilfe im voraus :-) Firlefanz |
AW: Betriebssystem Sprache auslesen
womöglich hilft dir das schon weiter:
![]() erster Google-Eintrag den ich gefunden habe :D |
AW: Betriebssystem Sprache auslesen
Versuch das Mal:
Delphi-Quellcode:
Kann es gerade nicht testen, scheint jedoch das richtige zu sein. ^^
uses
SysUtils, Dialogs; procedure TForm1.FormCreate(Sender: TObject); var i : Integer; begin i := Languages.IndexOf(SysLocale.DefaultLCID); ShowMessage(Languages.Name[i]); end; Edit: Da war wohl einer schneller mit dem genau gleichen Google Eintrag den ich auch als ersten Link gefunden habe^^ |
AW: Betriebssystem Sprache auslesen
Vielen Dank. Das hat mir sehr geholfen :-)
|
AW: Betriebssystem Sprache auslesen
Möchtest du die Betriebssystemsprache wissen oder die beim angemeldeten Benutzer eingestellt ist?
Seit Windows 7 gibt es dort (abhängig von der Version) Unterschiede. Zitat:
Bei Ultimate und Enterprise kann die Anzeige-Sprache durch jeden Benutzer gewählt werden. |
AW: Betriebssystem Sprache auslesen
Betriebssystem-Sprache reicht mir.
Es geht darum, den einstellbaren Default für ein neu installiertes Spiel zu setzen, das deutsche und englische Sprache unterstützt. |
AW: Betriebssystem Sprache auslesen
Ähm, und wo finde ich die Indizes für all die anderen Sprachen. Deutsch hat den Index Nummer 6.
Welchen Index hat die englische Sprache, welchen die französische. Wo gibt es hierzu Doku? |
AW: Betriebssystem Sprache auslesen
Du gehst nicht über den Index des Array aus Language sondern über den Locale identifier von hier
![]()
Delphi-Quellcode:
// DE = 1031 = $0407
var LCID:Integer; begin LCID := Languages.indexOf(SysLocale.DefaultLCID); Showmessage( IntToStr(Languages.LocaleID[LCID]) + '[' +IntToHex(Languages.LocaleID[LCID],4) +']' + '-' + Languages.LocaleName[LCID] + '-' + Languages.Name[LCID]); end; |
AW: Betriebssystem Sprache auslesen
Zitat:
Das verblüfft mich jetzt. Ich hatte soeben diese Idee:
Delphi-Quellcode:
Damit erhalte ich je Index eine Sprache. Mit Ihrer Methode erhalte ich jedoch 1031[0407]-German(Germany)
procedure TForm1.FormCreate(Sender: TObject);
var i: integer; s,s1,s2: String; begin //i := Languages.IndexOf(SysLocale.DefaultLCID); s := ''; for i := 0 to Languages.Count-1 do begin s1 := 'Index: '+ IntToStr(i); s2 := Languages.Name[i]; s := s1 + ' ' + s2; Memo1.Lines.Add(s); s := ''; end; //Label2.Caption := IntToStr(i); //ShowMessage(Languages.Name[i]); end; Ich suche das, um die Systemsprache zu ermitteln, um in einer eigenen Anwendung davon abhängig die Bedienersprache einzustellen. Daher suchte ich eine Tabelle mit den Indizes. Damit ich später abhängig von diesem Index die richtige Sprache in meiner Anwendung eistellen kann. . |
AW: Betriebssystem Sprache auslesen
Ich würde mich nur nicht auf den Index verlassen sondern mich per Languages.IndexOf auf den Locale identifier beziehen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:46 Uhr. |
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