On this page I see that "zh-CN" for mainland and "zh-TW" for Taiwan are listed for Chinese; and "zh" is not listed.
But on developers.apple.com like this page I often encounter "zh-Hans" and "zh-Hant".
Note that this confusion applies to most non-English languages, i.e. not only Chinese.
EDIT-1:
Tested on Mac OS, and setLanguage("zh");
works and setLanguage("zh-Hans");
doesn't work.
EDIT-2:
Tried listening to Arabic on Mac OS. For some reason setLanguage("ar");
makes it return possible phrases as recognized speech but no annyang commands fired (Safari 16.0) even though the string values were obviously matching. So I had to quit using annyang.addCommands(commands);
and instead I did something like,
annyang.addCallback('result', function() {
// Run a for loop and use .search() to see if there is a match
});
and it worked.
With regards to the community