1

对于我的软件项目,我正在寻找每个语言环境的语言显示名称列表,因为它们是用相应的语言编写的,例如 pt_BR 中的“Português”或 jp_JP 中的“日本语”。

4

2 回答 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 回答