ios - 如何在 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 }
但我也想包括变化信息(加拿大、美国等)。有任何想法吗?
谢谢!
解决方案
找到了答案。
只需像往常一样从捆绑包中获取标识符:
guard let langCode = Bundle.main.preferredLocalizations.first else { return nil }
然后使用语言环境的localizedString(forIdentifier:)
:
Locale.autoupdatingCurrent.localizedString(forIdentifier: langCode)
这将返回“英语(加拿大)”或任何语言代码,就像在设置应用程序中一样。
推荐阅读
- python - Python如何在requests.get url中添加多个输入
- docker - 计算机崩溃时如何恢复 Tarantool docker?
- html - 从包含某些单词的“div class”中选择内容
- java - 仅通过代理进行 Azure 调用
- ruby-on-rails - 如何使用 Rails 6.0.3.3 和 Ruby 2.7.1 使这个 ActiveRecord 调用更高效
- python - Python网络抓取倒数计时器值
- clickhouse - clickhouse-backup 命令的身份验证
- c# - 在 ASP.NET MVC 中,如何验证枚举范围的整数属性
- sql - SQL Server -- 窗口函数不能使用“在 xx 和 xx 之间”
- python - 具有多个值的 Pandas/Python Map 字典键