我需要解决以下问题。这似乎很简单,但我卡住了。以特定语言获取国家/地区名称,而不是系统范围内的所选语言
我正在写一个转换器,它将一个国家的地理区域代码作为输入,并且应该以应用程序的显示语言返回国家的名称。
例(目标功能)
应用语言: “FR”
输入: “US”
输出: “États紫光”
为此我使用以下代码。
public object Convert(object value, Type targetType, object parameter, string language)
{
string countryCode = (string)value;
var country = new Windows.Globalization.GeographicRegion(countryCode);
return country.DisplayName;
}
问题在于它以系统范围选定的语言返回国家。例如。
实施例2
系统语言: “EN-US”
应用程序语言(经由PrimaryLanguageOverride设置): “FR”
输入: “US”
输出:美国
我怀疑发生了什么是Windows.Globalization.GeographicRegion
类获得其培养来自系统范围设置的数据,而不是来自应用程序文化设置。
有没有人知道这个解决方法?
有没有一种方法可以为转换器运行的线程设置不同的文化?
可能是一个错误,似乎并没有采取系统设置,因为我将系统默认语言更改为法语和荷兰语进行测试。 – Bart
@Bart感谢您花时间检查此内容。你能告诉我你试过了什么,并得到了什么结果? – Corcus