swift - 本地化 iOS 14 动态小部件配置
问题描述
我正在尝试根据应用程序语言为小部件加载不同的配置,但是当我使用类似的东西时:
Locale.preferredLanguages
Bundle.main.preferredLocalizations
Bundle.main.localizations
他们都只在 IntentExtensionTarget 中返回“en”。
这是我使用代码的示例:
extension IntentHandler: ReciterAndSurahIntentHandling {
func provideSurahOptionsCollection(for intent: ReciterAndSurahIntent, with completion: @escaping (INObjectCollection<NSString>?, Error?) -> Void) {
Locale.preferredLanguages
Bundle.main.preferredLocalizations
Bundle.main.localizations
// All of them return "en" only, and I have multiple localization for the app.
}
}
解决方案
您只能获得 EN,因为描述和小部件名称中的本地化是基于设备语言的。如果您尝试将设备语言设置为其他语言,则本地化应该可以工作。就目前而言,无法在小部件描述和名称本地化上使用应用内语言。
推荐阅读
- python - Python Pandas:通过重复项将一列分组并在相应列中连接字符串
- pdf-generation - 在 Joomla 组件中创建 PDF 文件时,外部参照表损坏
- python - userpost() 得到了一个意外的关键字参数“实例”
- javascript - 如何通过以字符串或数组形式给出的自定义顺序对对象数组进行排序?
- python - 如何设置 LSTM 向量输入和输出的大小
- php - 如何检查数组值是否匹配,同时在 PHP 中保留其顺序
- mysql - 选择不同日子的最低/最高温度
- javascript - 组件返回未定义
- javascript - Javascript纸牌游戏:一旦使用卡片,就不再使用卡片?
- python-3.x - 从输入 import Any, Tuple, Deque ImportError: cannot import name 'Deque'