如何使用新的字符串目录系统动态更改应用程序语言?

问题描述 投票:0回答:1

我想知道如何使用新的字符串目录系统动态手动获取和更改当前应用程序语言。

尝试在 https://developer.apple.com/documentation/xcode/localization

查看文档以获取信息

我希望有一种方法可以获取当前的语言环境,并有一个函数可以更改它......

swift xcode swiftui localization string-catalog
1个回答
4
投票

如果您的应用程序支持 iOS 13+ 或 macOS 10.15+,您不再需要提供在应用程序中选择语言的方法。
Apple 支持每个应用程序本地化:

如何在您的应用程序中支持每个应用程序的语言设置

当您本地化您的应用程序时,世界各地的人们都可以用他们觉得最舒服的语言查看您的内容。借助最新版本的 iOS 和 macOS,人们可以通过为每个应用程序选择语言来获得更多控制权。例如,某人可能将 iPhone 的语言设置为英语,但想要使用阿拉伯语的社交媒体应用程序。

Apple 明确建议不要手动进行语言切换:

如果您当前提供此类 UI,则应将其删除,以避免客户混淆以及与系统的潜在冲突。 如果您想引导人们进行系统设置以进行语言选择,您可以将应用程序的自定义 UI 替换为直接启动到 iOS 上的“设置”应用程序中的流程。 在 iOS 上,添加以下内容:

UIApplication.shared.open(URL(string: UIApplication.openSettingsURLString)!)


在 macOS 上,引导用户进入“系统偏好设置”>“语言和区域”,为您的应用添加每种语言的设置。

© www.soinside.com 2019 - 2024. All rights reserved.