对于我的软件项目,我正在寻找每个语言环境的语言显示名称列表,因为它们是用相应的语言编写的,例如 pt_BR 中的“Português”或 jp_JP 中的“日本语”。
问问题
179 次
2 回答
3
您可以在CLDR(Common Locale Data Repository)中找到此类数据以及更多内容,或者在您的软件中使用ICU库来利用来自 CLDR 的数据。以下是葡萄牙语有关语言名称的数据摘录:
...
<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 查看信息的可用性。使用 ICU 根据特定语言环境设置获取特定语言的名称很简单。在这里,我引用这个答案:
#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;
}
于 2013-04-30T03:09:15.783 回答
1
你在哪个平台?如果您使用的是 Win32,则需要GetLocaleInfoEx
使用LOCALE_SNATIVELANGUAGENAME
. 如果您在.Net 上,则需要对象NativeName
上的System.Globalization.CultureInfo
属性。如果您使用的是 WinRT,则需要对象NativeName
上的Windows.Globalization.Language
属性。
于 2013-04-29T20:14:22.567 回答