Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
本地化UWP应用程序_Uwp - Fatal编程技术网

本地化UWP应用程序

本地化UWP应用程序,uwp,Uwp,我在文件夹字符串中有一个资源文件,其中包含区域性的子文件夹。请参见此图: 同样在appxmanifest I中,默认语言设置为“en”。 但不幸的是,这种语言并没有随着系统语言的变化而变化 我错过什么了吗 链接至回购: 编辑:如评论中所建议的,将这行代码添加到App.cs中的OnLaunched方法解决了以下问题: ApplicationLanguages.PrimaryLanguageOverride = GlobalizationPreferences.Languages[

我在文件夹字符串中有一个资源文件,其中包含区域性的子文件夹。请参见此图:

同样在appxmanifest I中,默认语言设置为“en”。 但不幸的是,这种语言并没有随着系统语言的变化而变化

我错过什么了吗

链接至回购:

编辑:如评论中所建议的,将这行代码添加到App.cs中的OnLaunched方法解决了以下问题:

        ApplicationLanguages.PrimaryLanguageOverride = GlobalizationPreferences.Languages[0];
    ApplicationLanguages.PrimaryLanguageOverride = GlobalizationPreferences.Languages[0];

正如评论中所建议的,将这行代码添加到App.cs中的OnLaunched方法解决了以下问题:

        ApplicationLanguages.PrimaryLanguageOverride = GlobalizationPreferences.Languages[0];
    ApplicationLanguages.PrimaryLanguageOverride = GlobalizationPreferences.Languages[0];

这与操作系统语言(语言包)无关,而是与用户的首选语言有关:

  • 开始
  • 背景
  • 时间与语言
  • 地区与语言
  • 添加一种语言
  • 设置为默认值
这将设置应用程序的语言首选项,而不会影响Windows外壳等的语言


Windows有两个语言概念——系统语言,这是“开始”菜单、资源管理器和大多数Win32应用程序使用的语言,然后是用户首选语言列表,这是UWP应用程序默认使用的语言。在许多情况下,System Language==UPLL中唯一的语言,因为用户只关心一种语言,但是如果他们说多种语言,那么UPLL可能非常有用。例如,假设用户说法语和西班牙语,他们的系统语言是法语。您的应用程序默认为英语,并翻译为西班牙语。如果您尝试将其强制为系统语言(法语),用户将获得英语(他们不懂)。如果你什么也不做,他们会说西班牙语(他们确实懂)。

你试过用“de de”和“en US”来代替吗?另外,在
App.xaml.cs
中的
OnLaunched
方法中,尝试调用
ApplicationLanguages.primarylanguagesoverride=Windows.System.UserProfile.GlobalizationPreferences.Languages[0]或强制使用特定语言,如
ApplicationLanguages.primarylanguagesoverride=“de de”。也许这会有帮助?我试过用“de de”和“en-US”但没用。但是调用PrimaryLanguageOverride完成了任务。谢谢=)您可以共享任何语言的resw文件吗?您是否提供了UID字段?答案已在第一条注释中找到。我对它进行了编辑。但我想如果我有一个单独的答案,它会更容易被发现。无论如何谢谢你。(仅供记录:原始问题=)你为什么强制使用系统语言而不是遵循用户的语言偏好?也许我不理解你的意思,但从我的角度来看,如果用户的电脑是德语的,那么应用程序应该是德语的。例外情况是,如果你在应用程序中使用我目前不提供的设置覆盖该设置。请参阅下面我的旧答案中的其他信息。