我的Xcode是v10,我正在针对iOS 12开发SiriKit的自定义意图。
在Xcode 10中,自定义意图是在.intentdefinition文件中设计的,您可以在其中定义意图短语的参数以及意图的标题和该意图的Siri快捷方式。使用.intentdefinition文件构建项目会使Xcode自动为该意图生成INIntent派生类。
我的问题是,当用户能够操纵自定义意图的快捷方式时,为了支持除英语之外的其他语言,以使意图的标题以系统的语言显示在“常规”>“Siri&Search”中,我需要为我的应用程序提供本地化的意图标题.intentdefinition文件。
当我尝试在File Inspector中为.intentdefinition文件添加另一种语言,然后构建项目时,我得到:duplicate output file '/Users/.../IntentDefinitionGenerated/Intents/MyCustomIntent.swift' on task: IntentDefinitionCodegen /Users/.../ru.lproj/Intents.intentdefinition
这很可能发生,因为Xcode在.lproj
文件夹中看到多个.intentdefinition文件,并尝试为每个文件生成相同的命名类。
如何本地化iOS 12的.intentdefinition文件?
最佳答案
转到intentdefinition
文件-> File Inspector
-> Select Localize
->现在,为intentdefinition
文件选择当前语言。
这会将您现有的intentdefinition
文件转换为当前语言。
现在再次选择相同的intentdefinition
文件,添加其他语言->它将创建一个新的Intents.strings
文件,您可以在其中自定义其他语言环境的文本。
关于ios - 本地化自定义SiriKit意向,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52384722/