Моторокер
![](images/avatars/952320384818503e6d13d.gif)
|
Posted: Fri May 25, 2007 15:29 Post subject: Автоопределение языка |
|
|
Добавляю в плагин автоопределение языка.
При первой загрузке сравниваю этой функцией название текущего языка со строкой Name в lng файле.
Code: | { Определение текущего языка }
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, там есть такие строчки:
Code: | (*
* 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. } |
Типа язык и подъязык. Не понял, как их можно использовать и можно ли. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|