虽然我已将显示和输入语言更改为我有RESX文件的其他语言,但我总是得到以下方法的en-US:
public System.Globalization.CultureInfo GetCurrentCultureInfo()
{
return new System.Globalization.CultureInfo(
Windows.System.UserProfile.GlobalizationPreferences.Languages[0].ToString());
}
我应该尝试别的吗?
答案 0 :(得分:4)
确保将新语言设置为默认语言:
接下来,有一个问题 - UWP应用程序默认使用RESW文件而不是RESX本身不是问题,因为仍然支持RESX,但是根据项目中包含的可用RESW文件分析支持的语言
您有两种解决方案:
resw
个文件在UWP项目中创建文件夹Strings
,在内部创建您要支持的语言的文件夹 - 例如en-US
,pt-BR
等。
接下来在每个文件夹中添加Resources.resw
文件,方法是右键单击文件夹,选择添加,新项目... 并选择{{1}在列表中。
这足以让UWP接收声明的语言并生成特定于语言的资源。
Resources File (.resw)
此解决方案有点糟糕,因为它删除了自动语言检测,您必须确保每次支持新语言时都要记住修改清单。右键单击Package.appmanifest
文件,找到Package.appmanifest
元素:
Resources
您可以将其替换为您支持的语言列表。第一个应该是您的默认语言:
<Resources>
<Resource Language="x-generate"/>
</Resources>