Custom siri intent ignores dialogs in some languages

My custom siri intent works perfectly on base localization unfortunately not so if I change the siri language to one of my supported languages.

Siri does not call out my provided dialogs such as the "Parameter Confirmation" dialog if the siri language is set to german for example.


Expected: Just to confirm, you wanted Auto mode ?

Actual behavior: Confirm modes

where modes is the name of the enum defined in the intentdefinition file.

I localized the siri intents for all my supported languages.


What I tried so far:

  • Reinstall the app
  • Deleted the localization for the intent definition file and localized the intents again
  • Updated iOS, macOS as well as Xcode to the latest versions


Hope someone can help me with that problem.

Big thanks in advance!

Replies

There seem to be issues with intents (or at least difficulty to use).


See this other thread

https://forums.developer.apple.com/thread/124718

I deleted the intentdefinition file and localized it again with your instructions but that didnt work unfortunately.

Any other ideas ?

I run short of ideas.


Could you post the 2 intent files, the base and the localized ?


Maybe that will light some new ideas !

What do you mean by the 2 intent files. I got the intent file it self and the intent.strings files for each language.


https://app.box.com/s/5yae4zrn02g84xufvxg0kyt5z34waw6k

Hi, have you solved the issue? Seems like we're facing the same issue and can't find a solution.
I found a weird issue which may very well be the one you are also facing. I had the same problem: perfectly working in base language (English) but in German, Siri would just read the "default" responses (such as "Ok, done" or "Something went wrong" in German), but not the ones I specified in the localization file.

(One important difference: I don't have any parameter confirmation dialogs, but I do want Siri to mention parameters in the response.)

First thing I noticed is that removing the parameters from the response is a kind of workaround - Siri will read out the specified localization properly. Of course, this is not really an option, but interesting nonetheless.

The second, even weirder workaround is as follows:
  1. add a new language locale to your project ("German (Germany)", you'll find it under Other). Uncheck all localization files (so nothing is duplicated), except the Intents localization. Use the existing German localization as a basis for the new language.

  2. in the new localization file remove all parameters from all responses (I know this is theoretically wrong, but try it)

The result is that when you set your Siri language to German, Siri will read the responses from the original German localization (ignoring German (Germany)), with parameters, correctly. This happens even when you set Siri to German (Germany) and even when you set it to German (Austria) - does not matter.

I cannot see any explanation for this other than an iOS bug. For reference, I can reproduce this on 14.4 and 14.5 beta and I am reporting it to Apple. Will update here if I ever manage to resolve this "properly".