From df0626579b463cb318ae1ad6551c9d7a624159a4 Mon Sep 17 00:00:00 2001 From: Thomas Fussell Date: Thu, 5 Sep 2019 15:37:55 -0400 Subject: [PATCH] add all windows locales as a workaround for #407 --- .../detail/number_format/number_formatter.cpp | 460 +++++++++++++++-- .../detail/number_format/number_formatter.hpp | 465 +++++++++++++++--- 2 files changed, 826 insertions(+), 99 deletions(-) diff --git a/source/detail/number_format/number_formatter.cpp b/source/detail/number_format/number_formatter.cpp index 284412d1a..3b2b41c62 100644 --- a/source/detail/number_format/number_formatter.cpp +++ b/source/detail/number_format/number_formatter.cpp @@ -34,34 +34,438 @@ namespace { const std::unordered_map known_locales() { static const std::unordered_map *all = new std::unordered_map( - {{0x401, "Arabic - Saudi Arabia"}, {0x402, "Bulgarian"}, {0x403, "Catalan"}, {0x404, "Chinese - Taiwan"}, - {0x405, "Czech"}, {0x406, "Danish"}, {0x407, "German - Germany"}, {0x408, "Greek"}, - {0x409, "English - United States"}, {0x410, "Italian - Italy"}, {0x411, "Japanese"}, {0x412, "Korean"}, - {0x413, "Dutch - Netherlands"}, {0x414, "Norwegian - Bokml"}, {0x415, "Polish"}, - {0x416, "Portuguese - Brazil"}, {0x417, "Raeto-Romance"}, {0x418, "Romanian - Romania"}, {0x419, "Russian"}, - {0x420, "Urdu"}, {0x421, "Indonesian"}, {0x422, "Ukrainian"}, {0x423, "Belarusian"}, {0x424, "Slovenian"}, - {0x425, "Estonian"}, {0x426, "Latvian"}, {0x427, "Lithuanian"}, {0x428, "Tajik"}, - {0x429, "Farsi - Persian"}, {0x430, "Sesotho (Sutu)"}, {0x431, "Tsonga"}, {0x432, "Setsuana"}, - {0x433, "Venda"}, {0x434, "Xhosa"}, {0x435, "Zulu"}, {0x436, "Afrikaans"}, {0x437, "Georgian"}, - {0x438, "Faroese"}, {0x439, "Hindi"}, {0x440, "Kyrgyz - Cyrillic"}, {0x441, "Swahili"}, {0x442, "Turkmen"}, - {0x443, "Uzbek - Latin"}, {0x444, "Tatar"}, {0x445, "Bengali - India"}, {0x446, "Punjabi"}, - {0x447, "Gujarati"}, {0x448, "Oriya"}, {0x449, "Tamil"}, {0x450, "Mongolian"}, {0x451, "Tibetan"}, - {0x452, "Welsh"}, {0x453, "Khmer"}, {0x454, "Lao"}, {0x455, "Burmese"}, {0x456, "Galician"}, - {0x457, "Konkani"}, {0x458, "Manipuri"}, {0x459, "Sindhi"}, {0x460, "Kashmiri"}, {0x461, "Nepali"}, - {0x462, "Frisian - Netherlands"}, {0x464, "Filipino"}, {0x465, "Divehi; Dhivehi; Maldivian"}, - {0x466, "Edo"}, {0x470, "Igbo - Nigeria"}, {0x474, "Guarani - Paraguay"}, {0x476, "Latin"}, - {0x477, "Somali"}, {0x481, "Maori"}, {0x801, "Arabic - Iraq"}, {0x804, "Chinese - China"}, - {0x807, "German - Switzerland"}, {0x809, "English - Great Britain"}, {0x810, "Italian - Switzerland"}, - {0x813, "Dutch - Belgium"}, {0x814, "Norwegian - Nynorsk"}, {0x816, "Portuguese - Portugal"}, - {0x818, "Romanian - Moldova"}, {0x819, "Russian - Moldova"}, {0x843, "Uzbek - Cyrillic"}, - {0x845, "Bengali - Bangladesh"}, {0x850, "Mongolian"}, {0x1001, "Arabic - Libya"}, - {0x1004, "Chinese - Singapore"}, {0x1007, "German - Luxembourg"}, {0x1009, "English - Canada"}, - {0x1401, "Arabic - Algeria"}, {0x1404, "Chinese - Macau SAR"}, {0x1407, "German - Liechtenstein"}, - {0x1409, "English - New Zealand"}, {0x1801, "Arabic - Morocco"}, {0x1809, "English - Ireland"}, - {0x2001, "Arabic - Oman"}, {0x2009, "English - Jamaica"}, {0x2401, "Arabic - Yemen"}, - {0x2409, "English - Caribbean"}, {0x2801, "Arabic - Syria"}, {0x2809, "English - Belize"}, - {0x3001, "Arabic - Lebanon"}, {0x3009, "English - Zimbabwe"}, {0x3401, "Arabic - Kuwait"}, - {0x3409, "English - Phillippines"}, {0x3801, "Arabic - United Arab Emirates"}, {0x4001, "Arabic - Qatar"}}); + { + {0x1, "Arabic"}, + {0x2, "Bulgarian"}, + {0x3, "Catalan"}, + {0x4, "Chinese (Simplified)"}, + {0x4, "Chinese (Simplified) Legacy"}, + {0x5, "Czech"}, + {0x6, "Danish"}, + {0x7, "German"}, + {0x8, "Greek"}, + {0x9, "English"}, + {0xA, "Spanish"}, + {0xB, "Finnish"}, + {0xC, "French"}, + {0xD, "Hebrew"}, + {0xE, "Hungarian"}, + {0xF, "Icelandic"}, + {0x10, "Italian"}, + {0x11, "Japanese"}, + {0x12, "Korean"}, + {0x13, "Dutch"}, + {0x14, "Norwegian"}, + {0x15, "Polish"}, + {0x16, "Portuguese"}, + {0x17, "Romansh"}, + {0x18, "Romanian"}, + {0x19, "Russian"}, + {0x1A, "Croatian"}, + {0x1B, "Slovak"}, + {0x1C, "Albanian"}, + {0x1D, "Swedish"}, + {0x1E, "Thai"}, + {0x1F, "Turkish"}, + {0x20, "Urdu"}, + {0x21, "Indonesian"}, + {0x22, "Ukrainian"}, + {0x23, "Belarusian"}, + {0x24, "Slovenian"}, + {0x25, "Estonian"}, + {0x26, "Latvian"}, + {0x27, "Lithuanian"}, + {0x28, "Tajik"}, + {0x29, "Persian"}, + {0x2A, "Vietnamese"}, + {0x2B, "Armenian"}, + {0x2C, "Azerbaijani"}, + {0x2D, "Basque"}, + {0x2E, "Upper Sorbian"}, + {0x2F, "Macedonian (FYROM)"}, + {0x30, "Southern Sotho"}, + {0x31, "Tsonga"}, + {0x32, "Setswana"}, + {0x33, "Venda"}, + {0x34, "isiXhosa"}, + {0x35, "isiZulu"}, + {0x36, "Afrikaans"}, + {0x37, "Georgian"}, + {0x38, "Faroese"}, + {0x39, "Hindi"}, + {0x3A, "Maltese"}, + {0x3B, "Sami (Northern)"}, + {0x3C, "Irish"}, + {0x3D, "Yiddish"}, + {0x3E, "Malay"}, + {0x3F, "Kazakh"}, + {0x40, "Kyrgyz"}, + {0x41, "Kiswahili"}, + {0x42, "Turkmen"}, + {0x43, "Uzbek"}, + {0x44, "Tatar"}, + {0x45, "Bangla"}, + {0x46, "Punjabi"}, + {0x47, "Gujarati"}, + {0x48, "Odia"}, + {0x49, "Tamil"}, + {0x4A, "Telugu"}, + {0x4B, "Kannada"}, + {0x4C, "Malayalam"}, + {0x4D, "Assamese"}, + {0x4E, "Marathi"}, + {0x4F, "Sanskrit"}, + {0x50, "Mongolian"}, + {0x51, "Tibetan"}, + {0x52, "Welsh"}, + {0x53, "Khmer"}, + {0x54, "Lao"}, + {0x55, "Burmese"}, + {0x56, "Galician"}, + {0x57, "Konkani"}, + {0x58, "Manipuri"}, + {0x59, "Sindhi"}, + {0x5A, "Syriac"}, + {0x5B, "Sinhala"}, + {0x5C, "Cherokee"}, + {0x5D, "Inuktitut"}, + {0x5E, "Amharic"}, + {0x5F, "Tamazight"}, + {0x60, "Kashmiri"}, + {0x61, "Nepali"}, + {0x62, "Frisian"}, + {0x63, "Pashto"}, + {0x64, "Filipino"}, + {0x65, "Divehi"}, + {0x66, "Edo"}, + {0x67, "Fulah"}, + {0x68, "Hausa"}, + {0x69, "Ibibio"}, + {0x6A, "Yoruba"}, + {0x6B, "Quechua"}, + {0x6C, "Sesotho sa Leboa"}, + {0x6D, "Bashkir"}, + {0x6E, "Luxembourgish"}, + {0x6F, "Greenlandic"}, + {0x70, "Igbo"}, + {0x71, "Kanuri"}, + {0x72, "Oromo"}, + {0x73, "Tigrinya"}, + {0x74, "Guarani"}, + {0x75, "Hawaiian"}, + {0x76, "Latin"}, + {0x77, "Somali"}, + {0x78, "Yi"}, + {0x79, "Papiamento"}, + {0x7A, "Mapudungun"}, + {0x7C, "Mohawk"}, + {0x7E, "Breton"}, + {0x7F, "Invariant Language (Invariant Country)"}, + {0x80, "Uyghur"}, + {0x81, "Maori"}, + {0x82, "Occitan"}, + {0x83, "Corsican"}, + {0x84, "Alsatian"}, + {0x85, "Sakha"}, + {0x86, "K’iche’"}, + {0x87, "Kinyarwanda"}, + {0x88, "Wolof"}, + {0x8C, "Dari"}, + {0x91, "Scottish Gaelic"}, + {0x92, "Central Kurdish"}, + {0x401, "Arabic (Saudi Arabia)"}, + {0x402, "Bulgarian (Bulgaria)"}, + {0x403, "Catalan (Catalan)"}, + {0x404, "Chinese (Traditional, Taiwan)"}, + {0x405, "Czech (Czech Republic)"}, + {0x406, "Danish (Denmark)"}, + {0x407, "German (Germany)"}, + {0x408, "Greek (Greece)"}, + {0x409, "English (United States)"}, + {0x40B, "Finnish (Finland)"}, + {0x40C, "French (France)"}, + {0x40D, "Hebrew (Israel)"}, + {0x40E, "Hungarian (Hungary)"}, + {0x40F, "Icelandic (Iceland)"}, + {0x410, "Italian (Italy)"}, + {0x411, "Japanese (Japan)"}, + {0x412, "Korean (Korea)"}, + {0x413, "Dutch (Netherlands)"}, + {0x414, "Norwegian, Bokmål (Norway)"}, + {0x415, "Polish (Poland)"}, + {0x416, "Portuguese (Brazil)"}, + {0x417, "Romansh (Switzerland)"}, + {0x418, "Romanian (Romania)"}, + {0x419, "Russian (Russia)"}, + {0x41A, "Croatian (Croatia)"}, + {0x41B, "Slovak (Slovakia)"}, + {0x41C, "Albanian (Albania)"}, + {0x41D, "Swedish (Sweden)"}, + {0x41E, "Thai (Thailand)"}, + {0x41F, "Turkish (Turkey)"}, + {0x420, "Urdu (Islamic Republic of Pakistan)"}, + {0x421, "Indonesian (Indonesia)"}, + {0x422, "Ukrainian (Ukraine)"}, + {0x423, "Belarusian (Belarus)"}, + {0x424, "Slovenian (Slovenia)"}, + {0x425, "Estonian (Estonia)"}, + {0x426, "Latvian (Latvia)"}, + {0x427, "Lithuanian (Lithuania)"}, + {0x428, "Tajik (Cyrillic, Tajikistan)"}, + {0x429, "Persian (Iran)"}, + {0x42A, "Vietnamese (Vietnam)"}, + {0x42B, "Armenian (Armenia)"}, + {0x42C, "Azerbaijani (Latin, Azerbaijan)"}, + {0x42D, "Basque (Basque)"}, + {0x42E, "Upper Sorbian (Germany)"}, + {0x42F, "Macedonian (Former Yugoslav Republic of Macedonia)"}, + {0x430, "Southern Sotho (South Africa)"}, + {0x431, "Tsonga (South Africa)"}, + {0x432, "Setswana (South Africa)"}, + {0x433, "Venda (South Africa)"}, + {0x434, "isiXhosa (South Africa)"}, + {0x435, "isiZulu (South Africa)"}, + {0x436, "Afrikaans (South Africa)"}, + {0x437, "Georgian (Georgia)"}, + {0x438, "Faroese (Faroe Islands)"}, + {0x439, "Hindi (India)"}, + {0x43A, "Maltese (Malta)"}, + {0x43B, "Sami, Northern (Norway)"}, + {0x43D, "Yiddish (World)"}, + {0x43E, "Malay (Malaysia)"}, + {0x43F, "Kazakh (Kazakhstan)"}, + {0x440, "Kyrgyz (Kyrgyzstan)"}, + {0x441, "Kiswahili (Kenya)"}, + {0x442, "Turkmen (Turkmenistan)"}, + {0x443, "Uzbek (Latin, Uzbekistan)"}, + {0x444, "Tatar (Russia)"}, + {0x445, "Bangla (India)"}, + {0x446, "Punjabi (India)"}, + {0x447, "Gujarati (India)"}, + {0x448, "Odia (India)"}, + {0x449, "Tamil (India)"}, + {0x44A, "Telugu (India)"}, + {0x44B, "Kannada (India)"}, + {0x44C, "Malayalam (India)"}, + {0x44D, "Assamese (India)"}, + {0x44E, "Marathi (India)"}, + {0x44F, "Sanskrit (India)"}, + {0x450, "Mongolian (Cyrillic, Mongolia)"}, + {0x451, "Tibetan (PRC)"}, + {0x452, "Welsh (United Kingdom)"}, + {0x453, "Khmer (Cambodia)"}, + {0x454, "Lao (Lao P.D.R.)"}, + {0x455, "Burmese (Myanmar)"}, + {0x456, "Galician (Galician)"}, + {0x457, "Konkani (India)"}, + {0x458, "Manipuri (India)"}, + {0x459, "Sindhi (Devanagari, India)"}, + {0x45A, "Syriac (Syria)"}, + {0x45B, "Sinhala (Sri Lanka)"}, + {0x45C, "Cherokee (Cherokee)"}, + {0x45D, "Inuktitut (Syllabics, Canada)"}, + {0x45E, "Amharic (Ethiopia)"}, + {0x45F, "Central Atlas Tamazight (Arabic, Morocco)"}, + {0x460, "Kashmiri (Perso-Arabic)"}, + {0x461, "Nepali (Nepal)"}, + {0x462, "Frisian (Netherlands)"}, + {0x463, "Pashto (Afghanistan)"}, + {0x464, "Filipino (Philippines)"}, + {0x465, "Divehi (Maldives)"}, + {0x466, "Edo (Nigeria)"}, + {0x467, "Fulah (Nigeria)"}, + {0x468, "Hausa (Latin, Nigeria)"}, + {0x469, "Ibibio (Nigeria)"}, + {0x46A, "Yoruba (Nigeria)"}, + {0x46B, "Quechua (Bolivia)"}, + {0x46C, "Sesotho sa Leboa (South Africa)"}, + {0x46D, "Bashkir (Russia)"}, + {0x46E, "Luxembourgish (Luxembourg)"}, + {0x46F, "Greenlandic (Greenland)"}, + {0x470, "Igbo (Nigeria)"}, + {0x471, "Kanuri (Nigeria)"}, + {0x472, "Oromo (Ethiopia)"}, + {0x473, "Tigrinya (Ethiopia)"}, + {0x474, "Guarani (Paraguay)"}, + {0x475, "Hawaiian (United States)"}, + {0x476, "Latin (World)"}, + {0x477, "Somali (Somalia)"}, + {0x478, "Yi (PRC)"}, + {0x479, "Papiamento (Caribbean)"}, + {0x47A, "Mapudungun (Chile)"}, + {0x47C, "Mohawk (Mohawk)"}, + {0x47E, "Breton (France)"}, + {0x480, "Uyghur (PRC)"}, + {0x481, "Maori (New Zealand)"}, + {0x482, "Occitan (France)"}, + {0x483, "Corsican (France)"}, + {0x484, "Alsatian (France)"}, + {0x485, "Sakha (Russia)"}, + {0x486, "K’iche’ (Guatemala)"}, + {0x487, "Kinyarwanda (Rwanda)"}, + {0x488, "Wolof (Senegal)"}, + {0x48C, "Dari (Afghanistan)"}, + {0x491, "Scottish Gaelic (United Kingdom)"}, + {0x492, "Central Kurdish (Iraq)"}, + {0x801, "Arabic (Iraq)"}, + {0x803, "Valencian (Spain)"}, + {0x804, "Chinese (Simplified, PRC)"}, + {0x807, "German (Switzerland)"}, + {0x809, "English (United Kingdom)"}, + {0x80A, "Spanish (Mexico)"}, + {0x80C, "French (Belgium)"}, + {0x810, "Italian (Switzerland)"}, + {0x813, "Dutch (Belgium)"}, + {0x814, "Norwegian, Nynorsk (Norway)"}, + {0x816, "Portuguese (Portugal)"}, + {0x818, "Romanian (Moldova)"}, + {0x819, "Russian (Moldova)"}, + {0x81D, "Swedish (Finland)"}, + {0x820, "Urdu (India)"}, + {0x82C, "Azerbaijani (Cyrillic, Azerbaijan)"}, + {0x82E, "Lower Sorbian (Germany)"}, + {0x832, "Setswana (Botswana)"}, + {0x83B, "Sami, Northern (Sweden)"}, + {0x83C, "Irish (Ireland)"}, + {0x83E, "Malay (Brunei Darussalam)"}, + {0x843, "Uzbek (Cyrillic, Uzbekistan)"}, + {0x845, "Bangla (Bangladesh)"}, + {0x846, "Punjabi (Islamic Republic of Pakistan)"}, + {0x849, "Tamil (Sri Lanka)"}, + {0x850, "Mongolian (Traditional Mongolian, PRC)"}, + {0x859, "Sindhi (Islamic Republic of Pakistan)"}, + {0x85D, "Inuktitut (Latin, Canada)"}, + {0x85F, "Tamazight (Latin, Algeria)"}, + {0x860, "Kashmiri (Devanagari, India)"}, + {0x861, "Nepali (India)"}, + {0x867, "Fulah (Latin, Senegal)"}, + {0x86B, "Quechua (Ecuador)"}, + {0x873, "Tigrinya (Eritrea)"}, + {0xC01, "Arabic (Egypt)"}, + {0xC04, "Chinese (Traditional, Hong Kong S.A.R.)"}, + {0xC07, "German (Austria)"}, + {0xC09, "English (Australia)"}, + {0xC0A, "Spanish (Spain)"}, + {0xC0C, "French (Canada)"}, + {0xC3B, "Sami, Northern (Finland)"}, + {0xC50, "Mongolian (Traditional Mongolian, Mongolia)"}, + {0xC51, "Dzongkha (Bhutan)"}, + {0xC6B, "Quechua (Peru)"}, + {0x1001, "Arabic (Libya)"}, + {0x1004, "Chinese (Simplified, Singapore)"}, + {0x1007, "German (Luxembourg)"}, + {0x1009, "English (Canada)"}, + {0x100A, "Spanish (Guatemala)"}, + {0x100C, "French (Switzerland)"}, + {0x101A, "Croatian (Latin, Bosnia and Herzegovina)"}, + {0x103B, "Sami, Lule (Norway)"}, + {0x105F, "Central Atlas Tamazight (Tifinagh, Morocco)"}, + {0x1401, "Arabic (Algeria)"}, + {0x1404, "Chinese (Traditional, Macao S.A.R.)"}, + {0x1407, "German (Liechtenstein)"}, + {0x1409, "English (New Zealand)"}, + {0x140A, "Spanish (Costa Rica)"}, + {0x140C, "French (Luxembourg)"}, + {0x141A, "Bosnian (Latin, Bosnia and Herzegovina)"}, + {0x143B, "Sami, Lule (Sweden)"}, + {0x1801, "Arabic (Morocco)"}, + {0x1809, "English (Ireland)"}, + {0x180A, "Spanish (Panama)"}, + {0x180C, "French (Monaco)"}, + {0x181A, "Serbian (Latin, Bosnia and Herzegovina)"}, + {0x183B, "Sami, Southern (Norway)"}, + {0x1C01, "Arabic (Tunisia)"}, + {0x1C09, "English (South Africa)"}, + {0x1C0A, "Spanish (Dominican Republic)"}, + {0x1C0C, "French (Caribbean)"}, + {0x1C1A, "Serbian (Cyrillic, Bosnia and Herzegovina)"}, + {0x1C3B, "Sami, Southern (Sweden)"}, + {0x2001, "Arabic (Oman)"}, + {0x2009, "English (Jamaica)"}, + {0x200A, "Spanish (Venezuela)"}, + {0x200C, "French (Reunion)"}, + {0x201A, "Bosnian (Cyrillic, Bosnia and Herzegovina)"}, + {0x203B, "Sami, Skolt (Finland)"}, + {0x2401, "Arabic (Yemen)"}, + {0x2409, "English (Caribbean)"}, + {0x240A, "Spanish (Colombia)"}, + {0x240C, "French (Congo DRC)"}, + {0x241A, "Serbian (Latin, Serbia)"}, + {0x243B, "Sami, Inari (Finland)"}, + {0x2801, "Arabic (Syria)"}, + {0x2809, "English (Belize)"}, + {0x280A, "Spanish (Peru)"}, + {0x280C, "French (Senegal)"}, + {0x281A, "Serbian (Cyrillic, Serbia)"}, + {0x2C01, "Arabic (Jordan)"}, + {0x2C09, "English (Trinidad and Tobago)"}, + {0x2C0A, "Spanish (Argentina)"}, + {0x2C0C, "French (Cameroon)"}, + {0x2C1A, "Serbian (Latin, Montenegro)"}, + {0x3001, "Arabic (Lebanon)"}, + {0x3009, "English (Zimbabwe)"}, + {0x300A, "Spanish (Ecuador)"}, + {0x300C, "French (Côte d’Ivoire)"}, + {0x301A, "Serbian (Cyrillic, Montenegro)"}, + {0x3401, "Arabic (Kuwait)"}, + {0x3409, "English (Philippines)"}, + {0x340A, "Spanish (Chile)"}, + {0x340C, "French (Mali)"}, + {0x3801, "Arabic (U.A.E.)"}, + {0x3809, "English (Indonesia)"}, + {0x380A, "Spanish (Uruguay)"}, + {0x380C, "French (Morocco)"}, + {0x3C01, "Arabic (Bahrain)"}, + {0x3C09, "English (Hong Kong SAR)"}, + {0x3C0A, "Spanish (Paraguay)"}, + {0x3C0C, "French (Haiti)"}, + {0x4001, "Arabic (Qatar)"}, + {0x4009, "English (India)"}, + {0x400A, "Spanish (Bolivia)"}, + {0x4409, "English (Malaysia)"}, + {0x440A, "Spanish (El Salvador)"}, + {0x4809, "English (Singapore)"}, + {0x480A, "Spanish (Honduras)"}, + {0x4C0A, "Spanish (Nicaragua)"}, + {0x500A, "Spanish (Puerto Rico)"}, + {0x540A, "Spanish (United States)"}, + {0x580A, "Spanish (Latin America)"}, + {0x5C0A, "Spanish (Cuba)"}, + {0x641A, "Bosnian (Cyrillic)"}, + {0x681A, "Bosnian (Latin)"}, + {0x6C1A, "Serbian (Cyrillic)"}, + {0x701A, "Serbian (Latin)"}, + {0x703B, "Sami (Inari)"}, + {0x742C, "Azerbaijani (Cyrillic)"}, + {0x743B, "Sami (Skolt)"}, + {0x7804, "Chinese"}, + {0x7814, "Norwegian (Nynorsk)"}, + {0x781A, "Bosnian"}, + {0x782C, "Azerbaijani (Latin)"}, + {0x783B, "Sami (Southern)"}, + {0x7843, "Uzbek (Cyrillic)"}, + {0x7850, "Mongolian (Cyrillic)"}, + {0x785D, "Inuktitut (Syllabics)"}, + {0x785F, "Tamazight (Tifinagh)"}, + {0x7C04, "Chinese (Traditional)"}, + {0x7C04, "Chinese (Traditional) Legacy"}, + {0x7C14, "Norwegian (Bokmål)"}, + {0x7C1A, "Serbian"}, + {0x7C28, "Tajik (Cyrillic)"}, + {0x7C2E, "Lower Sorbian"}, + {0x7C3B, "Sami (Lule)"}, + {0x7C43, "Uzbek (Latin)"}, + {0x7C46, "Punjabi (Arabic)"}, + {0x7C50, "Mongolian (Traditional Mongolian)"}, + {0x7C59, "Sindhi (Arabic)"}, + {0x7C5C, "Cherokee (Cherokee)"}, + {0x7C5D, "Inuktitut (Latin)"}, + {0x7C5F, "Tamazight (Latin)"}, + {0x7C67, "Fulah (Latin)"}, + {0x7C68, "Hausa (Latin)"}, + {0x7C86, "K’iche’"}, + {0x7C92, "Central Kurdish (Arabic)"}, + }); return *all; } diff --git a/source/detail/number_format/number_formatter.hpp b/source/detail/number_format/number_formatter.hpp index 4c3e14920..7e960c0e8 100644 --- a/source/detail/number_format/number_formatter.hpp +++ b/source/detail/number_format/number_formatter.hpp @@ -102,111 +102,434 @@ enum class format_color enum class format_locale { + arabic = 0x1, + bulgarian = 0x2, + catalan = 0x3, + chinese_simplified = 0x4, + chinese_simplified_legacy = 0x4, + czech = 0x5, + danish = 0x6, + german = 0x7, + greek = 0x8, + english = 0x9, + spanish = 0xA, + finnish = 0xB, + french = 0xC, + hebrew = 0xD, + hungarian = 0xE, + icelandic = 0xF, + italian = 0x10, + japanese = 0x11, + korean = 0x12, + dutch = 0x13, + norwegian = 0x14, + polish = 0x15, + portuguese = 0x16, + romansh = 0x17, + romanian = 0x18, + russian = 0x19, + croatian = 0x1A, + slovak = 0x1B, + albanian = 0x1C, + swedish = 0x1D, + thai = 0x1E, + turkish = 0x1F, + urdu = 0x20, + indonesian = 0x21, + ukrainian = 0x22, + belarusian = 0x23, + slovenian = 0x24, + estonian = 0x25, + latvian = 0x26, + lithuanian = 0x27, + tajik = 0x28, + persian = 0x29, + vietnamese = 0x2A, + armenian = 0x2B, + azerbaijani = 0x2C, + basque = 0x2D, + upper_sorbian = 0x2E, + macedonian_fyrom = 0x2F, + southern_sotho = 0x30, + tsonga = 0x31, + setswana = 0x32, + venda = 0x33, + isixhosa = 0x34, + isizulu = 0x35, + afrikaans = 0x36, + georgian = 0x37, + faroese = 0x38, + hindi = 0x39, + maltese = 0x3A, + sami_northern = 0x3B, + irish = 0x3C, + yiddish = 0x3D, + malay = 0x3E, + kazakh = 0x3F, + kyrgyz = 0x40, + kiswahili = 0x41, + turkmen = 0x42, + uzbek = 0x43, + tatar = 0x44, + bangla = 0x45, + punjabi = 0x46, + gujarati = 0x47, + odia = 0x48, + tamil = 0x49, + telugu = 0x4A, + kannada = 0x4B, + malayalam = 0x4C, + assamese = 0x4D, + marathi = 0x4E, + sanskrit = 0x4F, + mongolian = 0x50, + tibetan = 0x51, + welsh = 0x52, + khmer = 0x53, + lao = 0x54, + burmese = 0x55, + galician = 0x56, + konkani = 0x57, + manipuri = 0x58, + sindhi = 0x59, + syriac = 0x5A, + sinhala = 0x5B, + cherokee = 0x5C, + inuktitut = 0x5D, + amharic = 0x5E, + tamazight = 0x5F, + kashmiri = 0x60, + nepali = 0x61, + frisian = 0x62, + pashto = 0x63, + filipino = 0x64, + divehi = 0x65, + edo = 0x66, + fulah = 0x67, + hausa = 0x68, + ibibio = 0x69, + yoruba = 0x6A, + quechua = 0x6B, + sesotho_sa_leboa = 0x6C, + bashkir = 0x6D, + luxembourgish = 0x6E, + greenlandic = 0x6F, + igbo = 0x70, + kanuri = 0x71, + oromo = 0x72, + tigrinya = 0x73, + guarani = 0x74, + hawaiian = 0x75, + latin = 0x76, + somali = 0x77, + yi = 0x78, + papiamento = 0x79, + mapudungun = 0x7A, + mohawk = 0x7C, + breton = 0x7E, + invariant_language_invariant_country = 0x7F, + uyghur = 0x80, + maori = 0x81, + occitan = 0x82, + corsican = 0x83, + alsatian = 0x84, + sakha = 0x85, + kiche = 0x86, + kinyarwanda = 0x87, + wolof = 0x88, + dari = 0x8C, + scottish_gaelic = 0x91, + central_kurdish = 0x92, arabic_saudi_arabia = 0x401, - bulgarian = 0x402, - catalan = 0x403, - chinese_taiwan = 0x404, - czech = 0x405, - danish = 0x406, + bulgarian_bulgaria = 0x402, + catalan_catalan = 0x403, + chinese_traditional_taiwan = 0x404, + czech_czech_republic = 0x405, + danish_denmark = 0x406, german_germany = 0x407, - greek = 0x408, + greek_greece = 0x408, english_united_states = 0x409, + finnish_finland = 0x40B, + french_france = 0x40C, + hebrew_israel = 0x40D, + hungarian_hungary = 0x40E, + icelandic_iceland = 0x40F, italian_italy = 0x410, - japanese = 0x411, - korean = 0x412, + japanese_japan = 0x411, + korean_korea = 0x412, dutch_netherlands = 0x413, - norwegian_bokml = 0x414, - polish = 0x415, + norwegian_bokml_norway = 0x414, + polish_poland = 0x415, portuguese_brazil = 0x416, - raeto_romance = 0x417, + romansh_switzerland = 0x417, romanian_romania = 0x418, - russian = 0x419, - urdu = 0x420, - indonesian = 0x421, - ukrainian = 0x422, - belarusian = 0x423, - slovenian = 0x424, - estonian = 0x425, - latvian = 0x426, - lithuanian = 0x427, - tajik = 0x428, - farsi_persian = 0x429, - sesotho_sutu = 0x430, - tsonga = 0x431, - setsuana = 0x432, - venda = 0x433, - xhosa = 0x434, - zulu = 0x435, - afrikaans = 0x436, - georgian = 0x437, - faroese = 0x438, - hindi = 0x439, - kyrgyz_cyrillic = 0x440, - swahili = 0x441, - turkmen = 0x442, - uzbek_latin = 0x443, - tatar = 0x444, - bengali_india = 0x445, - punjabi = 0x446, - gujarati = 0x447, - oriya = 0x448, - tamil = 0x449, - mongolian = 0x450, - tibetan = 0x451, - welsh = 0x452, - khmer = 0x453, - lao = 0x454, - burmese = 0x455, - galician = 0x456, - konkani = 0x457, - manipuri = 0x458, - sindhi = 0x459, - kashmiri = 0x460, - nepali = 0x461, + russian_russia = 0x419, + croatian_croatia = 0x41A, + slovak_slovakia = 0x41B, + albanian_albania = 0x41C, + swedish_sweden = 0x41D, + thai_thailand = 0x41E, + turkish_turkey = 0x41F, + urdu_islamic_republic_of_pakistan = 0x420, + indonesian_indonesia = 0x421, + ukrainian_ukraine = 0x422, + belarusian_belarus = 0x423, + slovenian_slovenia = 0x424, + estonian_estonia = 0x425, + latvian_latvia = 0x426, + lithuanian_lithuania = 0x427, + tajik_cyrillic_tajikistan = 0x428, + persian_iran = 0x429, + vietnamese_vietnam = 0x42A, + armenian_armenia = 0x42B, + azerbaijani_latin_azerbaijan = 0x42C, + basque_basque = 0x42D, + upper_sorbian_germany = 0x42E, + macedonian_former_yugoslav_republic_of_macedonia = 0x42F, + southern_sotho_south_africa = 0x430, + tsonga_south_africa = 0x431, + setswana_south_africa = 0x432, + venda_south_africa = 0x433, + isixhosa_south_africa = 0x434, + isizulu_south_africa = 0x435, + afrikaans_south_africa = 0x436, + georgian_georgia = 0x437, + faroese_faroe_islands = 0x438, + hindi_india = 0x439, + maltese_malta = 0x43A, + sami_northern_norway = 0x43B, + yiddish_world = 0x43D, + malay_malaysia = 0x43E, + kazakh_kazakhstan = 0x43F, + kyrgyz_kyrgyzstan = 0x440, + kiswahili_kenya = 0x441, + turkmen_turkmenistan = 0x442, + uzbek_latin_uzbekistan = 0x443, + tatar_russia = 0x444, + bangla_india = 0x445, + punjabi_india = 0x446, + gujarati_india = 0x447, + odia_india = 0x448, + tamil_india = 0x449, + telugu_india = 0x44A, + kannada_india = 0x44B, + malayalam_india = 0x44C, + assamese_india = 0x44D, + marathi_india = 0x44E, + sanskrit_india = 0x44F, + mongolian_cyrillic_mongolia = 0x450, + tibetan_prc = 0x451, + welsh_united_kingdom = 0x452, + khmer_cambodia = 0x453, + lao_lao_p_d_r = 0x454, + burmese_myanmar = 0x455, + galician_galician = 0x456, + konkani_india = 0x457, + manipuri_india = 0x458, + sindhi_devanagari_india = 0x459, + syriac_syria = 0x45A, + sinhala_sri_lanka = 0x45B, + cherokee_cherokee = 0x45C, + inuktitut_syllabics_canada = 0x45D, + amharic_ethiopia = 0x45E, + central_atlas_tamazight_arabic_morocco = 0x45F, + kashmiri_perso_arabic = 0x460, + nepali_nepal = 0x461, frisian_netherlands = 0x462, - filipino = 0x464, - divehi_dhivehi_maldivian = 0x465, - edo = 0x466, + pashto_afghanistan = 0x463, + filipino_philippines = 0x464, + divehi_maldives = 0x465, + edo_nigeria = 0x466, + fulah_nigeria = 0x467, + hausa_latin_nigeria = 0x468, + ibibio_nigeria = 0x469, + yoruba_nigeria = 0x46A, + quechua_bolivia = 0x46B, + sesotho_sa_leboa_south_africa = 0x46C, + bashkir_russia = 0x46D, + luxembourgish_luxembourg = 0x46E, + greenlandic_greenland = 0x46F, igbo_nigeria = 0x470, + kanuri_nigeria = 0x471, + oromo_ethiopia = 0x472, + tigrinya_ethiopia = 0x473, guarani_paraguay = 0x474, - latin = 0x476, - somali = 0x477, - maori = 0x481, + hawaiian_united_states = 0x475, + latin_world = 0x476, + somali_somalia = 0x477, + yi_prc = 0x478, + papiamento_caribbean = 0x479, + mapudungun_chile = 0x47A, + mohawk_mohawk = 0x47C, + breton_france = 0x47E, + uyghur_prc = 0x480, + maori_new_zealand = 0x481, + occitan_france = 0x482, + corsican_france = 0x483, + alsatian_france = 0x484, + sakha_russia = 0x485, + kiche_guatemala = 0x486, + kinyarwanda_rwanda = 0x487, + wolof_senegal = 0x488, + dari_afghanistan = 0x48C, + scottish_gaelic_united_kingdom = 0x491, + central_kurdish_iraq = 0x492, arabic_iraq = 0x801, - chinese_china = 0x804, + valencian_spain = 0x803, + chinese_simplified_prc = 0x804, german_switzerland = 0x807, - english_great_britain = 0x809, + english_united_kingdom = 0x809, + spanish_mexico = 0x80A, + french_belgium = 0x80C, italian_switzerland = 0x810, dutch_belgium = 0x813, - norwegian_nynorsk = 0x814, + norwegian_nynorsk_norway = 0x814, portuguese_portugal = 0x816, romanian_moldova = 0x818, russian_moldova = 0x819, - uzbek_cyrillic = 0x843, - bengali_bangladesh = 0x845, - mongolian2 = 0x850, + swedish_finland = 0x81D, + urdu_india = 0x820, + azerbaijani_cyrillic_azerbaijan = 0x82C, + lower_sorbian_germany = 0x82E, + setswana_botswana = 0x832, + sami_northern_sweden = 0x83B, + irish_ireland = 0x83C, + malay_brunei_darussalam = 0x83E, + uzbek_cyrillic_uzbekistan = 0x843, + bangla_bangladesh = 0x845, + punjabi_islamic_republic_of_pakistan = 0x846, + tamil_sri_lanka = 0x849, + mongolian_traditional_mongolian_prc = 0x850, + sindhi_islamic_republic_of_pakistan = 0x859, + inuktitut_latin_canada = 0x85D, + tamazight_latin_algeria = 0x85F, + kashmiri_devanagari_india = 0x860, + nepali_india = 0x861, + fulah_latin_senegal = 0x867, + quechua_ecuador = 0x86B, + tigrinya_eritrea = 0x873, + arabic_egypt = 0xC01, + chinese_traditional_hong_kong_s_a_r = 0xC04, + german_austria = 0xC07, + english_australia = 0xC09, + spanish_spain = 0xC0A, + french_canada = 0xC0C, + sami_northern_finland = 0xC3B, + mongolian_traditional_mongolian_mongolia = 0xC50, + dzongkha_bhutan = 0xC51, + quechua_peru = 0xC6B, arabic_libya = 0x1001, - chinese_singapore = 0x1004, + chinese_simplified_singapore = 0x1004, german_luxembourg = 0x1007, english_canada = 0x1009, + spanish_guatemala = 0x100A, + french_switzerland = 0x100C, + croatian_latin_bosnia_and_herzegovina = 0x101A, + sami_lule_norway = 0x103B, + central_atlas_tamazight_tifinagh_morocco = 0x105F, arabic_algeria = 0x1401, - chinese_macau_sar = 0x1404, + chinese_traditional_macao_s_a_r = 0x1404, german_liechtenstein = 0x1407, english_new_zealand = 0x1409, + spanish_costa_rica = 0x140A, + french_luxembourg = 0x140C, + bosnian_latin_bosnia_and_herzegovina = 0x141A, + sami_lule_sweden = 0x143B, arabic_morocco = 0x1801, english_ireland = 0x1809, + spanish_panama = 0x180A, + french_monaco = 0x180C, + serbian_latin_bosnia_and_herzegovina = 0x181A, + sami_southern_norway = 0x183B, + arabic_tunisia = 0x1C01, + english_south_africa = 0x1C09, + spanish_dominican_republic = 0x1C0A, + french_caribbean = 0x1C0C, + serbian_cyrillic_bosnia_and_herzegovina = 0x1C1A, + sami_southern_sweden = 0x1C3B, arabic_oman = 0x2001, english_jamaica = 0x2009, + spanish_venezuela = 0x200A, + french_reunion = 0x200C, + bosnian_cyrillic_bosnia_and_herzegovina = 0x201A, + sami_skolt_finland = 0x203B, arabic_yemen = 0x2401, english_caribbean = 0x2409, + spanish_colombia = 0x240A, + french_congo_drc = 0x240C, + serbian_latin_serbia = 0x241A, + sami_inari_finland = 0x243B, arabic_syria = 0x2801, english_belize = 0x2809, + spanish_peru = 0x280A, + french_senegal = 0x280C, + serbian_cyrillic_serbia = 0x281A, + arabic_jordan = 0x2C01, + english_trinidad_and_tobago = 0x2C09, + spanish_argentina = 0x2C0A, + french_cameroon = 0x2C0C, + serbian_latin_montenegro = 0x2C1A, arabic_lebanon = 0x3001, english_zimbabwe = 0x3009, + spanish_ecuador = 0x300A, + french_cote_divoire = 0x300C, + serbian_cyrillic_montenegro = 0x301A, arabic_kuwait = 0x3401, - english_phillippines = 0x3409, - arabic_united_arab_emirates = 0x3801, - arabic_qatar = 0x4001 + english_philippines = 0x3409, + spanish_chile = 0x340A, + french_mali = 0x340C, + arabic_u_a_e = 0x3801, + english_indonesia = 0x3809, + spanish_uruguay = 0x380A, + french_morocco = 0x380C, + arabic_bahrain = 0x3C01, + english_hong_kong_sar = 0x3C09, + spanish_paraguay = 0x3C0A, + french_haiti = 0x3C0C, + arabic_qatar = 0x4001, + english_india = 0x4009, + spanish_bolivia = 0x400A, + english_malaysia = 0x4409, + spanish_el_salvador = 0x440A, + english_singapore = 0x4809, + spanish_honduras = 0x480A, + spanish_nicaragua = 0x4C0A, + spanish_puerto_rico = 0x500A, + spanish_united_states = 0x540A, + spanish_latin_america = 0x580A, + spanish_cuba = 0x5C0A, + bosnian_cyrillic = 0x641A, + bosnian_latin = 0x681A, + serbian_cyrillic = 0x6C1A, + serbian_latin = 0x701A, + sami_inari = 0x703B, + azerbaijani_cyrillic = 0x742C, + sami_skolt = 0x743B, + chinese = 0x7804, + norwegian_nynorsk = 0x7814, + bosnian = 0x781A, + azerbaijani_latin = 0x782C, + sami_southern = 0x783B, + uzbek_cyrillic = 0x7843, + mongolian_cyrillic = 0x7850, + inuktitut_syllabics = 0x785D, + tamazight_tifinagh = 0x785F, + chinese_traditional = 0x7C04, + chinese_traditional_legacy = 0x7C04, + norwegian_bokml = 0x7C14, + serbian = 0x7C1A, + tajik_cyrillic = 0x7C28, + lower_sorbian = 0x7C2E, + sami_lule = 0x7C3B, + uzbek_latin = 0x7C43, + punjabi_arabic = 0x7C46, + mongolian_traditional_mongolian = 0x7C50, + sindhi_arabic = 0x7C59, + inuktitut_latin = 0x7C5D, + tamazight_latin = 0x7C5F, + fulah_latin = 0x7C67, + hausa_latin = 0x7C68, + central_kurdish_arabic = 0x7C92 }; // TODO this really shouldn't be exported...