timchen I think the issue here could be the setting of speech recognition language and the audo detect language config. Try using only the speech recognition language of en-US and comment out autoDetectSourceLanguageConfig and do not pass the same in TranslationRecognizer() as it is optional. Here is what I tried and it works as expected.
As you can see, I only used the recognition language and target language to get accurate output. You can add
auto_detect_source_language_config to the recognizer and pass the required languages but it should be consistent with the recognition language that is actually used.
In your snippet change the following:
config.SpeechRecognitionLanguage = "zh-TW";
to
config.SpeechRecognitionLanguage = "en-US";
Comment out auto detection config and remove it from the recognizer and check if it works.
If this answers your query, do click Accept Answer
and Yes
for was this answer helpful. And, if you have any further query do let us know.