При первой загрузке сравниваю этой функцией название текущего языка со строкой Name в lng файле.
Код: Выделить всё
{ Определение текущего языка }
function WhichLanguage: string;
var
ID: LangID;
Language: array [0..100] of char;
begin
ID:= GetSystemDefaultLangID;
VerLanguageName(ID, Language, 100);
Result:= String(Language);
end;Maximus предложил делать по другому – хранить в lng файле id и сравнивать его с GetSystemDefaultLangID, как в decClipboardFS.
Думаю сделать подобное в дополнение к первому способу, только в id указывать несколько значений, чтобы автоматом определять язык для языков, используемых в нескольких странах.
Залез в Windows.pas, там есть такие строчки:
Код: Выделить всё
(*
* Language IDs.
*
* The following two combinations of primary language ID and
* sublanguage ID have special semantics:
*
* Primary Language ID Sublanguage ID Result
* ------------------- --------------- ------------------------
* LANG_NEUTRAL SUBLANG_NEUTRAL Language neutral
* LANG_NEUTRAL SUBLANG_DEFAULT User default language
* LANG_NEUTRAL SUBLANG_SYS_DEFAULT System default language
*)
const
{ Primary language IDs. }