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 should be used for all Microsoft-supported languages except the seven languages currently supported by SAPI, 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