The following code:
AVSpeechSynthesizer * speechSynthesizer = [[AVSpeechSynthesizer alloc] init]; AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString: @"112"]; utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-GB"]; speechSynthesizer speakUtterance:utterance];
causes the device to say: βone hundred and twelveβ (English spelling)
But if you transliterate number 112 instead:
NSString * wordNumber = nil; NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; [numberFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en-GB"]]; [numberFormatter setNumberStyle:NSNumberFormatterSpellOutStyle]; wordNumber = [numberFormatter stringFromNumber:@(112)];
now wordNumber contains "one hundred and twelve" (without particles and particles).
So:
@"112" -> AVSpeechSynthesizer -> "one hundred and twelve" @"112" -> NSNumberFormatter -> "one hundred twelve"
How can I transliterate a number with and particles, i.e. English spelling?
source share