Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Sprache abfragen (https://www.delphipraxis.net/22638-sprache-abfragen.html)

PhaTTy 20. Mai 2004 16:09


Sprache abfragen
 
Ich schreibe gerade eine Klasse mit der ich meine Anwendungen lokalisieren will. Ich suche gerade nur noch eine API-Funktion die mit die Sprache des Betriebsystems im ISO-Format liefert. z.B. Deutsch wäre "de", Englisch "en" usw. Bisher habe ich keine WinAPI Funktion gefunden die das kann. Vielicht gibt es auch gar keine. In der JCL ist sowas drin, aber die JCL will ich nicht unbedingt nutzen.

Nicodius 20. Mai 2004 16:10

Re: Sprache abfragen
 
bei der JCL sind doch die Quellcodes auch dabei... :gruebel: dann schau einfach nach wie die das geamcht haben :mrgreen:

toms 20. Mai 2004 16:20

Re: Sprache abfragen
 
Hi,

Vielleicht hilft dir

VerLanguageName + Parameter GetSystemDefaultLangId/ GetUserDefaultLangId

MathiasSimmack 20. Mai 2004 16:20

Re: Sprache abfragen
 
Zitat:

Zitat von PhaTTy
Bisher habe ich keine WinAPI Funktion gefunden die das kann. Vielicht gibt es auch gar keine.

Und wie wäre das:
Delphi-Quellcode:
program GetLocaleID;

uses
  Windows;

var
  buf : array[0..MAX_PATH]of char;
begin
  ZeroMemory(@buf,sizeof(buf));
  GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SABBREVLANGNAME,buf,sizeof(buf));
  MessageBox(0,buf,'Your locale ID is',0);
end.

PhaTTy 20. Mai 2004 16:26

Re: Sprache abfragen
 
Danke ich denke das sollte mir alles weiterhelfen!

toms 20. Mai 2004 16:30

Re: Sprache abfragen
 
Habe auch noch eine Funktion für GetLocaleInfo geschrieben:
(Evtl für die Code-Lib)

Delphi-Quellcode:
function GetWindowsLanguage(LCTYPE: LCTYPE {type of information}): string;
var
  Buffer : PChar;
  Size : integer;
begin
  Size := GetLocaleInfo (LOCALE_USER_DEFAULT, LCType, nil, 0);
  GetMem(Buffer, Size);
  try
    GetLocaleInfo (LOCALE_USER_DEFAULT, LCTYPE, Buffer, Size);
    Result := string(Buffer);
  finally
    FreeMem(Buffer);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption := GetWindowsLanguage(LOCALE_SABBREVLANGNAME);
 (*
  LOCALE_ILANGUAGE          { language id }
  LOCALE_SLANGUAGE          { localized name of language }
  LOCALE_SENGLANGUAGE       { English name of language }
  LOCALE_SABBREVLANGNAME    { abbreviated language name }
  LOCALE_SNATIVELANGNAME    { native name of language }
 *)
end;


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