Чтобы получить информацию о том, какой язык используется для пользовательского интерфейса Windows текущим пользователем, вы должны использовать функцию GetUserDefaultUILanguage вместо GetSystemDefaultLangID
Если текущий пользователь не установиллюбой язык, который затем возвращается System UI Language.
Для Delphi 2007 вам нужно объявить функцию, так как она не существовала на момент выпуска этой версии.Обратите внимание, что если делать это статически, как показано здесь, ваше приложение больше не будет работать в версиях Windows до Windows 2000.
function GetUserDefaultUILanguage: LANGID; stdcall; external 'kernel32';
function GetUsersWindowsLanguage: string;
var
WinLanguage: array [0..50] of char;
begin
VerLanguageName(GetUserDefaultUILanguage, WinLanguage, 50);
Result := WinLanguage;
end;