本地化 siri 捐赠的快捷方式

Localizing siri donated shortcuts

我一直在查看 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 传递给 activity 之前翻译它们,还是 Siri 会处理?

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

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

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