Sprache des Betriebssystems herausfinden
Sprache des Betriebssystems herausfinden
Hallo, mit welchen Befehlen kann man die Sprache des Betriebssystems (in meinem Fall Windows) herausfinden?
- jwdietrich
- Beiträge: 173
- Registriert: Mo 20. Okt 2008, 20:50
- OS, Lazarus, FPC: macOS 10.4-14.1, Windows 2000-11, Raspbian (L 3.7.0, FPC 3.2.2)
- CPU-Target: PowerPC, Intel, ARM
- Wohnort: Hattingen, NRW
- Kontaktdaten:
Re: Sprache des Betriebssystems herausfinden
In meinen Programmen verwende ich immer die folgende Funktion:
Sie hat den Vorteil, dass sie auch OS X (z. B. macOS) unterstützt.
Code: Alles auswählen
function GetOSLanguage: string;
{platform-independent method to read the language of the user interface}
var
l, fbl: string;
{$IFDEF LCLCarbon}
theLocaleRef: CFLocaleRef;
locale: CFStringRef;
buffer: StringPtr;
bufferSize: CFIndex;
encoding: CFStringEncoding;
success: boolean;
{$ENDIF}
begin
{$IFDEF LCLCarbon}
theLocaleRef := CFLocaleCopyCurrent;
locale := CFLocaleGetIdentifier(theLocaleRef);
encoding := 0;
bufferSize := 256;
buffer := new(StringPtr);
success := CFStringGetPascalString(locale, buffer, bufferSize, encoding);
if success then
l := string(buffer^)
else
l := '';
fbl := Copy(l, 1, 2);
dispose(buffer);
{$ELSE}
{$IFDEF UNIX}
fbl := Copy(GetEnvironmentVariable('LC_CTYPE'), 1, 2);
{$ELSE}
GetLanguageIDs(l, fbl);
{$ENDIF}
{$ENDIF}
Result := fbl;
end;
-
- Beiträge: 56
- Registriert: So 24. Jan 2016, 18:31
- OS, Lazarus, FPC: Windows(10,8.1,7), Archlinux, Debian
- CPU-Target: 64Bit + 32Bit
- Wohnort: Winnenden
- Kontaktdaten:
Re: Sprache des Betriebssystems herausfinden
Man kann es auch aus der Registry auslesen.
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\Language
InstallLanguage"="0407 steht dafür, das Windows auf Deutsch ist.
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\Language
InstallLanguage"="0407 steht dafür, das Windows auf Deutsch ist.
Wissen ist Macht und ich weis, das ich nichts weis