本地化 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 会非常有用。例如,假设用户说法语和西班牙语,并且他们的系统语言是法语。您的应用程序默认为英语,翻译为西班牙语。如果您尝试强制使用系统语言(法语),用户将获得英语(他们听不懂)。如果您什么都不做,他们就会说西班牙语(他们确实听得懂)。
我在 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 会非常有用。例如,假设用户说法语和西班牙语,并且他们的系统语言是法语。您的应用程序默认为英语,翻译为西班牙语。如果您尝试强制使用系统语言(法语),用户将获得英语(他们听不懂)。如果您什么都不做,他们就会说西班牙语(他们确实听得懂)。