本地化siri捐赠的快捷方式

时间:2018-08-02 06:41:30

标签: ios swift siri sirikit

我一直在查看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()

但是到目前为止,我对如何实现快捷方式的国际化还一无所知。在将suggestedInvocationPhrasetitle传递给活动之前,我应该翻译它们吗?还是Siri可以处理?

2 个答案:

答案 0 :(得分:1)

您需要像对待应用程序中的其他任何文本一样对待传递给NSUserActivity的文本-在将文本传递给活动之前将其本地化。

答案 1 :(得分:1)

您应该使用 NSString.deferredLocalizedIntentsString API (see docs) 对其进行本地化,以便意图在向用户显示时使用正确的语言。 (在此期间,用户可能会更改手机的语言。)

activity.suggestedInvocationPhrase = NSString.deferredLocalizedIntentsString(with: "localization_key_for_your_invocation_phrase") as String