本地化 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()
但到目前为止,我不知道应该如何在快捷方式上进行国际化。我应该在将 suggestedInvocationPhrase
和 title
传递给 activity 之前翻译它们,还是 Siri 会处理?
您需要像对待应用中的任何其他文本一样对待传递给 NSUserActivity 的文本 - 在将文本传递给 activity 之前对文本进行本地化。
您应该使用 NSString.deferredLocalizedIntentsString
API (see docs) 对其进行本地化,以便在向用户显示 Intent 时使用正确的语言。 (用户可能会同时更改 phone 的语言。)
activity.suggestedInvocationPhrase = NSString.deferredLocalizedIntentsString(with: "localization_key_for_your_invocation_phrase") as String
我一直在查看 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
传递给 activity 之前翻译它们,还是 Siri 会处理?
您需要像对待应用中的任何其他文本一样对待传递给 NSUserActivity 的文本 - 在将文本传递给 activity 之前对文本进行本地化。
您应该使用 NSString.deferredLocalizedIntentsString
API (see docs) 对其进行本地化,以便在向用户显示 Intent 时使用正确的语言。 (用户可能会同时更改 phone 的语言。)
activity.suggestedInvocationPhrase = NSString.deferredLocalizedIntentsString(with: "localization_key_for_your_invocation_phrase") as String