如何本地化SwiftUI中AppIntent的LocalizedStringResource标题与描述?
SwiftUI AppIntent 本地化(德语)解决方案
1. 本地化LocalizedStringResource类型的标题
- 在项目中创建Strings Catalog(Xcode 15+优先推荐,也可使用传统
.strings文件) - 在Strings Catalog里添加对应键值对:
- 键:
Create Memory - 德语翻译:
Erinnerung erstellen
- 键:
- 代码无需额外修改,
LocalizedStringResource会自动匹配对应语言的翻译:
(若使用自定义strings文件,可显式指定表名:static var title: LocalizedStringResource = "Create Memory"LocalizedStringResource("Create Memory", table: "CustomTable"))
2. 本地化IntentDescription的文本和分类名
方法一:使用Intent Definition文件
- 新建Intent Definition File,将
Add_Memory_Shortcut关联到该文件中 - 在右侧检查器的
Localization选项添加德语,直接输入对应翻译:- 描述文本:
Eine neue Erinnerung erstellen - 分类名:
Erstellen
- 描述文本:
方法二:使用.strings文件
- 先为项目添加德语本地化语言,生成
de.lproj目录 - 在该目录下创建
Localizable.strings文件,添加以下条目:"Create a new memory" = "Eine neue Erinnerung erstellen"; "Creating" = "Erstellen";
3. 验证效果
切换设备/模拟器的系统语言为德语,打开Shortcuts应用,找到你的App对应快捷动作,确认标题和描述已显示德语翻译。
内容的提问来源于stack exchange,提问作者Timo
相关产品推荐
相关产品推荐

