Test language code pronunciation
Test Procedure
- Voiceover on macOS - default settings - switch on VO (Cmd-F5) and use Control-Options-Right Arrow to read page
- NVDA - default settings with Preferences->Settings->Speech option set to eSpeak (default Windows OneCore needs additional language packs to switch voices)
- JAWS - default settings
Notes
- Language codes like nl-BE-NL are treated as nl-BE in Voiceover
- Voiceover has better multi-language support than NVDA, and NVDA is better than JAWS
English (en-US, en-GB)
- Voiceover macOS 10.15 with Safari 13 - same English voice used
- NVDA 2019.2.1 (eSpeak) with FF68 - 1 voice
- NVDA 2019.2.1 (eSpeak) with IE11 - 1 voice
- NVDA 2019.2.1 (eSpeak) with Chrome 79 - 1 voice
- JAWS 2019.1912.1 with FF68 - 1 voice
- JAWS 2019.1912.1 with IE11 - 1 voice
- JAWS 2019.1912.1 with Chrome 79 - 1 voice
Numbers - 1 to 5
1 2 3 4 5 lang=en-US
1 2 3 4 5 lang=en-GB
1 2 3 4 5 lang=en-US-GB
Nederlands (nl-NL and nl-BE and 'dutch' = invalid BCP-47 language code)
- Voiceover macOS 10.15 with Safari 13 - 2 Nederlands voices used, very similar pronunciation for nl-NL, nl-BE and nl-BE-NL, lang=dutch is ignored and voiced as US English
- NVDA 2019.2.1 (eSpeak) with FF68 - 1 Nederlands voice for nl-NL, nl-BE and nl-BE-NL, lang=dutch is voiced as English
- NVDA 2019.2.1 (eSpeak) with IE11 - 1 Nederlands voice for nl-NL, nl-BE and nl-BE-NL, lang=dutch is voiced as English
- NVDA 2019.2.1 (eSpeak) with Chrome 79 - 1 Nederlands voice for nl-NL, nl-BE and nl-BE-NL, lang=dutch is voiced as English
- JAWS 2019.1912.1 with FF68 - no Nederlands voice, reads numbers in English
- JAWS 2019.1912.1 with IE11 - no Nederlands voice, reads numbers in English
- JAWS 2019.1912.1 with Chrome 79 - no Nederlands voice, reads numbers in English
Numbers - 1 to 5
1 2 3 4 5 lang=nl-NL
1 2 3 4 5 lang=nl-BE
1 2 3 4 5 lang=nl-BE-NL
1 2 3 4 5 lang=dutch
Português (pt-PT and pt-BR)
- Voiceover macOS 10.15 with Safari 13 - 2 different Português voices, different pronunciation
- NVDA 2019.2.1 (eSpeak) with FF68 - 2 different Português voices, different pronunciation
- NVDA 2019.2.1 (eSpeak) with IE11 - 2 different Português voices, different pronunciation
- NVDA 2019.2.1 (eSpeak) with Chrome 79 - 2 different Português voices, different pronunciation
- JAWS 2019.1912.1 with FF68 - 1 Português voice
- JAWS 2019.1912.1 with IE11 - 1 Português voice
- JAWS 2019.1912.1 with Chrome 79 - 1 Português voice
Numbers - 1 to 5
1 2 3 4 5 lang=pt-PT
1 2 3 4 5 lang=pt-BR
1 2 3 4 5 lang=pt-BR-PT
'Good afternoon' - Português (pt-PT and pt-BR)
Boa tarde lang=pt-PT
Boa tarde lang=pt-BR
Boa tarde lang=pt-BR-PT
Mandarin (zh-CN) and Cantonese (zh-HK)
- Voiceover macOS 10.15 with Safari 13 - 2 different voices, 2 different languages with very different pronunciation that don't use same vowels and consonants
- NVDA 2019.2.1 (eSpeak) with FF68 - 1 voice, always Mandarin
- NVDA 2019.2.1 (eSpeak) with IE11 - 1 voice, always Mandarin
- NVDA 2019.2.1 (eSpeak) with Chrome 79 - 1 voice, always Mandarin
- JAWS 2019.1912.1 with FF68 - no Mandarin/Cantonese voices, doesn't read the text
- JAWS 2019.1912.1 with IE11 - no Mandarin/Cantonese voices, doesn't read the text
- JAWS 2019.1912.1 with Chrome 79 - no Mandarin/Cantonese voices, doesn't read the text
Numbers - 1 to 5
一 二 三 四 五 lang=zh-CN
一 二 三 四 五 lang=zh-HK
一 二 三 四 五 lang=zh-HK-CN
'Hong Kong' - Mandarin (zh-CN) and Cantonese (zh-HK)
香港 lang=zh-CN
香港 lang=zh-HK
香港 lang=zh-HK-CN
'I am eating rice' - Mandarin (zh-CN) and Cantonese (zh-HK)
我 現在 在 吃 飯 lang=zh-CN
我 現在 在 吃 飯 lang=zh-HK
我 現在 在 吃 飯 lang=zh-HK-CN
lang='' and lang=' ' with parent lang='fr'
- Voiceover macOS 10.15 with Safari 13 - speaks lang='' as parent language (French), but speaks lang=' ' and lang='#!' as English
- NVDA 2019.2.1 (eSpeak) with FF68 - speaks lang='' and lang=' ' and lang='#!' as English
- NVDA 2019.2.1 (eSpeak) with IE11 - speaks lang='' as parent language (French), but speaks lang=' ' and lang='#!' as English
- NVDA 2019.2.1 (eSpeak) with Chrome 79 - speaks lang='' and lang=' ' as parent language (French), but lang='#!' as English
- JAWS 2019.1912.1 with FF68 - speaks lang='' and lang=' ' as parent language (French), but lang='#!' as English
- JAWS 2019.1912.1 with IE11 - speaks lang='' as parent language (French), but lang=' ' and lang='#!' as English
- JAWS 2019.1912.1 with Chrome 79 - speaks lang='' and lang=' ' as parent language (French), but lang='#!' as English
Numbers - 1 to 5
1 2 3 4 5 lang=''
1 2 3 4 5 lang=' '
1 2 3 4 5 lang='#!'