Des*_*ume 11 xcode localization ios sirikit
我的Xcode是v10,我正在开发针对iOS 12的SiriKit的自定义意图.
在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在.lproj文件夹中看到多个.intentdefinition文件,并尝试为每个文件生成相同的命名类.
如何本地化iOS 12的.intentdefinition文件?
Noo*_*oor 12
转到intentdefinition文件 - > File Inspector- > Select Localize- >现在选择intentdefinition文件的当前语言.这会将您现有的intentdefinition文件转换为当前语言.
现在再次选择相同的intentdefinition文件,添加其他语言 - >它将创建一个新Intents.strings文件,您可以在其中自定义其他语言环境的文本.
我和@desmond-hume 有同样的问题。就我而言,我有一个旧的 xcode 项目,在“Base”可用之前它已经包含了一些本地化。初始 .intentdefinition 文件必须添加为基本本地化。从那里,可以添加进一步的本地化,Xcode 将为每个本地化仅添加一个 .strings 文件。
如果没有基本本地化,Xcode 会为每个本地化添加一个新的 .intentdefinition,这会导致“多个命令产生......”错误。
您可以通过复选框在主项目设置下添加基本本地化。一些旧项目(例如我的)也可能遇到此问题: iOS - 使用基本本地化窗格始终为空
| 归档时间: |
|
| 查看次数: |
1616 次 |
| 最近记录: |