本地化 UWP 应用程序

Localize UWP App

我在 Strings 文件夹和区域性子文件夹中有一个资源文件。看这张图片:

此外,在 appxmanifest I 中,默认语言设置为 "en"。 但不幸的是,语言不会随着系统语言而改变。

我错过了什么吗?

Link 回购:https://github.com/NPadrutt/MoneyManager

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

        ApplicationLanguages.PrimaryLanguageOverride = GlobalizationPreferences.Languages[0];

按照评论中的建议,将这行代码添加到 App.cs 中的 OnLaunched 方法中解决了问题:

    ApplicationLanguages.PrimaryLanguageOverride = GlobalizationPreferences.Languages[0];

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

  • 开始
  • 设置
  • 时间和语言
  • 地区和语言
  • 添加语言
  • 设为默认值

这将设置应用程序的语言首选项,而不会影响 Windows Shell 等

的语言

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