我一直在查看donating a shortcut to siri的文档以及有关它的一些博客文章。我设法使用NSUserActivity
向我的应用添加了快捷方式:
let activity = NSUserActivity(activityType: "com.myapp.mobile")
activity.title = "Some title"
activity.isEligibleForSearch = true
activity.isEligibleForPrediction = true
activity.suggestedInvocationPhrase = "Summon my app please"
activity.persistentIdentifier = NSUserActivityPersistentIdentifier(rawValue: "com.myapp.mobile")
view.userActivity = activity
activity.becomeCurrent()
但是到目前为止,我对如何实现快捷方式的国际化还一无所知。在将suggestedInvocationPhrase
和title
传递给活动之前,我应该翻译它们吗?还是Siri可以处理?
答案 0 :(得分:1)
您需要像对待应用程序中的其他任何文本一样对待传递给NSUserActivity的文本-在将文本传递给活动之前将其本地化。
答案 1 :(得分:1)
您应该使用 NSString.deferredLocalizedIntentsString
API (see docs) 对其进行本地化,以便意图在向用户显示时使用正确的语言。 (在此期间,用户可能会更改手机的语言。)
activity.suggestedInvocationPhrase = NSString.deferredLocalizedIntentsString(with: "localization_key_for_your_invocation_phrase") as String