You can try tts.setLanguage(new Locale("zh", "HK"))or tts.setLanguage(new Locale("yue", "HK")). TRADITIONAL_CHINESE most likely refers to writing, not colloquial speech. For example, Taiwan uses traditional writing, but Mandarin (zh_TW) is the spoken language. Cantonese dialect is spoken in Hong Kong, so the "HK" option should be used. Recent changes to Google tts consider Cantonese ("yue") a completely different language.
Peter source
share