首页 > 解决方案 > 如何在 iOS 应用中显示语言版本

问题描述

我有一个 iOS 应用程序,我试图在其中显示当前选择的语言,但还包括它的变体,即“英语(加拿大)、英语(美国)……”,如附图所示。

图片

我已经在使用 Bundle 中的首选语言,如下所示:

guard let langCode = Bundle.main.preferredLocalizations.first else { return nil }
let locale = Locale.autoupdatingCurrent
guard let language = locale.localizedString(forLanguageCode: langCode)?.localizedCapitalized else { return nil }

但我也想包括变化信息(加拿大、美国等)。有任何想法吗?

谢谢!

标签: iosswiftiphone

解决方案


找到了答案。

只需像往常一样从捆绑包中获取标识符:

guard let langCode = Bundle.main.preferredLocalizations.first else { return nil }

然后使用语言环境的localizedString(forIdentifier:)Locale.autoupdatingCurrent.localizedString(forIdentifier: langCode)

这将返回“英语(加拿大)”或任何语言代码,就像在设置应用程序中一样。


推荐阅读