我想根据用户当前的区域下载网站的内容。为此我需要国家代码,如US
,FR
等。如何获得?
我试过这些:
这总是显示美国。我认为它来自应用程序清单。
var region = RegionInfo.CurrentRegion;
和此:
var cultureName = new DateTimeFormatter("longdate", new[] { "US" }).ResolvedLanguage;
return new CultureInfo(cultureName);
这是有效的。返回类似en-US
的内容,我可以从中提取国家/地区代码。但有时它可能只返回没有国家/地区代码的语言en
。
如何获取系统当前的两个字符国家/地区代码?感谢。
答案 0 :(得分:5)
要获得用户的家庭区域设置,我们可以使用GlobalizationPreferences.HomeGeographicRegion属性。
// Obtain the user's home geographic region.
var region = Windows.System.UserProfile.GlobalizationPreferences.HomeGeographicRegion;
主页区域通常在安装Windows时设置,并且可用于 设置→时间&语言→地区&语言→国家或地区。
Windows.Globalization还有一个GeographicRegion对象,作为辅助对象提供。它允许应用程序检查有关特定区域的详细信息,例如其显示名称,本机名称和正在使用的货币。
// Get the user's geographic region and its two-letter identifier for this region.
var geographicRegion = new Windows.Globalization.GeographicRegion();
var code = geographicRegion.CodeTwoLetter;
有关详细信息,请参阅Manage language and region。