我有一个非常奇怪的问题。我正在对我的项目实施本地化,但是当我尝试让当前的语言环境 Windows 正在运行时,它错过了国家信息。这是一个示例代码:
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
CultureInfo culture = CultureInfo.CurrentUICulture;
Console.WriteLine("The current UI culture is {0} [{1}]",
culture.NativeName, culture.Name);
}
}
当我以最常用的语言(En-US、FR-fr)运行它时,它会正确返回。但是,例如,当我从比利时选择法语时,它会检索我 FR-fr 而不是 FR-be - 即使我从语言首选项选项中删除了法国的法语。
我想知道无论我的软件位于哪个国家/地区,我如何才能始终正确选择国家/地区。
ps:使用 CurrentCulture 不是我正在寻找的答案,因为我想要匹配我在 UI 中使用的显示语言,而不是日期/时间/数字格式(它们可能完全不同)。