Index: locale.py =================================================================== --- locale.py (revision 42047) +++ locale.py (working copy) @@ -1,4 +1,4 @@ -""" Locale support. + """ Locale support. The module provides low-level access to the C lib's locale APIs and adds high level number formatting APIs as well as a locale @@ -1213,43 +1213,144 @@ # this maps windows language identifiers (as used on Windows 95 and # earlier) to locale strings. # -# NOTE: this mapping is incomplete. If your language is missing, please -# submit a bug report to Python bug manager, which you can find via: -# http://www.python.org/dev/ -# Make sure you include the missing language identifier and the suggested -# locale code. +# See sf-bug #1371247: +# http://www.dx21.com/SCRIPTING/VBSCRIPT/LCID.ASP # windows_locale = { - 0x0404: "zh_TW", # Chinese (Taiwan) - 0x0804: "zh_CN", # Chinese (PRC) - 0x0406: "da_DK", # Danish - 0x0413: "nl_NL", # Dutch (Netherlands) - 0x0409: "en_US", # English (United States) - 0x0809: "en_UK", # English (United Kingdom) - 0x0c09: "en_AU", # English (Australian) - 0x1009: "en_CA", # English (Canadian) - 0x1409: "en_NZ", # English (New Zealand) - 0x1809: "en_IE", # English (Ireland) - 0x1c09: "en_ZA", # English (South Africa) + 0x0436: "af_AF", # Afrikaans + 0x041c: "sq_SQ", # Albanian + 0x3801: "ar_AE", # Arabic - United Arab Emirates + 0x3c01: "ar_BH", # Arabic - Bahrain + 0x1401: "ar_DZ", # Arabic - Algeria + 0x0c01: "ar_EG", # Arabic - Egypt + 0x0801: "ar_IQ", # Arabic - Iraq + 0x2c01: "ar_JO", # Arabic - Jordan + 0x3401: "ar_KW", # Arabic - Kuwait + 0x3001: "ar_LB", # Arabic - Lebanon + 0x1001: "ar_LY", # Arabic - Libya + 0x1801: "ar_MA", # Arabic - Morocco + 0x2001: "ar_OM", # Arabic - Oman + 0x4001: "ar_QA", # Arabic - Qatar + 0x0401: "ar_SA", # Arabic - Saudi Arabia + 0x2801: "ar_SY", # Arabic - Syria + 0x1c01: "ar_TN", # Arabic - Tunisia + 0x2401: "ar_YE", # Arabic - Yemen + 0x042b: "hy_HY", # Armenian + 0x042c: "az_AZ", # Azeri Latin + 0x082c: "az_AZ", # Azeri - Cyrillic + 0x042d: "eu_EU", # Basque + 0x0423: "be_BE", # Belarusian + 0x0402: "bg_BG", # Bulgarian + 0x0403: "ca_CA", # Catalan + 0x0804: "zh_CN", # Chinese - China + 0x0c04: "zh_HK", # Chinese - Hong Kong S.A.R. + 0x1404: "zh_MO", # Chinese - Macau S.A.R + 0x1004: "zh_SG", # Chinese - Singapore + 0x0404: "zh_TW", # Chinese - Taiwan + 0x041a: "hr_HR", # Croatian + 0x0405: "cs_CS", # Czech + 0x0406: "da_DA", # Danish + 0x0413: "nl_NL", # Dutch - The Netherlands + 0x0813: "nl_BE", # Dutch - Belgium + 0x0c09: "en_AU", # English - Australia + 0x2809: "en_BZ", # English - Belize + 0x1009: "en_CA", # English - Canada + 0x2409: "en_CB", # English - Carribbean + 0x1809: "en_IE", # English - Ireland + 0x2009: "en_JM", # English - Jamaica + 0x1409: "en_NZ", # English - New Zealand + 0x3409: "en_PH", # English - Phillippines + 0x1c09: "en_ZA", # English - South Africa + 0x2c09: "en_TT", # English - Trinidad + 0x0809: "en_GB", # English - United Kingdom + 0x0409: "en_US", # English - United States + 0x0425: "et_ET", # Estonian + 0x0429: "fa_FA", # Farsi 0x040b: "fi_FI", # Finnish - 0x040c: "fr_FR", # French (Standard) - 0x080c: "fr_BE", # French (Belgian) - 0x0c0c: "fr_CA", # French (Canadian) - 0x100c: "fr_CH", # French (Switzerland) - 0x0407: "de_DE", # German (Standard) - 0x0408: "el_GR", # Greek - 0x040d: "iw_IL", # Hebrew + 0x0438: "fo_FO", # Faroese + 0x040c: "fr_FR", # French - France + 0x080c: "fr_BE", # French - Belgium + 0x0c0c: "fr_CA", # French - Canada + 0x140c: "fr_LU", # French - Luxembourg + 0x100c: "fr_CH", # French - Switzerland + 0x083c: "gd_IE", # Gaelic - Ireland + 0x043c: "gd_GD", # Gaelic - Scotland + 0x0407: "de_DE", # German - Germany + 0x0c07: "de_AT", # German - Austria + 0x1407: "de_LI", # German - Liechtenstein + 0x1007: "de_LU", # German - Luxembourg + 0x0807: "de_CH", # German - Switzerland + 0x0408: "el_EL", # Greek + 0x040d: "he_HE", # Hebrew + 0x0439: "hi_HI", # Hindi + 0x040e: "hu_HU", # Hungarian 0x040f: "is_IS", # Icelandic - 0x0410: "it_IT", # Italian (Standard) + 0x0421: "id_ID", # Indonesian + 0x0410: "it_IT", # Italian - Italy + 0x0810: "it_CH", # Italian - Switzerland 0x0411: "ja_JA", # Japanese - 0x0414: "no_NO", # Norwegian (Bokmal) - 0x0816: "pt_PT", # Portuguese (Standard) - 0x0c0a: "es_ES", # Spanish (Modern Sort) - 0x0441: "sw_KE", # Swahili (Kenya) - 0x041d: "sv_SE", # Swedish - 0x081d: "sv_FI", # Swedish (Finland) + 0x0412: "ko_KO", # Korean + 0x0426: "lv_LV", # Latvian + 0x0427: "lt_LT", # Lithuanian + 0x042f: "mk_MK", # FYRO Macedonian + 0x043e: "ms_MY", # Malay - Malaysia + 0x083e: "ms_BN", # Malay - Brunei + 0x043a: "mt_MT", # Maltese + 0x044e: "mr_MR", # Marathi + 0x0414: "no_NO", # Norwegian - Bokmål + 0x0814: "no_NO", # Norwegian - Nynorsk + 0x0415: "pl_PL", # Polish + 0x0816: "pt_PT", # Portuguese - Portugal + 0x0416: "pt_BR", # Portuguese - Brazil + 0x0417: "rm_RM", # Raeto-Romance + 0x0418: "ro_RO", # Romanian - Romania + 0x0818: "ro_MO", # Romanian - Moldova + 0x0419: "ru_RU", # Russian + 0x0819: "ru_MO", # Russian - Moldova + 0x044f: "sa_SA", # Sanskrit + 0x0c1a: "sr_SP", # Serbian - Cyrillic + 0x081a: "sr_SP", # Serbian - Latin + 0x0432: "tn_TN", # Setsuana + 0x0424: "sl_SL", # Slovenian + 0x041b: "sk_SK", # Slovak + 0x042e: "sb_SB", # Sorbian + 0x040a: "es_ES", # Spanish - Spain + 0x2c0a: "es_AR", # Spanish - Argentina + 0x400a: "es_BO", # Spanish - Bolivia + 0x340a: "es_CL", # Spanish - Chile + 0x240a: "es_CO", # Spanish - Colombia + 0x140a: "es_CR", # Spanish - Costa Rica + 0x1c0a: "es_DO", # Spanish - Dominican Republic + 0x300a: "es_EC", # Spanish - Ecuador + 0x100a: "es_GT", # Spanish - Guatemala + 0x480a: "es_HN", # Spanish - Honduras + 0x080a: "es_MX", # Spanish - Mexico + 0x4c0a: "es_NI", # Spanish - Nicaragua + 0x180a: "es_PA", # Spanish - Panama + 0x280a: "es_PE", # Spanish - Peru + 0x500a: "es_PR", # Spanish - Puerto Rico + 0x3c0a: "es_PY", # Spanish - Paraguay + 0x440a: "es_SV", # Spanish - El Salvador + 0x380a: "es_UY", # Spanish - Uruguay + 0x200a: "es_VE", # Spanish - Venezuela + 0x0430: "sx_SX", # Sutu + 0x0441: "sw_SW", # Swahili + 0x041d: "sv_SE", # Swedish - Sweden + 0x081d: "sv_FI", # Swedish - Finland + 0x0449: "ta_TA", # Tamil + 0x0444: "tt_TT", # Tatar + 0x041e: "th_TH", # Thai 0x041f: "tr_TR", # Turkish + 0x0431: "ts_TS", # Tsonga + 0x0422: "uk_UK", # Ukrainian + 0x0420: "ur_UR", # Urdu + 0x0843: "uz_UZ", # Uzbek - Cyrillic + 0x0443: "uz_UZ", # Uzbek - Latin + 0x042a: "vi_VI", # Vietnamese + 0x0434: "xh_XH", # Xhosa + 0x043d: "yi_YI", # Yiddish + 0x0435: "zu_ZU", # Zulu } def _print_locale():