NSNumberFormatter: deletrear un número con una partícula AND (ortografía británica)

El siguiente código:

AVSpeechSynthesizer * speechSynthesizer = [[AVSpeechSynthesizer alloc] init]; AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString: @"112"]; utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-GB"]; speechSynthesizer speakUtterance:utterance]; 

da como resultado con el dispositivo que dice: "ciento doce" (ortografía británica)

Pero si por el contrario transcribes el número 112:

 NSString * wordNumber = nil; NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; [numberFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en-GB"]]; [numberFormatter setNumberStyle:NSNumberFormatterSpellOutStyle]; wordNumber = [numberFormatter stringFromNumber:@(112)]; 

ahora wordNumber contiene "ciento doce" (sin la y partícula).

Asi que:

 @"112" -> AVSpeechSynthesizer -> "one hundnetworking and twelve" @"112" -> NSNumberFormatter -> "one hundnetworking twelve" 

¿Cómo puedo transcribir un número con el y las partículas, es decir, la ortografía británica?

Creo que deberás hacerlo tú mismo. No he podido producir el resultado deseado ni encontrar ningún recurso que me permita hacerlo.

Me he enlazado a una pregunta que demuestra cómo hacer esto manualmente.

¿Es posible deletrear numbers en palabras con un separador?

Huh, ¿no puedes hacer esto?

 AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:@"112"]; utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-GB"]; NSString *transliteration = utterance.speechString;