From 57e1c9e1ee156ff0332f51b08aef65d52adaa4e7 Mon Sep 17 00:00:00 2001 From: Ulrich Telle Date: Mon, 18 Nov 2024 16:46:25 +0100 Subject: [PATCH] Update wxWidgets language database and improve locale matching This commit improves the best locale match algorithm by prioritizing closer matches and add many new tests verifying that this works as expected. In order to do this, new information had to be added to the language database, which was extended with it and updated to use the latest Unicode CLDR data and latest Windows 11 locale list. Further, add a set of scripts for maintaining the language database up to date and a GitHub workflow `genlangdb.yml` which can be run manually to regenerate the wxWidgets language-related source and header files from the underlying Windows and Unicode data. It produces 2 artifacts: - wxLanguageDatabaseDist.zip allows to easily update the language-related files in the wxWidgets repository by simply copying all files. - the normal workflow log and wxLanguageDatabaseLog.zip allow to check all temporary files of the regeneration process and to detect potential issues, before the language-related files are actually replaced by the new ones. Finally, fix wxUILocaleImplName::GetPreferredUILanguages: Under Windows 10 and above the Windows API function ::GetUserPreferredUILanguages() returns only the primary UI language plus US English. Additional preferred UI languages installed by the user are ignored, so instead of using this function read the list of user preferred languages from the Windows registry. Closes #24855. --- .github/workflows/code_checks.yml | 1 + .github/workflows/genlangdb.yml | 68 + include/wx/language.h | 12 +- include/wx/private/lang_info.h | 954 ++ include/wx/private/lang_likely.h | 353 + include/wx/private/lang_match.h | 214 + include/wx/private/lang_regions.h | 170 + include/wx/private/lang_scripts.h | 206 + include/wx/private/uilocale.h | 35 + include/wx/uilocale.h | 38 +- interface/wx/language.h | 14 +- misc/languages/README | 101 +- misc/languages/data/gensqlfiles.ps1 | 49 + misc/languages/data/getunicodefiles.bat | 17 - misc/languages/data/getunicodefiles.ps1 | 56 + misc/languages/data/getwindowsdata.ps1 | 11 + misc/languages/data/makelangdb.ps1 | 11 + misc/languages/data/mkdatabase.sql | 11 +- misc/languages/data/mklangtablnew.bat | 25 - misc/languages/data/mkwxtables.sql | 28 +- misc/languages/data/replacetables.bat | 6 - misc/languages/data/replacetables.ps1 | 12 + misc/languages/data/setupenv.ps1 | 11 + misc/languages/data/unicode/iso15924.txt | 16 +- misc/languages/data/unicode/languageInfo.xml | 454 + misc/languages/data/unicode/likelySubtags.xml | 7762 +++++++++++++++++ .../data/unicode/supplementalData.xml | 5809 ++++++++++++ .../data/unicode/uni_genscriptmap.lua | 17 +- misc/languages/data/unicode/uni_getlikely.lua | 31 + misc/languages/data/unicode/uni_getmatch.lua | 38 + .../languages/data/unicode/uni_getregions.lua | 135 + .../data/unicode/uni_territorycodes.lua | 2 +- .../data/windows/win-locale-table-win.txt | 79 +- .../data/windows/win_genlocaletable.lua | 59 +- misc/languages/data/wx/wx_loadlangtabl.lua | 2 +- misc/languages/data/wx/wx_loadsynonymtabl.lua | 2 +- misc/languages/data/wx/wx_readversion.lua | 2 +- misc/languages/genlang.py | 274 +- misc/languages/langtabl.txt | 76 +- misc/languages/likelytabl.txt | 315 + misc/languages/matchingtabl.txt | 176 + misc/languages/preparedist.ps1 | 14 + misc/languages/regiongrouptabl.txt | 132 + misc/languages/scripttabl.txt | 4 + misc/languages/synonymtabl.txt | 4 + misc/scripts/spellcheck | 2 +- src/common/intl.cpp | 12 +- src/common/languageinfo.cpp | 1210 +-- src/common/translation.cpp | 59 +- src/common/uilocale.cpp | 364 +- src/msw/uilocale.cpp | 36 + tests/intl/intltest.cpp | 129 + 52 files changed, 18147 insertions(+), 1471 deletions(-) create mode 100644 .github/workflows/genlangdb.yml create mode 100644 include/wx/private/lang_info.h create mode 100644 include/wx/private/lang_likely.h create mode 100644 include/wx/private/lang_match.h create mode 100644 include/wx/private/lang_regions.h create mode 100644 include/wx/private/lang_scripts.h create mode 100644 misc/languages/data/gensqlfiles.ps1 delete mode 100644 misc/languages/data/getunicodefiles.bat create mode 100644 misc/languages/data/getunicodefiles.ps1 create mode 100644 misc/languages/data/getwindowsdata.ps1 create mode 100644 misc/languages/data/makelangdb.ps1 delete mode 100644 misc/languages/data/mklangtablnew.bat delete mode 100644 misc/languages/data/replacetables.bat create mode 100644 misc/languages/data/replacetables.ps1 create mode 100644 misc/languages/data/setupenv.ps1 create mode 100644 misc/languages/data/unicode/languageInfo.xml create mode 100644 misc/languages/data/unicode/likelySubtags.xml create mode 100644 misc/languages/data/unicode/supplementalData.xml create mode 100644 misc/languages/data/unicode/uni_getlikely.lua create mode 100644 misc/languages/data/unicode/uni_getmatch.lua create mode 100644 misc/languages/data/unicode/uni_getregions.lua create mode 100644 misc/languages/likelytabl.txt create mode 100644 misc/languages/matchingtabl.txt create mode 100644 misc/languages/preparedist.ps1 create mode 100644 misc/languages/regiongrouptabl.txt diff --git a/.github/workflows/code_checks.yml b/.github/workflows/code_checks.yml index 876bee7f4b..d84fda420f 100644 --- a/.github/workflows/code_checks.yml +++ b/.github/workflows/code_checks.yml @@ -54,6 +54,7 @@ jobs: ':!build/bakefiles/make_dist.mk' \ ':!build/bakefiles/scintilla.bkl' \ ':!docs/doxygen/doxygen-awesome-css/*' \ + ':!misc/languages/data/unicode/*.xml' \ ':!samples/widgets/widgets.bkl' \ ':!tests/test.bkl' \ ':!**/*akefile*' \ diff --git a/.github/workflows/genlangdb.yml b/.github/workflows/genlangdb.yml new file mode 100644 index 0000000000..c6fd6f67dd --- /dev/null +++ b/.github/workflows/genlangdb.yml @@ -0,0 +1,68 @@ +name: Generate wxWidgets language database + +on: workflow_dispatch + +jobs: + + regenerate: + runs-on: windows-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Enable MSVC command line + uses: ilammy/msvc-dev-cmd@v1.13.0 + + - name: Install utilities with Chocolatey + run: | + choco install sqlite.shell + choco install lua53 + choco install python2 + + - name: Build utils + run: | + cd misc\languages\util + cl showlocales.c + # Test showlocales + .\showlocales >..\data\temp\win-locale-table-test.txt + + - name: Generate database and language files + run: | + misc\languages\data\setupenv.ps1 + cd misc\languages\data + .\getunicodefiles.ps1 46-beta2 + # Do not run the following step on Windows Server 2022, + # locale data of Windows Server versions are usually outdated. + # Use Windows 11 Pro (or later) with recent updates for this step. + # .\getwindowsdata.ps1 + .\gensqlfiles.ps1 + .\makelangdb.ps1 + + - name: Replace language files and regenerate C++ source files + run: | + cd misc\languages\data + .\replacetables.ps1 + cd ..\..\.. + python misc\languages\genlang.py + + - name: Prepare language database update artifact + run: | + misc\languages\preparedist.ps1 + + - name: Upload language update distribution + uses: actions/upload-artifact@v4 + with: + name: wxLanguageDatabaseDist + path: | + distlang + + - name: Upload temporary language data files and logs + uses: actions/upload-artifact@v4 + with: + name: wxLanguageDatabaseLog + path: | + misc/languages/data + !misc/languages/data/**/*.db3 + !misc/languages/data/**/*.lua + !misc/languages/data/**/*.ps1 diff --git a/include/wx/language.h b/include/wx/language.h index 41bbedfae2..07a7d1ff7c 100644 --- a/include/wx/language.h +++ b/include/wx/language.h @@ -191,8 +191,6 @@ enum wxLanguage wxLANGUAGE_DANISH, wxLANGUAGE_DANISH_DENMARK, wxLANGUAGE_DANISH_GREENLAND, - wxLANGUAGE_DARI, - wxLANGUAGE_DARI_AFGHANISTAN, wxLANGUAGE_DIVEHI, wxLANGUAGE_DIVEHI_MALDIVES, wxLANGUAGE_DOGRI, @@ -516,8 +514,8 @@ enum wxLanguage wxLANGUAGE_KHMER, wxLANGUAGE_KHMER_CAMBODIA, wxLANGUAGE_KICHE, - wxLANGUAGE_KICHE_GUATEMALA, wxLANGUAGE_KICHE_LATIN, + wxLANGUAGE_KICHE_LATIN_GUATEMALA, wxLANGUAGE_KIKUYU, wxLANGUAGE_KIKUYU_KENYA, wxLANGUAGE_KINYARWANDA, @@ -670,6 +668,7 @@ enum wxLanguage wxLANGUAGE_PASHTO_AFGHANISTAN, wxLANGUAGE_PASHTO_PAKISTAN, wxLANGUAGE_PERSIAN, + wxLANGUAGE_PERSIAN_AFGHANISTAN, wxLANGUAGE_PERSIAN_IRAN, wxLANGUAGE_POLISH, wxLANGUAGE_POLISH_POLAND, @@ -853,6 +852,7 @@ enum wxLanguage wxLANGUAGE_TACHELHIT_TIFINAGH, wxLANGUAGE_TACHELHIT_TIFINAGH_MOROCCO, wxLANGUAGE_TAGALOG, + wxLANGUAGE_TAGALOG_PHILIPPINES, wxLANGUAGE_TAITA, wxLANGUAGE_TAITA_KENYA, wxLANGUAGE_TAJIK, @@ -888,7 +888,7 @@ enum wxLanguage wxLANGUAGE_TSONGA_SOUTH_AFRICA, wxLANGUAGE_TURKISH, wxLANGUAGE_TURKISH_CYPRUS, - wxLANGUAGE_TURKISH_TURKEY, + wxLANGUAGE_TURKISH_TURKIYE, wxLANGUAGE_TURKMEN, wxLANGUAGE_TURKMEN_TURKMENISTAN, wxLANGUAGE_TWI, @@ -962,17 +962,21 @@ enum wxLanguage wxLANGUAGE_CHINESE_MACAU = wxLANGUAGE_CHINESE_MACAO, wxLANGUAGE_CHINESE_SIMPLIFIED = wxLANGUAGE_CHINESE_CHINA, wxLANGUAGE_CHINESE_TRADITIONAL = wxLANGUAGE_CHINESE_TAIWAN, + wxLANGUAGE_DARI = wxLANGUAGE_PERSIAN, + wxLANGUAGE_DARI_AFGHANISTAN = wxLANGUAGE_PERSIAN_AFGHANISTAN, wxLANGUAGE_FARSI = wxLANGUAGE_PERSIAN, wxLANGUAGE_GREENLANDIC = wxLANGUAGE_KALAALLISUT_GREENLAND, wxLANGUAGE_KANURI_NIGERIA = wxLANGUAGE_KANURI_LATIN_NIGERIA, wxLANGUAGE_KASHMIRI_PERSO_ARABIC = wxLANGUAGE_KASHMIRI_ARABIC, wxLANGUAGE_KASHMIRI_PERSO_ARABIC_INDIA = wxLANGUAGE_KASHMIRI_ARABIC_INDIA, wxLANGUAGE_KERNEWEK = wxLANGUAGE_CORNISH, + wxLANGUAGE_KICHE_GUATEMALA = wxLANGUAGE_KICHE_LATIN_GUATEMALA, wxLANGUAGE_KURDISH_PERSO_ARABIC_IRAN = wxLANGUAGE_KURDISH_ARABIC_IRAN, wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM = wxLANGUAGE_MALAY_BRUNEI, wxLANGUAGE_ORIYA = wxLANGUAGE_ODIA, wxLANGUAGE_ORIYA_INDIA = wxLANGUAGE_ODIA_INDIA, wxLANGUAGE_SPANISH_MODERN = wxLANGUAGE_SPANISH, + wxLANGUAGE_TURKISH_TURKEY = wxLANGUAGE_TURKISH_TURKIYE, wxLANGUAGE_UZBEK_PERSO_ARABIC = wxLANGUAGE_UZBEK_ARABIC, wxLANGUAGE_UZBEK_PERSO_ARABIC_AFGHANISTAN = wxLANGUAGE_UZBEK_ARABIC_AFGHANISTAN, }; diff --git a/include/wx/private/lang_info.h b/include/wx/private/lang_info.h new file mode 100644 index 0000000000..e877759f23 --- /dev/null +++ b/include/wx/private/lang_info.h @@ -0,0 +1,954 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/private/lang_info.h +// Purpose: Language database data +// Author: misc/languages/genlang.py +// Created: 2024-10-04 +// Copyright: (c) 2024 wxWidgets development team +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// WARNING: Parts of this file are generated. See misc/languages/README for +// details. + +#ifndef _WX_PRIVATE_LANG_INFO_H_ +#define _WX_PRIVATE_LANG_INFO_H_ + +// ---------------------------------------------------------------------------- +// Table of all supported languages +// ---------------------------------------------------------------------------- + +// --- --- --- generated code begins here --- --- --- + +// The following data tables are generated by misc/languages/genlang.py +// When making changes, please put them into misc/languages/langtabl.txt + +// Data table for known languages +static const struct langData_t +{ + int wxlang; + const char* bcp47tag; + const char* canonical; + const char* canonicalref; + wxUint32 winlang; + wxUint32 winsublang; + wxLayoutDirection layout; + const char* desc; + const char* descnative; +} +tabLangData[] = +{ + { wxLANGUAGE_ABKHAZIAN, "ab" , "ab" , "" , 0 , 0 , wxLayout_LeftToRight, "Abkhazian","\320\260\322\247\321\201\321\203\320\260 \320\261\321\213\320\267\321\210\323\231\320\260" }, + { wxLANGUAGE_AFAR, "aa" , "aa" , "aa_ET" , 0x00, 0x04, wxLayout_LeftToRight, "Afar","Qafar" }, + { wxLANGUAGE_AFAR_DJIBOUTI, "aa-DJ" , "aa_DJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Afar (Djibouti)","Qafar (Yabuuti)" }, + { wxLANGUAGE_AFAR_ERITREA, "aa-ER" , "aa_ER" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Afar (Eritrea)","Qafar (Eretria)" }, + { wxLANGUAGE_AFAR_ETHIOPIA, "aa-ET" , "aa_ET" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Afar (Ethiopia)","Qafar (Otobbia)" }, + { wxLANGUAGE_AFRIKAANS, "af" , "af" , "af_ZA" , 0x36, 0x01, wxLayout_LeftToRight, "Afrikaans","Afrikaans" }, + { wxLANGUAGE_AFRIKAANS_NAMIBIA, "af-NA" , "af_NA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Afrikaans (Namibia)","Afrikaans (Namibi\303\253)" }, + { wxLANGUAGE_AFRIKAANS_SOUTH_AFRICA, "af-ZA" , "af_ZA" , "" , 0x36, 0x01, wxLayout_LeftToRight, "Afrikaans (South Africa)","Afrikaans (Suid-Afrika)" }, + { wxLANGUAGE_AGHEM, "agq" , "agq" , "agq_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Aghem","Aghem" }, + { wxLANGUAGE_AGHEM_CAMEROON, "agq-CM" , "agq_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Aghem (Cameroon)","Aghem (K\303\240m\303\240l\303\273\305\213)" }, + { wxLANGUAGE_AKAN, "ak" , "ak" , "ak_GH" , 0x00, 0x04, wxLayout_LeftToRight, "Akan","Akan" }, + { wxLANGUAGE_AKAN_GHANA, "ak-GH" , "ak_GH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Akan (Ghana)","Akan (Gaana)" }, + { wxLANGUAGE_ALBANIAN, "sq" , "sq" , "sq_AL" , 0x1c, 0x01, wxLayout_LeftToRight, "Albanian","shqip" }, + { wxLANGUAGE_ALBANIAN_ALBANIA, "sq-AL" , "sq_AL" , "" , 0x1c, 0x01, wxLayout_LeftToRight, "Albanian (Albania)","shqip (Shqip\303\253ri)" }, + { wxLANGUAGE_ALBANIAN_KOSOVO, "sq-XK" , "sq_XK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Albanian (Kosovo)","shqip (Kosov\303\253)" }, + { wxLANGUAGE_ALBANIAN_NORTH_MACEDONIA, "sq-MK" , "sq_MK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Albanian (North Macedonia)","shqip (Maqedonia e Veriut)" }, + { wxLANGUAGE_ALSATIAN_FRANCE, "gsw-FR" , "gsw_FR" , "" , 0x84, 0x01, wxLayout_LeftToRight, "Alsatian (France)","Els\303\244ssisch (Fr\303\240nkrisch)" }, + { wxLANGUAGE_AMHARIC, "am" , "am" , "am_ET" , 0x5e, 0x01, wxLayout_LeftToRight, "Amharic","\341\212\240\341\210\233\341\210\255\341\212\233" }, + { wxLANGUAGE_AMHARIC_ETHIOPIA, "am-ET" , "am_ET" , "" , 0x5e, 0x01, wxLayout_LeftToRight, "Amharic (Ethiopia)","\341\212\240\341\210\233\341\210\255\341\212\233 (\341\212\242\341\211\265\341\213\256\341\214\265\341\213\253)" }, + { wxLANGUAGE_ARABIC, "ar" , "ar" , "ar_SA" , 0x01, 0x01, wxLayout_RightToLeft, "Arabic","\330\247\331\204\330\271\330\261\330\250\331\212\330\251" }, + { wxLANGUAGE_ARABIC_ALGERIA, "ar-DZ" , "ar_DZ" , "" , 0x01, 0x05, wxLayout_RightToLeft, "Arabic (Algeria)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\254\330\262\330\247\330\246\330\261)" }, + { wxLANGUAGE_ARABIC_BAHRAIN, "ar-BH" , "ar_BH" , "" , 0x01, 0x0f, wxLayout_RightToLeft, "Arabic (Bahrain)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\250\330\255\330\261\331\212\331\206)" }, + { wxLANGUAGE_ARABIC_CHAD, "ar-TD" , "ar_TD" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Chad)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\252\330\264\330\247\330\257)" }, + { wxLANGUAGE_ARABIC_COMOROS, "ar-KM" , "ar_KM" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Comoros)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\254\330\262\330\261 \330\247\331\204\331\202\331\205\330\261)" }, + { wxLANGUAGE_ARABIC_DJIBOUTI, "ar-DJ" , "ar_DJ" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Djibouti)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\254\331\212\330\250\331\210\330\252\331\212)" }, + { wxLANGUAGE_ARABIC_EGYPT, "ar-EG" , "ar_EG" , "" , 0x01, 0x03, wxLayout_RightToLeft, "Arabic (Egypt)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\331\205\330\265\330\261)" }, + { wxLANGUAGE_ARABIC_ERITREA, "ar-ER" , "ar_ER" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Eritrea)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\245\330\261\331\212\330\252\330\261\331\212\330\247)" }, + { wxLANGUAGE_ARABIC_IRAQ, "ar-IQ" , "ar_IQ" , "" , 0x01, 0x02, wxLayout_RightToLeft, "Arabic (Iraq)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\271\330\261\330\247\331\202)" }, + { wxLANGUAGE_ARABIC_ISRAEL, "ar-IL" , "ar_IL" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Israel)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\245\330\263\330\261\330\247\330\246\331\212\331\204)" }, + { wxLANGUAGE_ARABIC_JORDAN, "ar-JO" , "ar_JO" , "" , 0x01, 0x0b, wxLayout_RightToLeft, "Arabic (Jordan)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\243\330\261\330\257\331\206)" }, + { wxLANGUAGE_ARABIC_KUWAIT, "ar-KW" , "ar_KW" , "" , 0x01, 0x0d, wxLayout_RightToLeft, "Arabic (Kuwait)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\331\203\331\210\331\212\330\252)" }, + { wxLANGUAGE_ARABIC_LEBANON, "ar-LB" , "ar_LB" , "" , 0x01, 0x0c, wxLayout_RightToLeft, "Arabic (Lebanon)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\331\204\330\250\331\206\330\247\331\206)" }, + { wxLANGUAGE_ARABIC_LIBYA, "ar-LY" , "ar_LY" , "" , 0x01, 0x04, wxLayout_RightToLeft, "Arabic (Libya)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\331\204\331\212\330\250\331\212\330\247)" }, + { wxLANGUAGE_ARABIC_MAURITANIA, "ar-MR" , "ar_MR" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Mauritania)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\331\205\331\210\330\261\331\212\330\252\330\247\331\206\331\212\330\247)" }, + { wxLANGUAGE_ARABIC_MOROCCO, "ar-MA" , "ar_MA" , "" , 0x01, 0x06, wxLayout_RightToLeft, "Arabic (Morocco)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\331\205\331\205\331\204\331\203\330\251 \330\247\331\204\331\205\330\272\330\261\330\250\331\212\330\251)" }, + { wxLANGUAGE_ARABIC_OMAN, "ar-OM" , "ar_OM" , "" , 0x01, 0x08, wxLayout_RightToLeft, "Arabic (Oman)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\271\331\205\330\247\331\206)" }, + { wxLANGUAGE_ARABIC_PALESTINIAN_AUTHORITY, "ar-PS" , "ar_PS" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Palestinian Authority)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\263\331\204\330\267\330\251 \330\247\331\204\331\201\331\204\330\263\330\267\331\212\331\206\331\212\330\251)" }, + { wxLANGUAGE_ARABIC_QATAR, "ar-QA" , "ar_QA" , "" , 0x01, 0x10, wxLayout_RightToLeft, "Arabic (Qatar)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\331\202\330\267\330\261)" }, + { wxLANGUAGE_ARABIC_SAUDI_ARABIA, "ar-SA" , "ar_SA" , "" , 0x01, 0x01, wxLayout_RightToLeft, "Arabic (Saudi Arabia)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\331\205\331\205\331\204\331\203\330\251 \330\247\331\204\330\271\330\261\330\250\331\212\330\251 \330\247\331\204\330\263\330\271\331\210\330\257\331\212\330\251)" }, + { wxLANGUAGE_ARABIC_SOMALIA, "ar-SO" , "ar_SO" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Somalia)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\265\331\210\331\205\330\247\331\204)" }, + { wxLANGUAGE_ARABIC_SOUTH_SUDAN, "ar-SS" , "ar_SS" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (South Sudan)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\254\331\206\331\210\330\250 \330\247\331\204\330\263\331\210\330\257\330\247\331\206)" }, + { wxLANGUAGE_ARABIC_SUDAN, "ar-SD" , "ar_SD" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Sudan)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\263\331\210\330\257\330\247\331\206)" }, + { wxLANGUAGE_ARABIC_SYRIA, "ar-SY" , "ar_SY" , "" , 0x01, 0x0a, wxLayout_RightToLeft, "Arabic (Syria)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\263\331\210\330\261\331\212\330\247)" }, + { wxLANGUAGE_ARABIC_TUNISIA, "ar-TN" , "ar_TN" , "" , 0x01, 0x07, wxLayout_RightToLeft, "Arabic (Tunisia)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\252\331\210\331\206\330\263)" }, + { wxLANGUAGE_ARABIC_UAE, "ar-AE" , "ar_AE" , "" , 0x01, 0x0e, wxLayout_RightToLeft, "Arabic (United Arab Emirates)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\245\331\205\330\247\330\261\330\247\330\252 \330\247\331\204\330\271\330\261\330\250\331\212\330\251 \330\247\331\204\331\205\330\252\330\255\330\257\330\251)" }, + { wxLANGUAGE_ARABIC_WORLD, "ar-001" , "ar_001" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (World)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\271\330\247\331\204\331\205)" }, + { wxLANGUAGE_ARABIC_YEMEN, "ar-YE" , "ar_YE" , "" , 0x01, 0x09, wxLayout_RightToLeft, "Arabic (Yemen)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\331\212\331\205\331\206)" }, + { wxLANGUAGE_ARMENIAN, "hy" , "hy" , "hy_AM" , 0x2b, 0x01, wxLayout_LeftToRight, "Armenian","\325\260\325\241\325\265\325\245\326\200\325\245\325\266" }, + { wxLANGUAGE_ARMENIAN_ARMENIA, "hy-AM" , "hy_AM" , "" , 0x2b, 0x01, wxLayout_LeftToRight, "Armenian (Armenia)","\325\260\325\241\325\265\325\245\326\200\325\245\325\266 (\325\200\325\241\325\265\325\241\325\275\325\277\325\241\325\266)" }, + { wxLANGUAGE_ASSAMESE, "as" , "as" , "as_IN" , 0x4d, 0x01, wxLayout_LeftToRight, "Assamese","\340\246\205\340\246\270\340\246\256\340\247\200\340\246\257\340\246\274\340\246\276" }, + { wxLANGUAGE_ASSAMESE_INDIA, "as-IN" , "as_IN" , "" , 0x4d, 0x01, wxLayout_LeftToRight, "Assamese (India)","\340\246\205\340\246\270\340\246\256\340\247\200\340\246\257\340\246\274\340\246\276 (\340\246\255\340\246\276\340\247\260\340\246\244)" }, + { wxLANGUAGE_ASTURIAN, "ast" , "ast" , "ast_ES" , 0x00, 0x04, wxLayout_LeftToRight, "Asturian","asturianu" }, + { wxLANGUAGE_ASTURIAN_SPAIN, "ast-ES" , "ast_ES" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Asturian (Spain)","asturianu (Espa\303\261a)" }, + { wxLANGUAGE_ASU, "asa" , "asa" , "asa_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Asu","Kipare" }, + { wxLANGUAGE_ASU_TANZANIA, "asa-TZ" , "asa_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Asu (Tanzania)","Kipare (Tadhania)" }, + { wxLANGUAGE_AYMARA, "ay" , "ay" , "" , 0 , 0 , wxLayout_LeftToRight, "Aymara","Aymara" }, + { wxLANGUAGE_AZERBAIJANI, "az" , "az" , "" , 0x2c, 0x01, wxLayout_LeftToRight, "Azerbaijani","az\311\231rbaycan" }, + { wxLANGUAGE_AZERBAIJANI_CYRILLIC, "az-Cyrl" , "az@cyrillic" , "" , 0x2c, 0x02, wxLayout_LeftToRight, "Azerbaijani (Cyrillic)","\320\220\320\267\323\231\321\200\320\261\320\260\321\230\322\271\320\260\320\275\302\240\320\264\320\270\320\273\320\270 (\320\232\320\270\321\200\320\270\320\273)" }, + { wxLANGUAGE_AZERBAIJANI_CYRILLIC_AZERBAIJAN, "az-Cyrl-AZ" , "az_AZ@cyrillic" , "" , 0x2c, 0x02, wxLayout_LeftToRight, "Azerbaijani (Cyrillic, Azerbaijan)","\320\260\320\267\323\231\321\200\320\261\320\260\321\230\322\271\320\260\320\275 (\320\220\320\267\323\231\321\200\320\261\320\260\321\230\322\271\320\260\320\275)" }, + { wxLANGUAGE_AZERBAIJANI_LATIN, "az-Latn" , "az@latin" , "" , 0x2c, 0x01, wxLayout_LeftToRight, "Azerbaijani (Latin)","Az\311\231rbaycan\302\255\304\261l\304\261 (Lat\304\261n)" }, + { wxLANGUAGE_AZERBAIJANI_LATIN_AZERBAIJAN, "az-Latn-AZ" , "az_AZ@latin" , "" , 0x2c, 0x01, wxLayout_LeftToRight, "Azerbaijani (Latin, Azerbaijan)","az\311\231rbaycan (Az\311\231rbaycan)" }, + { wxLANGUAGE_BAFIA, "ksf" , "ksf" , "ksf_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Bafia","rikpa" }, + { wxLANGUAGE_BAFIA_CAMEROON, "ksf-CM" , "ksf_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bafia (Cameroon)","rikpa (kam\311\233r\303\272n)" }, + { wxLANGUAGE_BAMANANKAN, "bm" , "bm" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bamanankan","bamanakan" }, + { wxLANGUAGE_BAMANANKAN_LATIN, "bm-Latn" , "bm@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bamanankan (Latin)","bamanakan (Latin)" }, + { wxLANGUAGE_BAMANANKAN_LATIN_MALI, "bm-Latn-ML" , "bm_ML@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bamanankan (Latin, Mali)","bamanakan (Mali)" }, + { wxLANGUAGE_BANGLA, "bn" , "bn" , "bn_BD" , 0x45, 0x02, wxLayout_LeftToRight, "Bangla","\340\246\254\340\246\276\340\246\202\340\246\262\340\246\276" }, + { wxLANGUAGE_BANGLA_BANGLADESH, "bn-BD" , "bn_BD" , "" , 0x45, 0x02, wxLayout_LeftToRight, "Bangla (Bangladesh)","\340\246\254\340\246\276\340\246\202\340\246\262\340\246\276 (\340\246\254\340\246\276\340\246\202\340\246\262\340\246\276\340\246\246\340\247\207\340\246\266)" }, + { wxLANGUAGE_BANGLA_INDIA, "bn-IN" , "bn_IN" , "" , 0x45, 0x01, wxLayout_LeftToRight, "Bengali (India)","\340\246\254\340\246\276\340\246\202\340\246\262\340\246\276 (\340\246\255\340\246\276\340\246\260\340\246\244)" }, + { wxLANGUAGE_BASAA, "bas" , "bas" , "bas_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Basaa","\306\201\303\240s\303\240a" }, + { wxLANGUAGE_BASAA_CAMEROON, "bas-CM" , "bas_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Basaa (Cameroon)","\306\201\303\240s\303\240a (K\303\240m\311\233\314\200r\303\273n)" }, + { wxLANGUAGE_BASHKIR, "ba" , "ba" , "ba_RU" , 0x6d, 0x01, wxLayout_LeftToRight, "Bashkir","\320\221\320\260\321\210\322\241\320\276\321\200\321\202" }, + { wxLANGUAGE_BASHKIR_RUSSIA, "ba-RU" , "ba_RU" , "" , 0x6d, 0x01, wxLayout_LeftToRight, "Bashkir (Russia)","\320\221\320\260\321\210\322\241\320\276\321\200\321\202 (\320\240\323\231\321\201\323\231\320\271)" }, + { wxLANGUAGE_BASQUE, "eu" , "eu" , "eu_ES" , 0x2d, 0x01, wxLayout_LeftToRight, "Basque","euskara" }, + { wxLANGUAGE_BASQUE_SPAIN, "eu-ES" , "eu_ES" , "" , 0x2d, 0x01, wxLayout_LeftToRight, "Basque (Basque)","euskara (euskara)" }, + { wxLANGUAGE_BELARUSIAN, "be" , "be" , "be_BY" , 0x23, 0x01, wxLayout_LeftToRight, "Belarusian","\320\261\320\265\320\273\320\260\321\200\321\203\321\201\320\272\320\260\321\217" }, + { wxLANGUAGE_BELARUSIAN_BELARUS, "be-BY" , "be_BY" , "" , 0x23, 0x01, wxLayout_LeftToRight, "Belarusian (Belarus)","\320\261\320\265\320\273\320\260\321\200\321\203\321\201\320\272\320\260\321\217 (\320\221\320\265\320\273\320\260\321\200\321\203\321\201\321\214)" }, + { wxLANGUAGE_BEMBA, "bem" , "bem" , "bem_ZM" , 0x00, 0x04, wxLayout_LeftToRight, "Bemba","Ichibemba" }, + { wxLANGUAGE_BEMBA_ZAMBIA, "bem-ZM" , "bem_ZM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bemba (Zambia)","Ichibemba (Zambia)" }, + { wxLANGUAGE_BENA, "bez" , "bez" , "bez_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Bena","Hibena" }, + { wxLANGUAGE_BENA_TANZANIA, "bez-TZ" , "bez_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bena (Tanzania)","Hibena (Hutanzania)" }, + { wxLANGUAGE_BIHARI, "bh" , "bh" , "" , 0 , 0 , wxLayout_LeftToRight, "Bihari","Bihari" }, + { wxLANGUAGE_BISLAMA, "bi" , "bi" , "" , 0 , 0 , wxLayout_LeftToRight, "Bislama","Bislama" }, + { wxLANGUAGE_BLIN, "byn" , "byn" , "byn_ER" , 0x00, 0x04, wxLayout_LeftToRight, "Blin","\341\211\245\341\210\212\341\212\225" }, + { wxLANGUAGE_BLIN_ERITREA, "byn-ER" , "byn_ER" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Blin (Eritrea)","\341\211\245\341\210\212\341\212\225 (\341\212\244\341\210\255\341\211\265\341\210\253)" }, + { wxLANGUAGE_BODO, "brx" , "brx" , "brx_IN" , 0x00, 0x04, wxLayout_LeftToRight, "Bodo","\340\244\254\340\244\241\340\244\274\340\245\213" }, + { wxLANGUAGE_BODO_INDIA, "brx-IN" , "brx_IN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bodo (India)","\340\244\254\340\244\241\340\244\274\340\245\213 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, + { wxLANGUAGE_BOSNIAN, "bs" , "bs" , "" , 0x1a, 0x05, wxLayout_LeftToRight, "Bosnian","bosanski" }, + { wxLANGUAGE_BOSNIAN_CYRILLIC, "bs-Cyrl" , "bs@cyrillic" , "" , 0x1a, 0x08, wxLayout_LeftToRight, "Bosnian (Cyrillic)","\320\261\320\276\321\201\320\260\320\275\321\201\320\272\320\270 (\320\213\320\270\321\200\320\270\320\273\320\270\321\206\320\260)" }, + { wxLANGUAGE_BOSNIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA, "bs-Cyrl-BA" , "bs_BA@cyrillic" , "" , 0x1a, 0x08, wxLayout_LeftToRight, "Bosnian (Cyrillic, Bosnia and Herzegovina)","\320\261\320\276\321\201\320\260\320\275\321\201\320\272\320\270 (\320\221\320\276\321\201\320\275\320\260 \320\270 \320\245\320\265\321\200\321\206\320\265\320\263\320\276\320\262\320\270\320\275\320\260)" }, + { wxLANGUAGE_BOSNIAN_LATIN, "bs-Latn" , "bs@latin" , "" , 0x1a, 0x05, wxLayout_LeftToRight, "Bosnian (Latin)","bosanski (Latinica)" }, + { wxLANGUAGE_BOSNIAN_LATIN_BOSNIA_AND_HERZEGOVINA, "bs-Latn-BA" , "bs_BA@latin" , "" , 0x1a, 0x05, wxLayout_LeftToRight, "Bosnian (Latin, Bosnia and Herzegovina)","bosanski (Bosna i Hercegovina)" }, + { wxLANGUAGE_BRETON, "br" , "br" , "br_FR" , 0x7e, 0x01, wxLayout_LeftToRight, "Breton","brezhoneg" }, + { wxLANGUAGE_BRETON_FRANCE, "br-FR" , "br_FR" , "" , 0x7e, 0x01, wxLayout_LeftToRight, "Breton (France)","brezhoneg (Fra\303\261s)" }, + { wxLANGUAGE_BULGARIAN, "bg" , "bg" , "bg_BG" , 0x02, 0x01, wxLayout_LeftToRight, "Bulgarian","\320\261\321\212\320\273\320\263\320\260\321\200\321\201\320\272\320\270" }, + { wxLANGUAGE_BULGARIAN_BULGARIA, "bg-BG" , "bg_BG" , "" , 0x02, 0x01, wxLayout_LeftToRight, "Bulgarian (Bulgaria)","\320\261\321\212\320\273\320\263\320\260\321\200\321\201\320\272\320\270 (\320\221\321\212\320\273\320\263\320\260\321\200\320\270\321\217)" }, + { wxLANGUAGE_BURMESE, "my" , "my" , "my_MM" , 0x55, 0x01, wxLayout_LeftToRight, "Burmese","\341\200\227\341\200\231\341\200\254" }, + { wxLANGUAGE_BURMESE_MYANMAR, "my-MM" , "my_MM" , "" , 0x55, 0x01, wxLayout_LeftToRight, "Burmese (Myanmar)","\341\200\231\341\200\274\341\200\224\341\200\272\341\200\231\341\200\254 (\341\200\231\341\200\274\341\200\224\341\200\272\341\200\231\341\200\254)" }, + { wxLANGUAGE_CATALAN, "ca" , "ca" , "ca_ES" , 0x03, 0x01, wxLayout_LeftToRight, "Catalan","catal\303\240" }, + { wxLANGUAGE_CATALAN_ANDORRA, "ca-AD" , "ca_AD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Catalan (Andorra)","catal\303\240 (Andorra)" }, + { wxLANGUAGE_CATALAN_FRANCE, "ca-FR" , "ca_FR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Catalan (France)","catal\303\240 (Fran\303\247a)" }, + { wxLANGUAGE_CATALAN_ITALY, "ca-IT" , "ca_IT" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Catalan (Italy)","catal\303\240 (It\303\240lia)" }, + { wxLANGUAGE_CATALAN_SPAIN, "ca-ES" , "ca_ES" , "" , 0x03, 0x01, wxLayout_LeftToRight, "Catalan (Catalan)","catal\303\240 (catal\303\240)" }, + { wxLANGUAGE_CEBUANO, "ceb" , "ceb" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Cebuano","Binisaya" }, + { wxLANGUAGE_CEBUANO_LATIN, "ceb-Latn" , "ceb@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Cebuano (Latin)","Binisaya (Latin)" }, + { wxLANGUAGE_CEBUANO_LATIN_PHILIPPINES, "ceb-Latn-PH" , "ceb_PH@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Cebuano (Latin, Philippines)","Binisaya (Pilipinas)" }, + { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT, "tzm" , "tzm" , "" , 0x5f, 0x02, wxLayout_LeftToRight, "Central Atlas Tamazight","Tamazi\311\243t n la\341\271\255la\341\271\243" }, + { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_ARABIC, "tzm-Arab" , "tzm@arabic" , "" , 0x5f, 0x01, wxLayout_RightToLeft, "Central Atlas Tamazight (Arabic)","\330\247\331\204\330\243\331\205\330\247\330\262\331\212\330\272\331\212\330\251 \331\210\330\263\330\267 \330\247\331\204\330\243\330\267\331\204\330\263" }, + { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_ARABIC_MOROCCO, "tzm-Arab-MA" , "tzm_MA@arabic" , "" , 0x5f, 0x01, wxLayout_RightToLeft, "Central Atlas Tamazight (Arabic, Morocco)","\330\247\331\204\330\243\331\205\330\247\330\262\331\212\330\272\331\212\330\251 \331\210\330\263\330\267 \330\247\331\204\330\243\330\267\331\204\330\263 (\330\247\331\204\331\205\330\272\330\261\330\250)" }, + { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_LATIN, "tzm-Latn" , "tzm@latin" , "" , 0x5f, 0x02, wxLayout_LeftToRight, "Central Atlas Tamazight (Latin)","Tamazi\311\243t n la\341\271\255la\341\271\243 (Latin)" }, + { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_LATIN_ALGERIA, "tzm-Latn-DZ" , "tzm_DZ@latin" , "" , 0x5f, 0x02, wxLayout_LeftToRight, "Central Atlas Tamazight (Latin, Algeria)","Tamazi\311\243t n la\341\271\255la\341\271\243 (Djaza\303\257r)" }, + { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_LATIN_MOROCCO, "tzm-Latn-MA" , "tzm_MA@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Central Atlas Tamazight (Latin, Morocco)","Tamazi\311\243t n la\341\271\255la\341\271\243 (Me\341\271\233\341\271\233uk)" }, + { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_TIFINAGH, "tzm-Tfng" , "tzm@tifinagh" , "" , 0x5f, 0x04, wxLayout_LeftToRight, "Central Atlas Tamazight (Tifinagh)","Tamazight (Tifinagh)" }, + { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_TIFINAGH_MOROCCO, "tzm-Tfng-MA" , "tzm_MA@tifinagh" , "" , 0x5f, 0x04, wxLayout_LeftToRight, "Central Atlas Tamazight (Tifinagh, Morocco)","\342\265\234\342\264\260\342\265\216\342\264\260\342\265\243\342\265\211\342\265\226\342\265\234 (\342\265\215\342\265\216\342\265\226\342\265\224\342\265\211\342\264\261)" }, + { wxLANGUAGE_CENTRAL_KURDISH, "ku" , "ku" , "" , 0x92, 0x01, wxLayout_RightToLeft, "Central Kurdish","\332\251\331\210\330\261\330\257\333\214\333\214 \331\206\330\247\331\210\333\225\332\225\330\247\330\263\330\252" }, + { wxLANGUAGE_CENTRAL_KURDISH_ARABIC, "ku-Arab" , "ku@arabic" , "" , 0x92, 0x01, wxLayout_RightToLeft, "Central Kurdish","\332\251\331\210\330\261\330\257\333\214\333\214 \331\206\330\247\331\210\333\225\332\225\330\247\330\263\330\252" }, + { wxLANGUAGE_CENTRAL_KURDISH_ARABIC_IRAQ, "ku-Arab-IQ" , "ku_IQ@arabic" , "" , 0x92, 0x01, wxLayout_RightToLeft, "Central Kurdish (Iraq)","\332\251\331\210\330\261\330\257\333\214\333\214 \331\206\330\247\331\210\333\225\332\225\330\247\330\263\330\252 (\330\271\333\216\330\261\330\247\331\202)" }, + { wxLANGUAGE_CHAKMA, "ccp" , "ccp" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chakma","\360\221\204\214\360\221\204\213\360\221\204\264\360\221\204\237\360\221\204\263\360\221\204\246" }, + { wxLANGUAGE_CHAKMA_CHAKMA, "ccp-Cakm" , "ccp@chakma" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chakma (Chakma)","\360\221\204\214\360\221\204\213\360\221\204\264\360\221\204\237\360\221\204\263\360\221\204\246 (\360\221\204\214\360\221\204\207\360\221\204\264\360\221\204\237)" }, + { wxLANGUAGE_CHAKMA_CHAKMA_BANGLADESH, "ccp-Cakm-BD" , "ccp_BD@chakma" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chakma (Chakma, Bangladesh)","\360\221\204\214\360\221\204\213\360\221\204\264\360\221\204\237\360\221\204\263\360\221\204\246 (\360\221\204\235\360\221\204\201\360\221\204\243\360\221\204\230\360\221\204\254\360\221\204\214\360\221\204\264)" }, + { wxLANGUAGE_CHAKMA_CHAKMA_INDIA, "ccp-Cakm-IN" , "ccp_IN@chakma" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chakma (Chakma, India)","\360\221\204\214\360\221\204\213\360\221\204\264\360\221\204\237\360\221\204\263\360\221\204\246 (\360\221\204\236\360\221\204\242\360\221\204\247\360\221\204\226\360\221\204\264)" }, + { wxLANGUAGE_CHECHEN, "ce" , "ce" , "ce_RU" , 0x00, 0x04, wxLayout_LeftToRight, "Chechen","\320\275\320\276\321\205\321\207\320\270\320\271\320\275" }, + { wxLANGUAGE_CHECHEN_RUSSIA, "ce-RU" , "ce_RU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chechen (Russia)","\320\275\320\276\321\205\321\207\320\270\320\271\320\275 (\320\240\320\276\321\201\321\201\320\270)" }, + { wxLANGUAGE_CHEROKEE, "chr" , "chr" , "" , 0x5c, 0x01, wxLayout_LeftToRight, "Cherokee","\341\217\243\341\216\263\341\216\251" }, + { wxLANGUAGE_CHEROKEE_CHEROKEE, "chr-Cher" , "chr@cherokee" , "" , 0x5c, 0x01, wxLayout_LeftToRight, "Cherokee","\341\217\243\341\216\263\341\216\251" }, + { wxLANGUAGE_CHEROKEE_US, "chr-Cher-US" , "chr_US@cherokee" , "" , 0x5c, 0x01, wxLayout_LeftToRight, "Cherokee (Cherokee, United States)","\341\217\243\341\216\263\341\216\251 (\341\217\214\341\217\212 \341\216\242\341\217\263\341\216\276\341\216\265\341\217\215\341\217\224\341\217\205 \341\217\215\341\216\246\341\217\232\341\216\251)" }, + { wxLANGUAGE_CHIGA, "cgg" , "cgg" , "cgg_UG" , 0x00, 0x04, wxLayout_LeftToRight, "Chiga","Rukiga" }, + { wxLANGUAGE_CHIGA_UGANDA, "cgg-UG" , "cgg_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chiga (Uganda)","Rukiga (Uganda)" }, + { wxLANGUAGE_CHINESE, "zh" , "zh" , "zh_TW" , 0x04, 0x01, wxLayout_LeftToRight, "Chinese","\344\270\255\346\226\207" }, + { wxLANGUAGE_CHINESE_CHINA, "zh-CN" , "zh_CN" , "" , 0x04, 0x02, wxLayout_LeftToRight, "Chinese (Simplified, China)","\344\270\255\346\226\207(\344\270\255\345\233\275)" }, + { wxLANGUAGE_CHINESE_HONGKONG, "zh-HK" , "zh_HK" , "" , 0x04, 0x03, wxLayout_LeftToRight, "Chinese (Traditional, Hong Kong SAR)","\344\270\255\346\226\207(\351\246\231\346\270\257\347\211\271\345\210\245\350\241\214\346\224\277\345\215\200)" }, + { wxLANGUAGE_CHINESE_MACAO, "zh-MO" , "zh_MO" , "" , 0x04, 0x05, wxLayout_LeftToRight, "Chinese (Traditional, Macao SAR)","\344\270\255\346\226\207(\346\276\263\351\226\200\347\211\271\345\210\245\350\241\214\346\224\277\345\215\200)" }, + { wxLANGUAGE_CHINESE_SIMPLIFIED_EXPLICIT, "zh-Hans" , "zh@Hans" , "zh_CN" , 0x04, 0x02, wxLayout_LeftToRight, "Chinese (Simplified)","\344\270\255\346\226\207(\347\256\200\344\275\223)" }, + { wxLANGUAGE_CHINESE_SIMPLIFIED_HONGKONG, "zh-Hans-HK" , "zh_HK@Hans" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chinese (Simplified, Hong Kong SAR)","\344\270\255\346\226\207 (\351\246\231\346\270\257\347\211\271\345\210\253\350\241\214\346\224\277\345\214\272)" }, + { wxLANGUAGE_CHINESE_SIMPLIFIED_MACAO, "zh-Hans-MO" , "zh_MO@Hans" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chinese (Simplified, Macao SAR)","\344\270\255\346\226\207 (\346\276\263\351\227\250\347\211\271\345\210\253\350\241\214\346\224\277\345\214\272)" }, + { wxLANGUAGE_CHINESE_SINGAPORE, "zh-SG" , "zh_SG" , "" , 0x04, 0x04, wxLayout_LeftToRight, "Chinese (Simplified, Singapore)","\344\270\255\346\226\207(\346\226\260\345\212\240\345\235\241)" }, + { wxLANGUAGE_CHINESE_TAIWAN, "zh-TW" , "zh_TW" , "" , 0x04, 0x01, wxLayout_LeftToRight, "Chinese (Traditional, Taiwan)","\344\270\255\346\226\207(\345\217\260\347\201\243)" }, + { wxLANGUAGE_CHINESE_TRADITIONAL_EXPLICIT, "zh-Hant" , "zh@Hant" , "zh_TW" , 0x04, 0x01, wxLayout_LeftToRight, "Chinese (Traditional)","\344\270\255\346\226\207(\347\271\201\351\253\224)" }, + { wxLANGUAGE_CHURCH_SLAVIC, "cu" , "cu" , "cu_RU" , 0x00, 0x04, wxLayout_LeftToRight, "Church Slavic","\321\206\320\265\321\200\320\272\320\276\320\262\320\275\320\276\321\201\320\273\320\276\320\262\320\265\314\201\320\275\321\201\320\272\321\227\320\271" }, + { wxLANGUAGE_CHURCH_SLAVIC_RUSSIA, "cu-RU" , "cu_RU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Church Slavic (Russia)","\321\206\320\265\321\200\320\272\320\276\320\262\320\275\320\276\321\201\320\273\320\276\320\262\320\265\314\201\320\275\321\201\320\272\321\227\320\271 (\321\200\321\241\321\201\321\201\321\226\314\201\320\260)" }, + { wxLANGUAGE_COLOGNIAN, "ksh" , "ksh" , "ksh_DE" , 0x00, 0x04, wxLayout_LeftToRight, "Colognian","K\303\266lsch" }, + { wxLANGUAGE_COLOGNIAN_GERMANY, "ksh-DE" , "ksh_DE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Colognian (Germany)","K\303\266lsch (Do\303\274tschland)" }, + { wxLANGUAGE_CORNISH, "kw" , "kw" , "kw_GB" , 0x00, 0x04, wxLayout_LeftToRight, "Cornish","kernewek" }, + { wxLANGUAGE_CORNISH_UK, "kw-GB" , "kw_GB" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Cornish (United Kingdom)","kernewek (Rywvaneth Unys)" }, + { wxLANGUAGE_CORSICAN, "co" , "co" , "co_FR" , 0x83, 0x01, wxLayout_LeftToRight, "Corsican","corsu" }, + { wxLANGUAGE_CORSICAN_FRANCE, "co-FR" , "co_FR" , "" , 0x83, 0x01, wxLayout_LeftToRight, "Corsican (France)","Corsu (Francia)" }, + { wxLANGUAGE_CROATIAN, "hr" , "hr" , "hr_HR" , 0x1a, 0x01, wxLayout_LeftToRight, "Croatian","hrvatski" }, + { wxLANGUAGE_CROATIAN_BOSNIA_AND_HERZEGOVINA, "hr-BA" , "hr_BA" , "" , 0x1a, 0x04, wxLayout_LeftToRight, "Croatian (Bosnia and Herzegovina)","hrvatski (Bosna i Hercegovina)" }, + { wxLANGUAGE_CROATIAN_CROATIA, "hr-HR" , "hr_HR" , "" , 0x1a, 0x01, wxLayout_LeftToRight, "Croatian (Croatia)","hrvatski (Hrvatska)" }, + { wxLANGUAGE_CZECH, "cs" , "cs" , "cs_CZ" , 0x05, 0x01, wxLayout_LeftToRight, "Czech","\304\215e\305\241tina" }, + { wxLANGUAGE_CZECH_CZECHIA, "cs-CZ" , "cs_CZ" , "" , 0x05, 0x01, wxLayout_LeftToRight, "Czech (Czechia)","\304\215e\305\241tina (\304\214esko)" }, + { wxLANGUAGE_DANISH, "da" , "da" , "da_DK" , 0x06, 0x01, wxLayout_LeftToRight, "Danish","dansk" }, + { wxLANGUAGE_DANISH_DENMARK, "da-DK" , "da_DK" , "" , 0x06, 0x01, wxLayout_LeftToRight, "Danish (Denmark)","dansk (Danmark)" }, + { wxLANGUAGE_DANISH_GREENLAND, "da-GL" , "da_GL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Danish (Greenland)","dansk (Gr\303\270nland)" }, + { wxLANGUAGE_DIVEHI, "dv" , "dv" , "dv_MV" , 0x65, 0x01, wxLayout_RightToLeft, "Divehi","\336\213\336\250\336\210\336\254\336\200\336\250\336\204\336\246\336\220\336\260" }, + { wxLANGUAGE_DIVEHI_MALDIVES, "dv-MV" , "dv_MV" , "" , 0x65, 0x01, wxLayout_RightToLeft, "Divehi (Maldives)","\336\213\336\250\336\210\336\254\336\200\336\250\336\204\336\246\336\220\336\260 (\336\213\336\250\336\210\336\254\336\200\336\250 \336\203\336\247\336\207\336\260\336\226\336\254)" }, + { wxLANGUAGE_DOGRI, "doi" , "doi" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dogri","\340\244\241\340\245\213\340\244\227\340\244\260\340\245\200" }, + { wxLANGUAGE_DOGRI_DEVANAGARI, "doi-Deva" , "doi@devanagari" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dogri (Devanagari)","\340\244\241\340\245\213\340\244\227\340\244\260\340\245\200 (\340\244\246\340\245\207\340\244\265\340\244\250\340\244\276\340\244\227\340\244\260\340\245\200)" }, + { wxLANGUAGE_DOGRI_DEVANAGARI_INDIA, "doi-Deva-IN" , "doi_IN@devanagari" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dogri (Devanagari, India)","\340\244\241\340\245\213\340\244\227\340\244\260\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, + { wxLANGUAGE_DUALA, "dua" , "dua" , "dua_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Duala","du\303\241l\303\241" }, + { wxLANGUAGE_DUALA_CAMEROON, "dua-CM" , "dua_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Duala (Cameroon)","du\303\241l\303\241 (Cameroun)" }, + { wxLANGUAGE_DUTCH, "nl" , "nl" , "nl_NL" , 0x13, 0x01, wxLayout_LeftToRight, "Dutch","Nederlands" }, + { wxLANGUAGE_DUTCH_ARUBA, "nl-AW" , "nl_AW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dutch (Aruba)","Nederlands (Aruba)" }, + { wxLANGUAGE_DUTCH_BELGIAN, "nl-BE" , "nl_BE" , "" , 0x13, 0x02, wxLayout_LeftToRight, "Dutch (Belgium)","Nederlands (Belgi\303\253)" }, + { wxLANGUAGE_DUTCH_BONAIRE_SINT_EUSTATIUS_AND_SABA, "nl-BQ" , "nl_BQ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dutch (Bonaire, Sint Eustatius and Saba)","Nederlands (Bonaire, Sint Eustatius en Saba)" }, + { wxLANGUAGE_DUTCH_CURACAO, "nl-CW" , "nl_CW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dutch (Cura\303\247ao)","Nederlands (Cura\303\247ao)" }, + { wxLANGUAGE_DUTCH_NETHERLANDS, "nl-NL" , "nl_NL" , "" , 0x13, 0x01, wxLayout_LeftToRight, "Dutch (Netherlands)","Nederlands (Nederland)" }, + { wxLANGUAGE_DUTCH_SINT_MAARTEN, "nl-SX" , "nl_SX" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dutch (Sint Maarten)","Nederlands (Sint-Maarten)" }, + { wxLANGUAGE_DUTCH_SURINAME, "nl-SR" , "nl_SR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dutch (Suriname)","Nederlands (Suriname)" }, + { wxLANGUAGE_DZONGKHA, "dz" , "dz" , "dz_BT" , 0x51, 0x03, wxLayout_LeftToRight, "Dzongkha","\340\275\242\340\276\253\340\275\274\340\275\204\340\274\213\340\275\201" }, + { wxLANGUAGE_DZONGKHA_BHUTAN, "dz-BT" , "dz_BT" , "" , 0x51, 0x03, wxLayout_LeftToRight, "Dzongkha (Bhutan)","\340\275\242\340\276\253\340\275\274\340\275\204\340\274\213\340\275\201 (\340\275\240\340\275\226\340\276\262\340\275\264\340\275\202)" }, + { wxLANGUAGE_EDO, "bin" , "bin" , "bin_NG" , 0x66, 0x01, wxLayout_LeftToRight, "Edo","\341\272\270\314\200d\303\263" }, + { wxLANGUAGE_EDO_NIGERIA, "bin-NG" , "bin_NG" , "" , 0x66, 0x01, wxLayout_LeftToRight, "Edo (Nigeria)","\341\272\270\314\200d\303\263 (Nigeria)" }, + { wxLANGUAGE_EMBU, "ebu" , "ebu" , "ebu_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Embu","K\304\251embu" }, + { wxLANGUAGE_EMBU_KENYA, "ebu-KE" , "ebu_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Embu (Kenya)","K\304\251embu (Kenya)" }, + { wxLANGUAGE_ENGLISH, "en" , "en" , "en_GB" , 0x09, 0x02, wxLayout_LeftToRight, "English","English" }, + { wxLANGUAGE_ENGLISH_AMERICAN_SAMOA, "en-AS" , "en_AS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (American Samoa)","English (American Samoa)" }, + { wxLANGUAGE_ENGLISH_ANGUILLA, "en-AI" , "en_AI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Anguilla)","English (Anguilla)" }, + { wxLANGUAGE_ENGLISH_ANTIGUA_AND_BARBUDA, "en-AG" , "en_AG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Antigua and Barbuda)","English (Antigua & Barbuda)" }, + { wxLANGUAGE_ENGLISH_AUSTRALIA, "en-AU" , "en_AU" , "" , 0x09, 0x03, wxLayout_LeftToRight, "English (Australia)","English (Australia)" }, + { wxLANGUAGE_ENGLISH_AUSTRIA, "en-AT" , "en_AT" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Austria)","English (Austria)" }, + { wxLANGUAGE_ENGLISH_BAHAMAS, "en-BS" , "en_BS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Bahamas)","English (Bahamas)" }, + { wxLANGUAGE_ENGLISH_BARBADOS, "en-BB" , "en_BB" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Barbados)","English (Barbados)" }, + { wxLANGUAGE_ENGLISH_BELGIUM, "en-BE" , "en_BE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Belgium)","English (Belgium)" }, + { wxLANGUAGE_ENGLISH_BELIZE, "en-BZ" , "en_BZ" , "" , 0x09, 0x0a, wxLayout_LeftToRight, "English (Belize)","English (Belize)" }, + { wxLANGUAGE_ENGLISH_BERMUDA, "en-BM" , "en_BM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Bermuda)","English (Bermuda)" }, + { wxLANGUAGE_ENGLISH_BOTSWANA, "en-BW" , "en_BW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Botswana)","English (Botswana)" }, + { wxLANGUAGE_ENGLISH_BRITISH_INDIAN_OCEAN_TERRITORY, "en-IO" , "en_IO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (British Indian Ocean Territory)","English (British Indian Ocean Territory)" }, + { wxLANGUAGE_ENGLISH_BRITISH_VIRGIN_ISLANDS, "en-VG" , "en_VG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (British Virgin Islands)","English (British Virgin Islands)" }, + { wxLANGUAGE_ENGLISH_BURUNDI, "en-BI" , "en_BI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Burundi)","English (Burundi)" }, + { wxLANGUAGE_ENGLISH_CAMEROON, "en-CM" , "en_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Cameroon)","English (Cameroon)" }, + { wxLANGUAGE_ENGLISH_CANADA, "en-CA" , "en_CA" , "" , 0x09, 0x04, wxLayout_LeftToRight, "English (Canada)","English (Canada)" }, + { wxLANGUAGE_ENGLISH_CARIBBEAN, "en-029" , "en_029" , "en_CB" , 0x09, 0x09, wxLayout_LeftToRight, "English (Caribbean)","English (Caribbean)" }, + { wxLANGUAGE_ENGLISH_CARIBBEAN_CB, "en-CB" , "en_CB" , "" , 0x09, 0x09, wxLayout_LeftToRight, "English (Caribbean)","English (Caribbean)" }, + { wxLANGUAGE_ENGLISH_CAYMAN_ISLANDS, "en-KY" , "en_KY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Cayman Islands)","English (Cayman Islands)" }, + { wxLANGUAGE_ENGLISH_CHRISTMAS_ISLAND, "en-CX" , "en_CX" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Christmas Island)","English (Christmas Island)" }, + { wxLANGUAGE_ENGLISH_COCOS_KEELING_ISLANDS, "en-CC" , "en_CC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Cocos (Keeling) Islands)","English (Cocos (Keeling) Islands)" }, + { wxLANGUAGE_ENGLISH_COOK_ISLANDS, "en-CK" , "en_CK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Cook Islands)","English (Cook Islands)" }, + { wxLANGUAGE_ENGLISH_CYPRUS, "en-CY" , "en_CY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Cyprus)","English (Cyprus)" }, + { wxLANGUAGE_ENGLISH_DENMARK, "en-DK" , "en_DK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Denmark)","English (Denmark)" }, + { wxLANGUAGE_ENGLISH_DOMINICA, "en-DM" , "en_DM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Dominica)","English (Dominica)" }, + { wxLANGUAGE_ENGLISH_EIRE, "en-IE" , "en_IE" , "" , 0x09, 0x06, wxLayout_LeftToRight, "English (Ireland)","English (Ireland)" }, + { wxLANGUAGE_ENGLISH_ERITREA, "en-ER" , "en_ER" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Eritrea)","English (Eritrea)" }, + { wxLANGUAGE_ENGLISH_ESWATINI, "en-SZ" , "en_SZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Eswatini)","English (Eswatini)" }, + { wxLANGUAGE_ENGLISH_EUROPE, "en-150" , "en_150" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Europe)","English (Europe)" }, + { wxLANGUAGE_ENGLISH_FALKLAND_ISLANDS, "en-FK" , "en_FK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Falkland Islands)","English (Falkland Islands)" }, + { wxLANGUAGE_ENGLISH_FIJI, "en-FJ" , "en_FJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Fiji)","English (Fiji)" }, + { wxLANGUAGE_ENGLISH_FINLAND, "en-FI" , "en_FI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Finland)","English (Finland)" }, + { wxLANGUAGE_ENGLISH_GAMBIA, "en-GM" , "en_GM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Gambia)","English (Gambia)" }, + { wxLANGUAGE_ENGLISH_GERMANY, "en-DE" , "en_DE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Germany)","English (Germany)" }, + { wxLANGUAGE_ENGLISH_GHANA, "en-GH" , "en_GH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Ghana)","English (Ghana)" }, + { wxLANGUAGE_ENGLISH_GIBRALTAR, "en-GI" , "en_GI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Gibraltar)","English (Gibraltar)" }, + { wxLANGUAGE_ENGLISH_GRENADA, "en-GD" , "en_GD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Grenada)","English (Grenada)" }, + { wxLANGUAGE_ENGLISH_GUAM, "en-GU" , "en_GU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Guam)","English (Guam)" }, + { wxLANGUAGE_ENGLISH_GUERNSEY, "en-GG" , "en_GG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Guernsey)","English (Guernsey)" }, + { wxLANGUAGE_ENGLISH_GUYANA, "en-GY" , "en_GY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Guyana)","English (Guyana)" }, + { wxLANGUAGE_ENGLISH_HONG_KONG_SAR, "en-HK" , "en_HK" , "" , 0x09, 0x0f, wxLayout_LeftToRight, "English (Hong Kong SAR)","English (Hong Kong SAR)" }, + { wxLANGUAGE_ENGLISH_INDIA, "en-IN" , "en_IN" , "" , 0x09, 0x10, wxLayout_LeftToRight, "English (India)","English (India)" }, + { wxLANGUAGE_ENGLISH_INDONESIA, "en-ID" , "en_ID" , "" , 0x09, 0x0e, wxLayout_LeftToRight, "English (Indonesia)","English (Indonesia)" }, + { wxLANGUAGE_ENGLISH_ISLE_OF_MAN, "en-IM" , "en_IM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Isle of Man)","English (Isle of Man)" }, + { wxLANGUAGE_ENGLISH_ISRAEL, "en-IL" , "en_IL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Israel)","English (Israel)" }, + { wxLANGUAGE_ENGLISH_JAMAICA, "en-JM" , "en_JM" , "" , 0x09, 0x08, wxLayout_LeftToRight, "English (Jamaica)","English (Jamaica)" }, + { wxLANGUAGE_ENGLISH_JERSEY, "en-JE" , "en_JE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Jersey)","English (Jersey)" }, + { wxLANGUAGE_ENGLISH_KENYA, "en-KE" , "en_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Kenya)","English (Kenya)" }, + { wxLANGUAGE_ENGLISH_KIRIBATI, "en-KI" , "en_KI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Kiribati)","English (Kiribati)" }, + { wxLANGUAGE_ENGLISH_LESOTHO, "en-LS" , "en_LS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Lesotho)","English (Lesotho)" }, + { wxLANGUAGE_ENGLISH_LIBERIA, "en-LR" , "en_LR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Liberia)","English (Liberia)" }, + { wxLANGUAGE_ENGLISH_MACAO_SAR, "en-MO" , "en_MO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Macao SAR)","English (Macao SAR)" }, + { wxLANGUAGE_ENGLISH_MADAGASCAR, "en-MG" , "en_MG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Madagascar)","English (Madagascar)" }, + { wxLANGUAGE_ENGLISH_MALAWI, "en-MW" , "en_MW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Malawi)","English (Malawi)" }, + { wxLANGUAGE_ENGLISH_MALAYSIA, "en-MY" , "en_MY" , "" , 0x09, 0x11, wxLayout_LeftToRight, "English (Malaysia)","English (Malaysia)" }, + { wxLANGUAGE_ENGLISH_MALTA, "en-MT" , "en_MT" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Malta)","English (Malta)" }, + { wxLANGUAGE_ENGLISH_MARSHALL_ISLANDS, "en-MH" , "en_MH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Marshall Islands)","English (Marshall Islands)" }, + { wxLANGUAGE_ENGLISH_MAURITIUS, "en-MU" , "en_MU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Mauritius)","English (Mauritius)" }, + { wxLANGUAGE_ENGLISH_MICRONESIA, "en-FM" , "en_FM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Micronesia)","English (Micronesia)" }, + { wxLANGUAGE_ENGLISH_MONTSERRAT, "en-MS" , "en_MS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Montserrat)","English (Montserrat)" }, + { wxLANGUAGE_ENGLISH_NAMIBIA, "en-NA" , "en_NA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Namibia)","English (Namibia)" }, + { wxLANGUAGE_ENGLISH_NAURU, "en-NR" , "en_NR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Nauru)","English (Nauru)" }, + { wxLANGUAGE_ENGLISH_NETHERLANDS, "en-NL" , "en_NL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Netherlands)","English (Netherlands)" }, + { wxLANGUAGE_ENGLISH_NEW_ZEALAND, "en-NZ" , "en_NZ" , "" , 0x09, 0x05, wxLayout_LeftToRight, "English (New Zealand)","English (New Zealand)" }, + { wxLANGUAGE_ENGLISH_NIGERIA, "en-NG" , "en_NG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Nigeria)","English (Nigeria)" }, + { wxLANGUAGE_ENGLISH_NIUE, "en-NU" , "en_NU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Niue)","English (Niue)" }, + { wxLANGUAGE_ENGLISH_NORFOLK_ISLAND, "en-NF" , "en_NF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Norfolk Island)","English (Norfolk Island)" }, + { wxLANGUAGE_ENGLISH_NORTHERN_MARIANA_ISLANDS, "en-MP" , "en_MP" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Northern Mariana Islands)","English (Northern Mariana Islands)" }, + { wxLANGUAGE_ENGLISH_PAKISTAN, "en-PK" , "en_PK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Pakistan)","English (Pakistan)" }, + { wxLANGUAGE_ENGLISH_PALAU, "en-PW" , "en_PW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Palau)","English (Palau)" }, + { wxLANGUAGE_ENGLISH_PAPUA_NEW_GUINEA, "en-PG" , "en_PG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Papua New Guinea)","English (Papua New Guinea)" }, + { wxLANGUAGE_ENGLISH_PHILIPPINES, "en-PH" , "en_PH" , "" , 0x09, 0x0d, wxLayout_LeftToRight, "English (Philippines)","English (Philippines)" }, + { wxLANGUAGE_ENGLISH_PITCAIRN_ISLANDS, "en-PN" , "en_PN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Pitcairn Islands)","English (Pitcairn Islands)" }, + { wxLANGUAGE_ENGLISH_PUERTO_RICO, "en-PR" , "en_PR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Puerto Rico)","English (Puerto Rico)" }, + { wxLANGUAGE_ENGLISH_RWANDA, "en-RW" , "en_RW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Rwanda)","English (Rwanda)" }, + { wxLANGUAGE_ENGLISH_SAMOA, "en-WS" , "en_WS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Samoa)","English (Samoa)" }, + { wxLANGUAGE_ENGLISH_SEYCHELLES, "en-SC" , "en_SC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Seychelles)","English (Seychelles)" }, + { wxLANGUAGE_ENGLISH_SIERRA_LEONE, "en-SL" , "en_SL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Sierra Leone)","English (Sierra Leone)" }, + { wxLANGUAGE_ENGLISH_SINGAPORE, "en-SG" , "en_SG" , "" , 0x09, 0x12, wxLayout_LeftToRight, "English (Singapore)","English (Singapore)" }, + { wxLANGUAGE_ENGLISH_SINT_MAARTEN, "en-SX" , "en_SX" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Sint Maarten)","English (Sint Maarten)" }, + { wxLANGUAGE_ENGLISH_SLOVENIA, "en-SI" , "en_SI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Slovenia)","English (Slovenia)" }, + { wxLANGUAGE_ENGLISH_SOLOMON_ISLANDS, "en-SB" , "en_SB" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Solomon Islands)","English (Solomon Islands)" }, + { wxLANGUAGE_ENGLISH_SOUTH_AFRICA, "en-ZA" , "en_ZA" , "" , 0x09, 0x07, wxLayout_LeftToRight, "English (South Africa)","English (South Africa)" }, + { wxLANGUAGE_ENGLISH_SOUTH_SUDAN, "en-SS" , "en_SS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (South Sudan)","English (South Sudan)" }, + { wxLANGUAGE_ENGLISH_ST_HELENA_ASCENSION_TRISTAN_DA_CUNHA, "en-SH" , "en_SH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (St Helena, Ascension, Tristan da Cunha)","English (St Helena, Ascension, Tristan da Cunha)" }, + { wxLANGUAGE_ENGLISH_ST_KITTS_AND_NEVIS, "en-KN" , "en_KN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (St. Kitts and Nevis)","English (St. Kitts & Nevis)" }, + { wxLANGUAGE_ENGLISH_ST_LUCIA, "en-LC" , "en_LC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (St. Lucia)","English (St. Lucia)" }, + { wxLANGUAGE_ENGLISH_ST_VINCENT_AND_GRENADINES, "en-VC" , "en_VC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (St. Vincent and Grenadines)","English (St. Vincent & Grenadines)" }, + { wxLANGUAGE_ENGLISH_SUDAN, "en-SD" , "en_SD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Sudan)","English (Sudan)" }, + { wxLANGUAGE_ENGLISH_SWEDEN, "en-SE" , "en_SE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Sweden)","English (Sweden)" }, + { wxLANGUAGE_ENGLISH_SWITZERLAND, "en-CH" , "en_CH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Switzerland)","English (Switzerland)" }, + { wxLANGUAGE_ENGLISH_TANZANIA, "en-TZ" , "en_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Tanzania)","English (Tanzania)" }, + { wxLANGUAGE_ENGLISH_TOKELAU, "en-TK" , "en_TK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Tokelau)","English (Tokelau)" }, + { wxLANGUAGE_ENGLISH_TONGA, "en-TO" , "en_TO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Tonga)","English (Tonga)" }, + { wxLANGUAGE_ENGLISH_TRINIDAD, "en-TT" , "en_TT" , "" , 0x09, 0x0b, wxLayout_LeftToRight, "English (Trinidad and Tobago)","English (Trinidad & Tobago)" }, + { wxLANGUAGE_ENGLISH_TURKS_AND_CAICOS_ISLANDS, "en-TC" , "en_TC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Turks and Caicos Islands)","English (Turks & Caicos Islands)" }, + { wxLANGUAGE_ENGLISH_TUVALU, "en-TV" , "en_TV" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Tuvalu)","English (Tuvalu)" }, + { wxLANGUAGE_ENGLISH_UGANDA, "en-UG" , "en_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Uganda)","English (Uganda)" }, + { wxLANGUAGE_ENGLISH_UK, "en-GB" , "en_GB" , "" , 0x09, 0x02, wxLayout_LeftToRight, "English (United Kingdom)","English (United Kingdom)" }, + { wxLANGUAGE_ENGLISH_UNITED_ARAB_EMIRATES, "en-AE" , "en_AE" , "" , 0x09, 0x13, wxLayout_LeftToRight, "English (United Arab Emirates)","English (United Arab Emirates)" }, + { wxLANGUAGE_ENGLISH_US, "en-US" , "en_US" , "" , 0x09, 0x01, wxLayout_LeftToRight, "English (United States)","English (United States)" }, + { wxLANGUAGE_ENGLISH_US_OUTLYING_ISLANDS, "en-UM" , "en_UM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (U.S. Outlying Islands)","English (U.S. Outlying Islands)" }, + { wxLANGUAGE_ENGLISH_US_VIRGIN_ISLANDS, "en-VI" , "en_VI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (U.S. Virgin Islands)","English (U.S. Virgin Islands)" }, + { wxLANGUAGE_ENGLISH_VANUATU, "en-VU" , "en_VU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Vanuatu)","English (Vanuatu)" }, + { wxLANGUAGE_ENGLISH_WORLD, "en-001" , "en_001" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (World)","English (World)" }, + { wxLANGUAGE_ENGLISH_ZAMBIA, "en-ZM" , "en_ZM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Zambia)","English (Zambia)" }, + { wxLANGUAGE_ENGLISH_ZIMBABWE, "en-ZW" , "en_ZW" , "" , 0x09, 0x0c, wxLayout_LeftToRight, "English (Zimbabwe)","English (Zimbabwe)" }, + { wxLANGUAGE_ESPERANTO, "eo" , "eo" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Esperanto","esperanto" }, + { wxLANGUAGE_ESPERANTO_WORLD, "eo-001" , "eo_001" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Esperanto (World)","esperanto (Mondo)" }, + { wxLANGUAGE_ESTONIAN, "et" , "et" , "et_EE" , 0x25, 0x01, wxLayout_LeftToRight, "Estonian","eesti" }, + { wxLANGUAGE_ESTONIAN_ESTONIA, "et-EE" , "et_EE" , "" , 0x25, 0x01, wxLayout_LeftToRight, "Estonian (Estonia)","eesti (Eesti)" }, + { wxLANGUAGE_EWE, "ee" , "ee" , "ee_GH" , 0x00, 0x04, wxLayout_LeftToRight, "Ewe","E\312\213egbe" }, + { wxLANGUAGE_EWE_GHANA, "ee-GH" , "ee_GH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ewe (Ghana)","E\312\213egbe (Ghana nutome)" }, + { wxLANGUAGE_EWE_TOGO, "ee-TG" , "ee_TG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ewe (Togo)","E\312\213egbe (Togo nutome)" }, + { wxLANGUAGE_EWONDO, "ewo" , "ewo" , "ewo_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Ewondo","ewondo" }, + { wxLANGUAGE_EWONDO_CAMEROON, "ewo-CM" , "ewo_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ewondo (Cameroon)","ewondo (Kam\311\231r\303\272n)" }, + { wxLANGUAGE_FAEROESE, "fo" , "fo" , "fo_FO" , 0x38, 0x01, wxLayout_LeftToRight, "Faroese","f\303\270royskt" }, + { wxLANGUAGE_FAEROESE_DENMARK, "fo-DK" , "fo_DK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Faroese (Denmark)","f\303\270royskt (Danmark)" }, + { wxLANGUAGE_FAEROESE_FAROE_ISLANDS, "fo-FO" , "fo_FO" , "" , 0x38, 0x01, wxLayout_LeftToRight, "Faroese (Faroe Islands)","f\303\270royskt (F\303\270royar)" }, + { wxLANGUAGE_FIJI, "fj" , "fj" , "" , 0 , 0 , wxLayout_LeftToRight, "Fiji","Na Vosa Vakaviti" }, + { wxLANGUAGE_FILIPINO, "fil" , "fil" , "fil_PH" , 0x64, 0x01, wxLayout_LeftToRight, "Filipino","Filipino" }, + { wxLANGUAGE_FILIPINO_PHILIPPINES, "fil-PH" , "fil_PH" , "" , 0x64, 0x01, wxLayout_LeftToRight, "Filipino (Philippines)","Filipino (Pilipinas)" }, + { wxLANGUAGE_FINNISH, "fi" , "fi" , "fi_FI" , 0x0b, 0x01, wxLayout_LeftToRight, "Finnish","suomi" }, + { wxLANGUAGE_FINNISH_FINLAND, "fi-FI" , "fi_FI" , "" , 0x0b, 0x01, wxLayout_LeftToRight, "Finnish (Finland)","suomi (Suomi)" }, + { wxLANGUAGE_FRENCH, "fr" , "fr" , "fr_FR" , 0x0c, 0x01, wxLayout_LeftToRight, "French","fran\303\247ais" }, + { wxLANGUAGE_FRENCH_ALGERIA, "fr-DZ" , "fr_DZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Algeria)","fran\303\247ais (Alg\303\251rie)" }, + { wxLANGUAGE_FRENCH_BELGIAN, "fr-BE" , "fr_BE" , "" , 0x0c, 0x02, wxLayout_LeftToRight, "French (Belgium)","fran\303\247ais (Belgique)" }, + { wxLANGUAGE_FRENCH_BENIN, "fr-BJ" , "fr_BJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Benin)","fran\303\247ais (B\303\251nin)" }, + { wxLANGUAGE_FRENCH_BURKINA_FASO, "fr-BF" , "fr_BF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Burkina Faso)","fran\303\247ais (Burkina Faso)" }, + { wxLANGUAGE_FRENCH_BURUNDI, "fr-BI" , "fr_BI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Burundi)","fran\303\247ais (Burundi)" }, + { wxLANGUAGE_FRENCH_CAMEROON, "fr-CM" , "fr_CM" , "" , 0x0c, 0x0b, wxLayout_LeftToRight, "French (Cameroon)","fran\303\247ais (Cameroun)" }, + { wxLANGUAGE_FRENCH_CANADIAN, "fr-CA" , "fr_CA" , "" , 0x0c, 0x03, wxLayout_LeftToRight, "French (Canada)","fran\303\247ais (Canada)" }, + { wxLANGUAGE_FRENCH_CARIBBEAN, "fr-029" , "fr_029" , "" , 0x0c, 0x07, wxLayout_LeftToRight, "French (Caribbean)","fran\303\247ais (Cara\303\257bes)" }, + { wxLANGUAGE_FRENCH_CENTRAL_AFRICAN_REPUBLIC, "fr-CF" , "fr_CF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Central African Republic)","fran\303\247ais (R\303\251publique centrafricaine)" }, + { wxLANGUAGE_FRENCH_CHAD, "fr-TD" , "fr_TD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Chad)","fran\303\247ais (Tchad)" }, + { wxLANGUAGE_FRENCH_COMOROS, "fr-KM" , "fr_KM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Comoros)","fran\303\247ais (Comores)" }, + { wxLANGUAGE_FRENCH_CONGO, "fr-CG" , "fr_CG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Congo)","fran\303\247ais (Congo)" }, + { wxLANGUAGE_FRENCH_CONGO_DRC, "fr-CD" , "fr_CD" , "" , 0x0c, 0x09, wxLayout_LeftToRight, "French Congo (DRC)","fran\303\247ais (Congo, R\303\251publique d\303\251mocratique du)" }, + { wxLANGUAGE_FRENCH_COTE_DIVOIRE, "fr-CI" , "fr_CI" , "" , 0x0c, 0x0c, wxLayout_LeftToRight, "French (C\303\264te d\342\200\231Ivoire)","fran\303\247ais (C\303\264te d\342\200\231Ivoire)" }, + { wxLANGUAGE_FRENCH_DJIBOUTI, "fr-DJ" , "fr_DJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Djibouti)","fran\303\247ais (Djibouti)" }, + { wxLANGUAGE_FRENCH_EQUATORIAL_GUINEA, "fr-GQ" , "fr_GQ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Equatorial Guinea)","fran\303\247ais (Guin\303\251e \303\251quatoriale)" }, + { wxLANGUAGE_FRENCH_FRANCE, "fr-FR" , "fr_FR" , "" , 0x0c, 0x01, wxLayout_LeftToRight, "French (France)","fran\303\247ais (France)" }, + { wxLANGUAGE_FRENCH_FRENCH_GUIANA, "fr-GF" , "fr_GF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (French Guiana)","fran\303\247ais (Guyane fran\303\247aise)" }, + { wxLANGUAGE_FRENCH_FRENCH_POLYNESIA, "fr-PF" , "fr_PF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (French Polynesia)","fran\303\247ais (Polyn\303\251sie fran\303\247aise)" }, + { wxLANGUAGE_FRENCH_GABON, "fr-GA" , "fr_GA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Gabon)","fran\303\247ais (Gabon)" }, + { wxLANGUAGE_FRENCH_GUADELOUPE, "fr-GP" , "fr_GP" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Guadeloupe)","fran\303\247ais (Guadeloupe)" }, + { wxLANGUAGE_FRENCH_GUINEA, "fr-GN" , "fr_GN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Guinea)","fran\303\247ais (Guin\303\251e)" }, + { wxLANGUAGE_FRENCH_HAITI, "fr-HT" , "fr_HT" , "" , 0x0c, 0x0f, wxLayout_LeftToRight, "French (Haiti)","fran\303\247ais (Ha\303\257ti)" }, + { wxLANGUAGE_FRENCH_LUXEMBOURG, "fr-LU" , "fr_LU" , "" , 0x0c, 0x05, wxLayout_LeftToRight, "French (Luxembourg)","fran\303\247ais (Luxembourg)" }, + { wxLANGUAGE_FRENCH_MADAGASCAR, "fr-MG" , "fr_MG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Madagascar)","fran\303\247ais (Madagascar)" }, + { wxLANGUAGE_FRENCH_MALI, "fr-ML" , "fr_ML" , "" , 0x0c, 0x0d, wxLayout_LeftToRight, "French (Mali)","fran\303\247ais (Mali)" }, + { wxLANGUAGE_FRENCH_MARTINIQUE, "fr-MQ" , "fr_MQ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Martinique)","fran\303\247ais (Martinique)" }, + { wxLANGUAGE_FRENCH_MAURITANIA, "fr-MR" , "fr_MR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Mauritania)","fran\303\247ais (Mauritanie)" }, + { wxLANGUAGE_FRENCH_MAURITIUS, "fr-MU" , "fr_MU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Mauritius)","fran\303\247ais (Maurice)" }, + { wxLANGUAGE_FRENCH_MAYOTTE, "fr-YT" , "fr_YT" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Mayotte)","fran\303\247ais (Mayotte)" }, + { wxLANGUAGE_FRENCH_MONACO, "fr-MC" , "fr_MC" , "" , 0x0c, 0x06, wxLayout_LeftToRight, "French (Monaco)","fran\303\247ais (Monaco)" }, + { wxLANGUAGE_FRENCH_MOROCCO, "fr-MA" , "fr_MA" , "" , 0x0c, 0x0e, wxLayout_LeftToRight, "French (Morocco)","fran\303\247ais (Maroc)" }, + { wxLANGUAGE_FRENCH_NEW_CALEDONIA, "fr-NC" , "fr_NC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (New Caledonia)","fran\303\247ais (Nouvelle-Cal\303\251donie)" }, + { wxLANGUAGE_FRENCH_NIGER, "fr-NE" , "fr_NE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Niger)","fran\303\247ais (Niger)" }, + { wxLANGUAGE_FRENCH_REUNION, "fr-RE" , "fr_RE" , "" , 0x0c, 0x08, wxLayout_LeftToRight, "French (R\303\251union)","fran\303\247ais (La R\303\251union)" }, + { wxLANGUAGE_FRENCH_RWANDA, "fr-RW" , "fr_RW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Rwanda)","fran\303\247ais (Rwanda)" }, + { wxLANGUAGE_FRENCH_SENEGAL, "fr-SN" , "fr_SN" , "" , 0x0c, 0x0a, wxLayout_LeftToRight, "French (Senegal)","fran\303\247ais (S\303\251n\303\251gal)" }, + { wxLANGUAGE_FRENCH_SEYCHELLES, "fr-SC" , "fr_SC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Seychelles)","fran\303\247ais (Seychelles)" }, + { wxLANGUAGE_FRENCH_ST_BARTHELEMY, "fr-BL" , "fr_BL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (St. Barth\303\251lemy)","fran\303\247ais (Saint-Barth\303\251lemy)" }, + { wxLANGUAGE_FRENCH_ST_MARTIN, "fr-MF" , "fr_MF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (St. Martin)","fran\303\247ais (Saint-Martin)" }, + { wxLANGUAGE_FRENCH_ST_PIERRE_AND_MIQUELON, "fr-PM" , "fr_PM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (St. Pierre and Miquelon)","fran\303\247ais (Saint-Pierre-et-Miquelon)" }, + { wxLANGUAGE_FRENCH_SWISS, "fr-CH" , "fr_CH" , "" , 0x0c, 0x04, wxLayout_LeftToRight, "French (Switzerland)","fran\303\247ais (Suisse)" }, + { wxLANGUAGE_FRENCH_SYRIA, "fr-SY" , "fr_SY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Syria)","fran\303\247ais (Syrie)" }, + { wxLANGUAGE_FRENCH_TOGO, "fr-TG" , "fr_TG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Togo)","fran\303\247ais (Togo)" }, + { wxLANGUAGE_FRENCH_TUNISIA, "fr-TN" , "fr_TN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Tunisia)","fran\303\247ais (Tunisie)" }, + { wxLANGUAGE_FRENCH_VANUATU, "fr-VU" , "fr_VU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Vanuatu)","fran\303\247ais (Vanuatu)" }, + { wxLANGUAGE_FRENCH_WALLIS_AND_FUTUNA, "fr-WF" , "fr_WF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Wallis and Futuna)","fran\303\247ais (Wallis-et-Futuna)" }, + { wxLANGUAGE_FRISIAN, "fy" , "fy" , "fy_NL" , 0x62, 0x01, wxLayout_LeftToRight, "Western Frisian","Frysk" }, + { wxLANGUAGE_FRISIAN_NETHERLANDS, "fy-NL" , "fy_NL" , "" , 0x62, 0x01, wxLayout_LeftToRight, "Western Frisian (Netherlands)","Frysk (Nederl\303\242n)" }, + { wxLANGUAGE_FRIULIAN, "fur" , "fur" , "fur_IT" , 0x00, 0x04, wxLayout_LeftToRight, "Friulian","furlan" }, + { wxLANGUAGE_FRIULIAN_ITALY, "fur-IT" , "fur_IT" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Friulian (Italy)","furlan (Italie)" }, + { wxLANGUAGE_FULAH, "ff" , "ff" , "" , 0x67, 0x02, wxLayout_LeftToRight, "Fulah","Pulaar" }, + { wxLANGUAGE_FULAH_ADLAM, "ff-Adlm" , "ff@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\200\360\236\244\201\360\236\244\202\360\236\244\242\360\236\244\203)" }, + { wxLANGUAGE_FULAH_ADLAM_BURKINA_FASO, "ff-Adlm-BF" , "ff_BF@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Burkina Faso)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\204\360\236\244\265\360\236\244\252\360\236\244\263\360\236\244\255\360\236\244\262\360\236\244\242 \360\236\244\212\360\236\244\242\360\236\244\247\360\236\244\256\360\236\245\205)" }, + { wxLANGUAGE_FULAH_ADLAM_CAMEROON, "ff-Adlm-CM" , "ff_CM@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Cameroon)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\221\360\236\244\242\360\236\244\245\360\236\244\242\360\236\244\252\360\236\244\265\360\236\245\205\360\236\244\262)" }, + { wxLANGUAGE_FULAH_ADLAM_GAMBIA, "ff-Adlm-GM" , "ff_GM@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Gambia)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\230\360\236\244\242\360\236\244\245\360\236\244\246\360\236\244\255\360\236\244\264\360\236\244\242)" }, + { wxLANGUAGE_FULAH_ADLAM_GHANA, "ff-Adlm-GH" , "ff_GH@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Ghana)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\230\360\236\244\242\360\236\244\262\360\236\244\242)" }, + { wxLANGUAGE_FULAH_ADLAM_GUINEA, "ff-Adlm-GN" , "ff_GN@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Guinea)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\230\360\236\244\255\360\236\244\262\360\236\244\253)" }, + { wxLANGUAGE_FULAH_ADLAM_GUINEA_BISSAU, "ff-Adlm-GW" , "ff_GW@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Guinea-Bissau)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\230\360\236\244\255\360\236\244\262\360\236\244\253-\360\236\244\204\360\236\244\255\360\236\244\247\360\236\244\242\360\236\244\261\360\236\244\256\360\236\245\205)" }, + { wxLANGUAGE_FULAH_ADLAM_LIBERIA, "ff-Adlm-LR" , "ff_LR@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Liberia)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\202\360\236\244\242\360\236\244\246\360\236\244\255\360\236\244\252\360\236\244\255\360\236\244\264\360\236\244\242\360\236\245\204)" }, + { wxLANGUAGE_FULAH_ADLAM_MAURITANIA, "ff-Adlm-MR" , "ff_MR@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Mauritania)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\203\360\236\244\256\360\236\244\252\360\236\244\274\360\236\244\242\360\236\244\262\360\236\244\255\360\236\245\205)" }, + { wxLANGUAGE_FULAH_ADLAM_NIGER, "ff-Adlm-NE" , "ff_NE@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Niger)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\220\360\236\244\255\360\236\245\205\360\236\244\266\360\236\244\253\360\236\244\252)" }, + { wxLANGUAGE_FULAH_ADLAM_NIGERIA, "ff-Adlm-NG" , "ff_NG@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Nigeria)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\220\360\236\244\242\360\236\244\266\360\236\244\253\360\236\244\252\360\236\244\255\360\236\244\264\360\236\244\242\360\236\245\204)" }, + { wxLANGUAGE_FULAH_ADLAM_SENEGAL, "ff-Adlm-SN" , "ff_SN@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Senegal)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\205\360\236\244\253\360\236\244\262\360\236\244\253\360\236\244\272\360\236\244\242\360\236\245\204\360\236\244\244)" }, + { wxLANGUAGE_FULAH_ADLAM_SIERRA_LEONE, "ff-Adlm-SL" , "ff_SL@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Sierra Leone)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\205\360\236\244\242\360\236\244\252\360\236\244\242\360\236\244\244\360\236\244\256\360\236\244\262)" }, + { wxLANGUAGE_FULAH_LATIN, "ff-Latn" , "ff@latin" , "" , 0x67, 0x02, wxLayout_LeftToRight, "Fulah (Latin)","Pulaar" }, + { wxLANGUAGE_FULAH_LATIN_BURKINA_FASO, "ff-Latn-BF" , "ff_BF@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Burkina Faso)","Pulaar (Burkibaa Faaso)" }, + { wxLANGUAGE_FULAH_LATIN_CAMEROON, "ff-Latn-CM" , "ff_CM@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Cameroon)","Pulaar (Kameruun)" }, + { wxLANGUAGE_FULAH_LATIN_GAMBIA, "ff-Latn-GM" , "ff_GM@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Gambia)","Pulaar (Gammbi)" }, + { wxLANGUAGE_FULAH_LATIN_GHANA, "ff-Latn-GH" , "ff_GH@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Ghana)","Pulaar (Ganaa)" }, + { wxLANGUAGE_FULAH_LATIN_GUINEA, "ff-Latn-GN" , "ff_GN@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Guinea)","Pulaar (Gine)" }, + { wxLANGUAGE_FULAH_LATIN_GUINEA_BISSAU, "ff-Latn-GW" , "ff_GW@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Guinea-Bissau)","Pulaar (Gine-Bisaawo)" }, + { wxLANGUAGE_FULAH_LATIN_LIBERIA, "ff-Latn-LR" , "ff_LR@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Liberia)","Pulaar (Liberiyaa)" }, + { wxLANGUAGE_FULAH_LATIN_MAURITANIA, "ff-Latn-MR" , "ff_MR@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Mauritania)","Pulaar (Muritani)" }, + { wxLANGUAGE_FULAH_LATIN_NIGER, "ff-Latn-NE" , "ff_NE@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Niger)","Pulaar (Nijeer)" }, + { wxLANGUAGE_FULAH_LATIN_NIGERIA, "ff-Latn-NG" , "ff_NG@latin" , "" , 0x67, 0x01, wxLayout_LeftToRight, "Fulah (Latin, Nigeria)","Pulaar (Nijeriyaa)" }, + { wxLANGUAGE_FULAH_LATIN_SENEGAL, "ff-Latn-SN" , "ff_SN@latin" , "" , 0x67, 0x02, wxLayout_LeftToRight, "Fulah (Latin, Senegal)","Pulaar (Senegaal)" }, + { wxLANGUAGE_FULAH_LATIN_SIERRA_LEONE, "ff-Latn-SL" , "ff_SL@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Sierra Leone)","Pulaar (Seraa liyon)" }, + { wxLANGUAGE_GALICIAN, "gl" , "gl" , "gl_ES" , 0x56, 0x01, wxLayout_LeftToRight, "Galician","galego" }, + { wxLANGUAGE_GALICIAN_SPAIN, "gl-ES" , "gl_ES" , "" , 0x56, 0x01, wxLayout_LeftToRight, "Galician (Galician)","galego (galego)" }, + { wxLANGUAGE_GANDA, "lg" , "lg" , "lg_UG" , 0x00, 0x04, wxLayout_LeftToRight, "Ganda","Luganda" }, + { wxLANGUAGE_GANDA_UGANDA, "lg-UG" , "lg_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ganda (Uganda)","Luganda (Yuganda)" }, + { wxLANGUAGE_GEORGIAN, "ka" , "ka" , "ka_GE" , 0x37, 0x01, wxLayout_LeftToRight, "Georgian","\341\203\245\341\203\220\341\203\240\341\203\227\341\203\243\341\203\232\341\203\230" }, + { wxLANGUAGE_GEORGIAN_GEORGIA, "ka-GE" , "ka_GE" , "" , 0x37, 0x01, wxLayout_LeftToRight, "Georgian (Georgia)","\341\203\245\341\203\220\341\203\240\341\203\227\341\203\243\341\203\232\341\203\230 (\341\203\241\341\203\220\341\203\245\341\203\220\341\203\240\341\203\227\341\203\225\341\203\224\341\203\232\341\203\235)" }, + { wxLANGUAGE_GERMAN, "de" , "de" , "de_DE" , 0x07, 0x01, wxLayout_LeftToRight, "German","Deutsch" }, + { wxLANGUAGE_GERMAN_AUSTRIAN, "de-AT" , "de_AT" , "" , 0x07, 0x03, wxLayout_LeftToRight, "German (Austria)","Deutsch (\303\226sterreich)" }, + { wxLANGUAGE_GERMAN_BELGIUM, "de-BE" , "de_BE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "German (Belgium)","Deutsch (Belgien)" }, + { wxLANGUAGE_GERMAN_GERMANY, "de-DE" , "de_DE" , "" , 0x07, 0x01, wxLayout_LeftToRight, "German (Germany)","Deutsch (Deutschland)" }, + { wxLANGUAGE_GERMAN_ITALY, "de-IT" , "de_IT" , "" , 0x00, 0x04, wxLayout_LeftToRight, "German (Italy)","Deutsch (Italien)" }, + { wxLANGUAGE_GERMAN_LIECHTENSTEIN, "de-LI" , "de_LI" , "" , 0x07, 0x05, wxLayout_LeftToRight, "German (Liechtenstein)","Deutsch (Liechtenstein)" }, + { wxLANGUAGE_GERMAN_LUXEMBOURG, "de-LU" , "de_LU" , "" , 0x07, 0x04, wxLayout_LeftToRight, "German (Luxembourg)","Deutsch (Luxemburg)" }, + { wxLANGUAGE_GERMAN_SWISS, "de-CH" , "de_CH" , "" , 0x07, 0x02, wxLayout_LeftToRight, "German (Switzerland)","Deutsch (Schweiz)" }, + { wxLANGUAGE_GREEK, "el" , "el" , "el_GR" , 0x08, 0x01, wxLayout_LeftToRight, "Greek","\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254" }, + { wxLANGUAGE_GREEK_CYPRUS, "el-CY" , "el_CY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Greek (Cyprus)","\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254 (\316\232\317\215\317\200\317\201\316\277\317\202)" }, + { wxLANGUAGE_GREEK_GREECE, "el-GR" , "el_GR" , "" , 0x08, 0x01, wxLayout_LeftToRight, "Greek (Greece)","\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254 (\316\225\316\273\316\273\316\254\316\264\316\261)" }, + { wxLANGUAGE_GUARANI, "gn" , "gn" , "gn_PY" , 0x74, 0x01, wxLayout_LeftToRight, "Guarani","Ava\303\261e\342\200\231\341\272\275" }, + { wxLANGUAGE_GUARANI_PARAGUAY, "gn-PY" , "gn_PY" , "" , 0x74, 0x01, wxLayout_LeftToRight, "Guarani (Paraguay)","Ava\303\261e\342\200\231\341\272\275 (Paragu\303\241i)" }, + { wxLANGUAGE_GUJARATI, "gu" , "gu" , "gu_IN" , 0x47, 0x01, wxLayout_LeftToRight, "Gujarati","\340\252\227\340\253\201\340\252\234\340\252\260\340\252\276\340\252\244\340\253\200" }, + { wxLANGUAGE_GUJARATI_INDIA, "gu-IN" , "gu_IN" , "" , 0x47, 0x01, wxLayout_LeftToRight, "Gujarati (India)","\340\252\227\340\253\201\340\252\234\340\252\260\340\252\276\340\252\244\340\253\200 (\340\252\255\340\252\276\340\252\260\340\252\244)" }, + { wxLANGUAGE_GUSII, "guz" , "guz" , "guz_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Gusii","Ekegusii" }, + { wxLANGUAGE_GUSII_KENYA, "guz-KE" , "guz_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Gusii (Kenya)","Ekegusii (Kenya)" }, + { wxLANGUAGE_HAUSA, "ha" , "ha" , "" , 0x68, 0x01, wxLayout_LeftToRight, "Hausa","Hausa" }, + { wxLANGUAGE_HAUSA_LATIN, "ha-Latn" , "ha@latin" , "" , 0x68, 0x01, wxLayout_LeftToRight, "Hausa (Latin)","Hausa (Latin)" }, + { wxLANGUAGE_HAUSA_LATIN_GHANA, "ha-Latn-GH" , "ha_GH@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Hausa (Latin, Ghana)","Hausa (Gana)" }, + { wxLANGUAGE_HAUSA_LATIN_NIGER, "ha-Latn-NE" , "ha_NE@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Hausa (Latin, Niger)","Hausa (Nijar)" }, + { wxLANGUAGE_HAUSA_LATIN_NIGERIA, "ha-Latn-NG" , "ha_NG@latin" , "" , 0x68, 0x01, wxLayout_LeftToRight, "Hausa (Latin, Nigeria)","Hausa (Najeriya)" }, + { wxLANGUAGE_HAWAIIAN, "haw" , "haw" , "haw_US" , 0x75, 0x01, wxLayout_LeftToRight, "Hawaiian","\312\273\305\214lelo Hawai\312\273i" }, + { wxLANGUAGE_HAWAIIAN_US, "haw-US" , "haw_US" , "" , 0x75, 0x01, wxLayout_LeftToRight, "Hawaiian (United States)","\312\273\305\214lelo Hawai\312\273i (\312\273Amelika Hui P\305\253 \312\273Ia)" }, + { wxLANGUAGE_HEBREW, "he" , "he" , "he_IL" , 0x0d, 0x01, wxLayout_RightToLeft, "Hebrew","\327\242\327\221\327\250\327\231\327\252" }, + { wxLANGUAGE_HEBREW_ISRAEL, "he-IL" , "he_IL" , "" , 0x0d, 0x01, wxLayout_RightToLeft, "Hebrew (Israel)","\327\242\327\221\327\250\327\231\327\252 (\327\231\327\251\327\250\327\220\327\234)" }, + { wxLANGUAGE_HINDI, "hi" , "hi" , "hi_IN" , 0x39, 0x01, wxLayout_LeftToRight, "Hindi","\340\244\271\340\244\277\340\244\250\340\245\215\340\244\246\340\245\200" }, + { wxLANGUAGE_HINDI_INDIA, "hi-IN" , "hi_IN" , "" , 0x39, 0x01, wxLayout_LeftToRight, "Hindi (India)","\340\244\271\340\244\277\340\244\250\340\245\215\340\244\246\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, + { wxLANGUAGE_HUNGARIAN, "hu" , "hu" , "hu_HU" , 0x0e, 0x01, wxLayout_LeftToRight, "Hungarian","magyar" }, + { wxLANGUAGE_HUNGARIAN_HUNGARY, "hu-HU" , "hu_HU" , "" , 0x0e, 0x01, wxLayout_LeftToRight, "Hungarian (Hungary)","magyar (Magyarorsz\303\241g)" }, + { wxLANGUAGE_IBIBIO, "ibb" , "ibb" , "ibb_NG" , 0x69, 0x01, wxLayout_LeftToRight, "Ibibio","Ibibio-Efik" }, + { wxLANGUAGE_IBIBIO_NIGERIA, "ibb-NG" , "ibb_NG" , "" , 0x69, 0x01, wxLayout_LeftToRight, "Ibibio (Nigeria)","Ibibio-Efik (Nigeria)" }, + { wxLANGUAGE_ICELANDIC, "is" , "is" , "is_IS" , 0x0f, 0x01, wxLayout_LeftToRight, "Icelandic","\303\255slenska" }, + { wxLANGUAGE_ICELANDIC_ICELAND, "is-IS" , "is_IS" , "" , 0x0f, 0x01, wxLayout_LeftToRight, "Icelandic (Iceland)","\303\255slenska (\303\215sland)" }, + { wxLANGUAGE_IGBO, "ig" , "ig" , "ig_NG" , 0x70, 0x01, wxLayout_LeftToRight, "Igbo","Igbo" }, + { wxLANGUAGE_IGBO_NIGERIA, "ig-NG" , "ig_NG" , "" , 0x70, 0x01, wxLayout_LeftToRight, "Igbo (Nigeria)","Igbo (Na\341\273\213j\341\273\213r\341\273\213a)" }, + { wxLANGUAGE_INDONESIAN, "id" , "id" , "id_ID" , 0x21, 0x01, wxLayout_LeftToRight, "Indonesian","Indonesia" }, + { wxLANGUAGE_INDONESIAN_INDONESIA, "id-ID" , "id_ID" , "" , 0x21, 0x01, wxLayout_LeftToRight, "Indonesian (Indonesia)","Indonesia (Indonesia)" }, + { wxLANGUAGE_INTERLINGUA, "ia" , "ia" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Interlingua","interlingua" }, + { wxLANGUAGE_INTERLINGUA_WORLD, "ia-001" , "ia_001" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Interlingua (World)","interlingua (Mundo)" }, + { wxLANGUAGE_INTERLINGUE, "ie" , "ie" , "" , 0 , 0 , wxLayout_LeftToRight, "Interlingue","Interlingue" }, + { wxLANGUAGE_INUKTITUT, "iu" , "iu" , "" , 0x5d, 0x02, wxLayout_LeftToRight, "Inuktitut","Inuktitut" }, + { wxLANGUAGE_INUKTITUT_LATIN, "iu-Latn" , "iu@latin" , "" , 0x5d, 0x02, wxLayout_LeftToRight, "Inuktitut (Latin)","Inuktitut (Qaliujaaqpait)" }, + { wxLANGUAGE_INUKTITUT_LATIN_CANADA, "iu-Latn-CA" , "iu_CA@latin" , "" , 0x5d, 0x02, wxLayout_LeftToRight, "Inuktitut (Latin, Canada)","Inuktitut (Kanatami)" }, + { wxLANGUAGE_INUKTITUT_SYLLABICS, "iu-Cans" , "iu@canadian_aboriginal" , "" , 0x5d, 0x01, wxLayout_LeftToRight, "Inuktitut (Syllabics)","\341\220\203\341\223\204\341\222\203\341\221\216\341\221\220\341\221\246 (\341\226\203\341\223\202\341\220\205\341\224\256\341\226\205\341\220\270\341\220\203\341\221\246)" }, + { wxLANGUAGE_INUKTITUT_SYLLABICS_CANADA, "iu-Cans-CA" , "iu_CA@canadian_aboriginal" , "" , 0x5d, 0x01, wxLayout_LeftToRight, "Inuktitut (Syllabics, Canada)","\341\220\203\341\223\204\341\222\203\341\221\216\341\221\220\341\221\246 (\341\221\262\341\223\207\341\221\225\341\222\245)" }, + { wxLANGUAGE_INUPIAK, "ik" , "ik" , "" , 0 , 0 , wxLayout_LeftToRight, "Inupiak","Inupiaq" }, + { wxLANGUAGE_IRISH, "ga" , "ga" , "ga_IE" , 0x3c, 0x02, wxLayout_LeftToRight, "Irish","Gaeilge" }, + { wxLANGUAGE_IRISH_IRELAND, "ga-IE" , "ga_IE" , "" , 0x3c, 0x02, wxLayout_LeftToRight, "Irish (Ireland)","Gaeilge (\303\211ire)" }, + { wxLANGUAGE_IRISH_UNITED_KINGDOM, "ga-GB" , "ga_GB" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Irish (United Kingdom)","Gaeilge (an R\303\255ocht Aontaithe)" }, + { wxLANGUAGE_ITALIAN, "it" , "it" , "it_IT" , 0x10, 0x01, wxLayout_LeftToRight, "Italian","italiano" }, + { wxLANGUAGE_ITALIAN_ITALY, "it-IT" , "it_IT" , "" , 0x10, 0x01, wxLayout_LeftToRight, "Italian (Italy)","italiano (Italia)" }, + { wxLANGUAGE_ITALIAN_SAN_MARINO, "it-SM" , "it_SM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Italian (San Marino)","italiano (San Marino)" }, + { wxLANGUAGE_ITALIAN_SWISS, "it-CH" , "it_CH" , "" , 0x10, 0x02, wxLayout_LeftToRight, "Italian (Switzerland)","italiano (Svizzera)" }, + { wxLANGUAGE_ITALIAN_VATICAN_CITY, "it-VA" , "it_VA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Italian (Vatican City)","italiano (Citt\303\240 del Vaticano)" }, + { wxLANGUAGE_JAPANESE, "ja" , "ja" , "ja_JP" , 0x11, 0x01, wxLayout_LeftToRight, "Japanese","\346\227\245\346\234\254\350\252\236" }, + { wxLANGUAGE_JAPANESE_JAPAN, "ja-JP" , "ja_JP" , "" , 0x11, 0x01, wxLayout_LeftToRight, "Japanese (Japan)","\346\227\245\346\234\254\350\252\236 (\346\227\245\346\234\254)" }, + { wxLANGUAGE_JAVANESE, "jv" , "jv" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Javanese","Basa Jawa" }, + { wxLANGUAGE_JAVANESE_JAVANESE, "jv-Java" , "jv@javanese" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Javanese (Javanese)","\352\246\247\352\246\261\352\246\227\352\246\256" }, + { wxLANGUAGE_JAVANESE_JAVANESE_INDONESIA, "jv-Java-ID" , "jv_ID@javanese" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Javanese (Javanese, Indonesia)","\352\246\247\352\246\261\352\246\227\352\246\256 (Indon\303\251sia)" }, + { wxLANGUAGE_JAVANESE_LATIN, "jv-Latn" , "jv@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Javanese","Basa Jawa" }, + { wxLANGUAGE_JAVANESE_LATIN_INDONESIA, "jv-Latn-ID" , "jv_ID@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Javanese (Indonesia)","Basa Jawa (Indonesia)" }, + { wxLANGUAGE_JOLA_FONYI, "dyo" , "dyo" , "dyo_SN" , 0x00, 0x04, wxLayout_LeftToRight, "Jola-Fonyi","joola" }, + { wxLANGUAGE_JOLA_FONYI_SENEGAL, "dyo-SN" , "dyo_SN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Jola-Fonyi (Senegal)","joola (Senegal)" }, + { wxLANGUAGE_KABUVERDIANU, "kea" , "kea" , "kea_CV" , 0x00, 0x04, wxLayout_LeftToRight, "Kabuverdianu","kabuverdianu" }, + { wxLANGUAGE_KABUVERDIANU_CABO_VERDE, "kea-CV" , "kea_CV" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kabuverdianu (Cabo Verde)","kabuverdianu (Kabu Verdi)" }, + { wxLANGUAGE_KABYLE, "kab" , "kab" , "kab_DZ" , 0x00, 0x04, wxLayout_LeftToRight, "Kabyle","Taqbaylit" }, + { wxLANGUAGE_KABYLE_ALGERIA, "kab-DZ" , "kab_DZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kabyle (Algeria)","Taqbaylit (Lezzayer)" }, + { wxLANGUAGE_KAKO, "kkj" , "kkj" , "kkj_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Kako","kak\311\224" }, + { wxLANGUAGE_KAKO_CAMEROON, "kkj-CM" , "kkj_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kako (Cameroon)","kak\311\224 (Kam\311\233run)" }, + { wxLANGUAGE_KALAALLISUT, "kl" , "kl" , "kl_GL" , 0x6f, 0x01, wxLayout_LeftToRight, "Kalaallisut","kalaallisut" }, + { wxLANGUAGE_KALAALLISUT_GREENLAND, "kl-GL" , "kl_GL" , "" , 0x6f, 0x01, wxLayout_LeftToRight, "Kalaallisut (Greenland)","kalaallisut (Kalaallit Nunaat)" }, + { wxLANGUAGE_KALENJIN, "kln" , "kln" , "kln_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Kalenjin","Kalenjin" }, + { wxLANGUAGE_KALENJIN_KENYA, "kln-KE" , "kln_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kalenjin (Kenya)","Kalenjin (Emetab Kenya)" }, + { wxLANGUAGE_KAMBA, "kam" , "kam" , "kam_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Kamba","Kikamba" }, + { wxLANGUAGE_KAMBA_KENYA, "kam-KE" , "kam_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kamba (Kenya)","Kikamba (Kenya)" }, + { wxLANGUAGE_KANNADA, "kn" , "kn" , "kn_IN" , 0x4b, 0x01, wxLayout_LeftToRight, "Kannada","\340\262\225\340\262\250\340\263\215\340\262\250\340\262\241" }, + { wxLANGUAGE_KANNADA_INDIA, "kn-IN" , "kn_IN" , "" , 0x4b, 0x01, wxLayout_LeftToRight, "Kannada (India)","\340\262\225\340\262\250\340\263\215\340\262\250\340\262\241 (\340\262\255\340\262\276\340\262\260\340\262\244)" }, + { wxLANGUAGE_KANURI, "kr" , "kr" , "" , 0x71, 0x01, wxLayout_LeftToRight, "Kanuri","Kanuri" }, + { wxLANGUAGE_KANURI_LATIN, "kr-Latn" , "kr@latin" , "" , 0x71, 0x01, wxLayout_LeftToRight, "Kanuri (Latin)","Kanuri" }, + { wxLANGUAGE_KANURI_LATIN_NIGERIA, "kr-Latn-NG" , "kr_NG@latin" , "" , 0x71, 0x01, wxLayout_LeftToRight, "Kanuri (Latin, Nigeria)","Kanuri (Nigeria)" }, + { wxLANGUAGE_KASHMIRI, "ks" , "ks" , "ks_IN" , 0x00, 0x04, wxLayout_RightToLeft, "Kashmiri","\332\251\331\262\330\264\331\217\330\261" }, + { wxLANGUAGE_KASHMIRI_ARABIC, "ks-Arab" , "ks@arabic" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Kashmiri (Arabic)","\332\251\331\262\330\264\331\217\330\261 (\330\247\331\216\330\261\330\250\333\214)" }, + { wxLANGUAGE_KASHMIRI_ARABIC_INDIA, "ks-Arab-IN" , "ks_IN@arabic" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Kashmiri (Arabic)","\332\251\331\262\330\264\331\217\330\261 (\330\247\331\216\330\261\330\250\333\214)" }, + { wxLANGUAGE_KASHMIRI_DEVANAGARI, "ks-Deva" , "ks@devanagari" , "" , 0x60, 0x02, wxLayout_LeftToRight, "Kashmiri (Devanagari)","\340\244\225\340\245\211\340\244\266\340\245\201\340\244\260" }, + { wxLANGUAGE_KASHMIRI_DEVANAGARI_INDIA, "ks-Deva-IN" , "ks_IN@devanagari" , "" , 0x60, 0x02, wxLayout_LeftToRight, "Kashmiri (Devanagari)","\340\244\225\340\245\211\340\244\266\340\245\201\340\244\260 (India)" }, + { wxLANGUAGE_KASHMIRI_INDIA, "ks-IN" , "ks_IN" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Kashmiri (India)","\332\251\330\264\331\210\330\261 (\330\250\332\276\330\247\330\261\330\252)" }, + { wxLANGUAGE_KAZAKH, "kk" , "kk" , "kk_KZ" , 0x3f, 0x01, wxLayout_LeftToRight, "Kazakh","\322\233\320\260\320\267\320\260\322\233 \321\202\321\226\320\273\321\226" }, + { wxLANGUAGE_KAZAKH_KAZAKHSTAN, "kk-KZ" , "kk_KZ" , "" , 0x3f, 0x01, wxLayout_LeftToRight, "Kazakh (Kazakhstan)","\322\233\320\260\320\267\320\260\322\233 \321\202\321\226\320\273\321\226 (\322\232\320\260\320\267\320\260\322\233\321\201\321\202\320\260\320\275)" }, + { wxLANGUAGE_KHMER, "km" , "km" , "km_KH" , 0x53, 0x01, wxLayout_LeftToRight, "Khmer","\341\236\201\341\237\222\341\236\230\341\237\202\341\236\232" }, + { wxLANGUAGE_KHMER_CAMBODIA, "km-KH" , "km_KH" , "" , 0x53, 0x01, wxLayout_LeftToRight, "Khmer (Cambodia)","\341\236\201\341\237\222\341\236\230\341\237\202\341\236\232 (\341\236\200\341\236\230\341\237\222\341\236\226\341\236\273\341\236\207\341\236\266)" }, + { wxLANGUAGE_KICHE, "quc" , "quc" , "" , 0x86, 0x01, wxLayout_LeftToRight, "K\312\274iche\312\274","K\312\274iche\312\274" }, + { wxLANGUAGE_KICHE_LATIN, "quc-Latn" , "quc@latin" , "" , 0x86, 0x01, wxLayout_LeftToRight, "K\312\274iche\312\274 (Latin)","K\312\274iche\312\274" }, + { wxLANGUAGE_KICHE_LATIN_GUATEMALA, "quc-Latn-GT" , "quc_GT@latin" , "" , 0x86, 0x01, wxLayout_LeftToRight, "K\312\274iche\312\274 (Latin, Guatemala)","K\312\274iche\312\274 (Guatemala)" }, + { wxLANGUAGE_KIKUYU, "ki" , "ki" , "ki_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Kikuyu","Gikuyu" }, + { wxLANGUAGE_KIKUYU_KENYA, "ki-KE" , "ki_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kikuyu (Kenya)","Gikuyu (Kenya)" }, + { wxLANGUAGE_KINYARWANDA, "rw" , "rw" , "rw_RW" , 0x87, 0x01, wxLayout_LeftToRight, "Kinyarwanda","Kinyarwanda" }, + { wxLANGUAGE_KINYARWANDA_RWANDA, "rw-RW" , "rw_RW" , "" , 0x87, 0x01, wxLayout_LeftToRight, "Kinyarwanda (Rwanda)","Kinyarwanda (U Rwanda)" }, + { wxLANGUAGE_KIRGHIZ, "ky" , "ky" , "ky_KG" , 0x40, 0x01, wxLayout_LeftToRight, "Kyrgyz","\320\272\321\213\321\200\320\263\321\213\320\267\321\207\320\260" }, + { wxLANGUAGE_KIRGHIZ_KYRGYZSTAN, "ky-KG" , "ky_KG" , "" , 0x40, 0x01, wxLayout_LeftToRight, "Kyrgyz (Kyrgyzstan)","\320\272\321\213\321\200\320\263\321\213\320\267\321\207\320\260 (\320\232\321\213\321\200\320\263\321\213\320\267\321\201\321\202\320\260\320\275)" }, + { wxLANGUAGE_KIRUNDI, "rn" , "rn" , "rn_BI" , 0x00, 0x04, wxLayout_LeftToRight, "Rundi","Ikirundi" }, + { wxLANGUAGE_KIRUNDI_BURUNDI, "rn-BI" , "rn_BI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Rundi (Burundi)","Ikirundi (Uburundi)" }, + { wxLANGUAGE_KONKANI, "kok" , "kok" , "kok_IN" , 0x57, 0x01, wxLayout_LeftToRight, "Konkani","\340\244\225\340\245\213\340\244\202\340\244\225\340\244\243\340\245\200" }, + { wxLANGUAGE_KONKANI_INDIA, "kok-IN" , "kok_IN" , "" , 0x57, 0x01, wxLayout_LeftToRight, "Konkani (India)","\340\244\225\340\245\213\340\244\202\340\244\225\340\244\243\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, + { wxLANGUAGE_KOREAN, "ko" , "ko" , "ko_KR" , 0x12, 0x01, wxLayout_LeftToRight, "Korean","\355\225\234\352\265\255\354\226\264" }, + { wxLANGUAGE_KOREAN_KOREA, "ko-KR" , "ko_KR" , "" , 0x12, 0x01, wxLayout_LeftToRight, "Korean (Korea)","\355\225\234\352\265\255\354\226\264(\353\214\200\355\225\234\353\257\274\352\265\255)" }, + { wxLANGUAGE_KOREAN_NORTH_KOREA, "ko-KP" , "ko_KP" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Korean (North Korea)","\355\225\234\352\265\255\354\226\264 (\354\241\260\354\204\240\353\257\274\354\243\274\354\243\274\354\235\230\354\235\270\353\257\274\352\263\265\355\231\224\352\265\255)" }, + { wxLANGUAGE_KOYRABORO_SENNI, "ses" , "ses" , "ses_ML" , 0x00, 0x04, wxLayout_LeftToRight, "Koyraboro Senni","Koyraboro senni" }, + { wxLANGUAGE_KOYRABORO_SENNI_MALI, "ses-ML" , "ses_ML" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Koyraboro Senni (Mali)","Koyraboro senni (Maali)" }, + { wxLANGUAGE_KOYRA_CHIINI, "khq" , "khq" , "khq_ML" , 0x00, 0x04, wxLayout_LeftToRight, "Koyra Chiini","Koyra ciini" }, + { wxLANGUAGE_KOYRA_CHIINI_MALI, "khq-ML" , "khq_ML" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Koyra Chiini (Mali)","Koyra ciini (Maali)" }, + { wxLANGUAGE_KURDISH, "ku-TR" , "ku_TR" , "" , 0 , 0 , wxLayout_LeftToRight, "Kurdish","Kurd\303\256" }, + { wxLANGUAGE_KURDISH_ARABIC_IRAN, "ku-Arab-IR" , "ku_IR@arabic" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Kurdish (Arabic, Iran)","\332\251\331\210\330\261\330\257\333\214 (\330\246\333\216\330\261\330\247\331\206)" }, + { wxLANGUAGE_KWASIO, "nmg" , "nmg" , "nmg_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Kwasio","Kwasio" }, + { wxLANGUAGE_KWASIO_CAMEROON, "nmg-CM" , "nmg_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kwasio (Cameroon)","Kwasio (Kamerun)" }, + { wxLANGUAGE_LAKOTA, "lkt" , "lkt" , "lkt_US" , 0x00, 0x04, wxLayout_LeftToRight, "Lakota","Lak\310\237\303\263l\312\274iyapi" }, + { wxLANGUAGE_LAKOTA_US, "lkt-US" , "lkt_US" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Lakota (United States)","Lak\310\237\303\263l\312\274iyapi (M\303\255laha\305\213ska T\310\237am\303\241k\310\237o\304\215he)" }, + { wxLANGUAGE_LANGI, "lag" , "lag" , "lag_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Langi","K\311\250laangi" }, + { wxLANGUAGE_LANGI_TANZANIA, "lag-TZ" , "lag_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Langi (Tanzania)","K\311\250laangi (Taansan\303\255a)" }, + { wxLANGUAGE_LAOTHIAN, "lo" , "lo" , "lo_LA" , 0x54, 0x01, wxLayout_LeftToRight, "Lao","\340\272\245\340\272\262\340\272\247" }, + { wxLANGUAGE_LAOTHIAN_LAOS, "lo-LA" , "lo_LA" , "" , 0x54, 0x01, wxLayout_LeftToRight, "Lao (Laos)","\340\272\245\340\272\262\340\272\247 (\340\272\245\340\272\262\340\272\247)" }, + { wxLANGUAGE_LATIN, "la" , "la" , "la_VA" , 0x76, 0x01, wxLayout_LeftToRight, "Latin","Latina" }, + { wxLANGUAGE_LATIN_VATICAN_CITY, "la-VA" , "la_VA" , "" , 0x76, 0x01, wxLayout_LeftToRight, "Latin (Vatican City)","Latina (Civitas Vaticana)" }, + { wxLANGUAGE_LATIN_WORLD, "la-001" , "la_001" , "" , 0x76, 0x01, wxLayout_LeftToRight, "Latin (World)","Latina (Mundus)" }, + { wxLANGUAGE_LATVIAN, "lv" , "lv" , "lv_LV" , 0x26, 0x01, wxLayout_LeftToRight, "Latvian","latvie\305\241u" }, + { wxLANGUAGE_LATVIAN_LATVIA, "lv-LV" , "lv_LV" , "" , 0x26, 0x01, wxLayout_LeftToRight, "Latvian (Latvia)","latvie\305\241u (Latvija)" }, + { wxLANGUAGE_LINGALA, "ln" , "ln" , "ln_CD" , 0x00, 0x04, wxLayout_LeftToRight, "Lingala","ling\303\241la" }, + { wxLANGUAGE_LINGALA_ANGOLA, "ln-AO" , "ln_AO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Lingala (Angola)","ling\303\241la (Ang\303\263la)" }, + { wxLANGUAGE_LINGALA_CENTRAL_AFRICAN_REPUBLIC, "ln-CF" , "ln_CF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Lingala (Central African Republic)","ling\303\241la (Repibiki ya Afr\303\255ka ya K\303\241ti)" }, + { wxLANGUAGE_LINGALA_CONGO, "ln-CG" , "ln_CG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Lingala (Congo)","ling\303\241la (Kongo)" }, + { wxLANGUAGE_LINGALA_CONGO_DRC, "ln-CD" , "ln_CD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Lingala (Congo DRC)","ling\303\241la (Republ\303\255ki ya Kong\303\263 Demokrat\303\255ki)" }, + { wxLANGUAGE_LITHUANIAN, "lt" , "lt" , "lt_LT" , 0x27, 0x01, wxLayout_LeftToRight, "Lithuanian","lietuvi\305\263" }, + { wxLANGUAGE_LITHUANIAN_LITHUANIA, "lt-LT" , "lt_LT" , "" , 0x27, 0x01, wxLayout_LeftToRight, "Lithuanian (Lithuania)","lietuvi\305\263 (Lietuva)" }, + { wxLANGUAGE_LOWER_SORBIAN, "dsb" , "dsb" , "dsb_DE" , 0x2e, 0x02, wxLayout_LeftToRight, "Lower Sorbian","dolnoserb\305\241\304\207ina" }, + { wxLANGUAGE_LOWER_SORBIAN_GERMANY, "dsb-DE" , "dsb_DE" , "" , 0x2e, 0x02, wxLayout_LeftToRight, "Lower Sorbian (Germany)","dolnoserb\305\241\304\207ina (Nimska)" }, + { wxLANGUAGE_LOW_GERMAN, "nds" , "nds" , "nds_DE" , 0x00, 0x04, wxLayout_LeftToRight, "Low German","Neddersass\342\200\231sch" }, + { wxLANGUAGE_LOW_GERMAN_GERMANY, "nds-DE" , "nds_DE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Low German (Germany)","Neddersass\342\200\231sch (D\303\274\303\274tschland)" }, + { wxLANGUAGE_LOW_GERMAN_NETHERLANDS, "nds-NL" , "nds_NL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Low German (Netherlands)","Neddersass\342\200\231sch (Nedderlannen)" }, + { wxLANGUAGE_LUBA_KATANGA, "lu" , "lu" , "lu_CD" , 0x00, 0x04, wxLayout_LeftToRight, "Luba-Katanga","Tshiluba" }, + { wxLANGUAGE_LUBA_KATANGA_CONGO_DRC, "lu-CD" , "lu_CD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Luba-Katanga (Congo DRC)","Tshiluba (Ditunga wa Kongu)" }, + { wxLANGUAGE_LUO, "luo" , "luo" , "luo_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Luo","Dholuo" }, + { wxLANGUAGE_LUO_KENYA, "luo-KE" , "luo_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Luo (Kenya)","Dholuo (Kenya)" }, + { wxLANGUAGE_LUXEMBOURGISH, "lb" , "lb" , "lb_LU" , 0x6e, 0x01, wxLayout_LeftToRight, "Luxembourgish","L\303\253tzebuergesch" }, + { wxLANGUAGE_LUXEMBOURGISH_LUXEMBOURG, "lb-LU" , "lb_LU" , "" , 0x6e, 0x01, wxLayout_LeftToRight, "Luxembourgish (Luxembourg)","L\303\253tzebuergesch (L\303\253tzebuerg)" }, + { wxLANGUAGE_LUYIA, "luy" , "luy" , "luy_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Luyia","Luluhia" }, + { wxLANGUAGE_LUYIA_KENYA, "luy-KE" , "luy_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Luyia (Kenya)","Luluhia (Kenya)" }, + { wxLANGUAGE_MACEDONIAN, "mk" , "mk" , "mk_MK" , 0x2f, 0x01, wxLayout_LeftToRight, "Macedonian","\320\274\320\260\320\272\320\265\320\264\320\276\320\275\321\201\320\272\320\270" }, + { wxLANGUAGE_MACEDONIAN_NORTH_MACEDONIA, "mk-MK" , "mk_MK" , "" , 0x2f, 0x01, wxLayout_LeftToRight, "Macedonian (North Macedonia)","\320\274\320\260\320\272\320\265\320\264\320\276\320\275\321\201\320\272\320\270 (\320\241\320\265\320\262\320\265\321\200\320\275\320\260 \320\234\320\260\320\272\320\265\320\264\320\276\320\275\320\270\321\230\320\260)" }, + { wxLANGUAGE_MACHAME, "jmc" , "jmc" , "jmc_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Machame","Kimachame" }, + { wxLANGUAGE_MACHAME_TANZANIA, "jmc-TZ" , "jmc_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Machame (Tanzania)","Kimachame (Tanzania)" }, + { wxLANGUAGE_MAITHILI, "mai" , "mai" , "mai_IN" , 0x00, 0x04, wxLayout_LeftToRight, "Maithili","\340\244\256\340\245\210\340\244\245\340\244\277\340\244\262\340\245\200" }, + { wxLANGUAGE_MAITHILI_INDIA, "mai-IN" , "mai_IN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Maithili (India)","\340\244\256\340\245\210\340\244\245\340\244\277\340\244\262\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, + { wxLANGUAGE_MAKHUWA_MEETTO, "mgh" , "mgh" , "mgh_MZ" , 0x00, 0x04, wxLayout_LeftToRight, "Makhuwa-Meetto","Makua" }, + { wxLANGUAGE_MAKHUWA_MEETTO_MOZAMBIQUE, "mgh-MZ" , "mgh_MZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Makhuwa-Meetto (Mozambique)","Makua (Umozambiki)" }, + { wxLANGUAGE_MAKONDE, "kde" , "kde" , "kde_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Makonde","Chimakonde" }, + { wxLANGUAGE_MAKONDE_TANZANIA, "kde-TZ" , "kde_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Makonde (Tanzania)","Chimakonde (Tanzania)" }, + { wxLANGUAGE_MALAGASY, "mg" , "mg" , "mg_MG" , 0x00, 0x04, wxLayout_LeftToRight, "Malagasy","Malagasy" }, + { wxLANGUAGE_MALAGASY_MADAGASCAR, "mg-MG" , "mg_MG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Malagasy (Madagascar)","Malagasy (Madagasikara)" }, + { wxLANGUAGE_MALAY, "ms" , "ms" , "ms_MY" , 0x3e, 0x01, wxLayout_LeftToRight, "Malay","Melayu" }, + { wxLANGUAGE_MALAYALAM, "ml" , "ml" , "ml_IN" , 0x4c, 0x01, wxLayout_LeftToRight, "Malayalam","\340\264\256\340\264\262\340\264\257\340\264\276\340\264\263\340\264\202" }, + { wxLANGUAGE_MALAYALAM_INDIA, "ml-IN" , "ml_IN" , "" , 0x4c, 0x01, wxLayout_LeftToRight, "Malayalam (India)","\340\264\256\340\264\262\340\264\257\340\264\276\340\264\263\340\264\202 (\340\264\207\340\264\250\340\265\215\340\264\244\340\265\215\340\264\257)" }, + { wxLANGUAGE_MALAY_BRUNEI, "ms-BN" , "ms_BN" , "" , 0x3e, 0x02, wxLayout_LeftToRight, "Malay (Brunei)","Melayu (Brunei)" }, + { wxLANGUAGE_MALAY_INDONESIA, "ms-ID" , "ms_ID" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Malay (Indonesia)","Melayu (Indonesia)" }, + { wxLANGUAGE_MALAY_MALAYSIA, "ms-MY" , "ms_MY" , "" , 0x3e, 0x01, wxLayout_LeftToRight, "Malay (Malaysia)","Melayu (Malaysia)" }, + { wxLANGUAGE_MALAY_SINGAPORE, "ms-SG" , "ms_SG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Malay (Singapore)","Melayu (Singapura)" }, + { wxLANGUAGE_MALTESE, "mt" , "mt" , "mt_MT" , 0x3a, 0x01, wxLayout_LeftToRight, "Maltese","Malti" }, + { wxLANGUAGE_MALTESE_MALTA, "mt-MT" , "mt_MT" , "" , 0x3a, 0x01, wxLayout_LeftToRight, "Maltese (Malta)","Malti (Malta)" }, + { wxLANGUAGE_MANIPURI, "mni" , "mni" , "mni_IN" , 0x58, 0x01, wxLayout_LeftToRight, "Manipuri","\340\246\256\340\247\210\340\246\244\340\247\210\340\246\262\340\247\213\340\246\250\340\247\215" }, + { wxLANGUAGE_MANIPURI_BENGALI, "mni-Beng" , "mni@bengali" , "" , 0x58, 0x01, wxLayout_LeftToRight, "Manipuri (Bangla)","\340\246\256\340\247\210\340\246\244\340\247\210\340\246\262\340\247\213\340\246\250\340\247\215" }, + { wxLANGUAGE_MANIPURI_INDIA, "mni-IN" , "mni_IN" , "" , 0x58, 0x01, wxLayout_LeftToRight, "Manipuri (Bangla, India)","\340\246\256\340\247\210\340\246\244\340\247\210\340\246\262\340\247\213\340\246\250\340\247\215 (\340\246\207\340\246\250\340\247\215\340\246\246\340\246\277\340\246\257\340\246\274\340\246\276)" }, + { wxLANGUAGE_MANX, "gv" , "gv" , "gv_IM" , 0x00, 0x04, wxLayout_LeftToRight, "Manx","Gaelg" }, + { wxLANGUAGE_MANX_ISLE_OF_MAN, "gv-IM" , "gv_IM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Manx (Isle of Man)","Gaelg (Ellan Vannin)" }, + { wxLANGUAGE_MAORI, "mi" , "mi" , "mi_NZ" , 0x81, 0x01, wxLayout_LeftToRight, "Maori","te reo M\304\201ori" }, + { wxLANGUAGE_MAORI_NEW_ZEALAND, "mi-NZ" , "mi_NZ" , "" , 0x81, 0x01, wxLayout_LeftToRight, "Maori (New Zealand)","te reo M\304\201ori (Aotearoa)" }, + { wxLANGUAGE_MAPUCHE, "arn" , "arn" , "arn_CL" , 0x7a, 0x01, wxLayout_LeftToRight, "Mapuche","Mapudungun" }, + { wxLANGUAGE_MAPUCHE_CHILE, "arn-CL" , "arn_CL" , "" , 0x7a, 0x01, wxLayout_LeftToRight, "Mapuche (Chile)","Mapudungun (Chile)" }, + { wxLANGUAGE_MARATHI, "mr" , "mr" , "mr_IN" , 0x4e, 0x01, wxLayout_LeftToRight, "Marathi","\340\244\256\340\244\260\340\244\276\340\244\240\340\245\200" }, + { wxLANGUAGE_MARATHI_INDIA, "mr-IN" , "mr_IN" , "" , 0x4e, 0x01, wxLayout_LeftToRight, "Marathi (India)","\340\244\256\340\244\260\340\244\276\340\244\240\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, + { wxLANGUAGE_MASAI, "mas" , "mas" , "mas_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Masai","Maa" }, + { wxLANGUAGE_MASAI_KENYA, "mas-KE" , "mas_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Masai (Kenya)","Maa (Kenya)" }, + { wxLANGUAGE_MASAI_TANZANIA, "mas-TZ" , "mas_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Masai (Tanzania)","Maa (Tansania)" }, + { wxLANGUAGE_MAZANDERANI, "mzn" , "mzn" , "mzn_IR" , 0x00, 0x04, wxLayout_RightToLeft, "Mazanderani","\331\205\330\247\330\262\330\261\331\210\331\206\333\214" }, + { wxLANGUAGE_MAZANDERANI_IRAN, "mzn-IR" , "mzn_IR" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Mazanderani (Iran)","\331\205\330\247\330\262\330\261\331\210\331\206\333\214 (\330\247\333\214\330\261\330\247\331\206)" }, + { wxLANGUAGE_MERU, "mer" , "mer" , "mer_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Meru","K\304\251m\304\251r\305\251" }, + { wxLANGUAGE_MERU_KENYA, "mer-KE" , "mer_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Meru (Kenya)","K\304\251m\304\251r\305\251 (Kenya)" }, + { wxLANGUAGE_META, "mgo" , "mgo" , "mgo_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Meta\312\274","meta\312\274" }, + { wxLANGUAGE_META_CAMEROON, "mgo-CM" , "mgo_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Meta\312\274 (Cameroon)","meta\312\274 (Kamalun)" }, + { wxLANGUAGE_MOHAWK, "moh" , "moh" , "moh_CA" , 0x7c, 0x01, wxLayout_LeftToRight, "Mohawk","Kanien\312\274k\303\251ha" }, + { wxLANGUAGE_MOHAWK_CANADA, "moh-CA" , "moh_CA" , "" , 0x7c, 0x01, wxLayout_LeftToRight, "Mohawk (Canada)","Kanien\312\274k\303\251ha (Canada)" }, + { wxLANGUAGE_MOLDAVIAN, "mo" , "mo" , "" , 0 , 0 , wxLayout_LeftToRight, "Moldavian","\320\273\320\270\320\274\320\261\320\260 \320\274\320\276\320\273\320\264\320\276\320\262\320\265\320\275\321\217\321\201\320\272\321\215" }, + { wxLANGUAGE_MONGOLIAN, "mn" , "mn" , "mn_MN" , 0x50, 0x01, wxLayout_LeftToRight, "Mongolian","\320\234\320\276\320\275\320\263\320\276\320\273\302\240\321\205\321\215\320\273" }, + { wxLANGUAGE_MONGOLIAN_CYRILLIC, "mn-Cyrl" , "mn@cyrillic" , "" , 0x50, 0x01, wxLayout_LeftToRight, "Mongolian","\320\234\320\276\320\275\320\263\320\276\320\273\302\240\321\205\321\215\320\273 (\320\232\320\270\321\200\320\270\320\273\320\273 \322\257\321\201\321\215\320\263)" }, + { wxLANGUAGE_MONGOLIAN_MONGOLIA, "mn-MN" , "mn_MN" , "" , 0x50, 0x01, wxLayout_LeftToRight, "Mongolian (Mongolia)","\320\274\320\276\320\275\320\263\320\276\320\273 (\320\234\320\276\320\275\320\263\320\276\320\273)" }, + { wxLANGUAGE_MONGOLIAN_TRADITIONAL, "mn-Mong" , "mn@mongolian" , "" , 0x50, 0x02, wxLayout_LeftToRight, "Mongolian (Traditional Mongolian)","\341\240\256\341\240\243\341\240\251\341\240\255\341\240\243\341\240\244\341\240\257 \341\240\254\341\240\241\341\240\257\341\240\241 (\341\240\256\341\240\243\341\240\251\341\240\255\341\240\243\341\240\244\341\240\257 \341\240\254\341\240\241\341\240\257\341\240\241)" }, + { wxLANGUAGE_MONGOLIAN_TRADITIONAL_CHINA, "mn-Mong-CN" , "mn_CN@mongolian" , "" , 0x50, 0x02, wxLayout_LeftToRight, "Mongolian (Traditional Mongolian, China)","\341\240\256\341\240\243\341\240\251\341\240\255\341\240\243\341\240\244\341\240\257 \341\240\254\341\240\241\341\240\257\341\240\241 (\341\240\252\341\240\246\341\240\255\341\240\246\341\240\263\341\240\241 \341\240\250\341\240\240\341\240\242\341\240\267\341\240\240\341\240\256\341\240\263\341\240\240\341\240\254\341\240\244 \341\240\263\341\240\244\341\240\256\341\240\263\341\240\240\341\240\263\341\240\244 \341\240\240\341\240\267\341\240\240\341\240\263 \341\240\243\341\240\257\341\240\243\341\240\260)" }, + { wxLANGUAGE_MONGOLIAN_TRADITIONAL_MONGOLIA, "mn-Mong-MN" , "mn_MN@mongolian" , "" , 0x50, 0x03, wxLayout_LeftToRight, "Mongolian (Traditional Mongolian, Mongolia)","\341\240\256\341\240\243\341\240\251\341\240\255\341\240\243\341\240\257 \341\240\254\341\240\241\341\240\257\341\240\241 (\341\240\256\341\240\243\341\240\251\341\240\255\341\240\243\341\240\257 \341\240\243\341\240\257\341\240\243\341\240\260)" }, + { wxLANGUAGE_MORISYEN, "mfe" , "mfe" , "mfe_MU" , 0x00, 0x04, wxLayout_LeftToRight, "Morisyen","kreol morisien" }, + { wxLANGUAGE_MORISYEN_MAURITIUS, "mfe-MU" , "mfe_MU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Morisyen (Mauritius)","kreol morisien (Moris)" }, + { wxLANGUAGE_MUNDANG, "mua" , "mua" , "mua_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Mundang","MUNDA\305\212" }, + { wxLANGUAGE_MUNDANG_CAMEROON, "mua-CM" , "mua_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Mundang (Cameroon)","MUNDA\305\212 (kameru\305\213)" }, + { wxLANGUAGE_NAMA, "naq" , "naq" , "naq_NA" , 0x00, 0x04, wxLayout_LeftToRight, "Nama","Khoekhoegowab" }, + { wxLANGUAGE_NAMA_NAMIBIA, "naq-NA" , "naq_NA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Nama (Namibia)","Khoekhoegowab (Namibiab)" }, + { wxLANGUAGE_NAURU, "na" , "na" , "" , 0 , 0 , wxLayout_LeftToRight, "Nauru","Nauru" }, + { wxLANGUAGE_NEPALI, "ne" , "ne" , "ne_NP" , 0x61, 0x01, wxLayout_LeftToRight, "Nepali","\340\244\250\340\245\207\340\244\252\340\244\276\340\244\262\340\245\200" }, + { wxLANGUAGE_NEPALI_INDIA, "ne-IN" , "ne_IN" , "" , 0x61, 0x02, wxLayout_LeftToRight, "Nepali (India)","\340\244\250\340\245\207\340\244\252\340\244\276\340\244\262\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, + { wxLANGUAGE_NEPALI_NEPAL, "ne-NP" , "ne_NP" , "" , 0x61, 0x01, wxLayout_LeftToRight, "Nepali (Nepal)","\340\244\250\340\245\207\340\244\252\340\244\276\340\244\262\340\245\200 (\340\244\250\340\245\207\340\244\252\340\244\276\340\244\262)" }, + { wxLANGUAGE_NGIEMBOON, "nnh" , "nnh" , "nnh_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Ngiemboon","Shw\303\263\305\213\303\262 ngiemb\311\224\311\224n" }, + { wxLANGUAGE_NGIEMBOON_CAMEROON, "nnh-CM" , "nnh_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ngiemboon (Cameroon)","Shw\303\263\305\213\303\262 ngiemb\311\224\311\224n (K\303\240mal\303\273m)" }, + { wxLANGUAGE_NGOMBA, "jgo" , "jgo" , "jgo_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Ngomba","Nda\352\236\214a" }, + { wxLANGUAGE_NGOMBA_CAMEROON, "jgo-CM" , "jgo_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ngomba (Cameroon)","Nda\352\236\214a (Kam\311\233l\303\273n)" }, + { wxLANGUAGE_NIGERIAN_PIDGIN, "pcm" , "pcm" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Nigerian Pidgin","Naij\303\255ri\303\241 P\303\255jin" }, + { wxLANGUAGE_NIGERIAN_PIDGIN_LATIN, "pcm-Latn" , "pcm@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Nigerian Pidgin (Latin)","Naij\303\255ri\303\241 P\303\255jin (L\303\241tin)" }, + { wxLANGUAGE_NIGERIAN_PIDGIN_LATIN_NIGERIA, "pcm-Latn-NG" , "pcm_NG@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Nigerian Pidgin (Latin, Nigeria)","Naij\303\255ri\303\241 P\303\255jin (Naij\303\255ria)" }, + { wxLANGUAGE_NKO, "nqo" , "nqo" , "nqo_GN" , 0x00, 0x04, wxLayout_RightToLeft, "N'ko","\337\222\337\236\337\217" }, + { wxLANGUAGE_NKO_GUINEA, "nqo-GN" , "nqo_GN" , "" , 0x00, 0x04, wxLayout_RightToLeft, "N'ko (Guinea)","\337\222\337\236\337\217 (\337\226\337\214\337\254\337\243\337\215\337\254 \337\236\337\212\337\262\337\223\337\215\337\262)" }, + { wxLANGUAGE_NORTHERN_LURI, "lrc" , "lrc" , "lrc_IR" , 0x00, 0x04, wxLayout_RightToLeft, "Northern Luri","\331\204\333\212\330\261\333\214 \330\264\331\210\331\205\330\247\331\204\333\214" }, + { wxLANGUAGE_NORTHERN_LURI_IRAN, "lrc-IR" , "lrc_IR" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Northern Luri (Iran)","\331\204\333\212\330\261\333\214 \330\264\331\210\331\205\330\247\331\204\333\214 (Iran)" }, + { wxLANGUAGE_NORTHERN_LURI_IRAQ, "lrc-IQ" , "lrc_IQ" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Northern Luri (Iraq)","\331\204\333\212\330\261\333\214 \330\264\331\210\331\205\330\247\331\204\333\214 (Iraq)" }, + { wxLANGUAGE_NORTH_NDEBELE, "nd" , "nd" , "nd_ZW" , 0x00, 0x04, wxLayout_LeftToRight, "North Ndebele","isiNdebele" }, + { wxLANGUAGE_NORTH_NDEBELE_ZIMBABWE, "nd-ZW" , "nd_ZW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "North Ndebele (Zimbabwe)","isiNdebele (Zimbabwe)" }, + { wxLANGUAGE_NORWEGIAN, "no" , "no" , "" , 0x14, 0x01, wxLayout_LeftToRight, "Norwegian","norsk" }, + { wxLANGUAGE_NORWEGIAN_BOKMAL, "nb" , "nb" , "nb_NO" , 0x14, 0x01, wxLayout_LeftToRight, "Norwegian Bokm\303\245l","norsk bokm\303\245l" }, + { wxLANGUAGE_NORWEGIAN_BOKMAL_NORWAY, "nb-NO" , "nb_NO" , "" , 0x14, 0x01, wxLayout_LeftToRight, "Norwegian Bokm\303\245l (Norway)","norsk bokm\303\245l (Norge)" }, + { wxLANGUAGE_NORWEGIAN_BOKMAL_SVALBARD_AND_JAN_MAYEN, "nb-SJ" , "nb_SJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Norwegian Bokm\303\245l (Svalbard and Jan Mayen)","norsk bokm\303\245l (Svalbard og Jan Mayen)" }, + { wxLANGUAGE_NORWEGIAN_NYNORSK, "nn" , "nn" , "nn_NO" , 0x14, 0x02, wxLayout_LeftToRight, "Norwegian Nynorsk","norsk nynorsk" }, + { wxLANGUAGE_NORWEGIAN_NYNORSK_NORWAY, "nn-NO" , "nn_NO" , "" , 0x14, 0x02, wxLayout_LeftToRight, "Norwegian Nynorsk (Norway)","norsk nynorsk (Noreg)" }, + { wxLANGUAGE_NUER, "nus" , "nus" , "nus_SS" , 0x00, 0x04, wxLayout_LeftToRight, "Nuer","Thok Nath" }, + { wxLANGUAGE_NUER_SOUTH_SUDAN, "nus-SS" , "nus_SS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Nuer (South Sudan)","Thok Nath (South Sudan)" }, + { wxLANGUAGE_NYANKOLE, "nyn" , "nyn" , "nyn_UG" , 0x00, 0x04, wxLayout_LeftToRight, "Nyankole","Runyankore" }, + { wxLANGUAGE_NYANKOLE_UGANDA, "nyn-UG" , "nyn_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Nyankole (Uganda)","Runyankore (Uganda)" }, + { wxLANGUAGE_OCCITAN, "oc" , "oc" , "oc_FR" , 0x82, 0x01, wxLayout_LeftToRight, "Occitan","occitan" }, + { wxLANGUAGE_OCCITAN_FRANCE, "oc-FR" , "oc_FR" , "" , 0x82, 0x01, wxLayout_LeftToRight, "Occitan (France)","occitan (Fran\303\247a)" }, + { wxLANGUAGE_ODIA, "or" , "or" , "or_IN" , 0x48, 0x01, wxLayout_LeftToRight, "Odia","\340\254\223\340\254\241\340\254\274\340\254\277\340\254\206" }, + { wxLANGUAGE_ODIA_INDIA, "or-IN" , "or_IN" , "" , 0x48, 0x01, wxLayout_LeftToRight, "Odia (India)","\340\254\223\340\254\241\340\254\274\340\254\277\340\254\206 (\340\254\255\340\254\276\340\254\260\340\254\244)" }, + { wxLANGUAGE_OROMO, "om" , "om" , "om_ET" , 0x72, 0x01, wxLayout_LeftToRight, "Oromo","Oromoo" }, + { wxLANGUAGE_OROMO_ETHIOPIA, "om-ET" , "om_ET" , "" , 0x72, 0x01, wxLayout_LeftToRight, "Oromo (Ethiopia)","Oromoo (Itoophiyaa)" }, + { wxLANGUAGE_OROMO_KENYA, "om-KE" , "om_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Oromo (Kenya)","Oromoo (Keeniyaa)" }, + { wxLANGUAGE_OSSETIC, "os" , "os" , "os_GE" , 0x00, 0x04, wxLayout_LeftToRight, "Ossetic","\320\270\321\200\320\276\320\275" }, + { wxLANGUAGE_OSSETIC_GEORGIA, "os-GE" , "os_GE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ossetic (Georgia)","\320\270\321\200\320\276\320\275 (\320\223\321\203\321\213\321\200\320\264\320\267\321\213\321\201\321\202\320\276\320\275)" }, + { wxLANGUAGE_OSSETIC_RUSSIA, "os-RU" , "os_RU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ossetic (Russia)","\320\270\321\200\320\276\320\275 (\320\243\323\225\321\200\323\225\321\201\320\265)" }, + { wxLANGUAGE_PAPIAMENTO, "pap" , "pap" , "" , 0x79, 0x01, wxLayout_LeftToRight, "Papiamento","Papiamentu" }, + { wxLANGUAGE_PAPIAMENTO_CARIBBEAN, "pap-029" , "pap_029" , "" , 0x79, 0x01, wxLayout_LeftToRight, "Papiamento (Caribbean)","Papiamentu (Caribbean)" }, + { wxLANGUAGE_PASHTO, "ps" , "ps" , "ps_AF" , 0x63, 0x01, wxLayout_RightToLeft, "Pashto","\331\276\332\232\330\252\331\210" }, + { wxLANGUAGE_PASHTO_AFGHANISTAN, "ps-AF" , "ps_AF" , "" , 0x63, 0x01, wxLayout_RightToLeft, "Pashto (Afghanistan)","\331\276\332\232\330\252\331\210 (\330\247\331\201\330\272\330\247\331\206\330\263\330\252\330\247\331\206)" }, + { wxLANGUAGE_PASHTO_PAKISTAN, "ps-PK" , "ps_PK" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Pashto (Pakistan)","\331\276\332\232\330\252\331\210 (\331\276\330\247\332\251\330\263\330\252\330\247\331\206)" }, + { wxLANGUAGE_PERSIAN, "fa" , "fa" , "fa_IR" , 0x29, 0x01, wxLayout_RightToLeft, "Persian","\331\201\330\247\330\261\330\263\333\214" }, + { wxLANGUAGE_PERSIAN_AFGHANISTAN, "fa-AF" , "fa_AF" , "" , 0x8c, 0x01, wxLayout_RightToLeft, "Persian (Afghanistan)","\331\201\330\247\330\261\330\263\333\214 (\330\247\331\201\330\272\330\247\331\206\330\263\330\252\330\247\331\206)" }, + { wxLANGUAGE_PERSIAN_IRAN, "fa-IR" , "fa_IR" , "" , 0x29, 0x01, wxLayout_RightToLeft, "Persian (Iran)","\331\201\330\247\330\261\330\263\333\214 (\330\247\333\214\330\261\330\247\331\206)" }, + { wxLANGUAGE_POLISH, "pl" , "pl" , "pl_PL" , 0x15, 0x01, wxLayout_LeftToRight, "Polish","polski" }, + { wxLANGUAGE_POLISH_POLAND, "pl-PL" , "pl_PL" , "" , 0x15, 0x01, wxLayout_LeftToRight, "Polish (Poland)","polski (Polska)" }, + { wxLANGUAGE_PORTUGUESE, "pt" , "pt" , "pt_PT" , 0x16, 0x02, wxLayout_LeftToRight, "Portuguese","portugu\303\252s" }, + { wxLANGUAGE_PORTUGUESE_ANGOLA, "pt-AO" , "pt_AO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Angola)","portugu\303\252s (Angola)" }, + { wxLANGUAGE_PORTUGUESE_BRAZILIAN, "pt-BR" , "pt_BR" , "" , 0x16, 0x01, wxLayout_LeftToRight, "Portuguese (Brazil)","portugu\303\252s (Brasil)" }, + { wxLANGUAGE_PORTUGUESE_CABO_VERDE, "pt-CV" , "pt_CV" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Cabo Verde)","portugu\303\252s (Cabo Verde)" }, + { wxLANGUAGE_PORTUGUESE_EQUATORIAL_GUINEA, "pt-GQ" , "pt_GQ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Equatorial Guinea)","portugu\303\252s (Guin\303\251 Equatorial)" }, + { wxLANGUAGE_PORTUGUESE_GUINEA_BISSAU, "pt-GW" , "pt_GW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Guinea-Bissau)","portugu\303\252s (Guin\303\251-Bissau)" }, + { wxLANGUAGE_PORTUGUESE_LUXEMBOURG, "pt-LU" , "pt_LU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Luxembourg)","portugu\303\252s (Luxemburgo)" }, + { wxLANGUAGE_PORTUGUESE_MACAO_SAR, "pt-MO" , "pt_MO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Macao SAR)","portugu\303\252s (RAE de Macau)" }, + { wxLANGUAGE_PORTUGUESE_MOZAMBIQUE, "pt-MZ" , "pt_MZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Mozambique)","portugu\303\252s (Mo\303\247ambique)" }, + { wxLANGUAGE_PORTUGUESE_PORTUGAL, "pt-PT" , "pt_PT" , "" , 0x16, 0x02, wxLayout_LeftToRight, "Portuguese (Portugal)","portugu\303\252s (Portugal)" }, + { wxLANGUAGE_PORTUGUESE_SAO_TOME_AND_PRINCIPE, "pt-ST" , "pt_ST" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (S\303\243o Tom\303\251 and Pr\303\255ncipe)","portugu\303\252s (S\303\243o Tom\303\251 e Pr\303\255ncipe)" }, + { wxLANGUAGE_PORTUGUESE_SWITZERLAND, "pt-CH" , "pt_CH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Switzerland)","portugu\303\252s (Su\303\255\303\247a)" }, + { wxLANGUAGE_PORTUGUESE_TIMOR_LESTE, "pt-TL" , "pt_TL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Timor-Leste)","portugu\303\252s (Timor-Leste)" }, + { wxLANGUAGE_PRUSSIAN, "prg" , "prg" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Prussian","pr\305\253siskan" }, + { wxLANGUAGE_PRUSSIAN_WORLD, "prg-001" , "prg_001" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Prussian (World)","pr\305\253siskan (sw\304\253tai)" }, + { wxLANGUAGE_PUNJABI, "pa" , "pa" , "pa_IN" , 0x46, 0x01, wxLayout_LeftToRight, "Punjabi","\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200" }, + { wxLANGUAGE_PUNJABI_ARABIC, "pa-Arab" , "pa@arabic" , "" , 0x46, 0x02, wxLayout_RightToLeft, "Punjabi","\331\276\331\206\330\254\330\247\330\250\333\214" }, + { wxLANGUAGE_PUNJABI_GURMUKHI, "pa-Guru" , "pa@gurmukhi" , "" , 0x46, 0x01, wxLayout_LeftToRight, "Punjabi","\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200" }, + { wxLANGUAGE_PUNJABI_INDIA, "pa-IN" , "pa_IN" , "" , 0x46, 0x01, wxLayout_LeftToRight, "Punjabi (India)","\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200 (\340\250\255\340\250\276\340\250\260\340\250\244)" }, + { wxLANGUAGE_PUNJABI_PAKISTAN, "pa-Arab-PK" , "pa_PK@arabic" , "" , 0x46, 0x02, wxLayout_RightToLeft, "Punjabi (Pakistan)","\331\276\331\206\330\254\330\247\330\250\333\214 (\331\276\330\247\332\251\330\263\330\252\330\247\331\206)" }, + { wxLANGUAGE_QUECHUA, "quz" , "quz" , "quz_BO" , 0x6b, 0x01, wxLayout_LeftToRight, "Quechua","Runasimi" }, + { wxLANGUAGE_QUECHUA_BOLIVIA, "quz-BO" , "quz_BO" , "" , 0x6b, 0x01, wxLayout_LeftToRight, "Quechua (Bolivia)","Runasimi (Bolivia)" }, + { wxLANGUAGE_QUECHUA_ECUADOR, "quz-EC" , "quz_EC" , "" , 0x6b, 0x02, wxLayout_LeftToRight, "Quechua (Ecuador)","Runasimi (Ecuador)" }, + { wxLANGUAGE_QUECHUA_MACRO, "qu" , "qu" , "" , 0 , 0 , wxLayout_LeftToRight, "Quechua","Qhichwa" }, + { wxLANGUAGE_QUECHUA_PERU, "quz-PE" , "quz_PE" , "" , 0x6b, 0x03, wxLayout_LeftToRight, "Quechua (Peru)","Runasimi (Per\303\272)" }, + { wxLANGUAGE_RHAETO_ROMANCE, "rm" , "rm" , "rm_CH" , 0x17, 0x01, wxLayout_LeftToRight, "Romansh","rumantsch" }, + { wxLANGUAGE_RHAETO_ROMANCE_SWITZERLAND, "rm-CH" , "rm_CH" , "" , 0x17, 0x01, wxLayout_LeftToRight, "Romansh (Switzerland)","rumantsch (Svizra)" }, + { wxLANGUAGE_ROMANIAN, "ro" , "ro" , "ro_RO" , 0x18, 0x01, wxLayout_LeftToRight, "Romanian","rom\303\242n\304\203" }, + { wxLANGUAGE_ROMANIAN_MOLDOVA, "ro-MD" , "ro_MD" , "" , 0x18, 0x02, wxLayout_LeftToRight, "Romanian (Moldova)","rom\303\242n\304\203 (Republica Moldova)" }, + { wxLANGUAGE_ROMANIAN_ROMANIA, "ro-RO" , "ro_RO" , "" , 0x18, 0x01, wxLayout_LeftToRight, "Romanian (Romania)","rom\303\242n\304\203 (Rom\303\242nia)" }, + { wxLANGUAGE_ROMBO, "rof" , "rof" , "rof_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Rombo","Kihorombo" }, + { wxLANGUAGE_ROMBO_TANZANIA, "rof-TZ" , "rof_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Rombo (Tanzania)","Kihorombo (Tanzania)" }, + { wxLANGUAGE_RUSSIAN, "ru" , "ru" , "ru_RU" , 0x19, 0x01, wxLayout_LeftToRight, "Russian","\321\200\321\203\321\201\321\201\320\272\320\270\320\271" }, + { wxLANGUAGE_RUSSIAN_BELARUS, "ru-BY" , "ru_BY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Russian (Belarus)","\321\200\321\203\321\201\321\201\320\272\320\270\320\271 (\320\221\320\265\320\273\320\260\321\200\321\203\321\201\321\214)" }, + { wxLANGUAGE_RUSSIAN_KAZAKHSTAN, "ru-KZ" , "ru_KZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Russian (Kazakhstan)","\321\200\321\203\321\201\321\201\320\272\320\270\320\271 (\320\232\320\260\320\267\320\260\321\205\321\201\321\202\320\260\320\275)" }, + { wxLANGUAGE_RUSSIAN_KYRGYZSTAN, "ru-KG" , "ru_KG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Russian (Kyrgyzstan)","\321\200\321\203\321\201\321\201\320\272\320\270\320\271 (\320\232\320\270\321\200\320\263\320\270\320\267\320\270\321\217)" }, + { wxLANGUAGE_RUSSIAN_MOLDOVA, "ru-MD" , "ru_MD" , "" , 0x19, 0x02, wxLayout_LeftToRight, "Russian (Moldova)","\321\200\321\203\321\201\321\201\320\272\320\270\320\271 (\320\234\320\276\320\273\320\264\320\276\320\262\320\260)" }, + { wxLANGUAGE_RUSSIAN_RUSSIA, "ru-RU" , "ru_RU" , "" , 0x19, 0x01, wxLayout_LeftToRight, "Russian (Russia)","\321\200\321\203\321\201\321\201\320\272\320\270\320\271 (\320\240\320\276\321\201\321\201\320\270\321\217)" }, + { wxLANGUAGE_RUSSIAN_UKRAINE, "ru-UA" , "ru_UA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Russian (Ukraine)","\321\200\321\203\321\201\321\201\320\272\320\270\320\271 (\320\243\320\272\321\200\320\260\320\270\320\275\320\260)" }, + { wxLANGUAGE_RWA, "rwk" , "rwk" , "rwk_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Rwa","Kiruwa" }, + { wxLANGUAGE_RWA_TANZANIA, "rwk-TZ" , "rwk_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Rwa (Tanzania)","Kiruwa (Tanzania)" }, + { wxLANGUAGE_SAHO, "ssy" , "ssy" , "ssy_ER" , 0x00, 0x04, wxLayout_LeftToRight, "Saho","Saho" }, + { wxLANGUAGE_SAHO_ERITREA, "ssy-ER" , "ssy_ER" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Saho (Eritrea)","Saho (Eretria)" }, + { wxLANGUAGE_SAKHA, "sah" , "sah" , "sah_RU" , 0x85, 0x01, wxLayout_LeftToRight, "Sakha","\321\201\320\260\321\205\320\260 \321\202\321\213\320\273\320\260" }, + { wxLANGUAGE_SAKHA_RUSSIA, "sah-RU" , "sah_RU" , "" , 0x85, 0x01, wxLayout_LeftToRight, "Sakha (Russia)","\321\201\320\260\321\205\320\260 \321\202\321\213\320\273\320\260 (\320\220\321\200\320\260\321\201\321\201\321\213\321\213\320\271\320\260)" }, + { wxLANGUAGE_SAMBURU, "saq" , "saq" , "saq_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Samburu","Kisampur" }, + { wxLANGUAGE_SAMBURU_KENYA, "saq-KE" , "saq_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Samburu (Kenya)","Kisampur (Kenya)" }, + { wxLANGUAGE_SAMI, "se" , "se" , "se_NO" , 0x3b, 0x01, wxLayout_LeftToRight, "Northern Sami","davvis\303\241megiella" }, + { wxLANGUAGE_SAMI_FINLAND, "se-FI" , "se_FI" , "" , 0x3b, 0x03, wxLayout_LeftToRight, "Sami, Northern (Finland)","davvis\303\241megiella (Suopma)" }, + { wxLANGUAGE_SAMI_INARI, "smn" , "smn" , "smn_FI" , 0x3b, 0x09, wxLayout_LeftToRight, "Sami (Inari)","anar\303\242\305\241kiel\303\242" }, + { wxLANGUAGE_SAMI_INARI_FINLAND, "smn-FI" , "smn_FI" , "" , 0x3b, 0x09, wxLayout_LeftToRight, "Sami, Inari (Finland)","anar\303\242\305\241kiel\303\242 (Suom\303\242)" }, + { wxLANGUAGE_SAMI_LULE, "smj" , "smj" , "smj_SE" , 0x3b, 0x05, wxLayout_LeftToRight, "Sami (Lule)","julevus\303\241megiella" }, + { wxLANGUAGE_SAMI_LULE_NORWAY, "smj-NO" , "smj_NO" , "" , 0x3b, 0x04, wxLayout_LeftToRight, "Sami, Lule (Norway)","julevus\303\241megiella (Vuodna)" }, + { wxLANGUAGE_SAMI_LULE_SWEDEN, "smj-SE" , "smj_SE" , "" , 0x3b, 0x05, wxLayout_LeftToRight, "Sami, Lule (Sweden)","julevus\303\241megiella (Svierik)" }, + { wxLANGUAGE_SAMI_NORWAY, "se-NO" , "se_NO" , "" , 0x3b, 0x01, wxLayout_LeftToRight, "Sami, Northern (Norway)","davvis\303\241megiella (Norga)" }, + { wxLANGUAGE_SAMI_SKOLT, "sms" , "sms" , "sms_FI" , 0x3b, 0x08, wxLayout_LeftToRight, "Sami (Skolt)","s\303\244\303\244\302\264m\307\251i\303\265ll" }, + { wxLANGUAGE_SAMI_SKOLT_FINLAND, "sms-FI" , "sms_FI" , "" , 0x3b, 0x08, wxLayout_LeftToRight, "Sami, Skolt (Finland)","s\303\244\303\244\302\264m\307\251i\303\265ll (L\303\244\303\244\302\264ddj\303\242nnam)" }, + { wxLANGUAGE_SAMI_SOUTHERN, "sma" , "sma" , "sma_SE" , 0x3b, 0x07, wxLayout_LeftToRight, "Sami (Southern)","\303\245arjelsaemieng\303\257ele" }, + { wxLANGUAGE_SAMI_SOUTHERN_NORWAY, "sma-NO" , "sma_NO" , "" , 0x3b, 0x06, wxLayout_LeftToRight, "Sami, Southern (Norway)","\303\245arjelsaemieng\303\257ele (N\303\266\303\266rje)" }, + { wxLANGUAGE_SAMI_SOUTHERN_SWEDEN, "sma-SE" , "sma_SE" , "" , 0x3b, 0x07, wxLayout_LeftToRight, "Sami, Southern (Sweden)","\303\245arjelsaemieng\303\257ele (Sveerje)" }, + { wxLANGUAGE_SAMI_SWEDEN, "se-SE" , "se_SE" , "" , 0x3b, 0x02, wxLayout_LeftToRight, "Sami, Northern (Sweden)","davvis\303\241megiella (Ruo\305\247\305\247a)" }, + { wxLANGUAGE_SAMOAN, "sm" , "sm" , "" , 0 , 0 , wxLayout_LeftToRight, "Samoan","Samoa" }, + { wxLANGUAGE_SANGHO, "sg" , "sg" , "sg_CF" , 0x00, 0x04, wxLayout_LeftToRight, "Sango","S\303\244ng\303\266" }, + { wxLANGUAGE_SANGHO_CENTRAL_AFRICAN_REPUBLIC, "sg-CF" , "sg_CF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sango (Central African Republic)","S\303\244ng\303\266 (K\303\266d\303\266r\303\266s\303\252se t\303\256 B\303\252afr\303\256ka)" }, + { wxLANGUAGE_SANGU, "sbp" , "sbp" , "sbp_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Sangu","Ishisangu" }, + { wxLANGUAGE_SANGU_TANZANIA, "sbp-TZ" , "sbp_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sangu (Tanzania)","Ishisangu (Tansaniya)" }, + { wxLANGUAGE_SANSKRIT, "sa" , "sa" , "sa_IN" , 0x4f, 0x01, wxLayout_LeftToRight, "Sanskrit","\340\244\270\340\244\202\340\244\270\340\245\215\340\244\225\340\245\203\340\244\244 \340\244\255\340\244\276\340\244\267\340\244\276" }, + { wxLANGUAGE_SANSKRIT_INDIA, "sa-IN" , "sa_IN" , "" , 0x4f, 0x01, wxLayout_LeftToRight, "Sanskrit (India)","\340\244\270\340\244\202\340\244\270\340\245\215\340\244\225\340\245\203\340\244\244 \340\244\255\340\244\276\340\244\267\340\244\276 (\340\244\255\340\244\276\340\244\260\340\244\244\340\244\203)" }, + { wxLANGUAGE_SANTALI, "sat" , "sat" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Santali","\341\261\245\341\261\237\341\261\261\341\261\233\341\261\237\341\261\262\341\261\244" }, + { wxLANGUAGE_SANTALI_OL_CHIKI, "sat-Olck" , "sat@ol_chiki" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Santali (Ol Chiki)","\341\261\245\341\261\237\341\261\261\341\261\233\341\261\237\341\261\262\341\261\244 (\341\261\232\341\261\236 \341\261\252\341\261\244\341\261\240\341\261\244)" }, + { wxLANGUAGE_SANTALI_OL_CHIKI_INDIA, "sat-Olck-IN" , "sat_IN@ol_chiki" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Santali (Ol Chiki, India)","\341\261\245\341\261\237\341\261\261\341\261\233\341\261\237\341\261\262\341\261\244 (\341\261\244\341\261\261\341\261\260\341\261\244\341\261\255\341\261\237)" }, + { wxLANGUAGE_SCOTS_GAELIC, "gd" , "gd" , "gd_GB" , 0x91, 0x01, wxLayout_LeftToRight, "Scottish Gaelic","G\303\240idhlig" }, + { wxLANGUAGE_SCOTS_GAELIC_UK, "gd-GB" , "gd_GB" , "" , 0x91, 0x01, wxLayout_LeftToRight, "Scottish Gaelic (United Kingdom)","G\303\240idhlig (An R\303\254oghachd Aonaichte)" }, + { wxLANGUAGE_SENA, "seh" , "seh" , "seh_MZ" , 0x00, 0x04, wxLayout_LeftToRight, "Sena","sena" }, + { wxLANGUAGE_SENA_MOZAMBIQUE, "seh-MZ" , "seh_MZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sena (Mozambique)","sena (Mo\303\247ambique)" }, + { wxLANGUAGE_SERBIAN, "sr" , "sr" , "sr_RS" , 0x1a, 0x01, wxLayout_LeftToRight, "Serbian","srpski" }, + { wxLANGUAGE_SERBIAN_CYRILLIC, "sr-Cyrl" , "sr@cyrillic" , "" , 0x1a, 0x0a, wxLayout_LeftToRight, "Serbian (Cyrillic)","\321\201\321\200\320\277\321\201\320\272\320\270 (\320\213\320\270\321\200\320\270\320\273\320\270\321\206\320\260)" }, + { wxLANGUAGE_SERBIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA, "sr-Cyrl-BA" , "sr_BA@cyrillic" , "" , 0x1a, 0x07, wxLayout_LeftToRight, "Serbian (Cyrillic, Bosnia and Herzegovina)","\321\201\321\200\320\277\321\201\320\272\320\270 (\320\221\320\276\321\201\320\275\320\260 \320\270 \320\245\320\265\321\200\321\206\320\265\320\263\320\276\320\262\320\270\320\275\320\260)" }, + { wxLANGUAGE_SERBIAN_CYRILLIC_KOSOVO, "sr-Cyrl-XK" , "sr_XK@cyrillic" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Serbian (Cyrillic, Kosovo)","\321\201\321\200\320\277\321\201\320\272\320\270 (\320\232\320\276\321\201\320\276\320\262\320\276)" }, + { wxLANGUAGE_SERBIAN_CYRILLIC_MONTENEGRO, "sr-Cyrl-ME" , "sr_ME@cyrillic" , "" , 0x1a, 0x0c, wxLayout_LeftToRight, "Serbian (Cyrillic, Montenegro)","\321\201\321\200\320\277\321\201\320\272\320\270 (\320\246\321\200\320\275\320\260 \320\223\320\276\321\200\320\260)" }, + { wxLANGUAGE_SERBIAN_CYRILLIC_SERBIA, "sr-Cyrl-RS" , "sr_RS@cyrillic" , "" , 0x1a, 0x0a, wxLayout_LeftToRight, "Serbian (Cyrillic, Serbia)","\321\201\321\200\320\277\321\201\320\272\320\270 (\320\241\321\200\320\261\320\270\321\230\320\260)" }, + { wxLANGUAGE_SERBIAN_CYRILLIC_YU, "sr-Cyrl-YU" , "sr_YU@cyrillic" , "" , 0x1a, 0x03, wxLayout_LeftToRight, "Serbian (Cyrillic)","\321\201\321\200\320\277\321\201\320\272\320\270 (\320\241\321\200\320\261\320\270\321\230\320\260)" }, + { wxLANGUAGE_SERBIAN_LATIN, "sr-Latn" , "sr@latin" , "" , 0x1a, 0x09, wxLayout_LeftToRight, "Serbian (Latin)","srpski (latinica)" }, + { wxLANGUAGE_SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA, "sr-Latn-BA" , "sr_BA@latin" , "" , 0x1a, 0x06, wxLayout_LeftToRight, "Serbian (Latin, Bosnia and Herzegovina)","srpski (Bosna i Hercegovina)" }, + { wxLANGUAGE_SERBIAN_LATIN_KOSOVO, "sr-Latn-XK" , "sr_XK@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Serbian (Latin, Kosovo)","srpski (Kosovo)" }, + { wxLANGUAGE_SERBIAN_LATIN_MONTENEGRO, "sr-Latn-ME" , "sr_ME@latin" , "" , 0x1a, 0x0b, wxLayout_LeftToRight, "Serbian (Latin, Montenegro)","srpski (Crna Gora)" }, + { wxLANGUAGE_SERBIAN_LATIN_SERBIA, "sr-Latn-RS" , "sr_RS@latin" , "" , 0x1a, 0x09, wxLayout_LeftToRight, "Serbian (Latin, Serbia)","srpski (Srbija)" }, + { wxLANGUAGE_SERBIAN_LATIN_YU, "sr-Latn-YU" , "sr_YU@latin" , "" , 0x1a, 0x02, wxLayout_LeftToRight, "Serbian (Latin)","srpski (latinica)" }, + { wxLANGUAGE_SERBIAN_SERBIA, "sr-RS" , "sr_RS" , "" , 0x1a, 0x01, wxLayout_LeftToRight, "Serbian (Serbia)","srpski (Srbija)" }, + { wxLANGUAGE_SERBIAN_YU, "sr-YU" , "sr_YU" , "" , 0x1a, 0x01, wxLayout_LeftToRight, "Serbian","srpski" }, + { wxLANGUAGE_SERBO_CROATIAN, "sh" , "sh" , "" , 0 , 0 , wxLayout_LeftToRight, "Serbo-Croatian","srpskohrvatski" }, + { wxLANGUAGE_SESOTHO, "st" , "st" , "st_ZA" , 0x30, 0x01, wxLayout_LeftToRight, "Sesotho","Sesotho" }, + { wxLANGUAGE_SESOTHO_LESOTHO, "st-LS" , "st_LS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sesotho (Lesotho)","Sesotho (Lesotho)" }, + { wxLANGUAGE_SESOTHO_SA_LEBOA, "nso" , "nso" , "nso_ZA" , 0x6c, 0x01, wxLayout_LeftToRight, "Sesotho sa Leboa","Sesotho sa Leboa" }, + { wxLANGUAGE_SESOTHO_SA_LEBOA_SOUTH_AFRICA, "nso-ZA" , "nso_ZA" , "" , 0x6c, 0x01, wxLayout_LeftToRight, "Sesotho sa Leboa (South Africa)","Sesotho sa Leboa (Afrika Borwa)" }, + { wxLANGUAGE_SESOTHO_SOUTH_AFRICA, "st-ZA" , "st_ZA" , "" , 0x30, 0x01, wxLayout_LeftToRight, "Sesotho (South Africa)","Sesotho (South Africa)" }, + { wxLANGUAGE_SETSWANA, "tn" , "tn" , "tn_ZA" , 0x32, 0x01, wxLayout_LeftToRight, "Setswana","Setswana" }, + { wxLANGUAGE_SETSWANA_BOTSWANA, "tn-BW" , "tn_BW" , "" , 0x32, 0x02, wxLayout_LeftToRight, "Setswana (Botswana)","Setswana (Botswana)" }, + { wxLANGUAGE_SETSWANA_SOUTH_AFRICA, "tn-ZA" , "tn_ZA" , "" , 0x32, 0x01, wxLayout_LeftToRight, "Setswana (South Africa)","Setswana (Aforika Borwa)" }, + { wxLANGUAGE_SHAMBALA, "ksb" , "ksb" , "ksb_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Shambala","Kishambaa" }, + { wxLANGUAGE_SHAMBALA_TANZANIA, "ksb-TZ" , "ksb_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Shambala (Tanzania)","Kishambaa (Tanzania)" }, + { wxLANGUAGE_SHONA, "sn" , "sn" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Shona","chiShona" }, + { wxLANGUAGE_SHONA_LATIN, "sn-Latn" , "sn@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Shona (Latin)","chiShona (Latin)" }, + { wxLANGUAGE_SHONA_LATIN_ZIMBABWE, "sn-Latn-ZW" , "sn_ZW@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Shona (Latin, Zimbabwe)","chiShona (Zimbabwe)" }, + { wxLANGUAGE_SINDHI, "sd" , "sd" , "" , 0x59, 0x02, wxLayout_RightToLeft, "Sindhi","\330\263\331\206\332\214\331\212" }, + { wxLANGUAGE_SINDHI_ARABIC, "sd-Arab" , "sd@arabic" , "" , 0x59, 0x02, wxLayout_RightToLeft, "Sindhi","\330\263\331\206\332\214\331\212" }, + { wxLANGUAGE_SINDHI_DEVANAGARI, "sd-Deva" , "sd@devanagari" , "" , 0x59, 0x01, wxLayout_LeftToRight, "Sindhi (Devanagari)","\340\244\270\340\244\277\340\244\250\340\245\215\340\244\247\340\245\200" }, + { wxLANGUAGE_SINDHI_DEVANAGARI_INDIA, "sd-Deva-IN" , "sd_IN@devanagari" , "" , 0x59, 0x01, wxLayout_LeftToRight, "Sindhi (Devanagari, India)","\340\244\270\340\244\277\340\244\250\340\245\215\340\244\247\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, + { wxLANGUAGE_SINDHI_PAKISTAN, "sd-Arab-PK" , "sd_PK@arabic" , "" , 0x59, 0x02, wxLayout_RightToLeft, "Sindhi (Pakistan)","\330\263\331\206\332\214\331\212 (\331\276\330\247\332\251\330\263\330\252\330\247\331\206)" }, + { wxLANGUAGE_SINHALESE, "si" , "si" , "si_LK" , 0x5b, 0x01, wxLayout_LeftToRight, "Sinhala","\340\267\203\340\267\222\340\266\202\340\267\204\340\266\275" }, + { wxLANGUAGE_SINHALESE_SRI_LANKA, "si-LK" , "si_LK" , "" , 0x5b, 0x01, wxLayout_LeftToRight, "Sinhala (Sri Lanka)","\340\267\203\340\267\222\340\266\202\340\267\204\340\266\275 (\340\267\201\340\267\212\342\200\215\340\266\273\340\267\223 \340\266\275\340\266\202\340\266\232\340\267\217\340\267\200)" }, + { wxLANGUAGE_SISWATI, "ss" , "ss" , "ss_ZA" , 0x00, 0x04, wxLayout_LeftToRight, "siSwati","Siswati" }, + { wxLANGUAGE_SISWATI_ESWATINI, "ss-SZ" , "ss_SZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "siSwati (Eswatini)","siSwati (eSwatini)" }, + { wxLANGUAGE_SISWATI_SOUTH_AFRICA, "ss-ZA" , "ss_ZA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "siSwati (South Africa)","siSwati (South Africa)" }, + { wxLANGUAGE_SLOVAK, "sk" , "sk" , "sk_SK" , 0x1b, 0x01, wxLayout_LeftToRight, "Slovak","sloven\304\215ina" }, + { wxLANGUAGE_SLOVAK_SLOVAKIA, "sk-SK" , "sk_SK" , "" , 0x1b, 0x01, wxLayout_LeftToRight, "Slovak (Slovakia)","sloven\304\215ina (Slovensko)" }, + { wxLANGUAGE_SLOVENIAN, "sl" , "sl" , "sl_SI" , 0x24, 0x01, wxLayout_LeftToRight, "Slovenian","sloven\305\241\304\215ina" }, + { wxLANGUAGE_SLOVENIAN_SLOVENIA, "sl-SI" , "sl_SI" , "" , 0x24, 0x01, wxLayout_LeftToRight, "Slovenian (Slovenia)","sloven\305\241\304\215ina (Slovenija)" }, + { wxLANGUAGE_SOGA, "xog" , "xog" , "xog_UG" , 0x00, 0x04, wxLayout_LeftToRight, "Soga","Olusoga" }, + { wxLANGUAGE_SOGA_UGANDA, "xog-UG" , "xog_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Soga (Uganda)","Olusoga (Yuganda)" }, + { wxLANGUAGE_SOMALI, "so" , "so" , "so_SO" , 0x77, 0x01, wxLayout_LeftToRight, "Somali","Soomaali" }, + { wxLANGUAGE_SOMALI_DJIBOUTI, "so-DJ" , "so_DJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Somali (Djibouti)","Soomaali (Jabuuti)" }, + { wxLANGUAGE_SOMALI_ETHIOPIA, "so-ET" , "so_ET" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Somali (Ethiopia)","Soomaali (Itoobiya)" }, + { wxLANGUAGE_SOMALI_KENYA, "so-KE" , "so_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Somali (Kenya)","Soomaali (Kenya)" }, + { wxLANGUAGE_SOMALI_SOMALIA, "so-SO" , "so_SO" , "" , 0x77, 0x01, wxLayout_LeftToRight, "Somali (Somalia)","Soomaali (Soomaaliya)" }, + { wxLANGUAGE_SOUTH_NDEBELE, "nr" , "nr" , "nr_ZA" , 0x00, 0x04, wxLayout_LeftToRight, "South Ndebele","isiNdebele" }, + { wxLANGUAGE_SOUTH_NDEBELE_SOUTH_AFRICA, "nr-ZA" , "nr_ZA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "South Ndebele (South Africa)","isiNdebele (South Africa)" }, + { wxLANGUAGE_SPANISH, "es" , "es" , "es_ES" , 0x0a, 0x03, wxLayout_LeftToRight, "Spanish","espa\303\261ol" }, + { wxLANGUAGE_SPANISH_ARGENTINA, "es-AR" , "es_AR" , "" , 0x0a, 0x0b, wxLayout_LeftToRight, "Spanish (Argentina)","espa\303\261ol (Argentina)" }, + { wxLANGUAGE_SPANISH_BELIZE, "es-BZ" , "es_BZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Spanish (Belize)","espa\303\261ol (Belice)" }, + { wxLANGUAGE_SPANISH_BOLIVIA, "es-BO" , "es_BO" , "" , 0x0a, 0x10, wxLayout_LeftToRight, "Spanish (Bolivia)","espa\303\261ol (Bolivia)" }, + { wxLANGUAGE_SPANISH_BRAZIL, "es-BR" , "es_BR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Spanish (Brazil)","espa\303\261ol (Brasil)" }, + { wxLANGUAGE_SPANISH_CHILE, "es-CL" , "es_CL" , "" , 0x0a, 0x0d, wxLayout_LeftToRight, "Spanish (Chile)","espa\303\261ol (Chile)" }, + { wxLANGUAGE_SPANISH_COLOMBIA, "es-CO" , "es_CO" , "" , 0x0a, 0x09, wxLayout_LeftToRight, "Spanish (Colombia)","espa\303\261ol (Colombia)" }, + { wxLANGUAGE_SPANISH_COSTA_RICA, "es-CR" , "es_CR" , "" , 0x0a, 0x05, wxLayout_LeftToRight, "Spanish (Costa Rica)","espa\303\261ol (Costa Rica)" }, + { wxLANGUAGE_SPANISH_CUBA, "es-CU" , "es_CU" , "" , 0x0a, 0x17, wxLayout_LeftToRight, "Spanish (Cuba)","espa\303\261ol (Cuba)" }, + { wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC, "es-DO" , "es_DO" , "" , 0x0a, 0x07, wxLayout_LeftToRight, "Spanish (Dominican Republic)","espa\303\261ol (Rep\303\272blica Dominicana)" }, + { wxLANGUAGE_SPANISH_ECUADOR, "es-EC" , "es_EC" , "" , 0x0a, 0x0c, wxLayout_LeftToRight, "Spanish (Ecuador)","espa\303\261ol (Ecuador)" }, + { wxLANGUAGE_SPANISH_EL_SALVADOR, "es-SV" , "es_SV" , "" , 0x0a, 0x11, wxLayout_LeftToRight, "Spanish (El Salvador)","espa\303\261ol (El Salvador)" }, + { wxLANGUAGE_SPANISH_EQUATORIAL_GUINEA, "es-GQ" , "es_GQ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Spanish (Equatorial Guinea)","espa\303\261ol (Guinea Ecuatorial)" }, + { wxLANGUAGE_SPANISH_GUATEMALA, "es-GT" , "es_GT" , "" , 0x0a, 0x04, wxLayout_LeftToRight, "Spanish (Guatemala)","espa\303\261ol (Guatemala)" }, + { wxLANGUAGE_SPANISH_HONDURAS, "es-HN" , "es_HN" , "" , 0x0a, 0x12, wxLayout_LeftToRight, "Spanish (Honduras)","espa\303\261ol (Honduras)" }, + { wxLANGUAGE_SPANISH_LATIN_AMERICA, "es-419" , "es_419" , "" , 0x0a, 0x16, wxLayout_LeftToRight, "Spanish (Latin America)","espa\303\261ol (Latinoam\303\251rica)" }, + { wxLANGUAGE_SPANISH_MEXICAN, "es-MX" , "es_MX" , "" , 0x0a, 0x02, wxLayout_LeftToRight, "Spanish (Mexico)","espa\303\261ol (M\303\251xico)" }, + { wxLANGUAGE_SPANISH_NICARAGUA, "es-NI" , "es_NI" , "" , 0x0a, 0x13, wxLayout_LeftToRight, "Spanish (Nicaragua)","espa\303\261ol (Nicaragua)" }, + { wxLANGUAGE_SPANISH_PANAMA, "es-PA" , "es_PA" , "" , 0x0a, 0x06, wxLayout_LeftToRight, "Spanish (Panama)","espa\303\261ol (Panam\303\241)" }, + { wxLANGUAGE_SPANISH_PARAGUAY, "es-PY" , "es_PY" , "" , 0x0a, 0x0f, wxLayout_LeftToRight, "Spanish (Paraguay)","espa\303\261ol (Paraguay)" }, + { wxLANGUAGE_SPANISH_PERU, "es-PE" , "es_PE" , "" , 0x0a, 0x0a, wxLayout_LeftToRight, "Spanish (Peru)","espa\303\261ol (Per\303\272)" }, + { wxLANGUAGE_SPANISH_PHILIPPINES, "es-PH" , "es_PH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Spanish (Philippines)","espa\303\261ol (Filipinas)" }, + { wxLANGUAGE_SPANISH_PUERTO_RICO, "es-PR" , "es_PR" , "" , 0x0a, 0x14, wxLayout_LeftToRight, "Spanish (Puerto Rico)","espa\303\261ol (Puerto Rico)" }, + { wxLANGUAGE_SPANISH_SPAIN, "es-ES" , "es_ES" , "" , 0x0a, 0x03, wxLayout_LeftToRight, "Spanish (Spain, International Sort)","espa\303\261ol (Espa\303\261a, alfabetizaci\303\263n internacional)" }, + { wxLANGUAGE_SPANISH_URUGUAY, "es-UY" , "es_UY" , "" , 0x0a, 0x0e, wxLayout_LeftToRight, "Spanish (Uruguay)","espa\303\261ol (Uruguay)" }, + { wxLANGUAGE_SPANISH_US, "es-US" , "es_US" , "" , 0x0a, 0x15, wxLayout_LeftToRight, "Spanish (United States)","espa\303\261ol (Estados Unidos)" }, + { wxLANGUAGE_SPANISH_VENEZUELA, "es-VE" , "es_VE" , "" , 0x0a, 0x08, wxLayout_LeftToRight, "Spanish (Venezuela)","espa\303\261ol (Venezuela)" }, + { wxLANGUAGE_STANDARD_MOROCCAN_TAMAZIGHT, "zgh" , "zgh" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Standard Moroccan Tamazight","\342\265\234\342\264\260\342\265\216\342\264\260\342\265\243\342\265\211\342\265\226\342\265\234" }, + { wxLANGUAGE_STANDARD_MOROCCAN_TAMAZIGHT_TIFINAGH, "zgh-Tfng" , "zgh@tifinagh" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Standard Moroccan Tamazight (Tifinagh)","\342\265\234\342\264\260\342\265\216\342\264\260\342\265\243\342\265\211\342\265\226\342\265\234 (Tifinagh)" }, + { wxLANGUAGE_STANDARD_MOROCCAN_TAMAZIGHT_TIFINAGH_MOROCCO, "zgh-Tfng-MA" , "zgh_MA@tifinagh" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Standard Moroccan Tamazight (Tifinagh, Morocco)","\342\265\234\342\264\260\342\265\216\342\264\260\342\265\243\342\265\211\342\265\226\342\265\234 (\342\265\215\342\265\216\342\265\226\342\265\224\342\265\211\342\264\261)" }, + { wxLANGUAGE_SUNDANESE, "su" , "su" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sundanese","Basa Sunda" }, + { wxLANGUAGE_SUNDANESE_LATIN, "su-Latn" , "su@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sundanese (Latin)","Basa Sunda (Latin)" }, + { wxLANGUAGE_SUNDANESE_LATIN_INDONESIA, "su-Latn-ID" , "su_ID@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sundanese (Latin, Indonesia)","Basa Sunda (Indonesia)" }, + { wxLANGUAGE_SWAHILI, "sw" , "sw" , "sw_KE" , 0x41, 0x01, wxLayout_LeftToRight, "Kiswahili","Kiswahili" }, + { wxLANGUAGE_SWAHILI_CONGO_DRC, "sw-CD" , "sw_CD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kiswahili (Congo DRC)","Kiswahili (Jamhuri ya Kidemokrasia ya Kongo)" }, + { wxLANGUAGE_SWAHILI_KENYA, "sw-KE" , "sw_KE" , "" , 0x41, 0x01, wxLayout_LeftToRight, "Kiswahili (Kenya)","Kiswahili (Kenya)" }, + { wxLANGUAGE_SWAHILI_TANZANIA, "sw-TZ" , "sw_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kiswahili (Tanzania)","Kiswahili (Tanzania)" }, + { wxLANGUAGE_SWAHILI_UGANDA, "sw-UG" , "sw_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kiswahili (Uganda)","Kiswahili (Uganda)" }, + { wxLANGUAGE_SWEDISH, "sv" , "sv" , "sv_SE" , 0x1d, 0x01, wxLayout_LeftToRight, "Swedish","svenska" }, + { wxLANGUAGE_SWEDISH_ALAND_ISLANDS, "sv-AX" , "sv_AX" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Swedish (\303\205land Islands)","svenska (\303\205land)" }, + { wxLANGUAGE_SWEDISH_FINLAND, "sv-FI" , "sv_FI" , "" , 0x1d, 0x02, wxLayout_LeftToRight, "Swedish (Finland)","svenska (Finland)" }, + { wxLANGUAGE_SWEDISH_SWEDEN, "sv-SE" , "sv_SE" , "" , 0x1d, 0x01, wxLayout_LeftToRight, "Swedish (Sweden)","svenska (Sverige)" }, + { wxLANGUAGE_SWISS_GERMAN, "gsw" , "gsw" , "gsw_CH" , 0x00, 0x04, wxLayout_LeftToRight, "Swiss German","Schwiizert\303\274\303\274tsch" }, + { wxLANGUAGE_SWISS_GERMAN_LIECHTENSTEIN, "gsw-LI" , "gsw_LI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Swiss German (Liechtenstein)","Schwiizert\303\274\303\274tsch (Li\303\244chtescht\303\244i)" }, + { wxLANGUAGE_SWISS_GERMAN_SWITZERLAND, "gsw-CH" , "gsw_CH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Swiss German (Switzerland)","Schwiizert\303\274\303\274tsch (Schwiiz)" }, + { wxLANGUAGE_SYRIAC, "syr" , "syr" , "syr_SY" , 0x5a, 0x01, wxLayout_RightToLeft, "Syriac","\334\243\334\230\334\252\334\235\334\235\334\220" }, + { wxLANGUAGE_SYRIAC_SYRIA, "syr-SY" , "syr_SY" , "" , 0x5a, 0x01, wxLayout_RightToLeft, "Syriac (Syria)","\334\243\334\230\334\252\334\235\334\235\334\220 (\334\243\334\230\334\252\334\235\334\220)" }, + { wxLANGUAGE_TACHELHIT, "shi" , "shi" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tachelhit","\342\265\234\342\264\260\342\265\233\342\265\215\342\265\203\342\265\211\342\265\234" }, + { wxLANGUAGE_TACHELHIT_LATIN, "shi-Latn" , "shi@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tachelhit (Latin)","Tashel\341\270\245iyt (Latin)" }, + { wxLANGUAGE_TACHELHIT_LATIN_MOROCCO, "shi-Latn-MA" , "shi_MA@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tachelhit (Latin, Morocco)","Tashel\341\270\245iyt (lm\311\243rib)" }, + { wxLANGUAGE_TACHELHIT_TIFINAGH, "shi-Tfng" , "shi@tifinagh" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tachelhit (Tifinagh)","\342\265\234\342\264\260\342\265\233\342\265\215\342\265\203\342\265\211\342\265\234 (Tifinagh)" }, + { wxLANGUAGE_TACHELHIT_TIFINAGH_MOROCCO, "shi-Tfng-MA" , "shi_MA@tifinagh" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tachelhit (Tifinagh, Morocco)","\342\265\234\342\264\260\342\265\233\342\265\215\342\265\203\342\265\211\342\265\234 (\342\265\215\342\265\216\342\265\226\342\265\224\342\265\211\342\264\261)" }, + { wxLANGUAGE_TAGALOG, "tl" , "tl" , "tl_PH" , 0 , 0 , wxLayout_LeftToRight, "Tagalog","Tagalog" }, + { wxLANGUAGE_TAGALOG_PHILIPPINES, "tl-PH" , "tl_PH" , "" , 0 , 0 , wxLayout_LeftToRight, "Tagalog (Philippines)","Tagalog (Pilipinas)" }, + { wxLANGUAGE_TAITA, "dav" , "dav" , "dav_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Taita","Kitaita" }, + { wxLANGUAGE_TAITA_KENYA, "dav-KE" , "dav_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Taita (Kenya)","Kitaita (Kenya)" }, + { wxLANGUAGE_TAJIK, "tg" , "tg" , "" , 0x28, 0x01, wxLayout_LeftToRight, "Tajik","\320\242\320\276\322\267\320\270\320\272\323\243" }, + { wxLANGUAGE_TAJIK_CYRILLIC, "tg-Cyrl" , "tg@cyrillic" , "" , 0x28, 0x01, wxLayout_LeftToRight, "Tajik (Cyrillic)","\320\242\320\276\322\267\320\270\320\272\323\243 (\320\232\320\270\321\200\320\270\320\273\320\273\320\270\320\272\323\243)" }, + { wxLANGUAGE_TAJIK_CYRILLIC_TAJIKISTAN, "tg-Cyrl-TJ" , "tg_TJ@cyrillic" , "" , 0x28, 0x01, wxLayout_LeftToRight, "Tajik (Cyrillic, Tajikistan)","\321\202\320\276\322\267\320\270\320\272\323\243 (\320\242\320\276\322\267\320\270\320\272\320\270\321\201\321\202\320\276\320\275)" }, + { wxLANGUAGE_TAMIL, "ta" , "ta" , "ta_IN" , 0x49, 0x01, wxLayout_LeftToRight, "Tamil","\340\256\244\340\256\256\340\256\277\340\256\264\340\257\215" }, + { wxLANGUAGE_TAMIL_INDIA, "ta-IN" , "ta_IN" , "" , 0x49, 0x01, wxLayout_LeftToRight, "Tamil (India)","\340\256\244\340\256\256\340\256\277\340\256\264\340\257\215 (\340\256\207\340\256\250\340\257\215\340\256\244\340\256\277\340\256\257\340\256\276)" }, + { wxLANGUAGE_TAMIL_MALAYSIA, "ta-MY" , "ta_MY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tamil (Malaysia)","\340\256\244\340\256\256\340\256\277\340\256\264\340\257\215 (\340\256\256\340\256\262\340\257\207\340\256\232\340\256\277\340\256\257\340\256\276)" }, + { wxLANGUAGE_TAMIL_SINGAPORE, "ta-SG" , "ta_SG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tamil (Singapore)","\340\256\244\340\256\256\340\256\277\340\256\264\340\257\215 (\340\256\232\340\256\277\340\256\231\340\257\215\340\256\225\340\256\252\340\257\215\340\256\252\340\257\202\340\256\260\340\257\215)" }, + { wxLANGUAGE_TAMIL_SRI_LANKA, "ta-LK" , "ta_LK" , "" , 0x49, 0x02, wxLayout_LeftToRight, "Tamil (Sri Lanka)","\340\256\244\340\256\256\340\256\277\340\256\264\340\257\215 (\340\256\207\340\256\262\340\256\231\340\257\215\340\256\225\340\257\210)" }, + { wxLANGUAGE_TASAWAQ, "twq" , "twq" , "twq_NE" , 0x00, 0x04, wxLayout_LeftToRight, "Tasawaq","Tasawaq senni" }, + { wxLANGUAGE_TASAWAQ_NIGER, "twq-NE" , "twq_NE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tasawaq (Niger)","Tasawaq senni (Ni\305\276er)" }, + { wxLANGUAGE_TATAR, "tt" , "tt" , "tt_RU" , 0x44, 0x01, wxLayout_LeftToRight, "Tatar","\321\202\320\260\321\202\320\260\321\200" }, + { wxLANGUAGE_TATAR_RUSSIA, "tt-RU" , "tt_RU" , "" , 0x44, 0x01, wxLayout_LeftToRight, "Tatar (Russia)","\321\202\320\260\321\202\320\260\321\200 (\320\240\320\276\321\201\321\201\320\270\321\217)" }, + { wxLANGUAGE_TELUGU, "te" , "te" , "te_IN" , 0x4a, 0x01, wxLayout_LeftToRight, "Telugu","\340\260\244\340\261\206\340\260\262\340\261\201\340\260\227\340\261\201" }, + { wxLANGUAGE_TELUGU_INDIA, "te-IN" , "te_IN" , "" , 0x4a, 0x01, wxLayout_LeftToRight, "Telugu (India)","\340\260\244\340\261\206\340\260\262\340\261\201\340\260\227\340\261\201 (\340\260\255\340\260\276\340\260\260\340\260\244\340\260\246\340\261\207\340\260\266\340\260\202)" }, + { wxLANGUAGE_TESO, "teo" , "teo" , "teo_UG" , 0x00, 0x04, wxLayout_LeftToRight, "Teso","Kiteso" }, + { wxLANGUAGE_TESO_KENYA, "teo-KE" , "teo_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Teso (Kenya)","Kiteso (Kenia)" }, + { wxLANGUAGE_TESO_UGANDA, "teo-UG" , "teo_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Teso (Uganda)","Kiteso (Uganda)" }, + { wxLANGUAGE_THAI, "th" , "th" , "th_TH" , 0x1e, 0x01, wxLayout_LeftToRight, "Thai","\340\271\204\340\270\227\340\270\242" }, + { wxLANGUAGE_THAI_THAILAND, "th-TH" , "th_TH" , "" , 0x1e, 0x01, wxLayout_LeftToRight, "Thai (Thailand)","\340\271\204\340\270\227\340\270\242 (\340\271\204\340\270\227\340\270\242)" }, + { wxLANGUAGE_TIBETAN, "bo" , "bo" , "bo_CN" , 0x51, 0x01, wxLayout_LeftToRight, "Tibetan","\340\275\226\340\275\274\340\275\221\340\274\213\340\275\246\340\276\220\340\275\221\340\274\213" }, + { wxLANGUAGE_TIBETAN_CHINA, "bo-CN" , "bo_CN" , "" , 0x51, 0x01, wxLayout_LeftToRight, "Tibetan (China)","\340\275\226\340\275\274\340\275\221\340\274\213\340\275\246\340\276\220\340\275\221\340\274\213 (\340\275\242\340\276\222\340\276\261\340\274\213\340\275\223\340\275\202)" }, + { wxLANGUAGE_TIBETAN_INDIA, "bo-IN" , "bo_IN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tibetan (India)","\340\275\226\340\275\274\340\275\221\340\274\213\340\275\246\340\276\220\340\275\221\340\274\213 (\340\275\242\340\276\222\340\276\261\340\274\213\340\275\202\340\275\242\340\274\213)" }, + { wxLANGUAGE_TIGRE, "tig" , "tig" , "tig_ER" , 0x00, 0x04, wxLayout_LeftToRight, "Tigre","\341\211\265\341\214\215\341\210\250" }, + { wxLANGUAGE_TIGRE_ERITREA, "tig-ER" , "tig_ER" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tigre (Eritrea)","\341\211\265\341\214\215\341\210\250 (\341\212\244\341\210\255\341\211\265\341\210\253)" }, + { wxLANGUAGE_TIGRINYA, "ti" , "ti" , "ti_ER" , 0x73, 0x02, wxLayout_LeftToRight, "Tigrinya","\341\211\265\341\214\215\341\210\255" }, + { wxLANGUAGE_TIGRINYA_ERITREA, "ti-ER" , "ti_ER" , "" , 0x73, 0x02, wxLayout_LeftToRight, "Tigrinya (Eritrea)","\341\211\265\341\214\215\341\210\255 (\341\212\244\341\210\255\341\211\265\341\210\253)" }, + { wxLANGUAGE_TIGRINYA_ETHIOPIA, "ti-ET" , "ti_ET" , "" , 0x73, 0x01, wxLayout_LeftToRight, "Tigrinya (Ethiopia)","\341\211\265\341\214\215\341\210\255 (\341\212\242\341\211\265\341\213\256\341\214\265\341\213\253)" }, + { wxLANGUAGE_TONGA, "to" , "to" , "to_TO" , 0x00, 0x04, wxLayout_LeftToRight, "Tongan","lea fakatonga" }, + { wxLANGUAGE_TONGA_TONGA, "to-TO" , "to_TO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tongan (Tonga)","lea fakatonga (Tonga)" }, + { wxLANGUAGE_TSONGA, "ts" , "ts" , "ts_ZA" , 0x31, 0x01, wxLayout_LeftToRight, "Xitsonga","Xitsonga" }, + { wxLANGUAGE_TSONGA_SOUTH_AFRICA, "ts-ZA" , "ts_ZA" , "" , 0x31, 0x01, wxLayout_LeftToRight, "Xitsonga (South Africa)","Xitsonga (South Africa)" }, + { wxLANGUAGE_TURKISH, "tr" , "tr" , "tr_TR" , 0x1f, 0x01, wxLayout_LeftToRight, "Turkish","T\303\274rk\303\247e" }, + { wxLANGUAGE_TURKISH_CYPRUS, "tr-CY" , "tr_CY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Turkish (Cyprus)","T\303\274rk\303\247e (K\304\261br\304\261s)" }, + { wxLANGUAGE_TURKISH_TURKIYE, "tr-TR" , "tr_TR" , "" , 0x1f, 0x01, wxLayout_LeftToRight, "Turkish (T\303\274rkiye)","T\303\274rk\303\247e (T\303\274rkiye)" }, + { wxLANGUAGE_TURKMEN, "tk" , "tk" , "tk_TM" , 0x42, 0x01, wxLayout_LeftToRight, "Turkmen","t\303\274rkmen dili" }, + { wxLANGUAGE_TURKMEN_TURKMENISTAN, "tk-TM" , "tk_TM" , "" , 0x42, 0x01, wxLayout_LeftToRight, "Turkmen (Turkmenistan)","t\303\274rkmen dili (T\303\274rkmenistan)" }, + { wxLANGUAGE_TWI, "tw" , "tw" , "" , 0 , 0 , wxLayout_LeftToRight, "Twi","Twi" }, + { wxLANGUAGE_UIGHUR, "ug" , "ug" , "ug_CN" , 0x80, 0x01, wxLayout_RightToLeft, "Uyghur","\330\246\333\207\331\212\330\272\333\207\330\261\332\206\333\225" }, + { wxLANGUAGE_UIGHUR_CHINA, "ug-CN" , "ug_CN" , "" , 0x80, 0x01, wxLayout_RightToLeft, "Uyghur (China)","\330\246\333\207\331\212\330\272\333\207\330\261\332\206\333\225 (\330\254\333\207\332\255\330\256\333\207\330\247 \330\256\333\225\331\204\331\202 \330\254\333\207\331\205\332\276\333\207\330\261\331\211\331\212\331\211\330\252\331\211)" }, + { wxLANGUAGE_UKRAINIAN, "uk" , "uk" , "uk_UA" , 0x22, 0x01, wxLayout_LeftToRight, "Ukrainian","\321\203\320\272\321\200\320\260\321\227\320\275\321\201\321\214\320\272\320\260" }, + { wxLANGUAGE_UKRAINIAN_UKRAINE, "uk-UA" , "uk_UA" , "" , 0x22, 0x01, wxLayout_LeftToRight, "Ukrainian (Ukraine)","\321\203\320\272\321\200\320\260\321\227\320\275\321\201\321\214\320\272\320\260 (\320\243\320\272\321\200\320\260\321\227\320\275\320\260)" }, + { wxLANGUAGE_UPPER_SORBIAN, "hsb" , "hsb" , "hsb_DE" , 0x2e, 0x01, wxLayout_LeftToRight, "Upper Sorbian","hornjoserb\305\241\304\207ina" }, + { wxLANGUAGE_UPPER_SORBIAN_GERMANY, "hsb-DE" , "hsb_DE" , "" , 0x2e, 0x01, wxLayout_LeftToRight, "Upper Sorbian (Germany)","hornjoserb\305\241\304\207ina (N\304\233mska)" }, + { wxLANGUAGE_URDU, "ur" , "ur" , "ur_PK" , 0x20, 0x01, wxLayout_RightToLeft, "Urdu","\330\247\330\261\330\257\331\210" }, + { wxLANGUAGE_URDU_INDIA, "ur-IN" , "ur_IN" , "" , 0x20, 0x02, wxLayout_RightToLeft, "Urdu (India)","\330\247\330\261\330\257\331\210 (\330\250\332\276\330\247\330\261\330\252)" }, + { wxLANGUAGE_URDU_PAKISTAN, "ur-PK" , "ur_PK" , "" , 0x20, 0x01, wxLayout_RightToLeft, "Urdu (Pakistan)","\330\247\330\261\330\257\331\210 (\331\276\330\247\332\251\330\263\330\252\330\247\331\206)" }, + { wxLANGUAGE_UZBEK, "uz" , "uz" , "" , 0x43, 0x01, wxLayout_LeftToRight, "Uzbek","o\342\200\230zbek" }, + { wxLANGUAGE_UZBEK_ARABIC, "uz-Arab" , "uz@arabic" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Uzbek (Arabic)","\330\247\331\210\330\262\330\250\333\214\332\251 (\330\271\330\261\330\250\333\214)" }, + { wxLANGUAGE_UZBEK_ARABIC_AFGHANISTAN, "uz-Arab-AF" , "uz_AF@arabic" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Uzbek (Arabic, Afghanistan)","\330\247\331\210\330\262\330\250\333\214\332\251 (\330\247\331\201\330\272\330\247\331\206\330\263\330\252\330\247\331\206)" }, + { wxLANGUAGE_UZBEK_CYRILLIC, "uz-Cyrl" , "uz@cyrillic" , "" , 0x43, 0x02, wxLayout_LeftToRight, "Uzbek (Cyrillic)","\320\216\320\267\320\261\320\265\320\272 (\320\232\320\270\321\200\320\270\320\273)" }, + { wxLANGUAGE_UZBEK_CYRILLIC_UZBEKISTAN, "uz-Cyrl-UZ" , "uz_UZ@cyrillic" , "" , 0x43, 0x02, wxLayout_LeftToRight, "Uzbek (Cyrillic, Uzbekistan)","\321\236\320\267\320\261\320\265\320\272\321\207\320\260 (\320\216\320\267\320\261\320\265\320\272\320\270\321\201\321\202\320\276\320\275)" }, + { wxLANGUAGE_UZBEK_LATIN, "uz-Latn" , "uz@latin" , "" , 0x43, 0x01, wxLayout_LeftToRight, "Uzbek (Latin)","o\342\200\230zbek" }, + { wxLANGUAGE_UZBEK_LATIN_UZBEKISTAN, "uz-Latn-UZ" , "uz_UZ@latin" , "" , 0x43, 0x01, wxLayout_LeftToRight, "Uzbek (Latin, Uzbekistan)","o\342\200\230zbek (O\312\273zbekiston)" }, + { wxLANGUAGE_VAI, "vai" , "vai" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Vai","\352\225\231\352\224\244" }, + { wxLANGUAGE_VAI_LATIN, "vai-Latn" , "vai@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Vai (Latin)","Vai (Latin)" }, + { wxLANGUAGE_VAI_LATIN_LIBERIA, "vai-Latn-LR" , "vai_LR@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Vai (Latin, Liberia)","Vai (Laibhiya)" }, + { wxLANGUAGE_VAI_VAI, "vai-Vaii" , "vai@vai" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Vai (Vai)","\352\225\231\352\224\244 (Vai)" }, + { wxLANGUAGE_VAI_VAI_LIBERIA, "vai-Vaii-LR" , "vai_LR@vai" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Vai (Vai, Liberia)","\352\225\231\352\224\244 (\352\225\236\352\224\244\352\224\253\352\225\251)" }, + { wxLANGUAGE_VALENCIAN, "ca-ES-valencia" , "ca_ES@valencia" , "" , 0x03, 0x02, wxLayout_LeftToRight, "Valencian (Spain)","valenci\303\240 (Espanya)" }, + { wxLANGUAGE_VENDA, "ve" , "ve" , "ve_ZA" , 0x33, 0x01, wxLayout_LeftToRight, "Venda","Tshiven\341\270\223a" }, + { wxLANGUAGE_VENDA_SOUTH_AFRICA, "ve-ZA" , "ve_ZA" , "" , 0x33, 0x01, wxLayout_LeftToRight, "Venda (South Africa)","Tshiven\341\270\223a (South Africa)" }, + { wxLANGUAGE_VIETNAMESE, "vi" , "vi" , "vi_VN" , 0x2a, 0x01, wxLayout_LeftToRight, "Vietnamese","Ti\341\272\277ng Vi\341\273\207t" }, + { wxLANGUAGE_VIETNAMESE_VIETNAM, "vi-VN" , "vi_VN" , "" , 0x2a, 0x01, wxLayout_LeftToRight, "Vietnamese (Vietnam)","Ti\341\272\277ng Vi\341\273\207t (Vi\341\273\207t Nam)" }, + { wxLANGUAGE_VOLAPUK, "vo" , "vo" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Volap\303\274k","Volap\303\274k" }, + { wxLANGUAGE_VOLAPUK_WORLD, "vo-001" , "vo_001" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Volap\303\274k (World)","Volap\303\274k (World)" }, + { wxLANGUAGE_VUNJO, "vun" , "vun" , "vun_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Vunjo","Kyivunjo" }, + { wxLANGUAGE_VUNJO_TANZANIA, "vun-TZ" , "vun_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Vunjo (Tanzania)","Kyivunjo (Tanzania)" }, + { wxLANGUAGE_WALSER, "wae" , "wae" , "wae_CH" , 0x00, 0x04, wxLayout_LeftToRight, "Walser","Walser" }, + { wxLANGUAGE_WALSER_SWITZERLAND, "wae-CH" , "wae_CH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Walser (Switzerland)","Walser (Schwiz)" }, + { wxLANGUAGE_WELSH, "cy" , "cy" , "cy_GB" , 0x52, 0x01, wxLayout_LeftToRight, "Welsh","Cymraeg" }, + { wxLANGUAGE_WELSH_UK, "cy-GB" , "cy_GB" , "" , 0x52, 0x01, wxLayout_LeftToRight, "Welsh (United Kingdom)","Cymraeg (Y Deyrnas Unedig)" }, + { wxLANGUAGE_WOLAYTTA, "wal" , "wal" , "wal_ET" , 0x00, 0x04, wxLayout_LeftToRight, "Wolaytta","\341\213\210\341\210\213\341\213\255\341\211\263\341\211\261" }, + { wxLANGUAGE_WOLAYTTA_ETHIOPIA, "wal-ET" , "wal_ET" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Wolaytta (Ethiopia)","\341\213\210\341\210\213\341\213\255\341\211\263\341\211\261 (\341\212\242\341\211\265\341\213\256\341\214\265\341\213\253)" }, + { wxLANGUAGE_WOLOF, "wo" , "wo" , "wo_SN" , 0x88, 0x01, wxLayout_LeftToRight, "Wolof","Wolof" }, + { wxLANGUAGE_WOLOF_SENEGAL, "wo-SN" , "wo_SN" , "" , 0x88, 0x01, wxLayout_LeftToRight, "Wolof (Senegal)","Wolof (Senegaal)" }, + { wxLANGUAGE_XHOSA, "xh" , "xh" , "xh_ZA" , 0x34, 0x01, wxLayout_LeftToRight, "isiXhosa","isiXhosa" }, + { wxLANGUAGE_XHOSA_SOUTH_AFRICA, "xh-ZA" , "xh_ZA" , "" , 0x34, 0x01, wxLayout_LeftToRight, "isiXhosa (South Africa)","isiXhosa (eMzantsi Afrika)" }, + { wxLANGUAGE_YANGBEN, "yav" , "yav" , "yav_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Yangben","nuasue" }, + { wxLANGUAGE_YANGBEN_CAMEROON, "yav-CM" , "yav_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Yangben (Cameroon)","nuasue (Kemel\303\272n)" }, + { wxLANGUAGE_YI, "ii" , "ii" , "ii_CN" , 0x78, 0x01, wxLayout_LeftToRight, "Yi","\352\206\210\352\214\240\352\211\231" }, + { wxLANGUAGE_YIDDISH, "yi" , "yi" , "" , 0x3d, 0x01, wxLayout_RightToLeft, "Yiddish","\327\231\327\231\326\264\327\223\327\231\327\251" }, + { wxLANGUAGE_YIDDISH_WORLD, "yi-001" , "yi_001" , "" , 0x3d, 0x01, wxLayout_RightToLeft, "Yiddish (World)","\327\231\327\231\326\264\327\223\327\231\327\251 (\327\225\327\225\327\242\327\234\327\230)" }, + { wxLANGUAGE_YI_CHINA, "ii-CN" , "ii_CN" , "" , 0x78, 0x01, wxLayout_LeftToRight, "Yi (China)","\352\206\210\352\214\240\352\211\231 (\352\215\217\352\207\251)" }, + { wxLANGUAGE_YORUBA, "yo" , "yo" , "yo_NG" , 0x6a, 0x01, wxLayout_LeftToRight, "Yoruba","\303\210d\303\250 Yor\303\271b\303\241" }, + { wxLANGUAGE_YORUBA_BENIN, "yo-BJ" , "yo_BJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Yoruba (Benin)","\303\210d\303\250 Yor\303\271b\303\241 (B\311\233\314\200n\311\233\314\200)" }, + { wxLANGUAGE_YORUBA_NIGERIA, "yo-NG" , "yo_NG" , "" , 0x6a, 0x01, wxLayout_LeftToRight, "Yoruba (Nigeria)","\303\210d\303\250 Yor\303\271b\303\241 (N\303\240\303\254j\303\255r\303\255\303\240)" }, + { wxLANGUAGE_ZARMA, "dje" , "dje" , "dje_NE" , 0x00, 0x04, wxLayout_LeftToRight, "Zarma","Zarmaciine" }, + { wxLANGUAGE_ZARMA_NIGER, "dje-NE" , "dje_NE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Zarma (Niger)","Zarmaciine (Ni\305\276er)" }, + { wxLANGUAGE_ZHUANG, "za" , "za" , "" , 0 , 0 , wxLayout_LeftToRight, "Zhuang","Zhuang" }, + { wxLANGUAGE_ZULU, "zu" , "zu" , "zu_ZA" , 0x35, 0x01, wxLayout_LeftToRight, "isiZulu","isiZulu" }, + { wxLANGUAGE_ZULU_SOUTH_AFRICA, "zu-ZA" , "zu_ZA" , "" , 0x35, 0x01, wxLayout_LeftToRight, "isiZulu (South Africa)","isiZulu (iNingizimu Afrika)" }, + + { 0, nullptr, nullptr, nullptr, 0, 0, wxLayout_Default, nullptr, nullptr } +}; +// --- --- --- generated code ends here --- --- --- + +#endif // _WX_PRIVATE_LANG_INFO_H_ diff --git a/include/wx/private/lang_likely.h b/include/wx/private/lang_likely.h new file mode 100644 index 0000000000..fd60ded6f8 --- /dev/null +++ b/include/wx/private/lang_likely.h @@ -0,0 +1,353 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/private/lang_likely.h +// Purpose: Mapping of likely subtags +// Author: misc/languages/genlang.py +// Created: 2024-10-04 +// Copyright: (c) 2024 wxWidgets development team +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// WARNING: Parts of this file are generated. See misc/languages/README for +// details. + +#ifndef _WX_PRIVATE_LANG_LIKELY_H_ +#define _WX_PRIVATE_LANG_LIKELY_H_ + +// ---------------------------------------------------------------------------- +// Mapping of language ids to default locale tags +// ---------------------------------------------------------------------------- + +// --- --- --- generated code begins here --- --- --- + +// The following data tables are generated by misc/languages/genlang.py +// When making changes, please put them into misc/languages/likelytabl.txt + +// Data table for likely subtags +static const struct likelyData_t +{ + const char* tagfrom; + const char* tagto; +} +tabLikelyData[] = +{ + { "aa", "aa-Latn-ET" }, + { "ab", "ab-Cyrl-GE" }, + { "af", "af-Latn-ZA" }, + { "agq", "agq-Latn-CM" }, + { "ak", "ak-Latn-GH" }, + { "am", "am-Ethi-ET" }, + { "ar", "ar-Arab-EG" }, + { "arn", "arn-Latn-CL" }, + { "as", "as-Beng-IN" }, + { "asa", "asa-Latn-TZ" }, + { "ast", "ast-Latn-ES" }, + { "ay", "ay-Latn-BO" }, + { "az", "az-Latn-AZ" }, + { "az-Arab", "az-Arab-IR" }, + { "az-IQ", "az-Arab-IQ" }, + { "az-IR", "az-Arab-IR" }, + { "az-RU", "az-Cyrl-RU" }, + { "ba", "ba-Cyrl-RU" }, + { "bas", "bas-Latn-CM" }, + { "be", "be-Cyrl-BY" }, + { "bem", "bem-Latn-ZM" }, + { "bez", "bez-Latn-TZ" }, + { "bg", "bg-Cyrl-BG" }, + { "bi", "bi-Latn-VU" }, + { "bin", "bin-Latn-NG" }, + { "bm", "bm-Latn-ML" }, + { "bn", "bn-Beng-BD" }, + { "bo", "bo-Tibt-CN" }, + { "br", "br-Latn-FR" }, + { "brx", "brx-Deva-IN" }, + { "bs", "bs-Latn-BA" }, + { "byn", "byn-Ethi-ER" }, + { "ca", "ca-Latn-ES" }, + { "ccp", "ccp-Cakm-BD" }, + { "ce", "ce-Cyrl-RU" }, + { "ceb", "ceb-Latn-PH" }, + { "cgg", "cgg-Latn-UG" }, + { "chr", "chr-Cher-US" }, + { "co", "co-Latn-FR" }, + { "cs", "cs-Latn-CZ" }, + { "cu", "cu-Cyrl-RU" }, + { "cu-Glag", "cu-Glag-BG" }, + { "cy", "cy-Latn-GB" }, + { "da", "da-Latn-DK" }, + { "dav", "dav-Latn-KE" }, + { "de", "de-Latn-DE" }, + { "dje", "dje-Latn-NE" }, + { "doi", "doi-Deva-IN" }, + { "dsb", "dsb-Latn-DE" }, + { "dua", "dua-Latn-CM" }, + { "dv", "dv-Thaa-MV" }, + { "dyo", "dyo-Latn-SN" }, + { "dz", "dz-Tibt-BT" }, + { "ebu", "ebu-Latn-KE" }, + { "ee", "ee-Latn-GH" }, + { "el", "el-Grek-GR" }, + { "en", "en-Latn-US" }, + { "en-Shaw", "en-Shaw-GB" }, + { "eo", "eo-Latn-001" }, + { "es", "es-Latn-ES" }, + { "et", "et-Latn-EE" }, + { "eu", "eu-Latn-ES" }, + { "ewo", "ewo-Latn-CM" }, + { "fa", "fa-Arab-IR" }, + { "ff", "ff-Latn-SN" }, + { "ff-Adlm", "ff-Adlm-GN" }, + { "fi", "fi-Latn-FI" }, + { "fil", "fil-Latn-PH" }, + { "fj", "fj-Latn-FJ" }, + { "fo", "fo-Latn-FO" }, + { "fr", "fr-Latn-FR" }, + { "fur", "fur-Latn-IT" }, + { "fy", "fy-Latn-NL" }, + { "ga", "ga-Latn-IE" }, + { "gd", "gd-Latn-GB" }, + { "gl", "gl-Latn-ES" }, + { "gn", "gn-Latn-PY" }, + { "gsw", "gsw-Latn-CH" }, + { "gu", "gu-Gujr-IN" }, + { "guz", "guz-Latn-KE" }, + { "gv", "gv-Latn-IM" }, + { "ha", "ha-Latn-NG" }, + { "ha-CM", "ha-Arab-CM" }, + { "ha-SD", "ha-Arab-SD" }, + { "haw", "haw-Latn-US" }, + { "he", "he-Hebr-IL" }, + { "hi", "hi-Deva-IN" }, + { "hr", "hr-Latn-HR" }, + { "hsb", "hsb-Latn-DE" }, + { "hu", "hu-Latn-HU" }, + { "hy", "hy-Armn-AM" }, + { "ia", "ia-Latn-001" }, + { "ibb", "ibb-Latn-NG" }, + { "id", "id-Latn-ID" }, + { "ie", "ie-Latn-EE" }, + { "ig", "ig-Latn-NG" }, + { "ii", "ii-Yiii-CN" }, + { "ik", "ik-Latn-US" }, + { "is", "is-Latn-IS" }, + { "it", "it-Latn-IT" }, + { "iu", "iu-Cans-CA" }, + { "ja", "ja-Jpan-JP" }, + { "jgo", "jgo-Latn-CM" }, + { "jmc", "jmc-Latn-TZ" }, + { "jv", "jv-Latn-ID" }, + { "ka", "ka-Geor-GE" }, + { "kab", "kab-Latn-DZ" }, + { "kam", "kam-Latn-KE" }, + { "kde", "kde-Latn-TZ" }, + { "kea", "kea-Latn-CV" }, + { "khq", "khq-Latn-ML" }, + { "ki", "ki-Latn-KE" }, + { "kk", "kk-Cyrl-KZ" }, + { "kk-AF", "kk-Arab-AF" }, + { "kk-Arab", "kk-Arab-CN" }, + { "kk-CN", "kk-Arab-CN" }, + { "kk-IR", "kk-Arab-IR" }, + { "kk-MN", "kk-Arab-MN" }, + { "kkj", "kkj-Latn-CM" }, + { "kl", "kl-Latn-GL" }, + { "kln", "kln-Latn-KE" }, + { "km", "km-Khmr-KH" }, + { "kn", "kn-Knda-IN" }, + { "ko", "ko-Kore-KR" }, + { "kok", "kok-Deva-IN" }, + { "kr", "kr-Latn-NG" }, + { "ks", "ks-Arab-IN" }, + { "ksb", "ksb-Latn-TZ" }, + { "ksf", "ksf-Latn-CM" }, + { "ksh", "ksh-Latn-DE" }, + { "ku", "ku-Latn-TR" }, + { "ku-Arab", "ku-Arab-IQ" }, + { "ku-LB", "ku-Arab-LB" }, + { "ku-Yezi", "ku-Yezi-GE" }, + { "kw", "kw-Latn-GB" }, + { "ky", "ky-Cyrl-KG" }, + { "ky-Arab", "ky-Arab-CN" }, + { "ky-CN", "ky-Arab-CN" }, + { "ky-Latn", "ky-Latn-TR" }, + { "ky-TR", "ky-Latn-TR" }, + { "la", "la-Latn-VA" }, + { "lag", "lag-Latn-TZ" }, + { "lb", "lb-Latn-LU" }, + { "lg", "lg-Latn-UG" }, + { "lkt", "lkt-Latn-US" }, + { "ln", "ln-Latn-CD" }, + { "lo", "lo-Laoo-LA" }, + { "lrc", "lrc-Arab-IR" }, + { "lt", "lt-Latn-LT" }, + { "lu", "lu-Latn-CD" }, + { "luo", "luo-Latn-KE" }, + { "luy", "luy-Latn-KE" }, + { "lv", "lv-Latn-LV" }, + { "mai", "mai-Deva-IN" }, + { "mas", "mas-Latn-KE" }, + { "mer", "mer-Latn-KE" }, + { "mfe", "mfe-Latn-MU" }, + { "mg", "mg-Latn-MG" }, + { "mgh", "mgh-Latn-MZ" }, + { "mgo", "mgo-Latn-CM" }, + { "mi", "mi-Latn-NZ" }, + { "mk", "mk-Cyrl-MK" }, + { "ml", "ml-Mlym-IN" }, + { "mn", "mn-Cyrl-MN" }, + { "mn-CN", "mn-Mong-CN" }, + { "mn-Mong", "mn-Mong-CN" }, + { "mni", "mni-Beng-IN" }, + { "mo", "mo-Latn-RO" }, + { "moh", "moh-Latn-CA" }, + { "mr", "mr-Deva-IN" }, + { "ms", "ms-Latn-MY" }, + { "ms-CC", "ms-Arab-CC" }, + { "mt", "mt-Latn-MT" }, + { "mua", "mua-Latn-CM" }, + { "my", "my-Mymr-MM" }, + { "mzn", "mzn-Arab-IR" }, + { "na", "na-Latn-NR" }, + { "naq", "naq-Latn-NA" }, + { "nb", "nb-Latn-NO" }, + { "nd", "nd-Latn-ZW" }, + { "nds", "nds-Latn-DE" }, + { "ne", "ne-Deva-NP" }, + { "nl", "nl-Latn-NL" }, + { "nmg", "nmg-Latn-CM" }, + { "nn", "nn-Latn-NO" }, + { "nnh", "nnh-Latn-CM" }, + { "no", "no-Latn-NO" }, + { "nqo", "nqo-Nkoo-GN" }, + { "nr", "nr-Latn-ZA" }, + { "nso", "nso-Latn-ZA" }, + { "nus", "nus-Latn-SS" }, + { "nyn", "nyn-Latn-UG" }, + { "oc", "oc-Latn-FR" }, + { "om", "om-Latn-ET" }, + { "or", "or-Orya-IN" }, + { "os", "os-Cyrl-GE" }, + { "pa", "pa-Guru-IN" }, + { "pa-Arab", "pa-Arab-PK" }, + { "pa-PK", "pa-Arab-PK" }, + { "pap", "pap-Latn-CW" }, + { "pcm", "pcm-Latn-NG" }, + { "pl", "pl-Latn-PL" }, + { "prg", "prg-Latn-PL" }, + { "ps", "ps-Arab-AF" }, + { "pt", "pt-Latn-BR" }, + { "qu", "qu-Latn-PE" }, + { "quc", "quc-Latn-GT" }, + { "rm", "rm-Latn-CH" }, + { "rn", "rn-Latn-BI" }, + { "ro", "ro-Latn-RO" }, + { "rof", "rof-Latn-TZ" }, + { "ru", "ru-Cyrl-RU" }, + { "rw", "rw-Latn-RW" }, + { "rwk", "rwk-Latn-TZ" }, + { "sa", "sa-Deva-IN" }, + { "sah", "sah-Cyrl-RU" }, + { "saq", "saq-Latn-KE" }, + { "sat", "sat-Olck-IN" }, + { "sbp", "sbp-Latn-TZ" }, + { "sd", "sd-Arab-PK" }, + { "sd-Deva", "sd-Deva-IN" }, + { "sd-IN", "sd-Deva-IN" }, + { "sd-Khoj", "sd-Khoj-IN" }, + { "sd-Sind", "sd-Sind-IN" }, + { "se", "se-Latn-NO" }, + { "seh", "seh-Latn-MZ" }, + { "ses", "ses-Latn-ML" }, + { "sg", "sg-Latn-CF" }, + { "shi", "shi-Tfng-MA" }, + { "si", "si-Sinh-LK" }, + { "sk", "sk-Latn-SK" }, + { "sl", "sl-Latn-SI" }, + { "sm", "sm-Latn-WS" }, + { "sma", "sma-Latn-SE" }, + { "smj", "smj-Latn-SE" }, + { "smn", "smn-Latn-FI" }, + { "sms", "sms-Latn-FI" }, + { "sn", "sn-Latn-ZW" }, + { "so", "so-Latn-SO" }, + { "sq", "sq-Latn-AL" }, + { "sr", "sr-Cyrl-RS" }, + { "sr-ME", "sr-Latn-ME" }, + { "sr-RO", "sr-Latn-RO" }, + { "sr-RU", "sr-Latn-RU" }, + { "sr-TR", "sr-Latn-TR" }, + { "ss", "ss-Latn-ZA" }, + { "ssy", "ssy-Latn-ER" }, + { "st", "st-Latn-ZA" }, + { "su", "su-Latn-ID" }, + { "sv", "sv-Latn-SE" }, + { "sw", "sw-Latn-TZ" }, + { "syr", "syr-Syrc-IQ" }, + { "ta", "ta-Taml-IN" }, + { "te", "te-Telu-IN" }, + { "teo", "teo-Latn-UG" }, + { "tg", "tg-Cyrl-TJ" }, + { "tg-Arab", "tg-Arab-PK" }, + { "tg-PK", "tg-Arab-PK" }, + { "th", "th-Thai-TH" }, + { "ti", "ti-Ethi-ET" }, + { "tig", "tig-Ethi-ER" }, + { "tk", "tk-Latn-TM" }, + { "tl", "tl-Latn-PH" }, + { "tn", "tn-Latn-ZA" }, + { "to", "to-Latn-TO" }, + { "tr", "tr-Latn-TR" }, + { "ts", "ts-Latn-ZA" }, + { "tt", "tt-Cyrl-RU" }, + { "twq", "twq-Latn-NE" }, + { "tzm", "tzm-Latn-MA" }, + { "ug", "ug-Arab-CN" }, + { "ug-Cyrl", "ug-Cyrl-KZ" }, + { "ug-KZ", "ug-Cyrl-KZ" }, + { "ug-MN", "ug-Cyrl-MN" }, + { "uk", "uk-Cyrl-UA" }, + { "ur", "ur-Arab-PK" }, + { "uz", "uz-Latn-UZ" }, + { "uz-AF", "uz-Arab-AF" }, + { "uz-Arab", "uz-Arab-AF" }, + { "uz-CN", "uz-Cyrl-CN" }, + { "vai", "vai-Vaii-LR" }, + { "ve", "ve-Latn-ZA" }, + { "vi", "vi-Latn-VN" }, + { "vo", "vo-Latn-001" }, + { "vun", "vun-Latn-TZ" }, + { "wae", "wae-Latn-CH" }, + { "wal", "wal-Ethi-ET" }, + { "wo", "wo-Latn-SN" }, + { "xh", "xh-Latn-ZA" }, + { "xog", "xog-Latn-UG" }, + { "yav", "yav-Latn-CM" }, + { "yi", "yi-Hebr-UA" }, + { "yo", "yo-Latn-NG" }, + { "za", "za-Latn-CN" }, + { "zgh", "zgh-Tfng-MA" }, + { "zh", "zh-Hans-CN" }, + { "zh-AU", "zh-Hant-AU" }, + { "zh-BN", "zh-Hant-BN" }, + { "zh-Bopo", "zh-Bopo-TW" }, + { "zh-GB", "zh-Hant-GB" }, + { "zh-GF", "zh-Hant-GF" }, + { "zh-HK", "zh-Hant-HK" }, + { "zh-Hanb", "zh-Hanb-TW" }, + { "zh-Hant", "zh-Hant-TW" }, + { "zh-ID", "zh-Hant-ID" }, + { "zh-MO", "zh-Hant-MO" }, + { "zh-PA", "zh-Hant-PA" }, + { "zh-PF", "zh-Hant-PF" }, + { "zh-PH", "zh-Hant-PH" }, + { "zh-SR", "zh-Hant-SR" }, + { "zh-TH", "zh-Hant-TH" }, + { "zh-TW", "zh-Hant-TW" }, + { "zh-US", "zh-Hant-US" }, + { "zh-VN", "zh-Hant-VN" }, + { "zu", "zu-Latn-ZA" }, + + { nullptr, nullptr } +}; +// --- --- --- generated code ends here --- --- --- + +#endif // _WX_PRIVATE_LANG_LIKELY_H_ diff --git a/include/wx/private/lang_match.h b/include/wx/private/lang_match.h new file mode 100644 index 0000000000..1290536d06 --- /dev/null +++ b/include/wx/private/lang_match.h @@ -0,0 +1,214 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/private/lang_match.h +// Purpose: Mapping of language matchings +// Author: misc/languages/genlang.py +// Created: 2024-10-04 +// Copyright: (c) 2024 wxWidgets development team +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// WARNING: Parts of this file are generated. See misc/languages/README for +// details. + +#ifndef _WX_PRIVATE_LANG_MATCH_H_ +#define _WX_PRIVATE_LANG_MATCH_H_ + +// ---------------------------------------------------------------------------- +// Mapping of pairs of desired and supported languages to language distances +// ---------------------------------------------------------------------------- + +// --- --- --- generated code begins here --- --- --- + +// The following data tables are generated by misc/languages/genlang.py +// When making changes, please put them into misc/languages/matchingtabl.txt + +// Data table for matching languages +static const struct matchData_t +{ + const char* matchkey; + int matchval; +} +tabMatchData[] = +{ + { "aa:ssy", 4 }, + { "ab:ru", 30 }, + { "af:nl", 20 }, + { "ak:en", 30 }, + { "am:en", 30 }, + { "am-Ethi:en-Latn", 10 }, + { "ar-Latn:ar-Arab", 20 }, + { "ay:es", 20 }, + { "az:ru", 30 }, + { "az-Latn:ru-Cyrl", 10 }, + { "be:ru", 20 }, + { "bem:en", 30 }, + { "bh:hi", 30 }, + { "bn:en", 30 }, + { "bn-Beng:en-Latn", 10 }, + { "bn-Latn:bn-Beng", 20 }, + { "bo:zh", 20 }, + { "bo-Tibt:zh-Hans", 10 }, + { "br:fr", 20 }, + { "bs:hr", 4 }, + { "bs:sh", 4 }, + { "ca:es", 20 }, + { "ceb:fil", 30 }, + { "chr:en", 20 }, + { "co:fr", 20 }, + { "cs:sk", 20 }, + { "cy:en", 20 }, + { "da:nb", 8 }, + { "da:no", 8 }, + { "ee:en", 30 }, + { "eo:en", 30 }, + { "eu:es", 20 }, + { "fo:da", 20 }, + { "fy:nl", 20 }, + { "ga:en", 20 }, + { "gd:en", 20 }, + { "gl:es", 20 }, + { "gn:es", 20 }, + { "gsw:de", 4 }, + { "gu:hi", 30 }, + { "gu-Latn:gu-Gujr", 20 }, + { "ha:en", 30 }, + { "haw:en", 20 }, + { "hi-Latn:hi-Deva", 20 }, + { "hr:bs", 4 }, + { "hr:sh", 4 }, + { "hy:ru", 30 }, + { "hy-Armn:ru-Cyrl", 10 }, + { "ia:en", 30 }, + { "id:ms", 10 }, + { "ig:en", 30 }, + { "is:en", 20 }, + { "ja-Hani:ja-Jpan", 5 }, + { "ja-Hira:ja-Hrkt", 5 }, + { "ja-Hira:ja-Jpan", 5 }, + { "ja-Hrkt:ja-Jpan", 5 }, + { "ja-Kana:ja-Hrkt", 5 }, + { "ja-Kana:ja-Jpan", 5 }, + { "ja-Latn:ja-Jpan", 5 }, + { "jv:id", 20 }, + { "ka:en", 30 }, + { "ka-Geor:en-Latn", 10 }, + { "kk:ru", 30 }, + { "km:en", 30 }, + { "km-Khmr:en-Latn", 10 }, + { "kn:en", 30 }, + { "kn-Knda:en-Latn", 10 }, + { "kn-Latn:kn-Knda", 20 }, + { "ko-Hang:ko-Kore", 5 }, + { "ko-Hani:ko-Kore", 5 }, + { "ko-Jamo:ko-Hang", 5 }, + { "ko-Jamo:ko-Kore", 5 }, + { "ku:tr", 30 }, + { "ky:ru", 30 }, + { "la:it", 20 }, + { "lb:de", 4 }, + { "lg:en", 30 }, + { "ln:fr", 30 }, + { "lo:en", 30 }, + { "lo-Laoo:en-Latn", 10 }, + { "mai:hi", 20 }, + { "mfe:en", 30 }, + { "mg:fr", 30 }, + { "mi:en", 20 }, + { "ml:en", 30 }, + { "ml-Latn:ml-Mlym", 20 }, + { "ml-Mlym:en-Latn", 10 }, + { "mn:ru", 30 }, + { "mr:hi", 30 }, + { "mr-Latn:mr-Deva", 20 }, + { "ms:id", 30 }, + { "mt:en", 30 }, + { "my:en", 30 }, + { "my-Mymr:en-Latn", 10 }, + { "nb:da", 8 }, + { "nb:nn", 20 }, + { "nb:no", 1 }, + { "ne:en", 30 }, + { "ne-Deva:en-Latn", 10 }, + { "nn:nb", 20 }, + { "nn:no", 20 }, + { "no:da", 8 }, + { "no:nb", 1 }, + { "no:nn", 20 }, + { "nso:en", 30 }, + { "nyn:en", 30 }, + { "oc:fr", 20 }, + { "om:en", 30 }, + { "or:en", 30 }, + { "or-Orya:en-Latn", 10 }, + { "pa:en", 30 }, + { "pa-Guru:en-Latn", 10 }, + { "pcm:en", 20 }, + { "ps:en", 30 }, + { "ps-Arab:en-Latn", 10 }, + { "qu:es", 30 }, + { "rm:de", 20 }, + { "rn:en", 30 }, + { "rw:fr", 30 }, + { "sa:hi", 30 }, + { "sd:en", 30 }, + { "sd-Arab:en-Latn", 10 }, + { "sh:bs", 4 }, + { "sh:hr", 4 }, + { "sh:sr", 4 }, + { "si:en", 30 }, + { "si-Sinh:en-Latn", 10 }, + { "sk:cs", 20 }, + { "sn:en", 30 }, + { "so:en", 30 }, + { "sq:en", 30 }, + { "sr:sh", 4 }, + { "sr-Cyrl:sr-Latn", 5 }, + { "sr-Latn:sr-Cyrl", 5 }, + { "ssy:aa", 4 }, + { "st:en", 30 }, + { "su:id", 20 }, + { "sw:en", 30 }, + { "ta:en", 30 }, + { "ta-Latn:ta-Taml", 20 }, + { "ta-Taml:en-Latn", 10 }, + { "te:en", 30 }, + { "te-Latn:te-Telu", 20 }, + { "te-Telu:en-Latn", 10 }, + { "tg:ru", 30 }, + { "ti:en", 30 }, + { "ti-Ethi:en-Latn", 10 }, + { "tk:ru", 30 }, + { "tk-Latn:ru-Cyrl", 10 }, + { "tn:en", 30 }, + { "to:en", 30 }, + { "tt:ru", 30 }, + { "ug:zh", 20 }, + { "ur:en", 30 }, + { "ur-Arab:en-Latn", 10 }, + { "uz:ru", 30 }, + { "uz-Latn:ru-Cyrl", 10 }, + { "wo:fr", 30 }, + { "xh:en", 30 }, + { "yi:en", 30 }, + { "yi-Hebr:en-Latn", 10 }, + { "yo:en", 30 }, + { "za:zh", 20 }, + { "za-Latn:zh-Hans", 10 }, + { "zh-Hani:zh-Hans", 20 }, + { "zh-Hani:zh-Hant", 20 }, + { "zh-Latn:zh-Hans", 20 }, + { "zu:en", 30 }, + { "*:*", 80 }, + { "*-*:*-*", 50 }, + { "*-*-*:*-*-*", 4 }, + { "ar-*-*:ar-*-*", 5 }, + { "en-*-*:en-*-*", 5 }, + { "es-*-*:es-*-*", 5 }, + { "pt-*-*:pt-*-*", 5 }, + { "zh-Hant-*:zh-Hant-*", 5 }, + + { nullptr, 0 } +}; +// --- --- --- generated code ends here --- --- --- + +#endif // _WX_PRIVATE_LANG_MATCH_H_ diff --git a/include/wx/private/lang_regions.h b/include/wx/private/lang_regions.h new file mode 100644 index 0000000000..7ba85e7770 --- /dev/null +++ b/include/wx/private/lang_regions.h @@ -0,0 +1,170 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/private/lang_regions.h +// Purpose: Mapping of region groups for selected languages +// Author: misc/languages/genlang.py +// Created: 2024-10-04 +// Copyright: (c) 2024 wxWidgets development team +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// WARNING: Parts of this file are generated. See misc/languages/README for +// details. + +#ifndef _WX_PRIVATE_LANG_REGIONS_H_ +#define _WX_PRIVATE_LANG_REGIONS_H_ + +// ---------------------------------------------------------------------------- +// Mapping of region groups +// ---------------------------------------------------------------------------- + +// --- --- --- generated code begins here --- --- --- + +// The following data tables are generated by misc/languages/genlang.py +// When making changes, please put them into misc/languages/regiongrouptabl.txt + +// Data table for region groups +static const struct regionGroupData_t +{ + const char* language; + const char* country; +} +regionGroupData[] = +{ + { "ar", "DZ" }, + { "ar", "EH" }, + { "ar", "LY" }, + { "ar", "MA" }, + { "ar", "MR" }, + { "ar", "TN" }, + { "en", "AS" }, + { "en", "CA" }, + { "en", "GU" }, + { "en", "MH" }, + { "en", "MP" }, + { "en", "PH" }, + { "en", "PR" }, + { "en", "UM" }, + { "en", "US" }, + { "en", "VI" }, + { "es", "AG" }, + { "es", "AI" }, + { "es", "AR" }, + { "es", "AW" }, + { "es", "BB" }, + { "es", "BL" }, + { "es", "BM" }, + { "es", "BO" }, + { "es", "BQ" }, + { "es", "BR" }, + { "es", "BS" }, + { "es", "BV" }, + { "es", "BZ" }, + { "es", "CA" }, + { "es", "CL" }, + { "es", "CO" }, + { "es", "CR" }, + { "es", "CU" }, + { "es", "CW" }, + { "es", "DM" }, + { "es", "DO" }, + { "es", "EC" }, + { "es", "FK" }, + { "es", "GD" }, + { "es", "GF" }, + { "es", "GL" }, + { "es", "GP" }, + { "es", "GS" }, + { "es", "GT" }, + { "es", "GY" }, + { "es", "HN" }, + { "es", "HT" }, + { "es", "JM" }, + { "es", "KN" }, + { "es", "KY" }, + { "es", "LC" }, + { "es", "MF" }, + { "es", "MQ" }, + { "es", "MS" }, + { "es", "MX" }, + { "es", "NI" }, + { "es", "PA" }, + { "es", "PE" }, + { "es", "PM" }, + { "es", "PR" }, + { "es", "PY" }, + { "es", "SR" }, + { "es", "SV" }, + { "es", "SX" }, + { "es", "TC" }, + { "es", "TT" }, + { "es", "US" }, + { "es", "UY" }, + { "es", "VC" }, + { "es", "VE" }, + { "es", "VG" }, + { "es", "VI" }, + { "pt", "AG" }, + { "pt", "AI" }, + { "pt", "AR" }, + { "pt", "AW" }, + { "pt", "BB" }, + { "pt", "BL" }, + { "pt", "BM" }, + { "pt", "BO" }, + { "pt", "BQ" }, + { "pt", "BR" }, + { "pt", "BS" }, + { "pt", "BV" }, + { "pt", "BZ" }, + { "pt", "CA" }, + { "pt", "CL" }, + { "pt", "CO" }, + { "pt", "CR" }, + { "pt", "CU" }, + { "pt", "CW" }, + { "pt", "DM" }, + { "pt", "DO" }, + { "pt", "EC" }, + { "pt", "FK" }, + { "pt", "GD" }, + { "pt", "GF" }, + { "pt", "GL" }, + { "pt", "GP" }, + { "pt", "GS" }, + { "pt", "GT" }, + { "pt", "GY" }, + { "pt", "HN" }, + { "pt", "HT" }, + { "pt", "JM" }, + { "pt", "KN" }, + { "pt", "KY" }, + { "pt", "LC" }, + { "pt", "MF" }, + { "pt", "MQ" }, + { "pt", "MS" }, + { "pt", "MX" }, + { "pt", "NI" }, + { "pt", "PA" }, + { "pt", "PE" }, + { "pt", "PM" }, + { "pt", "PR" }, + { "pt", "PY" }, + { "pt", "SR" }, + { "pt", "SV" }, + { "pt", "SX" }, + { "pt", "TC" }, + { "pt", "TT" }, + { "pt", "US" }, + { "pt", "UY" }, + { "pt", "VC" }, + { "pt", "VE" }, + { "pt", "VG" }, + { "pt", "VI" }, + { "zh-Hant", "HK" }, + { "zh-Hant", "MO" }, + + { nullptr, nullptr } +}; +// --- --- --- generated code ends here --- --- --- + +#endif // _WX_PRIVATE_LANG_REGIONS_H_ diff --git a/include/wx/private/lang_scripts.h b/include/wx/private/lang_scripts.h new file mode 100644 index 0000000000..cd958ed051 --- /dev/null +++ b/include/wx/private/lang_scripts.h @@ -0,0 +1,206 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/private/lang_scripts.h +// Purpose: Mapping of language script ids +// Author: misc/languages/genlang.py +// Created: 2024-10-04 +// Copyright: (c) 2024 wxWidgets development team +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// WARNING: Parts of this file are generated. See misc/languages/README for +// details. + +#ifndef _WX_PRIVATE_LANG_SCRIPTS_H_ +#define _WX_PRIVATE_LANG_SCRIPTS_H_ + +// ---------------------------------------------------------------------------- +// Mapping of known script ids to POSIX modifiers +// ---------------------------------------------------------------------------- + +// --- --- --- generated code begins here --- --- --- + +// The following data tables are generated by misc/languages/genlang.py +// When making changes, please put them into misc/languages/scripttabl.txt + +// Data table for known language scripts +static const struct scriptData_t +{ + const char* scname; + const char* scalias; +} +tabScriptData[] = +{ + { "Adlm", "adlam" }, + { "Aghb", "caucasian_albanian" }, + { "Ahom", "ahom" }, + { "Arab", "arabic" }, + { "Armi", "imperial_aramaic" }, + { "Armn", "armenian" }, + { "Avst", "avestan" }, + { "Bali", "balinese" }, + { "Bamu", "bamum" }, + { "Bass", "bassa_vah" }, + { "Batk", "batak" }, + { "Beng", "bengali" }, + { "Bhks", "bhaiksuki" }, + { "Bopo", "bopomofo" }, + { "Brah", "brahmi" }, + { "Brai", "braille" }, + { "Bugi", "buginese" }, + { "Buhd", "buhid" }, + { "Cakm", "chakma" }, + { "Cans", "canadian_aboriginal" }, + { "Cari", "carian" }, + { "Cham", "cham" }, + { "Cher", "cherokee" }, + { "Chrs", "chorasmian" }, + { "Copt", "coptic" }, + { "Cpmn", "cypro_minoan" }, + { "Cprt", "cypriot" }, + { "Cyrl", "cyrillic" }, + { "Deva", "devanagari" }, + { "Diak", "dives_akuru" }, + { "Dogr", "dogra" }, + { "Dsrt", "deseret" }, + { "Dupl", "duployan" }, + { "Egyp", "egyptian_hieroglyphs" }, + { "Elba", "elbasan" }, + { "Elym", "elymaic" }, + { "Ethi", "ethiopic" }, + { "Geok", "georgian" }, + { "Geor", "georgian" }, + { "Glag", "glagolitic" }, + { "Gong", "gunjala_gondi" }, + { "Gonm", "masaram_gondi" }, + { "Goth", "gothic" }, + { "Gran", "grantha" }, + { "Grek", "greek" }, + { "Gujr", "gujarati" }, + { "Guru", "gurmukhi" }, + { "Hang", "hangul" }, + { "Hani", "han" }, + { "Hano", "hanunoo" }, + { "Hans", "Hans" }, + { "Hant", "Hant" }, + { "Hatr", "hatran" }, + { "Hebr", "hebrew" }, + { "Hira", "hiragana" }, + { "Hluw", "anatolian_hieroglyphs" }, + { "Hmng", "pahawh_hmong" }, + { "Hmnp", "nyiakeng_puachue_hmong" }, + { "Hrkt", "katakana_or_hiragana" }, + { "Hung", "old_hungarian" }, + { "Ital", "old_italic" }, + { "Java", "javanese" }, + { "Kali", "kayah_li" }, + { "Kana", "katakana" }, + { "Kawi", "kawi" }, + { "Khar", "kharoshthi" }, + { "Khmr", "khmer" }, + { "Khoj", "khojki" }, + { "Kits", "khitan_small_script" }, + { "Knda", "kannada" }, + { "Kthi", "kaithi" }, + { "Lana", "tai_tham" }, + { "Laoo", "lao" }, + { "Latn", "latin" }, + { "Lepc", "lepcha" }, + { "Limb", "limbu" }, + { "Lina", "linear_a" }, + { "Linb", "linear_b" }, + { "Lisu", "lisu" }, + { "Lyci", "lycian" }, + { "Lydi", "lydian" }, + { "Mahj", "mahajani" }, + { "Maka", "makasar" }, + { "Mand", "mandaic" }, + { "Mani", "manichaean" }, + { "Marc", "marchen" }, + { "Medf", "medefaidrin" }, + { "Mend", "mende_kikakui" }, + { "Merc", "meroitic_cursive" }, + { "Mero", "meroitic_hieroglyphs" }, + { "Mlym", "malayalam" }, + { "Modi", "modi" }, + { "Mong", "mongolian" }, + { "Mroo", "mro" }, + { "Mtei", "meetei_mayek" }, + { "Mult", "multani" }, + { "Mymr", "myanmar" }, + { "Nagm", "nag_mundari" }, + { "Nand", "nandinagari" }, + { "Narb", "old_north_arabian" }, + { "Nbat", "nabataean" }, + { "Newa", "newa" }, + { "Nkoo", "nko" }, + { "Nshu", "nushu" }, + { "Ogam", "ogham" }, + { "Olck", "ol_chiki" }, + { "Orkh", "old_turkic" }, + { "Orya", "oriya" }, + { "Osge", "osage" }, + { "Osma", "osmanya" }, + { "Ougr", "old_uyghur" }, + { "Palm", "palmyrene" }, + { "Pauc", "pau_cin_hau" }, + { "Perm", "old_permic" }, + { "Phag", "phags_pa" }, + { "Phli", "inscriptional_pahlavi" }, + { "Phlp", "psalter_pahlavi" }, + { "Phnx", "phoenician" }, + { "Plrd", "miao" }, + { "Prti", "inscriptional_parthian" }, + { "Rjng", "rejang" }, + { "Rohg", "hanifi_rohingya" }, + { "Runr", "runic" }, + { "Samr", "samaritan" }, + { "Sarb", "old_south_arabian" }, + { "Saur", "saurashtra" }, + { "Sgnw", "signwriting" }, + { "Shaw", "shavian" }, + { "Shrd", "sharada" }, + { "Sidd", "siddham" }, + { "Sind", "khudawadi" }, + { "Sinh", "sinhala" }, + { "Sogd", "sogdian" }, + { "Sogo", "old_sogdian" }, + { "Sora", "sora_sompeng" }, + { "Soyo", "soyombo" }, + { "Sund", "sundanese" }, + { "Sylo", "syloti_nagri" }, + { "Syrc", "syriac" }, + { "Tagb", "tagbanwa" }, + { "Takr", "takri" }, + { "Tale", "tai_le" }, + { "Talu", "new_tai_lue" }, + { "Taml", "tamil" }, + { "Tang", "tangut" }, + { "Tavt", "tai_viet" }, + { "Telu", "telugu" }, + { "Tfng", "tifinagh" }, + { "Tglg", "tagalog" }, + { "Thaa", "thaana" }, + { "Thai", "thai" }, + { "Tibt", "tibetan" }, + { "Tirh", "tirhuta" }, + { "Tnsa", "tangsa" }, + { "Toto", "toto" }, + { "Ugar", "ugaritic" }, + { "Vaii", "vai" }, + { "Vith", "vithkuqi" }, + { "Wara", "warang_citi" }, + { "Wcho", "wancho" }, + { "Xpeo", "old_persian" }, + { "Xsux", "cuneiform" }, + { "Yezi", "yezidi" }, + { "Yiii", "yi" }, + { "Zanb", "zanabazar_square" }, + { "Zinh", "inherited" }, + { "Zyyy", "common" }, + { "Zzzz", "unknown" }, + + { nullptr, nullptr } +}; +// --- --- --- generated code ends here --- --- --- + +#endif // _WX_PRIVATE_LANG_SCRIPTS_H_ diff --git a/include/wx/private/uilocale.h b/include/wx/private/uilocale.h index c543a24b2a..d2d0eb8996 100644 --- a/include/wx/private/uilocale.h +++ b/include/wx/private/uilocale.h @@ -100,6 +100,41 @@ public: int flags) const = 0; virtual ~wxUILocaleImpl() = default; + + // These two methods are for internal use only. First one creates the + // global language database if it doesn't already exist, second one destroys + // it. + static void CreateLanguagesDB(); + static void DestroyLanguagesDB(); + + // Creates the global tables of languages and scripts called by CreateLanguagesDB + static void InitLanguagesDB(); + + // These two methods are for internal use only. + // wxLocaleIdent expects script identifiers as listed in ISO 15924. + // However, directory names for translation catalogs follow the + // Unix convention, using script aliases as listed in ISO 15924. + // First one converts a script name to its alias, second converts + // a script alias to its corresponding script name. + // Both methods return empty strings, if the script name or alias + // couldn't be found. + static wxString GetScriptAliasFromName(const wxString& scriptName); + static wxString GetScriptNameFromAlias(const wxString& scriptAlias); + + // These three methods are for internal use only. + // The new algorithm for determine the best translation language + // uses them. + // First one expands a locale tag using most likely subtags for script + // and region. The method returns an empty string, if a matching tag + // couldn't be found. + // Second one determines the matching distance between locale tags. + // The method returns -1, if no match was found. + // Third one determines whether 2 regions belong to the same region + // group of the given language. The method returns false, if no + // region group is defined for the given language. + static wxString GetLikelySubtags(const wxString & fromTag); + static int GetMatchDistance(const wxString& desired, const wxString& supported); + static bool SameRegionGroup(const wxString& language, const wxString& desiredRegion, const wxString& supportedRegion); }; #endif // _WX_PRIVATE_UILOCALE_H_ diff --git a/include/wx/uilocale.h b/include/wx/uilocale.h index 7eea1a0ab0..84eec054c5 100644 --- a/include/wx/uilocale.h +++ b/include/wx/uilocale.h @@ -28,6 +28,13 @@ enum wxCompare_CaseInsensitive = 1 }; +// Flags for wxLocaleIdent::RemoveLikelySubtags(). +enum +{ + wxSubtags_FavourRegion = 0, + wxSubtags_FavourScript = 1 +}; + // ---------------------------------------------------------------------------- // wxLocaleIdent: allows to fully identify a locale under all platforms // ---------------------------------------------------------------------------- @@ -87,6 +94,11 @@ public: return m_language.empty(); } + // Methods for internal use only + // Find the best match between desired and supported languages/locales. + static wxString GetBestMatch(const wxVector& desired, const wxVector& supported); + static wxString GetBestMatch(const wxString& desired, const wxVector& supported); + private: wxString m_tag; @@ -97,6 +109,12 @@ private: wxString m_modifier; wxString m_extension; wxString m_sortorder; + + // Add likely subtags to a given locale identifier. + static wxLocaleIdent AddLikelySubtags(const wxLocaleIdent& localeIdent); + + // Remove likely subtags from a given locale identifier, favor region. + static wxLocaleIdent RemoveLikelySubtags(const wxLocaleIdent& localeIdent, int subtagsFavour = wxSubtags_FavourRegion); }; // ---------------------------------------------------------------------------- @@ -221,31 +239,11 @@ public: // 2) must be called before Init to have effect static void AddLanguage(const wxLanguageInfo& info); - // These two methods are for internal use only. First one creates the - // global language database if it doesn't already exist, second one destroys - // it. - static void CreateLanguagesDB(); - static void DestroyLanguagesDB(); - - // These two methods are for internal use only. - // wxLocaleIdent expects script identifiers as listed in ISO 15924. - // However, directory names for translation catalogs follow the - // Unix convention, using script aliases as listed in ISO 15924. - // First one converts a script name to its alias, second converts - // a script alias to its corresponding script name. - // Both methods return empty strings, if the script name or alias - // couldn't be found. - static wxString GetScriptAliasFromName(const wxString& scriptName); - static wxString GetScriptNameFromAlias(const wxString& scriptAlias); - private: // This ctor is private and exists only for implementation reasons. // It takes ownership of the provided pointer. explicit wxUILocale(wxUILocaleImpl* impl = nullptr) : m_impl(impl) { } - // Creates the global tables of languages and scripts called by CreateLanguagesDB - static void InitLanguagesDB(); - static wxUILocale ms_current; wxUILocaleImpl* m_impl; diff --git a/interface/wx/language.h b/interface/wx/language.h index 581f73cadb..7c46c99ac7 100644 --- a/interface/wx/language.h +++ b/interface/wx/language.h @@ -176,8 +176,6 @@ enum wxLanguage wxLANGUAGE_DANISH, wxLANGUAGE_DANISH_DENMARK, ///< @since_wx{3.1.6} wxLANGUAGE_DANISH_GREENLAND, ///< @since_wx{3.1.6} - wxLANGUAGE_DARI, ///< @since_wx{3.1.6} - wxLANGUAGE_DARI_AFGHANISTAN, ///< @since_wx{3.1.6} wxLANGUAGE_DIVEHI, ///< @since_wx{3.1.6} wxLANGUAGE_DIVEHI_MALDIVES, ///< @since_wx{3.1.6} wxLANGUAGE_DOGRI, ///< @since_wx{3.3.0} @@ -501,8 +499,8 @@ enum wxLanguage wxLANGUAGE_KHMER, wxLANGUAGE_KHMER_CAMBODIA, ///< @since_wx{3.1.6} wxLANGUAGE_KICHE, ///< @since_wx{3.1.6} - wxLANGUAGE_KICHE_GUATEMALA, ///< @since_wx{3.1.6} wxLANGUAGE_KICHE_LATIN, ///< @since_wx{3.1.6} + wxLANGUAGE_KICHE_LATIN_GUATEMALA, ///< @since_wx{3.1.6} wxLANGUAGE_KIKUYU, ///< @since_wx{3.1.6} wxLANGUAGE_KIKUYU_KENYA, ///< @since_wx{3.1.6} wxLANGUAGE_KINYARWANDA, @@ -655,6 +653,7 @@ enum wxLanguage wxLANGUAGE_PASHTO_AFGHANISTAN, ///< @since_wx{3.1.6} wxLANGUAGE_PASHTO_PAKISTAN, ///< @since_wx{3.1.6} wxLANGUAGE_PERSIAN, + wxLANGUAGE_PERSIAN_AFGHANISTAN, ///< @since_wx{3.3.0} wxLANGUAGE_PERSIAN_IRAN, ///< @since_wx{3.1.6} wxLANGUAGE_POLISH, wxLANGUAGE_POLISH_POLAND, ///< @since_wx{3.1.6} @@ -837,7 +836,8 @@ enum wxLanguage wxLANGUAGE_TACHELHIT_LATIN_MOROCCO, ///< @since_wx{3.1.6} wxLANGUAGE_TACHELHIT_TIFINAGH, ///< @since_wx{3.1.6} wxLANGUAGE_TACHELHIT_TIFINAGH_MOROCCO, ///< @since_wx{3.1.6} - wxLANGUAGE_TAGALOG, + wxLANGUAGE_TAGALOG, ///< @since_wx{3.3.0} + wxLANGUAGE_TAGALOG_PHILIPPINES, wxLANGUAGE_TAITA, ///< @since_wx{3.1.6} wxLANGUAGE_TAITA_KENYA, ///< @since_wx{3.1.6} wxLANGUAGE_TAJIK, @@ -873,7 +873,7 @@ enum wxLanguage wxLANGUAGE_TSONGA_SOUTH_AFRICA, ///< @since_wx{3.1.6} wxLANGUAGE_TURKISH, wxLANGUAGE_TURKISH_CYPRUS, ///< @since_wx{3.1.6} - wxLANGUAGE_TURKISH_TURKEY, ///< @since_wx{3.1.6} + wxLANGUAGE_TURKISH_TURKIYE, ///< @since_wx{3.1.6} wxLANGUAGE_TURKMEN, wxLANGUAGE_TURKMEN_TURKMENISTAN, ///< @since_wx{3.1.6} wxLANGUAGE_TWI, @@ -946,17 +946,21 @@ enum wxLanguage wxLANGUAGE_CHINESE_MACAU, ///< Synonym for wxLANGUAGE_CHINESE_MACAO. wxLANGUAGE_CHINESE_SIMPLIFIED, ///< Synonym for wxLANGUAGE_CHINESE_CHINA. wxLANGUAGE_CHINESE_TRADITIONAL, ///< Synonym for wxLANGUAGE_CHINESE_TAIWAN. + wxLANGUAGE_DARI, ///< Synonym for wxLANGUAGE_PERSIAN. @since_wx{3.1.6} + wxLANGUAGE_DARI_AFGHANISTAN, ///< Synonym for wxLANGUAGE_PERSIAN_AFGHANISTAN. @since_wx{3.1.6} wxLANGUAGE_FARSI, ///< Synonym for wxLANGUAGE_PERSIAN. wxLANGUAGE_GREENLANDIC, ///< Synonym for wxLANGUAGE_KALAALLISUT_GREENLAND. wxLANGUAGE_KANURI_NIGERIA, ///< Synonym for wxLANGUAGE_KANURI_LATIN_NIGERIA. wxLANGUAGE_KASHMIRI_PERSO_ARABIC, ///< Synonym for wxLANGUAGE_KASHMIRI_ARABIC. @since_wx{3.1.6} wxLANGUAGE_KASHMIRI_PERSO_ARABIC_INDIA, ///< Synonym for wxLANGUAGE_KASHMIRI_ARABIC_INDIA. @since_wx{3.1.6} wxLANGUAGE_KERNEWEK, ///< Synonym for wxLANGUAGE_CORNISH. + wxLANGUAGE_KICHE_GUATEMALA, ///< Synonym for wxLANGUAGE_KICHE_LATIN_GUATEMALA. @since_wx{3.1.6} wxLANGUAGE_KURDISH_PERSO_ARABIC_IRAN, ///< Synonym for wxLANGUAGE_KURDISH_ARABIC_IRAN. wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM, ///< Synonym for wxLANGUAGE_MALAY_BRUNEI. wxLANGUAGE_ORIYA, ///< Synonym for wxLANGUAGE_ODIA. wxLANGUAGE_ORIYA_INDIA, ///< Synonym for wxLANGUAGE_ODIA_INDIA. wxLANGUAGE_SPANISH_MODERN, ///< Synonym for wxLANGUAGE_SPANISH. + wxLANGUAGE_TURKISH_TURKEY, ///< Synonym for wxLANGUAGE_TURKISH_TURKIYE. @since_wx{3.1.6} wxLANGUAGE_UZBEK_PERSO_ARABIC, ///< Synonym for wxLANGUAGE_UZBEK_ARABIC. @since_wx{3.1.6} wxLANGUAGE_UZBEK_PERSO_ARABIC_AFGHANISTAN, ///< Synonym for wxLANGUAGE_UZBEK_ARABIC_AFGHANISTAN. @since_wx{3.1.6} }; diff --git a/misc/languages/README b/misc/languages/README index 9cc44427c5..c1800a70c8 100644 --- a/misc/languages/README +++ b/misc/languages/README @@ -1,9 +1,22 @@ -Run the genlang.py script from the top level wxWidgets directory to -update include/wx/language.h (wxLanguage enum), interface/wx/language.h -(its documentation) and src/common/languageinfo.cpp (conversion tables) -with the data from langtabl.txt, synonymtabl.txt, and scripttabl.txt. +# The wxWidgets language database -langtabl.txt contains a tabular list of language entries. Each entry +## Regeneration of the wxWidgets language database related files + +Run the `genlang.py` script from the top level wxWidgets directory to +update `include/wx/language.h` (wxLanguage enum), `interface/wx/language.h` +(its documentation), `src/common/languageinfo.cpp` (conversion tables) +and the actual tabular data in `include/wx/private/lang_*.h` with the data +from `langtabl.txt`, `synonymtabl.txt`, `scripttabl.txt`, `likelytabl.txt`, +`matchingtabl.txt`, and `regiongrouptabl.txt`. + +The files with the raw tabular data - `langtabl.txt`, `synonymtabl.txt`, +`scripttabl.txt`, `likelytabl.txt`, `matchingtabl.txt`, and +`regiongrouptabl.txt` - are derived from public data of the Unicode +organization. The scripts to generate the files are provided. + +## Description of the raw data files + +`langtabl.txt` contains a tabular list of language entries. Each entry contains - a symbolic language identifier used in enum wxLanguage, @@ -18,24 +31,48 @@ contains - language and region description in English - language and region description in native language. -scripttabl.txt contains a list of 4-letter script codes and their +`scripttabl.txt` contains a list of 4-letter script codes and their aliases (English) based on the ISO 15924 standard (2), restricted to entries for which aliases are defined. This list is used in wxWidgets to convert between script code used in BCP 47-like identifiers and script modifiers used in Unix locale names. The data in (2) can be used to update scripttabl.txt if necessary. -synonymtabl.txt contains a list of aliases for symbolic language identifiers. +`synonymtabl.txt` contains a list of aliases for symbolic language identifiers. This list is used to generate specific entries in wxLanguage enumeration. -Note: None of the files langtabl.txt, synonymtabl.txt, and scripttabl.txt should be +The following 3 files are used in the algorithm determining the best translation +language based on the list of preferred UI languages and the list of available +translations. + +`likelytabl.txt` contains for most locales the likely subtags for script and +region. + +`matchingtabl.txt` contains a map relating languages to possible replacement +languages giving the relative distance between 2 languages. + +`regiongrouptabl.txt` contains for some languages region groups. This allows +to determine whether certain regional language variants are closer to each +other or not. + +**Note**: None of the files `langtabl.txt`, `synonymtabl.txt`, `scripttabl.txt`, +`likelytabl.txt`, `matchingtabl.txt`, and``regiongrouptabl.txt` should be edited manually. Instead these files should be regenerated under Windows 11 or above. +## Regeneration process + Windows provides an extensive list of locales. This list is used to regenerate -the files langtabl.txt, synonymtabl.txt, and scripttabl.txt. The subdirectory -util contains the C source of a small utility application that queries Windows -for a list of known locales. +the files `langtabl.txt`, `synonymtabl.txt`, and `scripttabl.txt`. The +subdirectory `util` contains the C source of a small utility application +`showlocales.c` that queries Windows for a list of known locales. + +**Note**: It is recommended to run `showlocales` on a Windows 11 Pro desktop +computer, because the desktop versions of Windows get updates of locale data +more frequently than server versions of Windows. Unfortunately, there is no +easy method to determine when the locale data were last updated. The date of +last modification of the file `Windows/System32/locale.nls` can be an +indication when the last update occurred. 2 additional tools are required to perform the regeneration process: @@ -46,39 +83,45 @@ for a list of known locales. current SQLite version). Alternatively, the SQLite shell can be compiled from sources - the archive "sqlite-amalgamation-3xxyyzz.zip" contains the required source files. + The scripts expect that the executable `sqlite3.exe` can be found on the path. 2) Lua shell Precompiled binaries are available at https://luabinaries.sourceforge.net/. - Download lua-x.y.z_Win32_bin.zip or lua-x.y.z_Win64_bin.zip (where x, y, z denotes - the lua version) from the download page. Rename the executable luaxy.exe to - luashell.exe or adjust the batch file mklangtablnew.bat accordingly. + Download lua-x.y.z_Win32_bin.zip or lua-x.y.z_Win64_bin.zip (where x, y, z + denotes the lua version) from the download page. + Adjust the script file `misc/languages/data/setupenv.ps1`, so that the + environment variable `$env:luashell` contains the name of the executable, + and add the location of the executables to the path. -The regeneration process consists of the following steps: +All provided scripts are PowerShell scripts. It is recommended to use +PowerShell 7 or higher. The regeneration process consists of the following steps: 1) Regenerate the list of known Windows locales (optional) This step is usually only required when a new major Windows version is published. - The utility showlocales should be invoked from a command prompt as follows: + The utility `showlocales` should be invoked from a command prompt as follows: showlocales > win-locale-table-win.txt - The resulting file win-locale-table-win.txt has to be placed into subdirectory - data/windows. + The resulting file `win-locale-table-win.txt` has to be placed into subdirectory + `data/windows`. Alternatively, the script `getwindowsdata.ps1` can be used. 2) Update the Unicode data files (optional) This step is only required when the Unicode data were actually updated. - To perform this step execute the batch file getunicodefiles.bat, located in the - data subdirectory. + To perform this step execute the script file `getunicodefiles.ps1`, located + in the `data` subdirectory. -3) Regenerate langtabl.txt, synonymtabl.txt, and scripttabl.txt - To perform this step execute the batch file mklangtablnew.bat, located in the - data subdirectory. The new versions will be placed in the data directory. +3) Regenerate the tabular data files `langtabl.txt`, `synonymtabl.txt`, + `scripttabl.txt` etc. + To perform this step execute the script files `gensqlfiles.ps1` and + `makelangdb.ps1`, located in the `data` subdirectory. + The new versions will be placed in the `data` directory. -4) Check resulting new files langtabl.txt, synonymtabl.txt, and scripttabl.txt - The messages from step 3 issued by the batch file and the resulting files should - be carefully checked. If no errors occurred, the batch file replacetables.bat - can be executed. +4) Check the resulting new tabular data. + The messages from step 3 issued by the script files and the resulting files + should be carefully checked. If no errors occurred, the script file + replacetables.bat can be executed. -5) Run the Python script genlang.py from the top level wxWidgets directory. +5) Run the Python script `genlang.py` from the top level wxWidgets directory. 6) Commit the changes. @@ -87,7 +130,7 @@ Notes: The scripts expect the data table files in a new format that was first introduced in version 3.3.0. 2) If you need to add locales not present in the list of known Windows locales, then - they should be added at the end of the script win_genlocaletable.lua. + they should be added at the end of the script `win_genlocaletable.lua`. Footnotes (1) used on Windows only, deprecated by Microsoft diff --git a/misc/languages/data/gensqlfiles.ps1 b/misc/languages/data/gensqlfiles.ps1 new file mode 100644 index 0000000000..45669aae09 --- /dev/null +++ b/misc/languages/data/gensqlfiles.ps1 @@ -0,0 +1,49 @@ +# Generate SQL files + +echo "=== Generate SQL files..." + +# Create a copy of the current wxWidgets tables +echo "-> Create backup copies" +Copy-Item -Path "..\langtabl.txt" -Destination "temp\langtabl_current.txt" +Copy-Item -Path "..\scripttabl.txt" -Destination "temp\scripttabl_current.txt" +Copy-Item -Path "..\synonymtabl.txt" -Destination "temp\synonymtabl_current.txt" +Copy-Item -Path "..\likelytabl.txt" -Destination "temp\likelytabl_current.txt" +Copy-Item -Path "..\matchingtabl.txt" -Destination "temp\matchingtabl_current.txt" +Copy-Item -Path "..\regiongrouptabl.txt" -Destination "temp\regiongrouptabl_current.txt" + +# Generate lists based on Unicode data + +echo "-> Generate SQL for territory codes" +Invoke-Expression "$env:luashell unicode\uni_territorycodes.lua" + +echo "-> Generate SQL for script codes" +Invoke-Expression "$env:luashell unicode\uni_genscriptmap.lua" + +echo "-> Generate SQL for likely subtags" +Invoke-Expression "$env:luashell unicode\uni_getlikely.lua" + +echo "-> Generate SQL for matching language tags" +Invoke-Expression "$env:luashell unicode\uni_getmatch.lua" + +echo "-> Generate SQL for region groups" +Invoke-Expression "$env:luashell unicode\uni_getregions.lua" + +# Generate list of locales based on known Windows locales +echo "-> Generate SQL for known Windows locales" +Invoke-Expression "$env:luashell windows\win_genlocaletable.lua" + +# Generate lists based on current wxWidgets data + +# Extract current wxWidgets version +echo "-> Generate SQL for wxWidgets version" +Invoke-Expression "$env:luashell wx\wx_readversion.lua" + +# Load current version of langtabl.txt +echo "-> Generate SQL for current wxWidgets language database" +Invoke-Expression "$env:luashell wx\wx_loadlangtabl.lua" + +# Load list of current synonyms +echo "-> Generate SQL for current wxWidgets language synonym table" +Invoke-Expression "$env:luashell wx\wx_loadsynonymtabl.lua" + +echo "=== ...SQL files generated." diff --git a/misc/languages/data/getunicodefiles.bat b/misc/languages/data/getunicodefiles.bat deleted file mode 100644 index 96a3b5619a..0000000000 --- a/misc/languages/data/getunicodefiles.bat +++ /dev/null @@ -1,17 +0,0 @@ -rem Download files from Unicode Org - -rem Retrieve working directory -set "workdir=%cd%" - -rem Create backup copies -copy unicode\iso15924.txt unicode\iso15924.txt.bak -copy unicode\territory_codes.txt unicode\territory_codes.txt.bak - -rem Download ISO 15924 (list of scripts) -bitsadmin /transfer wxDownloadJob /download /priority normal https://www.unicode.org/iso15924/iso15924.txt %workdir%\unicode\iso15924.txt - -rem Download ISO 3166 (list of territories) -bitsadmin /transfer wxDownloadJob /download /priority normal https://github.com/unicode-org/cldr/raw/main/tools/cldr-code/src/main/resources/org/unicode/cldr/util/data/territory_codes.txt %workdir%\unicode\territory_codes.txt - -luashell removewhitespace.lua unicode/iso15924.txt -luashell removewhitespace.lua unicode/territory_codes.txt diff --git a/misc/languages/data/getunicodefiles.ps1 b/misc/languages/data/getunicodefiles.ps1 new file mode 100644 index 0000000000..f89f8a5c3b --- /dev/null +++ b/misc/languages/data/getunicodefiles.ps1 @@ -0,0 +1,56 @@ +# Download files from Unicode organization +# +# This script has 2 parameters: +# 1. $cldrRelease [mandatory] - The CLDR release number (i.e. "44-1", "45", "46-beta2" ...) +# 2. -useCurrent [optional] - Download the latest file versions (git HEAD) +param([Parameter(Mandatory=$true)][string]$cldrRelease,[switch] $useCurrent) + +echo "=== Download of Unicode files start..." + +# Create backup copies +echo "-> Create backup copies" +Copy-Item -Path "unicode\iso15924.txt" -Destination "unicode\iso15924.txt.bak" +Copy-Item -Path "unicode\territory_codes.txt" -Destination "unicode\territory_codes.txt.bak" +Copy-Item -Path "unicode\likelySubtags.xml" -Destination "unicode\likelySubtags.xml.bak" +Copy-Item -Path "unicode\languageInfo.xml" -Destination "unicode\languageInfo.xml.bak" +Copy-Item -Path "unicode\supplementalData.xml" -Destination "unicode\supplementalData.xml.bak" + +# Set base URL path for download +if ($useCurrent) +{ + # Download current data + $basePath="https://github.com/unicode-org/cldr/raw/main" +} +else +{ + # Download data of a specific release + $basePath="https://github.com/unicode-org/cldr/raw/refs/tags/release-$cldrRelease" +} +echo "-> URL base path: $basePath" + +# Download ISO 15924 (list of scripts) +Invoke-WebRequest -Uri "https://www.unicode.org/iso15924/iso15924.txt" -OutFile "unicode\iso15924.txt" +echo "-> Download of iso15924.txt completed." + +# Download ISO 3166 (list of territories) +Invoke-WebRequest -Uri "$basePath/tools/cldr-code/src/main/resources/org/unicode/cldr/util/data/territory_codes.txt" -OutFile "unicode\territory_codes.txt" +echo "-> Download of territory_codes.txt completed." + +# Download list of likely subtags +Invoke-WebRequest -Uri "$basePath/common/supplemental/likelySubtags.xml" -OutFile "unicode\likelySubtags.xml" +echo "-> Download of likelySubtags.xml completed." + +# Download list of language infos +Invoke-WebRequest -Uri "$basePath/common/supplemental/languageInfo.xml" -OutFile "unicode\languageInfo.xml" +echo "-> Download of languageInfo.xml completed." + +# Download list of language infos +Invoke-WebRequest -Uri "$basePath/common/supplemental/supplementalData.xml" -OutFile "unicode\supplementalData.xml" +echo "-> Download of supplementalData.xml completed." + +# Remove whitespace from data files +echo "-> Remove whitespace from text files" +Invoke-Expression "$env:luashell removewhitespace.lua unicode/iso15924.txt" +Invoke-Expression "$env:luashell removewhitespace.lua unicode/territory_codes.txt" + +echo "... Download completed." diff --git a/misc/languages/data/getwindowsdata.ps1 b/misc/languages/data/getwindowsdata.ps1 new file mode 100644 index 0000000000..70ad84e6ad --- /dev/null +++ b/misc/languages/data/getwindowsdata.ps1 @@ -0,0 +1,11 @@ +# Retrieve locale data from Windows + +echo "=== Retrieve known locales from Windows..." + +# Create backup copies +Copy-Item -Path "windows\win-locale-table-win.txt" -Destination "windows\win-locale-table-win.txt.bak" + +# Regenerate Windows locale list +..\util\showlocales >windows\win-locale-table-win.txt + +echo "-> File 'win-locale-table-win.txt' generated." diff --git a/misc/languages/data/makelangdb.ps1 b/misc/languages/data/makelangdb.ps1 new file mode 100644 index 0000000000..f1781d5ca9 --- /dev/null +++ b/misc/languages/data/makelangdb.ps1 @@ -0,0 +1,11 @@ +# Create SQLite language database and generate language database files + +echo "=== Create SQLite language database and generate language database files..." + +# Delete old database, if it exists +Remove-Item -Path "localedata.db3" -ErrorAction Ignore + +# Generate new database and new language database files +Invoke-Expression "sqlite3 localedata.db3 `".read mkdatabase.sql`"" + +echo "-> SQLite database and language database files generated." diff --git a/misc/languages/data/mkdatabase.sql b/misc/languages/data/mkdatabase.sql index 6964231e34..9107eae2a0 100644 --- a/misc/languages/data/mkdatabase.sql +++ b/misc/languages/data/mkdatabase.sql @@ -14,7 +14,16 @@ .print Import script map .read temp/uni_loadscriptmap.sql +.print Import likely subtags map +.read temp/uni_loadlikely.sql + +.print Import matching subtags map +.read temp/uni_loadmatching.sql + +.print Import region groups for main languages map +.read temp/uni_loadregiongroups.sql + .read temp/wx_loadversion.sql -.print Generate new tables (langtabl, scripttabl, synonymtabl) +.print Generate new tables (langtabl, scripttabl, synonymtabl, likelytabl, matchingtabl) .read mkwxtables.sql diff --git a/misc/languages/data/mklangtablnew.bat b/misc/languages/data/mklangtablnew.bat deleted file mode 100644 index d1201ebcdb..0000000000 --- a/misc/languages/data/mklangtablnew.bat +++ /dev/null @@ -1,25 +0,0 @@ -rem Batch script to regenerate the list of known locales - -rem Create a copy of the current lists -copy ..\langtabl.txt temp\langtabl_current.txt -copy ..\scripttabl.txt temp\scripttabl_current.txt -copy ..\synonymtabl.txt temp\synonymtabl_current.txt - -rem Generate lists based on Unicode data -luashell unicode\uni_territorycodes.lua -luashell unicode\uni_genscriptmap.lua - -rem Generate list of locales based on known Windows locales -luashell windows\win_genlocaletable.lua - -rem Generate lists based on current wxWidgets data -rem Extract current wxWidgets version -luashell wx\wx_readversion.lua -rem Load current version of langtabl.txt -luashell wx\wx_loadlangtabl.lua -rem Load list of current synonyms -luashell wx\wx_loadsynonymtabl.lua - -rem Generate locale data database -del localedata.db3 -sqlite3 localedata.db3 ".read mkdatabase.sql" diff --git a/misc/languages/data/mkwxtables.sql b/misc/languages/data/mkwxtables.sql index 7bed4c94c4..fd9689d64c 100644 --- a/misc/languages/data/mkwxtables.sql +++ b/misc/languages/data/mkwxtables.sql @@ -23,11 +23,16 @@ select '*** Missing via wx_langmapuni'; select wxlangname, wxlangid from wx_langmapuni where not exists (select wxnameold from wx2winmapping where wxnameold=wxlangname); select '*** Missing via wx_langmap'; select wxlangname, wxlangid from wx_langmap where not exists (select wxname from win_localetable where wxname=wxlangname); + +select '*** Missing locale tags in likely subtags mapping'; +select locid from win_localetable w where length(w.locid) < 4 and not exists (select tagfrom from uni_likelysubtags s where s.tagfrom=w.locid); + .output stdout select ' #missing wxlangmapuni =', count(wxlangname) from wx_langmapuni where not exists (select wxnameold from wx2winmapping where wxnameold=wxlangname); select ' #matched wxlangmapuni =', count(wxlangname) from wx_langmapuni where exists (select wxnameold from wx2winmapping where wxnameold=wxlangname); select ' #matched wx2win =', count(distinct wxnameold) from wx2winmapping where wxnameold <> '-'; +select ' #missing likely tags =', count(locid) from win_localetable w where length(w.locid) < 4 and not exists (select tagfrom from uni_likelysubtags s where s.tagfrom=w.locid); select ' #missing wxlangmap =', count(wxlangname) from wx_langmap where not exists (select wxname from win_localetable where wxname=wxlangname) and not exists (select wxnamesyn from wx_synonyms where wxnamesyn=wxlangname); select wxlangname from wx_langmap where not exists (select wxname from win_localetable where wxname=wxlangname) and not exists (select wxnamesyn from wx_synonyms where wxnamesyn=wxlangname); @@ -73,8 +78,10 @@ select printf('%-55s %-9s %-14s %-25s %-14s %-4s %-4s %s "%s","%s"', .output stdout -- Generate new list of script mappings +-- Special handling for scripts Hans and Hant +update uni_scriptmap set scalias = lower(scalias) where scalias not in ('Hans','Hant'); .output scripttabl.txt -select printf('%-4s %s', sctag, lower(scalias)) from uni_scriptmap where scalias <> '-' order by sctag; +select printf('%-4s %s', sctag, scalias) from uni_scriptmap where scalias <> '-' order by sctag; .output stdout -- Generate new list of wxLANGUAGE synonyms @@ -86,3 +93,22 @@ delete from wx_synonyms where wxnamesyn in (select wxname from win_localetable); .output synonymtabl.txt select printf('%-55s %-55s %-14s %s', wxnamesyn, wxnameprim, winlocid, wxversion) from wx_synonyms order by wxnamesyn; .output stdout + +-- Generate list of likely subtags +.output likelytabl.txt +select printf('%-11s %s', tagfrom, tagto) from uni_likelysubtags t where exists (select w.locid from win_localetable w where substr(w.locid,1,iif(instr(w.locid,'-')>0,instr(w.locid,'-')-1,length(w.locid))) = substr(t.tagfrom,1,iif(instr(t.tagfrom,'-')>0,instr(t.tagfrom,'-')-1,length(t.tagfrom)))) order by tagfrom; +.output stdout + +-- Generate list of language matches +insert into uni_languagematch select supported, desired, distance, 'true' from uni_languagematch where oneway = 'false' and desired <> supported; +.output matchingtabl.txt +-- First all patterns without asterisks or variables +select printf('%-10s %-10s %3d', desired, supported, distance) from uni_languagematch t where desired not like ('%*%') and desired not like ('%$%') and exists (select w.locid from win_localetable w where substr(w.locid,1,iif(instr(w.locid,'-')>0,instr(w.locid,'-')-1,length(w.locid))) = substr(t.desired,1,iif(instr(t.desired,'-')>0,instr(t.desired,'-')-1,length(t.desired)))) order by desired; +-- Include patterns with asterisks, but without variables +select printf('%-10s %-10s %3d', desired, supported, distance) from uni_languagematch t where desired like ('%*%') and desired not like ('%$%') and supported not like ('%$%') order by desired; +.output stdout + +-- Generate list of region groups for selected languages +.output regiongrouptabl.txt +select printf('%-8s %s', language, country) from uni_regiongroups order by language, country; +.output stdout diff --git a/misc/languages/data/replacetables.bat b/misc/languages/data/replacetables.bat deleted file mode 100644 index 76d719ce4d..0000000000 --- a/misc/languages/data/replacetables.bat +++ /dev/null @@ -1,6 +0,0 @@ -rem Batch script to replace the data tables by new versions - -rem Replace previous versions with new versions -copy langtabl.txt ..\langtabl_current.txt -copy scripttabl.txt ..\scripttabl_current.txt -copy synonymtabl.txt ..\synonymtabl_current.txt diff --git a/misc/languages/data/replacetables.ps1 b/misc/languages/data/replacetables.ps1 new file mode 100644 index 0000000000..211c42020e --- /dev/null +++ b/misc/languages/data/replacetables.ps1 @@ -0,0 +1,12 @@ +# Replace the wxWidgets data tables by new versions + +echo "=== Replace previous versions with new versions..." + +Copy-Item -Path "langtabl.txt" -Destination "..\langtabl.txt" -Force +Copy-Item -Path "scripttabl.txt" -Destination "..\scripttabl.txt" -Force +Copy-Item -Path "synonymtabl.txt" -Destination "..\synonymtabl.txt" -Force +Copy-Item -Path "likelytabl.txt" -Destination "..\likelytabl.txt" -Force +Copy-Item -Path "matchingtabl.txt" -Destination "..\matchingtabl.txt" -Force +Copy-Item -Path "regiongrouptabl.txt" -Destination "..\regiongrouptabl.txt" -Force + +echo "-> wxWidgets language data tables replaced by new version." diff --git a/misc/languages/data/setupenv.ps1 b/misc/languages/data/setupenv.ps1 new file mode 100644 index 0000000000..73f300ef5b --- /dev/null +++ b/misc/languages/data/setupenv.ps1 @@ -0,0 +1,11 @@ +# Add tool paths to environment PATH variable + +# It is necessary to add path of the Lua installation, +# because it is not properly set by the Chocolatey installation +$SYSPATH = [System.Environment]::GetEnvironmentVariable('PATH','machine') +$NEWPATH = "c:\ProgramData\chocolatey\lib\lua53\tools;$SYSPATH" +$env:path = $NEWPATH + +# Define environment variable for the Lua shell +$env:luashell = "lua53" +echo "env:luashell is $env:luashell" diff --git a/misc/languages/data/unicode/iso15924.txt b/misc/languages/data/unicode/iso15924.txt index 5aac15f576..9c65f62b85 100644 --- a/misc/languages/data/unicode/iso15924.txt +++ b/misc/languages/data/unicode/iso15924.txt @@ -17,7 +17,7 @@ Avst;134;Avestan;avestique;Avestan;5.2;2009-06-01 Bali;360;Balinese;balinais;Balinese;5.0;2006-10-10 Bamu;435;Bamum;bamoum;Bamum;5.2;2009-06-01 Bass;259;Bassa Vah;bassa;Bassa_Vah;7.0;2014-11-15 -Batk;365;Batak;batik;Batak;6.0;2010-07-23 +Batk;365;Batak;batak;Batak;6.0;2010-07-23 Beng;325;Bengali (Bangla);bengalî (bangla);Bengali;1.1;2016-12-05 Bhks;334;Bhaiksuki;bhaïksukî;Bhaiksuki;9.0;2016-12-05 Blis;550;Blissymbols;symboles Bliss;;;2004-05-01 @@ -31,6 +31,7 @@ Cans;440;Unified Canadian Aboriginal Syllabics;syllabaire autochtone canadien un Cari;201;Carian;carien;Carian;5.1;2007-07-02 Cham;358;Cham;cham (čam, tcham);Cham;5.1;2009-11-11 Cher;445;Cherokee;tchérokî;Cherokee;3.0;2004-05-01 +Chis;298;Chisoi;chisoi;;;2023-09-12 Chrs;109;Chorasmian;chorasmien;Chorasmian;13.0;2019-08-19 Cirt;291;Cirth;cirth;;;2004-05-01 Copt;204;Coptic;copte;Coptic;4.1;2006-06-21 @@ -49,6 +50,7 @@ Egyp;050;Egyptian hieroglyphs;hiéroglyphes égyptiens;Egyptian_Hieroglyphs;5.2; Elba;226;Elbasan;elbasan;Elbasan;7.0;2014-11-15 Elym;128;Elymaic;élymaïque;Elymaic;12.0;2018-08-26 Ethi;430;Ethiopic (Geʻez);éthiopien (geʻez, guèze);Ethiopic;3.0;2004-10-25 +Gara;164;Garay;garay;;;2023-09-12 Geok;241;Khutsuri (Asomtavruli and Nuskhuri);khoutsouri (assomtavrouli et nouskhouri);Georgian;1.1;2012-10-16 Geor;240;Georgian (Mkhedruli and Mtavruli);géorgien (mkhédrouli et mtavrouli);Georgian;1.1;2016-12-05 Glag;225;Glagolitic;glagolitique;Glagolitic;4.1;2006-06-21 @@ -58,6 +60,7 @@ Goth;206;Gothic;gotique;Gothic;3.1;2004-05-01 Gran;343;Grantha;grantha;Grantha;7.0;2014-11-15 Grek;200;Greek;grec;Greek;1.1;2004-05-01 Gujr;320;Gujarati;goudjarâtî (gujrâtî);Gujarati;1.1;2004-05-01 +Gukh;397;Gurung Khema;gurung khema;;;2023-09-12 Guru;310;Gurmukhi;gourmoukhî;Gurmukhi;1.1;2004-05-01 Hanb;503;Han with Bopomofo (alias for Han + Bopomofo);han avec bopomofo (alias pour han + bopomofo);;1.1;2016-01-19 Hang;286;Hangul (Hangŭl, Hangeul);hangûl (hangŭl, hangeul);Hangul;1.1;2004-05-29 @@ -81,7 +84,7 @@ Jpan;413;Japanese (alias for Han + Hiragana + Katakana);japonais (alias pour han Jurc;510;Jurchen;jurchen;;;2010-12-21 Kali;357;Kayah Li;kayah li;Kayah_Li;5.1;2007-07-02 Kana;411;Katakana;katakana;Katakana;1.1;2004-05-01 -Kawi;368;Kawi;kawi;;;2021-12-03 +Kawi;368;Kawi;kawi;Kawi;15.0;2021-12-03 Khar;305;Kharoshthi;kharochthî;Kharoshthi;4.1;2006-06-21 Khmr;355;Khmer;khmer;Khmer;3.0;2004-05-29 Khoj;322;Khojki;khojkî;Khojki;7.0;2014-11-15 @@ -90,6 +93,7 @@ Kits;288;Khitan small script;petite écriture khitan;Khitan_Small_Script;13.0;20 Knda;345;Kannada;kannara (canara);Kannada;1.1;2004-05-29 Kore;287;Korean (alias for Hangul + Han);coréen (alias pour hangûl + han);;1.1;2007-06-13 Kpel;436;Kpelle;kpèllé;;;2010-03-26 +Krai;396;Kirat Rai;kirat rai;;;2023-09-12 Kthi;317;Kaithi;kaithî;Kaithi;5.2;2009-06-01 Lana;351;Tai Tham (Lanna);taï tham (lanna);Tai_Tham;5.2;2009-06-01 Laoo;356;Lao;laotien;Lao;1.1;2004-05-01 @@ -123,7 +127,7 @@ Mroo;264;Mro, Mru;mro;Mro;7.0;2016-12-05 Mtei;337;Meitei Mayek (Meithei, Meetei);meitei mayek;Meetei_Mayek;5.2;2009-06-01 Mult;323;Multani;multanî;Multani;8.0;2015-07-07 Mymr;350;Myanmar (Burmese);birman;Myanmar;3.0;2004-05-01 -Nagm;295;Nag Mundari;nag mundari;;;2021-12-03 +Nagm;295;Nag Mundari;nag mundari;Nag_Mundari;15.0;2021-12-03 Nand;311;Nandinagari;nandinâgarî;Nandinagari;12.0;2018-08-26 Narb;106;Old North Arabian (Ancient North Arabian);nord-arabique;Old_North_Arabian;7.0;2014-11-15 Nbat;159;Nabataean;nabatéen;Nabataean;7.0;2014-11-15 @@ -134,6 +138,7 @@ Nkoo;165;N’Ko;n’ko;Nko;5.0;2006-10-10 Nshu;499;Nüshu;nüshu;Nushu;10.0;2017-07-26 Ogam;212;Ogham;ogam;Ogham;3.0;2004-05-01 Olck;261;Ol Chiki (Ol Cemet’, Ol, Santali);ol tchiki;Ol_Chiki;5.1;2007-07-02 +Onao;296;Ol Onal;ol onal;;;2023-09-12 Orkh;175;Old Turkic, Orkhon Runic;orkhon;Old_Turkic;5.2;2009-06-01 Orya;327;Oriya (Odia);oriyâ (odia);Oriya;1.1;2016-12-05 Osge;219;Osage;osage;Osage;9.0;2016-12-05 @@ -169,6 +174,7 @@ Shaw;281;Shavian (Shaw);shavien (Shaw);Shavian;4.0;2004-05-01 Shrd;319;Sharada, Śāradā;charada, shard;Sharada;6.1;2012-02-06 Shui;530;Shuishu;shuishu;;;2017-07-26 Sidd;302;Siddham, Siddhaṃ, Siddhamātṛkā;siddham;Siddham;7.0;2014-11-15 +Sidt;180;Sidetic;sidétique;;;2023-09-12 Sind;318;Khudawadi, Sindhi;khoudawadî, sindhî;Khudawadi;7.0;2014-11-15 Sinh;348;Sinhala;singhalais;Sinhala;3.0;2004-05-01 Sogd;141;Sogdian;sogdien;Sogdian;11.0;2017-11-21 @@ -189,6 +195,7 @@ Talu;354;New Tai Lue;nouveau taï-lue;New_Tai_Lue;4.1;2006-06-21 Taml;346;Tamil;tamoul;Tamil;1.1;2004-05-01 Tang;520;Tangut;tangoute;Tangut;9.0;2016-12-05 Tavt;359;Tai Viet;taï viêt;Tai_Viet;5.2;2009-06-01 +Tayo;380;Tai Yo;taï yo;;;2023-09-12 Telu;340;Telugu;télougou;Telugu;1.1;2004-05-01 Teng;290;Tengwar;tengwar;;;2004-05-01 Tfng;120;Tifinagh (Berber);tifinagh (berbère);Tifinagh;4.1;2006-06-21 @@ -198,7 +205,10 @@ Thai;352;Thai;thaï;Thai;1.1;2004-05-01 Tibt;330;Tibetan;tibétain;Tibetan;2.0;2004-05-01 Tirh;326;Tirhuta;tirhouta;Tirhuta;7.0;2014-11-15 Tnsa;275;Tangsa;tangsa;Tangsa;14.0;2021-02-17 +Todr;229;Todhri;todhri;;;2023-09-12 +Tols;299;Tolong Siki;tolong siki;;;2023-09-12 Toto;294;Toto;toto;Toto;14.0;2020-04-16 +Tutg;341;Tulu-Tigalari;tulu-tigalari;;;2023-09-12 Ugar;040;Ugaritic;ougaritique;Ugaritic;4.0;2004-05-01 Vaii;470;Vai;vaï;Vai;5.1;2007-07-02 Visp;280;Visible Speech;parole visible;;;2004-05-01 diff --git a/misc/languages/data/unicode/languageInfo.xml b/misc/languages/data/unicode/languageInfo.xml new file mode 100644 index 0000000000..69206ac356 --- /dev/null +++ b/misc/languages/data/unicode/languageInfo.xml @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/misc/languages/data/unicode/likelySubtags.xml b/misc/languages/data/unicode/likelySubtags.xml new file mode 100644 index 0000000000..3dc3523d62 --- /dev/null +++ b/misc/languages/data/unicode/likelySubtags.xml @@ -0,0 +1,7762 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/misc/languages/data/unicode/supplementalData.xml b/misc/languages/data/unicode/supplementalData.xml new file mode 100644 index 0000000000..65b2d6819e --- /dev/null +++ b/misc/languages/data/unicode/supplementalData.xml @@ -0,0 +1,5809 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + und + hu ja km ko mn si ta te vi yue zh + + + + Dutch official + At most 6% are not fluent in English + French official, the figure is derived from literacy * population + While Cyrillic is customary, the vast majority of the population can read both.For languages not customarily written, the writing populiation is artificially set to 5% in the absence of better information. + The figure includes 'Vlaams' population from Ethnologue + It is estimated that Walloon is used actively by 10-20% of the total population of Wallonia or between 300,000 and 600,000 people. For languages not customarily written, the writing population is artificially set to 5% in the absence of better information. + http://en.wikipedia.org/wiki/Demographics_of_Switzerland Literacy rate for gsw is 5% of reported speaker population; literacy is mostly in standard German. For languages not customarily written, the writing population is artificially set to 5% in the absence of better information. + Arabic official, the figure is derived from literacy * lang pop + Spanish is the official language, only about 60-70% of the population speaks it at all ; + English official, 81% literacy; the figure is derived from literacy * lang pop + [missing] + Ethnologue: 350k in CAF + 1.6 million 2nd lang speakers + Corsican has been recognized as a language by the French government. Speakers also use French but many are not fluent in it. For languages not customarily written, the writing population is artificially set to 5% + English 1/5 of pop, used 1/5 of pop * literacy rate + Spanish official + Languedocien = Occitan 'Everyone speaks French as first or second language.' For languages not customarily written, the writing population is artificially set to 5% + 100k+ native, plus 1.5 mil 2nd lang speakers. For languages not customarily written, the writing population is artificially set to 5% in the absence of better information. + For languages not customarily written, the writing population is artificially set to 5% in the absence of better information. + English official; the figure is derived from literacy * lang pop + French official; the figure is derived from literacy * lang pop + [missing] + Crude estimate based on import partner data. http://www.answers.com/topic/mauritania + English official, the figure is derived from literacy * lang pop + French official; the figure is derived from literacy * lang pop + Some 99% of users are literate in French or German. For languages not customarily written, the writing population is artificially set to 5% in the absence of better information. + 2nd lang literacy 15-25% + Nearly all speakers are literate in a 2nd language. For languages not customarily written, the writing population is artificially set to 5% + Many minor langs; Portuguese official + In this and other sources, such as Ethnologue, there is no estimate for number of users. http://en.wikipedia.org/wiki/Filipino_language http://www.ethnologue.com/show_language.asp?code=fil + Most of the population uses Creole; see also http://www.country-studies.com/haiti/creole,-literacy,-and-education.html http://en.wikipedia.org/wiki/French_language#Haiti + 400k 2nd language speakers + Official language, 37-77% literacy + Official language, used in some schools. + http://www.censusindia.net/cendat/datatable26.html + 25% of pop + - Icelandic official + says: All Jordanians, regardless of ethnicity or religion, speak Arabic, the official language of Jordan + English official; Kiribati widespread + [missing] + German official + No figures found for use of French. Used literacy 29.5% times population to get the writing pop; French is the only official language. + French official; the figure is derived from literacy * lang pop + Used CIA literacy figure times population, added 'Vlaams' population + [missing] + 70,000 in 1991, 100,000 who understand it, but do not speak it ; ethnic pop 530,000 in 2002 + Melanesian pidgin in much of the country is lingua franca; English (official; but spoken by only 1%-2% of the population); 120 indigenous languages + English 20% + Lesotho English-using pop estimated at 5%, no figs available. Probably too low. + [missing] + Official language. Probably 2% of the population from East Timor worldwide can function in it + Ethnologue says 80k users of French. No other figures found yet, but this seems too low. + Russian 5.8%. + The figure is from Wikipedia article on English-speaking populations + Albanian 25.1% + English is an official language, not widely spoken + 42.6% of population + [missing] + 4mil 2nd lang speakers, 120k 1st lang, 20k monolinguals. English creole; 40-45% literacy. + A pidginizatino of Motu; 120k 2nd lang speakers, very few 1st lang. + English official on some islands, total 9.4% + http://astro.uchicago.edu/cara/vtour/mcmurdo/ http://www.usap.gov/videoclipsandmaps/mcmwebcam.cfm Winter population is listed. + 1.2mil 1st lang + 240k 2nd lang users, low literacy + [missing] + http://www.mavicanet.com/directory/eng/2436.html + Uninhabited, barren, sub-Antarctic islands + [missing] + Figure for Hindi includes 2nd language users, India Census data. + [missing] + CIA Factbook entry on Kazakhstan + 50k Europeans, mostly French. The figure for writing population is derived from literacy * population, and may be too high. + The figure is from Wikipedia article on http://en.wikipedia.org/wiki/List_of_countries_by_English-speaking_population The figure is from Wikipedia article on English-speaking populations + [missing] + The figure is from Wikipedia article on English-speaking populations + Lang pop est, CIA factbook 15-20% country pop + CIA Factbook + [missing] + CIA Factbook. See also http://www.jsmp.minihub.org/Reports/jsmpreports/Language%20Report/LanguageReport(english).pdf + CIA Factbook. + The Tonga Chronicle is a government-owned newspaper... It publishes two editions, one in Tongan with a circulation of 5,000, and one in English with a circulation of 1,500; Writing pop figure shown for English is set to 30% of that for Tonga. + 96% bilingual in Turkish. + The Tuvaluan language is spoken by virtually everyone, while Gilbertese is spoken by some people on Nui. English is also an official language, but is not spoken in daily use. Writing pop set to 10% of Tuvalu. + English (official, primary language of commerce, administration, and higher education) + Ethnologue lists 1 million 2nd lang users of English; no other good figures found. + also: http://en.wikipedia.org/wiki/Bosnian_language + French is a minority official language. Crude estimate of usage based on import partner data. + Macao reported 5% native Portuguese speakers. + 5% writing pop estimated in absence of other data + [missing] + Crude estimate based on import partner data. + [missing] + More than 80 % of the total Thai population speaks the native Thai language. + [missing] + [missing] + [missing] + (= Tai Lu, Xishuangbanna Dai; New Tai Lue script) + [missing] + [missing] + Estimates Indian ethnic 44% ; see also http://en.wikipedia.org/wiki/Non-resident_Indian_and_Person_of_Indian_Origin and http://www.vanuatu.usp.ac.fj/paclangunit/English_South_Pacific.htm + [missing] + [missing] + [missing] + [missing] + Deva is the official script for sd in India; set to 55%. Arab, Guru, Khoj also used. + The lingua franca of 80% of the population + [missing] + and https://en.wikipedia.org/wiki/Mru_language + - More than 95% of Pakistanis can speak or understand Urdu as their second or third language + [missing] + http://www.stoletie.ru/vzglyad/derusifikacija_nabirajet_oboroty_934.htm + [missing] + [missing] + [missing] + [missing] + US 2005 census + [missing] + [missing] + CIA Factbook lists spoken language, the entry for Bokmål only on Svalbard and Jan Mayan is an assumption. + http://www.bfs.admin.ch/bfs/portal/de/index/infothek/lexikon/bienvenue___login/blank/zugang_lexikon.Document.62669.xls + No literacy figure available for English in Madagascar; newly adopted official language; 5% is an estimate. + - the script is an assumption, needs a reference + Latin script official, used 98.8% of pop * 10% for the usage figure + Latin script official, used 98.8% of pop * 90% for the usage figure + - five eastern provinces of the DRC are Swahili speaking. Nearly half the 66 million Congolese speak it. + [missing] + estimate 20% of Algerians can use French + [missing] + [missing] + - Most educated Kenyans are able to communicate fluently in Swahili, since it is a compulsory subject in school + [missing] + [missing] + - Education is in French; using literacy rate * pop for French-using population + English is the first language learned by half the children by the time they reach preschool age; using 92.6% of pop for the English figure + - using pop * literacy rate + - 90 percent of approximately 39 million Tanzanians speak Swahili + - Baganda generally don't speak Swahili, but it is in common use among the 25 million people elsewhere in the country, and is currently being implemented in schools nationwide (use 75% of Cpop for this figure) + [missing] + [missing] + [missing] + http://www.ofis-bzh.org/fr/langue_bretonne/chiffres_cles/index.php France blocks other languages in state schools; 1.4% attended Breton schools and 3% is estimated as family transmission rate + 15.8% of population + The 2008 estimate is ~2000 speakers due to revival efforts + [missing] + The great majority of Equatorial Guineans speak Spanish, especially those living in the capital, Malabo. Spanish has been an official language since 1844. + Hans literacy is unknown; set to 5% artificially pending better or official figures. + http://www.statemaster.com/encyclopedia/Balinese-language widely used; taught in school as a main lang + widely used in its cultural areas, often in Latin script + http://www.indianetzone.com/7/haryanvi.htm little literature mostly folksongs; writers use std Hindi; claim of 55% literacy + 2nd lang literacy 25-50%, taught formally + 5% writing pop estimated in absence of other data; literacy rate reported at 12% + 5% writing pop estimated in absence of other data; literacy rate reported at ~8% + No estimate available. + 5% writing pop estimated in absence of other data; Japanese is lingua franca here + [missing] + Data completely unknown for Hausa in Arabic in Nigeria + almost all speakers bilingual in English + Pop decline to ~1398 in 2009 + Low literacy, high linguistic diversity; English official (govt) but not widely spoken + [missing] + Spoken by 70% of population, assumed to use Arabic script in Pakistan + Reported to be (regional) official in Chuvashia, central Russia: taught at schools. However: http://cv.wikipedia.org/ Chuvash Wikipedia on-line. + [missing] + [missing] + 'A lingua franca and a first language for 10% of the population but understood by 95%' http://en.wikipedia.org/wiki/Krio_language + Dutch is spoken as a mother tongue by about 60% of the Surinamese, while most others speak it as a second or third language. + main language of trade and comm. in Isan region, except ... media where it gives way to Thai; now largely an unwritten language. 10% writing pop estimated in absence of other data + - primarily written using an Arabic-derived alphabet + and https://islandstudies.com/files/2016/11/Guernsey-Herm-Sark.pdf - extrapolated GDP from per capita x population + understood by 10 million, perhaps. Figure is questionable writing pop artificially set to 5% see also: http://en.wikipedia.org/wiki/Low_German (understood by 10 million people, and native to about 3 million people all around northern Germany) + [missing] + See the 2006 language survey data for 2nd langs = Shimaore + See the 2006 language survey data for 2nd langs + Common lingua franca, widely used. High literacy. + but subtracting 270,000 per https://en.wikipedia.org/wiki/Swiss_Italian + [missing] + [missing] + [missing] + 98.8% speak Spanish. Also, https://www.cia.gov/library/publications/the-world-factbook/geos/sp.html + [missing] + No indigenous inhabitants. http://en.wikipedia.org/wiki/Heard_Island_and_McDonald_Islands + No indigenous inhabitants. http://en.wikipedia.org/wiki/British_Indian_Ocean_Territory + Many also use Swahili + Latin is not shown as being used, rather Arabic + Used in schools up to University. + Also called Sakha. + No indigenous inhabitants. http://en.wikipedia.org/wiki/French_Southern_Territories + [missing] + Shows 50% literacy + Most also use Swahili with 50% literacy. Only 5% monolingual. + Most also use Swahili + [missing] + basically unihabited, officially ; http://www.census.gov/prod/cen2000/phc3-us-pt1.pdf + http://lanic.utexas.edu/project/tilan/reports/rtf359/bolivia1.html Spanish is the official language, only about 60-70% of the population speaks it at all ; + Spanish ""universal"", set to 98% + https://www.cia.gov/library/publications/the-world-factbook/geos/cs.html + [missing] + [missing] + Sirmauri (srx) Mahasui = Himachali, Pahari, Sirmouri, Sirmuri + - 14k reported as native. Taught as elective subject in grades 5-8; not widely spoken as primary communication. + [missing] + [missing] + [missing] + native speaker pop is low, ~6200; but is most widely spoken 2nd language + [missing] + [missing] + (94% of studends in Russia receive primarily Russian-language ed) + Europeans and their languages survey, page 7 + http://ec.europa.eu/public_opinion/archives/ebs/ebs_243_en.pdf Europeans and their languages survey, page 7 + [missing] + 1st lang literacy 8% + low literacy + percentage calculated from http://www.spanishcourses.info/Mains/SpanishSpoken_EN.htm , see also http://www.spanishseo.org/resources/worldwide-spanish-speaking-population + [missing] + www.amar.org.ir + - regional lang community status, taught in some schools + - 52.9% of Tatarstan is ethnic Tatar, the pop figure is an upper bound + http://en.wikipedia.org/wiki/Interlingua#Community Has a regular conf in Sweden, also Brazil; an auxiliary language with tiny population worldwide + This is base pop for """"""""""""""""""""""""""""""""fub"""""""""""""""""""""""""""""""" lang code; ff shows as a macrolanguage + [missing] + (could be higher if 2nd lang included; no data yet) + [missing] + [missing] + pop 7k. Figure is questionable writing pop artificially set to 5% see also http://en.wikipedia.org/wiki/Lower_Sorbian + Tigrinya ethnic pop is about 60% + [missing] + English official in education, 36.1% 2000 census + no other info available for now + https://www.cia.gov/cia/publications/factbook/geos/gt.html Spanish official + language also called Kamta in India + Modern use of Arabic (Jawi) seems to be minimal, but is co-official with ms; set to 5% for now. + [missing] + [missing] + [missing] + census data + - source for GDP + - source for GDP Level of English usage unclear, but official for govt and education + - estimate 90%of literate pop can use Arabic; Lpop = 99% + http://en.wikipedia.org/wiki/South_Sudan + [missing] + low literacy and >120 langs in country + (used lower figure) + 25-50% literacy + literacy 15-25% + 30% literacy + 2nd lang literacy 30% + 2nd lang literacy 25-50% + [missing] + protected minority, southern Jutland + etimate only based on literacy; no population data currently available + population figure from CLDR-17483 ticket + No Data Available at present. + co-official in South Tyrol + Aosta Valley + in Trieste and Gorizia + [missing] + Information on the Latin/Cyrillic script percentages for Montenegro not currently found. + most of population use Afrikaans commonly, about 89% literacy + CIA Factbook entry on Kazakhstan http://windowoneurasia2.blogspot.com/2013/12/window-on-eurasia-de-russianization.html http://www.stoletie.ru/vzglyad/derusifikacija_nabirajet_oboroty_934.htm http://www.stoletie.ru/vzglyad/derusifikacija_nabirajet_oboroty_934.htm + , Podlaskie Voivodeship + official in Vojvodina only + official in Vojvodina only; no pop data yet found + regional in Dagestan, population estimate + [missing] + https://www.cia.gov/library/publications/the-world-factbook/geos/uz.html Latin/Cyrillic balance is estimated, based on literacy; younger education now in Latin + Information on the Latin/Cyrillic script percentages for Kosovo not currently found. + Estimate based on 90% of literate pop > 15 years (71% of Cpop) can use English, for lack of official number of users + low litreracy ~5% + 2nd lang literacy 30% + http://en.wikipedia.org/wiki/Akademio_Internacia_de_la_Sciencoj_San_Marino - estimate 100% of the academy can use Esperanto; the language is used as 1st language of instruction; academy has 300 """"""""""""""""""""""""""""""""members"""""""""""""""""""""""""""""""". + recognized in West Java + Mainly unwritten + Vai script is the main script for this language. + Latin listed as being used (Scriptsource) but no pop figures available. + and https://en.wikipedia.org/wiki/Macau + but no literacy data + Including 1st and 2nd lang speakers + [missing] + regional-official in part of Opole Voivodeship; in Poland 325 schools with primary instr in German, estimate 37000 students. Real figure probably higher. + Census figures cited there seem to put Armenian using pop between 50-75%. Using 50%. + [missing] + unknown literacy + only 10% monolingual + near zero literacy; pop ~80000 (2009) see David Lawrence, Tanzania and its People, page 121, Google books + (baseline) + No population figure yet on use of Latin in Vatican. Estimate 100% of Vatican residents can use Latin. + [missing] + No figures available for this language. Estimating at 5%. + [missing] + [missing] + [missing] + - near-zero Azeri population in last census http://en.wikipedia.org/wiki/Azerbaijanis_in_Armenia#Current_situation + No figures available for breakdown of Latin vs. N'Ko for Bambara. The 2% figure is an estimate. + pop 13k. Figure is questionable writing pop artificially set to 5% see also http://en.wikipedia.org/wiki/Upper_Sorbian + French mostly used in commerce + Indonesia high literacy; low written use of local languages + - est 50% pop of Veneto area + 5% mainly spoken + [missing] + ​http://www.interlingua.com/statutos leading Interlingua assoc (Union Mundial pro Interlingua) registered French non-profit - real user pop figure is unknown but low + [missing] + Moribund language + [missing] + Estimated. See http://en.wikipedia.org/wiki/Emilian_language + Estimate not available. + [missing] + [missing] + [missing] + Also called Moré + Newly designated official, not so widely used + [missing] + [missing] + syr is a macrolang containing cld and aii) + [missing] + [missing] + [missing] + [missing] + [missing] + No hard figures for this yet, so this is a placeholder figure. + Widely spoken less written, and most speakers know standard German as well + [missing] + and https://www.ethnologue.com/language/yue + [missing] + [missing] + [missing] + [missing] + [missing] + [missing] + [missing] + Mainly in Guangdong Prov, ~70-80 million. Script unspecified so both listed + Canada 2016 census language data; official status from Wikipedia Languages_of_Canada + Analyzed from 2011 UK census and other sources + In total 86.2% of Canadians have working knowledge of English while 29.8% have a working knowledge of French. + 2014 Maldives: 98% literacy in Divehi, 75% in English + + diff --git a/misc/languages/data/unicode/uni_genscriptmap.lua b/misc/languages/data/unicode/uni_genscriptmap.lua index f57a56348f..b7d5af0721 100644 --- a/misc/languages/data/unicode/uni_genscriptmap.lua +++ b/misc/languages/data/unicode/uni_genscriptmap.lua @@ -30,6 +30,7 @@ fo2:write('delete from uni_scriptmap;\nbegin;\n') -- Names and order of data columns -- Code|N°|English Name|Nom français|Alias|Age|Date +noalias = 0 count = 0 for line in io.lines(codeFileName) do rem = string.sub(line,1,1) @@ -45,14 +46,26 @@ for line in io.lines(codeFileName) do scname = scname:gsub("'", "''") if scalias == "" then - scalias = "-" + if sctag == "Hans" or sctag == "Hant" then + scalias = sctag + else + noalias = noalias + 1 + scalias = "-" + end end fo2:write("insert into uni_scriptmap values ('" .. sctag .. "', '" .. scname .. "', '" .. scalias .. "');\n") count = count + 1 end end -print("Number of script mappings=" .. count) +print(" Number of script mappings = " .. count) +print(" Number of missing script aliases = " .. noalias) +if noalias > 0 then + print(" Script aliases are used in POSIX locale identifiers where they are") + print(" used as modifiers to represent the script of a language.") + print(" Missing script aliases impose a problem only for script identifiers") + print(" actually used in locale tags supported by wxWidgets.") +end fo2:write('commit;\n') fo2:close() diff --git a/misc/languages/data/unicode/uni_getlikely.lua b/misc/languages/data/unicode/uni_getlikely.lua new file mode 100644 index 0000000000..b9f9bfd43a --- /dev/null +++ b/misc/languages/data/unicode/uni_getlikely.lua @@ -0,0 +1,31 @@ +-- Extract data from CLDR data file likelySubtags.xml +-- Relevant tags: + +-- Assign script arguments and check validity +xmlFileName = "unicode/likelySubtags.xml" +sqlFileName = "temp/uni_loadlikely.sql" + +-- Open files +xmlInput = assert(io.open(xmlFileName, "r")) +xmlData = xmlInput:read("*all") +sqlFile = assert(io.open(sqlFileName, "w")) + +-- Write SQL file header +sqlFile:write("create table if not exists uni_likelysubtags (tagfrom char, tagto char, primary key (tagfrom));\n") +sqlFile:write("delete from uni_likelysubtags;\n") +sqlFile:write("begin;\n") + +-- Extract data from XML +-- Replace underscore by hyphen +for w in string.gmatch(xmlData, "(.-)") do + for tagFrom,tagTo in string.gmatch(w, ".- + +-- Assign script arguments and check validity +xmlFileName = "unicode/languageInfo.xml" +assert(xmlFileName ~= nil, "Name of XML file missing!") +sqlFileName = "temp/uni_loadmatching.sql" +assert(sqlFileName ~= nil, "Name of SQL file missing!") + +-- Open files +xmlInput = assert(io.open(xmlFileName, "r")) +xmlData = xmlInput:read("*all") +sqlFile = assert(io.open(sqlFileName, "w")) + +-- Write SQL file header +sqlFile:write("create table if not exists uni_languagematch (desired char, supported char, distance int, oneway char, primary key (desired, supported));\n") +sqlFile:write("delete from uni_languagematch;\n") +sqlFile:write("begin;\n") + +-- Extract data from XML +-- Replace underscore by hyphen +for w in string.gmatch(xmlData, ".-(.-)") do + for desired,supported,distance,oneopt in string.gmatch(w, ".-") do + oneway = oneopt:match("oneway=\"(.-)\"") + -- Check optional parameter oneway + if oneway == nil then + oneway = "false" + end + sqlFile:write("insert into uni_languagematch values ('" .. desired:gsub('_','-') .. "', '" .. supported:gsub('_','-') .. "', " .. distance .. ", '" .. oneway .. "');\n") + end +end + +-- Write SQL file trailer +sqlFile:write("commit;\n") + +-- Close files +xmlInput:close() +sqlFile:close() diff --git a/misc/languages/data/unicode/uni_getregions.lua b/misc/languages/data/unicode/uni_getregions.lua new file mode 100644 index 0000000000..7dcd6c0678 --- /dev/null +++ b/misc/languages/data/unicode/uni_getregions.lua @@ -0,0 +1,135 @@ +-- Extract data from CLDR data file supplementalData.xml and languageInfo.xml +-- Relevant tags in supplementalData: +-- +-- +-- Relevant tags in languageInfo: +-- +-- + +-- Assign script arguments and check validity +xmlFileName1 = "unicode/supplementalData.xml" +xmlFileName2 = "unicode/languageInfo.xml" +sqlFileName = "temp/uni_loadregiongroups.sql" + +-- Open files +xmlInput1 = assert(io.open(xmlFileName1, "r")) +xmlData1 = xmlInput1:read("*all") + +xmlInput2 = assert(io.open(xmlFileName2, "r")) +xmlData2 = xmlInput2:read("*all") + +sqlFile = assert(io.open(sqlFileName, "w")) + +-- Extract data from XML +-- Replace underscore by hyphen + +local regions = {} + +-- Extract territory containments +print(" -> Extract territory containments") +for w in string.gmatch(xmlData1, "(.-)") do + for grtype,grcontains,grother in string.gmatch(w, "") do + -- Extract value of status attribute + status = grother:match("status=\"(.-)\"") + if status == nil then + status = "" + end + + -- Extract value of grouping attribute + grouping = grother:match("grouping=\"(.-)\"") + if grouping == nil then + grouping = "false" + end + + -- Use only entries with status NOT equal to "deprecated" or "grouping" + if status ~= "deprecated" and status ~= "grouping" then + regions[grtype] = grcontains + end + end +end + +-- Function for building the country list of a region +function addcountries(regions, countries, countrylist) + local nn = #countries + for id in countrylist:gmatch("%w+") do + region = regions[id] + if region ~= nil then + addcountries(regions, countries, regions[id]) + else + nn = #countries + 1 + countries[nn] = id + end + end +end + +-- Extract matching region +print(" -> Extract languages and matching regions") +local languages = {} +local matchids = {} +for w in string.gmatch(xmlData2, ".-(.-)") do + for matchVarId,matchVarValue in string.gmatch(w, "") do + found = string.find(langMatch, matchVarId) + if found ~= nil then + uscorestar = string.find(langMatch, "%_%*") + if uscorestar ~= nil then + language = string.sub(langMatch,1,uscorestar-1) + else + language = string.sub(langMatch,1,found-2) + end + language = language:gsub('_','-') + languages[language] = matchVarId + print(" Language: " .. language, "Region: " .. string.sub(matchVarId,2)) + end + end + end +end + +-- Extract territory containments +local regionlist = {} +print(' -> Extract (and expand) regions') +for k,v in pairs(regions) do + regionlist[k] = {} + addcountries(regions, regionlist[k], v) + print(" Region:", k, " Size:", #regionlist[k]) +-- Print for debugging if necessary +-- for _, cid in ipairs(regionlist[k]) do +-- io.write(cid .. " ") +-- end +-- io.write("\n") +end + +print(" -> Generate SQL file") +-- Write SQL file header +sqlFile:write("create table if not exists uni_regiongroups (language char, country char, primary key(language, country));\n") +sqlFile:write("delete from uni_regiongroups;\n") +sqlFile:write("begin;\n") + +-- Sort language keys +local tkeys = {} +for k in pairs(languages) do + table.insert(tkeys, k) +end +table.sort(tkeys) + +-- Write data to SQL file +for _, k in ipairs(tkeys) do + v = languages[k] + sqlFile:write("\n-- Region group '" .. string.sub(v,2) .. "' for language '" .. k .. "'\n") + for _, cid in ipairs(regionlist[v]) do + sqlFile:write("insert into uni_regiongroups values ('" .. k .. "', '" .. cid .. "');\n") + end +end + +-- Write SQL file trailer +sqlFile:write("commit;\n") + +-- Close files +xmlInput1:close() +xmlInput2:close() +sqlFile:close() diff --git a/misc/languages/data/unicode/uni_territorycodes.lua b/misc/languages/data/unicode/uni_territorycodes.lua index c83c7e7a44..2f8b43b439 100644 --- a/misc/languages/data/unicode/uni_territorycodes.lua +++ b/misc/languages/data/unicode/uni_territorycodes.lua @@ -55,7 +55,7 @@ for line in io.lines(codeFileName) do end end end -print("Number of countries=" .. count) +print(" Number of countries = " .. count) fo1:write('commit;\n') fo1:close() diff --git a/misc/languages/data/windows/win-locale-table-win.txt b/misc/languages/data/windows/win-locale-table-win.txt index f0c204dcb1..d766d0b54e 100644 --- a/misc/languages/data/windows/win-locale-table-win.txt +++ b/misc/languages/data/windows/win-locale-table-win.txt @@ -41,8 +41,8 @@ ar-TN|Arabic (Tunisia)|Arabic|Tunisia|Arab;|TUN|TND|1|1c01|العربية (تو ar-YE|Arabic (Yemen)|Arabic|Yemen|Arab;|YEM|YER|1|2401|العربية (اليمن)|العربية|اليمن arn|Mapuche|Mapuche|Chile|Latn;|CHL|CLP|0|047a|Mapudungun|Mapudungun|Chile arn-CL|Mapuche (Chile)|Mapuche|Chile|Latn;|CHL|CLP|0|047a|Mapudungun (Chile)|Mapudungun|Chile -as|Assamese|Assamese|India|Beng;|IND|INR|0|044d|অসমীয়া|অসমীয়া|ভাৰত -as-IN|Assamese (India)|Assamese|India|Beng;|IND|INR|0|044d|অসমীয়া (ভাৰত)|অসমীয়া|ভাৰত +as|Assamese|Assamese|India|Beng;|IND|INR|0|044d|অসমীয়া|অসমীয়া|ভাৰত +as-IN|Assamese (India)|Assamese|India|Beng;|IND|INR|0|044d|অসমীয়া (ভাৰত)|অসমীয়া|ভাৰত asa|Asu|Asu|Tanzania|Latn;|TZA|TZS|0|1000|Kipare|Kipare|Tadhania asa-TZ|Asu (Tanzania)|Asu|Tanzania|Latn;|TZA|TZS|0|1000|Kipare (Tadhania)|Kipare|Tadhania ast|Asturian|Asturian|Spain|Latn;|ESP|EUR|0|1000|asturianu|asturianu|España @@ -56,8 +56,8 @@ ba|Bashkir|Bashkir|Russia|Cyrl;|RUS|RUB|0|046d|Башҡорт|Башҡорт|Р ba-RU|Bashkir (Russia)|Bashkir|Russia|Cyrl;|RUS|RUB|0|046d|Башҡорт (Рәсәй)|Башҡорт|Рәсәй bas|Basaa|Basaa|Cameroon|Latn;|CMR|XAF|0|1000|Ɓàsàa|Ɓàsàa|Kàmɛ̀rûn bas-CM|Basaa (Cameroon)|Basaa|Cameroon|Latn;|CMR|XAF|0|1000|Ɓàsàa (Kàmɛ̀rûn)|Ɓàsàa|Kàmɛ̀rûn -be|Belarusian|Belarusian|Belarus|Cyrl;|BLR|BYN|0|0423|Беларуская|Беларуская|Беларусь -be-BY|Belarusian (Belarus)|Belarusian|Belarus|Cyrl;|BLR|BYN|0|0423|Беларуская (Беларусь)|Беларуская|Беларусь +be|Belarusian|Belarusian|Belarus|Cyrl;|BLR|BYN|0|0423|беларуская|беларуская|Беларусь +be-BY|Belarusian (Belarus)|Belarusian|Belarus|Cyrl;|BLR|BYN|0|0423|беларуская (Беларусь)|беларуская|Беларусь bem|Bemba|Bemba|Zambia|Latn;|ZMB|ZMW|0|1000|Ichibemba|Ichibemba|Zambia bem-ZM|Bemba (Zambia)|Bemba|Zambia|Latn;|ZMB|ZMW|0|1000|Ichibemba (Zambia)|Ichibemba|Zambia bez|Bena|Bena|Tanzania|Latn;|TZA|TZS|0|1000|Hibena|Hibena|Hutanzania @@ -72,8 +72,8 @@ bm-Latn-ML|Bamanankan (Latin, Mali)|Bamanankan (Latin)|Mali|Latn;|MLI|XOF|0|1000 bn|Bangla|Bangla|Bangladesh|Beng;|BGD|BDT|0|0845|বাংলা|বাংলা|বাংলাদেশ bn-BD|Bangla (Bangladesh)|Bangla|Bangladesh|Beng;|BGD|BDT|0|0845|বাংলা (বাংলাদেশ)|বাংলা|বাংলাদেশ bn-IN|Bengali (India)|Bengali|India|Beng;|IND|INR|0|0445|বাংলা (ভারত)|বাংলা|ভারত -bo|Tibetan|Tibetan|China|Tibt;|CHN|CNY|0|0451|བོད་ཡིག|བོད་ཡིག|ཀྲུང་ཧྭ་མི་དམངས་སྤྱི་མཐུན་རྒྱལ་ཁབ། -bo-CN|Tibetan (China)|Tibetan|China|Tibt;|CHN|CNY|0|0451|བོད་ཡིག (ཀྲུང་ཧྭ་མི་དམངས་སྤྱི་མཐུན་རྒྱལ་ཁབ།)|བོད་ཡིག|ཀྲུང་ཧྭ་མི་དམངས་སྤྱི་མཐུན་རྒྱལ་ཁབ། +bo|Tibetan|Tibetan|China|Tibt;|CHN|CNY|0|0451|བོད་སྐད་|བོད་སྐད་|ཀྲུང་ཧྭ་མི་དམངས་སྤྱི་མཐུན་རྒྱལ་ཁབ། +bo-CN|Tibetan (China)|Tibetan|China|Tibt;|CHN|CNY|0|0451|བོད་སྐད་ (རྒྱ་ནག)|བོད་སྐད་|ཀྲུང་ཧྭ་མི་དམངས་སྤྱི་མཐུན་རྒྱལ་ཁབ། bo-IN|Tibetan (India)|Tibetan|India|Tibt;|IND|INR|0|1000|བོད་སྐད་ (རྒྱ་གར་)|བོད་སྐད་|རྒྱ་གར་ br|Breton|Breton|France|Latn;|FRA|EUR|0|047e|brezhoneg|brezhoneg|Frañs br-FR|Breton (France)|Breton|France|Latn;|FRA|EUR|0|047e|brezhoneg (Frañs)|brezhoneg|Frañs @@ -106,7 +106,7 @@ cgg-UG|Chiga (Uganda)|Chiga|Uganda|Latn;|UGA|UGX|0|1000|Rukiga (Uganda)|Rukiga|U chr|Cherokee|Cherokee|United States|Cher;|USA|USD|0|045c|ᏣᎳᎩ|ᏣᎳᎩ|ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᏍᎦᏚᎩ chr-Cher|Cherokee|Cherokee|United States|Cher;|USA|USD|0|045c|ᏣᎳᎩ|ᏣᎳᎩ|ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᏍᎦᏚᎩ chr-Cher-US|Cherokee (Cherokee, United States)|Cherokee|United States|Cher;|USA|USD|0|045c|ᏣᎳᎩ (ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᏍᎦᏚᎩ)|ᏣᎳᎩ|ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᏍᎦᏚᎩ -co|Corsican|Corsican|France|Latn;|FRA|EUR|0|0483|Corsu|Corsu|Francia +co|Corsican|Corsican|France|Latn;|FRA|EUR|0|0483|corsu|corsu|Francia co-FR|Corsican (France)|Corsican|France|Latn;|FRA|EUR|0|0483|Corsu (Francia)|Corsu|Francia cs|Czech|Czech|Czechia|Latn;|CZE|CZK|0|0405|čeština|čeština|Česko cs-CZ|Czech (Czechia)|Czech|Czechia|Latn;|CZE|CZK|0|0405|čeština (Česko)|čeština|Česko @@ -293,8 +293,9 @@ eu-ES|Basque (Basque)|Basque|Spain|Latn;|ESP|EUR|0|042d|euskara (euskara)|euskar ewo|Ewondo|Ewondo|Cameroon|Latn;|CMR|XAF|0|1000|ewondo|ewondo|Kamərún ewo-CM|Ewondo (Cameroon)|Ewondo|Cameroon|Latn;|CMR|XAF|0|1000|ewondo (Kamərún)|ewondo|Kamərún fa|Persian|Persian|Iran|Arab;|IRN|IRR|1|0429|فارسی|فارسی|ایران +fa-AF|Persian (Afghanistan)|Persian|Afghanistan|Arab;|AFG|AFN|1|048c|فارسی (افغانستان)|فارسی|افغانستان fa-IR|Persian (Iran)|Persian|Iran|Arab;|IRN|IRR|1|0429|فارسی (ایران)|فارسی|ایران -ff|Fulah (Latin)|Fulah (Latin)|Senegal|Latn;|SEN|XOF|0|0867|Pulaar|Pulaar|Senegaal +ff|Fulah|Fulah|Senegal|Latn;|SEN|XOF|0|0867|Pulaar|Pulaar|Senegaal ff-Adlm|Fulah (Adlam)|Fulah (Adlam)|Guinea|Adlm;|GIN|GNF|0|1000|𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃)|𞤆𞤵𞤤𞤢𞤪|𞤘𞤭𞤲𞤫 ff-Adlm-BF|Fulah (Adlam, Burkina Faso)|Fulah (Adlam)|Burkina Faso|Adlm;|BFA|XOF|0|1000|𞤆𞤵𞤤𞤢𞤪 (𞤄𞤵𞤪𞤳𞤭𞤲𞤢 𞤊𞤢𞤧𞤮𞥅)|𞤆𞤵𞤤𞤢𞤪|𞤄𞤵𞤪𞤳𞤭𞤲𞤢 𞤊𞤢𞤧𞤮𞥅 ff-Adlm-CM|Fulah (Adlam, Cameroon)|Fulah (Adlam)|Cameroon|Adlm;|CMR|XAF|0|1000|𞤆𞤵𞤤𞤢𞤪 (𞤑𞤢𞤥𞤢𞤪𞤵𞥅𞤲)|𞤆𞤵𞤤𞤢𞤪|𞤑𞤢𞤥𞤢𞤪𞤵𞥅𞤲 @@ -410,15 +411,15 @@ he|Hebrew|Hebrew|Israel|Hebr;|ISR|ILS|1|040d|עברית|עברית|ישראל he-IL|Hebrew (Israel)|Hebrew|Israel|Hebr;|ISR|ILS|1|040d|עברית (ישראל)|עברית|ישראל hi|Hindi|Hindi|India|Deva;|IND|INR|0|0439|हिन्दी|हिन्दी|भारत hi-IN|Hindi (India)|Hindi|India|Deva;|IND|INR|0|0439|हिन्दी (भारत)|हिन्दी|भारत -hr|Croatian|Croatian|Croatia|Latn;|HRV|HRK|0|041a|hrvatski|hrvatski|Hrvatska +hr|Croatian|Croatian|Croatia|Latn;|HRV|EUR|0|041a|hrvatski|hrvatski|Hrvatska hr-BA|Croatian (Bosnia & Herzegovina)|Croatian|Bosnia & Herzegovina|Latn;|BIH|BAM|0|101a|hrvatski (Bosna i Hercegovina)|hrvatski|Bosna i Hercegovina -hr-HR|Croatian (Croatia)|Croatian|Croatia|Latn;|HRV|HRK|0|041a|hrvatski (Hrvatska)|hrvatski|Hrvatska +hr-HR|Croatian (Croatia)|Croatian|Croatia|Latn;|HRV|EUR|0|041a|hrvatski (Hrvatska)|hrvatski|Hrvatska hsb|Upper Sorbian|Upper Sorbian|Germany|Latn;|DEU|EUR|0|042e|hornjoserbšćina|hornjoserbšćina|Němska hsb-DE|Upper Sorbian (Germany)|Upper Sorbian|Germany|Latn;|DEU|EUR|0|042e|hornjoserbšćina (Němska)|hornjoserbšćina|Němska hu|Hungarian|Hungarian|Hungary|Latn;|HUN|HUF|0|040e|magyar|magyar|Magyarország hu-HU|Hungarian (Hungary)|Hungarian|Hungary|Latn;|HUN|HUF|0|040e|magyar (Magyarország)|magyar|Magyarország -hy|Armenian|Armenian|Armenia|Armn;|ARM|AMD|0|042b|Հայերեն|Հայերեն|Հայաստան -hy-AM|Armenian (Armenia)|Armenian|Armenia|Armn;|ARM|AMD|0|042b|Հայերեն (Հայաստան)|Հայերեն|Հայաստան +hy|Armenian|Armenian|Armenia|Armn;|ARM|AMD|0|042b|հայերեն|հայերեն|Հայաստան +hy-AM|Armenian (Armenia)|Armenian|Armenia|Armn;|ARM|AMD|0|042b|հայերեն (Հայաստան)|հայերեն|Հայաստան ia|Interlingua|Interlingua|World|Latn;|001|XDR|0|1000|interlingua|interlingua|Mundo ia-001|Interlingua (World)|Interlingua|World|Latn;|001|XDR|0|1000|interlingua (Mundo)|interlingua|Mundo ibb|Ibibio|Ibibio|Nigeria|Latn;|NGA|NGN|0|0469|Ibibio-Efik|Ibibio-Efik|Nigeria @@ -427,8 +428,8 @@ id|Indonesian|Indonesian|Indonesia|Latn;|IDN|IDR|0|0421|Indonesia|Indonesia|Indo id-ID|Indonesian (Indonesia)|Indonesian|Indonesia|Latn;|IDN|IDR|0|0421|Indonesia (Indonesia)|Indonesia|Indonesia ig|Igbo|Igbo|Nigeria|Latn;|NGA|NGN|0|0470|Igbo|Igbo|Naịjịrịa ig-NG|Igbo (Nigeria)|Igbo|Nigeria|Latn;|NGA|NGN|0|0470|Igbo (Naịjịrịa)|Igbo|Naịjịrịa -ii|Yi|Yi|China|Yiii;|CHN|CNY|0|0478|ꆈꌠꁱꂷ|ꆈꌠꁱꂷ|ꍏꉸꏓꂱꇭꉼꇩ -ii-CN|Yi (China)|Yi|China|Yiii;|CHN|CNY|0|0478|ꆈꌠꁱꂷ (ꍏꉸꏓꂱꇭꉼꇩ)|ꆈꌠꁱꂷ|ꍏꉸꏓꂱꇭꉼꇩ +ii|Yi|Yi|China|Yiii;|CHN|CNY|0|0478|ꆈꌠꉙ|ꆈꌠꉙ|ꍏꉸꏓꂱꇭꉼꇩ +ii-CN|Yi (China)|Yi|China|Yiii;|CHN|CNY|0|0478|ꆈꌠꉙ (ꍏꇩ)|ꆈꌠꉙ|ꍏꉸꏓꂱꇭꉼꇩ is|Icelandic|Icelandic|Iceland|Latn;|ISL|ISK|0|040f|íslenska|íslenska|Ísland is-IS|Icelandic (Iceland)|Icelandic|Iceland|Latn;|ISL|ISK|0|040f|íslenska (Ísland)|íslenska|Ísland it|Italian|Italian|Italy|Latn;|ITA|EUR|0|0410|italiano|italiano|Italia @@ -483,14 +484,14 @@ ko-KP|Korean (North Korea)|Korean|North Korea|Kore;|PRK|KPW|0|1000|한국어 ( ko-KR|Korean (Korea)|Korean|Korea|Hang;Hani;Kore;|KOR|KRW|2|0412|한국어(대한민국)|한국어|대한민국 kok|Konkani|Konkani|India|Deva;|IND|INR|0|0457|कोंकणी|कोंकणी|भारत kok-IN|Konkani (India)|Konkani|India|Deva;|IND|INR|0|0457|कोंकणी (भारत)|कोंकणी|भारत -kr|Kanuri (Latin)|Kanuri (Latin)|Nigeria|Latn;|NGA|NGN|0|0471|Kanuri|Kanuri|Nigeria +kr|Kanuri|Kanuri|Nigeria|Latn;|NGA|NGN|0|0471|Kanuri|Kanuri|Nigeria kr-Latn|Kanuri (Latin)|Kanuri (Latin)|Nigeria|Latn;|NGA|NGN|0|0471|Kanuri|Kanuri|Nigeria kr-Latn-NG|Kanuri (Latin, Nigeria)|Kanuri (Latin)|Nigeria|Latn;|NGA|NGN|0|0471|Kanuri (Nigeria)|Kanuri|Nigeria ks|Kashmiri|Kashmiri|India|Arab;|IND|INR|1|1000|کٲشُر|کٲشُر|ہِندوستان ks-Arab|Kashmiri (Arabic)|Kashmiri (Arabic)|India|Arab;|IND|INR|1|1000|کٲشُر (اَربی)|کٲشُر|ہِندوستان ks-Arab-IN|Kashmiri (Arabic)|Kashmiri (Arabic)|India|Arab;|IND|INR|1|1000|کٲشُر (اَربی)|کٲشُر|ہِندوستان ks-Deva|Kashmiri (Devanagari)|Kashmiri (Devanagari)|India|Deva;|IND|INR|0|0860|कॉशुर|कॉशुर|India -ks-Deva-IN|Kashmiri (Devanagari, India)|Kashmiri (Devanagari)|India|Deva;|IND|INR|0|0860|कॉशुर (India)|कॉशुर|India +ks-Deva-IN|Kashmiri (Devanagari)|Kashmiri (Devanagari)|India|Deva;|IND|INR|0|0860|कॉशुर (India)|कॉशुर|India ksb|Shambala|Shambala|Tanzania|Latn;|TZA|TZS|0|1000|Kishambaa|Kishambaa|Tanzania ksb-TZ|Shambala (Tanzania)|Shambala|Tanzania|Latn;|TZA|TZS|0|1000|Kishambaa (Tanzania)|Kishambaa|Tanzania ksf|Bafia|Bafia|Cameroon|Latn;|CMR|XAF|0|1000|rikpa|rikpa|kamɛrún @@ -562,11 +563,11 @@ mn-MN|Mongolian (Mongolia)|Mongolian|Mongolia|Cyrl;|MNG|MNT|0|0450|монгол mn-Mong|Mongolian (Traditional Mongolian)|Mongolian (Traditional Mongolian)|China|Mong;|CHN|CNY|3|0850|ᠮᠣᠩᠭᠣᠤᠯ ᠬᠡᠯᠡ (ᠮᠣᠩᠭᠣᠤᠯ ᠬᠡᠯᠡ)|ᠮᠣᠩᠭᠣᠤᠯ ᠬᠡᠯᠡ|ᠪᠦᠭᠦᠳᠡ ᠨᠠᠢᠷᠠᠮᠳᠠᠬᠤ ᠳᠤᠮᠳᠠᠳᠤ ᠠᠷᠠᠳ ᠣᠯᠣᠰ mn-Mong-CN|Mongolian (Traditional Mongolian, China)|Mongolian (Traditional Mongolian)|China|Mong;|CHN|CNY|3|0850|ᠮᠣᠩᠭᠣᠤᠯ ᠬᠡᠯᠡ (ᠪᠦᠭᠦᠳᠡ ᠨᠠᠢᠷᠠᠮᠳᠠᠬᠤ ᠳᠤᠮᠳᠠᠳᠤ ᠠᠷᠠᠳ ᠣᠯᠣᠰ)|ᠮᠣᠩᠭᠣᠤᠯ ᠬᠡᠯᠡ|ᠪᠦᠭᠦᠳᠡ ᠨᠠᠢᠷᠠᠮᠳᠠᠬᠤ ᠳᠤᠮᠳᠠᠳᠤ ᠠᠷᠠᠳ ᠣᠯᠣᠰ mn-Mong-MN|Mongolian (Traditional Mongolian, Mongolia)|Mongolian (Traditional Mongolian)|Mongolia|Mong;|MNG|MNT|3|0c50|ᠮᠣᠩᠭᠣᠯ ᠬᠡᠯᠡ (ᠮᠣᠩᠭᠣᠯ ᠣᠯᠣᠰ)|ᠮᠣᠩᠭᠣᠯ ᠬᠡᠯᠡ|ᠮᠣᠩᠭᠣᠯ ᠣᠯᠣᠰ -mni|Manipuri (Bangla)|Manipuri (Bangla)|India|Beng;|IND|INR|0|0458|মৈতৈলোন্|মৈতৈলোন্|ইন্দিয়া +mni|Manipuri|Manipuri|India|Beng;|IND|INR|0|0458|মৈতৈলোন্|মৈতৈলোন্|ইন্দিয়া mni-Beng|Manipuri (Bangla)|Manipuri (Bangla)|India|Beng;|IND|INR|0|0458|মৈতৈলোন্|মৈতৈলোন্|ইন্দিয়া mni-IN|Manipuri (Bangla, India)|Manipuri (Bangla)|India|Beng;|IND|INR|0|0458|মৈতৈলোন্ (ইন্দিয়া)|মৈতৈলোন্|ইন্দিয়া -moh|Mohawk|Mohawk|Canada|Latn;|CAN|CAD|0|047c|Kanien’kéha|Kanien’kéha|Canada -moh-CA|Mohawk (Mohawk)|Mohawk|Canada|Latn;|CAN|CAD|0|047c|Kanien'kéha|Kanien’kéha|Canada +moh|Mohawk|Mohawk|Canada|Latn;|CAN|CAD|0|047c|Kanienʼkéha|Kanienʼkéha|Canada +moh-CA|Mohawk (Canada)|Mohawk|Canada|Latn;|CAN|CAD|0|047c|Kanienʼkéha (Canada)|Kanien’kéha|Canada mr|Marathi|Marathi|India|Deva;|IND|INR|0|044e|मराठी|मराठी|भारत mr-IN|Marathi (India)|Marathi|India|Deva;|IND|INR|0|044e|मराठी (भारत)|मराठी|भारत ms|Malay|Malay|Malaysia|Latn;|MYS|MYR|0|043e|Melayu|Melayu|Malaysia @@ -620,13 +621,13 @@ nus|Nuer|Nuer|South Sudan|Latn;|SSD|SSP|0|1000|Thok Nath|Thok Nath|South Sudan nus-SS|Nuer (South Sudan)|Nuer|South Sudan|Latn;|SSD|SSP|0|1000|Thok Nath (South Sudan)|Thok Nath|South Sudan nyn|Nyankole|Nyankole|Uganda|Latn;|UGA|UGX|0|1000|Runyankore|Runyankore|Uganda nyn-UG|Nyankole (Uganda)|Nyankole|Uganda|Latn;|UGA|UGX|0|1000|Runyankore (Uganda)|Runyankore|Uganda -oc|Occitan|Occitan|France|Latn;|FRA|EUR|0|0482|Occitan|Occitan|França -oc-FR|Occitan (France)|Occitan|France|Latn;|FRA|EUR|0|0482|Occitan (França)|Occitan|França +oc|Occitan|Occitan|France|Latn;|FRA|EUR|0|0482|occitan|occitan|França +oc-FR|Occitan (France)|Occitan|France|Latn;|FRA|EUR|0|0482|occitan (França)|occitan|França om|Oromo|Oromo|Ethiopia|Latn;|ETH|ETB|0|0472|Oromoo|Oromoo|Itoophiyaa om-ET|Oromo (Ethiopia)|Oromo|Ethiopia|Latn;|ETH|ETB|0|0472|Oromoo (Itoophiyaa)|Oromoo|Itoophiyaa om-KE|Oromo (Kenya)|Oromo|Kenya|Latn;|KEN|KES|0|1000|Oromoo (Keeniyaa)|Oromoo|Keeniyaa -or|Odia|Odia|India|Orya;|IND|INR|0|0448|ଓଡ଼ିଆ|ଓଡ଼ିଆ|ଭାରତ -or-IN|Odia (India)|Odia|India|Orya;|IND|INR|0|0448|ଓଡ଼ିଆ (ଭାରତ)|ଓଡ଼ିଆ|ଭାରତ +or|Odia|Odia|India|Orya;|IND|INR|0|0448|ଓଡ଼ିଆ|ଓଡ଼ିଆ|ଭାରତ +or-IN|Odia (India)|Odia|India|Orya;|IND|INR|0|0448|ଓଡ଼ିଆ (ଭାରତ)|ଓଡ଼ିଆ|ଭାରତ os|Ossetic|Ossetic|Georgia|Cyrl;|GEO|GEL|0|1000|ирон|ирон|Гуырдзыстон os-GE|Ossetic (Georgia)|Ossetic|Georgia|Cyrl;|GEO|GEL|0|1000|ирон (Гуырдзыстон)|ирон|Гуырдзыстон os-RU|Ossetic (Russia)|Ossetic|Russia|Cyrl;|RUS|RUB|0|1000|ирон (Уӕрӕсе)|ирон|Уӕрӕсе @@ -644,8 +645,6 @@ pl|Polish|Polish|Poland|Latn;|POL|PLN|0|0415|polski|polski|Polska pl-PL|Polish (Poland)|Polish|Poland|Latn;|POL|PLN|0|0415|polski (Polska)|polski|Polska prg|Prussian|Prussian|World|Latn;|001|XDR|0|1000|prūsiskan|prūsiskan|swītai prg-001|Prussian (World)|Prussian|World|Latn;|001|XDR|0|1000|prūsiskan (swītai)|prūsiskan|swītai -prs|Dari|Dari|Afghanistan|Arab;|AFG|AFN|1|048c|درى|درى|افغانستان -prs-AF|Dari (Afghanistan)|Dari|Afghanistan|Arab;|AFG|AFN|1|048c|درى (افغانستان)|درى|افغانستان ps|Pashto|Pashto|Afghanistan|Arab;|AFG|AFN|1|0463|پښتو|پښتو|افغانستان ps-AF|Pashto (Afghanistan)|Pashto|Afghanistan|Arab;|AFG|AFN|1|0463|پښتو (افغانستان)|پښتو|افغانستان ps-PK|Pashto (Pakistan)|Pashto|Pakistan|Arab;|PAK|PKR|1|1000|پښتو (پاکستان)|پښتو|پاکستان @@ -662,9 +661,9 @@ pt-MZ|Portuguese (Mozambique)|Portuguese|Mozambique|Latn;|MOZ|MZN|0|1000|portugu pt-PT|Portuguese (Portugal)|Portuguese|Portugal|Latn;|PRT|EUR|0|0816|português (Portugal)|português|Portugal pt-ST|Portuguese (São Tomé & Príncipe)|Portuguese|São Tomé & Príncipe|Latn;|STP|STN|0|1000|português (São Tomé e Príncipe)|português|São Tomé e Príncipe pt-TL|Portuguese (Timor-Leste)|Portuguese|Timor-Leste|Latn;|TLS|USD|0|1000|português (Timor-Leste)|português|Timor-Leste -quc|K'iche'|K'iche'|Guatemala|Latn;|GTM|GTQ|0|0486|K'iche'|K'iche'|Guatemala -quc-Latn|K'iche'|K'iche'|Guatemala|Latn;|GTM|GTQ|0|0486|K'iche'|K'iche'|Guatemala -quc-Latn-GT|K'iche' (Guatemala)|K'iche'|Guatemala|Latn;|GTM|GTQ|0|0486|K'iche' (Guatemala)|K'iche'|Guatemala +quc|Kʼicheʼ|Kʼicheʼ|Guatemala|Latn;|GTM|GTQ|0|0486|Kʼicheʼ|Kʼicheʼ|Guatemala +quc-Latn|Kʼicheʼ (Latin)|Kʼicheʼ (Latin)|Guatemala|Latn;|GTM|GTQ|0|0486|Kʼicheʼ|Kʼicheʼ|Guatemala +quc-Latn-GT|Kʼicheʼ (Latin, Guatemala)|Kʼicheʼ (Latin)|Guatemala|Latn;|GTM|GTQ|0|0486|Kʼicheʼ (Guatemala)|Kʼicheʼ|Guatemala quz|Quechua|Quechua|Bolivia|Latn;|BOL|BOB|0|046b|Runasimi|Runasimi|Bolivia quz-BO|Quechua (Bolivia)|Quechua|Bolivia|Latn;|BOL|BOB|0|046b|Runasimi (Bolivia)|Runasimi|Bolivia quz-EC|Quechua (Ecuador)|Quechua|Ecuador|Latn;|ECU|USD|0|086b|Runasimi (Ecuador)|Runasimi|Ecuador @@ -689,8 +688,8 @@ rw|Kinyarwanda|Kinyarwanda|Rwanda|Latn;|RWA|RWF|0|0487|Kinyarwanda|Kinyarwanda|U rw-RW|Kinyarwanda (Rwanda)|Kinyarwanda|Rwanda|Latn;|RWA|RWF|0|0487|Kinyarwanda (U Rwanda)|Kinyarwanda|U Rwanda rwk|Rwa|Rwa|Tanzania|Latn;|TZA|TZS|0|1000|Kiruwa|Kiruwa|Tanzania rwk-TZ|Rwa (Tanzania)|Rwa|Tanzania|Latn;|TZA|TZS|0|1000|Kiruwa (Tanzania)|Kiruwa|Tanzania -sa|Sanskrit|Sanskrit|India|Deva;|IND|INR|0|044f|संस्कृत|संस्कृत|भारतम् -sa-IN|Sanskrit (India)|Sanskrit|India|Deva;|IND|INR|0|044f|संस्कृत (भारतम्)|संस्कृत|भारतम् +sa|Sanskrit|Sanskrit|India|Deva;|IND|INR|0|044f|संस्कृत भाषा|संस्कृत भाषा|भारतः +sa-IN|Sanskrit (India)|Sanskrit|India|Deva;|IND|INR|0|044f|संस्कृत भाषा (भारतः)|संस्कृत भाषा|भारतः sah|Sakha|Sakha|Russia|Cyrl;|RUS|RUB|0|0485|саха тыла|саха тыла|Арассыыйа sah-RU|Sakha (Russia)|Sakha|Russia|Cyrl;|RUS|RUB|0|0485|саха тыла (Арассыыйа)|саха тыла|Арассыыйа saq|Samburu|Samburu|Kenya|Latn;|KEN|KES|0|1000|Kisampur|Kisampur|Kenya @@ -801,20 +800,20 @@ ti-ER|Tigrinya (Eritrea)|Tigrinya|Eritrea|Ethi;|ERI|ERN|0|0873|ትግር (ኤር ti-ET|Tigrinya (Ethiopia)|Tigrinya|Ethiopia|Ethi;|ETH|ETB|0|0473|ትግር (ኢትዮጵያ)|ትግር|ኢትዮጵያ tig|Tigre|Tigre|Eritrea|Ethi;|ERI|ERN|0|1000|ትግረ|ትግረ|ኤርትራ tig-ER|Tigre (Eritrea)|Tigre|Eritrea|Ethi;|ERI|ERN|0|1000|ትግረ (ኤርትራ)|ትግረ|ኤርትራ -tk|Turkmen|Turkmen|Turkmenistan|Latn;|TKM|TMT|0|0442|Türkmen dili|Türkmen dili|Türkmenistan -tk-TM|Turkmen (Turkmenistan)|Turkmen|Turkmenistan|Latn;|TKM|TMT|0|0442|Türkmen dili (Türkmenistan)|Türkmen dili|Türkmenistan +tk|Turkmen|Turkmen|Turkmenistan|Latn;|TKM|TMT|0|0442|türkmen dili|türkmen dili|Türkmenistan +tk-TM|Turkmen (Turkmenistan)|Turkmen|Turkmenistan|Latn;|TKM|TMT|0|0442|türkmen dili (Türkmenistan)|türkmen dili|Türkmenistan tn|Setswana|Setswana|South Africa|Latn;|ZAF|ZAR|0|0432|Setswana|Setswana|Aforika Borwa tn-BW|Setswana (Botswana)|Setswana|Botswana|Latn;|BWA|BWP|0|0832|Setswana (Botswana)|Setswana|Botswana tn-ZA|Setswana (South Africa)|Setswana|South Africa|Latn;|ZAF|ZAR|0|0432|Setswana (Aforika Borwa)|Setswana|Aforika Borwa to|Tongan|Tongan|Tonga|Latn;|TON|TOP|0|1000|lea fakatonga|lea fakatonga|Tonga to-TO|Tongan (Tonga)|Tongan|Tonga|Latn;|TON|TOP|0|1000|lea fakatonga (Tonga)|lea fakatonga|Tonga -tr|Turkish|Turkish|Turkey|Latn;|TUR|TRY|0|041f|Türkçe|Türkçe|Türkiye +tr|Turkish|Turkish|Türkiye|Latn;|TUR|TRY|0|041f|Türkçe|Türkçe|Türkiye tr-CY|Turkish (Cyprus)|Turkish|Cyprus|Latn;|CYP|EUR|0|1000|Türkçe (Kıbrıs)|Türkçe|Kıbrıs -tr-TR|Turkish (Turkey)|Turkish|Turkey|Latn;|TUR|TRY|0|041f|Türkçe (Türkiye)|Türkçe|Türkiye +tr-TR|Turkish (Türkiye)|Turkish|Türkiye|Latn;|TUR|TRY|0|041f|Türkçe (Türkiye)|Türkçe|Türkiye ts|Xitsonga|Xitsonga|South Africa|Latn;|ZAF|ZAR|0|0431|Xitsonga|Xitsonga|South Africa ts-ZA|Xitsonga (South Africa)|Xitsonga|South Africa|Latn;|ZAF|ZAR|0|0431|Xitsonga (South Africa)|Xitsonga|South Africa -tt|Tatar|Tatar|Russia|Cyrl;|RUS|RUB|0|0444|Татар|Татар|Россия -tt-RU|Tatar (Russia)|Tatar|Russia|Cyrl;|RUS|RUB|0|0444|Татар (Россия)|Татар|Россия +tt|Tatar|Tatar|Russia|Cyrl;|RUS|RUB|0|0444|татар|татар|Россия +tt-RU|Tatar (Russia)|Tatar|Russia|Cyrl;|RUS|RUB|0|0444|татар (Россия)|татар|Россия twq|Tasawaq|Tasawaq|Niger|Latn;|NER|XOF|0|1000|Tasawaq senni|Tasawaq senni|Nižer twq-NE|Tasawaq (Niger)|Tasawaq|Niger|Latn;|NER|XOF|0|1000|Tasawaq senni (Nižer)|Tasawaq senni|Nižer tzm|Central Atlas Tamazight|Central Atlas Tamazight|Algeria|Latn;|DZA|DZD|0|085f|Tamaziɣt n laṭlaṣ|Tamaziɣt n laṭlaṣ|Djazaïr @@ -829,9 +828,9 @@ ug|Uyghur|Uyghur|China|Arab;|CHN|CNY|1|0480|ئۇيغۇرچە|ئۇيغۇرچە|ج ug-CN|Uyghur (China)|Uyghur|China|Arab;|CHN|CNY|1|0480|ئۇيغۇرچە (جۇڭخۇا خەلق جۇمھۇرىيىتى)|ئۇيغۇرچە|جۇڭخۇا خەلق جۇمھۇرىيىتى uk|Ukrainian|Ukrainian|Ukraine|Cyrl;|UKR|UAH|0|0422|українська|українська|Україна uk-UA|Ukrainian (Ukraine)|Ukrainian|Ukraine|Cyrl;|UKR|UAH|0|0422|українська (Україна)|українська|Україна -ur|Urdu|Urdu|Pakistan|Arab;|PAK|PKR|1|0420|اُردو|اُردو|پاکستان +ur|Urdu|Urdu|Pakistan|Arab;|PAK|PKR|1|0420|اردو|اردو|پاکستان ur-IN|Urdu (India)|Urdu|India|Arab;|IND|INR|1|0820|اردو (بھارت)|اردو|بھارت -ur-PK|Urdu (Pakistan)|Urdu|Pakistan|Arab;|PAK|PKR|1|0420|اُردو (پاکستان)|اُردو|پاکستان +ur-PK|Urdu (Pakistan)|Urdu|Pakistan|Arab;|PAK|PKR|1|0420|اردو (پاکستان)|اردو|پاکستان uz|Uzbek|Uzbek|Uzbekistan|Latn;|UZB|UZS|0|0443|o‘zbek|o‘zbek|Oʻzbekiston uz-Arab|Uzbek (Arabic)|Uzbek (Arabic)|Afghanistan|Arab;|AFG|AFN|1|1000|اوزبیک (عربی)|اوزبیک|افغانستان uz-Arab-AF|Uzbek (Arabic, Afghanistan)|Uzbek (Arabic)|Afghanistan|Arab;|AFG|AFN|1|1000|اوزبیک (افغانستان)|اوزبیک|افغانستان @@ -846,8 +845,8 @@ vai-Vaii|Vai (Vai)|Vai (Vai)|Liberia|Vaii;|LBR|LRD|0|1000|ꕙꔤ (Vai)|ꕙꔤ| vai-Vaii-LR|Vai (Vai, Liberia)|Vai (Vai)|Liberia|Vaii;|LBR|LRD|0|1000|ꕙꔤ (ꕞꔤꔫꕩ)|ꕙꔤ|ꕞꔤꔫꕩ ve|Venda|Venda|South Africa|Latn;|ZAF|ZAR|0|0433|Tshivenḓa|Tshivenḓa|South Africa ve-ZA|Venda (South Africa)|Venda|South Africa|Latn;|ZAF|ZAR|0|0433|Tshivenḓa (South Africa)|Tshivenḓa|South Africa -vi|Vietnamese|Vietnamese|Vietnam|Latn;|VNM|VND|0|042a|Tiếng Việt|Tiếng Việt|Việt Nam -vi-VN|Vietnamese (Vietnam)|Vietnamese|Vietnam|Latn;|VNM|VND|0|042a|Tiếng Việt (Việt Nam)|Tiếng Việt|Việt Nam +vi|Vietnamese|Vietnamese|Vietnam|Latn;|VNM|VND|0|042a|Tiếng Việt|Tiếng Việt|Việt Nam +vi-VN|Vietnamese (Vietnam)|Vietnamese|Vietnam|Latn;|VNM|VND|0|042a|Tiếng Việt (Việt Nam)|Tiếng Việt|Việt Nam vo|Volapük|Volapük|World|Latn;|001|XDR|0|1000|Volapük|Volapük|World vo-001|Volapük (World)|Volapük|World|Latn;|001|XDR|0|1000|Volapük (World)|Volapük|World vun|Vunjo|Vunjo|Tanzania|Latn;|TZA|TZS|0|1000|Kyivunjo|Kyivunjo|Tanzania diff --git a/misc/languages/data/windows/win_genlocaletable.lua b/misc/languages/data/windows/win_genlocaletable.lua index dc20fb07ad..ccfb89cc54 100644 --- a/misc/languages/data/windows/win_genlocaletable.lua +++ b/misc/languages/data/windows/win_genlocaletable.lua @@ -153,8 +153,6 @@ end script2alias = scriptmap(); locid2wxid = initmap() -fo2 = io.open('temp/langtabl_test.txt','w') - fo1 = io.open('temp/win_loadlocaletable.sql','w') fo1:write('-- List of locales supported by Windows\n-- Date: ' .. os.date("%Y-%m-%d %H:%M") .. '\n\n') fo1:write('-- Data source: MSDN\n\n') @@ -217,7 +215,7 @@ for line in io.lines(codeFileName) do ENGLISHDISPLAYNAME = ENGLISHDISPLAYNAME:gsub("'", "''") ENGLISHDISPLAYNAMEHEX = string.tohex(ENGLISHDISPLAYNAME) if ENGLISHDISPLAYNAME ~= ENGLISHDISPLAYNAMEHEX then - print('*** ' .. locid .. ' - Display name contains non-ASCII characters') + print(' +++ Warning: ' .. locid .. ' - Display name contains non-ASCII characters') end ENGLISHLANGUAGENAME = values[3] ENGLISHLANGUAGENAME = ENGLISHLANGUAGENAME:gsub("'", "''") @@ -335,46 +333,43 @@ for line in io.lines(codeFileName) do fo1:write("insert into win_localetable values ('" .. locid .. "', '" .. locidnew .. "', '" .. WXNAME .. "', '-', '-', '" .. string.tohex(ENGLISHDISPLAYNAME) .. "', '" .. string.tohex(ENGLISHLANGUAGENAME) .. "', '" .. string.tohex(ENGLISHCOUNTRYNAME) .. "', '" .. SCRIPTS .. "', '" .. COUNTRY3 .. "', '" .. script4 .. "', '" .. CURRENCY .. "', '" .. LAYOUT .. "', '" .. sidlang .. "', '" .. sidsublang .. "', '" .. NATIVEDISPLAYNAME .. "', '" .. NATIVELANGUAGENAME .. "', '" .. NATIVECOUNTRYNAME .. "', '" .. NATIVEDISPLAYNAMEHEX .. "', '" .. NATIVELANGUAGENAMEHEX .. "', '" .. NATIVECOUNTRYNAMEHEX .. "');\n") - fo2:write(SWXNAME .. " " .. slocid .. " " .. sidlang .. " " .. sidsublang .. " " .. LAYOUT .. ' "' .. ENGLISHDISPLAYNAMEHEX .. '","' .. NATIVEDISPLAYNAMEHEX .. '"\n') - count = count + 1 end end -- Add manually entries for compatibility with prior wxWidgets versions -fo1:write("insert into win_localetable values ('ab', 'ab', 'wxLANGUAGE_ABKHAZIAN', '-', '-', 'Abkhazian', 'Abkhazian', '', '', '', '', '', 'LTR', '-', '-', 'аҧсуа бызшәа', 'аҧсуа бызшәа', '', '" .. string.tohex('аҧсуа бызшәа') .. "', '" .. string.tohex('аҧсуа бызшәа') .. "', '');\n") -fo1:write("insert into win_localetable values ('ay', 'ay', 'wxLANGUAGE_AYMARA', '-', '-', 'Aymara', 'Aymara', '', '', '', '', '', 'LTR', '-', '-', 'Aymara', 'Aymara', '', 'Aymara', 'Aymara', '');\n") -fo1:write("insert into win_localetable values ('bh', 'bh', 'wxLANGUAGE_BIHARI', '-', '-', 'Bihari', 'Bihari', '', '', '', '', '', 'LTR', '-', '-', 'Bihari', 'Bihari', '', 'Bihari', 'Bihari', '');\n") -fo1:write("insert into win_localetable values ('bi', 'bi', 'wxLANGUAGE_BISLAMA', '-', '-', 'Bislama', 'Bislama', '', '', '', '', '', 'LTR', '-', '-', 'Bislama', 'Bislama', 'Vanuatu', 'Bislama', 'Bislama', 'Vanuatu');\n") -fo1:write("insert into win_localetable values ('en-CB', 'en_CB', 'wxLANGUAGE_ENGLISH_CARIBBEAN_CB', '-', '-', 'English (Caribbean)', 'English (Caribbean)', '', '', '', '', '', 'LTR', '0x09', '0x09', 'English (Caribbean)', 'English (Caribbean)', '', 'English (Caribbean)', 'English (Caribbean)', '');\n") +fo1:write("insert or ignore into win_localetable values ('ab', 'ab', 'wxLANGUAGE_ABKHAZIAN', '-', '-', 'Abkhazian', 'Abkhazian', '', '', '', '', '', 'LTR', '-', '-', 'аҧсуа бызшәа', 'аҧсуа бызшәа', '', '" .. string.tohex('аҧсуа бызшәа') .. "', '" .. string.tohex('аҧсуа бызшәа') .. "', '');\n") +fo1:write("insert or ignore into win_localetable values ('ay', 'ay', 'wxLANGUAGE_AYMARA', '-', '-', 'Aymara', 'Aymara', '', '', '', '', '', 'LTR', '-', '-', 'Aymara', 'Aymara', '', 'Aymara', 'Aymara', '');\n") +fo1:write("insert or ignore into win_localetable values ('bh', 'bh', 'wxLANGUAGE_BIHARI', '-', '-', 'Bihari', 'Bihari', '', '', '', '', '', 'LTR', '-', '-', 'Bihari', 'Bihari', '', 'Bihari', 'Bihari', '');\n") +fo1:write("insert or ignore into win_localetable values ('bi', 'bi', 'wxLANGUAGE_BISLAMA', '-', '-', 'Bislama', 'Bislama', '', '', '', '', '', 'LTR', '-', '-', 'Bislama', 'Bislama', 'Vanuatu', 'Bislama', 'Bislama', 'Vanuatu');\n") +fo1:write("insert or ignore into win_localetable values ('en-CB', 'en_CB', 'wxLANGUAGE_ENGLISH_CARIBBEAN_CB', '-', '-', 'English (Caribbean)', 'English (Caribbean)', '', '', '', '', '', 'LTR', '0x09', '0x09', 'English (Caribbean)', 'English (Caribbean)', '', 'English (Caribbean)', 'English (Caribbean)', '');\n") -fo1:write("insert into win_localetable values ('fj', 'fj', 'wxLANGUAGE_FIJI', '-', '-', 'Fiji', 'Fiji', '', '', '', '', '', 'LTR', '-', '-', 'Na Vosa Vakaviti', 'Na Vosa Vakaviti', '', 'Na Vosa Vakaviti', 'Na Vosa Vakaviti', '');\n") -fo1:write("insert into win_localetable values ('ie', 'ie', 'wxLANGUAGE_INTERLINGUE', '-', '-', 'Interlingue', 'Interlingue', '', '', '', '', '', 'LTR', '-', '-', 'Interlingue', 'Interlingue', '', 'Interlingue', 'Interlingue', '');\n") -fo1:write("insert into win_localetable values ('ik', 'ik', 'wxLANGUAGE_INUPIAK', '-', '-', 'Inupiak', 'Inupiak', '', '', '', '', '', 'LTR', '-', '-', 'Inupiaq', 'Inupiaq', '', 'Inupiaq', 'Inupiaq', '');\n") -fo1:write("insert into win_localetable values ('ks-IN', 'ks_IN', 'wxLANGUAGE_KASHMIRI_INDIA', '-', '-', 'Kashmiri (India)', 'Kashmiri', 'India', '', '', '', '', 'RTL', '0x00', '0x04', 'کشور (بھارت)', 'کٲشُر', 'ہِندوستان', '" .. string.tohex('کشور (بھارت)') .."', '" .. string.tohex('کٲشُر') .."', '" .. string.tohex('ہِندوستان') .."');\n") -fo1:write("insert into win_localetable values ('ku-TR', 'ku_TR', 'wxLANGUAGE_KURDISH', '-', '-', 'Kurdish', 'Kurdish', '', '', '', '', '', 'LTR', '-', '-', 'Kurdî', 'Kurdî', '', '" .. string.tohex('Kurdî') .. "', '" .. string.tohex('Kurdî') .. "', '');\n") +fo1:write("insert or ignore into win_localetable values ('fj', 'fj', 'wxLANGUAGE_FIJI', '-', '-', 'Fiji', 'Fiji', '', '', '', '', '', 'LTR', '-', '-', 'Na Vosa Vakaviti', 'Na Vosa Vakaviti', '', 'Na Vosa Vakaviti', 'Na Vosa Vakaviti', '');\n") +fo1:write("insert or ignore into win_localetable values ('ie', 'ie', 'wxLANGUAGE_INTERLINGUE', '-', '-', 'Interlingue', 'Interlingue', '', '', '', '', '', 'LTR', '-', '-', 'Interlingue', 'Interlingue', '', 'Interlingue', 'Interlingue', '');\n") +fo1:write("insert or ignore into win_localetable values ('ik', 'ik', 'wxLANGUAGE_INUPIAK', '-', '-', 'Inupiak', 'Inupiak', '', '', '', '', '', 'LTR', '-', '-', 'Inupiaq', 'Inupiaq', '', 'Inupiaq', 'Inupiaq', '');\n") +fo1:write("insert or ignore into win_localetable values ('ks-IN', 'ks_IN', 'wxLANGUAGE_KASHMIRI_INDIA', '-', '-', 'Kashmiri (India)', 'Kashmiri', 'India', '', '', '', '', 'RTL', '0x00', '0x04', 'کشور (بھارت)', 'کٲشُر', 'ہِندوستان', '" .. string.tohex('کشور (بھارت)') .."', '" .. string.tohex('کٲشُر') .."', '" .. string.tohex('ہِندوستان') .."');\n") +fo1:write("insert or ignore into win_localetable values ('ku-TR', 'ku_TR', 'wxLANGUAGE_KURDISH', '-', '-', 'Kurdish', 'Kurdish', '', '', '', '', '', 'LTR', '-', '-', 'Kurdî', 'Kurdî', '', '" .. string.tohex('Kurdî') .. "', '" .. string.tohex('Kurdî') .. "', '');\n") -fo1:write("insert into win_localetable values ('la-001', 'la_001', 'wxLANGUAGE_LATIN_WORLD', '-', '-', 'Latin (World)', 'Latin', 'World', '', '', '', '', 'LTR', '0x76', '0x01', 'Latina (World)', 'Latina', 'World', 'Latina (Mundus)', 'Latina', 'Mundus');\n") -fo1:write("insert into win_localetable values ('mo', 'mo', 'wxLANGUAGE_MOLDAVIAN', '-', '-', 'Moldavian', 'Moldavian', '', '', '', '', '', 'LTR', '-', '-', 'лимба молдовеняскэ', 'лимба молдовеняскэ', '', '" .. string.tohex('лимба молдовеняскэ') .. "', '" .. string.tohex('лимба молдовеняскэ') .. "', '');\n") -fo1:write("insert into win_localetable values ('na', 'na', 'wxLANGUAGE_NAURU', '-', '-', 'Nauru', 'Nauru', 'Nauru', '', '', '', '', 'LTR', '-', '-', 'Nauru', 'Nauru', 'Nauru', 'Nauru', 'Nauru', 'Nauru');\n") -fo1:write("insert into win_localetable values ('qu', 'qu', 'wxLANGUAGE_QUECHUA_MACRO', '-', '-', 'Quechua', 'Quechua', '', '', '', '', '', 'LTR', '-', '-', 'Qhichwa', 'Qhichwa', '', 'Qhichwa', 'Qhichwa', '');\n") -fo1:write("insert into win_localetable values ('sm', 'sm', 'wxLANGUAGE_SAMOAN', '-', '-', 'Samoan', 'Samoan', '', '', '', '', '', 'LTR', '-', '-', 'Samoa', 'Samoa', 'Samoa', 'Samoa', 'Samoa', 'Samoa');\n") +fo1:write("insert or ignore into win_localetable values ('la-001', 'la_001', 'wxLANGUAGE_LATIN_WORLD', '-', '-', 'Latin (World)', 'Latin', 'World', '', '', '', '', 'LTR', '0x76', '0x01', 'Latina (World)', 'Latina', 'World', 'Latina (Mundus)', 'Latina', 'Mundus');\n") +fo1:write("insert or ignore into win_localetable values ('mo', 'mo', 'wxLANGUAGE_MOLDAVIAN', '-', '-', 'Moldavian', 'Moldavian', '', '', '', '', '', 'LTR', '-', '-', 'лимба молдовеняскэ', 'лимба молдовеняскэ', '', '" .. string.tohex('лимба молдовеняскэ') .. "', '" .. string.tohex('лимба молдовеняскэ') .. "', '');\n") +fo1:write("insert or ignore into win_localetable values ('na', 'na', 'wxLANGUAGE_NAURU', '-', '-', 'Nauru', 'Nauru', 'Nauru', '', '', '', '', 'LTR', '-', '-', 'Nauru', 'Nauru', 'Nauru', 'Nauru', 'Nauru', 'Nauru');\n") +fo1:write("insert or ignore into win_localetable values ('qu', 'qu', 'wxLANGUAGE_QUECHUA_MACRO', '-', '-', 'Quechua', 'Quechua', '', '', '', '', '', 'LTR', '-', '-', 'Qhichwa', 'Qhichwa', '', 'Qhichwa', 'Qhichwa', '');\n") +fo1:write("insert or ignore into win_localetable values ('sm', 'sm', 'wxLANGUAGE_SAMOAN', '-', '-', 'Samoan', 'Samoan', '', '', '', '', '', 'LTR', '-', '-', 'Samoa', 'Samoa', 'Samoa', 'Samoa', 'Samoa', 'Samoa');\n") -fo1:write("insert into win_localetable values ('sr-RS', 'sr_RS', 'wxLANGUAGE_SERBIAN_SERBIA', '-', '-', 'Serbian (Serbia)', 'Serbian', 'Serbia', '', '', '', '', 'LTR', '0x1a', '0x01', 'srpski (Srbija)', 'srpski', 'Srbija', 'srpski (Srbija)', 'srpski', 'Srbija');\n") -fo1:write("insert into win_localetable values ('sr-YU', 'sr_YU', 'wxLANGUAGE_SERBIAN_YU', '-', '-', 'Serbian', 'Serbian', '', '', '', '', '', 'LTR', '0x1a', '0x01', 'srpski', 'srpski', 'Srbija', 'srpski', 'srpski', 'Srbija');\n") -fo1:write("insert into win_localetable values ('sr-Cyrl-YU', 'sr_YU@cyrillic', 'wxLANGUAGE_SERBIAN_CYRILLIC_YU', '-', '-', 'Serbian (Cyrillic)', 'Serbian (Cyrillic)', '', 'Cyrl;', '', '', '', 'LTR', '0x1a', '0x03', 'српски (Србија)', 'српски', 'Србија', '" .. string.tohex('српски (Србија)') .. "', '" .. string.tohex('српски') .. "', '" .. string.tohex('Србија') .. "');\n") -fo1:write("insert into win_localetable values ('sr-Latn-YU', 'sr_YU@latin', 'wxLANGUAGE_SERBIAN_LATIN_YU', '-', '-', 'Serbian (Latin)', 'Serbian (Latin)', '', 'Latn;', '', '', '', 'LTR', '0x1a', '0x02', 'srpski (latinica)', 'srpski', 'Srbija', 'srpski (latinica)', 'srpski', 'Srbija');\n") -fo1:write("insert into win_localetable values ('sh', 'sh', 'wxLANGUAGE_SERBO_CROATIAN', '-', '-', 'Serbo-Croatian', 'Serbo-Croatian', '', '', '', '', '', 'LTR', '-', '-', 'srpskohrvatski', 'srpskohrvatski', '', 'srpskohrvatski', 'srpskohrvatski', '');\n") +fo1:write("insert or ignore into win_localetable values ('sr-RS', 'sr_RS', 'wxLANGUAGE_SERBIAN_SERBIA', '-', '-', 'Serbian (Serbia)', 'Serbian', 'Serbia', '', '', '', '', 'LTR', '0x1a', '0x01', 'srpski (Srbija)', 'srpski', 'Srbija', 'srpski (Srbija)', 'srpski', 'Srbija');\n") +fo1:write("insert or ignore into win_localetable values ('sr-YU', 'sr_YU', 'wxLANGUAGE_SERBIAN_YU', '-', '-', 'Serbian', 'Serbian', '', '', '', '', '', 'LTR', '0x1a', '0x01', 'srpski', 'srpski', 'Srbija', 'srpski', 'srpski', 'Srbija');\n") +fo1:write("insert or ignore into win_localetable values ('sr-Cyrl-YU', 'sr_YU@cyrillic', 'wxLANGUAGE_SERBIAN_CYRILLIC_YU', '-', '-', 'Serbian (Cyrillic)', 'Serbian (Cyrillic)', '', 'Cyrl;', '', '', '', 'LTR', '0x1a', '0x03', 'српски (Србија)', 'српски', 'Србија', '" .. string.tohex('српски (Србија)') .. "', '" .. string.tohex('српски') .. "', '" .. string.tohex('Србија') .. "');\n") +fo1:write("insert or ignore into win_localetable values ('sr-Latn-YU', 'sr_YU@latin', 'wxLANGUAGE_SERBIAN_LATIN_YU', '-', '-', 'Serbian (Latin)', 'Serbian (Latin)', '', 'Latn;', '', '', '', 'LTR', '0x1a', '0x02', 'srpski (latinica)', 'srpski', 'Srbija', 'srpski (latinica)', 'srpski', 'Srbija');\n") +fo1:write("insert or ignore into win_localetable values ('sh', 'sh', 'wxLANGUAGE_SERBO_CROATIAN', '-', '-', 'Serbo-Croatian', 'Serbo-Croatian', '', '', '', '', '', 'LTR', '-', '-', 'srpskohrvatski', 'srpskohrvatski', '', 'srpskohrvatski', 'srpskohrvatski', '');\n") -fo1:write("insert into win_localetable values ('tl-PH', 'tl_PH', 'wxLANGUAGE_TAGALOG', '-', '-', 'Tagalog', 'Tagalog', 'Philippines', '', '', '', '', 'LTR', '-', '-', 'Tagalog', 'Tagalog', 'Pilipinas ', 'Tagalog', 'Tagalog', 'Pilipinas');\n") -fo1:write("insert into win_localetable values ('tw', 'tw', 'wxLANGUAGE_TWI', '-', '-', 'Twi', 'Twi', '', '', '', '', '', 'LTR', '-', '-', 'Twi', 'Twi', 'Ghana', 'Twi', 'Twi', 'Ghana');\n") -fo1:write("insert into win_localetable values ('za', 'za', 'wxLANGUAGE_ZHUANG', '-', '-', 'Zhuang', 'Zhuang', '', '', '', '', '', 'LTR', '-', '-', 'Zhuang', 'Zhuang', 'China', 'Zhuang', 'Zhuang', 'China');\n") +fo1:write("insert or ignore into win_localetable values ('tl', 'tl', 'wxLANGUAGE_TAGALOG', '-', '-', 'Tagalog', 'Tagalog', '', 'Latn;', 'PHL', '', '', 'LTR', '-', '-', 'Tagalog', 'Tagalog', '', 'Tagalog', 'Tagalog', '');\n") +fo1:write("insert or ignore into win_localetable values ('tl-PH', 'tl_PH', 'wxLANGUAGE_TAGALOG_PHILIPPINES', '-', '-', 'Tagalog (Philippines)', 'Tagalog', 'Philippines', 'Latn;', 'PHL', '', '', 'LTR', '-', '-', 'Tagalog (Pilipinas)', 'Tagalog', 'Pilipinas', 'Tagalog (Pilipinas)', 'Tagalog', 'Pilipinas');\n") +fo1:write("insert or ignore into win_localetable values ('tw', 'tw', 'wxLANGUAGE_TWI', '-', '-', 'Twi', 'Twi', '', '', '', '', '', 'LTR', '-', '-', 'Twi', 'Twi', 'Ghana', 'Twi', 'Twi', 'Ghana');\n") +fo1:write("insert or ignore into win_localetable values ('za', 'za', 'wxLANGUAGE_ZHUANG', '-', '-', 'Zhuang', 'Zhuang', '', '', '', '', '', 'LTR', '-', '-', 'Zhuang', 'Zhuang', 'China', 'Zhuang', 'Zhuang', 'China');\n") -- Update count to reflect manual entries (needs to be updated, if entries are added or removed) -count = count + 23 -print("Number of locales=" .. count) +count = count + 24 +print(" Number of locales = " .. count) fo1:write('commit;\n') fo1:close() - -fo2:close() diff --git a/misc/languages/data/wx/wx_loadlangtabl.lua b/misc/languages/data/wx/wx_loadlangtabl.lua index 9cceed5386..034dc952ff 100644 --- a/misc/languages/data/wx/wx_loadlangtabl.lua +++ b/misc/languages/data/wx/wx_loadlangtabl.lua @@ -19,7 +19,7 @@ for line in io.lines(codeFileName) do fo2:write("insert into wx_langmap values ('" .. wxlangname .. "', '" .. wxlangid .. "', '" .. wxlocregion .. "', '" .. wxversion .. "');\n") count = count + 1 end -print("Number of languages =" .. count) +print(" Number of languages = " .. count) fo2:write('commit;\n') fo2:close() diff --git a/misc/languages/data/wx/wx_loadsynonymtabl.lua b/misc/languages/data/wx/wx_loadsynonymtabl.lua index e20615caec..9334702327 100644 --- a/misc/languages/data/wx/wx_loadsynonymtabl.lua +++ b/misc/languages/data/wx/wx_loadsynonymtabl.lua @@ -39,7 +39,7 @@ for line in io.lines(codeFileName) do count = count + 1 end end -print("Number of synonyms=" .. count) +print(" Number of synonyms = " .. count) fo2:write('commit;\n') fo2:close() diff --git a/misc/languages/data/wx/wx_readversion.lua b/misc/languages/data/wx/wx_readversion.lua index 0e1f93b060..9ec2dc70a7 100644 --- a/misc/languages/data/wx/wx_readversion.lua +++ b/misc/languages/data/wx/wx_readversion.lua @@ -25,7 +25,7 @@ for line in io.lines(codeFileName) do end end wxversion = vmajor .. "." .. vminor .. "." .. vrelno -print("wx version number=" .. wxversion) +print(" wxWidgets version number:", wxversion) fo2:write("insert into wx_version values('" .. wxversion .. "');\n") fo2:write('commit;\n') diff --git a/misc/languages/genlang.py b/misc/languages/genlang.py index 669cc1f5bb..63922ca013 100755 --- a/misc/languages/genlang.py +++ b/misc/languages/genlang.py @@ -10,6 +10,48 @@ import os import string import sys +def ReadRegionGroupTable(): + regiongrouptable = [] + try: + f = open('misc/languages/regiongrouptabl.txt') + except: + print("Did you run the script from top-level wxWidgets directory?") + raise + + for i in f.readlines(): + ispl = i.split() + regiongrouptable.append((ispl[0], ispl[1])) + f.close() + return regiongrouptable + +def ReadMatchingTable(): + matchingtable = [] + try: + f = open('misc/languages/matchingtabl.txt') + except: + print("Did you run the script from top-level wxWidgets directory?") + raise + + for i in f.readlines(): + ispl = i.split() + matchingtable.append((ispl[0], ispl[1], ispl[2])) + f.close() + return matchingtable + +def ReadLikelyTable(): + likelytable = [] + try: + f = open('misc/languages/likelytabl.txt') + except: + print("Did you run the script from top-level wxWidgets directory?") + raise + + for i in f.readlines(): + ispl = i.split() + likelytable.append((ispl[0], ispl[1])) + f.close() + return likelytable + def ReadScriptTable(): scripttable = [] try: @@ -54,7 +96,7 @@ def ReadTable(): # Kind may be "include" or "interface". -def WriteEnum(f, table, synonymtable, scripttable, kind = 'include'): +def WriteEnum(f, table, synonymtable, kind = 'include'): f.write(""" enum wxLanguage { @@ -105,13 +147,88 @@ enum wxLanguage output += '};\n\n' f.write(output) -def WriteTable(f, table, synonymtable, scripttable): - sctable = '' - for i in scripttable: - scname = '"%s"' % i[0] - scalias = '"%s"' % i[1] - sctable += ' { %s, %s },\n' % (scname, scalias) +def WriteTable(f, table, synonymtable): + f.write(""" +// The following data tables are generated by misc/languages/genlang.py +// When making changes, please put them into misc/languages/langtabl.txt +#if !defined(__WIN32__) + +#define SETWINLANG(info,lang,sublang) + +#else + +#define SETWINLANG(info,lang,sublang) \\ + info.WinLang = tabLangData[j].lang; \\ + info.WinSublang = tabLangData[j].sublang; + +#endif // __WIN32__ + +// Include actual data tables +#include "wx/private/lang_info.h" +#include "wx/private/lang_scripts.h" +#include "wx/private/lang_likely.h" +#include "wx/private/lang_match.h" +#include "wx/private/lang_regions.h" + +void wxUILocaleImpl::InitLanguagesDB() +{ + wxLanguageInfo info; + int j; + + // Known languages + for (j = 0; tabLangData[j].wxlang != 0; ++j) + { + info.Language = tabLangData[j].wxlang; + info.LocaleTag = tabLangData[j].bcp47tag; + info.CanonicalName = tabLangData[j].canonical; + info.CanonicalRef = tabLangData[j].canonicalref; + info.LayoutDirection = tabLangData[j].layout; + info.Description = wxString::FromUTF8(tabLangData[j].desc); + info.DescriptionNative = wxString::FromUTF8(tabLangData[j].descnative); + SETWINLANG(info, winlang, winsublang) + wxUILocale::AddLanguage(info); + } + + // Known language scripts + for (j = 0; tabScriptData[j].scname; ++j) + { + gs_scmap_name2alias[tabScriptData[j].scname] = tabScriptData[j].scalias; + gs_scmap_alias2name[tabScriptData[j].scalias] = tabScriptData[j].scname; + } + + // Known likely subtags + for (j = 0; tabLikelyData[j].tagfrom; ++j) + { + gs_likely_subtags_map[tabLikelyData[j].tagfrom] = tabLikelyData[j].tagto; + } + + // Known matching language tags + for (j = 0; tabMatchData[j].matchkey; ++j) + { + gs_matching_tags_map[tabMatchData[j].matchkey] = tabMatchData[j].matchval; + } + + // Known region groups + wxString langPrev; + wxString lang; + std::unordered_set* regionGroup = nullptr; + for (j = 0; regionGroupData[j].language; ++j) + { + lang = regionGroupData[j].language; + if (!langPrev.IsSameAs(lang)) + { + langPrev = lang; + gs_region_groups_map[lang] = std::unordered_set(); + regionGroup = &gs_region_groups_map[lang]; + } + regionGroup->insert(regionGroupData[j].country); + } +} + +""" ) + +def WriteInfoTable(f, table, synonymtable): lngtable = '' for i in table: @@ -137,18 +254,6 @@ def WriteTable(f, table, synonymtable, scripttable): // The following data tables are generated by misc/languages/genlang.py // When making changes, please put them into misc/languages/langtabl.txt -#if !defined(__WIN32__) - -#define SETWINLANG(info,lang,sublang) - -#else - -#define SETWINLANG(info,lang,sublang) \\ - info.WinLang = tabLangData[j].lang; \\ - info.WinSublang = tabLangData[j].sublang; - -#endif // __WIN32__ - // Data table for known languages static const struct langData_t { @@ -167,6 +272,19 @@ tabLangData[] = %s { 0, nullptr, nullptr, nullptr, 0, 0, wxLayout_Default, nullptr, nullptr } }; +""" % (lngtable)) + + +def WriteScriptTable(f, scripttable, synonymtable): + sctable = '' + for i in scripttable: + scname = '"%s"' % i[0] + scalias = '"%s"' % i[1] + sctable += ' { %s, %s },\n' % (scname, scalias) + + f.write(""" +// The following data tables are generated by misc/languages/genlang.py +// When making changes, please put them into misc/languages/scripttabl.txt // Data table for known language scripts static const struct scriptData_t @@ -179,38 +297,83 @@ tabScriptData[] = %s { nullptr, nullptr } }; +""" % (sctable)) -void wxUILocale::InitLanguagesDB() +def WriteLikelyTable(f, likelytable, synonymtable): + tagtable = '' + for i in likelytable: + tagfrom = '"%s"' % i[0] + tagto = '"%s"' % i[1] + tagtable += ' { %-11s %s },\n' % (tagfrom+',', tagto) + + f.write(""" +// The following data tables are generated by misc/languages/genlang.py +// When making changes, please put them into misc/languages/likelytabl.txt + +// Data table for likely subtags +static const struct likelyData_t { - wxLanguageInfo info; - int j; - - // Known languages - for (j = 0; tabLangData[j].wxlang != 0; ++j) - { - info.Language = tabLangData[j].wxlang; - info.LocaleTag = tabLangData[j].bcp47tag; - info.CanonicalName = tabLangData[j].canonical; - info.CanonicalRef = tabLangData[j].canonicalref; - info.LayoutDirection = tabLangData[j].layout; - info.Description = wxString::FromUTF8(tabLangData[j].desc); - info.DescriptionNative = wxString::FromUTF8(tabLangData[j].descnative); - SETWINLANG(info, winlang, winsublang) - AddLanguage(info); - } - - // Known language scripts - for (j = 0; tabScriptData[j].scname; ++j) - { - gs_scmap_name2alias[tabScriptData[j].scname] = tabScriptData[j].scalias; - gs_scmap_alias2name[tabScriptData[j].scalias] = tabScriptData[j].scname; - } + const char* tagfrom; + const char* tagto; } +tabLikelyData[] = +{ +%s + { nullptr, nullptr } +}; +""" % (tagtable)) -""" % (lngtable,sctable)) +def WriteMatchingTable(f, matchingtable, synonymtable): + matchtable = '' + for i in matchingtable: + matchkey = '"%s:%s"' % (i[0], i[1]) + matchval = '%3s' % i[2] + matchtable += ' { %-20s %s },\n' % (matchkey+',', matchval) + + f.write(""" +// The following data tables are generated by misc/languages/genlang.py +// When making changes, please put them into misc/languages/matchingtabl.txt + +// Data table for matching languages +static const struct matchData_t +{ + const char* matchkey; + int matchval; +} +tabMatchData[] = +{ +%s + { nullptr, 0 } +}; +""" % (matchtable)) -def ReplaceGeneratedPartOfFile(fname, func): +def WriteRegionsTable(f, regiongrouptable, synonymtable): + regiongrptable = '' + for i in regiongrouptable: + rg_language = '"%s"' % i[0] + rg_country = '"%s"' % i[1] + regiongrptable += ' { %-8s %s },\n' % (rg_language+',', rg_country) + + f.write(""" +// The following data tables are generated by misc/languages/genlang.py +// When making changes, please put them into misc/languages/regiongrouptabl.txt + +// Data table for region groups +static const struct regionGroupData_t +{ + const char* language; + const char* country; +} +regionGroupData[] = +{ +%s + { nullptr, nullptr } +}; +""" % (regiongrptable)) + + +def ReplaceGeneratedPartOfFile(fname, func, table1, table2): """ Replaces the part of file marked with the special comments with the output of func. @@ -218,6 +381,8 @@ def ReplaceGeneratedPartOfFile(fname, func): fname is the name of the input file and func must be a function taking a file and language table on input and writing the appropriate chunk to this file, e.g. WriteEnum or WriteTable. + + table1 and table2 are data tables that are passed to func. """ fin = open(fname, 'rt') fnameNew = fname + '.new' @@ -230,7 +395,7 @@ def ReplaceGeneratedPartOfFile(fname, func): print('Unexpected starting comment.') betweenBeginAndEnd = 1 fout.write(l) - func(fout, table, synonymtable, scripttable) + func(fout, table1, table2) elif l == '// --- --- --- generated code ends here --- --- ---\n': if not betweenBeginAndEnd: print('End comment found before the starting one?') @@ -252,9 +417,20 @@ def ReplaceGeneratedPartOfFile(fname, func): os.remove(fname) os.rename(fnameNew, fname) + +dummytable = [] table = ReadTable() scripttable = ReadScriptTable() synonymtable = ReadSynonymTable() -ReplaceGeneratedPartOfFile('include/wx/language.h', WriteEnum) -ReplaceGeneratedPartOfFile('interface/wx/language.h', lambda f, table, synonymtable, scripttable: WriteEnum(f, table, synonymtable, scripttable, 'interface')) -ReplaceGeneratedPartOfFile('src/common/languageinfo.cpp', WriteTable) +likelytable = ReadLikelyTable() +matchingtable = ReadMatchingTable() +regiongrouptable = ReadRegionGroupTable() + +ReplaceGeneratedPartOfFile('include/wx/language.h', WriteEnum, table, synonymtable) +ReplaceGeneratedPartOfFile('interface/wx/language.h', lambda f, table1, table2: WriteEnum(f, table1, table2, 'interface'), table, synonymtable) +ReplaceGeneratedPartOfFile('src/common/languageinfo.cpp', WriteTable, table, synonymtable) +ReplaceGeneratedPartOfFile('include/wx/private/lang_info.h', WriteInfoTable, table, synonymtable) +ReplaceGeneratedPartOfFile('include/wx/private/lang_scripts.h', WriteScriptTable, scripttable, dummytable) +ReplaceGeneratedPartOfFile('include/wx/private/lang_likely.h', WriteLikelyTable, likelytable, dummytable) +ReplaceGeneratedPartOfFile('include/wx/private/lang_match.h', WriteMatchingTable, matchingtable, dummytable) +ReplaceGeneratedPartOfFile('include/wx/private/lang_regions.h', WriteRegionsTable, regiongrouptable, dummytable) diff --git a/misc/languages/langtabl.txt b/misc/languages/langtabl.txt index d2d2162ce7..63b0d22c3f 100644 --- a/misc/languages/langtabl.txt +++ b/misc/languages/langtabl.txt @@ -45,10 +45,10 @@ wxLANGUAGE_ARABIC_TUNISIA - ar-TN wxLANGUAGE_ARABIC_UAE - ar-AE ar_AE - 0x01 0x0e RTL "Arabic (United Arab Emirates)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\245\331\205\330\247\330\261\330\247\330\252 \330\247\331\204\330\271\330\261\330\250\331\212\330\251 \330\247\331\204\331\205\330\252\330\255\330\257\330\251)" wxLANGUAGE_ARABIC_WORLD 3.1.6 ar-001 ar_001 - 0x00 0x04 RTL "Arabic (World)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\271\330\247\331\204\331\205)" wxLANGUAGE_ARABIC_YEMEN - ar-YE ar_YE - 0x01 0x09 RTL "Arabic (Yemen)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\331\212\331\205\331\206)" -wxLANGUAGE_ARMENIAN - hy hy hy_AM 0x2b 0x01 LTR "Armenian","\325\200\325\241\325\265\325\245\326\200\325\245\325\266" -wxLANGUAGE_ARMENIAN_ARMENIA 3.1.6 hy-AM hy_AM - 0x2b 0x01 LTR "Armenian (Armenia)","\325\200\325\241\325\265\325\245\326\200\325\245\325\266 (\325\200\325\241\325\265\325\241\325\275\325\277\325\241\325\266)" -wxLANGUAGE_ASSAMESE - as as as_IN 0x4d 0x01 LTR "Assamese","\340\246\205\340\246\270\340\246\256\340\247\200\340\247\237\340\246\276" -wxLANGUAGE_ASSAMESE_INDIA 3.1.6 as-IN as_IN - 0x4d 0x01 LTR "Assamese (India)","\340\246\205\340\246\270\340\246\256\340\247\200\340\247\237\340\246\276 (\340\246\255\340\246\276\340\247\260\340\246\244)" +wxLANGUAGE_ARMENIAN - hy hy hy_AM 0x2b 0x01 LTR "Armenian","\325\260\325\241\325\265\325\245\326\200\325\245\325\266" +wxLANGUAGE_ARMENIAN_ARMENIA 3.1.6 hy-AM hy_AM - 0x2b 0x01 LTR "Armenian (Armenia)","\325\260\325\241\325\265\325\245\326\200\325\245\325\266 (\325\200\325\241\325\265\325\241\325\275\325\277\325\241\325\266)" +wxLANGUAGE_ASSAMESE - as as as_IN 0x4d 0x01 LTR "Assamese","\340\246\205\340\246\270\340\246\256\340\247\200\340\246\257\340\246\274\340\246\276" +wxLANGUAGE_ASSAMESE_INDIA 3.1.6 as-IN as_IN - 0x4d 0x01 LTR "Assamese (India)","\340\246\205\340\246\270\340\246\256\340\247\200\340\246\257\340\246\274\340\246\276 (\340\246\255\340\246\276\340\247\260\340\246\244)" wxLANGUAGE_ASTURIAN 3.0.0 ast ast ast_ES 0x00 0x04 LTR "Asturian","asturianu" wxLANGUAGE_ASTURIAN_SPAIN 3.1.6 ast-ES ast_ES - 0x00 0x04 LTR "Asturian (Spain)","asturianu (Espa\303\261a)" wxLANGUAGE_ASU 3.1.6 asa asa asa_TZ 0x00 0x04 LTR "Asu","Kipare" @@ -73,8 +73,8 @@ wxLANGUAGE_BASHKIR - ba wxLANGUAGE_BASHKIR_RUSSIA 3.1.6 ba-RU ba_RU - 0x6d 0x01 LTR "Bashkir (Russia)","\320\221\320\260\321\210\322\241\320\276\321\200\321\202 (\320\240\323\231\321\201\323\231\320\271)" wxLANGUAGE_BASQUE - eu eu eu_ES 0x2d 0x01 LTR "Basque","euskara" wxLANGUAGE_BASQUE_SPAIN 3.1.6 eu-ES eu_ES - 0x2d 0x01 LTR "Basque (Basque)","euskara (euskara)" -wxLANGUAGE_BELARUSIAN - be be be_BY 0x23 0x01 LTR "Belarusian","\320\221\320\265\320\273\320\260\321\200\321\203\321\201\320\272\320\260\321\217" -wxLANGUAGE_BELARUSIAN_BELARUS 3.1.6 be-BY be_BY - 0x23 0x01 LTR "Belarusian (Belarus)","\320\221\320\265\320\273\320\260\321\200\321\203\321\201\320\272\320\260\321\217 (\320\221\320\265\320\273\320\260\321\200\321\203\321\201\321\214)" +wxLANGUAGE_BELARUSIAN - be be be_BY 0x23 0x01 LTR "Belarusian","\320\261\320\265\320\273\320\260\321\200\321\203\321\201\320\272\320\260\321\217" +wxLANGUAGE_BELARUSIAN_BELARUS 3.1.6 be-BY be_BY - 0x23 0x01 LTR "Belarusian (Belarus)","\320\261\320\265\320\273\320\260\321\200\321\203\321\201\320\272\320\260\321\217 (\320\221\320\265\320\273\320\260\321\200\321\203\321\201\321\214)" wxLANGUAGE_BEMBA 3.1.6 bem bem bem_ZM 0x00 0x04 LTR "Bemba","Ichibemba" wxLANGUAGE_BEMBA_ZAMBIA 3.1.6 bem-ZM bem_ZM - 0x00 0x04 LTR "Bemba (Zambia)","Ichibemba (Zambia)" wxLANGUAGE_BENA 3.1.6 bez bez bez_TZ 0x00 0x04 LTR "Bena","Hibena" @@ -142,7 +142,7 @@ wxLANGUAGE_COLOGNIAN 3.1.6 ksh wxLANGUAGE_COLOGNIAN_GERMANY 3.1.6 ksh-DE ksh_DE - 0x00 0x04 LTR "Colognian (Germany)","K\303\266lsch (Do\303\274tschland)" wxLANGUAGE_CORNISH 3.1.6 kw kw kw_GB 0x00 0x04 LTR "Cornish","kernewek" wxLANGUAGE_CORNISH_UK 3.1.6 kw-GB kw_GB - 0x00 0x04 LTR "Cornish (United Kingdom)","kernewek (Rywvaneth Unys)" -wxLANGUAGE_CORSICAN - co co co_FR 0x83 0x01 LTR "Corsican","Corsu" +wxLANGUAGE_CORSICAN - co co co_FR 0x83 0x01 LTR "Corsican","corsu" wxLANGUAGE_CORSICAN_FRANCE 3.1.6 co-FR co_FR - 0x83 0x01 LTR "Corsican (France)","Corsu (Francia)" wxLANGUAGE_CROATIAN - hr hr hr_HR 0x1a 0x01 LTR "Croatian","hrvatski" wxLANGUAGE_CROATIAN_BOSNIA_AND_HERZEGOVINA 3.1.6 hr-BA hr_BA - 0x1a 0x04 LTR "Croatian (Bosnia and Herzegovina)","hrvatski (Bosna i Hercegovina)" @@ -152,8 +152,6 @@ wxLANGUAGE_CZECH_CZECHIA 3.1.6 cs-CZ wxLANGUAGE_DANISH - da da da_DK 0x06 0x01 LTR "Danish","dansk" wxLANGUAGE_DANISH_DENMARK 3.1.6 da-DK da_DK - 0x06 0x01 LTR "Danish (Denmark)","dansk (Danmark)" wxLANGUAGE_DANISH_GREENLAND 3.1.6 da-GL da_GL - 0x00 0x04 LTR "Danish (Greenland)","dansk (Gr\303\270nland)" -wxLANGUAGE_DARI 3.1.6 prs prs prs_AF 0x8c 0x01 RTL "Dari","\330\257\330\261\331\211" -wxLANGUAGE_DARI_AFGHANISTAN 3.1.6 prs-AF prs_AF - 0x8c 0x01 RTL "Dari (Afghanistan)","\330\257\330\261\331\211 (\330\247\331\201\330\272\330\247\331\206\330\263\330\252\330\247\331\206)" wxLANGUAGE_DIVEHI 3.1.6 dv dv dv_MV 0x65 0x01 RTL "Divehi","\336\213\336\250\336\210\336\254\336\200\336\250\336\204\336\246\336\220\336\260" wxLANGUAGE_DIVEHI_MALDIVES 3.1.6 dv-MV dv_MV - 0x65 0x01 RTL "Divehi (Maldives)","\336\213\336\250\336\210\336\254\336\200\336\250\336\204\336\246\336\220\336\260 (\336\213\336\250\336\210\336\254\336\200\336\250 \336\203\336\247\336\207\336\260\336\226\336\254)" wxLANGUAGE_DOGRI 3.3.0 doi doi - 0x00 0x04 LTR "Dogri","\340\244\241\340\245\213\340\244\227\340\244\260\340\245\200" @@ -352,7 +350,7 @@ wxLANGUAGE_FRISIAN - fy wxLANGUAGE_FRISIAN_NETHERLANDS 3.1.6 fy-NL fy_NL - 0x62 0x01 LTR "Western Frisian (Netherlands)","Frysk (Nederl\303\242n)" wxLANGUAGE_FRIULIAN 3.1.6 fur fur fur_IT 0x00 0x04 LTR "Friulian","furlan" wxLANGUAGE_FRIULIAN_ITALY 3.1.6 fur-IT fur_IT - 0x00 0x04 LTR "Friulian (Italy)","furlan (Italie)" -wxLANGUAGE_FULAH 3.1.6 ff ff - 0x67 0x02 LTR "Fulah (Latin)","Pulaar" +wxLANGUAGE_FULAH 3.1.6 ff ff - 0x67 0x02 LTR "Fulah","Pulaar" wxLANGUAGE_FULAH_ADLAM 3.3.0 ff-Adlm ff@adlam - 0x00 0x04 LTR "Fulah (Adlam)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\200\360\236\244\201\360\236\244\202\360\236\244\242\360\236\244\203)" wxLANGUAGE_FULAH_ADLAM_BURKINA_FASO 3.3.0 ff-Adlm-BF ff_BF@adlam - 0x00 0x04 LTR "Fulah (Adlam, Burkina Faso)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\204\360\236\244\265\360\236\244\252\360\236\244\263\360\236\244\255\360\236\244\262\360\236\244\242 \360\236\244\212\360\236\244\242\360\236\244\247\360\236\244\256\360\236\245\205)" wxLANGUAGE_FULAH_ADLAM_CAMEROON 3.3.0 ff-Adlm-CM ff_CM@adlam - 0x00 0x04 LTR "Fulah (Adlam, Cameroon)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\221\360\236\244\242\360\236\244\245\360\236\244\242\360\236\244\252\360\236\244\265\360\236\245\205\360\236\244\262)" @@ -463,22 +461,22 @@ wxLANGUAGE_KAMBA 3.1.6 kam wxLANGUAGE_KAMBA_KENYA 3.1.6 kam-KE kam_KE - 0x00 0x04 LTR "Kamba (Kenya)","Kikamba (Kenya)" wxLANGUAGE_KANNADA - kn kn kn_IN 0x4b 0x01 LTR "Kannada","\340\262\225\340\262\250\340\263\215\340\262\250\340\262\241" wxLANGUAGE_KANNADA_INDIA 3.1.6 kn-IN kn_IN - 0x4b 0x01 LTR "Kannada (India)","\340\262\225\340\262\250\340\263\215\340\262\250\340\262\241 (\340\262\255\340\262\276\340\262\260\340\262\244)" -wxLANGUAGE_KANURI 3.1.6 kr kr - 0x71 0x01 LTR "Kanuri (Latin)","Kanuri" +wxLANGUAGE_KANURI 3.1.6 kr kr - 0x71 0x01 LTR "Kanuri","Kanuri" wxLANGUAGE_KANURI_LATIN 3.1.6 kr-Latn kr@latin - 0x71 0x01 LTR "Kanuri (Latin)","Kanuri" wxLANGUAGE_KANURI_LATIN_NIGERIA 3.3.0 kr-Latn-NG kr_NG@latin - 0x71 0x01 LTR "Kanuri (Latin, Nigeria)","Kanuri (Nigeria)" wxLANGUAGE_KASHMIRI - ks ks ks_IN 0x00 0x04 RTL "Kashmiri","\332\251\331\262\330\264\331\217\330\261" wxLANGUAGE_KASHMIRI_ARABIC 3.3.0 ks-Arab ks@arabic - 0x00 0x04 RTL "Kashmiri (Arabic)","\332\251\331\262\330\264\331\217\330\261 (\330\247\331\216\330\261\330\250\333\214)" wxLANGUAGE_KASHMIRI_ARABIC_INDIA 3.3.0 ks-Arab-IN ks_IN@arabic - 0x00 0x04 RTL "Kashmiri (Arabic)","\332\251\331\262\330\264\331\217\330\261 (\330\247\331\216\330\261\330\250\333\214)" wxLANGUAGE_KASHMIRI_DEVANAGARI 3.1.6 ks-Deva ks@devanagari - 0x60 0x02 LTR "Kashmiri (Devanagari)","\340\244\225\340\245\211\340\244\266\340\245\201\340\244\260" -wxLANGUAGE_KASHMIRI_DEVANAGARI_INDIA 3.1.6 ks-Deva-IN ks_IN@devanagari - 0x60 0x02 LTR "Kashmiri (Devanagari, India)","\340\244\225\340\245\211\340\244\266\340\245\201\340\244\260 (India)" +wxLANGUAGE_KASHMIRI_DEVANAGARI_INDIA 3.1.6 ks-Deva-IN ks_IN@devanagari - 0x60 0x02 LTR "Kashmiri (Devanagari)","\340\244\225\340\245\211\340\244\266\340\245\201\340\244\260 (India)" wxLANGUAGE_KASHMIRI_INDIA - ks-IN ks_IN - 0x00 0x04 RTL "Kashmiri (India)","\332\251\330\264\331\210\330\261 (\330\250\332\276\330\247\330\261\330\252)" wxLANGUAGE_KAZAKH - kk kk kk_KZ 0x3f 0x01 LTR "Kazakh","\322\233\320\260\320\267\320\260\322\233 \321\202\321\226\320\273\321\226" wxLANGUAGE_KAZAKH_KAZAKHSTAN 3.1.6 kk-KZ kk_KZ - 0x3f 0x01 LTR "Kazakh (Kazakhstan)","\322\233\320\260\320\267\320\260\322\233 \321\202\321\226\320\273\321\226 (\322\232\320\260\320\267\320\260\322\233\321\201\321\202\320\260\320\275)" wxLANGUAGE_KHMER - km km km_KH 0x53 0x01 LTR "Khmer","\341\236\201\341\237\222\341\236\230\341\237\202\341\236\232" wxLANGUAGE_KHMER_CAMBODIA 3.1.6 km-KH km_KH - 0x53 0x01 LTR "Khmer (Cambodia)","\341\236\201\341\237\222\341\236\230\341\237\202\341\236\232 (\341\236\200\341\236\230\341\237\222\341\236\226\341\236\273\341\236\207\341\236\266)" -wxLANGUAGE_KICHE 3.1.6 quc quc - 0x86 0x01 LTR "K'iche'","K'iche'" -wxLANGUAGE_KICHE_GUATEMALA 3.1.6 quc-Latn-GT quc_GT@latin - 0x86 0x01 LTR "K'iche' (Guatemala)","K'iche' (Guatemala)" -wxLANGUAGE_KICHE_LATIN 3.1.6 quc-Latn quc@latin - 0x86 0x01 LTR "K'iche'","K'iche'" +wxLANGUAGE_KICHE 3.1.6 quc quc - 0x86 0x01 LTR "K\312\274iche\312\274","K\312\274iche\312\274" +wxLANGUAGE_KICHE_LATIN 3.1.6 quc-Latn quc@latin - 0x86 0x01 LTR "K\312\274iche\312\274 (Latin)","K\312\274iche\312\274" +wxLANGUAGE_KICHE_LATIN_GUATEMALA 3.1.6 quc-Latn-GT quc_GT@latin - 0x86 0x01 LTR "K\312\274iche\312\274 (Latin, Guatemala)","K\312\274iche\312\274 (Guatemala)" wxLANGUAGE_KIKUYU 3.1.6 ki ki ki_KE 0x00 0x04 LTR "Kikuyu","Gikuyu" wxLANGUAGE_KIKUYU_KENYA 3.1.6 ki-KE ki_KE - 0x00 0x04 LTR "Kikuyu (Kenya)","Gikuyu (Kenya)" wxLANGUAGE_KINYARWANDA - rw rw rw_RW 0x87 0x01 LTR "Kinyarwanda","Kinyarwanda" @@ -552,7 +550,7 @@ wxLANGUAGE_MALAY_MALAYSIA - ms-MY wxLANGUAGE_MALAY_SINGAPORE 3.1.6 ms-SG ms_SG - 0x00 0x04 LTR "Malay (Singapore)","Melayu (Singapura)" wxLANGUAGE_MALTESE - mt mt mt_MT 0x3a 0x01 LTR "Maltese","Malti" wxLANGUAGE_MALTESE_MALTA 3.1.6 mt-MT mt_MT - 0x3a 0x01 LTR "Maltese (Malta)","Malti (Malta)" -wxLANGUAGE_MANIPURI - mni mni mni_IN 0x58 0x01 LTR "Manipuri (Bangla)","\340\246\256\340\247\210\340\246\244\340\247\210\340\246\262\340\247\213\340\246\250\340\247\215" +wxLANGUAGE_MANIPURI - mni mni mni_IN 0x58 0x01 LTR "Manipuri","\340\246\256\340\247\210\340\246\244\340\247\210\340\246\262\340\247\213\340\246\250\340\247\215" wxLANGUAGE_MANIPURI_BENGALI 3.3.0 mni-Beng mni@bengali - 0x58 0x01 LTR "Manipuri (Bangla)","\340\246\256\340\247\210\340\246\244\340\247\210\340\246\262\340\247\213\340\246\250\340\247\215" wxLANGUAGE_MANIPURI_INDIA 3.1.6 mni-IN mni_IN - 0x58 0x01 LTR "Manipuri (Bangla, India)","\340\246\256\340\247\210\340\246\244\340\247\210\340\246\262\340\247\213\340\246\250\340\247\215 (\340\246\207\340\246\250\340\247\215\340\246\246\340\246\277\340\246\257\340\246\274\340\246\276)" wxLANGUAGE_MANX 3.1.6 gv gv gv_IM 0x00 0x04 LTR "Manx","Gaelg" @@ -572,8 +570,8 @@ wxLANGUAGE_MERU 3.1.6 mer wxLANGUAGE_MERU_KENYA 3.1.6 mer-KE mer_KE - 0x00 0x04 LTR "Meru (Kenya)","K\304\251m\304\251r\305\251 (Kenya)" wxLANGUAGE_META 3.1.6 mgo mgo mgo_CM 0x00 0x04 LTR "Meta\312\274","meta\312\274" wxLANGUAGE_META_CAMEROON 3.1.6 mgo-CM mgo_CM - 0x00 0x04 LTR "Meta\312\274 (Cameroon)","meta\312\274 (Kamalun)" -wxLANGUAGE_MOHAWK 3.1.6 moh moh moh_CA 0x7c 0x01 LTR "Mohawk","Kanien\342\200\231k\303\251ha" -wxLANGUAGE_MOHAWK_CANADA 3.1.6 moh-CA moh_CA - 0x7c 0x01 LTR "Mohawk (Mohawk)","Kanien'k\303\251ha" +wxLANGUAGE_MOHAWK 3.1.6 moh moh moh_CA 0x7c 0x01 LTR "Mohawk","Kanien\312\274k\303\251ha" +wxLANGUAGE_MOHAWK_CANADA 3.1.6 moh-CA moh_CA - 0x7c 0x01 LTR "Mohawk (Canada)","Kanien\312\274k\303\251ha (Canada)" wxLANGUAGE_MOLDAVIAN - mo mo - - - LTR "Moldavian","\320\273\320\270\320\274\320\261\320\260 \320\274\320\276\320\273\320\264\320\276\320\262\320\265\320\275\321\217\321\201\320\272\321\215" wxLANGUAGE_MONGOLIAN - mn mn mn_MN 0x50 0x01 LTR "Mongolian","\320\234\320\276\320\275\320\263\320\276\320\273\302\240\321\205\321\215\320\273" wxLANGUAGE_MONGOLIAN_CYRILLIC 3.1.6 mn-Cyrl mn@cyrillic - 0x50 0x01 LTR "Mongolian","\320\234\320\276\320\275\320\263\320\276\320\273\302\240\321\205\321\215\320\273 (\320\232\320\270\321\200\320\270\320\273\320\273 \322\257\321\201\321\215\320\263)" @@ -615,10 +613,10 @@ wxLANGUAGE_NUER 3.1.6 nus wxLANGUAGE_NUER_SOUTH_SUDAN 3.1.6 nus-SS nus_SS - 0x00 0x04 LTR "Nuer (South Sudan)","Thok Nath (South Sudan)" wxLANGUAGE_NYANKOLE 3.1.6 nyn nyn nyn_UG 0x00 0x04 LTR "Nyankole","Runyankore" wxLANGUAGE_NYANKOLE_UGANDA 3.1.6 nyn-UG nyn_UG - 0x00 0x04 LTR "Nyankole (Uganda)","Runyankore (Uganda)" -wxLANGUAGE_OCCITAN - oc oc oc_FR 0x82 0x01 LTR "Occitan","Occitan" -wxLANGUAGE_OCCITAN_FRANCE 3.1.6 oc-FR oc_FR - 0x82 0x01 LTR "Occitan (France)","Occitan (Fran\303\247a)" -wxLANGUAGE_ODIA 3.1.6 or or or_IN 0x48 0x01 LTR "Odia","\340\254\223\340\255\234\340\254\277\340\254\206" -wxLANGUAGE_ODIA_INDIA 3.1.6 or-IN or_IN - 0x48 0x01 LTR "Odia (India)","\340\254\223\340\255\234\340\254\277\340\254\206 (\340\254\255\340\254\276\340\254\260\340\254\244)" +wxLANGUAGE_OCCITAN - oc oc oc_FR 0x82 0x01 LTR "Occitan","occitan" +wxLANGUAGE_OCCITAN_FRANCE 3.1.6 oc-FR oc_FR - 0x82 0x01 LTR "Occitan (France)","occitan (Fran\303\247a)" +wxLANGUAGE_ODIA 3.1.6 or or or_IN 0x48 0x01 LTR "Odia","\340\254\223\340\254\241\340\254\274\340\254\277\340\254\206" +wxLANGUAGE_ODIA_INDIA 3.1.6 or-IN or_IN - 0x48 0x01 LTR "Odia (India)","\340\254\223\340\254\241\340\254\274\340\254\277\340\254\206 (\340\254\255\340\254\276\340\254\260\340\254\244)" wxLANGUAGE_OROMO - om om om_ET 0x72 0x01 LTR "Oromo","Oromoo" wxLANGUAGE_OROMO_ETHIOPIA 3.1.6 om-ET om_ET - 0x72 0x01 LTR "Oromo (Ethiopia)","Oromoo (Itoophiyaa)" wxLANGUAGE_OROMO_KENYA 3.1.6 om-KE om_KE - 0x00 0x04 LTR "Oromo (Kenya)","Oromoo (Keeniyaa)" @@ -631,6 +629,7 @@ wxLANGUAGE_PASHTO - ps wxLANGUAGE_PASHTO_AFGHANISTAN 3.1.6 ps-AF ps_AF - 0x63 0x01 RTL "Pashto (Afghanistan)","\331\276\332\232\330\252\331\210 (\330\247\331\201\330\272\330\247\331\206\330\263\330\252\330\247\331\206)" wxLANGUAGE_PASHTO_PAKISTAN 3.1.6 ps-PK ps_PK - 0x00 0x04 RTL "Pashto (Pakistan)","\331\276\332\232\330\252\331\210 (\331\276\330\247\332\251\330\263\330\252\330\247\331\206)" wxLANGUAGE_PERSIAN - fa fa fa_IR 0x29 0x01 RTL "Persian","\331\201\330\247\330\261\330\263\333\214" +wxLANGUAGE_PERSIAN_AFGHANISTAN 3.3.0 fa-AF fa_AF - 0x8c 0x01 RTL "Persian (Afghanistan)","\331\201\330\247\330\261\330\263\333\214 (\330\247\331\201\330\272\330\247\331\206\330\263\330\252\330\247\331\206)" wxLANGUAGE_PERSIAN_IRAN 3.1.6 fa-IR fa_IR - 0x29 0x01 RTL "Persian (Iran)","\331\201\330\247\330\261\330\263\333\214 (\330\247\333\214\330\261\330\247\331\206)" wxLANGUAGE_POLISH - pl pl pl_PL 0x15 0x01 LTR "Polish","polski" wxLANGUAGE_POLISH_POLAND 3.1.6 pl-PL pl_PL - 0x15 0x01 LTR "Polish (Poland)","polski (Polska)" @@ -700,8 +699,8 @@ wxLANGUAGE_SANGHO - sg wxLANGUAGE_SANGHO_CENTRAL_AFRICAN_REPUBLIC 3.1.6 sg-CF sg_CF - 0x00 0x04 LTR "Sango (Central African Republic)","S\303\244ng\303\266 (K\303\266d\303\266r\303\266s\303\252se t\303\256 B\303\252afr\303\256ka)" wxLANGUAGE_SANGU 3.1.6 sbp sbp sbp_TZ 0x00 0x04 LTR "Sangu","Ishisangu" wxLANGUAGE_SANGU_TANZANIA 3.1.6 sbp-TZ sbp_TZ - 0x00 0x04 LTR "Sangu (Tanzania)","Ishisangu (Tansaniya)" -wxLANGUAGE_SANSKRIT - sa sa sa_IN 0x4f 0x01 LTR "Sanskrit","\340\244\270\340\244\202\340\244\270\340\245\215\340\244\225\340\245\203\340\244\244" -wxLANGUAGE_SANSKRIT_INDIA 3.1.6 sa-IN sa_IN - 0x4f 0x01 LTR "Sanskrit (India)","\340\244\270\340\244\202\340\244\270\340\245\215\340\244\225\340\245\203\340\244\244 (\340\244\255\340\244\276\340\244\260\340\244\244\340\244\256\340\245\215)" +wxLANGUAGE_SANSKRIT - sa sa sa_IN 0x4f 0x01 LTR "Sanskrit","\340\244\270\340\244\202\340\244\270\340\245\215\340\244\225\340\245\203\340\244\244 \340\244\255\340\244\276\340\244\267\340\244\276" +wxLANGUAGE_SANSKRIT_INDIA 3.1.6 sa-IN sa_IN - 0x4f 0x01 LTR "Sanskrit (India)","\340\244\270\340\244\202\340\244\270\340\245\215\340\244\225\340\245\203\340\244\244 \340\244\255\340\244\276\340\244\267\340\244\276 (\340\244\255\340\244\276\340\244\260\340\244\244\340\244\203)" wxLANGUAGE_SANTALI 3.3.0 sat sat - 0x00 0x04 LTR "Santali","\341\261\245\341\261\237\341\261\261\341\261\233\341\261\237\341\261\262\341\261\244" wxLANGUAGE_SANTALI_OL_CHIKI 3.3.0 sat-Olck sat@ol_chiki - 0x00 0x04 LTR "Santali (Ol Chiki)","\341\261\245\341\261\237\341\261\261\341\261\233\341\261\237\341\261\262\341\261\244 (\341\261\232\341\261\236 \341\261\252\341\261\244\341\261\240\341\261\244)" wxLANGUAGE_SANTALI_OL_CHIKI_INDIA 3.3.0 sat-Olck-IN sat_IN@ol_chiki - 0x00 0x04 LTR "Santali (Ol Chiki, India)","\341\261\245\341\261\237\341\261\261\341\261\233\341\261\237\341\261\262\341\261\244 (\341\261\244\341\261\261\341\261\260\341\261\244\341\261\255\341\261\237)" @@ -813,7 +812,8 @@ wxLANGUAGE_TACHELHIT_LATIN 3.1.6 shi-Latn wxLANGUAGE_TACHELHIT_LATIN_MOROCCO 3.1.6 shi-Latn-MA shi_MA@latin - 0x00 0x04 LTR "Tachelhit (Latin, Morocco)","Tashel\341\270\245iyt (lm\311\243rib)" wxLANGUAGE_TACHELHIT_TIFINAGH 3.1.6 shi-Tfng shi@tifinagh - 0x00 0x04 LTR "Tachelhit (Tifinagh)","\342\265\234\342\264\260\342\265\233\342\265\215\342\265\203\342\265\211\342\265\234 (Tifinagh)" wxLANGUAGE_TACHELHIT_TIFINAGH_MOROCCO 3.1.6 shi-Tfng-MA shi_MA@tifinagh - 0x00 0x04 LTR "Tachelhit (Tifinagh, Morocco)","\342\265\234\342\264\260\342\265\233\342\265\215\342\265\203\342\265\211\342\265\234 (\342\265\215\342\265\216\342\265\226\342\265\224\342\265\211\342\264\261)" -wxLANGUAGE_TAGALOG - tl-PH tl_PH - - - LTR "Tagalog","Tagalog" +wxLANGUAGE_TAGALOG 3.3.0 tl tl tl_PH - - LTR "Tagalog","Tagalog" +wxLANGUAGE_TAGALOG_PHILIPPINES - tl-PH tl_PH - - - LTR "Tagalog (Philippines)","Tagalog (Pilipinas)" wxLANGUAGE_TAITA 3.1.6 dav dav dav_KE 0x00 0x04 LTR "Taita","Kitaita" wxLANGUAGE_TAITA_KENYA 3.1.6 dav-KE dav_KE - 0x00 0x04 LTR "Taita (Kenya)","Kitaita (Kenya)" wxLANGUAGE_TAJIK - tg tg - 0x28 0x01 LTR "Tajik","\320\242\320\276\322\267\320\270\320\272\323\243" @@ -826,8 +826,8 @@ wxLANGUAGE_TAMIL_SINGAPORE 3.1.6 ta-SG wxLANGUAGE_TAMIL_SRI_LANKA 3.1.6 ta-LK ta_LK - 0x49 0x02 LTR "Tamil (Sri Lanka)","\340\256\244\340\256\256\340\256\277\340\256\264\340\257\215 (\340\256\207\340\256\262\340\256\231\340\257\215\340\256\225\340\257\210)" wxLANGUAGE_TASAWAQ 3.1.6 twq twq twq_NE 0x00 0x04 LTR "Tasawaq","Tasawaq senni" wxLANGUAGE_TASAWAQ_NIGER 3.1.6 twq-NE twq_NE - 0x00 0x04 LTR "Tasawaq (Niger)","Tasawaq senni (Ni\305\276er)" -wxLANGUAGE_TATAR - tt tt tt_RU 0x44 0x01 LTR "Tatar","\320\242\320\260\321\202\320\260\321\200" -wxLANGUAGE_TATAR_RUSSIA 3.1.6 tt-RU tt_RU - 0x44 0x01 LTR "Tatar (Russia)","\320\242\320\260\321\202\320\260\321\200 (\320\240\320\276\321\201\321\201\320\270\321\217)" +wxLANGUAGE_TATAR - tt tt tt_RU 0x44 0x01 LTR "Tatar","\321\202\320\260\321\202\320\260\321\200" +wxLANGUAGE_TATAR_RUSSIA 3.1.6 tt-RU tt_RU - 0x44 0x01 LTR "Tatar (Russia)","\321\202\320\260\321\202\320\260\321\200 (\320\240\320\276\321\201\321\201\320\270\321\217)" wxLANGUAGE_TELUGU - te te te_IN 0x4a 0x01 LTR "Telugu","\340\260\244\340\261\206\340\260\262\340\261\201\340\260\227\340\261\201" wxLANGUAGE_TELUGU_INDIA 3.1.6 te-IN te_IN - 0x4a 0x01 LTR "Telugu (India)","\340\260\244\340\261\206\340\260\262\340\261\201\340\260\227\340\261\201 (\340\260\255\340\260\276\340\260\260\340\260\244\340\260\246\340\261\207\340\260\266\340\260\202)" wxLANGUAGE_TESO 3.1.6 teo teo teo_UG 0x00 0x04 LTR "Teso","Kiteso" @@ -835,8 +835,8 @@ wxLANGUAGE_TESO_KENYA 3.1.6 teo-KE wxLANGUAGE_TESO_UGANDA 3.1.6 teo-UG teo_UG - 0x00 0x04 LTR "Teso (Uganda)","Kiteso (Uganda)" wxLANGUAGE_THAI - th th th_TH 0x1e 0x01 LTR "Thai","\340\271\204\340\270\227\340\270\242" wxLANGUAGE_THAI_THAILAND 3.1.6 th-TH th_TH - 0x1e 0x01 LTR "Thai (Thailand)","\340\271\204\340\270\227\340\270\242 (\340\271\204\340\270\227\340\270\242)" -wxLANGUAGE_TIBETAN - bo bo bo_CN 0x51 0x01 LTR "Tibetan","\340\275\226\340\275\274\340\275\221\340\274\213\340\275\241\340\275\262\340\275\202" -wxLANGUAGE_TIBETAN_CHINA 3.1.6 bo-CN bo_CN - 0x51 0x01 LTR "Tibetan (China)","\340\275\226\340\275\274\340\275\221\340\274\213\340\275\241\340\275\262\340\275\202 (\340\275\200\340\276\262\340\275\264\340\275\204\340\274\213\340\275\247\340\276\255\340\274\213\340\275\230\340\275\262\340\274\213\340\275\221\340\275\230\340\275\204\340\275\246\340\274\213\340\275\246\340\276\244\340\276\261\340\275\262\340\274\213\340\275\230\340\275\220\340\275\264\340\275\223\340\274\213\340\275\242\340\276\222\340\276\261\340\275\243\340\274\213\340\275\201\340\275\226\340\274\215)" +wxLANGUAGE_TIBETAN - bo bo bo_CN 0x51 0x01 LTR "Tibetan","\340\275\226\340\275\274\340\275\221\340\274\213\340\275\246\340\276\220\340\275\221\340\274\213" +wxLANGUAGE_TIBETAN_CHINA 3.1.6 bo-CN bo_CN - 0x51 0x01 LTR "Tibetan (China)","\340\275\226\340\275\274\340\275\221\340\274\213\340\275\246\340\276\220\340\275\221\340\274\213 (\340\275\242\340\276\222\340\276\261\340\274\213\340\275\223\340\275\202)" wxLANGUAGE_TIBETAN_INDIA 3.1.6 bo-IN bo_IN - 0x00 0x04 LTR "Tibetan (India)","\340\275\226\340\275\274\340\275\221\340\274\213\340\275\246\340\276\220\340\275\221\340\274\213 (\340\275\242\340\276\222\340\276\261\340\274\213\340\275\202\340\275\242\340\274\213)" wxLANGUAGE_TIGRE 3.1.6 tig tig tig_ER 0x00 0x04 LTR "Tigre","\341\211\265\341\214\215\341\210\250" wxLANGUAGE_TIGRE_ERITREA 3.1.6 tig-ER tig_ER - 0x00 0x04 LTR "Tigre (Eritrea)","\341\211\265\341\214\215\341\210\250 (\341\212\244\341\210\255\341\211\265\341\210\253)" @@ -849,9 +849,9 @@ wxLANGUAGE_TSONGA - ts wxLANGUAGE_TSONGA_SOUTH_AFRICA 3.1.6 ts-ZA ts_ZA - 0x31 0x01 LTR "Xitsonga (South Africa)","Xitsonga (South Africa)" wxLANGUAGE_TURKISH - tr tr tr_TR 0x1f 0x01 LTR "Turkish","T\303\274rk\303\247e" wxLANGUAGE_TURKISH_CYPRUS 3.1.6 tr-CY tr_CY - 0x00 0x04 LTR "Turkish (Cyprus)","T\303\274rk\303\247e (K\304\261br\304\261s)" -wxLANGUAGE_TURKISH_TURKEY 3.1.6 tr-TR tr_TR - 0x1f 0x01 LTR "Turkish (Turkey)","T\303\274rk\303\247e (T\303\274rkiye)" -wxLANGUAGE_TURKMEN - tk tk tk_TM 0x42 0x01 LTR "Turkmen","T\303\274rkmen dili" -wxLANGUAGE_TURKMEN_TURKMENISTAN 3.1.6 tk-TM tk_TM - 0x42 0x01 LTR "Turkmen (Turkmenistan)","T\303\274rkmen dili (T\303\274rkmenistan)" +wxLANGUAGE_TURKISH_TURKIYE 3.1.6 tr-TR tr_TR - 0x1f 0x01 LTR "Turkish (T\303\274rkiye)","T\303\274rk\303\247e (T\303\274rkiye)" +wxLANGUAGE_TURKMEN - tk tk tk_TM 0x42 0x01 LTR "Turkmen","t\303\274rkmen dili" +wxLANGUAGE_TURKMEN_TURKMENISTAN 3.1.6 tk-TM tk_TM - 0x42 0x01 LTR "Turkmen (Turkmenistan)","t\303\274rkmen dili (T\303\274rkmenistan)" wxLANGUAGE_TWI - tw tw - - - LTR "Twi","Twi" wxLANGUAGE_UIGHUR - ug ug ug_CN 0x80 0x01 RTL "Uyghur","\330\246\333\207\331\212\330\272\333\207\330\261\332\206\333\225" wxLANGUAGE_UIGHUR_CHINA 3.1.6 ug-CN ug_CN - 0x80 0x01 RTL "Uyghur (China)","\330\246\333\207\331\212\330\272\333\207\330\261\332\206\333\225 (\330\254\333\207\332\255\330\256\333\207\330\247 \330\256\333\225\331\204\331\202 \330\254\333\207\331\205\332\276\333\207\330\261\331\211\331\212\331\211\330\252\331\211)" @@ -859,9 +859,9 @@ wxLANGUAGE_UKRAINIAN - uk wxLANGUAGE_UKRAINIAN_UKRAINE 3.1.6 uk-UA uk_UA - 0x22 0x01 LTR "Ukrainian (Ukraine)","\321\203\320\272\321\200\320\260\321\227\320\275\321\201\321\214\320\272\320\260 (\320\243\320\272\321\200\320\260\321\227\320\275\320\260)" wxLANGUAGE_UPPER_SORBIAN 3.1.6 hsb hsb hsb_DE 0x2e 0x01 LTR "Upper Sorbian","hornjoserb\305\241\304\207ina" wxLANGUAGE_UPPER_SORBIAN_GERMANY 3.1.6 hsb-DE hsb_DE - 0x2e 0x01 LTR "Upper Sorbian (Germany)","hornjoserb\305\241\304\207ina (N\304\233mska)" -wxLANGUAGE_URDU - ur ur ur_PK 0x20 0x01 RTL "Urdu","\330\247\331\217\330\261\330\257\331\210" +wxLANGUAGE_URDU - ur ur ur_PK 0x20 0x01 RTL "Urdu","\330\247\330\261\330\257\331\210" wxLANGUAGE_URDU_INDIA - ur-IN ur_IN - 0x20 0x02 RTL "Urdu (India)","\330\247\330\261\330\257\331\210 (\330\250\332\276\330\247\330\261\330\252)" -wxLANGUAGE_URDU_PAKISTAN - ur-PK ur_PK - 0x20 0x01 RTL "Urdu (Pakistan)","\330\247\331\217\330\261\330\257\331\210 (\331\276\330\247\332\251\330\263\330\252\330\247\331\206)" +wxLANGUAGE_URDU_PAKISTAN - ur-PK ur_PK - 0x20 0x01 RTL "Urdu (Pakistan)","\330\247\330\261\330\257\331\210 (\331\276\330\247\332\251\330\263\330\252\330\247\331\206)" wxLANGUAGE_UZBEK - uz uz - 0x43 0x01 LTR "Uzbek","o\342\200\230zbek" wxLANGUAGE_UZBEK_ARABIC 3.3.0 uz-Arab uz@arabic - 0x00 0x04 RTL "Uzbek (Arabic)","\330\247\331\210\330\262\330\250\333\214\332\251 (\330\271\330\261\330\250\333\214)" wxLANGUAGE_UZBEK_ARABIC_AFGHANISTAN 3.3.0 uz-Arab-AF uz_AF@arabic - 0x00 0x04 RTL "Uzbek (Arabic, Afghanistan)","\330\247\331\210\330\262\330\250\333\214\332\251 (\330\247\331\201\330\272\330\247\331\206\330\263\330\252\330\247\331\206)" @@ -877,8 +877,8 @@ wxLANGUAGE_VAI_VAI_LIBERIA 3.1.6 vai-Vaii-LR wxLANGUAGE_VALENCIAN 2.8.8 ca-ES-valencia ca_ES@valencia - 0x03 0x02 LTR "Valencian (Spain)","valenci\303\240 (Espanya)" wxLANGUAGE_VENDA 3.1.6 ve ve ve_ZA 0x33 0x01 LTR "Venda","Tshiven\341\270\223a" wxLANGUAGE_VENDA_SOUTH_AFRICA 3.1.6 ve-ZA ve_ZA - 0x33 0x01 LTR "Venda (South Africa)","Tshiven\341\270\223a (South Africa)" -wxLANGUAGE_VIETNAMESE - vi vi vi_VN 0x2a 0x01 LTR "Vietnamese","Ti\303\252\314\201ng Vi\341\273\207t" -wxLANGUAGE_VIETNAMESE_VIETNAM 3.1.6 vi-VN vi_VN - 0x2a 0x01 LTR "Vietnamese (Vietnam)","Ti\303\252\314\201ng Vi\341\273\207t (Vi\341\273\207t Nam)" +wxLANGUAGE_VIETNAMESE - vi vi vi_VN 0x2a 0x01 LTR "Vietnamese","Ti\341\272\277ng Vi\341\273\207t" +wxLANGUAGE_VIETNAMESE_VIETNAM 3.1.6 vi-VN vi_VN - 0x2a 0x01 LTR "Vietnamese (Vietnam)","Ti\341\272\277ng Vi\341\273\207t (Vi\341\273\207t Nam)" wxLANGUAGE_VOLAPUK - vo vo - 0x00 0x04 LTR "Volap\303\274k","Volap\303\274k" wxLANGUAGE_VOLAPUK_WORLD 3.1.6 vo-001 vo_001 - 0x00 0x04 LTR "Volap\303\274k (World)","Volap\303\274k (World)" wxLANGUAGE_VUNJO 3.1.6 vun vun vun_TZ 0x00 0x04 LTR "Vunjo","Kyivunjo" @@ -895,10 +895,10 @@ wxLANGUAGE_XHOSA - xh wxLANGUAGE_XHOSA_SOUTH_AFRICA 3.1.6 xh-ZA xh_ZA - 0x34 0x01 LTR "isiXhosa (South Africa)","isiXhosa (eMzantsi Afrika)" wxLANGUAGE_YANGBEN 3.1.6 yav yav yav_CM 0x00 0x04 LTR "Yangben","nuasue" wxLANGUAGE_YANGBEN_CAMEROON 3.1.6 yav-CM yav_CM - 0x00 0x04 LTR "Yangben (Cameroon)","nuasue (Kemel\303\272n)" -wxLANGUAGE_YI 3.1.6 ii ii ii_CN 0x78 0x01 LTR "Yi","\352\206\210\352\214\240\352\201\261\352\202\267" +wxLANGUAGE_YI 3.1.6 ii ii ii_CN 0x78 0x01 LTR "Yi","\352\206\210\352\214\240\352\211\231" wxLANGUAGE_YIDDISH - yi yi - 0x3d 0x01 RTL "Yiddish","\327\231\327\231\326\264\327\223\327\231\327\251" wxLANGUAGE_YIDDISH_WORLD 3.1.6 yi-001 yi_001 - 0x3d 0x01 RTL "Yiddish (World)","\327\231\327\231\326\264\327\223\327\231\327\251 (\327\225\327\225\327\242\327\234\327\230)" -wxLANGUAGE_YI_CHINA 3.1.6 ii-CN ii_CN - 0x78 0x01 LTR "Yi (China)","\352\206\210\352\214\240\352\201\261\352\202\267 (\352\215\217\352\211\270\352\217\223\352\202\261\352\207\255\352\211\274\352\207\251)" +wxLANGUAGE_YI_CHINA 3.1.6 ii-CN ii_CN - 0x78 0x01 LTR "Yi (China)","\352\206\210\352\214\240\352\211\231 (\352\215\217\352\207\251)" wxLANGUAGE_YORUBA - yo yo yo_NG 0x6a 0x01 LTR "Yoruba","\303\210d\303\250 Yor\303\271b\303\241" wxLANGUAGE_YORUBA_BENIN 3.1.6 yo-BJ yo_BJ - 0x00 0x04 LTR "Yoruba (Benin)","\303\210d\303\250 Yor\303\271b\303\241 (B\311\233\314\200n\311\233\314\200)" wxLANGUAGE_YORUBA_NIGERIA 3.1.6 yo-NG yo_NG - 0x6a 0x01 LTR "Yoruba (Nigeria)","\303\210d\303\250 Yor\303\271b\303\241 (N\303\240\303\254j\303\255r\303\255\303\240)" diff --git a/misc/languages/likelytabl.txt b/misc/languages/likelytabl.txt new file mode 100644 index 0000000000..0cdfdafef2 --- /dev/null +++ b/misc/languages/likelytabl.txt @@ -0,0 +1,315 @@ +aa aa-Latn-ET +ab ab-Cyrl-GE +af af-Latn-ZA +agq agq-Latn-CM +ak ak-Latn-GH +am am-Ethi-ET +ar ar-Arab-EG +arn arn-Latn-CL +as as-Beng-IN +asa asa-Latn-TZ +ast ast-Latn-ES +ay ay-Latn-BO +az az-Latn-AZ +az-Arab az-Arab-IR +az-IQ az-Arab-IQ +az-IR az-Arab-IR +az-RU az-Cyrl-RU +ba ba-Cyrl-RU +bas bas-Latn-CM +be be-Cyrl-BY +bem bem-Latn-ZM +bez bez-Latn-TZ +bg bg-Cyrl-BG +bi bi-Latn-VU +bin bin-Latn-NG +bm bm-Latn-ML +bn bn-Beng-BD +bo bo-Tibt-CN +br br-Latn-FR +brx brx-Deva-IN +bs bs-Latn-BA +byn byn-Ethi-ER +ca ca-Latn-ES +ccp ccp-Cakm-BD +ce ce-Cyrl-RU +ceb ceb-Latn-PH +cgg cgg-Latn-UG +chr chr-Cher-US +co co-Latn-FR +cs cs-Latn-CZ +cu cu-Cyrl-RU +cu-Glag cu-Glag-BG +cy cy-Latn-GB +da da-Latn-DK +dav dav-Latn-KE +de de-Latn-DE +dje dje-Latn-NE +doi doi-Deva-IN +dsb dsb-Latn-DE +dua dua-Latn-CM +dv dv-Thaa-MV +dyo dyo-Latn-SN +dz dz-Tibt-BT +ebu ebu-Latn-KE +ee ee-Latn-GH +el el-Grek-GR +en en-Latn-US +en-Shaw en-Shaw-GB +eo eo-Latn-001 +es es-Latn-ES +et et-Latn-EE +eu eu-Latn-ES +ewo ewo-Latn-CM +fa fa-Arab-IR +ff ff-Latn-SN +ff-Adlm ff-Adlm-GN +fi fi-Latn-FI +fil fil-Latn-PH +fj fj-Latn-FJ +fo fo-Latn-FO +fr fr-Latn-FR +fur fur-Latn-IT +fy fy-Latn-NL +ga ga-Latn-IE +gd gd-Latn-GB +gl gl-Latn-ES +gn gn-Latn-PY +gsw gsw-Latn-CH +gu gu-Gujr-IN +guz guz-Latn-KE +gv gv-Latn-IM +ha ha-Latn-NG +ha-CM ha-Arab-CM +ha-SD ha-Arab-SD +haw haw-Latn-US +he he-Hebr-IL +hi hi-Deva-IN +hr hr-Latn-HR +hsb hsb-Latn-DE +hu hu-Latn-HU +hy hy-Armn-AM +ia ia-Latn-001 +ibb ibb-Latn-NG +id id-Latn-ID +ie ie-Latn-EE +ig ig-Latn-NG +ii ii-Yiii-CN +ik ik-Latn-US +is is-Latn-IS +it it-Latn-IT +iu iu-Cans-CA +ja ja-Jpan-JP +jgo jgo-Latn-CM +jmc jmc-Latn-TZ +jv jv-Latn-ID +ka ka-Geor-GE +kab kab-Latn-DZ +kam kam-Latn-KE +kde kde-Latn-TZ +kea kea-Latn-CV +khq khq-Latn-ML +ki ki-Latn-KE +kk kk-Cyrl-KZ +kk-AF kk-Arab-AF +kk-Arab kk-Arab-CN +kk-CN kk-Arab-CN +kk-IR kk-Arab-IR +kk-MN kk-Arab-MN +kkj kkj-Latn-CM +kl kl-Latn-GL +kln kln-Latn-KE +km km-Khmr-KH +kn kn-Knda-IN +ko ko-Kore-KR +kok kok-Deva-IN +kr kr-Latn-NG +ks ks-Arab-IN +ksb ksb-Latn-TZ +ksf ksf-Latn-CM +ksh ksh-Latn-DE +ku ku-Latn-TR +ku-Arab ku-Arab-IQ +ku-LB ku-Arab-LB +ku-Yezi ku-Yezi-GE +kw kw-Latn-GB +ky ky-Cyrl-KG +ky-Arab ky-Arab-CN +ky-CN ky-Arab-CN +ky-Latn ky-Latn-TR +ky-TR ky-Latn-TR +la la-Latn-VA +lag lag-Latn-TZ +lb lb-Latn-LU +lg lg-Latn-UG +lkt lkt-Latn-US +ln ln-Latn-CD +lo lo-Laoo-LA +lrc lrc-Arab-IR +lt lt-Latn-LT +lu lu-Latn-CD +luo luo-Latn-KE +luy luy-Latn-KE +lv lv-Latn-LV +mai mai-Deva-IN +mas mas-Latn-KE +mer mer-Latn-KE +mfe mfe-Latn-MU +mg mg-Latn-MG +mgh mgh-Latn-MZ +mgo mgo-Latn-CM +mi mi-Latn-NZ +mk mk-Cyrl-MK +ml ml-Mlym-IN +mn mn-Cyrl-MN +mn-CN mn-Mong-CN +mn-Mong mn-Mong-CN +mni mni-Beng-IN +mo mo-Latn-RO +moh moh-Latn-CA +mr mr-Deva-IN +ms ms-Latn-MY +ms-CC ms-Arab-CC +mt mt-Latn-MT +mua mua-Latn-CM +my my-Mymr-MM +mzn mzn-Arab-IR +na na-Latn-NR +naq naq-Latn-NA +nb nb-Latn-NO +nd nd-Latn-ZW +nds nds-Latn-DE +ne ne-Deva-NP +nl nl-Latn-NL +nmg nmg-Latn-CM +nn nn-Latn-NO +nnh nnh-Latn-CM +no no-Latn-NO +nqo nqo-Nkoo-GN +nr nr-Latn-ZA +nso nso-Latn-ZA +nus nus-Latn-SS +nyn nyn-Latn-UG +oc oc-Latn-FR +om om-Latn-ET +or or-Orya-IN +os os-Cyrl-GE +pa pa-Guru-IN +pa-Arab pa-Arab-PK +pa-PK pa-Arab-PK +pap pap-Latn-CW +pcm pcm-Latn-NG +pl pl-Latn-PL +prg prg-Latn-PL +ps ps-Arab-AF +pt pt-Latn-BR +qu qu-Latn-PE +quc quc-Latn-GT +rm rm-Latn-CH +rn rn-Latn-BI +ro ro-Latn-RO +rof rof-Latn-TZ +ru ru-Cyrl-RU +rw rw-Latn-RW +rwk rwk-Latn-TZ +sa sa-Deva-IN +sah sah-Cyrl-RU +saq saq-Latn-KE +sat sat-Olck-IN +sbp sbp-Latn-TZ +sd sd-Arab-PK +sd-Deva sd-Deva-IN +sd-IN sd-Deva-IN +sd-Khoj sd-Khoj-IN +sd-Sind sd-Sind-IN +se se-Latn-NO +seh seh-Latn-MZ +ses ses-Latn-ML +sg sg-Latn-CF +shi shi-Tfng-MA +si si-Sinh-LK +sk sk-Latn-SK +sl sl-Latn-SI +sm sm-Latn-WS +sma sma-Latn-SE +smj smj-Latn-SE +smn smn-Latn-FI +sms sms-Latn-FI +sn sn-Latn-ZW +so so-Latn-SO +sq sq-Latn-AL +sr sr-Cyrl-RS +sr-ME sr-Latn-ME +sr-RO sr-Latn-RO +sr-RU sr-Latn-RU +sr-TR sr-Latn-TR +ss ss-Latn-ZA +ssy ssy-Latn-ER +st st-Latn-ZA +su su-Latn-ID +sv sv-Latn-SE +sw sw-Latn-TZ +syr syr-Syrc-IQ +ta ta-Taml-IN +te te-Telu-IN +teo teo-Latn-UG +tg tg-Cyrl-TJ +tg-Arab tg-Arab-PK +tg-PK tg-Arab-PK +th th-Thai-TH +ti ti-Ethi-ET +tig tig-Ethi-ER +tk tk-Latn-TM +tl tl-Latn-PH +tn tn-Latn-ZA +to to-Latn-TO +tr tr-Latn-TR +ts ts-Latn-ZA +tt tt-Cyrl-RU +twq twq-Latn-NE +tzm tzm-Latn-MA +ug ug-Arab-CN +ug-Cyrl ug-Cyrl-KZ +ug-KZ ug-Cyrl-KZ +ug-MN ug-Cyrl-MN +uk uk-Cyrl-UA +ur ur-Arab-PK +uz uz-Latn-UZ +uz-AF uz-Arab-AF +uz-Arab uz-Arab-AF +uz-CN uz-Cyrl-CN +vai vai-Vaii-LR +ve ve-Latn-ZA +vi vi-Latn-VN +vo vo-Latn-001 +vun vun-Latn-TZ +wae wae-Latn-CH +wal wal-Ethi-ET +wo wo-Latn-SN +xh xh-Latn-ZA +xog xog-Latn-UG +yav yav-Latn-CM +yi yi-Hebr-UA +yo yo-Latn-NG +za za-Latn-CN +zgh zgh-Tfng-MA +zh zh-Hans-CN +zh-AU zh-Hant-AU +zh-BN zh-Hant-BN +zh-Bopo zh-Bopo-TW +zh-GB zh-Hant-GB +zh-GF zh-Hant-GF +zh-HK zh-Hant-HK +zh-Hanb zh-Hanb-TW +zh-Hant zh-Hant-TW +zh-ID zh-Hant-ID +zh-MO zh-Hant-MO +zh-PA zh-Hant-PA +zh-PF zh-Hant-PF +zh-PH zh-Hant-PH +zh-SR zh-Hant-SR +zh-TH zh-Hant-TH +zh-TW zh-Hant-TW +zh-US zh-Hant-US +zh-VN zh-Hant-VN +zu zu-Latn-ZA diff --git a/misc/languages/matchingtabl.txt b/misc/languages/matchingtabl.txt new file mode 100644 index 0000000000..93cf115dd6 --- /dev/null +++ b/misc/languages/matchingtabl.txt @@ -0,0 +1,176 @@ +aa ssy 4 +ab ru 30 +af nl 20 +ak en 30 +am en 30 +am-Ethi en-Latn 10 +ar-Latn ar-Arab 20 +ay es 20 +az ru 30 +az-Latn ru-Cyrl 10 +be ru 20 +bem en 30 +bh hi 30 +bn en 30 +bn-Beng en-Latn 10 +bn-Latn bn-Beng 20 +bo zh 20 +bo-Tibt zh-Hans 10 +br fr 20 +bs hr 4 +bs sh 4 +ca es 20 +ceb fil 30 +chr en 20 +co fr 20 +cs sk 20 +cy en 20 +da nb 8 +da no 8 +ee en 30 +eo en 30 +eu es 20 +fo da 20 +fy nl 20 +ga en 20 +gd en 20 +gl es 20 +gn es 20 +gsw de 4 +gu hi 30 +gu-Latn gu-Gujr 20 +ha en 30 +haw en 20 +hi-Latn hi-Deva 20 +hr bs 4 +hr sh 4 +hy ru 30 +hy-Armn ru-Cyrl 10 +ia en 30 +id ms 10 +ig en 30 +is en 20 +ja-Hani ja-Jpan 5 +ja-Hira ja-Hrkt 5 +ja-Hira ja-Jpan 5 +ja-Hrkt ja-Jpan 5 +ja-Kana ja-Hrkt 5 +ja-Kana ja-Jpan 5 +ja-Latn ja-Jpan 5 +jv id 20 +ka en 30 +ka-Geor en-Latn 10 +kk ru 30 +km en 30 +km-Khmr en-Latn 10 +kn en 30 +kn-Knda en-Latn 10 +kn-Latn kn-Knda 20 +ko-Hang ko-Kore 5 +ko-Hani ko-Kore 5 +ko-Jamo ko-Hang 5 +ko-Jamo ko-Kore 5 +ku tr 30 +ky ru 30 +la it 20 +lb de 4 +lg en 30 +ln fr 30 +lo en 30 +lo-Laoo en-Latn 10 +mai hi 20 +mfe en 30 +mg fr 30 +mi en 20 +ml en 30 +ml-Latn ml-Mlym 20 +ml-Mlym en-Latn 10 +mn ru 30 +mr hi 30 +mr-Latn mr-Deva 20 +ms id 30 +mt en 30 +my en 30 +my-Mymr en-Latn 10 +nb da 8 +nb nn 20 +nb no 1 +ne en 30 +ne-Deva en-Latn 10 +nn nb 20 +nn no 20 +no da 8 +no nb 1 +no nn 20 +nso en 30 +nyn en 30 +oc fr 20 +om en 30 +or en 30 +or-Orya en-Latn 10 +pa en 30 +pa-Guru en-Latn 10 +pcm en 20 +ps en 30 +ps-Arab en-Latn 10 +qu es 30 +rm de 20 +rn en 30 +rw fr 30 +sa hi 30 +sd en 30 +sd-Arab en-Latn 10 +sh bs 4 +sh hr 4 +sh sr 4 +si en 30 +si-Sinh en-Latn 10 +sk cs 20 +sn en 30 +so en 30 +sq en 30 +sr sh 4 +sr-Cyrl sr-Latn 5 +sr-Latn sr-Cyrl 5 +ssy aa 4 +st en 30 +su id 20 +sw en 30 +ta en 30 +ta-Latn ta-Taml 20 +ta-Taml en-Latn 10 +te en 30 +te-Latn te-Telu 20 +te-Telu en-Latn 10 +tg ru 30 +ti en 30 +ti-Ethi en-Latn 10 +tk ru 30 +tk-Latn ru-Cyrl 10 +tn en 30 +to en 30 +tt ru 30 +ug zh 20 +ur en 30 +ur-Arab en-Latn 10 +uz ru 30 +uz-Latn ru-Cyrl 10 +wo fr 30 +xh en 30 +yi en 30 +yi-Hebr en-Latn 10 +yo en 30 +za zh 20 +za-Latn zh-Hans 10 +zh-Hani zh-Hans 20 +zh-Hani zh-Hant 20 +zh-Latn zh-Hans 20 +zu en 30 +* * 80 +*-* *-* 50 +*-*-* *-*-* 4 +ar-*-* ar-*-* 5 +en-*-* en-*-* 5 +es-*-* es-*-* 5 +pt-*-* pt-*-* 5 +zh-Hant-* zh-Hant-* 5 diff --git a/misc/languages/preparedist.ps1 b/misc/languages/preparedist.ps1 new file mode 100644 index 0000000000..80345f735b --- /dev/null +++ b/misc/languages/preparedist.ps1 @@ -0,0 +1,14 @@ +# Prepare language data files update artifact + +# Generated source files +New-Item -Path "distlang\include\wx\private" -ItemType Directory +New-Item -Path "distlang\interface\wx" -ItemType Directory +New-Item -Path "distlang\src\common" -ItemType Directory +Copy-Item -Path "include\wx\language.h" -Destination "distlang\include\wx\language.h" -Force +Copy-Item -Path "include\wx\private\lang_*.h" -Destination "distlang\include\wx\private" -Force +Copy-Item -Path "interface\wx\language.h" -Destination "distlang\interface\wx\language.h" -Force +Copy-Item -Path "src\common\languageinfo.cpp" -Destination "distlang\src\common\languageinfo.cpp" -Force + +# Raw data tables +New-Item -Path "distlang\misc\languages" -ItemType Directory +Copy-Item -Path "misc\languages\*.txt" -Destination "distlang\misc\languages" -recurse -Force diff --git a/misc/languages/regiongrouptabl.txt b/misc/languages/regiongrouptabl.txt new file mode 100644 index 0000000000..c67bbce43c --- /dev/null +++ b/misc/languages/regiongrouptabl.txt @@ -0,0 +1,132 @@ +ar DZ +ar EH +ar LY +ar MA +ar MR +ar TN +en AS +en CA +en GU +en MH +en MP +en PH +en PR +en UM +en US +en VI +es AG +es AI +es AR +es AW +es BB +es BL +es BM +es BO +es BQ +es BR +es BS +es BV +es BZ +es CA +es CL +es CO +es CR +es CU +es CW +es DM +es DO +es EC +es FK +es GD +es GF +es GL +es GP +es GS +es GT +es GY +es HN +es HT +es JM +es KN +es KY +es LC +es MF +es MQ +es MS +es MX +es NI +es PA +es PE +es PM +es PR +es PY +es SR +es SV +es SX +es TC +es TT +es US +es UY +es VC +es VE +es VG +es VI +pt AG +pt AI +pt AR +pt AW +pt BB +pt BL +pt BM +pt BO +pt BQ +pt BR +pt BS +pt BV +pt BZ +pt CA +pt CL +pt CO +pt CR +pt CU +pt CW +pt DM +pt DO +pt EC +pt FK +pt GD +pt GF +pt GL +pt GP +pt GS +pt GT +pt GY +pt HN +pt HT +pt JM +pt KN +pt KY +pt LC +pt MF +pt MQ +pt MS +pt MX +pt NI +pt PA +pt PE +pt PM +pt PR +pt PY +pt SR +pt SV +pt SX +pt TC +pt TT +pt US +pt UY +pt VC +pt VE +pt VG +pt VI +zh-Hant HK +zh-Hant MO diff --git a/misc/languages/scripttabl.txt b/misc/languages/scripttabl.txt index 84a3072eb3..2475687aa1 100644 --- a/misc/languages/scripttabl.txt +++ b/misc/languages/scripttabl.txt @@ -48,6 +48,8 @@ Guru gurmukhi Hang hangul Hani han Hano hanunoo +Hans Hans +Hant Hant Hatr hatran Hebr hebrew Hira hiragana @@ -60,6 +62,7 @@ Ital old_italic Java javanese Kali kayah_li Kana katakana +Kawi kawi Khar kharoshthi Khmr khmer Khoj khojki @@ -92,6 +95,7 @@ Mroo mro Mtei meetei_mayek Mult multani Mymr myanmar +Nagm nag_mundari Nand nandinagari Narb old_north_arabian Nbat nabataean diff --git a/misc/languages/synonymtabl.txt b/misc/languages/synonymtabl.txt index 0a9940fb8e..9a184d4aca 100644 --- a/misc/languages/synonymtabl.txt +++ b/misc/languages/synonymtabl.txt @@ -9,16 +9,20 @@ wxLANGUAGE_CAMBODIAN wxLANGUAGE_KHMER wxLANGUAGE_CHINESE_MACAU wxLANGUAGE_CHINESE_MACAO zh-MO - wxLANGUAGE_CHINESE_SIMPLIFIED wxLANGUAGE_CHINESE_CHINA zh-CN - wxLANGUAGE_CHINESE_TRADITIONAL wxLANGUAGE_CHINESE_TAIWAN zh-TW - +wxLANGUAGE_DARI wxLANGUAGE_PERSIAN prs 3.1.6 +wxLANGUAGE_DARI_AFGHANISTAN wxLANGUAGE_PERSIAN_AFGHANISTAN prs-AF 3.1.6 wxLANGUAGE_FARSI wxLANGUAGE_PERSIAN fa - wxLANGUAGE_GREENLANDIC wxLANGUAGE_KALAALLISUT_GREENLAND kl_GL - wxLANGUAGE_KANURI_NIGERIA wxLANGUAGE_KANURI_LATIN_NIGERIA kr-Latn-NG - wxLANGUAGE_KASHMIRI_PERSO_ARABIC wxLANGUAGE_KASHMIRI_ARABIC ks-Arab 3.1.6 wxLANGUAGE_KASHMIRI_PERSO_ARABIC_INDIA wxLANGUAGE_KASHMIRI_ARABIC_INDIA ks-Arab-IN 3.1.6 wxLANGUAGE_KERNEWEK wxLANGUAGE_CORNISH kw - +wxLANGUAGE_KICHE_GUATEMALA wxLANGUAGE_KICHE_LATIN_GUATEMALA quc-Latn-GT 3.1.6 wxLANGUAGE_KURDISH_PERSO_ARABIC_IRAN wxLANGUAGE_KURDISH_ARABIC_IRAN ku-Arab-IR - wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM wxLANGUAGE_MALAY_BRUNEI ms-BN - wxLANGUAGE_ORIYA wxLANGUAGE_ODIA or - wxLANGUAGE_ORIYA_INDIA wxLANGUAGE_ODIA_INDIA or-IN - wxLANGUAGE_SPANISH_MODERN wxLANGUAGE_SPANISH es - +wxLANGUAGE_TURKISH_TURKEY wxLANGUAGE_TURKISH_TURKIYE tr-TR 3.1.6 wxLANGUAGE_UZBEK_PERSO_ARABIC wxLANGUAGE_UZBEK_ARABIC uz-Arab 3.1.6 wxLANGUAGE_UZBEK_PERSO_ARABIC_AFGHANISTAN wxLANGUAGE_UZBEK_ARABIC_AFGHANISTAN uz-Arab-AF 3.1.6 diff --git a/misc/scripts/spellcheck b/misc/scripts/spellcheck index 0db0274ef5..8929a6d19f 100755 --- a/misc/scripts/spellcheck +++ b/misc/scripts/spellcheck @@ -12,7 +12,7 @@ fi $CODESPELL \ -I misc/suppressions/codespell-words \ -x misc/suppressions/codespell-lines \ - -S 'build/cmake/modules/cotire.cmake,docs/changes*.txt,*.png,*.ico,*.bmp,*.cur,docs/doxygen/images,docs/doxygen/mainpages/copyright.h,docs/doxygen/doxygen-awesome-css' \ + -S 'build/cmake/modules/cotire.cmake,docs/changes*.txt,*.png,*.ico,*.bmp,*.cur,docs/doxygen/images,docs/doxygen/mainpages/copyright.h,docs/doxygen/doxygen-awesome-css,include/wx/private/lang_*.h' \ README.md docs include interface rc=$? diff --git a/src/common/intl.cpp b/src/common/intl.cpp index 9bc8513c47..6dfc24d108 100644 --- a/src/common/intl.cpp +++ b/src/common/intl.cpp @@ -179,13 +179,13 @@ static bool gs_languagesDBInitialized = false; const wxLanguageInfos& wxGetLanguageInfos() { - wxUILocale::CreateLanguagesDB(); + wxUILocaleImpl::CreateLanguagesDB(); return gs_languagesDB; } /*static*/ -void wxUILocale::CreateLanguagesDB() +void wxUILocaleImpl::CreateLanguagesDB() { if (!gs_languagesDBInitialized) { @@ -196,7 +196,7 @@ void wxUILocale::CreateLanguagesDB() } /*static*/ -void wxUILocale::DestroyLanguagesDB() +void wxUILocaleImpl::DestroyLanguagesDB() { if (gs_languagesDBInitialized) { @@ -208,7 +208,7 @@ void wxUILocale::DestroyLanguagesDB() /* static */ void wxUILocale::AddLanguage(const wxLanguageInfo& info) { - CreateLanguagesDB(); + wxUILocaleImpl::CreateLanguagesDB(); gs_languagesDB.push_back(info); } @@ -219,13 +219,13 @@ void wxUILocale::AddLanguage(const wxLanguageInfo& info) /*static*/ void wxLocale::CreateLanguagesDB() { - wxUILocale::CreateLanguagesDB(); + wxUILocaleImpl::CreateLanguagesDB(); } /*static*/ void wxLocale::DestroyLanguagesDB() { - wxUILocale::DestroyLanguagesDB(); + wxUILocaleImpl::DestroyLanguagesDB(); } void wxLocale::DoCommonInit() diff --git a/src/common/languageinfo.cpp b/src/common/languageinfo.cpp index e345760402..79d52dbade 100644 --- a/src/common/languageinfo.cpp +++ b/src/common/languageinfo.cpp @@ -21,6 +21,7 @@ #include "wx/intl.h" #include "wx/uilocale.h" +#include "wx/private/uilocale.h" #if wxUSE_INTL @@ -29,6 +30,7 @@ #endif #include +#include // ---------------------------------------------------------------------------- // default languages table & initialization @@ -38,7 +40,7 @@ static std::unordered_map gs_scmap_name2alias; static std::unordered_map gs_scmap_alias2name; -/* static */ wxString wxUILocale::GetScriptAliasFromName(const wxString& scriptName) +/* static */ wxString wxUILocaleImpl::GetScriptAliasFromName(const wxString& scriptName) { const auto scIter = gs_scmap_name2alias.find(scriptName); if (scIter != gs_scmap_name2alias.end()) @@ -47,7 +49,7 @@ static std::unordered_map gs_scmap_alias2name; return wxString(); } -/* static */ wxString wxUILocale::GetScriptNameFromAlias(const wxString& scriptAlias) +/* static */ wxString wxUILocaleImpl::GetScriptNameFromAlias(const wxString& scriptAlias) { const auto scIter = gs_scmap_alias2name.find(scriptAlias); if (scIter != gs_scmap_alias2name.end()) @@ -56,6 +58,49 @@ static std::unordered_map gs_scmap_alias2name; return wxString(); } +// Hash map to look up likely subtags +static std::unordered_map gs_likely_subtags_map; + +/* static */ wxString wxUILocaleImpl::GetLikelySubtags(const wxString& fromTag) +{ + const auto tagIter = gs_likely_subtags_map.find(fromTag); + if (tagIter != gs_likely_subtags_map.end()) + return tagIter->second; + else + return wxString(); +} + +// Hash map to look up distances for matching tag pairs +static std::unordered_map gs_matching_tags_map; + +/* static */ int wxUILocaleImpl::GetMatchDistance(const wxString& desiredTag, const wxString& supportedTag) +{ + const auto tagIter = gs_matching_tags_map.find(desiredTag+wxString(":")+supportedTag); + if (tagIter != gs_matching_tags_map.end()) + return tagIter->second; + else + return -1; +} + +// Hash map to look up distances for matching tag pairs +static std::unordered_map> gs_region_groups_map; + +/* static */ bool wxUILocaleImpl::SameRegionGroup(const wxString& language, const wxString& desiredRegion, const wxString& supportedRegion) +{ + const auto languageIter = gs_region_groups_map.find(language); + if (languageIter != gs_region_groups_map.end()) + { + const auto groupSet = languageIter->second; + bool containsDesired = groupSet.find(desiredRegion) != groupSet.end(); + bool containsSupported = groupSet.find(supportedRegion) != groupSet.end(); + // Desired region and supported region belong to the same region group, + // if they are either both contained or both not contained in the region group. + return (containsDesired && containsSupported) || (!containsDesired && !containsSupported); + } + + return false; +} + // --- --- --- generated code begins here --- --- --- // The following data tables are generated by misc/languages/genlang.py @@ -73,1111 +118,14 @@ static std::unordered_map gs_scmap_alias2name; #endif // __WIN32__ -// Data table for known languages -static const struct langData_t -{ - int wxlang; - const char* bcp47tag; - const char* canonical; - const char* canonicalref; - wxUint32 winlang; - wxUint32 winsublang; - wxLayoutDirection layout; - const char* desc; - const char* descnative; -} -tabLangData[] = -{ - { wxLANGUAGE_ABKHAZIAN, "ab" , "ab" , "" , 0 , 0 , wxLayout_LeftToRight, "Abkhazian","\320\260\322\247\321\201\321\203\320\260 \320\261\321\213\320\267\321\210\323\231\320\260" }, - { wxLANGUAGE_AFAR, "aa" , "aa" , "aa_ET" , 0x00, 0x04, wxLayout_LeftToRight, "Afar","Qafar" }, - { wxLANGUAGE_AFAR_DJIBOUTI, "aa-DJ" , "aa_DJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Afar (Djibouti)","Qafar (Yabuuti)" }, - { wxLANGUAGE_AFAR_ERITREA, "aa-ER" , "aa_ER" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Afar (Eritrea)","Qafar (Eretria)" }, - { wxLANGUAGE_AFAR_ETHIOPIA, "aa-ET" , "aa_ET" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Afar (Ethiopia)","Qafar (Otobbia)" }, - { wxLANGUAGE_AFRIKAANS, "af" , "af" , "af_ZA" , 0x36, 0x01, wxLayout_LeftToRight, "Afrikaans","Afrikaans" }, - { wxLANGUAGE_AFRIKAANS_NAMIBIA, "af-NA" , "af_NA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Afrikaans (Namibia)","Afrikaans (Namibi\303\253)" }, - { wxLANGUAGE_AFRIKAANS_SOUTH_AFRICA, "af-ZA" , "af_ZA" , "" , 0x36, 0x01, wxLayout_LeftToRight, "Afrikaans (South Africa)","Afrikaans (Suid-Afrika)" }, - { wxLANGUAGE_AGHEM, "agq" , "agq" , "agq_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Aghem","Aghem" }, - { wxLANGUAGE_AGHEM_CAMEROON, "agq-CM" , "agq_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Aghem (Cameroon)","Aghem (K\303\240m\303\240l\303\273\305\213)" }, - { wxLANGUAGE_AKAN, "ak" , "ak" , "ak_GH" , 0x00, 0x04, wxLayout_LeftToRight, "Akan","Akan" }, - { wxLANGUAGE_AKAN_GHANA, "ak-GH" , "ak_GH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Akan (Ghana)","Akan (Gaana)" }, - { wxLANGUAGE_ALBANIAN, "sq" , "sq" , "sq_AL" , 0x1c, 0x01, wxLayout_LeftToRight, "Albanian","shqip" }, - { wxLANGUAGE_ALBANIAN_ALBANIA, "sq-AL" , "sq_AL" , "" , 0x1c, 0x01, wxLayout_LeftToRight, "Albanian (Albania)","shqip (Shqip\303\253ri)" }, - { wxLANGUAGE_ALBANIAN_KOSOVO, "sq-XK" , "sq_XK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Albanian (Kosovo)","shqip (Kosov\303\253)" }, - { wxLANGUAGE_ALBANIAN_NORTH_MACEDONIA, "sq-MK" , "sq_MK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Albanian (North Macedonia)","shqip (Maqedonia e Veriut)" }, - { wxLANGUAGE_ALSATIAN_FRANCE, "gsw-FR" , "gsw_FR" , "" , 0x84, 0x01, wxLayout_LeftToRight, "Alsatian (France)","Els\303\244ssisch (Fr\303\240nkrisch)" }, - { wxLANGUAGE_AMHARIC, "am" , "am" , "am_ET" , 0x5e, 0x01, wxLayout_LeftToRight, "Amharic","\341\212\240\341\210\233\341\210\255\341\212\233" }, - { wxLANGUAGE_AMHARIC_ETHIOPIA, "am-ET" , "am_ET" , "" , 0x5e, 0x01, wxLayout_LeftToRight, "Amharic (Ethiopia)","\341\212\240\341\210\233\341\210\255\341\212\233 (\341\212\242\341\211\265\341\213\256\341\214\265\341\213\253)" }, - { wxLANGUAGE_ARABIC, "ar" , "ar" , "ar_SA" , 0x01, 0x01, wxLayout_RightToLeft, "Arabic","\330\247\331\204\330\271\330\261\330\250\331\212\330\251" }, - { wxLANGUAGE_ARABIC_ALGERIA, "ar-DZ" , "ar_DZ" , "" , 0x01, 0x05, wxLayout_RightToLeft, "Arabic (Algeria)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\254\330\262\330\247\330\246\330\261)" }, - { wxLANGUAGE_ARABIC_BAHRAIN, "ar-BH" , "ar_BH" , "" , 0x01, 0x0f, wxLayout_RightToLeft, "Arabic (Bahrain)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\250\330\255\330\261\331\212\331\206)" }, - { wxLANGUAGE_ARABIC_CHAD, "ar-TD" , "ar_TD" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Chad)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\252\330\264\330\247\330\257)" }, - { wxLANGUAGE_ARABIC_COMOROS, "ar-KM" , "ar_KM" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Comoros)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\254\330\262\330\261 \330\247\331\204\331\202\331\205\330\261)" }, - { wxLANGUAGE_ARABIC_DJIBOUTI, "ar-DJ" , "ar_DJ" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Djibouti)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\254\331\212\330\250\331\210\330\252\331\212)" }, - { wxLANGUAGE_ARABIC_EGYPT, "ar-EG" , "ar_EG" , "" , 0x01, 0x03, wxLayout_RightToLeft, "Arabic (Egypt)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\331\205\330\265\330\261)" }, - { wxLANGUAGE_ARABIC_ERITREA, "ar-ER" , "ar_ER" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Eritrea)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\245\330\261\331\212\330\252\330\261\331\212\330\247)" }, - { wxLANGUAGE_ARABIC_IRAQ, "ar-IQ" , "ar_IQ" , "" , 0x01, 0x02, wxLayout_RightToLeft, "Arabic (Iraq)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\271\330\261\330\247\331\202)" }, - { wxLANGUAGE_ARABIC_ISRAEL, "ar-IL" , "ar_IL" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Israel)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\245\330\263\330\261\330\247\330\246\331\212\331\204)" }, - { wxLANGUAGE_ARABIC_JORDAN, "ar-JO" , "ar_JO" , "" , 0x01, 0x0b, wxLayout_RightToLeft, "Arabic (Jordan)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\243\330\261\330\257\331\206)" }, - { wxLANGUAGE_ARABIC_KUWAIT, "ar-KW" , "ar_KW" , "" , 0x01, 0x0d, wxLayout_RightToLeft, "Arabic (Kuwait)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\331\203\331\210\331\212\330\252)" }, - { wxLANGUAGE_ARABIC_LEBANON, "ar-LB" , "ar_LB" , "" , 0x01, 0x0c, wxLayout_RightToLeft, "Arabic (Lebanon)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\331\204\330\250\331\206\330\247\331\206)" }, - { wxLANGUAGE_ARABIC_LIBYA, "ar-LY" , "ar_LY" , "" , 0x01, 0x04, wxLayout_RightToLeft, "Arabic (Libya)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\331\204\331\212\330\250\331\212\330\247)" }, - { wxLANGUAGE_ARABIC_MAURITANIA, "ar-MR" , "ar_MR" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Mauritania)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\331\205\331\210\330\261\331\212\330\252\330\247\331\206\331\212\330\247)" }, - { wxLANGUAGE_ARABIC_MOROCCO, "ar-MA" , "ar_MA" , "" , 0x01, 0x06, wxLayout_RightToLeft, "Arabic (Morocco)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\331\205\331\205\331\204\331\203\330\251 \330\247\331\204\331\205\330\272\330\261\330\250\331\212\330\251)" }, - { wxLANGUAGE_ARABIC_OMAN, "ar-OM" , "ar_OM" , "" , 0x01, 0x08, wxLayout_RightToLeft, "Arabic (Oman)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\271\331\205\330\247\331\206)" }, - { wxLANGUAGE_ARABIC_PALESTINIAN_AUTHORITY, "ar-PS" , "ar_PS" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Palestinian Authority)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\263\331\204\330\267\330\251 \330\247\331\204\331\201\331\204\330\263\330\267\331\212\331\206\331\212\330\251)" }, - { wxLANGUAGE_ARABIC_QATAR, "ar-QA" , "ar_QA" , "" , 0x01, 0x10, wxLayout_RightToLeft, "Arabic (Qatar)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\331\202\330\267\330\261)" }, - { wxLANGUAGE_ARABIC_SAUDI_ARABIA, "ar-SA" , "ar_SA" , "" , 0x01, 0x01, wxLayout_RightToLeft, "Arabic (Saudi Arabia)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\331\205\331\205\331\204\331\203\330\251 \330\247\331\204\330\271\330\261\330\250\331\212\330\251 \330\247\331\204\330\263\330\271\331\210\330\257\331\212\330\251)" }, - { wxLANGUAGE_ARABIC_SOMALIA, "ar-SO" , "ar_SO" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Somalia)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\265\331\210\331\205\330\247\331\204)" }, - { wxLANGUAGE_ARABIC_SOUTH_SUDAN, "ar-SS" , "ar_SS" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (South Sudan)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\254\331\206\331\210\330\250 \330\247\331\204\330\263\331\210\330\257\330\247\331\206)" }, - { wxLANGUAGE_ARABIC_SUDAN, "ar-SD" , "ar_SD" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (Sudan)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\263\331\210\330\257\330\247\331\206)" }, - { wxLANGUAGE_ARABIC_SYRIA, "ar-SY" , "ar_SY" , "" , 0x01, 0x0a, wxLayout_RightToLeft, "Arabic (Syria)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\263\331\210\330\261\331\212\330\247)" }, - { wxLANGUAGE_ARABIC_TUNISIA, "ar-TN" , "ar_TN" , "" , 0x01, 0x07, wxLayout_RightToLeft, "Arabic (Tunisia)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\252\331\210\331\206\330\263)" }, - { wxLANGUAGE_ARABIC_UAE, "ar-AE" , "ar_AE" , "" , 0x01, 0x0e, wxLayout_RightToLeft, "Arabic (United Arab Emirates)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\245\331\205\330\247\330\261\330\247\330\252 \330\247\331\204\330\271\330\261\330\250\331\212\330\251 \330\247\331\204\331\205\330\252\330\255\330\257\330\251)" }, - { wxLANGUAGE_ARABIC_WORLD, "ar-001" , "ar_001" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Arabic (World)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\330\271\330\247\331\204\331\205)" }, - { wxLANGUAGE_ARABIC_YEMEN, "ar-YE" , "ar_YE" , "" , 0x01, 0x09, wxLayout_RightToLeft, "Arabic (Yemen)","\330\247\331\204\330\271\330\261\330\250\331\212\330\251 (\330\247\331\204\331\212\331\205\331\206)" }, - { wxLANGUAGE_ARMENIAN, "hy" , "hy" , "hy_AM" , 0x2b, 0x01, wxLayout_LeftToRight, "Armenian","\325\200\325\241\325\265\325\245\326\200\325\245\325\266" }, - { wxLANGUAGE_ARMENIAN_ARMENIA, "hy-AM" , "hy_AM" , "" , 0x2b, 0x01, wxLayout_LeftToRight, "Armenian (Armenia)","\325\200\325\241\325\265\325\245\326\200\325\245\325\266 (\325\200\325\241\325\265\325\241\325\275\325\277\325\241\325\266)" }, - { wxLANGUAGE_ASSAMESE, "as" , "as" , "as_IN" , 0x4d, 0x01, wxLayout_LeftToRight, "Assamese","\340\246\205\340\246\270\340\246\256\340\247\200\340\247\237\340\246\276" }, - { wxLANGUAGE_ASSAMESE_INDIA, "as-IN" , "as_IN" , "" , 0x4d, 0x01, wxLayout_LeftToRight, "Assamese (India)","\340\246\205\340\246\270\340\246\256\340\247\200\340\247\237\340\246\276 (\340\246\255\340\246\276\340\247\260\340\246\244)" }, - { wxLANGUAGE_ASTURIAN, "ast" , "ast" , "ast_ES" , 0x00, 0x04, wxLayout_LeftToRight, "Asturian","asturianu" }, - { wxLANGUAGE_ASTURIAN_SPAIN, "ast-ES" , "ast_ES" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Asturian (Spain)","asturianu (Espa\303\261a)" }, - { wxLANGUAGE_ASU, "asa" , "asa" , "asa_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Asu","Kipare" }, - { wxLANGUAGE_ASU_TANZANIA, "asa-TZ" , "asa_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Asu (Tanzania)","Kipare (Tadhania)" }, - { wxLANGUAGE_AYMARA, "ay" , "ay" , "" , 0 , 0 , wxLayout_LeftToRight, "Aymara","Aymara" }, - { wxLANGUAGE_AZERBAIJANI, "az" , "az" , "" , 0x2c, 0x01, wxLayout_LeftToRight, "Azerbaijani","az\311\231rbaycan" }, - { wxLANGUAGE_AZERBAIJANI_CYRILLIC, "az-Cyrl" , "az@cyrillic" , "" , 0x2c, 0x02, wxLayout_LeftToRight, "Azerbaijani (Cyrillic)","\320\220\320\267\323\231\321\200\320\261\320\260\321\230\322\271\320\260\320\275\302\240\320\264\320\270\320\273\320\270 (\320\232\320\270\321\200\320\270\320\273)" }, - { wxLANGUAGE_AZERBAIJANI_CYRILLIC_AZERBAIJAN, "az-Cyrl-AZ" , "az_AZ@cyrillic" , "" , 0x2c, 0x02, wxLayout_LeftToRight, "Azerbaijani (Cyrillic, Azerbaijan)","\320\260\320\267\323\231\321\200\320\261\320\260\321\230\322\271\320\260\320\275 (\320\220\320\267\323\231\321\200\320\261\320\260\321\230\322\271\320\260\320\275)" }, - { wxLANGUAGE_AZERBAIJANI_LATIN, "az-Latn" , "az@latin" , "" , 0x2c, 0x01, wxLayout_LeftToRight, "Azerbaijani (Latin)","Az\311\231rbaycan\302\255\304\261l\304\261 (Lat\304\261n)" }, - { wxLANGUAGE_AZERBAIJANI_LATIN_AZERBAIJAN, "az-Latn-AZ" , "az_AZ@latin" , "" , 0x2c, 0x01, wxLayout_LeftToRight, "Azerbaijani (Latin, Azerbaijan)","az\311\231rbaycan (Az\311\231rbaycan)" }, - { wxLANGUAGE_BAFIA, "ksf" , "ksf" , "ksf_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Bafia","rikpa" }, - { wxLANGUAGE_BAFIA_CAMEROON, "ksf-CM" , "ksf_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bafia (Cameroon)","rikpa (kam\311\233r\303\272n)" }, - { wxLANGUAGE_BAMANANKAN, "bm" , "bm" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bamanankan","bamanakan" }, - { wxLANGUAGE_BAMANANKAN_LATIN, "bm-Latn" , "bm@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bamanankan (Latin)","bamanakan (Latin)" }, - { wxLANGUAGE_BAMANANKAN_LATIN_MALI, "bm-Latn-ML" , "bm_ML@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bamanankan (Latin, Mali)","bamanakan (Mali)" }, - { wxLANGUAGE_BANGLA, "bn" , "bn" , "bn_BD" , 0x45, 0x02, wxLayout_LeftToRight, "Bangla","\340\246\254\340\246\276\340\246\202\340\246\262\340\246\276" }, - { wxLANGUAGE_BANGLA_BANGLADESH, "bn-BD" , "bn_BD" , "" , 0x45, 0x02, wxLayout_LeftToRight, "Bangla (Bangladesh)","\340\246\254\340\246\276\340\246\202\340\246\262\340\246\276 (\340\246\254\340\246\276\340\246\202\340\246\262\340\246\276\340\246\246\340\247\207\340\246\266)" }, - { wxLANGUAGE_BANGLA_INDIA, "bn-IN" , "bn_IN" , "" , 0x45, 0x01, wxLayout_LeftToRight, "Bengali (India)","\340\246\254\340\246\276\340\246\202\340\246\262\340\246\276 (\340\246\255\340\246\276\340\246\260\340\246\244)" }, - { wxLANGUAGE_BASAA, "bas" , "bas" , "bas_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Basaa","\306\201\303\240s\303\240a" }, - { wxLANGUAGE_BASAA_CAMEROON, "bas-CM" , "bas_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Basaa (Cameroon)","\306\201\303\240s\303\240a (K\303\240m\311\233\314\200r\303\273n)" }, - { wxLANGUAGE_BASHKIR, "ba" , "ba" , "ba_RU" , 0x6d, 0x01, wxLayout_LeftToRight, "Bashkir","\320\221\320\260\321\210\322\241\320\276\321\200\321\202" }, - { wxLANGUAGE_BASHKIR_RUSSIA, "ba-RU" , "ba_RU" , "" , 0x6d, 0x01, wxLayout_LeftToRight, "Bashkir (Russia)","\320\221\320\260\321\210\322\241\320\276\321\200\321\202 (\320\240\323\231\321\201\323\231\320\271)" }, - { wxLANGUAGE_BASQUE, "eu" , "eu" , "eu_ES" , 0x2d, 0x01, wxLayout_LeftToRight, "Basque","euskara" }, - { wxLANGUAGE_BASQUE_SPAIN, "eu-ES" , "eu_ES" , "" , 0x2d, 0x01, wxLayout_LeftToRight, "Basque (Basque)","euskara (euskara)" }, - { wxLANGUAGE_BELARUSIAN, "be" , "be" , "be_BY" , 0x23, 0x01, wxLayout_LeftToRight, "Belarusian","\320\221\320\265\320\273\320\260\321\200\321\203\321\201\320\272\320\260\321\217" }, - { wxLANGUAGE_BELARUSIAN_BELARUS, "be-BY" , "be_BY" , "" , 0x23, 0x01, wxLayout_LeftToRight, "Belarusian (Belarus)","\320\221\320\265\320\273\320\260\321\200\321\203\321\201\320\272\320\260\321\217 (\320\221\320\265\320\273\320\260\321\200\321\203\321\201\321\214)" }, - { wxLANGUAGE_BEMBA, "bem" , "bem" , "bem_ZM" , 0x00, 0x04, wxLayout_LeftToRight, "Bemba","Ichibemba" }, - { wxLANGUAGE_BEMBA_ZAMBIA, "bem-ZM" , "bem_ZM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bemba (Zambia)","Ichibemba (Zambia)" }, - { wxLANGUAGE_BENA, "bez" , "bez" , "bez_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Bena","Hibena" }, - { wxLANGUAGE_BENA_TANZANIA, "bez-TZ" , "bez_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bena (Tanzania)","Hibena (Hutanzania)" }, - { wxLANGUAGE_BIHARI, "bh" , "bh" , "" , 0 , 0 , wxLayout_LeftToRight, "Bihari","Bihari" }, - { wxLANGUAGE_BISLAMA, "bi" , "bi" , "" , 0 , 0 , wxLayout_LeftToRight, "Bislama","Bislama" }, - { wxLANGUAGE_BLIN, "byn" , "byn" , "byn_ER" , 0x00, 0x04, wxLayout_LeftToRight, "Blin","\341\211\245\341\210\212\341\212\225" }, - { wxLANGUAGE_BLIN_ERITREA, "byn-ER" , "byn_ER" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Blin (Eritrea)","\341\211\245\341\210\212\341\212\225 (\341\212\244\341\210\255\341\211\265\341\210\253)" }, - { wxLANGUAGE_BODO, "brx" , "brx" , "brx_IN" , 0x00, 0x04, wxLayout_LeftToRight, "Bodo","\340\244\254\340\244\241\340\244\274\340\245\213" }, - { wxLANGUAGE_BODO_INDIA, "brx-IN" , "brx_IN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Bodo (India)","\340\244\254\340\244\241\340\244\274\340\245\213 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, - { wxLANGUAGE_BOSNIAN, "bs" , "bs" , "" , 0x1a, 0x05, wxLayout_LeftToRight, "Bosnian","bosanski" }, - { wxLANGUAGE_BOSNIAN_CYRILLIC, "bs-Cyrl" , "bs@cyrillic" , "" , 0x1a, 0x08, wxLayout_LeftToRight, "Bosnian (Cyrillic)","\320\261\320\276\321\201\320\260\320\275\321\201\320\272\320\270 (\320\213\320\270\321\200\320\270\320\273\320\270\321\206\320\260)" }, - { wxLANGUAGE_BOSNIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA, "bs-Cyrl-BA" , "bs_BA@cyrillic" , "" , 0x1a, 0x08, wxLayout_LeftToRight, "Bosnian (Cyrillic, Bosnia and Herzegovina)","\320\261\320\276\321\201\320\260\320\275\321\201\320\272\320\270 (\320\221\320\276\321\201\320\275\320\260 \320\270 \320\245\320\265\321\200\321\206\320\265\320\263\320\276\320\262\320\270\320\275\320\260)" }, - { wxLANGUAGE_BOSNIAN_LATIN, "bs-Latn" , "bs@latin" , "" , 0x1a, 0x05, wxLayout_LeftToRight, "Bosnian (Latin)","bosanski (Latinica)" }, - { wxLANGUAGE_BOSNIAN_LATIN_BOSNIA_AND_HERZEGOVINA, "bs-Latn-BA" , "bs_BA@latin" , "" , 0x1a, 0x05, wxLayout_LeftToRight, "Bosnian (Latin, Bosnia and Herzegovina)","bosanski (Bosna i Hercegovina)" }, - { wxLANGUAGE_BRETON, "br" , "br" , "br_FR" , 0x7e, 0x01, wxLayout_LeftToRight, "Breton","brezhoneg" }, - { wxLANGUAGE_BRETON_FRANCE, "br-FR" , "br_FR" , "" , 0x7e, 0x01, wxLayout_LeftToRight, "Breton (France)","brezhoneg (Fra\303\261s)" }, - { wxLANGUAGE_BULGARIAN, "bg" , "bg" , "bg_BG" , 0x02, 0x01, wxLayout_LeftToRight, "Bulgarian","\320\261\321\212\320\273\320\263\320\260\321\200\321\201\320\272\320\270" }, - { wxLANGUAGE_BULGARIAN_BULGARIA, "bg-BG" , "bg_BG" , "" , 0x02, 0x01, wxLayout_LeftToRight, "Bulgarian (Bulgaria)","\320\261\321\212\320\273\320\263\320\260\321\200\321\201\320\272\320\270 (\320\221\321\212\320\273\320\263\320\260\321\200\320\270\321\217)" }, - { wxLANGUAGE_BURMESE, "my" , "my" , "my_MM" , 0x55, 0x01, wxLayout_LeftToRight, "Burmese","\341\200\227\341\200\231\341\200\254" }, - { wxLANGUAGE_BURMESE_MYANMAR, "my-MM" , "my_MM" , "" , 0x55, 0x01, wxLayout_LeftToRight, "Burmese (Myanmar)","\341\200\231\341\200\274\341\200\224\341\200\272\341\200\231\341\200\254 (\341\200\231\341\200\274\341\200\224\341\200\272\341\200\231\341\200\254)" }, - { wxLANGUAGE_CATALAN, "ca" , "ca" , "ca_ES" , 0x03, 0x01, wxLayout_LeftToRight, "Catalan","catal\303\240" }, - { wxLANGUAGE_CATALAN_ANDORRA, "ca-AD" , "ca_AD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Catalan (Andorra)","catal\303\240 (Andorra)" }, - { wxLANGUAGE_CATALAN_FRANCE, "ca-FR" , "ca_FR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Catalan (France)","catal\303\240 (Fran\303\247a)" }, - { wxLANGUAGE_CATALAN_ITALY, "ca-IT" , "ca_IT" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Catalan (Italy)","catal\303\240 (It\303\240lia)" }, - { wxLANGUAGE_CATALAN_SPAIN, "ca-ES" , "ca_ES" , "" , 0x03, 0x01, wxLayout_LeftToRight, "Catalan (Catalan)","catal\303\240 (catal\303\240)" }, - { wxLANGUAGE_CEBUANO, "ceb" , "ceb" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Cebuano","Binisaya" }, - { wxLANGUAGE_CEBUANO_LATIN, "ceb-Latn" , "ceb@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Cebuano (Latin)","Binisaya (Latin)" }, - { wxLANGUAGE_CEBUANO_LATIN_PHILIPPINES, "ceb-Latn-PH" , "ceb_PH@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Cebuano (Latin, Philippines)","Binisaya (Pilipinas)" }, - { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT, "tzm" , "tzm" , "" , 0x5f, 0x02, wxLayout_LeftToRight, "Central Atlas Tamazight","Tamazi\311\243t n la\341\271\255la\341\271\243" }, - { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_ARABIC, "tzm-Arab" , "tzm@arabic" , "" , 0x5f, 0x01, wxLayout_RightToLeft, "Central Atlas Tamazight (Arabic)","\330\247\331\204\330\243\331\205\330\247\330\262\331\212\330\272\331\212\330\251 \331\210\330\263\330\267 \330\247\331\204\330\243\330\267\331\204\330\263" }, - { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_ARABIC_MOROCCO, "tzm-Arab-MA" , "tzm_MA@arabic" , "" , 0x5f, 0x01, wxLayout_RightToLeft, "Central Atlas Tamazight (Arabic, Morocco)","\330\247\331\204\330\243\331\205\330\247\330\262\331\212\330\272\331\212\330\251 \331\210\330\263\330\267 \330\247\331\204\330\243\330\267\331\204\330\263 (\330\247\331\204\331\205\330\272\330\261\330\250)" }, - { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_LATIN, "tzm-Latn" , "tzm@latin" , "" , 0x5f, 0x02, wxLayout_LeftToRight, "Central Atlas Tamazight (Latin)","Tamazi\311\243t n la\341\271\255la\341\271\243 (Latin)" }, - { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_LATIN_ALGERIA, "tzm-Latn-DZ" , "tzm_DZ@latin" , "" , 0x5f, 0x02, wxLayout_LeftToRight, "Central Atlas Tamazight (Latin, Algeria)","Tamazi\311\243t n la\341\271\255la\341\271\243 (Djaza\303\257r)" }, - { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_LATIN_MOROCCO, "tzm-Latn-MA" , "tzm_MA@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Central Atlas Tamazight (Latin, Morocco)","Tamazi\311\243t n la\341\271\255la\341\271\243 (Me\341\271\233\341\271\233uk)" }, - { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_TIFINAGH, "tzm-Tfng" , "tzm@tifinagh" , "" , 0x5f, 0x04, wxLayout_LeftToRight, "Central Atlas Tamazight (Tifinagh)","Tamazight (Tifinagh)" }, - { wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_TIFINAGH_MOROCCO, "tzm-Tfng-MA" , "tzm_MA@tifinagh" , "" , 0x5f, 0x04, wxLayout_LeftToRight, "Central Atlas Tamazight (Tifinagh, Morocco)","\342\265\234\342\264\260\342\265\216\342\264\260\342\265\243\342\265\211\342\265\226\342\265\234 (\342\265\215\342\265\216\342\265\226\342\265\224\342\265\211\342\264\261)" }, - { wxLANGUAGE_CENTRAL_KURDISH, "ku" , "ku" , "" , 0x92, 0x01, wxLayout_RightToLeft, "Central Kurdish","\332\251\331\210\330\261\330\257\333\214\333\214 \331\206\330\247\331\210\333\225\332\225\330\247\330\263\330\252" }, - { wxLANGUAGE_CENTRAL_KURDISH_ARABIC, "ku-Arab" , "ku@arabic" , "" , 0x92, 0x01, wxLayout_RightToLeft, "Central Kurdish","\332\251\331\210\330\261\330\257\333\214\333\214 \331\206\330\247\331\210\333\225\332\225\330\247\330\263\330\252" }, - { wxLANGUAGE_CENTRAL_KURDISH_ARABIC_IRAQ, "ku-Arab-IQ" , "ku_IQ@arabic" , "" , 0x92, 0x01, wxLayout_RightToLeft, "Central Kurdish (Iraq)","\332\251\331\210\330\261\330\257\333\214\333\214 \331\206\330\247\331\210\333\225\332\225\330\247\330\263\330\252 (\330\271\333\216\330\261\330\247\331\202)" }, - { wxLANGUAGE_CHAKMA, "ccp" , "ccp" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chakma","\360\221\204\214\360\221\204\213\360\221\204\264\360\221\204\237\360\221\204\263\360\221\204\246" }, - { wxLANGUAGE_CHAKMA_CHAKMA, "ccp-Cakm" , "ccp@chakma" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chakma (Chakma)","\360\221\204\214\360\221\204\213\360\221\204\264\360\221\204\237\360\221\204\263\360\221\204\246 (\360\221\204\214\360\221\204\207\360\221\204\264\360\221\204\237)" }, - { wxLANGUAGE_CHAKMA_CHAKMA_BANGLADESH, "ccp-Cakm-BD" , "ccp_BD@chakma" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chakma (Chakma, Bangladesh)","\360\221\204\214\360\221\204\213\360\221\204\264\360\221\204\237\360\221\204\263\360\221\204\246 (\360\221\204\235\360\221\204\201\360\221\204\243\360\221\204\230\360\221\204\254\360\221\204\214\360\221\204\264)" }, - { wxLANGUAGE_CHAKMA_CHAKMA_INDIA, "ccp-Cakm-IN" , "ccp_IN@chakma" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chakma (Chakma, India)","\360\221\204\214\360\221\204\213\360\221\204\264\360\221\204\237\360\221\204\263\360\221\204\246 (\360\221\204\236\360\221\204\242\360\221\204\247\360\221\204\226\360\221\204\264)" }, - { wxLANGUAGE_CHECHEN, "ce" , "ce" , "ce_RU" , 0x00, 0x04, wxLayout_LeftToRight, "Chechen","\320\275\320\276\321\205\321\207\320\270\320\271\320\275" }, - { wxLANGUAGE_CHECHEN_RUSSIA, "ce-RU" , "ce_RU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chechen (Russia)","\320\275\320\276\321\205\321\207\320\270\320\271\320\275 (\320\240\320\276\321\201\321\201\320\270)" }, - { wxLANGUAGE_CHEROKEE, "chr" , "chr" , "" , 0x5c, 0x01, wxLayout_LeftToRight, "Cherokee","\341\217\243\341\216\263\341\216\251" }, - { wxLANGUAGE_CHEROKEE_CHEROKEE, "chr-Cher" , "chr@cherokee" , "" , 0x5c, 0x01, wxLayout_LeftToRight, "Cherokee","\341\217\243\341\216\263\341\216\251" }, - { wxLANGUAGE_CHEROKEE_US, "chr-Cher-US" , "chr_US@cherokee" , "" , 0x5c, 0x01, wxLayout_LeftToRight, "Cherokee (Cherokee, United States)","\341\217\243\341\216\263\341\216\251 (\341\217\214\341\217\212 \341\216\242\341\217\263\341\216\276\341\216\265\341\217\215\341\217\224\341\217\205 \341\217\215\341\216\246\341\217\232\341\216\251)" }, - { wxLANGUAGE_CHIGA, "cgg" , "cgg" , "cgg_UG" , 0x00, 0x04, wxLayout_LeftToRight, "Chiga","Rukiga" }, - { wxLANGUAGE_CHIGA_UGANDA, "cgg-UG" , "cgg_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chiga (Uganda)","Rukiga (Uganda)" }, - { wxLANGUAGE_CHINESE, "zh" , "zh" , "zh_TW" , 0x04, 0x01, wxLayout_LeftToRight, "Chinese","\344\270\255\346\226\207" }, - { wxLANGUAGE_CHINESE_CHINA, "zh-CN" , "zh_CN" , "" , 0x04, 0x02, wxLayout_LeftToRight, "Chinese (Simplified, China)","\344\270\255\346\226\207(\344\270\255\345\233\275)" }, - { wxLANGUAGE_CHINESE_HONGKONG, "zh-HK" , "zh_HK" , "" , 0x04, 0x03, wxLayout_LeftToRight, "Chinese (Traditional, Hong Kong SAR)","\344\270\255\346\226\207(\351\246\231\346\270\257\347\211\271\345\210\245\350\241\214\346\224\277\345\215\200)" }, - { wxLANGUAGE_CHINESE_MACAO, "zh-MO" , "zh_MO" , "" , 0x04, 0x05, wxLayout_LeftToRight, "Chinese (Traditional, Macao SAR)","\344\270\255\346\226\207(\346\276\263\351\226\200\347\211\271\345\210\245\350\241\214\346\224\277\345\215\200)" }, - { wxLANGUAGE_CHINESE_SIMPLIFIED_EXPLICIT, "zh-Hans" , "zh@Hans" , "zh_CN" , 0x04, 0x02, wxLayout_LeftToRight, "Chinese (Simplified)","\344\270\255\346\226\207(\347\256\200\344\275\223)" }, - { wxLANGUAGE_CHINESE_SIMPLIFIED_HONGKONG, "zh-Hans-HK" , "zh_HK@Hans" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chinese (Simplified, Hong Kong SAR)","\344\270\255\346\226\207 (\351\246\231\346\270\257\347\211\271\345\210\253\350\241\214\346\224\277\345\214\272)" }, - { wxLANGUAGE_CHINESE_SIMPLIFIED_MACAO, "zh-Hans-MO" , "zh_MO@Hans" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Chinese (Simplified, Macao SAR)","\344\270\255\346\226\207 (\346\276\263\351\227\250\347\211\271\345\210\253\350\241\214\346\224\277\345\214\272)" }, - { wxLANGUAGE_CHINESE_SINGAPORE, "zh-SG" , "zh_SG" , "" , 0x04, 0x04, wxLayout_LeftToRight, "Chinese (Simplified, Singapore)","\344\270\255\346\226\207(\346\226\260\345\212\240\345\235\241)" }, - { wxLANGUAGE_CHINESE_TAIWAN, "zh-TW" , "zh_TW" , "" , 0x04, 0x01, wxLayout_LeftToRight, "Chinese (Traditional, Taiwan)","\344\270\255\346\226\207(\345\217\260\347\201\243)" }, - { wxLANGUAGE_CHINESE_TRADITIONAL_EXPLICIT, "zh-Hant" , "zh@Hant" , "zh_TW" , 0x04, 0x01, wxLayout_LeftToRight, "Chinese (Traditional)","\344\270\255\346\226\207(\347\271\201\351\253\224)" }, - { wxLANGUAGE_CHURCH_SLAVIC, "cu" , "cu" , "cu_RU" , 0x00, 0x04, wxLayout_LeftToRight, "Church Slavic","\321\206\320\265\321\200\320\272\320\276\320\262\320\275\320\276\321\201\320\273\320\276\320\262\320\265\314\201\320\275\321\201\320\272\321\227\320\271" }, - { wxLANGUAGE_CHURCH_SLAVIC_RUSSIA, "cu-RU" , "cu_RU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Church Slavic (Russia)","\321\206\320\265\321\200\320\272\320\276\320\262\320\275\320\276\321\201\320\273\320\276\320\262\320\265\314\201\320\275\321\201\320\272\321\227\320\271 (\321\200\321\241\321\201\321\201\321\226\314\201\320\260)" }, - { wxLANGUAGE_COLOGNIAN, "ksh" , "ksh" , "ksh_DE" , 0x00, 0x04, wxLayout_LeftToRight, "Colognian","K\303\266lsch" }, - { wxLANGUAGE_COLOGNIAN_GERMANY, "ksh-DE" , "ksh_DE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Colognian (Germany)","K\303\266lsch (Do\303\274tschland)" }, - { wxLANGUAGE_CORNISH, "kw" , "kw" , "kw_GB" , 0x00, 0x04, wxLayout_LeftToRight, "Cornish","kernewek" }, - { wxLANGUAGE_CORNISH_UK, "kw-GB" , "kw_GB" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Cornish (United Kingdom)","kernewek (Rywvaneth Unys)" }, - { wxLANGUAGE_CORSICAN, "co" , "co" , "co_FR" , 0x83, 0x01, wxLayout_LeftToRight, "Corsican","Corsu" }, - { wxLANGUAGE_CORSICAN_FRANCE, "co-FR" , "co_FR" , "" , 0x83, 0x01, wxLayout_LeftToRight, "Corsican (France)","Corsu (Francia)" }, - { wxLANGUAGE_CROATIAN, "hr" , "hr" , "hr_HR" , 0x1a, 0x01, wxLayout_LeftToRight, "Croatian","hrvatski" }, - { wxLANGUAGE_CROATIAN_BOSNIA_AND_HERZEGOVINA, "hr-BA" , "hr_BA" , "" , 0x1a, 0x04, wxLayout_LeftToRight, "Croatian (Bosnia and Herzegovina)","hrvatski (Bosna i Hercegovina)" }, - { wxLANGUAGE_CROATIAN_CROATIA, "hr-HR" , "hr_HR" , "" , 0x1a, 0x01, wxLayout_LeftToRight, "Croatian (Croatia)","hrvatski (Hrvatska)" }, - { wxLANGUAGE_CZECH, "cs" , "cs" , "cs_CZ" , 0x05, 0x01, wxLayout_LeftToRight, "Czech","\304\215e\305\241tina" }, - { wxLANGUAGE_CZECH_CZECHIA, "cs-CZ" , "cs_CZ" , "" , 0x05, 0x01, wxLayout_LeftToRight, "Czech (Czechia)","\304\215e\305\241tina (\304\214esko)" }, - { wxLANGUAGE_DANISH, "da" , "da" , "da_DK" , 0x06, 0x01, wxLayout_LeftToRight, "Danish","dansk" }, - { wxLANGUAGE_DANISH_DENMARK, "da-DK" , "da_DK" , "" , 0x06, 0x01, wxLayout_LeftToRight, "Danish (Denmark)","dansk (Danmark)" }, - { wxLANGUAGE_DANISH_GREENLAND, "da-GL" , "da_GL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Danish (Greenland)","dansk (Gr\303\270nland)" }, - { wxLANGUAGE_DARI, "prs" , "prs" , "prs_AF" , 0x8c, 0x01, wxLayout_RightToLeft, "Dari","\330\257\330\261\331\211" }, - { wxLANGUAGE_DARI_AFGHANISTAN, "prs-AF" , "prs_AF" , "" , 0x8c, 0x01, wxLayout_RightToLeft, "Dari (Afghanistan)","\330\257\330\261\331\211 (\330\247\331\201\330\272\330\247\331\206\330\263\330\252\330\247\331\206)" }, - { wxLANGUAGE_DIVEHI, "dv" , "dv" , "dv_MV" , 0x65, 0x01, wxLayout_RightToLeft, "Divehi","\336\213\336\250\336\210\336\254\336\200\336\250\336\204\336\246\336\220\336\260" }, - { wxLANGUAGE_DIVEHI_MALDIVES, "dv-MV" , "dv_MV" , "" , 0x65, 0x01, wxLayout_RightToLeft, "Divehi (Maldives)","\336\213\336\250\336\210\336\254\336\200\336\250\336\204\336\246\336\220\336\260 (\336\213\336\250\336\210\336\254\336\200\336\250 \336\203\336\247\336\207\336\260\336\226\336\254)" }, - { wxLANGUAGE_DOGRI, "doi" , "doi" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dogri","\340\244\241\340\245\213\340\244\227\340\244\260\340\245\200" }, - { wxLANGUAGE_DOGRI_DEVANAGARI, "doi-Deva" , "doi@devanagari" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dogri (Devanagari)","\340\244\241\340\245\213\340\244\227\340\244\260\340\245\200 (\340\244\246\340\245\207\340\244\265\340\244\250\340\244\276\340\244\227\340\244\260\340\245\200)" }, - { wxLANGUAGE_DOGRI_DEVANAGARI_INDIA, "doi-Deva-IN" , "doi_IN@devanagari" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dogri (Devanagari, India)","\340\244\241\340\245\213\340\244\227\340\244\260\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, - { wxLANGUAGE_DUALA, "dua" , "dua" , "dua_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Duala","du\303\241l\303\241" }, - { wxLANGUAGE_DUALA_CAMEROON, "dua-CM" , "dua_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Duala (Cameroon)","du\303\241l\303\241 (Cameroun)" }, - { wxLANGUAGE_DUTCH, "nl" , "nl" , "nl_NL" , 0x13, 0x01, wxLayout_LeftToRight, "Dutch","Nederlands" }, - { wxLANGUAGE_DUTCH_ARUBA, "nl-AW" , "nl_AW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dutch (Aruba)","Nederlands (Aruba)" }, - { wxLANGUAGE_DUTCH_BELGIAN, "nl-BE" , "nl_BE" , "" , 0x13, 0x02, wxLayout_LeftToRight, "Dutch (Belgium)","Nederlands (Belgi\303\253)" }, - { wxLANGUAGE_DUTCH_BONAIRE_SINT_EUSTATIUS_AND_SABA, "nl-BQ" , "nl_BQ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dutch (Bonaire, Sint Eustatius and Saba)","Nederlands (Bonaire, Sint Eustatius en Saba)" }, - { wxLANGUAGE_DUTCH_CURACAO, "nl-CW" , "nl_CW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dutch (Cura\303\247ao)","Nederlands (Cura\303\247ao)" }, - { wxLANGUAGE_DUTCH_NETHERLANDS, "nl-NL" , "nl_NL" , "" , 0x13, 0x01, wxLayout_LeftToRight, "Dutch (Netherlands)","Nederlands (Nederland)" }, - { wxLANGUAGE_DUTCH_SINT_MAARTEN, "nl-SX" , "nl_SX" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dutch (Sint Maarten)","Nederlands (Sint-Maarten)" }, - { wxLANGUAGE_DUTCH_SURINAME, "nl-SR" , "nl_SR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Dutch (Suriname)","Nederlands (Suriname)" }, - { wxLANGUAGE_DZONGKHA, "dz" , "dz" , "dz_BT" , 0x51, 0x03, wxLayout_LeftToRight, "Dzongkha","\340\275\242\340\276\253\340\275\274\340\275\204\340\274\213\340\275\201" }, - { wxLANGUAGE_DZONGKHA_BHUTAN, "dz-BT" , "dz_BT" , "" , 0x51, 0x03, wxLayout_LeftToRight, "Dzongkha (Bhutan)","\340\275\242\340\276\253\340\275\274\340\275\204\340\274\213\340\275\201 (\340\275\240\340\275\226\340\276\262\340\275\264\340\275\202)" }, - { wxLANGUAGE_EDO, "bin" , "bin" , "bin_NG" , 0x66, 0x01, wxLayout_LeftToRight, "Edo","\341\272\270\314\200d\303\263" }, - { wxLANGUAGE_EDO_NIGERIA, "bin-NG" , "bin_NG" , "" , 0x66, 0x01, wxLayout_LeftToRight, "Edo (Nigeria)","\341\272\270\314\200d\303\263 (Nigeria)" }, - { wxLANGUAGE_EMBU, "ebu" , "ebu" , "ebu_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Embu","K\304\251embu" }, - { wxLANGUAGE_EMBU_KENYA, "ebu-KE" , "ebu_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Embu (Kenya)","K\304\251embu (Kenya)" }, - { wxLANGUAGE_ENGLISH, "en" , "en" , "en_GB" , 0x09, 0x02, wxLayout_LeftToRight, "English","English" }, - { wxLANGUAGE_ENGLISH_AMERICAN_SAMOA, "en-AS" , "en_AS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (American Samoa)","English (American Samoa)" }, - { wxLANGUAGE_ENGLISH_ANGUILLA, "en-AI" , "en_AI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Anguilla)","English (Anguilla)" }, - { wxLANGUAGE_ENGLISH_ANTIGUA_AND_BARBUDA, "en-AG" , "en_AG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Antigua and Barbuda)","English (Antigua & Barbuda)" }, - { wxLANGUAGE_ENGLISH_AUSTRALIA, "en-AU" , "en_AU" , "" , 0x09, 0x03, wxLayout_LeftToRight, "English (Australia)","English (Australia)" }, - { wxLANGUAGE_ENGLISH_AUSTRIA, "en-AT" , "en_AT" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Austria)","English (Austria)" }, - { wxLANGUAGE_ENGLISH_BAHAMAS, "en-BS" , "en_BS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Bahamas)","English (Bahamas)" }, - { wxLANGUAGE_ENGLISH_BARBADOS, "en-BB" , "en_BB" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Barbados)","English (Barbados)" }, - { wxLANGUAGE_ENGLISH_BELGIUM, "en-BE" , "en_BE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Belgium)","English (Belgium)" }, - { wxLANGUAGE_ENGLISH_BELIZE, "en-BZ" , "en_BZ" , "" , 0x09, 0x0a, wxLayout_LeftToRight, "English (Belize)","English (Belize)" }, - { wxLANGUAGE_ENGLISH_BERMUDA, "en-BM" , "en_BM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Bermuda)","English (Bermuda)" }, - { wxLANGUAGE_ENGLISH_BOTSWANA, "en-BW" , "en_BW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Botswana)","English (Botswana)" }, - { wxLANGUAGE_ENGLISH_BRITISH_INDIAN_OCEAN_TERRITORY, "en-IO" , "en_IO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (British Indian Ocean Territory)","English (British Indian Ocean Territory)" }, - { wxLANGUAGE_ENGLISH_BRITISH_VIRGIN_ISLANDS, "en-VG" , "en_VG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (British Virgin Islands)","English (British Virgin Islands)" }, - { wxLANGUAGE_ENGLISH_BURUNDI, "en-BI" , "en_BI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Burundi)","English (Burundi)" }, - { wxLANGUAGE_ENGLISH_CAMEROON, "en-CM" , "en_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Cameroon)","English (Cameroon)" }, - { wxLANGUAGE_ENGLISH_CANADA, "en-CA" , "en_CA" , "" , 0x09, 0x04, wxLayout_LeftToRight, "English (Canada)","English (Canada)" }, - { wxLANGUAGE_ENGLISH_CARIBBEAN, "en-029" , "en_029" , "en_CB" , 0x09, 0x09, wxLayout_LeftToRight, "English (Caribbean)","English (Caribbean)" }, - { wxLANGUAGE_ENGLISH_CARIBBEAN_CB, "en-CB" , "en_CB" , "" , 0x09, 0x09, wxLayout_LeftToRight, "English (Caribbean)","English (Caribbean)" }, - { wxLANGUAGE_ENGLISH_CAYMAN_ISLANDS, "en-KY" , "en_KY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Cayman Islands)","English (Cayman Islands)" }, - { wxLANGUAGE_ENGLISH_CHRISTMAS_ISLAND, "en-CX" , "en_CX" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Christmas Island)","English (Christmas Island)" }, - { wxLANGUAGE_ENGLISH_COCOS_KEELING_ISLANDS, "en-CC" , "en_CC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Cocos (Keeling) Islands)","English (Cocos (Keeling) Islands)" }, - { wxLANGUAGE_ENGLISH_COOK_ISLANDS, "en-CK" , "en_CK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Cook Islands)","English (Cook Islands)" }, - { wxLANGUAGE_ENGLISH_CYPRUS, "en-CY" , "en_CY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Cyprus)","English (Cyprus)" }, - { wxLANGUAGE_ENGLISH_DENMARK, "en-DK" , "en_DK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Denmark)","English (Denmark)" }, - { wxLANGUAGE_ENGLISH_DOMINICA, "en-DM" , "en_DM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Dominica)","English (Dominica)" }, - { wxLANGUAGE_ENGLISH_EIRE, "en-IE" , "en_IE" , "" , 0x09, 0x06, wxLayout_LeftToRight, "English (Ireland)","English (Ireland)" }, - { wxLANGUAGE_ENGLISH_ERITREA, "en-ER" , "en_ER" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Eritrea)","English (Eritrea)" }, - { wxLANGUAGE_ENGLISH_ESWATINI, "en-SZ" , "en_SZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Eswatini)","English (Eswatini)" }, - { wxLANGUAGE_ENGLISH_EUROPE, "en-150" , "en_150" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Europe)","English (Europe)" }, - { wxLANGUAGE_ENGLISH_FALKLAND_ISLANDS, "en-FK" , "en_FK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Falkland Islands)","English (Falkland Islands)" }, - { wxLANGUAGE_ENGLISH_FIJI, "en-FJ" , "en_FJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Fiji)","English (Fiji)" }, - { wxLANGUAGE_ENGLISH_FINLAND, "en-FI" , "en_FI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Finland)","English (Finland)" }, - { wxLANGUAGE_ENGLISH_GAMBIA, "en-GM" , "en_GM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Gambia)","English (Gambia)" }, - { wxLANGUAGE_ENGLISH_GERMANY, "en-DE" , "en_DE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Germany)","English (Germany)" }, - { wxLANGUAGE_ENGLISH_GHANA, "en-GH" , "en_GH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Ghana)","English (Ghana)" }, - { wxLANGUAGE_ENGLISH_GIBRALTAR, "en-GI" , "en_GI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Gibraltar)","English (Gibraltar)" }, - { wxLANGUAGE_ENGLISH_GRENADA, "en-GD" , "en_GD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Grenada)","English (Grenada)" }, - { wxLANGUAGE_ENGLISH_GUAM, "en-GU" , "en_GU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Guam)","English (Guam)" }, - { wxLANGUAGE_ENGLISH_GUERNSEY, "en-GG" , "en_GG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Guernsey)","English (Guernsey)" }, - { wxLANGUAGE_ENGLISH_GUYANA, "en-GY" , "en_GY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Guyana)","English (Guyana)" }, - { wxLANGUAGE_ENGLISH_HONG_KONG_SAR, "en-HK" , "en_HK" , "" , 0x09, 0x0f, wxLayout_LeftToRight, "English (Hong Kong SAR)","English (Hong Kong SAR)" }, - { wxLANGUAGE_ENGLISH_INDIA, "en-IN" , "en_IN" , "" , 0x09, 0x10, wxLayout_LeftToRight, "English (India)","English (India)" }, - { wxLANGUAGE_ENGLISH_INDONESIA, "en-ID" , "en_ID" , "" , 0x09, 0x0e, wxLayout_LeftToRight, "English (Indonesia)","English (Indonesia)" }, - { wxLANGUAGE_ENGLISH_ISLE_OF_MAN, "en-IM" , "en_IM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Isle of Man)","English (Isle of Man)" }, - { wxLANGUAGE_ENGLISH_ISRAEL, "en-IL" , "en_IL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Israel)","English (Israel)" }, - { wxLANGUAGE_ENGLISH_JAMAICA, "en-JM" , "en_JM" , "" , 0x09, 0x08, wxLayout_LeftToRight, "English (Jamaica)","English (Jamaica)" }, - { wxLANGUAGE_ENGLISH_JERSEY, "en-JE" , "en_JE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Jersey)","English (Jersey)" }, - { wxLANGUAGE_ENGLISH_KENYA, "en-KE" , "en_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Kenya)","English (Kenya)" }, - { wxLANGUAGE_ENGLISH_KIRIBATI, "en-KI" , "en_KI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Kiribati)","English (Kiribati)" }, - { wxLANGUAGE_ENGLISH_LESOTHO, "en-LS" , "en_LS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Lesotho)","English (Lesotho)" }, - { wxLANGUAGE_ENGLISH_LIBERIA, "en-LR" , "en_LR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Liberia)","English (Liberia)" }, - { wxLANGUAGE_ENGLISH_MACAO_SAR, "en-MO" , "en_MO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Macao SAR)","English (Macao SAR)" }, - { wxLANGUAGE_ENGLISH_MADAGASCAR, "en-MG" , "en_MG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Madagascar)","English (Madagascar)" }, - { wxLANGUAGE_ENGLISH_MALAWI, "en-MW" , "en_MW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Malawi)","English (Malawi)" }, - { wxLANGUAGE_ENGLISH_MALAYSIA, "en-MY" , "en_MY" , "" , 0x09, 0x11, wxLayout_LeftToRight, "English (Malaysia)","English (Malaysia)" }, - { wxLANGUAGE_ENGLISH_MALTA, "en-MT" , "en_MT" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Malta)","English (Malta)" }, - { wxLANGUAGE_ENGLISH_MARSHALL_ISLANDS, "en-MH" , "en_MH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Marshall Islands)","English (Marshall Islands)" }, - { wxLANGUAGE_ENGLISH_MAURITIUS, "en-MU" , "en_MU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Mauritius)","English (Mauritius)" }, - { wxLANGUAGE_ENGLISH_MICRONESIA, "en-FM" , "en_FM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Micronesia)","English (Micronesia)" }, - { wxLANGUAGE_ENGLISH_MONTSERRAT, "en-MS" , "en_MS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Montserrat)","English (Montserrat)" }, - { wxLANGUAGE_ENGLISH_NAMIBIA, "en-NA" , "en_NA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Namibia)","English (Namibia)" }, - { wxLANGUAGE_ENGLISH_NAURU, "en-NR" , "en_NR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Nauru)","English (Nauru)" }, - { wxLANGUAGE_ENGLISH_NETHERLANDS, "en-NL" , "en_NL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Netherlands)","English (Netherlands)" }, - { wxLANGUAGE_ENGLISH_NEW_ZEALAND, "en-NZ" , "en_NZ" , "" , 0x09, 0x05, wxLayout_LeftToRight, "English (New Zealand)","English (New Zealand)" }, - { wxLANGUAGE_ENGLISH_NIGERIA, "en-NG" , "en_NG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Nigeria)","English (Nigeria)" }, - { wxLANGUAGE_ENGLISH_NIUE, "en-NU" , "en_NU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Niue)","English (Niue)" }, - { wxLANGUAGE_ENGLISH_NORFOLK_ISLAND, "en-NF" , "en_NF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Norfolk Island)","English (Norfolk Island)" }, - { wxLANGUAGE_ENGLISH_NORTHERN_MARIANA_ISLANDS, "en-MP" , "en_MP" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Northern Mariana Islands)","English (Northern Mariana Islands)" }, - { wxLANGUAGE_ENGLISH_PAKISTAN, "en-PK" , "en_PK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Pakistan)","English (Pakistan)" }, - { wxLANGUAGE_ENGLISH_PALAU, "en-PW" , "en_PW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Palau)","English (Palau)" }, - { wxLANGUAGE_ENGLISH_PAPUA_NEW_GUINEA, "en-PG" , "en_PG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Papua New Guinea)","English (Papua New Guinea)" }, - { wxLANGUAGE_ENGLISH_PHILIPPINES, "en-PH" , "en_PH" , "" , 0x09, 0x0d, wxLayout_LeftToRight, "English (Philippines)","English (Philippines)" }, - { wxLANGUAGE_ENGLISH_PITCAIRN_ISLANDS, "en-PN" , "en_PN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Pitcairn Islands)","English (Pitcairn Islands)" }, - { wxLANGUAGE_ENGLISH_PUERTO_RICO, "en-PR" , "en_PR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Puerto Rico)","English (Puerto Rico)" }, - { wxLANGUAGE_ENGLISH_RWANDA, "en-RW" , "en_RW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Rwanda)","English (Rwanda)" }, - { wxLANGUAGE_ENGLISH_SAMOA, "en-WS" , "en_WS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Samoa)","English (Samoa)" }, - { wxLANGUAGE_ENGLISH_SEYCHELLES, "en-SC" , "en_SC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Seychelles)","English (Seychelles)" }, - { wxLANGUAGE_ENGLISH_SIERRA_LEONE, "en-SL" , "en_SL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Sierra Leone)","English (Sierra Leone)" }, - { wxLANGUAGE_ENGLISH_SINGAPORE, "en-SG" , "en_SG" , "" , 0x09, 0x12, wxLayout_LeftToRight, "English (Singapore)","English (Singapore)" }, - { wxLANGUAGE_ENGLISH_SINT_MAARTEN, "en-SX" , "en_SX" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Sint Maarten)","English (Sint Maarten)" }, - { wxLANGUAGE_ENGLISH_SLOVENIA, "en-SI" , "en_SI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Slovenia)","English (Slovenia)" }, - { wxLANGUAGE_ENGLISH_SOLOMON_ISLANDS, "en-SB" , "en_SB" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Solomon Islands)","English (Solomon Islands)" }, - { wxLANGUAGE_ENGLISH_SOUTH_AFRICA, "en-ZA" , "en_ZA" , "" , 0x09, 0x07, wxLayout_LeftToRight, "English (South Africa)","English (South Africa)" }, - { wxLANGUAGE_ENGLISH_SOUTH_SUDAN, "en-SS" , "en_SS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (South Sudan)","English (South Sudan)" }, - { wxLANGUAGE_ENGLISH_ST_HELENA_ASCENSION_TRISTAN_DA_CUNHA, "en-SH" , "en_SH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (St Helena, Ascension, Tristan da Cunha)","English (St Helena, Ascension, Tristan da Cunha)" }, - { wxLANGUAGE_ENGLISH_ST_KITTS_AND_NEVIS, "en-KN" , "en_KN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (St. Kitts and Nevis)","English (St. Kitts & Nevis)" }, - { wxLANGUAGE_ENGLISH_ST_LUCIA, "en-LC" , "en_LC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (St. Lucia)","English (St. Lucia)" }, - { wxLANGUAGE_ENGLISH_ST_VINCENT_AND_GRENADINES, "en-VC" , "en_VC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (St. Vincent and Grenadines)","English (St. Vincent & Grenadines)" }, - { wxLANGUAGE_ENGLISH_SUDAN, "en-SD" , "en_SD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Sudan)","English (Sudan)" }, - { wxLANGUAGE_ENGLISH_SWEDEN, "en-SE" , "en_SE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Sweden)","English (Sweden)" }, - { wxLANGUAGE_ENGLISH_SWITZERLAND, "en-CH" , "en_CH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Switzerland)","English (Switzerland)" }, - { wxLANGUAGE_ENGLISH_TANZANIA, "en-TZ" , "en_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Tanzania)","English (Tanzania)" }, - { wxLANGUAGE_ENGLISH_TOKELAU, "en-TK" , "en_TK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Tokelau)","English (Tokelau)" }, - { wxLANGUAGE_ENGLISH_TONGA, "en-TO" , "en_TO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Tonga)","English (Tonga)" }, - { wxLANGUAGE_ENGLISH_TRINIDAD, "en-TT" , "en_TT" , "" , 0x09, 0x0b, wxLayout_LeftToRight, "English (Trinidad and Tobago)","English (Trinidad & Tobago)" }, - { wxLANGUAGE_ENGLISH_TURKS_AND_CAICOS_ISLANDS, "en-TC" , "en_TC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Turks and Caicos Islands)","English (Turks & Caicos Islands)" }, - { wxLANGUAGE_ENGLISH_TUVALU, "en-TV" , "en_TV" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Tuvalu)","English (Tuvalu)" }, - { wxLANGUAGE_ENGLISH_UGANDA, "en-UG" , "en_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Uganda)","English (Uganda)" }, - { wxLANGUAGE_ENGLISH_UK, "en-GB" , "en_GB" , "" , 0x09, 0x02, wxLayout_LeftToRight, "English (United Kingdom)","English (United Kingdom)" }, - { wxLANGUAGE_ENGLISH_UNITED_ARAB_EMIRATES, "en-AE" , "en_AE" , "" , 0x09, 0x13, wxLayout_LeftToRight, "English (United Arab Emirates)","English (United Arab Emirates)" }, - { wxLANGUAGE_ENGLISH_US, "en-US" , "en_US" , "" , 0x09, 0x01, wxLayout_LeftToRight, "English (United States)","English (United States)" }, - { wxLANGUAGE_ENGLISH_US_OUTLYING_ISLANDS, "en-UM" , "en_UM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (U.S. Outlying Islands)","English (U.S. Outlying Islands)" }, - { wxLANGUAGE_ENGLISH_US_VIRGIN_ISLANDS, "en-VI" , "en_VI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (U.S. Virgin Islands)","English (U.S. Virgin Islands)" }, - { wxLANGUAGE_ENGLISH_VANUATU, "en-VU" , "en_VU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Vanuatu)","English (Vanuatu)" }, - { wxLANGUAGE_ENGLISH_WORLD, "en-001" , "en_001" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (World)","English (World)" }, - { wxLANGUAGE_ENGLISH_ZAMBIA, "en-ZM" , "en_ZM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "English (Zambia)","English (Zambia)" }, - { wxLANGUAGE_ENGLISH_ZIMBABWE, "en-ZW" , "en_ZW" , "" , 0x09, 0x0c, wxLayout_LeftToRight, "English (Zimbabwe)","English (Zimbabwe)" }, - { wxLANGUAGE_ESPERANTO, "eo" , "eo" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Esperanto","esperanto" }, - { wxLANGUAGE_ESPERANTO_WORLD, "eo-001" , "eo_001" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Esperanto (World)","esperanto (Mondo)" }, - { wxLANGUAGE_ESTONIAN, "et" , "et" , "et_EE" , 0x25, 0x01, wxLayout_LeftToRight, "Estonian","eesti" }, - { wxLANGUAGE_ESTONIAN_ESTONIA, "et-EE" , "et_EE" , "" , 0x25, 0x01, wxLayout_LeftToRight, "Estonian (Estonia)","eesti (Eesti)" }, - { wxLANGUAGE_EWE, "ee" , "ee" , "ee_GH" , 0x00, 0x04, wxLayout_LeftToRight, "Ewe","E\312\213egbe" }, - { wxLANGUAGE_EWE_GHANA, "ee-GH" , "ee_GH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ewe (Ghana)","E\312\213egbe (Ghana nutome)" }, - { wxLANGUAGE_EWE_TOGO, "ee-TG" , "ee_TG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ewe (Togo)","E\312\213egbe (Togo nutome)" }, - { wxLANGUAGE_EWONDO, "ewo" , "ewo" , "ewo_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Ewondo","ewondo" }, - { wxLANGUAGE_EWONDO_CAMEROON, "ewo-CM" , "ewo_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ewondo (Cameroon)","ewondo (Kam\311\231r\303\272n)" }, - { wxLANGUAGE_FAEROESE, "fo" , "fo" , "fo_FO" , 0x38, 0x01, wxLayout_LeftToRight, "Faroese","f\303\270royskt" }, - { wxLANGUAGE_FAEROESE_DENMARK, "fo-DK" , "fo_DK" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Faroese (Denmark)","f\303\270royskt (Danmark)" }, - { wxLANGUAGE_FAEROESE_FAROE_ISLANDS, "fo-FO" , "fo_FO" , "" , 0x38, 0x01, wxLayout_LeftToRight, "Faroese (Faroe Islands)","f\303\270royskt (F\303\270royar)" }, - { wxLANGUAGE_FIJI, "fj" , "fj" , "" , 0 , 0 , wxLayout_LeftToRight, "Fiji","Na Vosa Vakaviti" }, - { wxLANGUAGE_FILIPINO, "fil" , "fil" , "fil_PH" , 0x64, 0x01, wxLayout_LeftToRight, "Filipino","Filipino" }, - { wxLANGUAGE_FILIPINO_PHILIPPINES, "fil-PH" , "fil_PH" , "" , 0x64, 0x01, wxLayout_LeftToRight, "Filipino (Philippines)","Filipino (Pilipinas)" }, - { wxLANGUAGE_FINNISH, "fi" , "fi" , "fi_FI" , 0x0b, 0x01, wxLayout_LeftToRight, "Finnish","suomi" }, - { wxLANGUAGE_FINNISH_FINLAND, "fi-FI" , "fi_FI" , "" , 0x0b, 0x01, wxLayout_LeftToRight, "Finnish (Finland)","suomi (Suomi)" }, - { wxLANGUAGE_FRENCH, "fr" , "fr" , "fr_FR" , 0x0c, 0x01, wxLayout_LeftToRight, "French","fran\303\247ais" }, - { wxLANGUAGE_FRENCH_ALGERIA, "fr-DZ" , "fr_DZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Algeria)","fran\303\247ais (Alg\303\251rie)" }, - { wxLANGUAGE_FRENCH_BELGIAN, "fr-BE" , "fr_BE" , "" , 0x0c, 0x02, wxLayout_LeftToRight, "French (Belgium)","fran\303\247ais (Belgique)" }, - { wxLANGUAGE_FRENCH_BENIN, "fr-BJ" , "fr_BJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Benin)","fran\303\247ais (B\303\251nin)" }, - { wxLANGUAGE_FRENCH_BURKINA_FASO, "fr-BF" , "fr_BF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Burkina Faso)","fran\303\247ais (Burkina Faso)" }, - { wxLANGUAGE_FRENCH_BURUNDI, "fr-BI" , "fr_BI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Burundi)","fran\303\247ais (Burundi)" }, - { wxLANGUAGE_FRENCH_CAMEROON, "fr-CM" , "fr_CM" , "" , 0x0c, 0x0b, wxLayout_LeftToRight, "French (Cameroon)","fran\303\247ais (Cameroun)" }, - { wxLANGUAGE_FRENCH_CANADIAN, "fr-CA" , "fr_CA" , "" , 0x0c, 0x03, wxLayout_LeftToRight, "French (Canada)","fran\303\247ais (Canada)" }, - { wxLANGUAGE_FRENCH_CARIBBEAN, "fr-029" , "fr_029" , "" , 0x0c, 0x07, wxLayout_LeftToRight, "French (Caribbean)","fran\303\247ais (Cara\303\257bes)" }, - { wxLANGUAGE_FRENCH_CENTRAL_AFRICAN_REPUBLIC, "fr-CF" , "fr_CF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Central African Republic)","fran\303\247ais (R\303\251publique centrafricaine)" }, - { wxLANGUAGE_FRENCH_CHAD, "fr-TD" , "fr_TD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Chad)","fran\303\247ais (Tchad)" }, - { wxLANGUAGE_FRENCH_COMOROS, "fr-KM" , "fr_KM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Comoros)","fran\303\247ais (Comores)" }, - { wxLANGUAGE_FRENCH_CONGO, "fr-CG" , "fr_CG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Congo)","fran\303\247ais (Congo)" }, - { wxLANGUAGE_FRENCH_CONGO_DRC, "fr-CD" , "fr_CD" , "" , 0x0c, 0x09, wxLayout_LeftToRight, "French Congo (DRC)","fran\303\247ais (Congo, R\303\251publique d\303\251mocratique du)" }, - { wxLANGUAGE_FRENCH_COTE_DIVOIRE, "fr-CI" , "fr_CI" , "" , 0x0c, 0x0c, wxLayout_LeftToRight, "French (C\303\264te d\342\200\231Ivoire)","fran\303\247ais (C\303\264te d\342\200\231Ivoire)" }, - { wxLANGUAGE_FRENCH_DJIBOUTI, "fr-DJ" , "fr_DJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Djibouti)","fran\303\247ais (Djibouti)" }, - { wxLANGUAGE_FRENCH_EQUATORIAL_GUINEA, "fr-GQ" , "fr_GQ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Equatorial Guinea)","fran\303\247ais (Guin\303\251e \303\251quatoriale)" }, - { wxLANGUAGE_FRENCH_FRANCE, "fr-FR" , "fr_FR" , "" , 0x0c, 0x01, wxLayout_LeftToRight, "French (France)","fran\303\247ais (France)" }, - { wxLANGUAGE_FRENCH_FRENCH_GUIANA, "fr-GF" , "fr_GF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (French Guiana)","fran\303\247ais (Guyane fran\303\247aise)" }, - { wxLANGUAGE_FRENCH_FRENCH_POLYNESIA, "fr-PF" , "fr_PF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (French Polynesia)","fran\303\247ais (Polyn\303\251sie fran\303\247aise)" }, - { wxLANGUAGE_FRENCH_GABON, "fr-GA" , "fr_GA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Gabon)","fran\303\247ais (Gabon)" }, - { wxLANGUAGE_FRENCH_GUADELOUPE, "fr-GP" , "fr_GP" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Guadeloupe)","fran\303\247ais (Guadeloupe)" }, - { wxLANGUAGE_FRENCH_GUINEA, "fr-GN" , "fr_GN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Guinea)","fran\303\247ais (Guin\303\251e)" }, - { wxLANGUAGE_FRENCH_HAITI, "fr-HT" , "fr_HT" , "" , 0x0c, 0x0f, wxLayout_LeftToRight, "French (Haiti)","fran\303\247ais (Ha\303\257ti)" }, - { wxLANGUAGE_FRENCH_LUXEMBOURG, "fr-LU" , "fr_LU" , "" , 0x0c, 0x05, wxLayout_LeftToRight, "French (Luxembourg)","fran\303\247ais (Luxembourg)" }, - { wxLANGUAGE_FRENCH_MADAGASCAR, "fr-MG" , "fr_MG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Madagascar)","fran\303\247ais (Madagascar)" }, - { wxLANGUAGE_FRENCH_MALI, "fr-ML" , "fr_ML" , "" , 0x0c, 0x0d, wxLayout_LeftToRight, "French (Mali)","fran\303\247ais (Mali)" }, - { wxLANGUAGE_FRENCH_MARTINIQUE, "fr-MQ" , "fr_MQ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Martinique)","fran\303\247ais (Martinique)" }, - { wxLANGUAGE_FRENCH_MAURITANIA, "fr-MR" , "fr_MR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Mauritania)","fran\303\247ais (Mauritanie)" }, - { wxLANGUAGE_FRENCH_MAURITIUS, "fr-MU" , "fr_MU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Mauritius)","fran\303\247ais (Maurice)" }, - { wxLANGUAGE_FRENCH_MAYOTTE, "fr-YT" , "fr_YT" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Mayotte)","fran\303\247ais (Mayotte)" }, - { wxLANGUAGE_FRENCH_MONACO, "fr-MC" , "fr_MC" , "" , 0x0c, 0x06, wxLayout_LeftToRight, "French (Monaco)","fran\303\247ais (Monaco)" }, - { wxLANGUAGE_FRENCH_MOROCCO, "fr-MA" , "fr_MA" , "" , 0x0c, 0x0e, wxLayout_LeftToRight, "French (Morocco)","fran\303\247ais (Maroc)" }, - { wxLANGUAGE_FRENCH_NEW_CALEDONIA, "fr-NC" , "fr_NC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (New Caledonia)","fran\303\247ais (Nouvelle-Cal\303\251donie)" }, - { wxLANGUAGE_FRENCH_NIGER, "fr-NE" , "fr_NE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Niger)","fran\303\247ais (Niger)" }, - { wxLANGUAGE_FRENCH_REUNION, "fr-RE" , "fr_RE" , "" , 0x0c, 0x08, wxLayout_LeftToRight, "French (R\303\251union)","fran\303\247ais (La R\303\251union)" }, - { wxLANGUAGE_FRENCH_RWANDA, "fr-RW" , "fr_RW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Rwanda)","fran\303\247ais (Rwanda)" }, - { wxLANGUAGE_FRENCH_SENEGAL, "fr-SN" , "fr_SN" , "" , 0x0c, 0x0a, wxLayout_LeftToRight, "French (Senegal)","fran\303\247ais (S\303\251n\303\251gal)" }, - { wxLANGUAGE_FRENCH_SEYCHELLES, "fr-SC" , "fr_SC" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Seychelles)","fran\303\247ais (Seychelles)" }, - { wxLANGUAGE_FRENCH_ST_BARTHELEMY, "fr-BL" , "fr_BL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (St. Barth\303\251lemy)","fran\303\247ais (Saint-Barth\303\251lemy)" }, - { wxLANGUAGE_FRENCH_ST_MARTIN, "fr-MF" , "fr_MF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (St. Martin)","fran\303\247ais (Saint-Martin)" }, - { wxLANGUAGE_FRENCH_ST_PIERRE_AND_MIQUELON, "fr-PM" , "fr_PM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (St. Pierre and Miquelon)","fran\303\247ais (Saint-Pierre-et-Miquelon)" }, - { wxLANGUAGE_FRENCH_SWISS, "fr-CH" , "fr_CH" , "" , 0x0c, 0x04, wxLayout_LeftToRight, "French (Switzerland)","fran\303\247ais (Suisse)" }, - { wxLANGUAGE_FRENCH_SYRIA, "fr-SY" , "fr_SY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Syria)","fran\303\247ais (Syrie)" }, - { wxLANGUAGE_FRENCH_TOGO, "fr-TG" , "fr_TG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Togo)","fran\303\247ais (Togo)" }, - { wxLANGUAGE_FRENCH_TUNISIA, "fr-TN" , "fr_TN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Tunisia)","fran\303\247ais (Tunisie)" }, - { wxLANGUAGE_FRENCH_VANUATU, "fr-VU" , "fr_VU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Vanuatu)","fran\303\247ais (Vanuatu)" }, - { wxLANGUAGE_FRENCH_WALLIS_AND_FUTUNA, "fr-WF" , "fr_WF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "French (Wallis and Futuna)","fran\303\247ais (Wallis-et-Futuna)" }, - { wxLANGUAGE_FRISIAN, "fy" , "fy" , "fy_NL" , 0x62, 0x01, wxLayout_LeftToRight, "Western Frisian","Frysk" }, - { wxLANGUAGE_FRISIAN_NETHERLANDS, "fy-NL" , "fy_NL" , "" , 0x62, 0x01, wxLayout_LeftToRight, "Western Frisian (Netherlands)","Frysk (Nederl\303\242n)" }, - { wxLANGUAGE_FRIULIAN, "fur" , "fur" , "fur_IT" , 0x00, 0x04, wxLayout_LeftToRight, "Friulian","furlan" }, - { wxLANGUAGE_FRIULIAN_ITALY, "fur-IT" , "fur_IT" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Friulian (Italy)","furlan (Italie)" }, - { wxLANGUAGE_FULAH, "ff" , "ff" , "" , 0x67, 0x02, wxLayout_LeftToRight, "Fulah (Latin)","Pulaar" }, - { wxLANGUAGE_FULAH_ADLAM, "ff-Adlm" , "ff@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\200\360\236\244\201\360\236\244\202\360\236\244\242\360\236\244\203)" }, - { wxLANGUAGE_FULAH_ADLAM_BURKINA_FASO, "ff-Adlm-BF" , "ff_BF@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Burkina Faso)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\204\360\236\244\265\360\236\244\252\360\236\244\263\360\236\244\255\360\236\244\262\360\236\244\242 \360\236\244\212\360\236\244\242\360\236\244\247\360\236\244\256\360\236\245\205)" }, - { wxLANGUAGE_FULAH_ADLAM_CAMEROON, "ff-Adlm-CM" , "ff_CM@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Cameroon)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\221\360\236\244\242\360\236\244\245\360\236\244\242\360\236\244\252\360\236\244\265\360\236\245\205\360\236\244\262)" }, - { wxLANGUAGE_FULAH_ADLAM_GAMBIA, "ff-Adlm-GM" , "ff_GM@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Gambia)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\230\360\236\244\242\360\236\244\245\360\236\244\246\360\236\244\255\360\236\244\264\360\236\244\242)" }, - { wxLANGUAGE_FULAH_ADLAM_GHANA, "ff-Adlm-GH" , "ff_GH@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Ghana)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\230\360\236\244\242\360\236\244\262\360\236\244\242)" }, - { wxLANGUAGE_FULAH_ADLAM_GUINEA, "ff-Adlm-GN" , "ff_GN@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Guinea)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\230\360\236\244\255\360\236\244\262\360\236\244\253)" }, - { wxLANGUAGE_FULAH_ADLAM_GUINEA_BISSAU, "ff-Adlm-GW" , "ff_GW@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Guinea-Bissau)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\230\360\236\244\255\360\236\244\262\360\236\244\253-\360\236\244\204\360\236\244\255\360\236\244\247\360\236\244\242\360\236\244\261\360\236\244\256\360\236\245\205)" }, - { wxLANGUAGE_FULAH_ADLAM_LIBERIA, "ff-Adlm-LR" , "ff_LR@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Liberia)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\202\360\236\244\242\360\236\244\246\360\236\244\255\360\236\244\252\360\236\244\255\360\236\244\264\360\236\244\242\360\236\245\204)" }, - { wxLANGUAGE_FULAH_ADLAM_MAURITANIA, "ff-Adlm-MR" , "ff_MR@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Mauritania)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\203\360\236\244\256\360\236\244\252\360\236\244\274\360\236\244\242\360\236\244\262\360\236\244\255\360\236\245\205)" }, - { wxLANGUAGE_FULAH_ADLAM_NIGER, "ff-Adlm-NE" , "ff_NE@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Niger)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\220\360\236\244\255\360\236\245\205\360\236\244\266\360\236\244\253\360\236\244\252)" }, - { wxLANGUAGE_FULAH_ADLAM_NIGERIA, "ff-Adlm-NG" , "ff_NG@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Nigeria)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\220\360\236\244\242\360\236\244\266\360\236\244\253\360\236\244\252\360\236\244\255\360\236\244\264\360\236\244\242\360\236\245\204)" }, - { wxLANGUAGE_FULAH_ADLAM_SENEGAL, "ff-Adlm-SN" , "ff_SN@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Senegal)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\205\360\236\244\253\360\236\244\262\360\236\244\253\360\236\244\272\360\236\244\242\360\236\245\204\360\236\244\244)" }, - { wxLANGUAGE_FULAH_ADLAM_SIERRA_LEONE, "ff-Adlm-SL" , "ff_SL@adlam" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Adlam, Sierra Leone)","\360\236\244\206\360\236\244\265\360\236\244\244\360\236\244\242\360\236\244\252 (\360\236\244\205\360\236\244\242\360\236\244\252\360\236\244\242\360\236\244\244\360\236\244\256\360\236\244\262)" }, - { wxLANGUAGE_FULAH_LATIN, "ff-Latn" , "ff@latin" , "" , 0x67, 0x02, wxLayout_LeftToRight, "Fulah (Latin)","Pulaar" }, - { wxLANGUAGE_FULAH_LATIN_BURKINA_FASO, "ff-Latn-BF" , "ff_BF@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Burkina Faso)","Pulaar (Burkibaa Faaso)" }, - { wxLANGUAGE_FULAH_LATIN_CAMEROON, "ff-Latn-CM" , "ff_CM@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Cameroon)","Pulaar (Kameruun)" }, - { wxLANGUAGE_FULAH_LATIN_GAMBIA, "ff-Latn-GM" , "ff_GM@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Gambia)","Pulaar (Gammbi)" }, - { wxLANGUAGE_FULAH_LATIN_GHANA, "ff-Latn-GH" , "ff_GH@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Ghana)","Pulaar (Ganaa)" }, - { wxLANGUAGE_FULAH_LATIN_GUINEA, "ff-Latn-GN" , "ff_GN@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Guinea)","Pulaar (Gine)" }, - { wxLANGUAGE_FULAH_LATIN_GUINEA_BISSAU, "ff-Latn-GW" , "ff_GW@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Guinea-Bissau)","Pulaar (Gine-Bisaawo)" }, - { wxLANGUAGE_FULAH_LATIN_LIBERIA, "ff-Latn-LR" , "ff_LR@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Liberia)","Pulaar (Liberiyaa)" }, - { wxLANGUAGE_FULAH_LATIN_MAURITANIA, "ff-Latn-MR" , "ff_MR@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Mauritania)","Pulaar (Muritani)" }, - { wxLANGUAGE_FULAH_LATIN_NIGER, "ff-Latn-NE" , "ff_NE@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Niger)","Pulaar (Nijeer)" }, - { wxLANGUAGE_FULAH_LATIN_NIGERIA, "ff-Latn-NG" , "ff_NG@latin" , "" , 0x67, 0x01, wxLayout_LeftToRight, "Fulah (Latin, Nigeria)","Pulaar (Nijeriyaa)" }, - { wxLANGUAGE_FULAH_LATIN_SENEGAL, "ff-Latn-SN" , "ff_SN@latin" , "" , 0x67, 0x02, wxLayout_LeftToRight, "Fulah (Latin, Senegal)","Pulaar (Senegaal)" }, - { wxLANGUAGE_FULAH_LATIN_SIERRA_LEONE, "ff-Latn-SL" , "ff_SL@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Fulah (Latin, Sierra Leone)","Pulaar (Seraa liyon)" }, - { wxLANGUAGE_GALICIAN, "gl" , "gl" , "gl_ES" , 0x56, 0x01, wxLayout_LeftToRight, "Galician","galego" }, - { wxLANGUAGE_GALICIAN_SPAIN, "gl-ES" , "gl_ES" , "" , 0x56, 0x01, wxLayout_LeftToRight, "Galician (Galician)","galego (galego)" }, - { wxLANGUAGE_GANDA, "lg" , "lg" , "lg_UG" , 0x00, 0x04, wxLayout_LeftToRight, "Ganda","Luganda" }, - { wxLANGUAGE_GANDA_UGANDA, "lg-UG" , "lg_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ganda (Uganda)","Luganda (Yuganda)" }, - { wxLANGUAGE_GEORGIAN, "ka" , "ka" , "ka_GE" , 0x37, 0x01, wxLayout_LeftToRight, "Georgian","\341\203\245\341\203\220\341\203\240\341\203\227\341\203\243\341\203\232\341\203\230" }, - { wxLANGUAGE_GEORGIAN_GEORGIA, "ka-GE" , "ka_GE" , "" , 0x37, 0x01, wxLayout_LeftToRight, "Georgian (Georgia)","\341\203\245\341\203\220\341\203\240\341\203\227\341\203\243\341\203\232\341\203\230 (\341\203\241\341\203\220\341\203\245\341\203\220\341\203\240\341\203\227\341\203\225\341\203\224\341\203\232\341\203\235)" }, - { wxLANGUAGE_GERMAN, "de" , "de" , "de_DE" , 0x07, 0x01, wxLayout_LeftToRight, "German","Deutsch" }, - { wxLANGUAGE_GERMAN_AUSTRIAN, "de-AT" , "de_AT" , "" , 0x07, 0x03, wxLayout_LeftToRight, "German (Austria)","Deutsch (\303\226sterreich)" }, - { wxLANGUAGE_GERMAN_BELGIUM, "de-BE" , "de_BE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "German (Belgium)","Deutsch (Belgien)" }, - { wxLANGUAGE_GERMAN_GERMANY, "de-DE" , "de_DE" , "" , 0x07, 0x01, wxLayout_LeftToRight, "German (Germany)","Deutsch (Deutschland)" }, - { wxLANGUAGE_GERMAN_ITALY, "de-IT" , "de_IT" , "" , 0x00, 0x04, wxLayout_LeftToRight, "German (Italy)","Deutsch (Italien)" }, - { wxLANGUAGE_GERMAN_LIECHTENSTEIN, "de-LI" , "de_LI" , "" , 0x07, 0x05, wxLayout_LeftToRight, "German (Liechtenstein)","Deutsch (Liechtenstein)" }, - { wxLANGUAGE_GERMAN_LUXEMBOURG, "de-LU" , "de_LU" , "" , 0x07, 0x04, wxLayout_LeftToRight, "German (Luxembourg)","Deutsch (Luxemburg)" }, - { wxLANGUAGE_GERMAN_SWISS, "de-CH" , "de_CH" , "" , 0x07, 0x02, wxLayout_LeftToRight, "German (Switzerland)","Deutsch (Schweiz)" }, - { wxLANGUAGE_GREEK, "el" , "el" , "el_GR" , 0x08, 0x01, wxLayout_LeftToRight, "Greek","\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254" }, - { wxLANGUAGE_GREEK_CYPRUS, "el-CY" , "el_CY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Greek (Cyprus)","\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254 (\316\232\317\215\317\200\317\201\316\277\317\202)" }, - { wxLANGUAGE_GREEK_GREECE, "el-GR" , "el_GR" , "" , 0x08, 0x01, wxLayout_LeftToRight, "Greek (Greece)","\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254 (\316\225\316\273\316\273\316\254\316\264\316\261)" }, - { wxLANGUAGE_GUARANI, "gn" , "gn" , "gn_PY" , 0x74, 0x01, wxLayout_LeftToRight, "Guarani","Ava\303\261e\342\200\231\341\272\275" }, - { wxLANGUAGE_GUARANI_PARAGUAY, "gn-PY" , "gn_PY" , "" , 0x74, 0x01, wxLayout_LeftToRight, "Guarani (Paraguay)","Ava\303\261e\342\200\231\341\272\275 (Paragu\303\241i)" }, - { wxLANGUAGE_GUJARATI, "gu" , "gu" , "gu_IN" , 0x47, 0x01, wxLayout_LeftToRight, "Gujarati","\340\252\227\340\253\201\340\252\234\340\252\260\340\252\276\340\252\244\340\253\200" }, - { wxLANGUAGE_GUJARATI_INDIA, "gu-IN" , "gu_IN" , "" , 0x47, 0x01, wxLayout_LeftToRight, "Gujarati (India)","\340\252\227\340\253\201\340\252\234\340\252\260\340\252\276\340\252\244\340\253\200 (\340\252\255\340\252\276\340\252\260\340\252\244)" }, - { wxLANGUAGE_GUSII, "guz" , "guz" , "guz_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Gusii","Ekegusii" }, - { wxLANGUAGE_GUSII_KENYA, "guz-KE" , "guz_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Gusii (Kenya)","Ekegusii (Kenya)" }, - { wxLANGUAGE_HAUSA, "ha" , "ha" , "" , 0x68, 0x01, wxLayout_LeftToRight, "Hausa","Hausa" }, - { wxLANGUAGE_HAUSA_LATIN, "ha-Latn" , "ha@latin" , "" , 0x68, 0x01, wxLayout_LeftToRight, "Hausa (Latin)","Hausa (Latin)" }, - { wxLANGUAGE_HAUSA_LATIN_GHANA, "ha-Latn-GH" , "ha_GH@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Hausa (Latin, Ghana)","Hausa (Gana)" }, - { wxLANGUAGE_HAUSA_LATIN_NIGER, "ha-Latn-NE" , "ha_NE@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Hausa (Latin, Niger)","Hausa (Nijar)" }, - { wxLANGUAGE_HAUSA_LATIN_NIGERIA, "ha-Latn-NG" , "ha_NG@latin" , "" , 0x68, 0x01, wxLayout_LeftToRight, "Hausa (Latin, Nigeria)","Hausa (Najeriya)" }, - { wxLANGUAGE_HAWAIIAN, "haw" , "haw" , "haw_US" , 0x75, 0x01, wxLayout_LeftToRight, "Hawaiian","\312\273\305\214lelo Hawai\312\273i" }, - { wxLANGUAGE_HAWAIIAN_US, "haw-US" , "haw_US" , "" , 0x75, 0x01, wxLayout_LeftToRight, "Hawaiian (United States)","\312\273\305\214lelo Hawai\312\273i (\312\273Amelika Hui P\305\253 \312\273Ia)" }, - { wxLANGUAGE_HEBREW, "he" , "he" , "he_IL" , 0x0d, 0x01, wxLayout_RightToLeft, "Hebrew","\327\242\327\221\327\250\327\231\327\252" }, - { wxLANGUAGE_HEBREW_ISRAEL, "he-IL" , "he_IL" , "" , 0x0d, 0x01, wxLayout_RightToLeft, "Hebrew (Israel)","\327\242\327\221\327\250\327\231\327\252 (\327\231\327\251\327\250\327\220\327\234)" }, - { wxLANGUAGE_HINDI, "hi" , "hi" , "hi_IN" , 0x39, 0x01, wxLayout_LeftToRight, "Hindi","\340\244\271\340\244\277\340\244\250\340\245\215\340\244\246\340\245\200" }, - { wxLANGUAGE_HINDI_INDIA, "hi-IN" , "hi_IN" , "" , 0x39, 0x01, wxLayout_LeftToRight, "Hindi (India)","\340\244\271\340\244\277\340\244\250\340\245\215\340\244\246\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, - { wxLANGUAGE_HUNGARIAN, "hu" , "hu" , "hu_HU" , 0x0e, 0x01, wxLayout_LeftToRight, "Hungarian","magyar" }, - { wxLANGUAGE_HUNGARIAN_HUNGARY, "hu-HU" , "hu_HU" , "" , 0x0e, 0x01, wxLayout_LeftToRight, "Hungarian (Hungary)","magyar (Magyarorsz\303\241g)" }, - { wxLANGUAGE_IBIBIO, "ibb" , "ibb" , "ibb_NG" , 0x69, 0x01, wxLayout_LeftToRight, "Ibibio","Ibibio-Efik" }, - { wxLANGUAGE_IBIBIO_NIGERIA, "ibb-NG" , "ibb_NG" , "" , 0x69, 0x01, wxLayout_LeftToRight, "Ibibio (Nigeria)","Ibibio-Efik (Nigeria)" }, - { wxLANGUAGE_ICELANDIC, "is" , "is" , "is_IS" , 0x0f, 0x01, wxLayout_LeftToRight, "Icelandic","\303\255slenska" }, - { wxLANGUAGE_ICELANDIC_ICELAND, "is-IS" , "is_IS" , "" , 0x0f, 0x01, wxLayout_LeftToRight, "Icelandic (Iceland)","\303\255slenska (\303\215sland)" }, - { wxLANGUAGE_IGBO, "ig" , "ig" , "ig_NG" , 0x70, 0x01, wxLayout_LeftToRight, "Igbo","Igbo" }, - { wxLANGUAGE_IGBO_NIGERIA, "ig-NG" , "ig_NG" , "" , 0x70, 0x01, wxLayout_LeftToRight, "Igbo (Nigeria)","Igbo (Na\341\273\213j\341\273\213r\341\273\213a)" }, - { wxLANGUAGE_INDONESIAN, "id" , "id" , "id_ID" , 0x21, 0x01, wxLayout_LeftToRight, "Indonesian","Indonesia" }, - { wxLANGUAGE_INDONESIAN_INDONESIA, "id-ID" , "id_ID" , "" , 0x21, 0x01, wxLayout_LeftToRight, "Indonesian (Indonesia)","Indonesia (Indonesia)" }, - { wxLANGUAGE_INTERLINGUA, "ia" , "ia" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Interlingua","interlingua" }, - { wxLANGUAGE_INTERLINGUA_WORLD, "ia-001" , "ia_001" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Interlingua (World)","interlingua (Mundo)" }, - { wxLANGUAGE_INTERLINGUE, "ie" , "ie" , "" , 0 , 0 , wxLayout_LeftToRight, "Interlingue","Interlingue" }, - { wxLANGUAGE_INUKTITUT, "iu" , "iu" , "" , 0x5d, 0x02, wxLayout_LeftToRight, "Inuktitut","Inuktitut" }, - { wxLANGUAGE_INUKTITUT_LATIN, "iu-Latn" , "iu@latin" , "" , 0x5d, 0x02, wxLayout_LeftToRight, "Inuktitut (Latin)","Inuktitut (Qaliujaaqpait)" }, - { wxLANGUAGE_INUKTITUT_LATIN_CANADA, "iu-Latn-CA" , "iu_CA@latin" , "" , 0x5d, 0x02, wxLayout_LeftToRight, "Inuktitut (Latin, Canada)","Inuktitut (Kanatami)" }, - { wxLANGUAGE_INUKTITUT_SYLLABICS, "iu-Cans" , "iu@canadian_aboriginal" , "" , 0x5d, 0x01, wxLayout_LeftToRight, "Inuktitut (Syllabics)","\341\220\203\341\223\204\341\222\203\341\221\216\341\221\220\341\221\246 (\341\226\203\341\223\202\341\220\205\341\224\256\341\226\205\341\220\270\341\220\203\341\221\246)" }, - { wxLANGUAGE_INUKTITUT_SYLLABICS_CANADA, "iu-Cans-CA" , "iu_CA@canadian_aboriginal" , "" , 0x5d, 0x01, wxLayout_LeftToRight, "Inuktitut (Syllabics, Canada)","\341\220\203\341\223\204\341\222\203\341\221\216\341\221\220\341\221\246 (\341\221\262\341\223\207\341\221\225\341\222\245)" }, - { wxLANGUAGE_INUPIAK, "ik" , "ik" , "" , 0 , 0 , wxLayout_LeftToRight, "Inupiak","Inupiaq" }, - { wxLANGUAGE_IRISH, "ga" , "ga" , "ga_IE" , 0x3c, 0x02, wxLayout_LeftToRight, "Irish","Gaeilge" }, - { wxLANGUAGE_IRISH_IRELAND, "ga-IE" , "ga_IE" , "" , 0x3c, 0x02, wxLayout_LeftToRight, "Irish (Ireland)","Gaeilge (\303\211ire)" }, - { wxLANGUAGE_IRISH_UNITED_KINGDOM, "ga-GB" , "ga_GB" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Irish (United Kingdom)","Gaeilge (an R\303\255ocht Aontaithe)" }, - { wxLANGUAGE_ITALIAN, "it" , "it" , "it_IT" , 0x10, 0x01, wxLayout_LeftToRight, "Italian","italiano" }, - { wxLANGUAGE_ITALIAN_ITALY, "it-IT" , "it_IT" , "" , 0x10, 0x01, wxLayout_LeftToRight, "Italian (Italy)","italiano (Italia)" }, - { wxLANGUAGE_ITALIAN_SAN_MARINO, "it-SM" , "it_SM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Italian (San Marino)","italiano (San Marino)" }, - { wxLANGUAGE_ITALIAN_SWISS, "it-CH" , "it_CH" , "" , 0x10, 0x02, wxLayout_LeftToRight, "Italian (Switzerland)","italiano (Svizzera)" }, - { wxLANGUAGE_ITALIAN_VATICAN_CITY, "it-VA" , "it_VA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Italian (Vatican City)","italiano (Citt\303\240 del Vaticano)" }, - { wxLANGUAGE_JAPANESE, "ja" , "ja" , "ja_JP" , 0x11, 0x01, wxLayout_LeftToRight, "Japanese","\346\227\245\346\234\254\350\252\236" }, - { wxLANGUAGE_JAPANESE_JAPAN, "ja-JP" , "ja_JP" , "" , 0x11, 0x01, wxLayout_LeftToRight, "Japanese (Japan)","\346\227\245\346\234\254\350\252\236 (\346\227\245\346\234\254)" }, - { wxLANGUAGE_JAVANESE, "jv" , "jv" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Javanese","Basa Jawa" }, - { wxLANGUAGE_JAVANESE_JAVANESE, "jv-Java" , "jv@javanese" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Javanese (Javanese)","\352\246\247\352\246\261\352\246\227\352\246\256" }, - { wxLANGUAGE_JAVANESE_JAVANESE_INDONESIA, "jv-Java-ID" , "jv_ID@javanese" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Javanese (Javanese, Indonesia)","\352\246\247\352\246\261\352\246\227\352\246\256 (Indon\303\251sia)" }, - { wxLANGUAGE_JAVANESE_LATIN, "jv-Latn" , "jv@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Javanese","Basa Jawa" }, - { wxLANGUAGE_JAVANESE_LATIN_INDONESIA, "jv-Latn-ID" , "jv_ID@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Javanese (Indonesia)","Basa Jawa (Indonesia)" }, - { wxLANGUAGE_JOLA_FONYI, "dyo" , "dyo" , "dyo_SN" , 0x00, 0x04, wxLayout_LeftToRight, "Jola-Fonyi","joola" }, - { wxLANGUAGE_JOLA_FONYI_SENEGAL, "dyo-SN" , "dyo_SN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Jola-Fonyi (Senegal)","joola (Senegal)" }, - { wxLANGUAGE_KABUVERDIANU, "kea" , "kea" , "kea_CV" , 0x00, 0x04, wxLayout_LeftToRight, "Kabuverdianu","kabuverdianu" }, - { wxLANGUAGE_KABUVERDIANU_CABO_VERDE, "kea-CV" , "kea_CV" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kabuverdianu (Cabo Verde)","kabuverdianu (Kabu Verdi)" }, - { wxLANGUAGE_KABYLE, "kab" , "kab" , "kab_DZ" , 0x00, 0x04, wxLayout_LeftToRight, "Kabyle","Taqbaylit" }, - { wxLANGUAGE_KABYLE_ALGERIA, "kab-DZ" , "kab_DZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kabyle (Algeria)","Taqbaylit (Lezzayer)" }, - { wxLANGUAGE_KAKO, "kkj" , "kkj" , "kkj_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Kako","kak\311\224" }, - { wxLANGUAGE_KAKO_CAMEROON, "kkj-CM" , "kkj_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kako (Cameroon)","kak\311\224 (Kam\311\233run)" }, - { wxLANGUAGE_KALAALLISUT, "kl" , "kl" , "kl_GL" , 0x6f, 0x01, wxLayout_LeftToRight, "Kalaallisut","kalaallisut" }, - { wxLANGUAGE_KALAALLISUT_GREENLAND, "kl-GL" , "kl_GL" , "" , 0x6f, 0x01, wxLayout_LeftToRight, "Kalaallisut (Greenland)","kalaallisut (Kalaallit Nunaat)" }, - { wxLANGUAGE_KALENJIN, "kln" , "kln" , "kln_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Kalenjin","Kalenjin" }, - { wxLANGUAGE_KALENJIN_KENYA, "kln-KE" , "kln_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kalenjin (Kenya)","Kalenjin (Emetab Kenya)" }, - { wxLANGUAGE_KAMBA, "kam" , "kam" , "kam_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Kamba","Kikamba" }, - { wxLANGUAGE_KAMBA_KENYA, "kam-KE" , "kam_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kamba (Kenya)","Kikamba (Kenya)" }, - { wxLANGUAGE_KANNADA, "kn" , "kn" , "kn_IN" , 0x4b, 0x01, wxLayout_LeftToRight, "Kannada","\340\262\225\340\262\250\340\263\215\340\262\250\340\262\241" }, - { wxLANGUAGE_KANNADA_INDIA, "kn-IN" , "kn_IN" , "" , 0x4b, 0x01, wxLayout_LeftToRight, "Kannada (India)","\340\262\225\340\262\250\340\263\215\340\262\250\340\262\241 (\340\262\255\340\262\276\340\262\260\340\262\244)" }, - { wxLANGUAGE_KANURI, "kr" , "kr" , "" , 0x71, 0x01, wxLayout_LeftToRight, "Kanuri (Latin)","Kanuri" }, - { wxLANGUAGE_KANURI_LATIN, "kr-Latn" , "kr@latin" , "" , 0x71, 0x01, wxLayout_LeftToRight, "Kanuri (Latin)","Kanuri" }, - { wxLANGUAGE_KANURI_LATIN_NIGERIA, "kr-Latn-NG" , "kr_NG@latin" , "" , 0x71, 0x01, wxLayout_LeftToRight, "Kanuri (Latin, Nigeria)","Kanuri (Nigeria)" }, - { wxLANGUAGE_KASHMIRI, "ks" , "ks" , "ks_IN" , 0x00, 0x04, wxLayout_RightToLeft, "Kashmiri","\332\251\331\262\330\264\331\217\330\261" }, - { wxLANGUAGE_KASHMIRI_ARABIC, "ks-Arab" , "ks@arabic" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Kashmiri (Arabic)","\332\251\331\262\330\264\331\217\330\261 (\330\247\331\216\330\261\330\250\333\214)" }, - { wxLANGUAGE_KASHMIRI_ARABIC_INDIA, "ks-Arab-IN" , "ks_IN@arabic" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Kashmiri (Arabic)","\332\251\331\262\330\264\331\217\330\261 (\330\247\331\216\330\261\330\250\333\214)" }, - { wxLANGUAGE_KASHMIRI_DEVANAGARI, "ks-Deva" , "ks@devanagari" , "" , 0x60, 0x02, wxLayout_LeftToRight, "Kashmiri (Devanagari)","\340\244\225\340\245\211\340\244\266\340\245\201\340\244\260" }, - { wxLANGUAGE_KASHMIRI_DEVANAGARI_INDIA, "ks-Deva-IN" , "ks_IN@devanagari" , "" , 0x60, 0x02, wxLayout_LeftToRight, "Kashmiri (Devanagari, India)","\340\244\225\340\245\211\340\244\266\340\245\201\340\244\260 (India)" }, - { wxLANGUAGE_KASHMIRI_INDIA, "ks-IN" , "ks_IN" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Kashmiri (India)","\332\251\330\264\331\210\330\261 (\330\250\332\276\330\247\330\261\330\252)" }, - { wxLANGUAGE_KAZAKH, "kk" , "kk" , "kk_KZ" , 0x3f, 0x01, wxLayout_LeftToRight, "Kazakh","\322\233\320\260\320\267\320\260\322\233 \321\202\321\226\320\273\321\226" }, - { wxLANGUAGE_KAZAKH_KAZAKHSTAN, "kk-KZ" , "kk_KZ" , "" , 0x3f, 0x01, wxLayout_LeftToRight, "Kazakh (Kazakhstan)","\322\233\320\260\320\267\320\260\322\233 \321\202\321\226\320\273\321\226 (\322\232\320\260\320\267\320\260\322\233\321\201\321\202\320\260\320\275)" }, - { wxLANGUAGE_KHMER, "km" , "km" , "km_KH" , 0x53, 0x01, wxLayout_LeftToRight, "Khmer","\341\236\201\341\237\222\341\236\230\341\237\202\341\236\232" }, - { wxLANGUAGE_KHMER_CAMBODIA, "km-KH" , "km_KH" , "" , 0x53, 0x01, wxLayout_LeftToRight, "Khmer (Cambodia)","\341\236\201\341\237\222\341\236\230\341\237\202\341\236\232 (\341\236\200\341\236\230\341\237\222\341\236\226\341\236\273\341\236\207\341\236\266)" }, - { wxLANGUAGE_KICHE, "quc" , "quc" , "" , 0x86, 0x01, wxLayout_LeftToRight, "K'iche'","K'iche'" }, - { wxLANGUAGE_KICHE_GUATEMALA, "quc-Latn-GT" , "quc_GT@latin" , "" , 0x86, 0x01, wxLayout_LeftToRight, "K'iche' (Guatemala)","K'iche' (Guatemala)" }, - { wxLANGUAGE_KICHE_LATIN, "quc-Latn" , "quc@latin" , "" , 0x86, 0x01, wxLayout_LeftToRight, "K'iche'","K'iche'" }, - { wxLANGUAGE_KIKUYU, "ki" , "ki" , "ki_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Kikuyu","Gikuyu" }, - { wxLANGUAGE_KIKUYU_KENYA, "ki-KE" , "ki_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kikuyu (Kenya)","Gikuyu (Kenya)" }, - { wxLANGUAGE_KINYARWANDA, "rw" , "rw" , "rw_RW" , 0x87, 0x01, wxLayout_LeftToRight, "Kinyarwanda","Kinyarwanda" }, - { wxLANGUAGE_KINYARWANDA_RWANDA, "rw-RW" , "rw_RW" , "" , 0x87, 0x01, wxLayout_LeftToRight, "Kinyarwanda (Rwanda)","Kinyarwanda (U Rwanda)" }, - { wxLANGUAGE_KIRGHIZ, "ky" , "ky" , "ky_KG" , 0x40, 0x01, wxLayout_LeftToRight, "Kyrgyz","\320\272\321\213\321\200\320\263\321\213\320\267\321\207\320\260" }, - { wxLANGUAGE_KIRGHIZ_KYRGYZSTAN, "ky-KG" , "ky_KG" , "" , 0x40, 0x01, wxLayout_LeftToRight, "Kyrgyz (Kyrgyzstan)","\320\272\321\213\321\200\320\263\321\213\320\267\321\207\320\260 (\320\232\321\213\321\200\320\263\321\213\320\267\321\201\321\202\320\260\320\275)" }, - { wxLANGUAGE_KIRUNDI, "rn" , "rn" , "rn_BI" , 0x00, 0x04, wxLayout_LeftToRight, "Rundi","Ikirundi" }, - { wxLANGUAGE_KIRUNDI_BURUNDI, "rn-BI" , "rn_BI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Rundi (Burundi)","Ikirundi (Uburundi)" }, - { wxLANGUAGE_KONKANI, "kok" , "kok" , "kok_IN" , 0x57, 0x01, wxLayout_LeftToRight, "Konkani","\340\244\225\340\245\213\340\244\202\340\244\225\340\244\243\340\245\200" }, - { wxLANGUAGE_KONKANI_INDIA, "kok-IN" , "kok_IN" , "" , 0x57, 0x01, wxLayout_LeftToRight, "Konkani (India)","\340\244\225\340\245\213\340\244\202\340\244\225\340\244\243\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, - { wxLANGUAGE_KOREAN, "ko" , "ko" , "ko_KR" , 0x12, 0x01, wxLayout_LeftToRight, "Korean","\355\225\234\352\265\255\354\226\264" }, - { wxLANGUAGE_KOREAN_KOREA, "ko-KR" , "ko_KR" , "" , 0x12, 0x01, wxLayout_LeftToRight, "Korean (Korea)","\355\225\234\352\265\255\354\226\264(\353\214\200\355\225\234\353\257\274\352\265\255)" }, - { wxLANGUAGE_KOREAN_NORTH_KOREA, "ko-KP" , "ko_KP" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Korean (North Korea)","\355\225\234\352\265\255\354\226\264 (\354\241\260\354\204\240\353\257\274\354\243\274\354\243\274\354\235\230\354\235\270\353\257\274\352\263\265\355\231\224\352\265\255)" }, - { wxLANGUAGE_KOYRABORO_SENNI, "ses" , "ses" , "ses_ML" , 0x00, 0x04, wxLayout_LeftToRight, "Koyraboro Senni","Koyraboro senni" }, - { wxLANGUAGE_KOYRABORO_SENNI_MALI, "ses-ML" , "ses_ML" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Koyraboro Senni (Mali)","Koyraboro senni (Maali)" }, - { wxLANGUAGE_KOYRA_CHIINI, "khq" , "khq" , "khq_ML" , 0x00, 0x04, wxLayout_LeftToRight, "Koyra Chiini","Koyra ciini" }, - { wxLANGUAGE_KOYRA_CHIINI_MALI, "khq-ML" , "khq_ML" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Koyra Chiini (Mali)","Koyra ciini (Maali)" }, - { wxLANGUAGE_KURDISH, "ku-TR" , "ku_TR" , "" , 0 , 0 , wxLayout_LeftToRight, "Kurdish","Kurd\303\256" }, - { wxLANGUAGE_KURDISH_ARABIC_IRAN, "ku-Arab-IR" , "ku_IR@arabic" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Kurdish (Arabic, Iran)","\332\251\331\210\330\261\330\257\333\214 (\330\246\333\216\330\261\330\247\331\206)" }, - { wxLANGUAGE_KWASIO, "nmg" , "nmg" , "nmg_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Kwasio","Kwasio" }, - { wxLANGUAGE_KWASIO_CAMEROON, "nmg-CM" , "nmg_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kwasio (Cameroon)","Kwasio (Kamerun)" }, - { wxLANGUAGE_LAKOTA, "lkt" , "lkt" , "lkt_US" , 0x00, 0x04, wxLayout_LeftToRight, "Lakota","Lak\310\237\303\263l\312\274iyapi" }, - { wxLANGUAGE_LAKOTA_US, "lkt-US" , "lkt_US" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Lakota (United States)","Lak\310\237\303\263l\312\274iyapi (M\303\255laha\305\213ska T\310\237am\303\241k\310\237o\304\215he)" }, - { wxLANGUAGE_LANGI, "lag" , "lag" , "lag_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Langi","K\311\250laangi" }, - { wxLANGUAGE_LANGI_TANZANIA, "lag-TZ" , "lag_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Langi (Tanzania)","K\311\250laangi (Taansan\303\255a)" }, - { wxLANGUAGE_LAOTHIAN, "lo" , "lo" , "lo_LA" , 0x54, 0x01, wxLayout_LeftToRight, "Lao","\340\272\245\340\272\262\340\272\247" }, - { wxLANGUAGE_LAOTHIAN_LAOS, "lo-LA" , "lo_LA" , "" , 0x54, 0x01, wxLayout_LeftToRight, "Lao (Laos)","\340\272\245\340\272\262\340\272\247 (\340\272\245\340\272\262\340\272\247)" }, - { wxLANGUAGE_LATIN, "la" , "la" , "la_VA" , 0x76, 0x01, wxLayout_LeftToRight, "Latin","Latina" }, - { wxLANGUAGE_LATIN_VATICAN_CITY, "la-VA" , "la_VA" , "" , 0x76, 0x01, wxLayout_LeftToRight, "Latin (Vatican City)","Latina (Civitas Vaticana)" }, - { wxLANGUAGE_LATIN_WORLD, "la-001" , "la_001" , "" , 0x76, 0x01, wxLayout_LeftToRight, "Latin (World)","Latina (Mundus)" }, - { wxLANGUAGE_LATVIAN, "lv" , "lv" , "lv_LV" , 0x26, 0x01, wxLayout_LeftToRight, "Latvian","latvie\305\241u" }, - { wxLANGUAGE_LATVIAN_LATVIA, "lv-LV" , "lv_LV" , "" , 0x26, 0x01, wxLayout_LeftToRight, "Latvian (Latvia)","latvie\305\241u (Latvija)" }, - { wxLANGUAGE_LINGALA, "ln" , "ln" , "ln_CD" , 0x00, 0x04, wxLayout_LeftToRight, "Lingala","ling\303\241la" }, - { wxLANGUAGE_LINGALA_ANGOLA, "ln-AO" , "ln_AO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Lingala (Angola)","ling\303\241la (Ang\303\263la)" }, - { wxLANGUAGE_LINGALA_CENTRAL_AFRICAN_REPUBLIC, "ln-CF" , "ln_CF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Lingala (Central African Republic)","ling\303\241la (Repibiki ya Afr\303\255ka ya K\303\241ti)" }, - { wxLANGUAGE_LINGALA_CONGO, "ln-CG" , "ln_CG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Lingala (Congo)","ling\303\241la (Kongo)" }, - { wxLANGUAGE_LINGALA_CONGO_DRC, "ln-CD" , "ln_CD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Lingala (Congo DRC)","ling\303\241la (Republ\303\255ki ya Kong\303\263 Demokrat\303\255ki)" }, - { wxLANGUAGE_LITHUANIAN, "lt" , "lt" , "lt_LT" , 0x27, 0x01, wxLayout_LeftToRight, "Lithuanian","lietuvi\305\263" }, - { wxLANGUAGE_LITHUANIAN_LITHUANIA, "lt-LT" , "lt_LT" , "" , 0x27, 0x01, wxLayout_LeftToRight, "Lithuanian (Lithuania)","lietuvi\305\263 (Lietuva)" }, - { wxLANGUAGE_LOWER_SORBIAN, "dsb" , "dsb" , "dsb_DE" , 0x2e, 0x02, wxLayout_LeftToRight, "Lower Sorbian","dolnoserb\305\241\304\207ina" }, - { wxLANGUAGE_LOWER_SORBIAN_GERMANY, "dsb-DE" , "dsb_DE" , "" , 0x2e, 0x02, wxLayout_LeftToRight, "Lower Sorbian (Germany)","dolnoserb\305\241\304\207ina (Nimska)" }, - { wxLANGUAGE_LOW_GERMAN, "nds" , "nds" , "nds_DE" , 0x00, 0x04, wxLayout_LeftToRight, "Low German","Neddersass\342\200\231sch" }, - { wxLANGUAGE_LOW_GERMAN_GERMANY, "nds-DE" , "nds_DE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Low German (Germany)","Neddersass\342\200\231sch (D\303\274\303\274tschland)" }, - { wxLANGUAGE_LOW_GERMAN_NETHERLANDS, "nds-NL" , "nds_NL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Low German (Netherlands)","Neddersass\342\200\231sch (Nedderlannen)" }, - { wxLANGUAGE_LUBA_KATANGA, "lu" , "lu" , "lu_CD" , 0x00, 0x04, wxLayout_LeftToRight, "Luba-Katanga","Tshiluba" }, - { wxLANGUAGE_LUBA_KATANGA_CONGO_DRC, "lu-CD" , "lu_CD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Luba-Katanga (Congo DRC)","Tshiluba (Ditunga wa Kongu)" }, - { wxLANGUAGE_LUO, "luo" , "luo" , "luo_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Luo","Dholuo" }, - { wxLANGUAGE_LUO_KENYA, "luo-KE" , "luo_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Luo (Kenya)","Dholuo (Kenya)" }, - { wxLANGUAGE_LUXEMBOURGISH, "lb" , "lb" , "lb_LU" , 0x6e, 0x01, wxLayout_LeftToRight, "Luxembourgish","L\303\253tzebuergesch" }, - { wxLANGUAGE_LUXEMBOURGISH_LUXEMBOURG, "lb-LU" , "lb_LU" , "" , 0x6e, 0x01, wxLayout_LeftToRight, "Luxembourgish (Luxembourg)","L\303\253tzebuergesch (L\303\253tzebuerg)" }, - { wxLANGUAGE_LUYIA, "luy" , "luy" , "luy_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Luyia","Luluhia" }, - { wxLANGUAGE_LUYIA_KENYA, "luy-KE" , "luy_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Luyia (Kenya)","Luluhia (Kenya)" }, - { wxLANGUAGE_MACEDONIAN, "mk" , "mk" , "mk_MK" , 0x2f, 0x01, wxLayout_LeftToRight, "Macedonian","\320\274\320\260\320\272\320\265\320\264\320\276\320\275\321\201\320\272\320\270" }, - { wxLANGUAGE_MACEDONIAN_NORTH_MACEDONIA, "mk-MK" , "mk_MK" , "" , 0x2f, 0x01, wxLayout_LeftToRight, "Macedonian (North Macedonia)","\320\274\320\260\320\272\320\265\320\264\320\276\320\275\321\201\320\272\320\270 (\320\241\320\265\320\262\320\265\321\200\320\275\320\260 \320\234\320\260\320\272\320\265\320\264\320\276\320\275\320\270\321\230\320\260)" }, - { wxLANGUAGE_MACHAME, "jmc" , "jmc" , "jmc_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Machame","Kimachame" }, - { wxLANGUAGE_MACHAME_TANZANIA, "jmc-TZ" , "jmc_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Machame (Tanzania)","Kimachame (Tanzania)" }, - { wxLANGUAGE_MAITHILI, "mai" , "mai" , "mai_IN" , 0x00, 0x04, wxLayout_LeftToRight, "Maithili","\340\244\256\340\245\210\340\244\245\340\244\277\340\244\262\340\245\200" }, - { wxLANGUAGE_MAITHILI_INDIA, "mai-IN" , "mai_IN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Maithili (India)","\340\244\256\340\245\210\340\244\245\340\244\277\340\244\262\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, - { wxLANGUAGE_MAKHUWA_MEETTO, "mgh" , "mgh" , "mgh_MZ" , 0x00, 0x04, wxLayout_LeftToRight, "Makhuwa-Meetto","Makua" }, - { wxLANGUAGE_MAKHUWA_MEETTO_MOZAMBIQUE, "mgh-MZ" , "mgh_MZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Makhuwa-Meetto (Mozambique)","Makua (Umozambiki)" }, - { wxLANGUAGE_MAKONDE, "kde" , "kde" , "kde_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Makonde","Chimakonde" }, - { wxLANGUAGE_MAKONDE_TANZANIA, "kde-TZ" , "kde_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Makonde (Tanzania)","Chimakonde (Tanzania)" }, - { wxLANGUAGE_MALAGASY, "mg" , "mg" , "mg_MG" , 0x00, 0x04, wxLayout_LeftToRight, "Malagasy","Malagasy" }, - { wxLANGUAGE_MALAGASY_MADAGASCAR, "mg-MG" , "mg_MG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Malagasy (Madagascar)","Malagasy (Madagasikara)" }, - { wxLANGUAGE_MALAY, "ms" , "ms" , "ms_MY" , 0x3e, 0x01, wxLayout_LeftToRight, "Malay","Melayu" }, - { wxLANGUAGE_MALAYALAM, "ml" , "ml" , "ml_IN" , 0x4c, 0x01, wxLayout_LeftToRight, "Malayalam","\340\264\256\340\264\262\340\264\257\340\264\276\340\264\263\340\264\202" }, - { wxLANGUAGE_MALAYALAM_INDIA, "ml-IN" , "ml_IN" , "" , 0x4c, 0x01, wxLayout_LeftToRight, "Malayalam (India)","\340\264\256\340\264\262\340\264\257\340\264\276\340\264\263\340\264\202 (\340\264\207\340\264\250\340\265\215\340\264\244\340\265\215\340\264\257)" }, - { wxLANGUAGE_MALAY_BRUNEI, "ms-BN" , "ms_BN" , "" , 0x3e, 0x02, wxLayout_LeftToRight, "Malay (Brunei)","Melayu (Brunei)" }, - { wxLANGUAGE_MALAY_INDONESIA, "ms-ID" , "ms_ID" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Malay (Indonesia)","Melayu (Indonesia)" }, - { wxLANGUAGE_MALAY_MALAYSIA, "ms-MY" , "ms_MY" , "" , 0x3e, 0x01, wxLayout_LeftToRight, "Malay (Malaysia)","Melayu (Malaysia)" }, - { wxLANGUAGE_MALAY_SINGAPORE, "ms-SG" , "ms_SG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Malay (Singapore)","Melayu (Singapura)" }, - { wxLANGUAGE_MALTESE, "mt" , "mt" , "mt_MT" , 0x3a, 0x01, wxLayout_LeftToRight, "Maltese","Malti" }, - { wxLANGUAGE_MALTESE_MALTA, "mt-MT" , "mt_MT" , "" , 0x3a, 0x01, wxLayout_LeftToRight, "Maltese (Malta)","Malti (Malta)" }, - { wxLANGUAGE_MANIPURI, "mni" , "mni" , "mni_IN" , 0x58, 0x01, wxLayout_LeftToRight, "Manipuri (Bangla)","\340\246\256\340\247\210\340\246\244\340\247\210\340\246\262\340\247\213\340\246\250\340\247\215" }, - { wxLANGUAGE_MANIPURI_BENGALI, "mni-Beng" , "mni@bengali" , "" , 0x58, 0x01, wxLayout_LeftToRight, "Manipuri (Bangla)","\340\246\256\340\247\210\340\246\244\340\247\210\340\246\262\340\247\213\340\246\250\340\247\215" }, - { wxLANGUAGE_MANIPURI_INDIA, "mni-IN" , "mni_IN" , "" , 0x58, 0x01, wxLayout_LeftToRight, "Manipuri (Bangla, India)","\340\246\256\340\247\210\340\246\244\340\247\210\340\246\262\340\247\213\340\246\250\340\247\215 (\340\246\207\340\246\250\340\247\215\340\246\246\340\246\277\340\246\257\340\246\274\340\246\276)" }, - { wxLANGUAGE_MANX, "gv" , "gv" , "gv_IM" , 0x00, 0x04, wxLayout_LeftToRight, "Manx","Gaelg" }, - { wxLANGUAGE_MANX_ISLE_OF_MAN, "gv-IM" , "gv_IM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Manx (Isle of Man)","Gaelg (Ellan Vannin)" }, - { wxLANGUAGE_MAORI, "mi" , "mi" , "mi_NZ" , 0x81, 0x01, wxLayout_LeftToRight, "Maori","te reo M\304\201ori" }, - { wxLANGUAGE_MAORI_NEW_ZEALAND, "mi-NZ" , "mi_NZ" , "" , 0x81, 0x01, wxLayout_LeftToRight, "Maori (New Zealand)","te reo M\304\201ori (Aotearoa)" }, - { wxLANGUAGE_MAPUCHE, "arn" , "arn" , "arn_CL" , 0x7a, 0x01, wxLayout_LeftToRight, "Mapuche","Mapudungun" }, - { wxLANGUAGE_MAPUCHE_CHILE, "arn-CL" , "arn_CL" , "" , 0x7a, 0x01, wxLayout_LeftToRight, "Mapuche (Chile)","Mapudungun (Chile)" }, - { wxLANGUAGE_MARATHI, "mr" , "mr" , "mr_IN" , 0x4e, 0x01, wxLayout_LeftToRight, "Marathi","\340\244\256\340\244\260\340\244\276\340\244\240\340\245\200" }, - { wxLANGUAGE_MARATHI_INDIA, "mr-IN" , "mr_IN" , "" , 0x4e, 0x01, wxLayout_LeftToRight, "Marathi (India)","\340\244\256\340\244\260\340\244\276\340\244\240\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, - { wxLANGUAGE_MASAI, "mas" , "mas" , "mas_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Masai","Maa" }, - { wxLANGUAGE_MASAI_KENYA, "mas-KE" , "mas_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Masai (Kenya)","Maa (Kenya)" }, - { wxLANGUAGE_MASAI_TANZANIA, "mas-TZ" , "mas_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Masai (Tanzania)","Maa (Tansania)" }, - { wxLANGUAGE_MAZANDERANI, "mzn" , "mzn" , "mzn_IR" , 0x00, 0x04, wxLayout_RightToLeft, "Mazanderani","\331\205\330\247\330\262\330\261\331\210\331\206\333\214" }, - { wxLANGUAGE_MAZANDERANI_IRAN, "mzn-IR" , "mzn_IR" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Mazanderani (Iran)","\331\205\330\247\330\262\330\261\331\210\331\206\333\214 (\330\247\333\214\330\261\330\247\331\206)" }, - { wxLANGUAGE_MERU, "mer" , "mer" , "mer_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Meru","K\304\251m\304\251r\305\251" }, - { wxLANGUAGE_MERU_KENYA, "mer-KE" , "mer_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Meru (Kenya)","K\304\251m\304\251r\305\251 (Kenya)" }, - { wxLANGUAGE_META, "mgo" , "mgo" , "mgo_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Meta\312\274","meta\312\274" }, - { wxLANGUAGE_META_CAMEROON, "mgo-CM" , "mgo_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Meta\312\274 (Cameroon)","meta\312\274 (Kamalun)" }, - { wxLANGUAGE_MOHAWK, "moh" , "moh" , "moh_CA" , 0x7c, 0x01, wxLayout_LeftToRight, "Mohawk","Kanien\342\200\231k\303\251ha" }, - { wxLANGUAGE_MOHAWK_CANADA, "moh-CA" , "moh_CA" , "" , 0x7c, 0x01, wxLayout_LeftToRight, "Mohawk (Mohawk)","Kanien'k\303\251ha" }, - { wxLANGUAGE_MOLDAVIAN, "mo" , "mo" , "" , 0 , 0 , wxLayout_LeftToRight, "Moldavian","\320\273\320\270\320\274\320\261\320\260 \320\274\320\276\320\273\320\264\320\276\320\262\320\265\320\275\321\217\321\201\320\272\321\215" }, - { wxLANGUAGE_MONGOLIAN, "mn" , "mn" , "mn_MN" , 0x50, 0x01, wxLayout_LeftToRight, "Mongolian","\320\234\320\276\320\275\320\263\320\276\320\273\302\240\321\205\321\215\320\273" }, - { wxLANGUAGE_MONGOLIAN_CYRILLIC, "mn-Cyrl" , "mn@cyrillic" , "" , 0x50, 0x01, wxLayout_LeftToRight, "Mongolian","\320\234\320\276\320\275\320\263\320\276\320\273\302\240\321\205\321\215\320\273 (\320\232\320\270\321\200\320\270\320\273\320\273 \322\257\321\201\321\215\320\263)" }, - { wxLANGUAGE_MONGOLIAN_MONGOLIA, "mn-MN" , "mn_MN" , "" , 0x50, 0x01, wxLayout_LeftToRight, "Mongolian (Mongolia)","\320\274\320\276\320\275\320\263\320\276\320\273 (\320\234\320\276\320\275\320\263\320\276\320\273)" }, - { wxLANGUAGE_MONGOLIAN_TRADITIONAL, "mn-Mong" , "mn@mongolian" , "" , 0x50, 0x02, wxLayout_LeftToRight, "Mongolian (Traditional Mongolian)","\341\240\256\341\240\243\341\240\251\341\240\255\341\240\243\341\240\244\341\240\257 \341\240\254\341\240\241\341\240\257\341\240\241 (\341\240\256\341\240\243\341\240\251\341\240\255\341\240\243\341\240\244\341\240\257 \341\240\254\341\240\241\341\240\257\341\240\241)" }, - { wxLANGUAGE_MONGOLIAN_TRADITIONAL_CHINA, "mn-Mong-CN" , "mn_CN@mongolian" , "" , 0x50, 0x02, wxLayout_LeftToRight, "Mongolian (Traditional Mongolian, China)","\341\240\256\341\240\243\341\240\251\341\240\255\341\240\243\341\240\244\341\240\257 \341\240\254\341\240\241\341\240\257\341\240\241 (\341\240\252\341\240\246\341\240\255\341\240\246\341\240\263\341\240\241 \341\240\250\341\240\240\341\240\242\341\240\267\341\240\240\341\240\256\341\240\263\341\240\240\341\240\254\341\240\244 \341\240\263\341\240\244\341\240\256\341\240\263\341\240\240\341\240\263\341\240\244 \341\240\240\341\240\267\341\240\240\341\240\263 \341\240\243\341\240\257\341\240\243\341\240\260)" }, - { wxLANGUAGE_MONGOLIAN_TRADITIONAL_MONGOLIA, "mn-Mong-MN" , "mn_MN@mongolian" , "" , 0x50, 0x03, wxLayout_LeftToRight, "Mongolian (Traditional Mongolian, Mongolia)","\341\240\256\341\240\243\341\240\251\341\240\255\341\240\243\341\240\257 \341\240\254\341\240\241\341\240\257\341\240\241 (\341\240\256\341\240\243\341\240\251\341\240\255\341\240\243\341\240\257 \341\240\243\341\240\257\341\240\243\341\240\260)" }, - { wxLANGUAGE_MORISYEN, "mfe" , "mfe" , "mfe_MU" , 0x00, 0x04, wxLayout_LeftToRight, "Morisyen","kreol morisien" }, - { wxLANGUAGE_MORISYEN_MAURITIUS, "mfe-MU" , "mfe_MU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Morisyen (Mauritius)","kreol morisien (Moris)" }, - { wxLANGUAGE_MUNDANG, "mua" , "mua" , "mua_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Mundang","MUNDA\305\212" }, - { wxLANGUAGE_MUNDANG_CAMEROON, "mua-CM" , "mua_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Mundang (Cameroon)","MUNDA\305\212 (kameru\305\213)" }, - { wxLANGUAGE_NAMA, "naq" , "naq" , "naq_NA" , 0x00, 0x04, wxLayout_LeftToRight, "Nama","Khoekhoegowab" }, - { wxLANGUAGE_NAMA_NAMIBIA, "naq-NA" , "naq_NA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Nama (Namibia)","Khoekhoegowab (Namibiab)" }, - { wxLANGUAGE_NAURU, "na" , "na" , "" , 0 , 0 , wxLayout_LeftToRight, "Nauru","Nauru" }, - { wxLANGUAGE_NEPALI, "ne" , "ne" , "ne_NP" , 0x61, 0x01, wxLayout_LeftToRight, "Nepali","\340\244\250\340\245\207\340\244\252\340\244\276\340\244\262\340\245\200" }, - { wxLANGUAGE_NEPALI_INDIA, "ne-IN" , "ne_IN" , "" , 0x61, 0x02, wxLayout_LeftToRight, "Nepali (India)","\340\244\250\340\245\207\340\244\252\340\244\276\340\244\262\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, - { wxLANGUAGE_NEPALI_NEPAL, "ne-NP" , "ne_NP" , "" , 0x61, 0x01, wxLayout_LeftToRight, "Nepali (Nepal)","\340\244\250\340\245\207\340\244\252\340\244\276\340\244\262\340\245\200 (\340\244\250\340\245\207\340\244\252\340\244\276\340\244\262)" }, - { wxLANGUAGE_NGIEMBOON, "nnh" , "nnh" , "nnh_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Ngiemboon","Shw\303\263\305\213\303\262 ngiemb\311\224\311\224n" }, - { wxLANGUAGE_NGIEMBOON_CAMEROON, "nnh-CM" , "nnh_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ngiemboon (Cameroon)","Shw\303\263\305\213\303\262 ngiemb\311\224\311\224n (K\303\240mal\303\273m)" }, - { wxLANGUAGE_NGOMBA, "jgo" , "jgo" , "jgo_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Ngomba","Nda\352\236\214a" }, - { wxLANGUAGE_NGOMBA_CAMEROON, "jgo-CM" , "jgo_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ngomba (Cameroon)","Nda\352\236\214a (Kam\311\233l\303\273n)" }, - { wxLANGUAGE_NIGERIAN_PIDGIN, "pcm" , "pcm" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Nigerian Pidgin","Naij\303\255ri\303\241 P\303\255jin" }, - { wxLANGUAGE_NIGERIAN_PIDGIN_LATIN, "pcm-Latn" , "pcm@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Nigerian Pidgin (Latin)","Naij\303\255ri\303\241 P\303\255jin (L\303\241tin)" }, - { wxLANGUAGE_NIGERIAN_PIDGIN_LATIN_NIGERIA, "pcm-Latn-NG" , "pcm_NG@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Nigerian Pidgin (Latin, Nigeria)","Naij\303\255ri\303\241 P\303\255jin (Naij\303\255ria)" }, - { wxLANGUAGE_NKO, "nqo" , "nqo" , "nqo_GN" , 0x00, 0x04, wxLayout_RightToLeft, "N'ko","\337\222\337\236\337\217" }, - { wxLANGUAGE_NKO_GUINEA, "nqo-GN" , "nqo_GN" , "" , 0x00, 0x04, wxLayout_RightToLeft, "N'ko (Guinea)","\337\222\337\236\337\217 (\337\226\337\214\337\254\337\243\337\215\337\254 \337\236\337\212\337\262\337\223\337\215\337\262)" }, - { wxLANGUAGE_NORTHERN_LURI, "lrc" , "lrc" , "lrc_IR" , 0x00, 0x04, wxLayout_RightToLeft, "Northern Luri","\331\204\333\212\330\261\333\214 \330\264\331\210\331\205\330\247\331\204\333\214" }, - { wxLANGUAGE_NORTHERN_LURI_IRAN, "lrc-IR" , "lrc_IR" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Northern Luri (Iran)","\331\204\333\212\330\261\333\214 \330\264\331\210\331\205\330\247\331\204\333\214 (Iran)" }, - { wxLANGUAGE_NORTHERN_LURI_IRAQ, "lrc-IQ" , "lrc_IQ" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Northern Luri (Iraq)","\331\204\333\212\330\261\333\214 \330\264\331\210\331\205\330\247\331\204\333\214 (Iraq)" }, - { wxLANGUAGE_NORTH_NDEBELE, "nd" , "nd" , "nd_ZW" , 0x00, 0x04, wxLayout_LeftToRight, "North Ndebele","isiNdebele" }, - { wxLANGUAGE_NORTH_NDEBELE_ZIMBABWE, "nd-ZW" , "nd_ZW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "North Ndebele (Zimbabwe)","isiNdebele (Zimbabwe)" }, - { wxLANGUAGE_NORWEGIAN, "no" , "no" , "" , 0x14, 0x01, wxLayout_LeftToRight, "Norwegian","norsk" }, - { wxLANGUAGE_NORWEGIAN_BOKMAL, "nb" , "nb" , "nb_NO" , 0x14, 0x01, wxLayout_LeftToRight, "Norwegian Bokm\303\245l","norsk bokm\303\245l" }, - { wxLANGUAGE_NORWEGIAN_BOKMAL_NORWAY, "nb-NO" , "nb_NO" , "" , 0x14, 0x01, wxLayout_LeftToRight, "Norwegian Bokm\303\245l (Norway)","norsk bokm\303\245l (Norge)" }, - { wxLANGUAGE_NORWEGIAN_BOKMAL_SVALBARD_AND_JAN_MAYEN, "nb-SJ" , "nb_SJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Norwegian Bokm\303\245l (Svalbard and Jan Mayen)","norsk bokm\303\245l (Svalbard og Jan Mayen)" }, - { wxLANGUAGE_NORWEGIAN_NYNORSK, "nn" , "nn" , "nn_NO" , 0x14, 0x02, wxLayout_LeftToRight, "Norwegian Nynorsk","norsk nynorsk" }, - { wxLANGUAGE_NORWEGIAN_NYNORSK_NORWAY, "nn-NO" , "nn_NO" , "" , 0x14, 0x02, wxLayout_LeftToRight, "Norwegian Nynorsk (Norway)","norsk nynorsk (Noreg)" }, - { wxLANGUAGE_NUER, "nus" , "nus" , "nus_SS" , 0x00, 0x04, wxLayout_LeftToRight, "Nuer","Thok Nath" }, - { wxLANGUAGE_NUER_SOUTH_SUDAN, "nus-SS" , "nus_SS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Nuer (South Sudan)","Thok Nath (South Sudan)" }, - { wxLANGUAGE_NYANKOLE, "nyn" , "nyn" , "nyn_UG" , 0x00, 0x04, wxLayout_LeftToRight, "Nyankole","Runyankore" }, - { wxLANGUAGE_NYANKOLE_UGANDA, "nyn-UG" , "nyn_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Nyankole (Uganda)","Runyankore (Uganda)" }, - { wxLANGUAGE_OCCITAN, "oc" , "oc" , "oc_FR" , 0x82, 0x01, wxLayout_LeftToRight, "Occitan","Occitan" }, - { wxLANGUAGE_OCCITAN_FRANCE, "oc-FR" , "oc_FR" , "" , 0x82, 0x01, wxLayout_LeftToRight, "Occitan (France)","Occitan (Fran\303\247a)" }, - { wxLANGUAGE_ODIA, "or" , "or" , "or_IN" , 0x48, 0x01, wxLayout_LeftToRight, "Odia","\340\254\223\340\255\234\340\254\277\340\254\206" }, - { wxLANGUAGE_ODIA_INDIA, "or-IN" , "or_IN" , "" , 0x48, 0x01, wxLayout_LeftToRight, "Odia (India)","\340\254\223\340\255\234\340\254\277\340\254\206 (\340\254\255\340\254\276\340\254\260\340\254\244)" }, - { wxLANGUAGE_OROMO, "om" , "om" , "om_ET" , 0x72, 0x01, wxLayout_LeftToRight, "Oromo","Oromoo" }, - { wxLANGUAGE_OROMO_ETHIOPIA, "om-ET" , "om_ET" , "" , 0x72, 0x01, wxLayout_LeftToRight, "Oromo (Ethiopia)","Oromoo (Itoophiyaa)" }, - { wxLANGUAGE_OROMO_KENYA, "om-KE" , "om_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Oromo (Kenya)","Oromoo (Keeniyaa)" }, - { wxLANGUAGE_OSSETIC, "os" , "os" , "os_GE" , 0x00, 0x04, wxLayout_LeftToRight, "Ossetic","\320\270\321\200\320\276\320\275" }, - { wxLANGUAGE_OSSETIC_GEORGIA, "os-GE" , "os_GE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ossetic (Georgia)","\320\270\321\200\320\276\320\275 (\320\223\321\203\321\213\321\200\320\264\320\267\321\213\321\201\321\202\320\276\320\275)" }, - { wxLANGUAGE_OSSETIC_RUSSIA, "os-RU" , "os_RU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Ossetic (Russia)","\320\270\321\200\320\276\320\275 (\320\243\323\225\321\200\323\225\321\201\320\265)" }, - { wxLANGUAGE_PAPIAMENTO, "pap" , "pap" , "" , 0x79, 0x01, wxLayout_LeftToRight, "Papiamento","Papiamentu" }, - { wxLANGUAGE_PAPIAMENTO_CARIBBEAN, "pap-029" , "pap_029" , "" , 0x79, 0x01, wxLayout_LeftToRight, "Papiamento (Caribbean)","Papiamentu (Caribbean)" }, - { wxLANGUAGE_PASHTO, "ps" , "ps" , "ps_AF" , 0x63, 0x01, wxLayout_RightToLeft, "Pashto","\331\276\332\232\330\252\331\210" }, - { wxLANGUAGE_PASHTO_AFGHANISTAN, "ps-AF" , "ps_AF" , "" , 0x63, 0x01, wxLayout_RightToLeft, "Pashto (Afghanistan)","\331\276\332\232\330\252\331\210 (\330\247\331\201\330\272\330\247\331\206\330\263\330\252\330\247\331\206)" }, - { wxLANGUAGE_PASHTO_PAKISTAN, "ps-PK" , "ps_PK" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Pashto (Pakistan)","\331\276\332\232\330\252\331\210 (\331\276\330\247\332\251\330\263\330\252\330\247\331\206)" }, - { wxLANGUAGE_PERSIAN, "fa" , "fa" , "fa_IR" , 0x29, 0x01, wxLayout_RightToLeft, "Persian","\331\201\330\247\330\261\330\263\333\214" }, - { wxLANGUAGE_PERSIAN_IRAN, "fa-IR" , "fa_IR" , "" , 0x29, 0x01, wxLayout_RightToLeft, "Persian (Iran)","\331\201\330\247\330\261\330\263\333\214 (\330\247\333\214\330\261\330\247\331\206)" }, - { wxLANGUAGE_POLISH, "pl" , "pl" , "pl_PL" , 0x15, 0x01, wxLayout_LeftToRight, "Polish","polski" }, - { wxLANGUAGE_POLISH_POLAND, "pl-PL" , "pl_PL" , "" , 0x15, 0x01, wxLayout_LeftToRight, "Polish (Poland)","polski (Polska)" }, - { wxLANGUAGE_PORTUGUESE, "pt" , "pt" , "pt_PT" , 0x16, 0x02, wxLayout_LeftToRight, "Portuguese","portugu\303\252s" }, - { wxLANGUAGE_PORTUGUESE_ANGOLA, "pt-AO" , "pt_AO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Angola)","portugu\303\252s (Angola)" }, - { wxLANGUAGE_PORTUGUESE_BRAZILIAN, "pt-BR" , "pt_BR" , "" , 0x16, 0x01, wxLayout_LeftToRight, "Portuguese (Brazil)","portugu\303\252s (Brasil)" }, - { wxLANGUAGE_PORTUGUESE_CABO_VERDE, "pt-CV" , "pt_CV" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Cabo Verde)","portugu\303\252s (Cabo Verde)" }, - { wxLANGUAGE_PORTUGUESE_EQUATORIAL_GUINEA, "pt-GQ" , "pt_GQ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Equatorial Guinea)","portugu\303\252s (Guin\303\251 Equatorial)" }, - { wxLANGUAGE_PORTUGUESE_GUINEA_BISSAU, "pt-GW" , "pt_GW" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Guinea-Bissau)","portugu\303\252s (Guin\303\251-Bissau)" }, - { wxLANGUAGE_PORTUGUESE_LUXEMBOURG, "pt-LU" , "pt_LU" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Luxembourg)","portugu\303\252s (Luxemburgo)" }, - { wxLANGUAGE_PORTUGUESE_MACAO_SAR, "pt-MO" , "pt_MO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Macao SAR)","portugu\303\252s (RAE de Macau)" }, - { wxLANGUAGE_PORTUGUESE_MOZAMBIQUE, "pt-MZ" , "pt_MZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Mozambique)","portugu\303\252s (Mo\303\247ambique)" }, - { wxLANGUAGE_PORTUGUESE_PORTUGAL, "pt-PT" , "pt_PT" , "" , 0x16, 0x02, wxLayout_LeftToRight, "Portuguese (Portugal)","portugu\303\252s (Portugal)" }, - { wxLANGUAGE_PORTUGUESE_SAO_TOME_AND_PRINCIPE, "pt-ST" , "pt_ST" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (S\303\243o Tom\303\251 and Pr\303\255ncipe)","portugu\303\252s (S\303\243o Tom\303\251 e Pr\303\255ncipe)" }, - { wxLANGUAGE_PORTUGUESE_SWITZERLAND, "pt-CH" , "pt_CH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Switzerland)","portugu\303\252s (Su\303\255\303\247a)" }, - { wxLANGUAGE_PORTUGUESE_TIMOR_LESTE, "pt-TL" , "pt_TL" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Portuguese (Timor-Leste)","portugu\303\252s (Timor-Leste)" }, - { wxLANGUAGE_PRUSSIAN, "prg" , "prg" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Prussian","pr\305\253siskan" }, - { wxLANGUAGE_PRUSSIAN_WORLD, "prg-001" , "prg_001" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Prussian (World)","pr\305\253siskan (sw\304\253tai)" }, - { wxLANGUAGE_PUNJABI, "pa" , "pa" , "pa_IN" , 0x46, 0x01, wxLayout_LeftToRight, "Punjabi","\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200" }, - { wxLANGUAGE_PUNJABI_ARABIC, "pa-Arab" , "pa@arabic" , "" , 0x46, 0x02, wxLayout_RightToLeft, "Punjabi","\331\276\331\206\330\254\330\247\330\250\333\214" }, - { wxLANGUAGE_PUNJABI_GURMUKHI, "pa-Guru" , "pa@gurmukhi" , "" , 0x46, 0x01, wxLayout_LeftToRight, "Punjabi","\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200" }, - { wxLANGUAGE_PUNJABI_INDIA, "pa-IN" , "pa_IN" , "" , 0x46, 0x01, wxLayout_LeftToRight, "Punjabi (India)","\340\250\252\340\251\260\340\250\234\340\250\276\340\250\254\340\251\200 (\340\250\255\340\250\276\340\250\260\340\250\244)" }, - { wxLANGUAGE_PUNJABI_PAKISTAN, "pa-Arab-PK" , "pa_PK@arabic" , "" , 0x46, 0x02, wxLayout_RightToLeft, "Punjabi (Pakistan)","\331\276\331\206\330\254\330\247\330\250\333\214 (\331\276\330\247\332\251\330\263\330\252\330\247\331\206)" }, - { wxLANGUAGE_QUECHUA, "quz" , "quz" , "quz_BO" , 0x6b, 0x01, wxLayout_LeftToRight, "Quechua","Runasimi" }, - { wxLANGUAGE_QUECHUA_BOLIVIA, "quz-BO" , "quz_BO" , "" , 0x6b, 0x01, wxLayout_LeftToRight, "Quechua (Bolivia)","Runasimi (Bolivia)" }, - { wxLANGUAGE_QUECHUA_ECUADOR, "quz-EC" , "quz_EC" , "" , 0x6b, 0x02, wxLayout_LeftToRight, "Quechua (Ecuador)","Runasimi (Ecuador)" }, - { wxLANGUAGE_QUECHUA_MACRO, "qu" , "qu" , "" , 0 , 0 , wxLayout_LeftToRight, "Quechua","Qhichwa" }, - { wxLANGUAGE_QUECHUA_PERU, "quz-PE" , "quz_PE" , "" , 0x6b, 0x03, wxLayout_LeftToRight, "Quechua (Peru)","Runasimi (Per\303\272)" }, - { wxLANGUAGE_RHAETO_ROMANCE, "rm" , "rm" , "rm_CH" , 0x17, 0x01, wxLayout_LeftToRight, "Romansh","rumantsch" }, - { wxLANGUAGE_RHAETO_ROMANCE_SWITZERLAND, "rm-CH" , "rm_CH" , "" , 0x17, 0x01, wxLayout_LeftToRight, "Romansh (Switzerland)","rumantsch (Svizra)" }, - { wxLANGUAGE_ROMANIAN, "ro" , "ro" , "ro_RO" , 0x18, 0x01, wxLayout_LeftToRight, "Romanian","rom\303\242n\304\203" }, - { wxLANGUAGE_ROMANIAN_MOLDOVA, "ro-MD" , "ro_MD" , "" , 0x18, 0x02, wxLayout_LeftToRight, "Romanian (Moldova)","rom\303\242n\304\203 (Republica Moldova)" }, - { wxLANGUAGE_ROMANIAN_ROMANIA, "ro-RO" , "ro_RO" , "" , 0x18, 0x01, wxLayout_LeftToRight, "Romanian (Romania)","rom\303\242n\304\203 (Rom\303\242nia)" }, - { wxLANGUAGE_ROMBO, "rof" , "rof" , "rof_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Rombo","Kihorombo" }, - { wxLANGUAGE_ROMBO_TANZANIA, "rof-TZ" , "rof_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Rombo (Tanzania)","Kihorombo (Tanzania)" }, - { wxLANGUAGE_RUSSIAN, "ru" , "ru" , "ru_RU" , 0x19, 0x01, wxLayout_LeftToRight, "Russian","\321\200\321\203\321\201\321\201\320\272\320\270\320\271" }, - { wxLANGUAGE_RUSSIAN_BELARUS, "ru-BY" , "ru_BY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Russian (Belarus)","\321\200\321\203\321\201\321\201\320\272\320\270\320\271 (\320\221\320\265\320\273\320\260\321\200\321\203\321\201\321\214)" }, - { wxLANGUAGE_RUSSIAN_KAZAKHSTAN, "ru-KZ" , "ru_KZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Russian (Kazakhstan)","\321\200\321\203\321\201\321\201\320\272\320\270\320\271 (\320\232\320\260\320\267\320\260\321\205\321\201\321\202\320\260\320\275)" }, - { wxLANGUAGE_RUSSIAN_KYRGYZSTAN, "ru-KG" , "ru_KG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Russian (Kyrgyzstan)","\321\200\321\203\321\201\321\201\320\272\320\270\320\271 (\320\232\320\270\321\200\320\263\320\270\320\267\320\270\321\217)" }, - { wxLANGUAGE_RUSSIAN_MOLDOVA, "ru-MD" , "ru_MD" , "" , 0x19, 0x02, wxLayout_LeftToRight, "Russian (Moldova)","\321\200\321\203\321\201\321\201\320\272\320\270\320\271 (\320\234\320\276\320\273\320\264\320\276\320\262\320\260)" }, - { wxLANGUAGE_RUSSIAN_RUSSIA, "ru-RU" , "ru_RU" , "" , 0x19, 0x01, wxLayout_LeftToRight, "Russian (Russia)","\321\200\321\203\321\201\321\201\320\272\320\270\320\271 (\320\240\320\276\321\201\321\201\320\270\321\217)" }, - { wxLANGUAGE_RUSSIAN_UKRAINE, "ru-UA" , "ru_UA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Russian (Ukraine)","\321\200\321\203\321\201\321\201\320\272\320\270\320\271 (\320\243\320\272\321\200\320\260\320\270\320\275\320\260)" }, - { wxLANGUAGE_RWA, "rwk" , "rwk" , "rwk_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Rwa","Kiruwa" }, - { wxLANGUAGE_RWA_TANZANIA, "rwk-TZ" , "rwk_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Rwa (Tanzania)","Kiruwa (Tanzania)" }, - { wxLANGUAGE_SAHO, "ssy" , "ssy" , "ssy_ER" , 0x00, 0x04, wxLayout_LeftToRight, "Saho","Saho" }, - { wxLANGUAGE_SAHO_ERITREA, "ssy-ER" , "ssy_ER" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Saho (Eritrea)","Saho (Eretria)" }, - { wxLANGUAGE_SAKHA, "sah" , "sah" , "sah_RU" , 0x85, 0x01, wxLayout_LeftToRight, "Sakha","\321\201\320\260\321\205\320\260 \321\202\321\213\320\273\320\260" }, - { wxLANGUAGE_SAKHA_RUSSIA, "sah-RU" , "sah_RU" , "" , 0x85, 0x01, wxLayout_LeftToRight, "Sakha (Russia)","\321\201\320\260\321\205\320\260 \321\202\321\213\320\273\320\260 (\320\220\321\200\320\260\321\201\321\201\321\213\321\213\320\271\320\260)" }, - { wxLANGUAGE_SAMBURU, "saq" , "saq" , "saq_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Samburu","Kisampur" }, - { wxLANGUAGE_SAMBURU_KENYA, "saq-KE" , "saq_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Samburu (Kenya)","Kisampur (Kenya)" }, - { wxLANGUAGE_SAMI, "se" , "se" , "se_NO" , 0x3b, 0x01, wxLayout_LeftToRight, "Northern Sami","davvis\303\241megiella" }, - { wxLANGUAGE_SAMI_FINLAND, "se-FI" , "se_FI" , "" , 0x3b, 0x03, wxLayout_LeftToRight, "Sami, Northern (Finland)","davvis\303\241megiella (Suopma)" }, - { wxLANGUAGE_SAMI_INARI, "smn" , "smn" , "smn_FI" , 0x3b, 0x09, wxLayout_LeftToRight, "Sami (Inari)","anar\303\242\305\241kiel\303\242" }, - { wxLANGUAGE_SAMI_INARI_FINLAND, "smn-FI" , "smn_FI" , "" , 0x3b, 0x09, wxLayout_LeftToRight, "Sami, Inari (Finland)","anar\303\242\305\241kiel\303\242 (Suom\303\242)" }, - { wxLANGUAGE_SAMI_LULE, "smj" , "smj" , "smj_SE" , 0x3b, 0x05, wxLayout_LeftToRight, "Sami (Lule)","julevus\303\241megiella" }, - { wxLANGUAGE_SAMI_LULE_NORWAY, "smj-NO" , "smj_NO" , "" , 0x3b, 0x04, wxLayout_LeftToRight, "Sami, Lule (Norway)","julevus\303\241megiella (Vuodna)" }, - { wxLANGUAGE_SAMI_LULE_SWEDEN, "smj-SE" , "smj_SE" , "" , 0x3b, 0x05, wxLayout_LeftToRight, "Sami, Lule (Sweden)","julevus\303\241megiella (Svierik)" }, - { wxLANGUAGE_SAMI_NORWAY, "se-NO" , "se_NO" , "" , 0x3b, 0x01, wxLayout_LeftToRight, "Sami, Northern (Norway)","davvis\303\241megiella (Norga)" }, - { wxLANGUAGE_SAMI_SKOLT, "sms" , "sms" , "sms_FI" , 0x3b, 0x08, wxLayout_LeftToRight, "Sami (Skolt)","s\303\244\303\244\302\264m\307\251i\303\265ll" }, - { wxLANGUAGE_SAMI_SKOLT_FINLAND, "sms-FI" , "sms_FI" , "" , 0x3b, 0x08, wxLayout_LeftToRight, "Sami, Skolt (Finland)","s\303\244\303\244\302\264m\307\251i\303\265ll (L\303\244\303\244\302\264ddj\303\242nnam)" }, - { wxLANGUAGE_SAMI_SOUTHERN, "sma" , "sma" , "sma_SE" , 0x3b, 0x07, wxLayout_LeftToRight, "Sami (Southern)","\303\245arjelsaemieng\303\257ele" }, - { wxLANGUAGE_SAMI_SOUTHERN_NORWAY, "sma-NO" , "sma_NO" , "" , 0x3b, 0x06, wxLayout_LeftToRight, "Sami, Southern (Norway)","\303\245arjelsaemieng\303\257ele (N\303\266\303\266rje)" }, - { wxLANGUAGE_SAMI_SOUTHERN_SWEDEN, "sma-SE" , "sma_SE" , "" , 0x3b, 0x07, wxLayout_LeftToRight, "Sami, Southern (Sweden)","\303\245arjelsaemieng\303\257ele (Sveerje)" }, - { wxLANGUAGE_SAMI_SWEDEN, "se-SE" , "se_SE" , "" , 0x3b, 0x02, wxLayout_LeftToRight, "Sami, Northern (Sweden)","davvis\303\241megiella (Ruo\305\247\305\247a)" }, - { wxLANGUAGE_SAMOAN, "sm" , "sm" , "" , 0 , 0 , wxLayout_LeftToRight, "Samoan","Samoa" }, - { wxLANGUAGE_SANGHO, "sg" , "sg" , "sg_CF" , 0x00, 0x04, wxLayout_LeftToRight, "Sango","S\303\244ng\303\266" }, - { wxLANGUAGE_SANGHO_CENTRAL_AFRICAN_REPUBLIC, "sg-CF" , "sg_CF" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sango (Central African Republic)","S\303\244ng\303\266 (K\303\266d\303\266r\303\266s\303\252se t\303\256 B\303\252afr\303\256ka)" }, - { wxLANGUAGE_SANGU, "sbp" , "sbp" , "sbp_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Sangu","Ishisangu" }, - { wxLANGUAGE_SANGU_TANZANIA, "sbp-TZ" , "sbp_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sangu (Tanzania)","Ishisangu (Tansaniya)" }, - { wxLANGUAGE_SANSKRIT, "sa" , "sa" , "sa_IN" , 0x4f, 0x01, wxLayout_LeftToRight, "Sanskrit","\340\244\270\340\244\202\340\244\270\340\245\215\340\244\225\340\245\203\340\244\244" }, - { wxLANGUAGE_SANSKRIT_INDIA, "sa-IN" , "sa_IN" , "" , 0x4f, 0x01, wxLayout_LeftToRight, "Sanskrit (India)","\340\244\270\340\244\202\340\244\270\340\245\215\340\244\225\340\245\203\340\244\244 (\340\244\255\340\244\276\340\244\260\340\244\244\340\244\256\340\245\215)" }, - { wxLANGUAGE_SANTALI, "sat" , "sat" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Santali","\341\261\245\341\261\237\341\261\261\341\261\233\341\261\237\341\261\262\341\261\244" }, - { wxLANGUAGE_SANTALI_OL_CHIKI, "sat-Olck" , "sat@ol_chiki" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Santali (Ol Chiki)","\341\261\245\341\261\237\341\261\261\341\261\233\341\261\237\341\261\262\341\261\244 (\341\261\232\341\261\236 \341\261\252\341\261\244\341\261\240\341\261\244)" }, - { wxLANGUAGE_SANTALI_OL_CHIKI_INDIA, "sat-Olck-IN" , "sat_IN@ol_chiki" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Santali (Ol Chiki, India)","\341\261\245\341\261\237\341\261\261\341\261\233\341\261\237\341\261\262\341\261\244 (\341\261\244\341\261\261\341\261\260\341\261\244\341\261\255\341\261\237)" }, - { wxLANGUAGE_SCOTS_GAELIC, "gd" , "gd" , "gd_GB" , 0x91, 0x01, wxLayout_LeftToRight, "Scottish Gaelic","G\303\240idhlig" }, - { wxLANGUAGE_SCOTS_GAELIC_UK, "gd-GB" , "gd_GB" , "" , 0x91, 0x01, wxLayout_LeftToRight, "Scottish Gaelic (United Kingdom)","G\303\240idhlig (An R\303\254oghachd Aonaichte)" }, - { wxLANGUAGE_SENA, "seh" , "seh" , "seh_MZ" , 0x00, 0x04, wxLayout_LeftToRight, "Sena","sena" }, - { wxLANGUAGE_SENA_MOZAMBIQUE, "seh-MZ" , "seh_MZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sena (Mozambique)","sena (Mo\303\247ambique)" }, - { wxLANGUAGE_SERBIAN, "sr" , "sr" , "sr_RS" , 0x1a, 0x01, wxLayout_LeftToRight, "Serbian","srpski" }, - { wxLANGUAGE_SERBIAN_CYRILLIC, "sr-Cyrl" , "sr@cyrillic" , "" , 0x1a, 0x0a, wxLayout_LeftToRight, "Serbian (Cyrillic)","\321\201\321\200\320\277\321\201\320\272\320\270 (\320\213\320\270\321\200\320\270\320\273\320\270\321\206\320\260)" }, - { wxLANGUAGE_SERBIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA, "sr-Cyrl-BA" , "sr_BA@cyrillic" , "" , 0x1a, 0x07, wxLayout_LeftToRight, "Serbian (Cyrillic, Bosnia and Herzegovina)","\321\201\321\200\320\277\321\201\320\272\320\270 (\320\221\320\276\321\201\320\275\320\260 \320\270 \320\245\320\265\321\200\321\206\320\265\320\263\320\276\320\262\320\270\320\275\320\260)" }, - { wxLANGUAGE_SERBIAN_CYRILLIC_KOSOVO, "sr-Cyrl-XK" , "sr_XK@cyrillic" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Serbian (Cyrillic, Kosovo)","\321\201\321\200\320\277\321\201\320\272\320\270 (\320\232\320\276\321\201\320\276\320\262\320\276)" }, - { wxLANGUAGE_SERBIAN_CYRILLIC_MONTENEGRO, "sr-Cyrl-ME" , "sr_ME@cyrillic" , "" , 0x1a, 0x0c, wxLayout_LeftToRight, "Serbian (Cyrillic, Montenegro)","\321\201\321\200\320\277\321\201\320\272\320\270 (\320\246\321\200\320\275\320\260 \320\223\320\276\321\200\320\260)" }, - { wxLANGUAGE_SERBIAN_CYRILLIC_SERBIA, "sr-Cyrl-RS" , "sr_RS@cyrillic" , "" , 0x1a, 0x0a, wxLayout_LeftToRight, "Serbian (Cyrillic, Serbia)","\321\201\321\200\320\277\321\201\320\272\320\270 (\320\241\321\200\320\261\320\270\321\230\320\260)" }, - { wxLANGUAGE_SERBIAN_CYRILLIC_YU, "sr-Cyrl-YU" , "sr_YU@cyrillic" , "" , 0x1a, 0x03, wxLayout_LeftToRight, "Serbian (Cyrillic)","\321\201\321\200\320\277\321\201\320\272\320\270 (\320\241\321\200\320\261\320\270\321\230\320\260)" }, - { wxLANGUAGE_SERBIAN_LATIN, "sr-Latn" , "sr@latin" , "" , 0x1a, 0x09, wxLayout_LeftToRight, "Serbian (Latin)","srpski (latinica)" }, - { wxLANGUAGE_SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA, "sr-Latn-BA" , "sr_BA@latin" , "" , 0x1a, 0x06, wxLayout_LeftToRight, "Serbian (Latin, Bosnia and Herzegovina)","srpski (Bosna i Hercegovina)" }, - { wxLANGUAGE_SERBIAN_LATIN_KOSOVO, "sr-Latn-XK" , "sr_XK@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Serbian (Latin, Kosovo)","srpski (Kosovo)" }, - { wxLANGUAGE_SERBIAN_LATIN_MONTENEGRO, "sr-Latn-ME" , "sr_ME@latin" , "" , 0x1a, 0x0b, wxLayout_LeftToRight, "Serbian (Latin, Montenegro)","srpski (Crna Gora)" }, - { wxLANGUAGE_SERBIAN_LATIN_SERBIA, "sr-Latn-RS" , "sr_RS@latin" , "" , 0x1a, 0x09, wxLayout_LeftToRight, "Serbian (Latin, Serbia)","srpski (Srbija)" }, - { wxLANGUAGE_SERBIAN_LATIN_YU, "sr-Latn-YU" , "sr_YU@latin" , "" , 0x1a, 0x02, wxLayout_LeftToRight, "Serbian (Latin)","srpski (latinica)" }, - { wxLANGUAGE_SERBIAN_SERBIA, "sr-RS" , "sr_RS" , "" , 0x1a, 0x01, wxLayout_LeftToRight, "Serbian (Serbia)","srpski (Srbija)" }, - { wxLANGUAGE_SERBIAN_YU, "sr-YU" , "sr_YU" , "" , 0x1a, 0x01, wxLayout_LeftToRight, "Serbian","srpski" }, - { wxLANGUAGE_SERBO_CROATIAN, "sh" , "sh" , "" , 0 , 0 , wxLayout_LeftToRight, "Serbo-Croatian","srpskohrvatski" }, - { wxLANGUAGE_SESOTHO, "st" , "st" , "st_ZA" , 0x30, 0x01, wxLayout_LeftToRight, "Sesotho","Sesotho" }, - { wxLANGUAGE_SESOTHO_LESOTHO, "st-LS" , "st_LS" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sesotho (Lesotho)","Sesotho (Lesotho)" }, - { wxLANGUAGE_SESOTHO_SA_LEBOA, "nso" , "nso" , "nso_ZA" , 0x6c, 0x01, wxLayout_LeftToRight, "Sesotho sa Leboa","Sesotho sa Leboa" }, - { wxLANGUAGE_SESOTHO_SA_LEBOA_SOUTH_AFRICA, "nso-ZA" , "nso_ZA" , "" , 0x6c, 0x01, wxLayout_LeftToRight, "Sesotho sa Leboa (South Africa)","Sesotho sa Leboa (Afrika Borwa)" }, - { wxLANGUAGE_SESOTHO_SOUTH_AFRICA, "st-ZA" , "st_ZA" , "" , 0x30, 0x01, wxLayout_LeftToRight, "Sesotho (South Africa)","Sesotho (South Africa)" }, - { wxLANGUAGE_SETSWANA, "tn" , "tn" , "tn_ZA" , 0x32, 0x01, wxLayout_LeftToRight, "Setswana","Setswana" }, - { wxLANGUAGE_SETSWANA_BOTSWANA, "tn-BW" , "tn_BW" , "" , 0x32, 0x02, wxLayout_LeftToRight, "Setswana (Botswana)","Setswana (Botswana)" }, - { wxLANGUAGE_SETSWANA_SOUTH_AFRICA, "tn-ZA" , "tn_ZA" , "" , 0x32, 0x01, wxLayout_LeftToRight, "Setswana (South Africa)","Setswana (Aforika Borwa)" }, - { wxLANGUAGE_SHAMBALA, "ksb" , "ksb" , "ksb_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Shambala","Kishambaa" }, - { wxLANGUAGE_SHAMBALA_TANZANIA, "ksb-TZ" , "ksb_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Shambala (Tanzania)","Kishambaa (Tanzania)" }, - { wxLANGUAGE_SHONA, "sn" , "sn" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Shona","chiShona" }, - { wxLANGUAGE_SHONA_LATIN, "sn-Latn" , "sn@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Shona (Latin)","chiShona (Latin)" }, - { wxLANGUAGE_SHONA_LATIN_ZIMBABWE, "sn-Latn-ZW" , "sn_ZW@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Shona (Latin, Zimbabwe)","chiShona (Zimbabwe)" }, - { wxLANGUAGE_SINDHI, "sd" , "sd" , "" , 0x59, 0x02, wxLayout_RightToLeft, "Sindhi","\330\263\331\206\332\214\331\212" }, - { wxLANGUAGE_SINDHI_ARABIC, "sd-Arab" , "sd@arabic" , "" , 0x59, 0x02, wxLayout_RightToLeft, "Sindhi","\330\263\331\206\332\214\331\212" }, - { wxLANGUAGE_SINDHI_DEVANAGARI, "sd-Deva" , "sd@devanagari" , "" , 0x59, 0x01, wxLayout_LeftToRight, "Sindhi (Devanagari)","\340\244\270\340\244\277\340\244\250\340\245\215\340\244\247\340\245\200" }, - { wxLANGUAGE_SINDHI_DEVANAGARI_INDIA, "sd-Deva-IN" , "sd_IN@devanagari" , "" , 0x59, 0x01, wxLayout_LeftToRight, "Sindhi (Devanagari, India)","\340\244\270\340\244\277\340\244\250\340\245\215\340\244\247\340\245\200 (\340\244\255\340\244\276\340\244\260\340\244\244)" }, - { wxLANGUAGE_SINDHI_PAKISTAN, "sd-Arab-PK" , "sd_PK@arabic" , "" , 0x59, 0x02, wxLayout_RightToLeft, "Sindhi (Pakistan)","\330\263\331\206\332\214\331\212 (\331\276\330\247\332\251\330\263\330\252\330\247\331\206)" }, - { wxLANGUAGE_SINHALESE, "si" , "si" , "si_LK" , 0x5b, 0x01, wxLayout_LeftToRight, "Sinhala","\340\267\203\340\267\222\340\266\202\340\267\204\340\266\275" }, - { wxLANGUAGE_SINHALESE_SRI_LANKA, "si-LK" , "si_LK" , "" , 0x5b, 0x01, wxLayout_LeftToRight, "Sinhala (Sri Lanka)","\340\267\203\340\267\222\340\266\202\340\267\204\340\266\275 (\340\267\201\340\267\212\342\200\215\340\266\273\340\267\223 \340\266\275\340\266\202\340\266\232\340\267\217\340\267\200)" }, - { wxLANGUAGE_SISWATI, "ss" , "ss" , "ss_ZA" , 0x00, 0x04, wxLayout_LeftToRight, "siSwati","Siswati" }, - { wxLANGUAGE_SISWATI_ESWATINI, "ss-SZ" , "ss_SZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "siSwati (Eswatini)","siSwati (eSwatini)" }, - { wxLANGUAGE_SISWATI_SOUTH_AFRICA, "ss-ZA" , "ss_ZA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "siSwati (South Africa)","siSwati (South Africa)" }, - { wxLANGUAGE_SLOVAK, "sk" , "sk" , "sk_SK" , 0x1b, 0x01, wxLayout_LeftToRight, "Slovak","sloven\304\215ina" }, - { wxLANGUAGE_SLOVAK_SLOVAKIA, "sk-SK" , "sk_SK" , "" , 0x1b, 0x01, wxLayout_LeftToRight, "Slovak (Slovakia)","sloven\304\215ina (Slovensko)" }, - { wxLANGUAGE_SLOVENIAN, "sl" , "sl" , "sl_SI" , 0x24, 0x01, wxLayout_LeftToRight, "Slovenian","sloven\305\241\304\215ina" }, - { wxLANGUAGE_SLOVENIAN_SLOVENIA, "sl-SI" , "sl_SI" , "" , 0x24, 0x01, wxLayout_LeftToRight, "Slovenian (Slovenia)","sloven\305\241\304\215ina (Slovenija)" }, - { wxLANGUAGE_SOGA, "xog" , "xog" , "xog_UG" , 0x00, 0x04, wxLayout_LeftToRight, "Soga","Olusoga" }, - { wxLANGUAGE_SOGA_UGANDA, "xog-UG" , "xog_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Soga (Uganda)","Olusoga (Yuganda)" }, - { wxLANGUAGE_SOMALI, "so" , "so" , "so_SO" , 0x77, 0x01, wxLayout_LeftToRight, "Somali","Soomaali" }, - { wxLANGUAGE_SOMALI_DJIBOUTI, "so-DJ" , "so_DJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Somali (Djibouti)","Soomaali (Jabuuti)" }, - { wxLANGUAGE_SOMALI_ETHIOPIA, "so-ET" , "so_ET" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Somali (Ethiopia)","Soomaali (Itoobiya)" }, - { wxLANGUAGE_SOMALI_KENYA, "so-KE" , "so_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Somali (Kenya)","Soomaali (Kenya)" }, - { wxLANGUAGE_SOMALI_SOMALIA, "so-SO" , "so_SO" , "" , 0x77, 0x01, wxLayout_LeftToRight, "Somali (Somalia)","Soomaali (Soomaaliya)" }, - { wxLANGUAGE_SOUTH_NDEBELE, "nr" , "nr" , "nr_ZA" , 0x00, 0x04, wxLayout_LeftToRight, "South Ndebele","isiNdebele" }, - { wxLANGUAGE_SOUTH_NDEBELE_SOUTH_AFRICA, "nr-ZA" , "nr_ZA" , "" , 0x00, 0x04, wxLayout_LeftToRight, "South Ndebele (South Africa)","isiNdebele (South Africa)" }, - { wxLANGUAGE_SPANISH, "es" , "es" , "es_ES" , 0x0a, 0x03, wxLayout_LeftToRight, "Spanish","espa\303\261ol" }, - { wxLANGUAGE_SPANISH_ARGENTINA, "es-AR" , "es_AR" , "" , 0x0a, 0x0b, wxLayout_LeftToRight, "Spanish (Argentina)","espa\303\261ol (Argentina)" }, - { wxLANGUAGE_SPANISH_BELIZE, "es-BZ" , "es_BZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Spanish (Belize)","espa\303\261ol (Belice)" }, - { wxLANGUAGE_SPANISH_BOLIVIA, "es-BO" , "es_BO" , "" , 0x0a, 0x10, wxLayout_LeftToRight, "Spanish (Bolivia)","espa\303\261ol (Bolivia)" }, - { wxLANGUAGE_SPANISH_BRAZIL, "es-BR" , "es_BR" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Spanish (Brazil)","espa\303\261ol (Brasil)" }, - { wxLANGUAGE_SPANISH_CHILE, "es-CL" , "es_CL" , "" , 0x0a, 0x0d, wxLayout_LeftToRight, "Spanish (Chile)","espa\303\261ol (Chile)" }, - { wxLANGUAGE_SPANISH_COLOMBIA, "es-CO" , "es_CO" , "" , 0x0a, 0x09, wxLayout_LeftToRight, "Spanish (Colombia)","espa\303\261ol (Colombia)" }, - { wxLANGUAGE_SPANISH_COSTA_RICA, "es-CR" , "es_CR" , "" , 0x0a, 0x05, wxLayout_LeftToRight, "Spanish (Costa Rica)","espa\303\261ol (Costa Rica)" }, - { wxLANGUAGE_SPANISH_CUBA, "es-CU" , "es_CU" , "" , 0x0a, 0x17, wxLayout_LeftToRight, "Spanish (Cuba)","espa\303\261ol (Cuba)" }, - { wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC, "es-DO" , "es_DO" , "" , 0x0a, 0x07, wxLayout_LeftToRight, "Spanish (Dominican Republic)","espa\303\261ol (Rep\303\272blica Dominicana)" }, - { wxLANGUAGE_SPANISH_ECUADOR, "es-EC" , "es_EC" , "" , 0x0a, 0x0c, wxLayout_LeftToRight, "Spanish (Ecuador)","espa\303\261ol (Ecuador)" }, - { wxLANGUAGE_SPANISH_EL_SALVADOR, "es-SV" , "es_SV" , "" , 0x0a, 0x11, wxLayout_LeftToRight, "Spanish (El Salvador)","espa\303\261ol (El Salvador)" }, - { wxLANGUAGE_SPANISH_EQUATORIAL_GUINEA, "es-GQ" , "es_GQ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Spanish (Equatorial Guinea)","espa\303\261ol (Guinea Ecuatorial)" }, - { wxLANGUAGE_SPANISH_GUATEMALA, "es-GT" , "es_GT" , "" , 0x0a, 0x04, wxLayout_LeftToRight, "Spanish (Guatemala)","espa\303\261ol (Guatemala)" }, - { wxLANGUAGE_SPANISH_HONDURAS, "es-HN" , "es_HN" , "" , 0x0a, 0x12, wxLayout_LeftToRight, "Spanish (Honduras)","espa\303\261ol (Honduras)" }, - { wxLANGUAGE_SPANISH_LATIN_AMERICA, "es-419" , "es_419" , "" , 0x0a, 0x16, wxLayout_LeftToRight, "Spanish (Latin America)","espa\303\261ol (Latinoam\303\251rica)" }, - { wxLANGUAGE_SPANISH_MEXICAN, "es-MX" , "es_MX" , "" , 0x0a, 0x02, wxLayout_LeftToRight, "Spanish (Mexico)","espa\303\261ol (M\303\251xico)" }, - { wxLANGUAGE_SPANISH_NICARAGUA, "es-NI" , "es_NI" , "" , 0x0a, 0x13, wxLayout_LeftToRight, "Spanish (Nicaragua)","espa\303\261ol (Nicaragua)" }, - { wxLANGUAGE_SPANISH_PANAMA, "es-PA" , "es_PA" , "" , 0x0a, 0x06, wxLayout_LeftToRight, "Spanish (Panama)","espa\303\261ol (Panam\303\241)" }, - { wxLANGUAGE_SPANISH_PARAGUAY, "es-PY" , "es_PY" , "" , 0x0a, 0x0f, wxLayout_LeftToRight, "Spanish (Paraguay)","espa\303\261ol (Paraguay)" }, - { wxLANGUAGE_SPANISH_PERU, "es-PE" , "es_PE" , "" , 0x0a, 0x0a, wxLayout_LeftToRight, "Spanish (Peru)","espa\303\261ol (Per\303\272)" }, - { wxLANGUAGE_SPANISH_PHILIPPINES, "es-PH" , "es_PH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Spanish (Philippines)","espa\303\261ol (Filipinas)" }, - { wxLANGUAGE_SPANISH_PUERTO_RICO, "es-PR" , "es_PR" , "" , 0x0a, 0x14, wxLayout_LeftToRight, "Spanish (Puerto Rico)","espa\303\261ol (Puerto Rico)" }, - { wxLANGUAGE_SPANISH_SPAIN, "es-ES" , "es_ES" , "" , 0x0a, 0x03, wxLayout_LeftToRight, "Spanish (Spain, International Sort)","espa\303\261ol (Espa\303\261a, alfabetizaci\303\263n internacional)" }, - { wxLANGUAGE_SPANISH_URUGUAY, "es-UY" , "es_UY" , "" , 0x0a, 0x0e, wxLayout_LeftToRight, "Spanish (Uruguay)","espa\303\261ol (Uruguay)" }, - { wxLANGUAGE_SPANISH_US, "es-US" , "es_US" , "" , 0x0a, 0x15, wxLayout_LeftToRight, "Spanish (United States)","espa\303\261ol (Estados Unidos)" }, - { wxLANGUAGE_SPANISH_VENEZUELA, "es-VE" , "es_VE" , "" , 0x0a, 0x08, wxLayout_LeftToRight, "Spanish (Venezuela)","espa\303\261ol (Venezuela)" }, - { wxLANGUAGE_STANDARD_MOROCCAN_TAMAZIGHT, "zgh" , "zgh" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Standard Moroccan Tamazight","\342\265\234\342\264\260\342\265\216\342\264\260\342\265\243\342\265\211\342\265\226\342\265\234" }, - { wxLANGUAGE_STANDARD_MOROCCAN_TAMAZIGHT_TIFINAGH, "zgh-Tfng" , "zgh@tifinagh" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Standard Moroccan Tamazight (Tifinagh)","\342\265\234\342\264\260\342\265\216\342\264\260\342\265\243\342\265\211\342\265\226\342\265\234 (Tifinagh)" }, - { wxLANGUAGE_STANDARD_MOROCCAN_TAMAZIGHT_TIFINAGH_MOROCCO, "zgh-Tfng-MA" , "zgh_MA@tifinagh" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Standard Moroccan Tamazight (Tifinagh, Morocco)","\342\265\234\342\264\260\342\265\216\342\264\260\342\265\243\342\265\211\342\265\226\342\265\234 (\342\265\215\342\265\216\342\265\226\342\265\224\342\265\211\342\264\261)" }, - { wxLANGUAGE_SUNDANESE, "su" , "su" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sundanese","Basa Sunda" }, - { wxLANGUAGE_SUNDANESE_LATIN, "su-Latn" , "su@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sundanese (Latin)","Basa Sunda (Latin)" }, - { wxLANGUAGE_SUNDANESE_LATIN_INDONESIA, "su-Latn-ID" , "su_ID@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Sundanese (Latin, Indonesia)","Basa Sunda (Indonesia)" }, - { wxLANGUAGE_SWAHILI, "sw" , "sw" , "sw_KE" , 0x41, 0x01, wxLayout_LeftToRight, "Kiswahili","Kiswahili" }, - { wxLANGUAGE_SWAHILI_CONGO_DRC, "sw-CD" , "sw_CD" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kiswahili (Congo DRC)","Kiswahili (Jamhuri ya Kidemokrasia ya Kongo)" }, - { wxLANGUAGE_SWAHILI_KENYA, "sw-KE" , "sw_KE" , "" , 0x41, 0x01, wxLayout_LeftToRight, "Kiswahili (Kenya)","Kiswahili (Kenya)" }, - { wxLANGUAGE_SWAHILI_TANZANIA, "sw-TZ" , "sw_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kiswahili (Tanzania)","Kiswahili (Tanzania)" }, - { wxLANGUAGE_SWAHILI_UGANDA, "sw-UG" , "sw_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Kiswahili (Uganda)","Kiswahili (Uganda)" }, - { wxLANGUAGE_SWEDISH, "sv" , "sv" , "sv_SE" , 0x1d, 0x01, wxLayout_LeftToRight, "Swedish","svenska" }, - { wxLANGUAGE_SWEDISH_ALAND_ISLANDS, "sv-AX" , "sv_AX" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Swedish (\303\205land Islands)","svenska (\303\205land)" }, - { wxLANGUAGE_SWEDISH_FINLAND, "sv-FI" , "sv_FI" , "" , 0x1d, 0x02, wxLayout_LeftToRight, "Swedish (Finland)","svenska (Finland)" }, - { wxLANGUAGE_SWEDISH_SWEDEN, "sv-SE" , "sv_SE" , "" , 0x1d, 0x01, wxLayout_LeftToRight, "Swedish (Sweden)","svenska (Sverige)" }, - { wxLANGUAGE_SWISS_GERMAN, "gsw" , "gsw" , "gsw_CH" , 0x00, 0x04, wxLayout_LeftToRight, "Swiss German","Schwiizert\303\274\303\274tsch" }, - { wxLANGUAGE_SWISS_GERMAN_LIECHTENSTEIN, "gsw-LI" , "gsw_LI" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Swiss German (Liechtenstein)","Schwiizert\303\274\303\274tsch (Li\303\244chtescht\303\244i)" }, - { wxLANGUAGE_SWISS_GERMAN_SWITZERLAND, "gsw-CH" , "gsw_CH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Swiss German (Switzerland)","Schwiizert\303\274\303\274tsch (Schwiiz)" }, - { wxLANGUAGE_SYRIAC, "syr" , "syr" , "syr_SY" , 0x5a, 0x01, wxLayout_RightToLeft, "Syriac","\334\243\334\230\334\252\334\235\334\235\334\220" }, - { wxLANGUAGE_SYRIAC_SYRIA, "syr-SY" , "syr_SY" , "" , 0x5a, 0x01, wxLayout_RightToLeft, "Syriac (Syria)","\334\243\334\230\334\252\334\235\334\235\334\220 (\334\243\334\230\334\252\334\235\334\220)" }, - { wxLANGUAGE_TACHELHIT, "shi" , "shi" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tachelhit","\342\265\234\342\264\260\342\265\233\342\265\215\342\265\203\342\265\211\342\265\234" }, - { wxLANGUAGE_TACHELHIT_LATIN, "shi-Latn" , "shi@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tachelhit (Latin)","Tashel\341\270\245iyt (Latin)" }, - { wxLANGUAGE_TACHELHIT_LATIN_MOROCCO, "shi-Latn-MA" , "shi_MA@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tachelhit (Latin, Morocco)","Tashel\341\270\245iyt (lm\311\243rib)" }, - { wxLANGUAGE_TACHELHIT_TIFINAGH, "shi-Tfng" , "shi@tifinagh" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tachelhit (Tifinagh)","\342\265\234\342\264\260\342\265\233\342\265\215\342\265\203\342\265\211\342\265\234 (Tifinagh)" }, - { wxLANGUAGE_TACHELHIT_TIFINAGH_MOROCCO, "shi-Tfng-MA" , "shi_MA@tifinagh" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tachelhit (Tifinagh, Morocco)","\342\265\234\342\264\260\342\265\233\342\265\215\342\265\203\342\265\211\342\265\234 (\342\265\215\342\265\216\342\265\226\342\265\224\342\265\211\342\264\261)" }, - { wxLANGUAGE_TAGALOG, "tl-PH" , "tl_PH" , "" , 0 , 0 , wxLayout_LeftToRight, "Tagalog","Tagalog" }, - { wxLANGUAGE_TAITA, "dav" , "dav" , "dav_KE" , 0x00, 0x04, wxLayout_LeftToRight, "Taita","Kitaita" }, - { wxLANGUAGE_TAITA_KENYA, "dav-KE" , "dav_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Taita (Kenya)","Kitaita (Kenya)" }, - { wxLANGUAGE_TAJIK, "tg" , "tg" , "" , 0x28, 0x01, wxLayout_LeftToRight, "Tajik","\320\242\320\276\322\267\320\270\320\272\323\243" }, - { wxLANGUAGE_TAJIK_CYRILLIC, "tg-Cyrl" , "tg@cyrillic" , "" , 0x28, 0x01, wxLayout_LeftToRight, "Tajik (Cyrillic)","\320\242\320\276\322\267\320\270\320\272\323\243 (\320\232\320\270\321\200\320\270\320\273\320\273\320\270\320\272\323\243)" }, - { wxLANGUAGE_TAJIK_CYRILLIC_TAJIKISTAN, "tg-Cyrl-TJ" , "tg_TJ@cyrillic" , "" , 0x28, 0x01, wxLayout_LeftToRight, "Tajik (Cyrillic, Tajikistan)","\321\202\320\276\322\267\320\270\320\272\323\243 (\320\242\320\276\322\267\320\270\320\272\320\270\321\201\321\202\320\276\320\275)" }, - { wxLANGUAGE_TAMIL, "ta" , "ta" , "ta_IN" , 0x49, 0x01, wxLayout_LeftToRight, "Tamil","\340\256\244\340\256\256\340\256\277\340\256\264\340\257\215" }, - { wxLANGUAGE_TAMIL_INDIA, "ta-IN" , "ta_IN" , "" , 0x49, 0x01, wxLayout_LeftToRight, "Tamil (India)","\340\256\244\340\256\256\340\256\277\340\256\264\340\257\215 (\340\256\207\340\256\250\340\257\215\340\256\244\340\256\277\340\256\257\340\256\276)" }, - { wxLANGUAGE_TAMIL_MALAYSIA, "ta-MY" , "ta_MY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tamil (Malaysia)","\340\256\244\340\256\256\340\256\277\340\256\264\340\257\215 (\340\256\256\340\256\262\340\257\207\340\256\232\340\256\277\340\256\257\340\256\276)" }, - { wxLANGUAGE_TAMIL_SINGAPORE, "ta-SG" , "ta_SG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tamil (Singapore)","\340\256\244\340\256\256\340\256\277\340\256\264\340\257\215 (\340\256\232\340\256\277\340\256\231\340\257\215\340\256\225\340\256\252\340\257\215\340\256\252\340\257\202\340\256\260\340\257\215)" }, - { wxLANGUAGE_TAMIL_SRI_LANKA, "ta-LK" , "ta_LK" , "" , 0x49, 0x02, wxLayout_LeftToRight, "Tamil (Sri Lanka)","\340\256\244\340\256\256\340\256\277\340\256\264\340\257\215 (\340\256\207\340\256\262\340\256\231\340\257\215\340\256\225\340\257\210)" }, - { wxLANGUAGE_TASAWAQ, "twq" , "twq" , "twq_NE" , 0x00, 0x04, wxLayout_LeftToRight, "Tasawaq","Tasawaq senni" }, - { wxLANGUAGE_TASAWAQ_NIGER, "twq-NE" , "twq_NE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tasawaq (Niger)","Tasawaq senni (Ni\305\276er)" }, - { wxLANGUAGE_TATAR, "tt" , "tt" , "tt_RU" , 0x44, 0x01, wxLayout_LeftToRight, "Tatar","\320\242\320\260\321\202\320\260\321\200" }, - { wxLANGUAGE_TATAR_RUSSIA, "tt-RU" , "tt_RU" , "" , 0x44, 0x01, wxLayout_LeftToRight, "Tatar (Russia)","\320\242\320\260\321\202\320\260\321\200 (\320\240\320\276\321\201\321\201\320\270\321\217)" }, - { wxLANGUAGE_TELUGU, "te" , "te" , "te_IN" , 0x4a, 0x01, wxLayout_LeftToRight, "Telugu","\340\260\244\340\261\206\340\260\262\340\261\201\340\260\227\340\261\201" }, - { wxLANGUAGE_TELUGU_INDIA, "te-IN" , "te_IN" , "" , 0x4a, 0x01, wxLayout_LeftToRight, "Telugu (India)","\340\260\244\340\261\206\340\260\262\340\261\201\340\260\227\340\261\201 (\340\260\255\340\260\276\340\260\260\340\260\244\340\260\246\340\261\207\340\260\266\340\260\202)" }, - { wxLANGUAGE_TESO, "teo" , "teo" , "teo_UG" , 0x00, 0x04, wxLayout_LeftToRight, "Teso","Kiteso" }, - { wxLANGUAGE_TESO_KENYA, "teo-KE" , "teo_KE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Teso (Kenya)","Kiteso (Kenia)" }, - { wxLANGUAGE_TESO_UGANDA, "teo-UG" , "teo_UG" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Teso (Uganda)","Kiteso (Uganda)" }, - { wxLANGUAGE_THAI, "th" , "th" , "th_TH" , 0x1e, 0x01, wxLayout_LeftToRight, "Thai","\340\271\204\340\270\227\340\270\242" }, - { wxLANGUAGE_THAI_THAILAND, "th-TH" , "th_TH" , "" , 0x1e, 0x01, wxLayout_LeftToRight, "Thai (Thailand)","\340\271\204\340\270\227\340\270\242 (\340\271\204\340\270\227\340\270\242)" }, - { wxLANGUAGE_TIBETAN, "bo" , "bo" , "bo_CN" , 0x51, 0x01, wxLayout_LeftToRight, "Tibetan","\340\275\226\340\275\274\340\275\221\340\274\213\340\275\241\340\275\262\340\275\202" }, - { wxLANGUAGE_TIBETAN_CHINA, "bo-CN" , "bo_CN" , "" , 0x51, 0x01, wxLayout_LeftToRight, "Tibetan (China)","\340\275\226\340\275\274\340\275\221\340\274\213\340\275\241\340\275\262\340\275\202 (\340\275\200\340\276\262\340\275\264\340\275\204\340\274\213\340\275\247\340\276\255\340\274\213\340\275\230\340\275\262\340\274\213\340\275\221\340\275\230\340\275\204\340\275\246\340\274\213\340\275\246\340\276\244\340\276\261\340\275\262\340\274\213\340\275\230\340\275\220\340\275\264\340\275\223\340\274\213\340\275\242\340\276\222\340\276\261\340\275\243\340\274\213\340\275\201\340\275\226\340\274\215)" }, - { wxLANGUAGE_TIBETAN_INDIA, "bo-IN" , "bo_IN" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tibetan (India)","\340\275\226\340\275\274\340\275\221\340\274\213\340\275\246\340\276\220\340\275\221\340\274\213 (\340\275\242\340\276\222\340\276\261\340\274\213\340\275\202\340\275\242\340\274\213)" }, - { wxLANGUAGE_TIGRE, "tig" , "tig" , "tig_ER" , 0x00, 0x04, wxLayout_LeftToRight, "Tigre","\341\211\265\341\214\215\341\210\250" }, - { wxLANGUAGE_TIGRE_ERITREA, "tig-ER" , "tig_ER" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tigre (Eritrea)","\341\211\265\341\214\215\341\210\250 (\341\212\244\341\210\255\341\211\265\341\210\253)" }, - { wxLANGUAGE_TIGRINYA, "ti" , "ti" , "ti_ER" , 0x73, 0x02, wxLayout_LeftToRight, "Tigrinya","\341\211\265\341\214\215\341\210\255" }, - { wxLANGUAGE_TIGRINYA_ERITREA, "ti-ER" , "ti_ER" , "" , 0x73, 0x02, wxLayout_LeftToRight, "Tigrinya (Eritrea)","\341\211\265\341\214\215\341\210\255 (\341\212\244\341\210\255\341\211\265\341\210\253)" }, - { wxLANGUAGE_TIGRINYA_ETHIOPIA, "ti-ET" , "ti_ET" , "" , 0x73, 0x01, wxLayout_LeftToRight, "Tigrinya (Ethiopia)","\341\211\265\341\214\215\341\210\255 (\341\212\242\341\211\265\341\213\256\341\214\265\341\213\253)" }, - { wxLANGUAGE_TONGA, "to" , "to" , "to_TO" , 0x00, 0x04, wxLayout_LeftToRight, "Tongan","lea fakatonga" }, - { wxLANGUAGE_TONGA_TONGA, "to-TO" , "to_TO" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Tongan (Tonga)","lea fakatonga (Tonga)" }, - { wxLANGUAGE_TSONGA, "ts" , "ts" , "ts_ZA" , 0x31, 0x01, wxLayout_LeftToRight, "Xitsonga","Xitsonga" }, - { wxLANGUAGE_TSONGA_SOUTH_AFRICA, "ts-ZA" , "ts_ZA" , "" , 0x31, 0x01, wxLayout_LeftToRight, "Xitsonga (South Africa)","Xitsonga (South Africa)" }, - { wxLANGUAGE_TURKISH, "tr" , "tr" , "tr_TR" , 0x1f, 0x01, wxLayout_LeftToRight, "Turkish","T\303\274rk\303\247e" }, - { wxLANGUAGE_TURKISH_CYPRUS, "tr-CY" , "tr_CY" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Turkish (Cyprus)","T\303\274rk\303\247e (K\304\261br\304\261s)" }, - { wxLANGUAGE_TURKISH_TURKEY, "tr-TR" , "tr_TR" , "" , 0x1f, 0x01, wxLayout_LeftToRight, "Turkish (Turkey)","T\303\274rk\303\247e (T\303\274rkiye)" }, - { wxLANGUAGE_TURKMEN, "tk" , "tk" , "tk_TM" , 0x42, 0x01, wxLayout_LeftToRight, "Turkmen","T\303\274rkmen dili" }, - { wxLANGUAGE_TURKMEN_TURKMENISTAN, "tk-TM" , "tk_TM" , "" , 0x42, 0x01, wxLayout_LeftToRight, "Turkmen (Turkmenistan)","T\303\274rkmen dili (T\303\274rkmenistan)" }, - { wxLANGUAGE_TWI, "tw" , "tw" , "" , 0 , 0 , wxLayout_LeftToRight, "Twi","Twi" }, - { wxLANGUAGE_UIGHUR, "ug" , "ug" , "ug_CN" , 0x80, 0x01, wxLayout_RightToLeft, "Uyghur","\330\246\333\207\331\212\330\272\333\207\330\261\332\206\333\225" }, - { wxLANGUAGE_UIGHUR_CHINA, "ug-CN" , "ug_CN" , "" , 0x80, 0x01, wxLayout_RightToLeft, "Uyghur (China)","\330\246\333\207\331\212\330\272\333\207\330\261\332\206\333\225 (\330\254\333\207\332\255\330\256\333\207\330\247 \330\256\333\225\331\204\331\202 \330\254\333\207\331\205\332\276\333\207\330\261\331\211\331\212\331\211\330\252\331\211)" }, - { wxLANGUAGE_UKRAINIAN, "uk" , "uk" , "uk_UA" , 0x22, 0x01, wxLayout_LeftToRight, "Ukrainian","\321\203\320\272\321\200\320\260\321\227\320\275\321\201\321\214\320\272\320\260" }, - { wxLANGUAGE_UKRAINIAN_UKRAINE, "uk-UA" , "uk_UA" , "" , 0x22, 0x01, wxLayout_LeftToRight, "Ukrainian (Ukraine)","\321\203\320\272\321\200\320\260\321\227\320\275\321\201\321\214\320\272\320\260 (\320\243\320\272\321\200\320\260\321\227\320\275\320\260)" }, - { wxLANGUAGE_UPPER_SORBIAN, "hsb" , "hsb" , "hsb_DE" , 0x2e, 0x01, wxLayout_LeftToRight, "Upper Sorbian","hornjoserb\305\241\304\207ina" }, - { wxLANGUAGE_UPPER_SORBIAN_GERMANY, "hsb-DE" , "hsb_DE" , "" , 0x2e, 0x01, wxLayout_LeftToRight, "Upper Sorbian (Germany)","hornjoserb\305\241\304\207ina (N\304\233mska)" }, - { wxLANGUAGE_URDU, "ur" , "ur" , "ur_PK" , 0x20, 0x01, wxLayout_RightToLeft, "Urdu","\330\247\331\217\330\261\330\257\331\210" }, - { wxLANGUAGE_URDU_INDIA, "ur-IN" , "ur_IN" , "" , 0x20, 0x02, wxLayout_RightToLeft, "Urdu (India)","\330\247\330\261\330\257\331\210 (\330\250\332\276\330\247\330\261\330\252)" }, - { wxLANGUAGE_URDU_PAKISTAN, "ur-PK" , "ur_PK" , "" , 0x20, 0x01, wxLayout_RightToLeft, "Urdu (Pakistan)","\330\247\331\217\330\261\330\257\331\210 (\331\276\330\247\332\251\330\263\330\252\330\247\331\206)" }, - { wxLANGUAGE_UZBEK, "uz" , "uz" , "" , 0x43, 0x01, wxLayout_LeftToRight, "Uzbek","o\342\200\230zbek" }, - { wxLANGUAGE_UZBEK_ARABIC, "uz-Arab" , "uz@arabic" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Uzbek (Arabic)","\330\247\331\210\330\262\330\250\333\214\332\251 (\330\271\330\261\330\250\333\214)" }, - { wxLANGUAGE_UZBEK_ARABIC_AFGHANISTAN, "uz-Arab-AF" , "uz_AF@arabic" , "" , 0x00, 0x04, wxLayout_RightToLeft, "Uzbek (Arabic, Afghanistan)","\330\247\331\210\330\262\330\250\333\214\332\251 (\330\247\331\201\330\272\330\247\331\206\330\263\330\252\330\247\331\206)" }, - { wxLANGUAGE_UZBEK_CYRILLIC, "uz-Cyrl" , "uz@cyrillic" , "" , 0x43, 0x02, wxLayout_LeftToRight, "Uzbek (Cyrillic)","\320\216\320\267\320\261\320\265\320\272 (\320\232\320\270\321\200\320\270\320\273)" }, - { wxLANGUAGE_UZBEK_CYRILLIC_UZBEKISTAN, "uz-Cyrl-UZ" , "uz_UZ@cyrillic" , "" , 0x43, 0x02, wxLayout_LeftToRight, "Uzbek (Cyrillic, Uzbekistan)","\321\236\320\267\320\261\320\265\320\272\321\207\320\260 (\320\216\320\267\320\261\320\265\320\272\320\270\321\201\321\202\320\276\320\275)" }, - { wxLANGUAGE_UZBEK_LATIN, "uz-Latn" , "uz@latin" , "" , 0x43, 0x01, wxLayout_LeftToRight, "Uzbek (Latin)","o\342\200\230zbek" }, - { wxLANGUAGE_UZBEK_LATIN_UZBEKISTAN, "uz-Latn-UZ" , "uz_UZ@latin" , "" , 0x43, 0x01, wxLayout_LeftToRight, "Uzbek (Latin, Uzbekistan)","o\342\200\230zbek (O\312\273zbekiston)" }, - { wxLANGUAGE_VAI, "vai" , "vai" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Vai","\352\225\231\352\224\244" }, - { wxLANGUAGE_VAI_LATIN, "vai-Latn" , "vai@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Vai (Latin)","Vai (Latin)" }, - { wxLANGUAGE_VAI_LATIN_LIBERIA, "vai-Latn-LR" , "vai_LR@latin" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Vai (Latin, Liberia)","Vai (Laibhiya)" }, - { wxLANGUAGE_VAI_VAI, "vai-Vaii" , "vai@vai" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Vai (Vai)","\352\225\231\352\224\244 (Vai)" }, - { wxLANGUAGE_VAI_VAI_LIBERIA, "vai-Vaii-LR" , "vai_LR@vai" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Vai (Vai, Liberia)","\352\225\231\352\224\244 (\352\225\236\352\224\244\352\224\253\352\225\251)" }, - { wxLANGUAGE_VALENCIAN, "ca-ES-valencia" , "ca_ES@valencia" , "" , 0x03, 0x02, wxLayout_LeftToRight, "Valencian (Spain)","valenci\303\240 (Espanya)" }, - { wxLANGUAGE_VENDA, "ve" , "ve" , "ve_ZA" , 0x33, 0x01, wxLayout_LeftToRight, "Venda","Tshiven\341\270\223a" }, - { wxLANGUAGE_VENDA_SOUTH_AFRICA, "ve-ZA" , "ve_ZA" , "" , 0x33, 0x01, wxLayout_LeftToRight, "Venda (South Africa)","Tshiven\341\270\223a (South Africa)" }, - { wxLANGUAGE_VIETNAMESE, "vi" , "vi" , "vi_VN" , 0x2a, 0x01, wxLayout_LeftToRight, "Vietnamese","Ti\303\252\314\201ng Vi\341\273\207t" }, - { wxLANGUAGE_VIETNAMESE_VIETNAM, "vi-VN" , "vi_VN" , "" , 0x2a, 0x01, wxLayout_LeftToRight, "Vietnamese (Vietnam)","Ti\303\252\314\201ng Vi\341\273\207t (Vi\341\273\207t Nam)" }, - { wxLANGUAGE_VOLAPUK, "vo" , "vo" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Volap\303\274k","Volap\303\274k" }, - { wxLANGUAGE_VOLAPUK_WORLD, "vo-001" , "vo_001" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Volap\303\274k (World)","Volap\303\274k (World)" }, - { wxLANGUAGE_VUNJO, "vun" , "vun" , "vun_TZ" , 0x00, 0x04, wxLayout_LeftToRight, "Vunjo","Kyivunjo" }, - { wxLANGUAGE_VUNJO_TANZANIA, "vun-TZ" , "vun_TZ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Vunjo (Tanzania)","Kyivunjo (Tanzania)" }, - { wxLANGUAGE_WALSER, "wae" , "wae" , "wae_CH" , 0x00, 0x04, wxLayout_LeftToRight, "Walser","Walser" }, - { wxLANGUAGE_WALSER_SWITZERLAND, "wae-CH" , "wae_CH" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Walser (Switzerland)","Walser (Schwiz)" }, - { wxLANGUAGE_WELSH, "cy" , "cy" , "cy_GB" , 0x52, 0x01, wxLayout_LeftToRight, "Welsh","Cymraeg" }, - { wxLANGUAGE_WELSH_UK, "cy-GB" , "cy_GB" , "" , 0x52, 0x01, wxLayout_LeftToRight, "Welsh (United Kingdom)","Cymraeg (Y Deyrnas Unedig)" }, - { wxLANGUAGE_WOLAYTTA, "wal" , "wal" , "wal_ET" , 0x00, 0x04, wxLayout_LeftToRight, "Wolaytta","\341\213\210\341\210\213\341\213\255\341\211\263\341\211\261" }, - { wxLANGUAGE_WOLAYTTA_ETHIOPIA, "wal-ET" , "wal_ET" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Wolaytta (Ethiopia)","\341\213\210\341\210\213\341\213\255\341\211\263\341\211\261 (\341\212\242\341\211\265\341\213\256\341\214\265\341\213\253)" }, - { wxLANGUAGE_WOLOF, "wo" , "wo" , "wo_SN" , 0x88, 0x01, wxLayout_LeftToRight, "Wolof","Wolof" }, - { wxLANGUAGE_WOLOF_SENEGAL, "wo-SN" , "wo_SN" , "" , 0x88, 0x01, wxLayout_LeftToRight, "Wolof (Senegal)","Wolof (Senegaal)" }, - { wxLANGUAGE_XHOSA, "xh" , "xh" , "xh_ZA" , 0x34, 0x01, wxLayout_LeftToRight, "isiXhosa","isiXhosa" }, - { wxLANGUAGE_XHOSA_SOUTH_AFRICA, "xh-ZA" , "xh_ZA" , "" , 0x34, 0x01, wxLayout_LeftToRight, "isiXhosa (South Africa)","isiXhosa (eMzantsi Afrika)" }, - { wxLANGUAGE_YANGBEN, "yav" , "yav" , "yav_CM" , 0x00, 0x04, wxLayout_LeftToRight, "Yangben","nuasue" }, - { wxLANGUAGE_YANGBEN_CAMEROON, "yav-CM" , "yav_CM" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Yangben (Cameroon)","nuasue (Kemel\303\272n)" }, - { wxLANGUAGE_YI, "ii" , "ii" , "ii_CN" , 0x78, 0x01, wxLayout_LeftToRight, "Yi","\352\206\210\352\214\240\352\201\261\352\202\267" }, - { wxLANGUAGE_YIDDISH, "yi" , "yi" , "" , 0x3d, 0x01, wxLayout_RightToLeft, "Yiddish","\327\231\327\231\326\264\327\223\327\231\327\251" }, - { wxLANGUAGE_YIDDISH_WORLD, "yi-001" , "yi_001" , "" , 0x3d, 0x01, wxLayout_RightToLeft, "Yiddish (World)","\327\231\327\231\326\264\327\223\327\231\327\251 (\327\225\327\225\327\242\327\234\327\230)" }, - { wxLANGUAGE_YI_CHINA, "ii-CN" , "ii_CN" , "" , 0x78, 0x01, wxLayout_LeftToRight, "Yi (China)","\352\206\210\352\214\240\352\201\261\352\202\267 (\352\215\217\352\211\270\352\217\223\352\202\261\352\207\255\352\211\274\352\207\251)" }, - { wxLANGUAGE_YORUBA, "yo" , "yo" , "yo_NG" , 0x6a, 0x01, wxLayout_LeftToRight, "Yoruba","\303\210d\303\250 Yor\303\271b\303\241" }, - { wxLANGUAGE_YORUBA_BENIN, "yo-BJ" , "yo_BJ" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Yoruba (Benin)","\303\210d\303\250 Yor\303\271b\303\241 (B\311\233\314\200n\311\233\314\200)" }, - { wxLANGUAGE_YORUBA_NIGERIA, "yo-NG" , "yo_NG" , "" , 0x6a, 0x01, wxLayout_LeftToRight, "Yoruba (Nigeria)","\303\210d\303\250 Yor\303\271b\303\241 (N\303\240\303\254j\303\255r\303\255\303\240)" }, - { wxLANGUAGE_ZARMA, "dje" , "dje" , "dje_NE" , 0x00, 0x04, wxLayout_LeftToRight, "Zarma","Zarmaciine" }, - { wxLANGUAGE_ZARMA_NIGER, "dje-NE" , "dje_NE" , "" , 0x00, 0x04, wxLayout_LeftToRight, "Zarma (Niger)","Zarmaciine (Ni\305\276er)" }, - { wxLANGUAGE_ZHUANG, "za" , "za" , "" , 0 , 0 , wxLayout_LeftToRight, "Zhuang","Zhuang" }, - { wxLANGUAGE_ZULU, "zu" , "zu" , "zu_ZA" , 0x35, 0x01, wxLayout_LeftToRight, "isiZulu","isiZulu" }, - { wxLANGUAGE_ZULU_SOUTH_AFRICA, "zu-ZA" , "zu_ZA" , "" , 0x35, 0x01, wxLayout_LeftToRight, "isiZulu (South Africa)","isiZulu (iNingizimu Afrika)" }, +// Include actual data tables +#include "wx/private/lang_info.h" +#include "wx/private/lang_scripts.h" +#include "wx/private/lang_likely.h" +#include "wx/private/lang_match.h" +#include "wx/private/lang_regions.h" - { 0, nullptr, nullptr, nullptr, 0, 0, wxLayout_Default, nullptr, nullptr } -}; - -// Data table for known language scripts -static const struct scriptData_t -{ - const char* scname; - const char* scalias; -} -tabScriptData[] = -{ - { "Adlm", "adlam" }, - { "Aghb", "caucasian_albanian" }, - { "Ahom", "ahom" }, - { "Arab", "arabic" }, - { "Armi", "imperial_aramaic" }, - { "Armn", "armenian" }, - { "Avst", "avestan" }, - { "Bali", "balinese" }, - { "Bamu", "bamum" }, - { "Bass", "bassa_vah" }, - { "Batk", "batak" }, - { "Beng", "bengali" }, - { "Bhks", "bhaiksuki" }, - { "Bopo", "bopomofo" }, - { "Brah", "brahmi" }, - { "Brai", "braille" }, - { "Bugi", "buginese" }, - { "Buhd", "buhid" }, - { "Cakm", "chakma" }, - { "Cans", "canadian_aboriginal" }, - { "Cari", "carian" }, - { "Cham", "cham" }, - { "Cher", "cherokee" }, - { "Chrs", "chorasmian" }, - { "Copt", "coptic" }, - { "Cpmn", "cypro_minoan" }, - { "Cprt", "cypriot" }, - { "Cyrl", "cyrillic" }, - { "Deva", "devanagari" }, - { "Diak", "dives_akuru" }, - { "Dogr", "dogra" }, - { "Dsrt", "deseret" }, - { "Dupl", "duployan" }, - { "Egyp", "egyptian_hieroglyphs" }, - { "Elba", "elbasan" }, - { "Elym", "elymaic" }, - { "Ethi", "ethiopic" }, - { "Geok", "georgian" }, - { "Geor", "georgian" }, - { "Glag", "glagolitic" }, - { "Gong", "gunjala_gondi" }, - { "Gonm", "masaram_gondi" }, - { "Goth", "gothic" }, - { "Gran", "grantha" }, - { "Grek", "greek" }, - { "Gujr", "gujarati" }, - { "Guru", "gurmukhi" }, - { "Hang", "hangul" }, - { "Hani", "han" }, - { "Hano", "hanunoo" }, - { "Hatr", "hatran" }, - { "Hebr", "hebrew" }, - { "Hira", "hiragana" }, - { "Hluw", "anatolian_hieroglyphs" }, - { "Hmng", "pahawh_hmong" }, - { "Hmnp", "nyiakeng_puachue_hmong" }, - { "Hrkt", "katakana_or_hiragana" }, - { "Hung", "old_hungarian" }, - { "Ital", "old_italic" }, - { "Java", "javanese" }, - { "Kali", "kayah_li" }, - { "Kana", "katakana" }, - { "Khar", "kharoshthi" }, - { "Khmr", "khmer" }, - { "Khoj", "khojki" }, - { "Kits", "khitan_small_script" }, - { "Knda", "kannada" }, - { "Kthi", "kaithi" }, - { "Lana", "tai_tham" }, - { "Laoo", "lao" }, - { "Latn", "latin" }, - { "Lepc", "lepcha" }, - { "Limb", "limbu" }, - { "Lina", "linear_a" }, - { "Linb", "linear_b" }, - { "Lisu", "lisu" }, - { "Lyci", "lycian" }, - { "Lydi", "lydian" }, - { "Mahj", "mahajani" }, - { "Maka", "makasar" }, - { "Mand", "mandaic" }, - { "Mani", "manichaean" }, - { "Marc", "marchen" }, - { "Medf", "medefaidrin" }, - { "Mend", "mende_kikakui" }, - { "Merc", "meroitic_cursive" }, - { "Mero", "meroitic_hieroglyphs" }, - { "Mlym", "malayalam" }, - { "Modi", "modi" }, - { "Mong", "mongolian" }, - { "Mroo", "mro" }, - { "Mtei", "meetei_mayek" }, - { "Mult", "multani" }, - { "Mymr", "myanmar" }, - { "Nand", "nandinagari" }, - { "Narb", "old_north_arabian" }, - { "Nbat", "nabataean" }, - { "Newa", "newa" }, - { "Nkoo", "nko" }, - { "Nshu", "nushu" }, - { "Ogam", "ogham" }, - { "Olck", "ol_chiki" }, - { "Orkh", "old_turkic" }, - { "Orya", "oriya" }, - { "Osge", "osage" }, - { "Osma", "osmanya" }, - { "Ougr", "old_uyghur" }, - { "Palm", "palmyrene" }, - { "Pauc", "pau_cin_hau" }, - { "Perm", "old_permic" }, - { "Phag", "phags_pa" }, - { "Phli", "inscriptional_pahlavi" }, - { "Phlp", "psalter_pahlavi" }, - { "Phnx", "phoenician" }, - { "Plrd", "miao" }, - { "Prti", "inscriptional_parthian" }, - { "Rjng", "rejang" }, - { "Rohg", "hanifi_rohingya" }, - { "Runr", "runic" }, - { "Samr", "samaritan" }, - { "Sarb", "old_south_arabian" }, - { "Saur", "saurashtra" }, - { "Sgnw", "signwriting" }, - { "Shaw", "shavian" }, - { "Shrd", "sharada" }, - { "Sidd", "siddham" }, - { "Sind", "khudawadi" }, - { "Sinh", "sinhala" }, - { "Sogd", "sogdian" }, - { "Sogo", "old_sogdian" }, - { "Sora", "sora_sompeng" }, - { "Soyo", "soyombo" }, - { "Sund", "sundanese" }, - { "Sylo", "syloti_nagri" }, - { "Syrc", "syriac" }, - { "Tagb", "tagbanwa" }, - { "Takr", "takri" }, - { "Tale", "tai_le" }, - { "Talu", "new_tai_lue" }, - { "Taml", "tamil" }, - { "Tang", "tangut" }, - { "Tavt", "tai_viet" }, - { "Telu", "telugu" }, - { "Tfng", "tifinagh" }, - { "Tglg", "tagalog" }, - { "Thaa", "thaana" }, - { "Thai", "thai" }, - { "Tibt", "tibetan" }, - { "Tirh", "tirhuta" }, - { "Tnsa", "tangsa" }, - { "Toto", "toto" }, - { "Ugar", "ugaritic" }, - { "Vaii", "vai" }, - { "Vith", "vithkuqi" }, - { "Wara", "warang_citi" }, - { "Wcho", "wancho" }, - { "Xpeo", "old_persian" }, - { "Xsux", "cuneiform" }, - { "Yezi", "yezidi" }, - { "Yiii", "yi" }, - { "Zanb", "zanabazar_square" }, - { "Zinh", "inherited" }, - { "Zyyy", "common" }, - { "Zzzz", "unknown" }, - - { nullptr, nullptr } -}; - -void wxUILocale::InitLanguagesDB() +void wxUILocaleImpl::InitLanguagesDB() { wxLanguageInfo info; int j; @@ -1185,22 +133,50 @@ void wxUILocale::InitLanguagesDB() // Known languages for (j = 0; tabLangData[j].wxlang != 0; ++j) { - info.Language = tabLangData[j].wxlang; - info.LocaleTag = tabLangData[j].bcp47tag; - info.CanonicalName = tabLangData[j].canonical; - info.CanonicalRef = tabLangData[j].canonicalref; - info.LayoutDirection = tabLangData[j].layout; - info.Description = wxString::FromUTF8(tabLangData[j].desc); - info.DescriptionNative = wxString::FromUTF8(tabLangData[j].descnative); - SETWINLANG(info, winlang, winsublang) - AddLanguage(info); + info.Language = tabLangData[j].wxlang; + info.LocaleTag = tabLangData[j].bcp47tag; + info.CanonicalName = tabLangData[j].canonical; + info.CanonicalRef = tabLangData[j].canonicalref; + info.LayoutDirection = tabLangData[j].layout; + info.Description = wxString::FromUTF8(tabLangData[j].desc); + info.DescriptionNative = wxString::FromUTF8(tabLangData[j].descnative); + SETWINLANG(info, winlang, winsublang) + wxUILocale::AddLanguage(info); } // Known language scripts for (j = 0; tabScriptData[j].scname; ++j) { - gs_scmap_name2alias[tabScriptData[j].scname] = tabScriptData[j].scalias; - gs_scmap_alias2name[tabScriptData[j].scalias] = tabScriptData[j].scname; + gs_scmap_name2alias[tabScriptData[j].scname] = tabScriptData[j].scalias; + gs_scmap_alias2name[tabScriptData[j].scalias] = tabScriptData[j].scname; + } + + // Known likely subtags + for (j = 0; tabLikelyData[j].tagfrom; ++j) + { + gs_likely_subtags_map[tabLikelyData[j].tagfrom] = tabLikelyData[j].tagto; + } + + // Known matching language tags + for (j = 0; tabMatchData[j].matchkey; ++j) + { + gs_matching_tags_map[tabMatchData[j].matchkey] = tabMatchData[j].matchval; + } + + // Known region groups + wxString langPrev; + wxString lang; + std::unordered_set* regionGroup = nullptr; + for (j = 0; regionGroupData[j].language; ++j) + { + lang = regionGroupData[j].language; + if (!langPrev.IsSameAs(lang)) + { + langPrev = lang; + gs_region_groups_map[lang] = std::unordered_set(); + regionGroup = &gs_region_groups_map[lang]; + } + regionGroup->insert(regionGroupData[j].country); } } diff --git a/src/common/translation.cpp b/src/common/translation.cpp index 6dd083b427..ac4fbd0eb5 100644 --- a/src/common/translation.cpp +++ b/src/common/translation.cpp @@ -85,11 +85,6 @@ namespace #if wxUSE_LOG_TRACE -void LogTraceArray(const char* prefix, const wxArrayString& arr) -{ - wxLogTrace(TRACE_I18N, "%s: [%s]", prefix, wxJoin(arr, ',')); -} - void LogTraceArray(const char *prefix, const wxVector& arr) { wxString s; @@ -116,56 +111,12 @@ void LogTraceLargeArray(const wxString& prefix, const wxArrayString& arr) #endif // wxUSE_LOG_TRACE/!wxUSE_LOG_TRACE -wxString GetPreferredUILanguage(const wxArrayString& available) +wxString GetPreferredUILanguage(const wxVector& available) { - wxVector preferred = wxUILocale::GetPreferredUILanguages(); + const wxVector& preferred = wxUILocale::GetPreferredUILanguages(); LogTraceArray(" - system preferred languages", preferred); - wxString langNoMatchRegion; - for ( wxVector::const_iterator j = preferred.begin(); - j != preferred.end(); - ++j ) - { - // try exact match first: - if (available.Index(*j, /*bCase=*/false) != wxNOT_FOUND) - return *j; - - // try looking up as a POSIX locale: - wxLocaleIdent localeId = wxLocaleIdent::FromTag(*j); - wxString lang = localeId.GetTag(wxLOCALE_TAGTYPE_POSIX); - - if (available.Index(lang, /*bCase=*/false) != wxNOT_FOUND) - return lang; - - size_t pos = lang.find('_'); - if (pos != wxString::npos) - { - lang = lang.substr(0, pos); - if (available.Index(lang, /*bCase=*/false) != wxNOT_FOUND) - return lang; - } - - if (langNoMatchRegion.empty()) - { - // lang now holds only the language - // check for an available language with potentially non-matching region - for ( wxArrayString::const_iterator k = available.begin(); - k != available.end(); - ++k ) - { - if ((*k).Lower().StartsWith(lang.Lower())) - { - langNoMatchRegion = *k; - break; - } - } - } - } - - if (!langNoMatchRegion.empty()) - return langNoMatchRegion; - - return wxString(); + return wxLocaleIdent::GetBestMatch(preferred, available); } } // anonymous namespace @@ -1495,9 +1446,7 @@ wxString wxTranslations::DoGetBestAvailableTranslation(const wxString& domain, c return lang; } - wxLogTrace(TRACE_I18N, "choosing best language for domain '%s'", domain); - LogTraceArray(" - available translations", available); - const wxString lang = GetPreferredUILanguage(available); + const wxString lang = GetPreferredUILanguage(available.AsVector()); wxLogTrace(TRACE_I18N, " => using language '%s'", lang); return lang; } diff --git a/src/common/uilocale.cpp b/src/common/uilocale.cpp index e30e0c44d9..59d3c99033 100644 --- a/src/common/uilocale.cpp +++ b/src/common/uilocale.cpp @@ -63,7 +63,7 @@ inline void CheckLanguageVariant(wxLocaleIdent& locId) inline bool IsDefaultCLocale(const wxString& locale) { - return locale.IsSameAs("C", false) || locale.IsSameAs("POSIX", false); + return locale.CmpNoCase("C") == 0 || locale.CmpNoCase("POSIX") == 0; } } // anonymous namespace @@ -128,7 +128,7 @@ wxLocaleIdent wxLocaleIdent::FromTag(const wxString& tag) if (!tagRest.empty()) { // POSIX modifier found - wxString script = wxUILocale::GetScriptNameFromAlias(tagRest); + wxString script = wxUILocaleImpl::GetScriptNameFromAlias(tagRest); if (!script.empty()) locId.Script(script); else @@ -275,6 +275,332 @@ wxLocaleIdent wxLocaleIdent::FromTag(const wxString& tag) return locId; } +/* static */ +wxLocaleIdent wxLocaleIdent::AddLikelySubtags(const wxLocaleIdent& localeIdent) +{ + wxString language = localeIdent.GetLanguage(); + wxString script = localeIdent.GetScript(); + wxString region = localeIdent.GetRegion(); + wxLocaleIdent locId = localeIdent; + + // If language is not set, return invalid locale identifier + if (language.empty()) + { + return wxLocaleIdent(); + } + + // If locale is the default C locale, return it + if (IsDefaultCLocale(language)) + { + return localeIdent; + } + + // Remove the script code 'Zzzz' and the region code 'ZZ' if they occur. + // These codes represent an 'unknown' script resp region, which should + // not occur in the result. Instead they are handled as 'not set'. + if (script.IsSameAs("Zzzz")) + { + script.clear(); + } + if (region.IsSameAs("ZZ")) + { + region.clear(); + } + + // If script and region are not empty, return the original locale identifier + if (!script.empty() && !region.empty()) + { + return localeIdent; + } + + // Lookup likely subtags. + // Look up each of the following in order, and stop on the first match: + // - language-script + // - language-region + // - language + wxString toTag; + if (!script.empty()) + { + toTag = wxUILocaleImpl::GetLikelySubtags(language + wxString("-") + script); + } + if (toTag.empty() && !region.empty()) + { + toTag = wxUILocaleImpl::GetLikelySubtags(language + wxString("-") + region); + } + if (toTag.empty()) + { + toTag = wxUILocaleImpl::GetLikelySubtags(language); + } + + if (toTag.empty()) + { + // No match, return invalid locale identifier + return wxLocaleIdent(); + } + + // Match found. Update script and/or region subtags of the result. + // Matches always consist of a combination of language, script, and region. + // Therefore there are always 3 subtags. + const wxArrayString& subtags = wxSplit(toTag, '-', '\0'); + + // Attribute m_tag needs to be cleared, because it contains the tag value of the original identifier + locId.m_tag.clear(); + + // Fill in script and region subtags, if they were originally empty + if (script.empty()) + { + locId.Script(subtags[1]); + } + if (region.empty()) + { + locId.Region(subtags[2]); + } + return locId; +} + +/* static */ +wxLocaleIdent wxLocaleIdent::RemoveLikelySubtags(const wxLocaleIdent& localeIdent, int subtagsFavour) +{ + // Extend input with likely subtags + wxLocaleIdent locId = AddLikelySubtags(localeIdent); + + // If extending failed, return + if (locId.IsEmpty()) + { + return locId; + } + + // Get the components language, script, region + wxString language = locId.GetLanguage(); + wxString script = locId.GetScript(); + wxString region = locId.GetRegion(); + + wxLocaleIdent trial = localeIdent; + trial.Language(language); + trial.Script(""); + trial.Region(""); + + // Test "language" + locId = AddLikelySubtags(trial); + if (script.IsSameAs(locId.GetScript()) && region.IsSameAs(locId.GetRegion())) + { + return trial; + } + + // Test "language-region" if favoring region or + // "language-script" if favoring script + switch (subtagsFavour) + { + case wxSubtags_FavourRegion: + trial.Region(region); + break; + case wxSubtags_FavourScript: + trial.Script(script); + break; + } + locId = AddLikelySubtags(trial); + if (script.IsSameAs(locId.GetScript()) && region.IsSameAs(locId.GetRegion())) + { + return trial; + } + + // Test "language-script" if favoring region or + // "language-region" if favoring script + switch (subtagsFavour) + { + case wxSubtags_FavourScript: + trial.Region(region); + break; + case wxSubtags_FavourRegion: + trial.Script(script); + break; + } + locId = AddLikelySubtags(trial); + if (script.IsSameAs(locId.GetScript()) && region.IsSameAs(locId.GetRegion())) + { + return trial; + } + + // No match, return full identifier + return locId; +} + +// "Infinity" value needs to be larger than any real language distance +static const int DISTANCE_INFINITY = 1000; + +/* static */ +wxString wxLocaleIdent::GetBestMatch(const wxVector& desired, const wxVector& supported) +{ + // Default distance values + static const int defaultLanguageDistance = wxUILocaleImpl::GetMatchDistance("*", "*"); + static const int defaultScriptDistance = wxUILocaleImpl::GetMatchDistance("*-*", "*-*"); + static const int defaultRegionDistance = wxUILocaleImpl::GetMatchDistance("*-*-*", "*-*-*") + 1; + static const int defaultRegionGroupDistance = wxUILocaleImpl::GetMatchDistance("*-*-*", "*-*-*"); + static const int defaultDemotion = wxUILocaleImpl::GetMatchDistance("en-*-*", "en-*-*") + 1; + static const int threshold = defaultScriptDistance; + + // Maximized locale identifiers associated with the given desired and supported locale tags + wxLocaleIdent desiredLocaleIn; + wxLocaleIdent desiredLocaleMax; + wxLocaleIdent supportedLocaleIn; + std::vector supportedLocalesIn; + std::vector supportedLocalesMax; + std::vector supportedLocalesMinDistance; + + // Indexes of best match + int bestDesired = -1; + wxUnusedVar(bestDesired); + int bestSupported = -1; + int bestDistance = DISTANCE_INFINITY; + int bestMinDistance = DISTANCE_INFINITY; + + wxString desiredLanguage; + wxString desiredScript; + wxString desiredRegion; + wxString supportedScriptIn; + wxString supportedRegionIn; + wxString supportedLanguage; + wxString supportedScript; + wxString supportedRegion; + int supportedMinDistance; + bool directMatch = false; + + // Loop over desired languages + for (size_t j = 0; !directMatch && j < desired.size(); ++j) + { + // Determine maximized desired locale identifiers + desiredLocaleIn = wxLocaleIdent::FromTag(desired[j]); + desiredLocaleMax = AddLikelySubtags(desiredLocaleIn); + desiredLanguage = desiredLocaleMax.GetLanguage(); + desiredScript = desiredLocaleMax.GetScript(); + desiredRegion = desiredLocaleMax.GetRegion(); + + // Loop over supported languages + for (size_t k = 0; !directMatch && k < supported.size(); ++k) + { + // Languages closer to the beginning of the list of desired languages are preferred + int distance = j * defaultDemotion; + + // Check direct match + if (desired[j].CmpNoCase(supported[k]) == 0) + { + // This is the best match we can find, so leave the loop + if (distance < bestDistance) + { + bestDistance = distance; + bestDesired = j; + bestSupported = k; + } + directMatch = true; + break; + } + + // No direct match: Slightly increase distance + ++distance; + + // Determine maximized supported locale identifiers + if (j == 0) + { + supportedLocaleIn = wxLocaleIdent::FromTag(supported[k]); + supportedLocalesIn.push_back(supportedLocaleIn); + supportedLocalesMax.push_back(AddLikelySubtags(supportedLocaleIn)); + wxLocaleIdent supportedLocaleMin = RemoveLikelySubtags(supportedLocaleIn); + int minDistance = 0; + if (!supportedLocaleMin.GetScript().empty()) minDistance += 1; + if (!supportedLocaleMin.GetRegion().empty()) minDistance += 1; + supportedLocalesMinDistance.push_back(minDistance); + } + supportedScriptIn = supportedLocalesIn[k].GetScript(); + supportedRegionIn = supportedLocalesIn[k].GetRegion(); + supportedLanguage = supportedLocalesMax[k].GetLanguage(); + supportedScript = supportedLocalesMax[k].GetScript(); + supportedRegion = supportedLocalesMax[k].GetRegion(); + supportedMinDistance = supportedLocalesMinDistance[k]; + + // Check for matching language, script and region + if (!directMatch && !desiredLanguage.empty() && !supportedLanguage.empty()) + { + // Check language + if (supportedLanguage.CmpNoCase(desiredLanguage) == 0) + { + // Language subtags equal + + // Check script subtags + if (supportedScript.CmpNoCase(desiredScript) != 0) + { + int scriptDistance = wxUILocaleImpl::GetMatchDistance(desiredLanguage + wxString("-") + desiredScript, + supportedLanguage + wxString("-") + supportedScript); + distance += (scriptDistance >= 0) ? scriptDistance : defaultScriptDistance; + } + + // Check region subtags + if (supportedRegion.CmpNoCase(desiredRegion) != 0) + { + bool sameRegion = wxUILocaleImpl::SameRegionGroup(desiredLanguage, desiredRegion, supportedRegion); + distance += (sameRegion) ? defaultRegionGroupDistance : defaultRegionDistance; + } + if (desiredLocaleIn.GetScript().CmpNoCase(supportedScriptIn) != 0) supportedMinDistance += 1; + if (desiredLocaleIn.GetRegion().CmpNoCase(supportedRegionIn) != 0) supportedMinDistance += 1; + } + else + { + // Language subtags not equal + + // Determine language distance + int languageDistance = wxUILocaleImpl::GetMatchDistance(desiredLanguage, supportedLanguage); + distance += (languageDistance >= 0) ? languageDistance : defaultLanguageDistance; + + // Check whether script subtags are not equal + if (supportedScript.CmpNoCase(desiredScript) != 0) + { + int scriptDistance = wxUILocaleImpl::GetMatchDistance(desiredLanguage + wxString("-") + desiredScript, + supportedLanguage + wxString("-") + supportedScript); + distance += (scriptDistance >= 0) ? scriptDistance : defaultScriptDistance; + } + + // Check whether region subtags are not equal + if (supportedRegion.CmpNoCase(desiredRegion) != 0) + { + distance += defaultRegionDistance; + } + } + } + else + { + // Language subtag undefined + distance += (defaultLanguageDistance + defaultScriptDistance + defaultRegionDistance); + } + + // Check whether better match was found + if (distance < threshold && (distance < bestDistance || + (distance == bestDistance && supportedMinDistance < bestMinDistance))) + { + bestMinDistance = supportedMinDistance; + bestDistance = distance; + bestDesired = j; + bestSupported = k; + } + } + } + + // Return best supported language, if a best match was found + if (bestSupported >= 0) + { + return supported[bestSupported]; + } + + // Return default language tag, if no best match was found + return wxString(); +} + +/* static */ +wxString wxLocaleIdent::GetBestMatch(const wxString& desired, const wxVector& supported) +{ + wxVector desiredLocales; + desiredLocales.push_back(desired); + return GetBestMatch(desiredLocales, supported); +} + wxLocaleIdent& wxLocaleIdent::Language(const wxString& language) { if (IsDefaultCLocale(language)) @@ -317,7 +643,7 @@ wxLocaleIdent& wxLocaleIdent::Script(const wxString& script) } else if (!script.empty()) { - m_script = wxUILocale::GetScriptNameFromAlias(script.Lower()); + m_script = wxUILocaleImpl::GetScriptNameFromAlias(script.Lower()); } else { @@ -399,18 +725,24 @@ wxString wxLocaleIdent::GetTag(wxLocaleTagType tagType) const break; case wxLOCALE_TAGTYPE_POSIX: - if (!m_region.empty()) - tag << '_' << m_region; - if (!m_charset.empty()) - tag << '.' << m_charset; - if (!m_script.empty()) { - const wxString& script = wxUILocale::GetScriptAliasFromName(m_script); - if (!script.empty()) - tag << '@' << script; + wxLocaleIdent maxTag = AddLikelySubtags(*this); + wxLocaleIdent minTag = RemoveLikelySubtags(*this); + if (!m_region.empty()) + tag << '_' << m_region; + else if (!maxTag.m_region.empty()) + tag << '_' << maxTag.m_region; + if (!m_charset.empty()) + tag << '.' << m_charset; + if (!minTag.m_script.empty()) + { + const wxString& script = wxUILocaleImpl::GetScriptAliasFromName(m_script); + if (!script.empty()) + tag << '@' << script; + } + else if (!m_modifier.empty()) + tag << '@' << m_modifier; } - else if (!m_modifier.empty()) - tag << '@' << m_modifier; break; case wxLOCALE_TAGTYPE_WINDOWS: @@ -790,7 +1122,7 @@ wxVector wxUILocale::GetPreferredUILanguages() /* static */ const wxLanguageInfo* wxUILocale::GetLanguageInfo(int lang) { - CreateLanguagesDB(); + wxUILocaleImpl::CreateLanguagesDB(); // calling GetLanguageInfo(wxLANGUAGE_DEFAULT) is a natural thing to do, so // make it work @@ -847,7 +1179,7 @@ const wxLanguageInfo* wxUILocale::FindLanguageInfo(const wxString& localeOrig) if (localeOrig.empty()) return nullptr; - CreateLanguagesDB(); + wxUILocaleImpl::CreateLanguagesDB(); // Determine full language and region names, which will be compared // to the entry description in the language database. @@ -906,7 +1238,7 @@ const wxLanguageInfo* wxUILocale::FindLanguageInfo(const wxLocaleIdent& locId) if (locId.IsEmpty()) return nullptr; - CreateLanguagesDB(); + wxUILocaleImpl::CreateLanguagesDB(); const wxLanguageInfo* infoRet = nullptr; diff --git a/src/msw/uilocale.cpp b/src/msw/uilocale.cpp index 4562bb8ad9..52618f2303 100644 --- a/src/msw/uilocale.cpp +++ b/src/msw/uilocale.cpp @@ -24,6 +24,7 @@ #include "wx/private/uilocale.h" #include "wx/msw/private/uilocale.h" +#include "wx/msw/registry.h" #include "wx/scopedarray.h" #include "wx/dynlib.h" @@ -89,6 +90,39 @@ // helper functions // ---------------------------------------------------------------------------- +namespace +{ +// Function to retrieve the user's preferred languages +void GetUserPreferredLanguagesFromRegistry(wxVector& userLanguages) +{ + // Open the registry key for user preferred languages + HKEY hKey; + if (::RegOpenKeyEx(HKEY_CURRENT_USER, + L"Control Panel\\International\\User Profile", + 0, KEY_READ, &hKey) == ERROR_SUCCESS) + { + // Retrieve the "Languages" value from the key + DWORD type = REG_SZ; + DWORD valueSize = 256; + wxScopedArray languages(valueSize); + if (::RegQueryValueEx(hKey, L"Languages", nullptr, &type, reinterpret_cast(languages.get()), &valueSize) == ERROR_SUCCESS) + { + // Extract languages from multi-string value + WCHAR* buf = languages.get(); + while (*buf != 0) + { + const wxString language(buf); + userLanguages.push_back(language); + buf += language.length() + 1; + } + } + // Close the registry key + ::RegCloseKey(hKey); + } +} + +} // anonymous namespace + LCTYPE wxGetLCTYPEFormatFromLocalInfo(wxLocaleInfo index) { switch ( index ) @@ -285,6 +319,8 @@ public: // and below definitely do not. if (wxGetWinVersion() >= wxWinVersion_10) { + GetUserPreferredLanguagesFromRegistry(preferred); + ULONG numberOfLanguages = 0; ULONG bufferSize = 0; if (::GetUserPreferredUILanguages(MUI_LANGUAGE_NAME, &numberOfLanguages, nullptr, &bufferSize)) diff --git a/tests/intl/intltest.cpp b/tests/intl/intltest.cpp index d67afd608f..611344bc7b 100644 --- a/tests/intl/intltest.cpp +++ b/tests/intl/intltest.cpp @@ -526,6 +526,135 @@ TEST_CASE("wxLocaleIdent::FromTag", "[uilocale][localeident]") CheckTag("English_United States.utf8"); CHECK( TagToPOSIX("zh-Hans-CN") == "zh_CN" ); + CHECK( TagToPOSIX("zh-Hant-TW") == "zh_TW"); + CHECK( TagToPOSIX("sr-Latn-RS") == "sr_RS@latin"); + CHECK( TagToPOSIX("sr-Cyrl-RS") == "sr_RS"); +} + +static wxString FindBestMatch(const wxVector& desired, const wxVector& supported) +{ + return wxLocaleIdent::GetBestMatch(desired, supported); +} + +TEST_CASE("wxLocaleIdent::GetBestMatch", "[uilocale][localeident]") +{ + CHECK(FindBestMatch({ "en-AU" }, { "en-US", "en-NZ" }) == "en-NZ"); + CHECK(FindBestMatch({ "pt-AO" }, { "pt-BR", "pt-PT" }) == "pt-PT"); + CHECK(FindBestMatch({ "fr" }, { "fr-FR", "fr", "fr-CA", "en"}) == "fr"); + CHECK(FindBestMatch({ "fr-FR" }, { "en", "fr", "fr-CA" }) == "fr"); + CHECK(FindBestMatch({ "fr-FR" }, { "en", "fr-CA" }) == "fr-CA"); + CHECK(FindBestMatch({ "fr" }, { "fr-CA", "fr-FR"}) == "fr-FR"); + CHECK(FindBestMatch({ "fr-SN" }, { "fr-CA", "fr-FR" }) == "fr-FR"); + CHECK(FindBestMatch({ "fr" }, { "de", "en", "it"}) == ""); + + // favor a more-default locale among equally imperfect matches + CHECK(FindBestMatch({ "fr-SN" }, { "fr-CA", "fr-CH", "fr-FR", "fr-GB"}) == "fr-FR"); + + CHECK(FindBestMatch({ "zh-TW" }, { "zh" }) == ""); + CHECK(FindBestMatch({ "zh-HK" }, { "zh-Hant", "zh-TW" }) == "zh-TW"); + + // same language over exact, but distinguish when user is explicit + CHECK(FindBestMatch({ "ja", "de"}, {"fr", "en-GB", "ja", "es-ES", "ex-MX"}) == "ja"); + CHECK(FindBestMatch({ "de-CH", "fr" }, { "en", "de", "fr", "ja" }) == "de"); + CHECK(FindBestMatch({ "en", "nl" }, { "en-GB", "nl" }) == "en-GB"); + CHECK(FindBestMatch({ "en", "nl", "en-GB"}, {"en-GB", "nl"}) == "en-GB"); + + // pick best maximized match + CHECK(FindBestMatch({ "ja-Jpan-JP", "ru" }, { "ja", "ja-Jpan", "ja-JP", "en", "ru"}) == "ja-Jpan"); + CHECK(FindBestMatch({ "ja-Jpan", "ru" }, { "ja", "ja-Jpan", "ja-JP", "en", "ru" }) == "ja-Jpan"); + + // match on maximized tag + CHECK(FindBestMatch({ "ja-JP", "en-GB" }, { "fr", "en-GB", "ja", "es-ES", "es-MX" }) == "ja"); + CHECK(FindBestMatch({ "ja-Jpan-JP", "en-GB" }, { "fr", "en-GB", "ja", "es-ES", "es-MX" }) == "ja"); + + // region distance German + CHECK(FindBestMatch({ "de" }, { "de-AT", "de-DE", "de-CH" }) == "de-DE"); + + // en-AU is closer to en-GB than to en (which is en-US) + CHECK(FindBestMatch({ "en-AU" }, { "en", "en-GB", "es-ES" }) == "en-GB"); + + // if no preferred locale specified, pick top language, not regional + CHECK(FindBestMatch({ "fr-US" }, { "en", "fr", "fr-CA", "fr-CH"}) == "fr"); + + // return most originally similar among likely-subtags equivalent locales + CHECK(FindBestMatch({ "af" }, { "af", "af-Latn", "af-Arab" }) == "af"); + CHECK(FindBestMatch({ "af-ZA" }, { "af", "af-Latn", "af-Arab" }) == "af"); + CHECK(FindBestMatch({ "af-Latn-ZA" }, { "af", "af-Latn", "af-Arab" }) == "af-Latn"); + CHECK(FindBestMatch({ "af-Latn" }, { "af", "af-Latn", "af-Arab" }) == "af-Latn"); + + CHECK(FindBestMatch({ "nl" }, { "nl", "nl-NL", "nl-BE" }) == "nl"); + CHECK(FindBestMatch({ "nl-Latn" }, { "nl", "nl-NL", "nl-BE" }) == "nl"); + CHECK(FindBestMatch({ "nl-Latn-NL" }, { "nl", "nl-NL", "nl-BE" }) == "nl-NL"); + CHECK(FindBestMatch({ "nl-NL" }, { "nl", "nl-NL", "nl-BE" }) == "nl-NL"); + + CHECK(FindBestMatch({ "nl" }, { "nl", "nl-Latn", "nl-NL", "nl-BE" }) == "nl"); + CHECK(FindBestMatch({ "nl-Latn" }, { "nl", "nl-Latn", "nl-NL", "nl-BE" }) == "nl-Latn"); + CHECK(FindBestMatch({ "nl-NL" }, { "nl", "nl-Latn", "nl-NL", "nl-BE" }) == "nl-NL"); + CHECK(FindBestMatch({ "nl-Latn-NL" }, { "nl", "nl-Latn", "nl-NL", "nl-BE" }) == "nl-Latn"); + + // nearby languages: Danish matches no + CHECK(FindBestMatch({ "da" }, { "en", "no" }) == "no"); + // nearby languages: Nynorsk to Bokmål + CHECK(FindBestMatch({ "nn" }, { "en", "nb" }) == "nb"); + // nearby languages: Danish does not match nn + CHECK(FindBestMatch({ "da" }, { "en", "nn" }) == ""); + + // script fallbacks + CHECK(FindBestMatch({ "zh-Hant" }, { "zh-CN", "zh-TW" }) == "zh-TW"); + CHECK(FindBestMatch({ "zh" }, { "zh-CN", "zh-TW" }) == "zh-CN"); + CHECK(FindBestMatch({ "zh-Hans" }, { "zh-CN", "zh-TW" }) == "zh-CN"); + CHECK(FindBestMatch({ "zh-Hans-CN" }, { "zh-CN", "zh-TW" }) == "zh-CN"); + CHECK(FindBestMatch({ "zh-Hant-HK" }, { "zh-CN", "zh-TW" }) == "zh-TW"); + CHECK(FindBestMatch({ "zh-Hans-DE" }, { "zh-CN", "zh-TW" }) == "zh-CN"); + CHECK(FindBestMatch({ "zh-Hant-DE" }, { "zh-CN", "zh-TW" }) == "zh-TW"); + + // language-specific script fallbacks + CHECK(FindBestMatch({ "sr" }, { "en", "sr-Latn" }) == "sr-Latn"); + CHECK(FindBestMatch({ "sr" }, { "en", "sr-Cyrl" }) == "sr-Cyrl"); + CHECK(FindBestMatch({ "sr" }, { "en", "sr-Latn", "sr-Cyrl"}) == "sr-Cyrl"); + CHECK(FindBestMatch({ "sr-Latn" }, { "en", "sr-Latn", "sr-Cyrl" }) == "sr-Latn"); + CHECK(FindBestMatch({ "sr-Cyrl" }, { "en", "sr-Latn" }) == "sr-Latn"); + CHECK(FindBestMatch({ "sr-Latn" }, { "en", "sr-Cyrl" }) == "sr-Cyrl"); + + CHECK(FindBestMatch({ "de", "en-US"}, {"fr", "en-GB", "ja", "es-ES", "es-MX"}) == "en-GB"); + CHECK(FindBestMatch({ "de", "zh" }, { "fr", "en-GB", "ja", "es-ES", "es-MX" }) == ""); + + // match on maximized + CHECK(FindBestMatch({ "ja-JP", "en-GB" }, { "fr", "en-GB", "ja", "es-ES", "es-MX" }) == "ja"); + CHECK(FindBestMatch({ "ja-Jpan-JP", "en-GB" }, { "fr", "en-GB", "ja", "es-ES", "es-MX" }) == "ja"); + CHECK(FindBestMatch({ "zh", "en" }, { "fr", "zh-Hant", "en" }) == "en"); + + // close enough match on maximized + CHECK(FindBestMatch({ "de-CH", "fr" }, { "en-GB", "en", "de", "fr", "ja" }) == "de"); + CHECK(FindBestMatch({ "en-US", "ar", "nl", "de", "ja" }, { "en-GB", "en", "de", "fr", "ja"}) == "en"); + + // best matches for Portuguese + CHECK(FindBestMatch({ "pt-PT", "es", "pt" }, { "pt-PT", "pt-BR", "es", "es-AR"}) == "pt-PT"); + CHECK(FindBestMatch({ "pt-PT", "es", "pt" }, { "pt-PT", "pt", "es", "es-AR" }) == "pt-PT"); + CHECK(FindBestMatch({ "pt-PT", "es", "pt" }, { "pt-BR", "es", "es-AR" }) == "pt-BR"); + + CHECK(FindBestMatch({ "pt", "es", "pt-PT" }, { "pt-PT", "pt-BR", "es", "es-AR" }) == "pt-BR"); + CHECK(FindBestMatch({ "pt", "es", "pt-PT" }, { "pt-PT", "pt", "es", "es-AR" }) == "pt"); + CHECK(FindBestMatch({ "pt", "es", "pt-PT" }, { "pt-BR", "es", "es-AR" }) == "pt-BR"); + CHECK(FindBestMatch({ "pt-US", "pt-PT" }, { "pt-PT", "pt-BR", "es", "es-AR" }) == "pt-BR"); + CHECK(FindBestMatch({ "pt-US", "pt-PT" }, { "pt-PT", "pt", "es", "es-AR" }) == "pt"); + + // regional specials + CHECK(FindBestMatch({ "en-AU" }, { "en", "en-GB", "es-ES", "es-AR" }) == "en-GB"); + CHECK(FindBestMatch({ "es-MX" }, { "en", "en-GB", "es-ES", "es-AR" }) == "es-AR"); + CHECK(FindBestMatch({ "es-PT" }, { "en", "en-GB", "es-ES", "es-AR" }) == "es-ES"); + + // best match for traditional chinese + CHECK(FindBestMatch({ "zh-TW" }, { "fr", "zh-Hans", "zh-Hans-CN", "en-US" }) == ""); + CHECK(FindBestMatch({ "zh-Hant" }, { "fr", "zh-Hans", "zh-Hans-CN", "en-US" }) == ""); + + CHECK(FindBestMatch({ "zh-TW", "en" }, {"fr", "zh-Hans", "zh-Hans-CN", "en-US"}) == "en-US"); + CHECK(FindBestMatch({ "zh-Hant-CN", "en" }, {"fr", "zh-Hans", "zh-Hans-CN", "en-US"}) == "en-US"); + CHECK(FindBestMatch({ "zh-Hans", "en" }, {"fr", "zh-Hans", "zh-Hans-CN", "en-US"}) == "zh-Hans"); + + CHECK(FindBestMatch({ "zh-TW", "en" }, { "fr", "zh-Hans", "zh-Hans-CN", "zh-Hant", "en-US" }) == "zh-Hant"); + CHECK(FindBestMatch({ "zh-Hant-CN", "en" }, { "fr", "zh-Hans", "zh-Hans-CN", "zh-Hant", "en-US" }) == "zh-Hant"); + CHECK(FindBestMatch({ "zh-Hans", "en" }, { "fr", "zh-Hans", "zh-Hans-CN", "zh-Hant", "en-US" }) == "zh-Hans"); } // Yet another helper for the test below.