您的位置:首页 > 其它

How can I read native text of current locale?

2009-11-22 21:54 369 查看
How can I read native text of current locale?
Sometimes in application we want to show a text with description of current used locale.
For example, "english", "russian", "ukrainian", "chinese" etc

For this task you can use VerLanguageName function from Windows API:

var
ID: LangID;
LanguageName: array[0..255] of Char;
begin
{read current system locale}
ID := GetSystemDefaultLangID;

{convert an ID into text}
VerLanguageName(ID, LanguageName, SizeOf(LanguageName));

ShowMessage(LanguageName);
end;

Of course, you can expand this code and to translate a locale as parameter

For example, if ID is $419, you'll receive a "russian". For $$0A - the "Spanish (Traditional Sort)", for $0C0C - the "French (Canadian)", for $407 - "German (Standard)" etc

Important

if ID is incorrect, you'll receive an "Language Neutral" as result
text in result will be translated in the current language. I mean that text will be not in English if you have localized version of MS Windows
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: