首页 > 解决方案 > 本地化自定义 SiriKit 意图

问题描述

我的 Xcode 是 v10,我正在为 SiriKit 开发一个针对 iOS 12 的自定义意图。

在 Xcode 10 中,自定义意图设计在 .intentdefinition 文件中,您可以在其中定义自己的意图短语参数以及意图的标题和该意图的 Siri 快捷方式。使用 .intentdefinition 文件构建项目会使 Xcode 自动为该意图生成一个 INIntent 派生类。

我的问题是,为了支持英语以外的其他语言,以便当用户能够操作自定义意图的快捷方式时,意图的标题以系统语言在 General > Siri & Search 中显示,我需要为我的.intentdefinition 文件。

当我尝试在文件检查器中为我的 .intentdefinition 文件添加另一种语言然后构建项目时,我得到:

duplicate output file '/Users/.../IntentDefinitionGenerated/Intents/MyCustomIntent.swift' on task: IntentDefinitionCodegen /Users/.../ru.lproj/Intents.intentdefinition

这很可能发生,因为 Xcode 在文件夹中看到多个 .intentdefinition 文件.lproj并尝试为每个文件生成相同的命名类。

如何本地化 iOS 12 的 .intentdefinition 文件?

标签: iosxcodelocalizationsirikit

解决方案


转到intentdefinition文件 -> File Inspector-> -> 现在为您的文件Select Localize选择当前语言。intentdefinition这会将您现有的intentdefinition文件转换为当前语言。

现在再次选择相同的intentdefinition文件,添加其他语言 -> 它将创建一个新Intents.strings文件,您可以在其中自定义其他语言环境的文本。

本地化 Intents.intentdefinition 文件

本地化后的 Intents.intentdefinition 文件


推荐阅读