iOS16中SwiftUI AppIntents如何本地化Summary?
解决SwiftUI AppIntent Summary本地化问题
检查文件命名与路径
确保西班牙语版的本地化文件名为AppShortcuts.strings(注意是复数形式,你示例中写的AppShortcuts.string少了s,这是常见错误),并且放在对应语言的.lproj文件夹中,比如es.lproj(西班牙语)、en.lproj(英语),同时要把这些文件夹添加到项目的target资源中。对齐本地化字符串的Key
本地化文件中的Key必须和代码里Summary的字符串完全匹配,包括空格和参数占位符:
英语版(en.lproj/AppShortcuts.strings):"add ${numberOne} ${numberTwo}" = "Add: ${numberOne} ${numberTwo}";西班牙语版(es.lproj/AppShortcuts.strings):
"add ${numberOne} ${numberTwo}" = "Sumar: ${numberOne} ${numberTwo}";确保代码参数映射正确
代码中的参数引用\(\.$numberOne)会自动对应本地化字符串里的${numberOne}占位符,你的现有代码写法是正确的,无需修改:static var parameterSummary: some ParameterSummary { Summary("add ${numberOne} ${numberTwo}") { \.$numberThree \.$numberFour } }验证项目配置
- 打开项目的
Info.plist,确认已添加英语和西班牙语的语言支持。 - 选中
AppShortcuts.strings文件,检查右侧面板的Target Membership,确保勾选了主应用target。
- 打开项目的
测试要点
切换系统语言到西班牙语后,重启App和快捷指令应用(本地化缓存可能导致即时切换不生效),再测试快捷指令的显示效果。
内容的提问来源于stack exchange,提问作者Adri
相关产品推荐
相关产品推荐

