对于我的软件项目,我正在查找每个语言环境的语言显示名称列表,因为它们是用相应的语言编写的,例如pt_BR中的“Português”或jp_JP中的“日本语”。
答案 0 :(得分:3)
您可以在CLDR(公共区域设置数据存储库)中找到此类数据,或使用软件中使用CLDR数据的ICU库。以下是葡萄牙语有关语言名称的数据excerpts:
...
<language type="ps">pashto</language>
<language type="ps" alt="variant" draft="contributed">pushto</language>
<language type="pt">português</language>
<language type="pt_BR">português do Brasil</language>
<language type="pt_PT">português europeu</language>
<language type="qu">quíchua</language>
...
此外,您可以通过ICU查看the demo pages以查看信息的可用性。使用ICU根据特定区域设置获取特定语言的名称很简单。在这里,我引用了this answer:
#include <unicode/locid.h>
#include <unicode/ustream.h>
#include <iostream>
int main()
{
Locale l("pt_BR");
UnicodeString result;
std::cout << l.getDisplayName(l, result) << std::endl;
}
答案 1 :(得分:1)
你在哪个平台上?如果您使用的是Win32,则需要GetLocaleInfoEx
LOCALE_SNATIVELANGUAGENAME
。如果您使用.Net,则需要System.Globalization.CultureInfo
对象上的NativeName
属性。如果您使用的是WinRT,则需要Windows.Globalization.Language
对象上的NativeName
属性。