Language Coverage
The Speech API (SAPI) Phone Converters specify the languages they support in a list of Language Identifiers. You can find this list in the registry key for PhoneConverters by inspecting its Language attribute, at the following location:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\PhoneConverters\Tokens\Universal\Attributes\Language
The Language Identifiers consist of a Locale Identifier that represents the combination of a Primary Language Identifier and a Sublanguage Language Identifier. For a full list of languages and their identifiers, see Language Identifier Constants and Strings on MSDN.
The Universal Phone Set (UPS) should be used for all Microsoft-supported languages EXCEPT the seven languages currently supported by the SAPI phone set, shown in the following table:
Language-Culture Code |
Language Name |
Language ID |
---|---|---|
zh-TW |
Chinese (Taiwan) |
404 |
zh-CN |
Chinese (PRC) |
804 |
en-US |
English (United States) |
409 |
fr-FR |
French (Standard) |
40c |
de-DE |
German (Standard) |
407 |
jp-JP |
Japanese |
411 |
es-ES |
Spanish (Spain, Traditional Sort) |
40a |
The following table lists all the currently supported languages and their language identifiers.
LangID |
Language |
LangID |
Language |
---|---|---|---|
436 |
Afrikaans |
430 |
Sutu |
41c |
Albanian |
441 |
Swahili (Kenya) |
401 |
Arabic (Saudi Arabia) |
41d |
Swedish |
801 |
Arabic (Iraq) |
81d |
Swedish (Finland) |
c01 |
Arabic (Egypt) |
45a |
Windows XP: Syriac. (Unicode only) |
1001 |
Arabic (Libya) |
449 |
Windows 2000/XP: Tamil. (Unicode only) |
1401 |
Arabic (Algeria) |
2409 |
English (Caribbean) |
1801 |
Arabic (Morocco) |
2809 |
English (Belize) |
1c01 |
Arabic (Tunisia) |
2c09 |
English (Trinidad) |
2001 |
Arabic (Oman) |
3009 |
Windows 98/Me, Windows 2000/XP: English (Zimbabwe) |
2401 |
Arabic (Yemen) |
3409 |
Windows 98/Me, Windows 2000/XP: English (Philippines) |
2801 |
Arabic (Syria) |
425 |
Estonian |
2c01 |
Arabic (Jordan) |
438 |
Faeroese |
3001 |
Arabic (Lebanon) |
429 |
Farsi |
3401 |
Arabic (Kuwait) |
40b |
Finnish |
3801 |
Arabic (U.A.E.) |
80c |
French (Belgian) |
3c01 |
Arabic (Bahrain) |
c0c |
French (Canadian) |
4001 |
Arabic (Qatar) |
100c |
French (Switzerland) |
42b |
Windows 2000/XP: Armenian. (Unicode only) |
140c |
French (Luxembourg) |
42c |
Azeri (Latin) |
180c |
Windows 98/Me, Windows 2000/XP: French (Monaco) |
82c |
Azeri (Cyrillic) |
456 |
Windows XP: Galician |
42d |
Basque |
437 |
Windows 2000/XP: Georgian. (Unicode only) |
423 |
Belarusian |
807 |
German (Switzerland) |
402 |
Bulgarian |
c07 |
German (Austria) |
455 |
Burmese |
1007 |
German (Luxembourg) |
403 |
Catalan |
1407 |
German (Liechtenstein) |
c04 |
Chinese (Hong Kong SAR, PRC) |
408 |
Greek |
1004 |
Chinese (Singapore) |
447 |
Windows XP: Gujarati. (Unicode only) |
1404 |
Windows 98/Me, Windows 2000/XP: Chinese (Macau SAR) |
40d |
Hebrew |
41a |
Croatian |
439 |
Windows 2000/XP: Hindi. (Unicode only) |
405 |
Czech |
40e |
Hungarian |
406 |
Danish |
40f |
Icelandic |
465 |
Windows XP: Divehi. (Unicode only) |
421 |
Indonesian |
413 |
Dutch (Netherlands) |
410 |
Italian (Standard) |
813 |
Dutch (Belgium) |
810 |
Italian (Switzerland) |
809 |
English (United Kingdom) |
44b |
Windows XP: Kannada. (Unicode only) |
c09 |
English (Australian) |
457 |
Windows 2000/XP: Konkani. (Unicode only) |
1009 |
English (Canadian) |
412 |
Korean |
1409 |
English (New Zealand) |
812 |
Windows 95, Windows NT 4.0 only: Korean (Johab) |
1809 |
English (Ireland) |
440 |
Windows XP: Kyrgyz. |
1c09 |
English (South Africa) |
426 |
Latvian |
2009 |
English (Jamaica) |
427 |
Lithuanian |
418 |
Romanian |
827 |
Windows 98 only: Lithuanian (Classic) |
419 |
Russian |
42f |
FYRO Macedonian |
44f |
Windows 2000/XP: Sanskrit. (Unicode only) |
43e |
Malay (Malaysian) |
c1a |
Serbian (Cyrillic) |
83e |
Malay (Brunei Darussalam) |
81a |
Serbian (Latin) |
44e |
Windows 2000/XP: Marathi. (Unicode only) |
41b |
Slovak |
450 |
Windows XP: Mongolian |
424 |
Slovenian |
414 |
Norwegian (Bokmal) |
80a |
Spanish (Mexican) |
814 |
Norwegian (Nynorsk) |
c0a |
Spanish (Spain, Modern Sort) |
415 |
Polish |
100a |
Spanish (Guatemala) |
416 |
Portuguese (Brazil) |
140a |
Spanish (Costa Rica) |
816 |
Portuguese (Portugal) |
180a |
Spanish (Panama) |
446 |
Windows XP: Punjabi. (Unicode only) |
1c0a |
Spanish (Dominican Republic) |
444 |
Tatar (Tatarstan) |
200a |
Spanish (Venezuela) |
44a |
Windows XP: Telugu. (Unicode only) |
240a |
Spanish (Colombia) |
41e |
Thai |
280a |
Spanish (Peru) |
41f |
Turkish |
2c0a |
Spanish (Argentina) |
422 |
Ukrainian |
300a |
Spanish (Ecuador) |
420 |
Windows 98/Me, Windows 2000/XP: Urdu (Pakistan) |
340a |
Spanish (Chile) |
820 |
Urdu (India) |
380a |
Spanish (Uruguay) |
443 |
Uzbek (Latin) |
3c0a |
Spanish (Paraguay) |
843 |
Uzbek (Cyrillic) |
400a |
Spanish (Bolivia) |
42a |
Windows 98/Me, Windows NT 4.0 and later: Vietnamese |
440a |
Spanish (El Salvador) |
||
480a |
Spanish (Honduras) |
||
4c0a |
Spanish (Nicaragua) |
||
500a |
Spanish (Puerto Rico) |
The registry key for PhoneConverters also contains a mapping from the UPS label to the SAPI identifier for supported phones, at this location:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\PhoneConverters\Tokens\Universal\Attributes