如何在 iOS 应用程序中显示语言版本

How to show language version in an iOS app

我有一个 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 }

但我还想包括变体信息(加拿大、美国等)。有什么想法吗?

谢谢!

找到答案。

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

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

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

这将 return“英语(加拿大)”或任何语言代码,与“设置”应用中的一样。