Update language database and move support for it to wxUILocale
Update the language database from the canonical sources: - It now includes most locales supported by Windows 10. - It now also has the following attributes for each entry: - BCP 47-like locale tag. - Reference to canonical name for generic language entries. - Language name in this language itself. - Also add data file with list of language script identifiers and aliases based on ISO 15924. - And update genlang.py to handle all the new attributes and data. Also move database-related methods of wxLocale to wxUILocale and just redirect wxLocale methods to the new wxUILocale ones (they are still preserved for compatibility). Closes https://github.com/wxWidgets/wxWidgets/pull/2594
This commit is contained in:
@@ -238,8 +238,8 @@ public:
|
||||
wxString GetHeaderValue(const wxString& header,
|
||||
const wxString& domain = wxEmptyString) const;
|
||||
|
||||
// These two methods are for internal use only. First one creates
|
||||
// ms_languagesDB if it doesn't already exist, second one destroys
|
||||
// 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();
|
||||
@@ -251,10 +251,6 @@ private:
|
||||
const wxString& shortName,
|
||||
int language);
|
||||
|
||||
// copy default table of languages from global static array to
|
||||
// m_langugagesInfo, called by InitLanguagesDB
|
||||
static void InitLanguagesDB();
|
||||
|
||||
// This method is trivial and just initializes the member fields to default
|
||||
// values.
|
||||
void DoCommonInit();
|
||||
|
||||
@@ -39,242 +39,901 @@ enum wxLanguage
|
||||
|
||||
wxLANGUAGE_ABKHAZIAN,
|
||||
wxLANGUAGE_AFAR,
|
||||
wxLANGUAGE_AFAR_DJIBOUTI,
|
||||
wxLANGUAGE_AFAR_ERITREA,
|
||||
wxLANGUAGE_AFAR_ETHIOPIA,
|
||||
wxLANGUAGE_AFRIKAANS,
|
||||
wxLANGUAGE_AFRIKAANS_NAMIBIA,
|
||||
wxLANGUAGE_AFRIKAANS_SOUTH_AFRICA,
|
||||
wxLANGUAGE_AGHEM,
|
||||
wxLANGUAGE_AGHEM_CAMEROON,
|
||||
wxLANGUAGE_AKAN,
|
||||
wxLANGUAGE_AKAN_GHANA,
|
||||
wxLANGUAGE_ALBANIAN,
|
||||
wxLANGUAGE_ALBANIAN_ALBANIA,
|
||||
wxLANGUAGE_ALBANIAN_KOSOVO,
|
||||
wxLANGUAGE_ALBANIAN_NORTH_MACEDONIA,
|
||||
wxLANGUAGE_ALSATIAN_FRANCE,
|
||||
wxLANGUAGE_AMHARIC,
|
||||
wxLANGUAGE_AMHARIC_ETHIOPIA,
|
||||
wxLANGUAGE_ARABIC,
|
||||
wxLANGUAGE_ARABIC_ALGERIA,
|
||||
wxLANGUAGE_ARABIC_BAHRAIN,
|
||||
wxLANGUAGE_ARABIC_CHAD,
|
||||
wxLANGUAGE_ARABIC_COMOROS,
|
||||
wxLANGUAGE_ARABIC_DJIBOUTI,
|
||||
wxLANGUAGE_ARABIC_EGYPT,
|
||||
wxLANGUAGE_ARABIC_ERITREA,
|
||||
wxLANGUAGE_ARABIC_IRAQ,
|
||||
wxLANGUAGE_ARABIC_ISRAEL,
|
||||
wxLANGUAGE_ARABIC_JORDAN,
|
||||
wxLANGUAGE_ARABIC_KUWAIT,
|
||||
wxLANGUAGE_ARABIC_LEBANON,
|
||||
wxLANGUAGE_ARABIC_LIBYA,
|
||||
wxLANGUAGE_ARABIC_MAURITANIA,
|
||||
wxLANGUAGE_ARABIC_MOROCCO,
|
||||
wxLANGUAGE_ARABIC_OMAN,
|
||||
wxLANGUAGE_ARABIC_PALESTINIAN_AUTHORITY,
|
||||
wxLANGUAGE_ARABIC_QATAR,
|
||||
wxLANGUAGE_ARABIC_SAUDI_ARABIA,
|
||||
wxLANGUAGE_ARABIC_SOMALIA,
|
||||
wxLANGUAGE_ARABIC_SOUTH_SUDAN,
|
||||
wxLANGUAGE_ARABIC_SUDAN,
|
||||
wxLANGUAGE_ARABIC_SYRIA,
|
||||
wxLANGUAGE_ARABIC_TUNISIA,
|
||||
wxLANGUAGE_ARABIC_UAE,
|
||||
wxLANGUAGE_ARABIC_WORLD,
|
||||
wxLANGUAGE_ARABIC_YEMEN,
|
||||
wxLANGUAGE_ARMENIAN,
|
||||
wxLANGUAGE_ARMENIAN_ARMENIA,
|
||||
wxLANGUAGE_ASSAMESE,
|
||||
wxLANGUAGE_ASSAMESE_INDIA,
|
||||
wxLANGUAGE_ASTURIAN,
|
||||
wxLANGUAGE_ASTURIAN_SPAIN,
|
||||
wxLANGUAGE_ASU,
|
||||
wxLANGUAGE_ASU_TANZANIA,
|
||||
wxLANGUAGE_AYMARA,
|
||||
wxLANGUAGE_AZERI,
|
||||
wxLANGUAGE_AZERI_CYRILLIC,
|
||||
wxLANGUAGE_AZERI_LATIN,
|
||||
wxLANGUAGE_AZERBAIJANI,
|
||||
wxLANGUAGE_AZERBAIJANI_CYRILLIC,
|
||||
wxLANGUAGE_AZERBAIJANI_CYRILLIC_AZERBAIJAN,
|
||||
wxLANGUAGE_AZERBAIJANI_LATIN,
|
||||
wxLANGUAGE_AZERBAIJANI_LATIN_AZERBAIJAN,
|
||||
wxLANGUAGE_BAFIA,
|
||||
wxLANGUAGE_BAFIA_CAMEROON,
|
||||
wxLANGUAGE_BAMANANKAN,
|
||||
wxLANGUAGE_BAMANANKAN_LATIN,
|
||||
wxLANGUAGE_BAMANANKAN_LATIN_MALI,
|
||||
wxLANGUAGE_BANGLA,
|
||||
wxLANGUAGE_BANGLA_BANGLADESH,
|
||||
wxLANGUAGE_BANGLA_INDIA,
|
||||
wxLANGUAGE_BASAA,
|
||||
wxLANGUAGE_BASAA_CAMEROON,
|
||||
wxLANGUAGE_BASHKIR,
|
||||
wxLANGUAGE_BASHKIR_RUSSIA,
|
||||
wxLANGUAGE_BASQUE,
|
||||
wxLANGUAGE_BASQUE_SPAIN,
|
||||
wxLANGUAGE_BELARUSIAN,
|
||||
wxLANGUAGE_BENGALI,
|
||||
wxLANGUAGE_BHUTANI,
|
||||
wxLANGUAGE_BELARUSIAN_BELARUS,
|
||||
wxLANGUAGE_BEMBA,
|
||||
wxLANGUAGE_BEMBA_ZAMBIA,
|
||||
wxLANGUAGE_BENA,
|
||||
wxLANGUAGE_BENA_TANZANIA,
|
||||
wxLANGUAGE_BIHARI,
|
||||
wxLANGUAGE_BISLAMA,
|
||||
wxLANGUAGE_BLIN,
|
||||
wxLANGUAGE_BLIN_ERITREA,
|
||||
wxLANGUAGE_BODO,
|
||||
wxLANGUAGE_BODO_INDIA,
|
||||
wxLANGUAGE_BOSNIAN,
|
||||
wxLANGUAGE_BOSNIAN_CYRILLIC,
|
||||
wxLANGUAGE_BOSNIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA,
|
||||
wxLANGUAGE_BOSNIAN_LATIN,
|
||||
wxLANGUAGE_BOSNIAN_LATIN_BOSNIA_AND_HERZEGOVINA,
|
||||
wxLANGUAGE_BRETON,
|
||||
wxLANGUAGE_BRETON_FRANCE,
|
||||
wxLANGUAGE_BULGARIAN,
|
||||
wxLANGUAGE_BULGARIAN_BULGARIA,
|
||||
wxLANGUAGE_BURMESE,
|
||||
wxLANGUAGE_BURMESE_MYANMAR,
|
||||
wxLANGUAGE_CATALAN,
|
||||
wxLANGUAGE_CATALAN_ANDORRA,
|
||||
wxLANGUAGE_CATALAN_FRANCE,
|
||||
wxLANGUAGE_CATALAN_ITALY,
|
||||
wxLANGUAGE_CATALAN_SPAIN,
|
||||
wxLANGUAGE_CEBUANO,
|
||||
wxLANGUAGE_CEBUANO_LATIN,
|
||||
wxLANGUAGE_CEBUANO_LATIN_PHILIPPINES,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_ARABIC,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_ARABIC_MOROCCO,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_LATIN,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_LATIN_ALGERIA,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_LATIN_MOROCCO,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_TIFINAGH,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_TIFINAGH_MOROCCO,
|
||||
wxLANGUAGE_CENTRAL_KURDISH,
|
||||
wxLANGUAGE_CENTRAL_KURDISH_IRAQ,
|
||||
wxLANGUAGE_CHAKMA,
|
||||
wxLANGUAGE_CHAKMA_CHAKMA,
|
||||
wxLANGUAGE_CHAKMA_CHAKMA_BANGLADESH,
|
||||
wxLANGUAGE_CHAKMA_CHAKMA_INDIA,
|
||||
wxLANGUAGE_CHECHEN,
|
||||
wxLANGUAGE_CHECHEN_RUSSIA,
|
||||
wxLANGUAGE_CHEROKEE,
|
||||
wxLANGUAGE_CHEROKEE_CHEROKEE,
|
||||
wxLANGUAGE_CHEROKEE_US,
|
||||
wxLANGUAGE_CHIGA,
|
||||
wxLANGUAGE_CHIGA_UGANDA,
|
||||
wxLANGUAGE_CHINESE,
|
||||
wxLANGUAGE_CHINESE_SIMPLIFIED,
|
||||
wxLANGUAGE_CHINESE_TRADITIONAL,
|
||||
wxLANGUAGE_CHINESE_CHINA,
|
||||
wxLANGUAGE_CHINESE_HONGKONG,
|
||||
wxLANGUAGE_CHINESE_MACAU,
|
||||
wxLANGUAGE_CHINESE_MACAO,
|
||||
wxLANGUAGE_CHINESE_SIMPLIFIED_EXPLICIT,
|
||||
wxLANGUAGE_CHINESE_SIMPLIFIED_HONGKONG,
|
||||
wxLANGUAGE_CHINESE_SIMPLIFIED_MACAO,
|
||||
wxLANGUAGE_CHINESE_SINGAPORE,
|
||||
wxLANGUAGE_CHINESE_TAIWAN,
|
||||
wxLANGUAGE_CHINESE_TRADITIONAL_EXPLICIT,
|
||||
wxLANGUAGE_CHURCH_SLAVIC,
|
||||
wxLANGUAGE_CHURCH_SLAVIC_RUSSIA,
|
||||
wxLANGUAGE_COLOGNIAN,
|
||||
wxLANGUAGE_COLOGNIAN_GERMANY,
|
||||
wxLANGUAGE_CORNISH,
|
||||
wxLANGUAGE_CORNISH_UK,
|
||||
wxLANGUAGE_CORSICAN,
|
||||
wxLANGUAGE_CORSICAN_FRANCE,
|
||||
wxLANGUAGE_CROATIAN,
|
||||
wxLANGUAGE_CROATIAN_BOSNIA_AND_HERZEGOVINA,
|
||||
wxLANGUAGE_CROATIAN_CROATIA,
|
||||
wxLANGUAGE_CZECH,
|
||||
wxLANGUAGE_CZECH_CZECHIA,
|
||||
wxLANGUAGE_DANISH,
|
||||
wxLANGUAGE_DANISH_DENMARK,
|
||||
wxLANGUAGE_DANISH_GREENLAND,
|
||||
wxLANGUAGE_DARI,
|
||||
wxLANGUAGE_DARI_AFGHANISTAN,
|
||||
wxLANGUAGE_DIVEHI,
|
||||
wxLANGUAGE_DIVEHI_MALDIVES,
|
||||
wxLANGUAGE_DUALA,
|
||||
wxLANGUAGE_DUALA_CAMEROON,
|
||||
wxLANGUAGE_DUTCH,
|
||||
wxLANGUAGE_DUTCH_ARUBA,
|
||||
wxLANGUAGE_DUTCH_BELGIAN,
|
||||
wxLANGUAGE_DUTCH_BONAIRE_SINT_EUSTATIUS_AND_SABA,
|
||||
wxLANGUAGE_DUTCH_CURACAO,
|
||||
wxLANGUAGE_DUTCH_NETHERLANDS,
|
||||
wxLANGUAGE_DUTCH_SINT_MAARTEN,
|
||||
wxLANGUAGE_DUTCH_SURINAME,
|
||||
wxLANGUAGE_DZONGKHA,
|
||||
wxLANGUAGE_DZONGKHA_BHUTAN,
|
||||
wxLANGUAGE_EDO,
|
||||
wxLANGUAGE_EDO_NIGERIA,
|
||||
wxLANGUAGE_EMBU,
|
||||
wxLANGUAGE_EMBU_KENYA,
|
||||
wxLANGUAGE_ENGLISH,
|
||||
wxLANGUAGE_ENGLISH_UK,
|
||||
wxLANGUAGE_ENGLISH_US,
|
||||
wxLANGUAGE_ENGLISH_AMERICAN_SAMOA,
|
||||
wxLANGUAGE_ENGLISH_ANGUILLA,
|
||||
wxLANGUAGE_ENGLISH_ANTIGUA_AND_BARBUDA,
|
||||
wxLANGUAGE_ENGLISH_AUSTRALIA,
|
||||
wxLANGUAGE_ENGLISH_AUSTRIA,
|
||||
wxLANGUAGE_ENGLISH_BAHAMAS,
|
||||
wxLANGUAGE_ENGLISH_BARBADOS,
|
||||
wxLANGUAGE_ENGLISH_BELGIUM,
|
||||
wxLANGUAGE_ENGLISH_BELIZE,
|
||||
wxLANGUAGE_ENGLISH_BERMUDA,
|
||||
wxLANGUAGE_ENGLISH_BOTSWANA,
|
||||
wxLANGUAGE_ENGLISH_BRITISH_INDIAN_OCEAN_TERRITORY,
|
||||
wxLANGUAGE_ENGLISH_BRITISH_VIRGIN_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_BURUNDI,
|
||||
wxLANGUAGE_ENGLISH_CAMEROON,
|
||||
wxLANGUAGE_ENGLISH_CANADA,
|
||||
wxLANGUAGE_ENGLISH_CARIBBEAN,
|
||||
wxLANGUAGE_ENGLISH_CARIBBEAN_CB,
|
||||
wxLANGUAGE_ENGLISH_CAYMAN_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_CHRISTMAS_ISLAND,
|
||||
wxLANGUAGE_ENGLISH_COCOS_KEELING_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_COOK_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_CYPRUS,
|
||||
wxLANGUAGE_ENGLISH_DENMARK,
|
||||
wxLANGUAGE_ENGLISH_DOMINICA,
|
||||
wxLANGUAGE_ENGLISH_EIRE,
|
||||
wxLANGUAGE_ENGLISH_ERITREA,
|
||||
wxLANGUAGE_ENGLISH_ESWATINI,
|
||||
wxLANGUAGE_ENGLISH_EUROPE,
|
||||
wxLANGUAGE_ENGLISH_FALKLAND_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_FIJI,
|
||||
wxLANGUAGE_ENGLISH_FINLAND,
|
||||
wxLANGUAGE_ENGLISH_GAMBIA,
|
||||
wxLANGUAGE_ENGLISH_GERMANY,
|
||||
wxLANGUAGE_ENGLISH_GHANA,
|
||||
wxLANGUAGE_ENGLISH_GIBRALTAR,
|
||||
wxLANGUAGE_ENGLISH_GRENADA,
|
||||
wxLANGUAGE_ENGLISH_GUAM,
|
||||
wxLANGUAGE_ENGLISH_GUERNSEY,
|
||||
wxLANGUAGE_ENGLISH_GUYANA,
|
||||
wxLANGUAGE_ENGLISH_HONG_KONG_SAR,
|
||||
wxLANGUAGE_ENGLISH_INDIA,
|
||||
wxLANGUAGE_ENGLISH_INDONESIA,
|
||||
wxLANGUAGE_ENGLISH_ISLE_OF_MAN,
|
||||
wxLANGUAGE_ENGLISH_ISRAEL,
|
||||
wxLANGUAGE_ENGLISH_JAMAICA,
|
||||
wxLANGUAGE_ENGLISH_JERSEY,
|
||||
wxLANGUAGE_ENGLISH_KENYA,
|
||||
wxLANGUAGE_ENGLISH_KIRIBATI,
|
||||
wxLANGUAGE_ENGLISH_LESOTHO,
|
||||
wxLANGUAGE_ENGLISH_LIBERIA,
|
||||
wxLANGUAGE_ENGLISH_MACAO_SAR,
|
||||
wxLANGUAGE_ENGLISH_MADAGASCAR,
|
||||
wxLANGUAGE_ENGLISH_MALAWI,
|
||||
wxLANGUAGE_ENGLISH_MALAYSIA,
|
||||
wxLANGUAGE_ENGLISH_MALTA,
|
||||
wxLANGUAGE_ENGLISH_MARSHALL_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_MAURITIUS,
|
||||
wxLANGUAGE_ENGLISH_MICRONESIA,
|
||||
wxLANGUAGE_ENGLISH_MONTSERRAT,
|
||||
wxLANGUAGE_ENGLISH_NAMIBIA,
|
||||
wxLANGUAGE_ENGLISH_NAURU,
|
||||
wxLANGUAGE_ENGLISH_NETHERLANDS,
|
||||
wxLANGUAGE_ENGLISH_NEW_ZEALAND,
|
||||
wxLANGUAGE_ENGLISH_NIGERIA,
|
||||
wxLANGUAGE_ENGLISH_NIUE,
|
||||
wxLANGUAGE_ENGLISH_NORFOLK_ISLAND,
|
||||
wxLANGUAGE_ENGLISH_NORTHERN_MARIANA_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_PAKISTAN,
|
||||
wxLANGUAGE_ENGLISH_PALAU,
|
||||
wxLANGUAGE_ENGLISH_PAPUA_NEW_GUINEA,
|
||||
wxLANGUAGE_ENGLISH_PHILIPPINES,
|
||||
wxLANGUAGE_ENGLISH_PITCAIRN_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_PUERTO_RICO,
|
||||
wxLANGUAGE_ENGLISH_RWANDA,
|
||||
wxLANGUAGE_ENGLISH_SAMOA,
|
||||
wxLANGUAGE_ENGLISH_SEYCHELLES,
|
||||
wxLANGUAGE_ENGLISH_SIERRA_LEONE,
|
||||
wxLANGUAGE_ENGLISH_SINGAPORE,
|
||||
wxLANGUAGE_ENGLISH_SINT_MAARTEN,
|
||||
wxLANGUAGE_ENGLISH_SLOVENIA,
|
||||
wxLANGUAGE_ENGLISH_SOLOMON_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_SOUTH_AFRICA,
|
||||
wxLANGUAGE_ENGLISH_SOUTH_SUDAN,
|
||||
wxLANGUAGE_ENGLISH_ST_HELENA_ASCENSION_TRISTAN_DA_CUNHA,
|
||||
wxLANGUAGE_ENGLISH_ST_KITTS_AND_NEVIS,
|
||||
wxLANGUAGE_ENGLISH_ST_LUCIA,
|
||||
wxLANGUAGE_ENGLISH_ST_VINCENT_AND_GRENADINES,
|
||||
wxLANGUAGE_ENGLISH_SUDAN,
|
||||
wxLANGUAGE_ENGLISH_SWEDEN,
|
||||
wxLANGUAGE_ENGLISH_SWITZERLAND,
|
||||
wxLANGUAGE_ENGLISH_TANZANIA,
|
||||
wxLANGUAGE_ENGLISH_TOKELAU,
|
||||
wxLANGUAGE_ENGLISH_TONGA,
|
||||
wxLANGUAGE_ENGLISH_TRINIDAD,
|
||||
wxLANGUAGE_ENGLISH_TURKS_AND_CAICOS_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_TUVALU,
|
||||
wxLANGUAGE_ENGLISH_UGANDA,
|
||||
wxLANGUAGE_ENGLISH_UK,
|
||||
wxLANGUAGE_ENGLISH_UNITED_ARAB_EMIRATES,
|
||||
wxLANGUAGE_ENGLISH_US,
|
||||
wxLANGUAGE_ENGLISH_US_OUTLYING_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_US_VIRGIN_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_VANUATU,
|
||||
wxLANGUAGE_ENGLISH_WORLD,
|
||||
wxLANGUAGE_ENGLISH_ZAMBIA,
|
||||
wxLANGUAGE_ENGLISH_ZIMBABWE,
|
||||
wxLANGUAGE_ESPERANTO,
|
||||
wxLANGUAGE_ESPERANTO_WORLD,
|
||||
wxLANGUAGE_ESTONIAN,
|
||||
wxLANGUAGE_ESTONIAN_ESTONIA,
|
||||
wxLANGUAGE_EWE,
|
||||
wxLANGUAGE_EWE_GHANA,
|
||||
wxLANGUAGE_EWE_TOGO,
|
||||
wxLANGUAGE_EWONDO,
|
||||
wxLANGUAGE_EWONDO_CAMEROON,
|
||||
wxLANGUAGE_FAEROESE,
|
||||
wxLANGUAGE_FAEROESE_DENMARK,
|
||||
wxLANGUAGE_FAEROESE_FAROE_ISLANDS,
|
||||
wxLANGUAGE_FARSI,
|
||||
wxLANGUAGE_FIJI,
|
||||
wxLANGUAGE_FILIPINO,
|
||||
wxLANGUAGE_FILIPINO_PHILIPPINES,
|
||||
wxLANGUAGE_FINNISH,
|
||||
wxLANGUAGE_FINNISH_FINLAND,
|
||||
wxLANGUAGE_FRENCH,
|
||||
wxLANGUAGE_FRENCH_ALGERIA,
|
||||
wxLANGUAGE_FRENCH_BELGIAN,
|
||||
wxLANGUAGE_FRENCH_BENIN,
|
||||
wxLANGUAGE_FRENCH_BURKINA_FASO,
|
||||
wxLANGUAGE_FRENCH_BURUNDI,
|
||||
wxLANGUAGE_FRENCH_CAMEROON,
|
||||
wxLANGUAGE_FRENCH_CANADIAN,
|
||||
wxLANGUAGE_FRENCH_CARIBBEAN,
|
||||
wxLANGUAGE_FRENCH_CENTRAL_AFRICAN_REPUBLIC,
|
||||
wxLANGUAGE_FRENCH_CHAD,
|
||||
wxLANGUAGE_FRENCH_COMOROS,
|
||||
wxLANGUAGE_FRENCH_CONGO,
|
||||
wxLANGUAGE_FRENCH_CONGO_DRC,
|
||||
wxLANGUAGE_FRENCH_COTE_DIVOIRE,
|
||||
wxLANGUAGE_FRENCH_DJIBOUTI,
|
||||
wxLANGUAGE_FRENCH_EQUATORIAL_GUINEA,
|
||||
wxLANGUAGE_FRENCH_FRANCE,
|
||||
wxLANGUAGE_FRENCH_FRENCH_GUIANA,
|
||||
wxLANGUAGE_FRENCH_FRENCH_POLYNESIA,
|
||||
wxLANGUAGE_FRENCH_GABON,
|
||||
wxLANGUAGE_FRENCH_GUADELOUPE,
|
||||
wxLANGUAGE_FRENCH_GUINEA,
|
||||
wxLANGUAGE_FRENCH_HAITI,
|
||||
wxLANGUAGE_FRENCH_LUXEMBOURG,
|
||||
wxLANGUAGE_FRENCH_MADAGASCAR,
|
||||
wxLANGUAGE_FRENCH_MALI,
|
||||
wxLANGUAGE_FRENCH_MARTINIQUE,
|
||||
wxLANGUAGE_FRENCH_MAURITANIA,
|
||||
wxLANGUAGE_FRENCH_MAURITIUS,
|
||||
wxLANGUAGE_FRENCH_MAYOTTE,
|
||||
wxLANGUAGE_FRENCH_MONACO,
|
||||
wxLANGUAGE_FRENCH_MOROCCO,
|
||||
wxLANGUAGE_FRENCH_NEW_CALEDONIA,
|
||||
wxLANGUAGE_FRENCH_NIGER,
|
||||
wxLANGUAGE_FRENCH_REUNION,
|
||||
wxLANGUAGE_FRENCH_RWANDA,
|
||||
wxLANGUAGE_FRENCH_SENEGAL,
|
||||
wxLANGUAGE_FRENCH_SEYCHELLES,
|
||||
wxLANGUAGE_FRENCH_ST_BARTHELEMY,
|
||||
wxLANGUAGE_FRENCH_ST_MARTIN,
|
||||
wxLANGUAGE_FRENCH_ST_PIERRE_AND_MIQUELON,
|
||||
wxLANGUAGE_FRENCH_SWISS,
|
||||
wxLANGUAGE_FRENCH_SYRIA,
|
||||
wxLANGUAGE_FRENCH_TOGO,
|
||||
wxLANGUAGE_FRENCH_TUNISIA,
|
||||
wxLANGUAGE_FRENCH_VANUATU,
|
||||
wxLANGUAGE_FRENCH_WALLIS_AND_FUTUNA,
|
||||
wxLANGUAGE_FRISIAN,
|
||||
wxLANGUAGE_FRISIAN_NETHERLANDS,
|
||||
wxLANGUAGE_FRIULIAN,
|
||||
wxLANGUAGE_FRIULIAN_ITALY,
|
||||
wxLANGUAGE_FULAH,
|
||||
wxLANGUAGE_FULAH_LATIN,
|
||||
wxLANGUAGE_FULAH_LATIN_BURKINA_FASO,
|
||||
wxLANGUAGE_FULAH_LATIN_CAMEROON,
|
||||
wxLANGUAGE_FULAH_LATIN_GAMBIA,
|
||||
wxLANGUAGE_FULAH_LATIN_GHANA,
|
||||
wxLANGUAGE_FULAH_LATIN_GUINEA,
|
||||
wxLANGUAGE_FULAH_LATIN_GUINEA_BISSAU,
|
||||
wxLANGUAGE_FULAH_LATIN_LIBERIA,
|
||||
wxLANGUAGE_FULAH_LATIN_MAURITANIA,
|
||||
wxLANGUAGE_FULAH_LATIN_NIGER,
|
||||
wxLANGUAGE_FULAH_LATIN_NIGERIA,
|
||||
wxLANGUAGE_FULAH_LATIN_SENEGAL,
|
||||
wxLANGUAGE_FULAH_LATIN_SIERRA_LEONE,
|
||||
wxLANGUAGE_GALICIAN,
|
||||
wxLANGUAGE_GALICIAN_SPAIN,
|
||||
wxLANGUAGE_GANDA,
|
||||
wxLANGUAGE_GANDA_UGANDA,
|
||||
wxLANGUAGE_GEORGIAN,
|
||||
wxLANGUAGE_GEORGIAN_GEORGIA,
|
||||
wxLANGUAGE_GERMAN,
|
||||
wxLANGUAGE_GERMAN_AUSTRIAN,
|
||||
wxLANGUAGE_GERMAN_BELGIUM,
|
||||
wxLANGUAGE_GERMAN_GERMANY,
|
||||
wxLANGUAGE_GERMAN_ITALY,
|
||||
wxLANGUAGE_GERMAN_LIECHTENSTEIN,
|
||||
wxLANGUAGE_GERMAN_LUXEMBOURG,
|
||||
wxLANGUAGE_GERMAN_SWISS,
|
||||
wxLANGUAGE_GREEK,
|
||||
wxLANGUAGE_GREEK_CYPRUS,
|
||||
wxLANGUAGE_GREEK_GREECE,
|
||||
wxLANGUAGE_GREENLANDIC,
|
||||
wxLANGUAGE_GUARANI,
|
||||
wxLANGUAGE_GUARANI_PARAGUAY,
|
||||
wxLANGUAGE_GUJARATI,
|
||||
wxLANGUAGE_GUJARATI_INDIA,
|
||||
wxLANGUAGE_GUSII,
|
||||
wxLANGUAGE_GUSII_KENYA,
|
||||
wxLANGUAGE_HAUSA,
|
||||
wxLANGUAGE_HAUSA_LATIN,
|
||||
wxLANGUAGE_HAUSA_LATIN_GHANA,
|
||||
wxLANGUAGE_HAUSA_LATIN_NIGER,
|
||||
wxLANGUAGE_HAUSA_LATIN_NIGERIA,
|
||||
wxLANGUAGE_HAWAIIAN,
|
||||
wxLANGUAGE_HAWAIIAN_US,
|
||||
wxLANGUAGE_HEBREW,
|
||||
wxLANGUAGE_HEBREW_ISRAEL,
|
||||
wxLANGUAGE_HINDI,
|
||||
wxLANGUAGE_HINDI_INDIA,
|
||||
wxLANGUAGE_HUNGARIAN,
|
||||
wxLANGUAGE_HUNGARIAN_HUNGARY,
|
||||
wxLANGUAGE_IBIBIO,
|
||||
wxLANGUAGE_IBIBIO_NIGERIA,
|
||||
wxLANGUAGE_ICELANDIC,
|
||||
wxLANGUAGE_ICELANDIC_ICELAND,
|
||||
wxLANGUAGE_IGBO,
|
||||
wxLANGUAGE_IGBO_NIGERIA,
|
||||
wxLANGUAGE_INDONESIAN,
|
||||
wxLANGUAGE_INDONESIAN_INDONESIA,
|
||||
wxLANGUAGE_INTERLINGUA,
|
||||
wxLANGUAGE_INTERLINGUA_WORLD,
|
||||
wxLANGUAGE_INTERLINGUE,
|
||||
wxLANGUAGE_INUKTITUT,
|
||||
wxLANGUAGE_INUKTITUT_LATIN,
|
||||
wxLANGUAGE_INUKTITUT_LATIN_CANADA,
|
||||
wxLANGUAGE_INUKTITUT_SYLLABICS,
|
||||
wxLANGUAGE_INUKTITUT_SYLLABICS_CANADA,
|
||||
wxLANGUAGE_INUPIAK,
|
||||
wxLANGUAGE_IRISH,
|
||||
wxLANGUAGE_IRISH_IRELAND,
|
||||
wxLANGUAGE_ITALIAN,
|
||||
wxLANGUAGE_ITALIAN_ITALY,
|
||||
wxLANGUAGE_ITALIAN_SAN_MARINO,
|
||||
wxLANGUAGE_ITALIAN_SWISS,
|
||||
wxLANGUAGE_ITALIAN_VATICAN_CITY,
|
||||
wxLANGUAGE_JAPANESE,
|
||||
wxLANGUAGE_JAPANESE_JAPAN,
|
||||
wxLANGUAGE_JAVANESE,
|
||||
wxLANGUAGE_JAVANESE_INDONESIA,
|
||||
wxLANGUAGE_JAVANESE_JAVANESE,
|
||||
wxLANGUAGE_JAVANESE_JAVANESE_INDONESIA,
|
||||
wxLANGUAGE_JOLA_FONYI,
|
||||
wxLANGUAGE_JOLA_FONYI_SENEGAL,
|
||||
wxLANGUAGE_KABUVERDIANU,
|
||||
wxLANGUAGE_KABUVERDIANU_CABO_VERDE,
|
||||
wxLANGUAGE_KABYLE,
|
||||
wxLANGUAGE_KABYLE_ALGERIA,
|
||||
wxLANGUAGE_KAKO,
|
||||
wxLANGUAGE_KAKO_CAMEROON,
|
||||
wxLANGUAGE_KALAALLISUT,
|
||||
wxLANGUAGE_KALENJIN,
|
||||
wxLANGUAGE_KALENJIN_KENYA,
|
||||
wxLANGUAGE_KAMBA,
|
||||
wxLANGUAGE_KAMBA_KENYA,
|
||||
wxLANGUAGE_KANNADA,
|
||||
wxLANGUAGE_KANNADA_INDIA,
|
||||
wxLANGUAGE_KANURI,
|
||||
wxLANGUAGE_KANURI_LATIN,
|
||||
wxLANGUAGE_KANURI_NIGERIA,
|
||||
wxLANGUAGE_KASHMIRI,
|
||||
wxLANGUAGE_KASHMIRI_DEVANAGARI,
|
||||
wxLANGUAGE_KASHMIRI_DEVANAGARI_INDIA,
|
||||
wxLANGUAGE_KASHMIRI_INDIA,
|
||||
wxLANGUAGE_KASHMIRI_PERSO_ARABIC,
|
||||
wxLANGUAGE_KASHMIRI_PERSO_ARABIC_INDIA,
|
||||
wxLANGUAGE_KAZAKH,
|
||||
wxLANGUAGE_KERNEWEK,
|
||||
wxLANGUAGE_KAZAKH_KAZAKHSTAN,
|
||||
wxLANGUAGE_KHMER,
|
||||
wxLANGUAGE_KHMER_CAMBODIA,
|
||||
wxLANGUAGE_KICHE,
|
||||
wxLANGUAGE_KICHE_GUATEMALA,
|
||||
wxLANGUAGE_KICHE_LATIN,
|
||||
wxLANGUAGE_KIKUYU,
|
||||
wxLANGUAGE_KIKUYU_KENYA,
|
||||
wxLANGUAGE_KINYARWANDA,
|
||||
wxLANGUAGE_KINYARWANDA_RWANDA,
|
||||
wxLANGUAGE_KIRGHIZ,
|
||||
wxLANGUAGE_KIRGHIZ_KYRGYZSTAN,
|
||||
wxLANGUAGE_KIRUNDI,
|
||||
wxLANGUAGE_KIRUNDI_BURUNDI,
|
||||
wxLANGUAGE_KONKANI,
|
||||
wxLANGUAGE_KONKANI_INDIA,
|
||||
wxLANGUAGE_KOREAN,
|
||||
wxLANGUAGE_KOREAN_KOREA,
|
||||
wxLANGUAGE_KOREAN_NORTH_KOREA,
|
||||
wxLANGUAGE_KOYRABORO_SENNI,
|
||||
wxLANGUAGE_KOYRABORO_SENNI_MALI,
|
||||
wxLANGUAGE_KOYRA_CHIINI,
|
||||
wxLANGUAGE_KOYRA_CHIINI_MALI,
|
||||
wxLANGUAGE_KURDISH,
|
||||
wxLANGUAGE_KURDISH_PERSO_ARABIC_IRAN,
|
||||
wxLANGUAGE_KWASIO,
|
||||
wxLANGUAGE_KWASIO_CAMEROON,
|
||||
wxLANGUAGE_LAKOTA,
|
||||
wxLANGUAGE_LAKOTA_US,
|
||||
wxLANGUAGE_LANGI,
|
||||
wxLANGUAGE_LANGI_TANZANIA,
|
||||
wxLANGUAGE_LAOTHIAN,
|
||||
wxLANGUAGE_LAOTHIAN_LAOS,
|
||||
wxLANGUAGE_LATIN,
|
||||
wxLANGUAGE_LATIN_WORLD,
|
||||
wxLANGUAGE_LATVIAN,
|
||||
wxLANGUAGE_LATVIAN_LATVIA,
|
||||
wxLANGUAGE_LINGALA,
|
||||
wxLANGUAGE_LINGALA_ANGOLA,
|
||||
wxLANGUAGE_LINGALA_CENTRAL_AFRICAN_REPUBLIC,
|
||||
wxLANGUAGE_LINGALA_CONGO,
|
||||
wxLANGUAGE_LINGALA_CONGO_DRC,
|
||||
wxLANGUAGE_LITHUANIAN,
|
||||
wxLANGUAGE_LITHUANIAN_LITHUANIA,
|
||||
wxLANGUAGE_LOWER_SORBIAN,
|
||||
wxLANGUAGE_LOWER_SORBIAN_GERMANY,
|
||||
wxLANGUAGE_LOW_GERMAN,
|
||||
wxLANGUAGE_LOW_GERMAN_GERMANY,
|
||||
wxLANGUAGE_LOW_GERMAN_NETHERLANDS,
|
||||
wxLANGUAGE_LUBA_KATANGA,
|
||||
wxLANGUAGE_LUBA_KATANGA_CONGO_DRC,
|
||||
wxLANGUAGE_LUO,
|
||||
wxLANGUAGE_LUO_KENYA,
|
||||
wxLANGUAGE_LUXEMBOURGISH,
|
||||
wxLANGUAGE_LUXEMBOURGISH_LUXEMBOURG,
|
||||
wxLANGUAGE_LUYIA,
|
||||
wxLANGUAGE_LUYIA_KENYA,
|
||||
wxLANGUAGE_MACEDONIAN,
|
||||
wxLANGUAGE_MACEDONIAN_NORTH_MACEDONIA,
|
||||
wxLANGUAGE_MACHAME,
|
||||
wxLANGUAGE_MACHAME_TANZANIA,
|
||||
wxLANGUAGE_MAKHUWA_MEETTO,
|
||||
wxLANGUAGE_MAKHUWA_MEETTO_MOZAMBIQUE,
|
||||
wxLANGUAGE_MAKONDE,
|
||||
wxLANGUAGE_MAKONDE_TANZANIA,
|
||||
wxLANGUAGE_MALAGASY,
|
||||
wxLANGUAGE_MALAGASY_MADAGASCAR,
|
||||
wxLANGUAGE_MALAY,
|
||||
wxLANGUAGE_MALAYALAM,
|
||||
wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM,
|
||||
wxLANGUAGE_MALAYALAM_INDIA,
|
||||
wxLANGUAGE_MALAY_BRUNEI,
|
||||
wxLANGUAGE_MALAY_MALAYSIA,
|
||||
wxLANGUAGE_MALAY_SINGAPORE,
|
||||
wxLANGUAGE_MALTESE,
|
||||
wxLANGUAGE_MALTESE_MALTA,
|
||||
wxLANGUAGE_MANIPURI,
|
||||
wxLANGUAGE_MANIPURI_INDIA,
|
||||
wxLANGUAGE_MANX,
|
||||
wxLANGUAGE_MANX_ISLE_OF_MAN,
|
||||
wxLANGUAGE_MAORI,
|
||||
wxLANGUAGE_MAORI_NEW_ZEALAND,
|
||||
wxLANGUAGE_MAPUCHE,
|
||||
wxLANGUAGE_MAPUCHE_CHILE,
|
||||
wxLANGUAGE_MARATHI,
|
||||
wxLANGUAGE_MARATHI_INDIA,
|
||||
wxLANGUAGE_MASAI,
|
||||
wxLANGUAGE_MASAI_KENYA,
|
||||
wxLANGUAGE_MASAI_TANZANIA,
|
||||
wxLANGUAGE_MAZANDERANI,
|
||||
wxLANGUAGE_MAZANDERANI_IRAN,
|
||||
wxLANGUAGE_MERU,
|
||||
wxLANGUAGE_MERU_KENYA,
|
||||
wxLANGUAGE_META,
|
||||
wxLANGUAGE_META_CAMEROON,
|
||||
wxLANGUAGE_MOHAWK,
|
||||
wxLANGUAGE_MOHAWK_CANADA,
|
||||
wxLANGUAGE_MOLDAVIAN,
|
||||
wxLANGUAGE_MONGOLIAN,
|
||||
wxLANGUAGE_MONGOLIAN_CYRILLIC,
|
||||
wxLANGUAGE_MONGOLIAN_MONGOLIA,
|
||||
wxLANGUAGE_MONGOLIAN_TRADITIONAL,
|
||||
wxLANGUAGE_MONGOLIAN_TRADITIONAL_CHINA,
|
||||
wxLANGUAGE_MONGOLIAN_TRADITIONAL_MONGOLIA,
|
||||
wxLANGUAGE_MORISYEN,
|
||||
wxLANGUAGE_MORISYEN_MAURITIUS,
|
||||
wxLANGUAGE_MUNDANG,
|
||||
wxLANGUAGE_MUNDANG_CAMEROON,
|
||||
wxLANGUAGE_NAMA,
|
||||
wxLANGUAGE_NAMA_NAMIBIA,
|
||||
wxLANGUAGE_NAURU,
|
||||
wxLANGUAGE_NEPALI,
|
||||
wxLANGUAGE_NEPALI_INDIA,
|
||||
wxLANGUAGE_NEPALI_NEPAL,
|
||||
wxLANGUAGE_NGIEMBOON,
|
||||
wxLANGUAGE_NGIEMBOON_CAMEROON,
|
||||
wxLANGUAGE_NGOMBA,
|
||||
wxLANGUAGE_NGOMBA_CAMEROON,
|
||||
wxLANGUAGE_NKO,
|
||||
wxLANGUAGE_NKO_GUINEA,
|
||||
wxLANGUAGE_NORTHERN_LURI,
|
||||
wxLANGUAGE_NORTHERN_LURI_IRAN,
|
||||
wxLANGUAGE_NORTHERN_LURI_IRAQ,
|
||||
wxLANGUAGE_NORTH_NDEBELE,
|
||||
wxLANGUAGE_NORTH_NDEBELE_ZIMBABWE,
|
||||
wxLANGUAGE_NORWEGIAN,
|
||||
wxLANGUAGE_NORWEGIAN_BOKMAL,
|
||||
wxLANGUAGE_NORWEGIAN_BOKMAL_NORWAY,
|
||||
wxLANGUAGE_NORWEGIAN_BOKMAL_SVALBARD_AND_JAN_MAYEN,
|
||||
wxLANGUAGE_NORWEGIAN_NYNORSK,
|
||||
wxLANGUAGE_NORWEGIAN_NYNORSK_NORWAY,
|
||||
wxLANGUAGE_NUER,
|
||||
wxLANGUAGE_NUER_SOUTH_SUDAN,
|
||||
wxLANGUAGE_NYANKOLE,
|
||||
wxLANGUAGE_NYANKOLE_UGANDA,
|
||||
wxLANGUAGE_OCCITAN,
|
||||
wxLANGUAGE_ORIYA,
|
||||
wxLANGUAGE_OCCITAN_FRANCE,
|
||||
wxLANGUAGE_ODIA,
|
||||
wxLANGUAGE_ODIA_INDIA,
|
||||
wxLANGUAGE_OROMO,
|
||||
wxLANGUAGE_OROMO_ETHIOPIA,
|
||||
wxLANGUAGE_OROMO_KENYA,
|
||||
wxLANGUAGE_OSSETIC,
|
||||
wxLANGUAGE_OSSETIC_GEORGIA,
|
||||
wxLANGUAGE_OSSETIC_RUSSIA,
|
||||
wxLANGUAGE_PAPIAMENTO,
|
||||
wxLANGUAGE_PAPIAMENTO_CARIBBEAN,
|
||||
wxLANGUAGE_PASHTO,
|
||||
wxLANGUAGE_PASHTO_AFGHANISTAN,
|
||||
wxLANGUAGE_PASHTO_PAKISTAN,
|
||||
wxLANGUAGE_PERSIAN_IRAN,
|
||||
wxLANGUAGE_POLISH,
|
||||
wxLANGUAGE_POLISH_POLAND,
|
||||
wxLANGUAGE_PORTUGUESE,
|
||||
wxLANGUAGE_PORTUGUESE_ANGOLA,
|
||||
wxLANGUAGE_PORTUGUESE_BRAZILIAN,
|
||||
wxLANGUAGE_PORTUGUESE_CABO_VERDE,
|
||||
wxLANGUAGE_PORTUGUESE_EQUATORIAL_GUINEA,
|
||||
wxLANGUAGE_PORTUGUESE_GUINEA_BISSAU,
|
||||
wxLANGUAGE_PORTUGUESE_LUXEMBOURG,
|
||||
wxLANGUAGE_PORTUGUESE_MACAO_SAR,
|
||||
wxLANGUAGE_PORTUGUESE_MOZAMBIQUE,
|
||||
wxLANGUAGE_PORTUGUESE_PORTUGAL,
|
||||
wxLANGUAGE_PORTUGUESE_SAO_TOME_AND_PRINCIPE,
|
||||
wxLANGUAGE_PORTUGUESE_SWITZERLAND,
|
||||
wxLANGUAGE_PORTUGUESE_TIMOR_LESTE,
|
||||
wxLANGUAGE_PRUSSIAN,
|
||||
wxLANGUAGE_PRUSSIAN_WORLD,
|
||||
wxLANGUAGE_PUNJABI,
|
||||
wxLANGUAGE_PUNJABI_ARABIC,
|
||||
wxLANGUAGE_PUNJABI_GURMUKHI,
|
||||
wxLANGUAGE_PUNJABI_INDIA,
|
||||
wxLANGUAGE_PUNJABI_PAKISTAN,
|
||||
wxLANGUAGE_QUECHUA,
|
||||
wxLANGUAGE_QUECHUA_BOLIVIA,
|
||||
wxLANGUAGE_QUECHUA_ECUADOR,
|
||||
wxLANGUAGE_QUECHUA_MACRO,
|
||||
wxLANGUAGE_QUECHUA_PERU,
|
||||
wxLANGUAGE_RHAETO_ROMANCE,
|
||||
wxLANGUAGE_RHAETO_ROMANCE_SWITZERLAND,
|
||||
wxLANGUAGE_ROMANIAN,
|
||||
wxLANGUAGE_ROMANIAN_MOLDOVA,
|
||||
wxLANGUAGE_ROMANIAN_ROMANIA,
|
||||
wxLANGUAGE_ROMBO,
|
||||
wxLANGUAGE_ROMBO_TANZANIA,
|
||||
wxLANGUAGE_RUSSIAN,
|
||||
wxLANGUAGE_RUSSIAN_BELARUS,
|
||||
wxLANGUAGE_RUSSIAN_KAZAKHSTAN,
|
||||
wxLANGUAGE_RUSSIAN_KYRGYZSTAN,
|
||||
wxLANGUAGE_RUSSIAN_MOLDOVA,
|
||||
wxLANGUAGE_RUSSIAN_RUSSIA,
|
||||
wxLANGUAGE_RUSSIAN_UKRAINE,
|
||||
wxLANGUAGE_RWA,
|
||||
wxLANGUAGE_RWA_TANZANIA,
|
||||
wxLANGUAGE_SAHO,
|
||||
wxLANGUAGE_SAHO_ERITREA,
|
||||
wxLANGUAGE_SAKHA,
|
||||
wxLANGUAGE_SAKHA_RUSSIA,
|
||||
wxLANGUAGE_SAMBURU,
|
||||
wxLANGUAGE_SAMBURU_KENYA,
|
||||
wxLANGUAGE_SAMI,
|
||||
wxLANGUAGE_SAMI_FINLAND,
|
||||
wxLANGUAGE_SAMI_INARI,
|
||||
wxLANGUAGE_SAMI_INARI_FINLAND,
|
||||
wxLANGUAGE_SAMI_LULE,
|
||||
wxLANGUAGE_SAMI_LULE_NORWAY,
|
||||
wxLANGUAGE_SAMI_LULE_SWEDEN,
|
||||
wxLANGUAGE_SAMI_NORWAY,
|
||||
wxLANGUAGE_SAMI_SKOLT,
|
||||
wxLANGUAGE_SAMI_SKOLT_FINLAND,
|
||||
wxLANGUAGE_SAMI_SOUTHERN,
|
||||
wxLANGUAGE_SAMI_SOUTHERN_NORWAY,
|
||||
wxLANGUAGE_SAMI_SOUTHERN_SWEDEN,
|
||||
wxLANGUAGE_SAMI_SWEDEN,
|
||||
wxLANGUAGE_SAMOAN,
|
||||
wxLANGUAGE_SANGHO,
|
||||
wxLANGUAGE_SANGHO_CENTRAL_AFRICAN_REPUBLIC,
|
||||
wxLANGUAGE_SANGU,
|
||||
wxLANGUAGE_SANGU_TANZANIA,
|
||||
wxLANGUAGE_SANSKRIT,
|
||||
wxLANGUAGE_SANSKRIT_INDIA,
|
||||
wxLANGUAGE_SCOTS_GAELIC,
|
||||
wxLANGUAGE_SCOTS_GAELIC_UK,
|
||||
wxLANGUAGE_SENA,
|
||||
wxLANGUAGE_SENA_MOZAMBIQUE,
|
||||
wxLANGUAGE_SERBIAN,
|
||||
wxLANGUAGE_SERBIAN_CYRILLIC,
|
||||
wxLANGUAGE_SERBIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA,
|
||||
wxLANGUAGE_SERBIAN_CYRILLIC_KOSOVO,
|
||||
wxLANGUAGE_SERBIAN_CYRILLIC_MONTENEGRO,
|
||||
wxLANGUAGE_SERBIAN_CYRILLIC_SERBIA,
|
||||
wxLANGUAGE_SERBIAN_CYRILLIC_YU,
|
||||
wxLANGUAGE_SERBIAN_LATIN,
|
||||
wxLANGUAGE_SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA,
|
||||
wxLANGUAGE_SERBIAN_LATIN_KOSOVO,
|
||||
wxLANGUAGE_SERBIAN_LATIN_MONTENEGRO,
|
||||
wxLANGUAGE_SERBIAN_LATIN_SERBIA,
|
||||
wxLANGUAGE_SERBIAN_LATIN_YU,
|
||||
wxLANGUAGE_SERBIAN_SERBIA,
|
||||
wxLANGUAGE_SERBIAN_YU,
|
||||
wxLANGUAGE_SERBO_CROATIAN,
|
||||
wxLANGUAGE_SESOTHO,
|
||||
wxLANGUAGE_SESOTHO_LESOTHO,
|
||||
wxLANGUAGE_SESOTHO_SA_LEBOA,
|
||||
wxLANGUAGE_SESOTHO_SA_LEBOA_SOUTH_AFRICA,
|
||||
wxLANGUAGE_SESOTHO_SOUTH_AFRICA,
|
||||
wxLANGUAGE_SETSWANA,
|
||||
wxLANGUAGE_SETSWANA_BOTSWANA,
|
||||
wxLANGUAGE_SETSWANA_SOUTH_AFRICA,
|
||||
wxLANGUAGE_SHAMBALA,
|
||||
wxLANGUAGE_SHAMBALA_TANZANIA,
|
||||
wxLANGUAGE_SHONA,
|
||||
wxLANGUAGE_SHONA_LATIN,
|
||||
wxLANGUAGE_SHONA_LATIN_ZIMBABWE,
|
||||
wxLANGUAGE_SINDHI,
|
||||
wxLANGUAGE_SINDHI_ARABIC,
|
||||
wxLANGUAGE_SINDHI_DEVANAGARI,
|
||||
wxLANGUAGE_SINDHI_DEVANAGARI_INDIA,
|
||||
wxLANGUAGE_SINDHI_PAKISTAN,
|
||||
wxLANGUAGE_SINHALESE,
|
||||
wxLANGUAGE_SINHALESE_SRI_LANKA,
|
||||
wxLANGUAGE_SISWATI,
|
||||
wxLANGUAGE_SISWATI_ESWATINI,
|
||||
wxLANGUAGE_SISWATI_SOUTH_AFRICA,
|
||||
wxLANGUAGE_SLOVAK,
|
||||
wxLANGUAGE_SLOVAK_SLOVAKIA,
|
||||
wxLANGUAGE_SLOVENIAN,
|
||||
wxLANGUAGE_SLOVENIAN_SLOVENIA,
|
||||
wxLANGUAGE_SOGA,
|
||||
wxLANGUAGE_SOGA_UGANDA,
|
||||
wxLANGUAGE_SOMALI,
|
||||
wxLANGUAGE_SOMALI_DJIBOUTI,
|
||||
wxLANGUAGE_SOMALI_ETHIOPIA,
|
||||
wxLANGUAGE_SOMALI_KENYA,
|
||||
wxLANGUAGE_SOMALI_SOMALIA,
|
||||
wxLANGUAGE_SOUTH_NDEBELE,
|
||||
wxLANGUAGE_SOUTH_NDEBELE_SOUTH_AFRICA,
|
||||
wxLANGUAGE_SPANISH,
|
||||
wxLANGUAGE_SPANISH_ARGENTINA,
|
||||
wxLANGUAGE_SPANISH_BELIZE,
|
||||
wxLANGUAGE_SPANISH_BOLIVIA,
|
||||
wxLANGUAGE_SPANISH_BRAZIL,
|
||||
wxLANGUAGE_SPANISH_CHILE,
|
||||
wxLANGUAGE_SPANISH_COLOMBIA,
|
||||
wxLANGUAGE_SPANISH_COSTA_RICA,
|
||||
wxLANGUAGE_SPANISH_CUBA,
|
||||
wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC,
|
||||
wxLANGUAGE_SPANISH_ECUADOR,
|
||||
wxLANGUAGE_SPANISH_EL_SALVADOR,
|
||||
wxLANGUAGE_SPANISH_EQUATORIAL_GUINEA,
|
||||
wxLANGUAGE_SPANISH_GUATEMALA,
|
||||
wxLANGUAGE_SPANISH_HONDURAS,
|
||||
wxLANGUAGE_SPANISH_LATIN_AMERICA,
|
||||
wxLANGUAGE_SPANISH_MEXICAN,
|
||||
wxLANGUAGE_SPANISH_MODERN,
|
||||
wxLANGUAGE_SPANISH_NICARAGUA,
|
||||
wxLANGUAGE_SPANISH_PANAMA,
|
||||
wxLANGUAGE_SPANISH_PARAGUAY,
|
||||
wxLANGUAGE_SPANISH_PERU,
|
||||
wxLANGUAGE_SPANISH_PHILIPPINES,
|
||||
wxLANGUAGE_SPANISH_PUERTO_RICO,
|
||||
wxLANGUAGE_SPANISH_SPAIN,
|
||||
wxLANGUAGE_SPANISH_URUGUAY,
|
||||
wxLANGUAGE_SPANISH_US,
|
||||
wxLANGUAGE_SPANISH_VENEZUELA,
|
||||
wxLANGUAGE_STANDARD_MOROCCAN_TAMAZIGHT,
|
||||
wxLANGUAGE_STANDARD_MOROCCAN_TAMAZIGHT_TIFINAGH,
|
||||
wxLANGUAGE_STANDARD_MOROCCAN_TAMAZIGHT_TIFINAGH_MOROCCO,
|
||||
wxLANGUAGE_SUNDANESE,
|
||||
wxLANGUAGE_SWAHILI,
|
||||
wxLANGUAGE_SWAHILI_CONGO_DRC,
|
||||
wxLANGUAGE_SWAHILI_KENYA,
|
||||
wxLANGUAGE_SWAHILI_TANZANIA,
|
||||
wxLANGUAGE_SWAHILI_UGANDA,
|
||||
wxLANGUAGE_SWEDISH,
|
||||
wxLANGUAGE_SWEDISH_ALAND_ISLANDS,
|
||||
wxLANGUAGE_SWEDISH_FINLAND,
|
||||
wxLANGUAGE_SWEDISH_SWEDEN,
|
||||
wxLANGUAGE_SWISS_GERMAN,
|
||||
wxLANGUAGE_SWISS_GERMAN_LIECHTENSTEIN,
|
||||
wxLANGUAGE_SWISS_GERMAN_SWITZERLAND,
|
||||
wxLANGUAGE_SYRIAC,
|
||||
wxLANGUAGE_SYRIAC_SYRIA,
|
||||
wxLANGUAGE_TACHELHIT,
|
||||
wxLANGUAGE_TACHELHIT_LATIN,
|
||||
wxLANGUAGE_TACHELHIT_LATIN_MOROCCO,
|
||||
wxLANGUAGE_TACHELHIT_TIFINAGH,
|
||||
wxLANGUAGE_TACHELHIT_TIFINAGH_MOROCCO,
|
||||
wxLANGUAGE_TAGALOG,
|
||||
wxLANGUAGE_TAITA,
|
||||
wxLANGUAGE_TAITA_KENYA,
|
||||
wxLANGUAGE_TAJIK,
|
||||
wxLANGUAGE_TAJIK_CYRILLIC,
|
||||
wxLANGUAGE_TAJIK_CYRILLIC_TAJIKISTAN,
|
||||
wxLANGUAGE_TAMIL,
|
||||
wxLANGUAGE_TAMIL_INDIA,
|
||||
wxLANGUAGE_TAMIL_MALAYSIA,
|
||||
wxLANGUAGE_TAMIL_SINGAPORE,
|
||||
wxLANGUAGE_TAMIL_SRI_LANKA,
|
||||
wxLANGUAGE_TASAWAQ,
|
||||
wxLANGUAGE_TASAWAQ_NIGER,
|
||||
wxLANGUAGE_TATAR,
|
||||
wxLANGUAGE_TATAR_RUSSIA,
|
||||
wxLANGUAGE_TELUGU,
|
||||
wxLANGUAGE_TELUGU_INDIA,
|
||||
wxLANGUAGE_TESO,
|
||||
wxLANGUAGE_TESO_KENYA,
|
||||
wxLANGUAGE_TESO_UGANDA,
|
||||
wxLANGUAGE_THAI,
|
||||
wxLANGUAGE_THAI_THAILAND,
|
||||
wxLANGUAGE_TIBETAN,
|
||||
wxLANGUAGE_TIBETAN_CHINA,
|
||||
wxLANGUAGE_TIBETAN_INDIA,
|
||||
wxLANGUAGE_TIGRE,
|
||||
wxLANGUAGE_TIGRE_ERITREA,
|
||||
wxLANGUAGE_TIGRINYA,
|
||||
wxLANGUAGE_TIGRINYA_ERITREA,
|
||||
wxLANGUAGE_TIGRINYA_ETHIOPIA,
|
||||
wxLANGUAGE_TONGA,
|
||||
wxLANGUAGE_TONGA_TONGA,
|
||||
wxLANGUAGE_TSONGA,
|
||||
wxLANGUAGE_TSONGA_SOUTH_AFRICA,
|
||||
wxLANGUAGE_TURKISH,
|
||||
wxLANGUAGE_TURKISH_CYPRUS,
|
||||
wxLANGUAGE_TURKISH_TURKEY,
|
||||
wxLANGUAGE_TURKMEN,
|
||||
wxLANGUAGE_TURKMEN_TURKMENISTAN,
|
||||
wxLANGUAGE_TWI,
|
||||
wxLANGUAGE_UIGHUR,
|
||||
wxLANGUAGE_UIGHUR_CHINA,
|
||||
wxLANGUAGE_UKRAINIAN,
|
||||
wxLANGUAGE_UKRAINIAN_UKRAINE,
|
||||
wxLANGUAGE_UPPER_SORBIAN,
|
||||
wxLANGUAGE_UPPER_SORBIAN_GERMANY,
|
||||
wxLANGUAGE_URDU,
|
||||
wxLANGUAGE_URDU_INDIA,
|
||||
wxLANGUAGE_URDU_PAKISTAN,
|
||||
wxLANGUAGE_UZBEK,
|
||||
wxLANGUAGE_UZBEK_CYRILLIC,
|
||||
wxLANGUAGE_UZBEK_CYRILLIC_UZBEKISTAN,
|
||||
wxLANGUAGE_UZBEK_LATIN,
|
||||
wxLANGUAGE_UZBEK_LATIN_UZBEKISTAN,
|
||||
wxLANGUAGE_UZBEK_PERSO_ARABIC,
|
||||
wxLANGUAGE_UZBEK_PERSO_ARABIC_AFGHANISTAN,
|
||||
wxLANGUAGE_VAI,
|
||||
wxLANGUAGE_VAI_LATIN,
|
||||
wxLANGUAGE_VAI_LATIN_LIBERIA,
|
||||
wxLANGUAGE_VAI_VAI,
|
||||
wxLANGUAGE_VAI_VAI_LIBERIA,
|
||||
wxLANGUAGE_VALENCIAN,
|
||||
wxLANGUAGE_VENDA,
|
||||
wxLANGUAGE_VENDA_SOUTH_AFRICA,
|
||||
wxLANGUAGE_VIETNAMESE,
|
||||
wxLANGUAGE_VIETNAMESE_VIETNAM,
|
||||
wxLANGUAGE_VOLAPUK,
|
||||
wxLANGUAGE_VOLAPUK_WORLD,
|
||||
wxLANGUAGE_VUNJO,
|
||||
wxLANGUAGE_VUNJO_TANZANIA,
|
||||
wxLANGUAGE_WALSER,
|
||||
wxLANGUAGE_WALSER_SWITZERLAND,
|
||||
wxLANGUAGE_WELSH,
|
||||
wxLANGUAGE_WELSH_UK,
|
||||
wxLANGUAGE_WOLAYTTA,
|
||||
wxLANGUAGE_WOLAYTTA_ETHIOPIA,
|
||||
wxLANGUAGE_WOLOF,
|
||||
wxLANGUAGE_WOLOF_SENEGAL,
|
||||
wxLANGUAGE_XHOSA,
|
||||
wxLANGUAGE_XHOSA_SOUTH_AFRICA,
|
||||
wxLANGUAGE_YANGBEN,
|
||||
wxLANGUAGE_YANGBEN_CAMEROON,
|
||||
wxLANGUAGE_YI,
|
||||
wxLANGUAGE_YIDDISH,
|
||||
wxLANGUAGE_YIDDISH_WORLD,
|
||||
wxLANGUAGE_YI_CHINA,
|
||||
wxLANGUAGE_YORUBA,
|
||||
wxLANGUAGE_YORUBA_BENIN,
|
||||
wxLANGUAGE_YORUBA_NIGERIA,
|
||||
wxLANGUAGE_ZARMA,
|
||||
wxLANGUAGE_ZARMA_NIGER,
|
||||
wxLANGUAGE_ZHUANG,
|
||||
wxLANGUAGE_ZULU,
|
||||
wxLANGUAGE_ZULU_SOUTH_AFRICA,
|
||||
|
||||
/// For custom, user-defined languages.
|
||||
wxLANGUAGE_USER_DEFINED,
|
||||
|
||||
/// Synonyms.
|
||||
wxLANGUAGE_AZERI = wxLANGUAGE_AZERBAIJANI,
|
||||
wxLANGUAGE_AZERI_CYRILLIC = wxLANGUAGE_AZERBAIJANI_CYRILLIC,
|
||||
wxLANGUAGE_AZERI_LATIN = wxLANGUAGE_AZERBAIJANI_LATIN,
|
||||
wxLANGUAGE_BENGALI = wxLANGUAGE_BANGLA,
|
||||
wxLANGUAGE_BENGALI_BANGLADESH = wxLANGUAGE_BANGLA_BANGLADESH,
|
||||
wxLANGUAGE_BENGALI_INDIA = wxLANGUAGE_BANGLA_INDIA,
|
||||
wxLANGUAGE_BHUTANI = wxLANGUAGE_DZONGKHA,
|
||||
wxLANGUAGE_CHINESE_SIMPLIFIED = wxLANGUAGE_CHINESE_CHINA,
|
||||
wxLANGUAGE_CHINESE_TRADITIONAL = wxLANGUAGE_CHINESE_TAIWAN,
|
||||
wxLANGUAGE_CHINESE_MACAU = wxLANGUAGE_CHINESE_MACAO,
|
||||
wxLANGUAGE_KERNEWEK = wxLANGUAGE_CORNISH,
|
||||
wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM = wxLANGUAGE_MALAY_BRUNEI,
|
||||
wxLANGUAGE_ORIYA = wxLANGUAGE_ODIA,
|
||||
wxLANGUAGE_ORIYA_INDIA = wxLANGUAGE_ODIA_INDIA,
|
||||
wxLANGUAGE_SPANISH_MODERN = wxLANGUAGE_SPANISH,
|
||||
|
||||
/// Obsolete synonym.
|
||||
wxLANGUAGE_CAMBODIAN = wxLANGUAGE_KHMER
|
||||
|
||||
@@ -82,12 +82,17 @@ enum wxLocaleInfo
|
||||
struct WXDLLIMPEXP_BASE wxLanguageInfo
|
||||
{
|
||||
int Language; // wxLanguage id
|
||||
wxString LocaleTag; // Tag of locale in BCP 47-like notation
|
||||
wxString CanonicalName; // Canonical name, e.g. fr_FR
|
||||
wxString CanonicalRef; // Canonical reference including region,
|
||||
// if the name specifies the language only, e.g. fr_FR for fr;
|
||||
// empty, if region is unknown or already part of the name.
|
||||
#ifdef __WINDOWS__
|
||||
wxUint32 WinLang, // Win32 language identifiers
|
||||
WinSublang;
|
||||
#endif // __WINDOWS__
|
||||
wxString Description; // human-readable name of the language
|
||||
wxString Description; // human-readable name of the language in English
|
||||
wxString DescriptionNative; // human-readable name of the language in native language
|
||||
wxLayoutDirection LayoutDirection;
|
||||
|
||||
#ifdef __WINDOWS__
|
||||
|
||||
@@ -138,11 +138,59 @@ public:
|
||||
// its dtor is not virtual.
|
||||
~wxUILocale();
|
||||
|
||||
// Try to get user's (or OS's) preferred language setting.
|
||||
// Return wxLANGUAGE_UNKNOWN if language-guessing algorithm failed
|
||||
static int GetSystemLanguage();
|
||||
|
||||
// Retrieve the language info struct for the given language
|
||||
//
|
||||
// Returns NULL if no info found, pointer must *not* be deleted by caller
|
||||
static const wxLanguageInfo* GetLanguageInfo(int lang);
|
||||
|
||||
// Returns language name in English or empty string if the language
|
||||
// is not in database
|
||||
static wxString GetLanguageName(int lang);
|
||||
|
||||
// Returns ISO code ("canonical name") of language or empty string if the
|
||||
// language is not in database
|
||||
static wxString GetLanguageCanonicalName(int lang);
|
||||
|
||||
// Find the language for the given locale string which may be either a
|
||||
// canonical ISO 2 letter language code ("xx"), a language code followed by
|
||||
// the country code ("xx_XX") or a Windows full language name ("Xxxxx...")
|
||||
//
|
||||
// Returns NULL if no info found, pointer must *not* be deleted by caller
|
||||
static const wxLanguageInfo* FindLanguageInfo(const wxString& locale);
|
||||
|
||||
// Add custom language to the list of known languages.
|
||||
// Notes: 1) wxLanguageInfo contains platform-specific data
|
||||
// 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 = NULL) : m_impl(impl) { }
|
||||
|
||||
// Creates the global tables of languages and scripts called by CreateLanguagesDB
|
||||
static void InitLanguagesDB();
|
||||
|
||||
static wxUILocale ms_current;
|
||||
|
||||
|
||||
@@ -33,9 +33,26 @@ struct wxLanguageInfo
|
||||
/// language info structure.
|
||||
int Language;
|
||||
|
||||
/**
|
||||
Tag for locale in BCP 47-like notation.
|
||||
|
||||
@since 3.1.6
|
||||
*/
|
||||
wxString LocaleTag;
|
||||
|
||||
/// Canonical name of the language, e.g. @c fr_FR.
|
||||
wxString CanonicalName;
|
||||
|
||||
/**
|
||||
Canonical reference including region.
|
||||
|
||||
Set, if the name specifies the language only, e.g. fr_FR for fr.
|
||||
Empty, if region is unknown or already part of the name.
|
||||
|
||||
@since 3.1.6
|
||||
*/
|
||||
wxString CanonicalRef;
|
||||
|
||||
//@{
|
||||
/**
|
||||
Win32 language identifiers (LANG_xxxx, SUBLANG_xxxx).
|
||||
@@ -45,9 +62,16 @@ struct wxLanguageInfo
|
||||
wxUint32 WinLang, WinSublang;
|
||||
//@}
|
||||
|
||||
/// Human-readable name of the language.
|
||||
/// Human-readable name of the language in English.
|
||||
wxString Description;
|
||||
|
||||
/**
|
||||
Human-readable name of the language in this language itself.
|
||||
|
||||
@since 3.1.6
|
||||
*/
|
||||
wxString DescriptionNative;
|
||||
|
||||
/// The layout direction used for this language.
|
||||
wxLayoutDirection LayoutDirection;
|
||||
|
||||
|
||||
@@ -24,242 +24,901 @@ enum wxLanguage
|
||||
|
||||
wxLANGUAGE_ABKHAZIAN,
|
||||
wxLANGUAGE_AFAR,
|
||||
wxLANGUAGE_AFAR_DJIBOUTI,
|
||||
wxLANGUAGE_AFAR_ERITREA,
|
||||
wxLANGUAGE_AFAR_ETHIOPIA,
|
||||
wxLANGUAGE_AFRIKAANS,
|
||||
wxLANGUAGE_AFRIKAANS_NAMIBIA,
|
||||
wxLANGUAGE_AFRIKAANS_SOUTH_AFRICA,
|
||||
wxLANGUAGE_AGHEM,
|
||||
wxLANGUAGE_AGHEM_CAMEROON,
|
||||
wxLANGUAGE_AKAN,
|
||||
wxLANGUAGE_AKAN_GHANA,
|
||||
wxLANGUAGE_ALBANIAN,
|
||||
wxLANGUAGE_ALBANIAN_ALBANIA,
|
||||
wxLANGUAGE_ALBANIAN_KOSOVO,
|
||||
wxLANGUAGE_ALBANIAN_NORTH_MACEDONIA,
|
||||
wxLANGUAGE_ALSATIAN_FRANCE,
|
||||
wxLANGUAGE_AMHARIC,
|
||||
wxLANGUAGE_AMHARIC_ETHIOPIA,
|
||||
wxLANGUAGE_ARABIC,
|
||||
wxLANGUAGE_ARABIC_ALGERIA,
|
||||
wxLANGUAGE_ARABIC_BAHRAIN,
|
||||
wxLANGUAGE_ARABIC_CHAD,
|
||||
wxLANGUAGE_ARABIC_COMOROS,
|
||||
wxLANGUAGE_ARABIC_DJIBOUTI,
|
||||
wxLANGUAGE_ARABIC_EGYPT,
|
||||
wxLANGUAGE_ARABIC_ERITREA,
|
||||
wxLANGUAGE_ARABIC_IRAQ,
|
||||
wxLANGUAGE_ARABIC_ISRAEL,
|
||||
wxLANGUAGE_ARABIC_JORDAN,
|
||||
wxLANGUAGE_ARABIC_KUWAIT,
|
||||
wxLANGUAGE_ARABIC_LEBANON,
|
||||
wxLANGUAGE_ARABIC_LIBYA,
|
||||
wxLANGUAGE_ARABIC_MAURITANIA,
|
||||
wxLANGUAGE_ARABIC_MOROCCO,
|
||||
wxLANGUAGE_ARABIC_OMAN,
|
||||
wxLANGUAGE_ARABIC_PALESTINIAN_AUTHORITY,
|
||||
wxLANGUAGE_ARABIC_QATAR,
|
||||
wxLANGUAGE_ARABIC_SAUDI_ARABIA,
|
||||
wxLANGUAGE_ARABIC_SOMALIA,
|
||||
wxLANGUAGE_ARABIC_SOUTH_SUDAN,
|
||||
wxLANGUAGE_ARABIC_SUDAN,
|
||||
wxLANGUAGE_ARABIC_SYRIA,
|
||||
wxLANGUAGE_ARABIC_TUNISIA,
|
||||
wxLANGUAGE_ARABIC_UAE,
|
||||
wxLANGUAGE_ARABIC_WORLD,
|
||||
wxLANGUAGE_ARABIC_YEMEN,
|
||||
wxLANGUAGE_ARMENIAN,
|
||||
wxLANGUAGE_ARMENIAN_ARMENIA,
|
||||
wxLANGUAGE_ASSAMESE,
|
||||
wxLANGUAGE_ASSAMESE_INDIA,
|
||||
wxLANGUAGE_ASTURIAN,
|
||||
wxLANGUAGE_ASTURIAN_SPAIN,
|
||||
wxLANGUAGE_ASU,
|
||||
wxLANGUAGE_ASU_TANZANIA,
|
||||
wxLANGUAGE_AYMARA,
|
||||
wxLANGUAGE_AZERI,
|
||||
wxLANGUAGE_AZERI_CYRILLIC,
|
||||
wxLANGUAGE_AZERI_LATIN,
|
||||
wxLANGUAGE_AZERBAIJANI,
|
||||
wxLANGUAGE_AZERBAIJANI_CYRILLIC,
|
||||
wxLANGUAGE_AZERBAIJANI_CYRILLIC_AZERBAIJAN,
|
||||
wxLANGUAGE_AZERBAIJANI_LATIN,
|
||||
wxLANGUAGE_AZERBAIJANI_LATIN_AZERBAIJAN,
|
||||
wxLANGUAGE_BAFIA,
|
||||
wxLANGUAGE_BAFIA_CAMEROON,
|
||||
wxLANGUAGE_BAMANANKAN,
|
||||
wxLANGUAGE_BAMANANKAN_LATIN,
|
||||
wxLANGUAGE_BAMANANKAN_LATIN_MALI,
|
||||
wxLANGUAGE_BANGLA,
|
||||
wxLANGUAGE_BANGLA_BANGLADESH,
|
||||
wxLANGUAGE_BANGLA_INDIA,
|
||||
wxLANGUAGE_BASAA,
|
||||
wxLANGUAGE_BASAA_CAMEROON,
|
||||
wxLANGUAGE_BASHKIR,
|
||||
wxLANGUAGE_BASHKIR_RUSSIA,
|
||||
wxLANGUAGE_BASQUE,
|
||||
wxLANGUAGE_BASQUE_SPAIN,
|
||||
wxLANGUAGE_BELARUSIAN,
|
||||
wxLANGUAGE_BENGALI,
|
||||
wxLANGUAGE_BHUTANI,
|
||||
wxLANGUAGE_BELARUSIAN_BELARUS,
|
||||
wxLANGUAGE_BEMBA,
|
||||
wxLANGUAGE_BEMBA_ZAMBIA,
|
||||
wxLANGUAGE_BENA,
|
||||
wxLANGUAGE_BENA_TANZANIA,
|
||||
wxLANGUAGE_BIHARI,
|
||||
wxLANGUAGE_BISLAMA,
|
||||
wxLANGUAGE_BLIN,
|
||||
wxLANGUAGE_BLIN_ERITREA,
|
||||
wxLANGUAGE_BODO,
|
||||
wxLANGUAGE_BODO_INDIA,
|
||||
wxLANGUAGE_BOSNIAN,
|
||||
wxLANGUAGE_BOSNIAN_CYRILLIC,
|
||||
wxLANGUAGE_BOSNIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA,
|
||||
wxLANGUAGE_BOSNIAN_LATIN,
|
||||
wxLANGUAGE_BOSNIAN_LATIN_BOSNIA_AND_HERZEGOVINA,
|
||||
wxLANGUAGE_BRETON,
|
||||
wxLANGUAGE_BRETON_FRANCE,
|
||||
wxLANGUAGE_BULGARIAN,
|
||||
wxLANGUAGE_BULGARIAN_BULGARIA,
|
||||
wxLANGUAGE_BURMESE,
|
||||
wxLANGUAGE_BURMESE_MYANMAR,
|
||||
wxLANGUAGE_CATALAN,
|
||||
wxLANGUAGE_CATALAN_ANDORRA,
|
||||
wxLANGUAGE_CATALAN_FRANCE,
|
||||
wxLANGUAGE_CATALAN_ITALY,
|
||||
wxLANGUAGE_CATALAN_SPAIN,
|
||||
wxLANGUAGE_CEBUANO,
|
||||
wxLANGUAGE_CEBUANO_LATIN,
|
||||
wxLANGUAGE_CEBUANO_LATIN_PHILIPPINES,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_ARABIC,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_ARABIC_MOROCCO,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_LATIN,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_LATIN_ALGERIA,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_LATIN_MOROCCO,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_TIFINAGH,
|
||||
wxLANGUAGE_CENTRAL_ATLAS_TAMAZIGHT_TIFINAGH_MOROCCO,
|
||||
wxLANGUAGE_CENTRAL_KURDISH,
|
||||
wxLANGUAGE_CENTRAL_KURDISH_IRAQ,
|
||||
wxLANGUAGE_CHAKMA,
|
||||
wxLANGUAGE_CHAKMA_CHAKMA,
|
||||
wxLANGUAGE_CHAKMA_CHAKMA_BANGLADESH,
|
||||
wxLANGUAGE_CHAKMA_CHAKMA_INDIA,
|
||||
wxLANGUAGE_CHECHEN,
|
||||
wxLANGUAGE_CHECHEN_RUSSIA,
|
||||
wxLANGUAGE_CHEROKEE,
|
||||
wxLANGUAGE_CHEROKEE_CHEROKEE,
|
||||
wxLANGUAGE_CHEROKEE_US,
|
||||
wxLANGUAGE_CHIGA,
|
||||
wxLANGUAGE_CHIGA_UGANDA,
|
||||
wxLANGUAGE_CHINESE,
|
||||
wxLANGUAGE_CHINESE_SIMPLIFIED,
|
||||
wxLANGUAGE_CHINESE_TRADITIONAL,
|
||||
wxLANGUAGE_CHINESE_CHINA,
|
||||
wxLANGUAGE_CHINESE_HONGKONG,
|
||||
wxLANGUAGE_CHINESE_MACAU,
|
||||
wxLANGUAGE_CHINESE_MACAO,
|
||||
wxLANGUAGE_CHINESE_SIMPLIFIED_EXPLICIT,
|
||||
wxLANGUAGE_CHINESE_SIMPLIFIED_HONGKONG,
|
||||
wxLANGUAGE_CHINESE_SIMPLIFIED_MACAO,
|
||||
wxLANGUAGE_CHINESE_SINGAPORE,
|
||||
wxLANGUAGE_CHINESE_TAIWAN,
|
||||
wxLANGUAGE_CHINESE_TRADITIONAL_EXPLICIT,
|
||||
wxLANGUAGE_CHURCH_SLAVIC,
|
||||
wxLANGUAGE_CHURCH_SLAVIC_RUSSIA,
|
||||
wxLANGUAGE_COLOGNIAN,
|
||||
wxLANGUAGE_COLOGNIAN_GERMANY,
|
||||
wxLANGUAGE_CORNISH,
|
||||
wxLANGUAGE_CORNISH_UK,
|
||||
wxLANGUAGE_CORSICAN,
|
||||
wxLANGUAGE_CORSICAN_FRANCE,
|
||||
wxLANGUAGE_CROATIAN,
|
||||
wxLANGUAGE_CROATIAN_BOSNIA_AND_HERZEGOVINA,
|
||||
wxLANGUAGE_CROATIAN_CROATIA,
|
||||
wxLANGUAGE_CZECH,
|
||||
wxLANGUAGE_CZECH_CZECHIA,
|
||||
wxLANGUAGE_DANISH,
|
||||
wxLANGUAGE_DANISH_DENMARK,
|
||||
wxLANGUAGE_DANISH_GREENLAND,
|
||||
wxLANGUAGE_DARI,
|
||||
wxLANGUAGE_DARI_AFGHANISTAN,
|
||||
wxLANGUAGE_DIVEHI,
|
||||
wxLANGUAGE_DIVEHI_MALDIVES,
|
||||
wxLANGUAGE_DUALA,
|
||||
wxLANGUAGE_DUALA_CAMEROON,
|
||||
wxLANGUAGE_DUTCH,
|
||||
wxLANGUAGE_DUTCH_ARUBA,
|
||||
wxLANGUAGE_DUTCH_BELGIAN,
|
||||
wxLANGUAGE_DUTCH_BONAIRE_SINT_EUSTATIUS_AND_SABA,
|
||||
wxLANGUAGE_DUTCH_CURACAO,
|
||||
wxLANGUAGE_DUTCH_NETHERLANDS,
|
||||
wxLANGUAGE_DUTCH_SINT_MAARTEN,
|
||||
wxLANGUAGE_DUTCH_SURINAME,
|
||||
wxLANGUAGE_DZONGKHA,
|
||||
wxLANGUAGE_DZONGKHA_BHUTAN,
|
||||
wxLANGUAGE_EDO,
|
||||
wxLANGUAGE_EDO_NIGERIA,
|
||||
wxLANGUAGE_EMBU,
|
||||
wxLANGUAGE_EMBU_KENYA,
|
||||
wxLANGUAGE_ENGLISH,
|
||||
wxLANGUAGE_ENGLISH_UK,
|
||||
wxLANGUAGE_ENGLISH_US,
|
||||
wxLANGUAGE_ENGLISH_AMERICAN_SAMOA,
|
||||
wxLANGUAGE_ENGLISH_ANGUILLA,
|
||||
wxLANGUAGE_ENGLISH_ANTIGUA_AND_BARBUDA,
|
||||
wxLANGUAGE_ENGLISH_AUSTRALIA,
|
||||
wxLANGUAGE_ENGLISH_AUSTRIA,
|
||||
wxLANGUAGE_ENGLISH_BAHAMAS,
|
||||
wxLANGUAGE_ENGLISH_BARBADOS,
|
||||
wxLANGUAGE_ENGLISH_BELGIUM,
|
||||
wxLANGUAGE_ENGLISH_BELIZE,
|
||||
wxLANGUAGE_ENGLISH_BERMUDA,
|
||||
wxLANGUAGE_ENGLISH_BOTSWANA,
|
||||
wxLANGUAGE_ENGLISH_BRITISH_INDIAN_OCEAN_TERRITORY,
|
||||
wxLANGUAGE_ENGLISH_BRITISH_VIRGIN_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_BURUNDI,
|
||||
wxLANGUAGE_ENGLISH_CAMEROON,
|
||||
wxLANGUAGE_ENGLISH_CANADA,
|
||||
wxLANGUAGE_ENGLISH_CARIBBEAN,
|
||||
wxLANGUAGE_ENGLISH_CARIBBEAN_CB,
|
||||
wxLANGUAGE_ENGLISH_CAYMAN_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_CHRISTMAS_ISLAND,
|
||||
wxLANGUAGE_ENGLISH_COCOS_KEELING_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_COOK_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_CYPRUS,
|
||||
wxLANGUAGE_ENGLISH_DENMARK,
|
||||
wxLANGUAGE_ENGLISH_DOMINICA,
|
||||
wxLANGUAGE_ENGLISH_EIRE,
|
||||
wxLANGUAGE_ENGLISH_ERITREA,
|
||||
wxLANGUAGE_ENGLISH_ESWATINI,
|
||||
wxLANGUAGE_ENGLISH_EUROPE,
|
||||
wxLANGUAGE_ENGLISH_FALKLAND_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_FIJI,
|
||||
wxLANGUAGE_ENGLISH_FINLAND,
|
||||
wxLANGUAGE_ENGLISH_GAMBIA,
|
||||
wxLANGUAGE_ENGLISH_GERMANY,
|
||||
wxLANGUAGE_ENGLISH_GHANA,
|
||||
wxLANGUAGE_ENGLISH_GIBRALTAR,
|
||||
wxLANGUAGE_ENGLISH_GRENADA,
|
||||
wxLANGUAGE_ENGLISH_GUAM,
|
||||
wxLANGUAGE_ENGLISH_GUERNSEY,
|
||||
wxLANGUAGE_ENGLISH_GUYANA,
|
||||
wxLANGUAGE_ENGLISH_HONG_KONG_SAR,
|
||||
wxLANGUAGE_ENGLISH_INDIA,
|
||||
wxLANGUAGE_ENGLISH_INDONESIA,
|
||||
wxLANGUAGE_ENGLISH_ISLE_OF_MAN,
|
||||
wxLANGUAGE_ENGLISH_ISRAEL,
|
||||
wxLANGUAGE_ENGLISH_JAMAICA,
|
||||
wxLANGUAGE_ENGLISH_JERSEY,
|
||||
wxLANGUAGE_ENGLISH_KENYA,
|
||||
wxLANGUAGE_ENGLISH_KIRIBATI,
|
||||
wxLANGUAGE_ENGLISH_LESOTHO,
|
||||
wxLANGUAGE_ENGLISH_LIBERIA,
|
||||
wxLANGUAGE_ENGLISH_MACAO_SAR,
|
||||
wxLANGUAGE_ENGLISH_MADAGASCAR,
|
||||
wxLANGUAGE_ENGLISH_MALAWI,
|
||||
wxLANGUAGE_ENGLISH_MALAYSIA,
|
||||
wxLANGUAGE_ENGLISH_MALTA,
|
||||
wxLANGUAGE_ENGLISH_MARSHALL_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_MAURITIUS,
|
||||
wxLANGUAGE_ENGLISH_MICRONESIA,
|
||||
wxLANGUAGE_ENGLISH_MONTSERRAT,
|
||||
wxLANGUAGE_ENGLISH_NAMIBIA,
|
||||
wxLANGUAGE_ENGLISH_NAURU,
|
||||
wxLANGUAGE_ENGLISH_NETHERLANDS,
|
||||
wxLANGUAGE_ENGLISH_NEW_ZEALAND,
|
||||
wxLANGUAGE_ENGLISH_NIGERIA,
|
||||
wxLANGUAGE_ENGLISH_NIUE,
|
||||
wxLANGUAGE_ENGLISH_NORFOLK_ISLAND,
|
||||
wxLANGUAGE_ENGLISH_NORTHERN_MARIANA_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_PAKISTAN,
|
||||
wxLANGUAGE_ENGLISH_PALAU,
|
||||
wxLANGUAGE_ENGLISH_PAPUA_NEW_GUINEA,
|
||||
wxLANGUAGE_ENGLISH_PHILIPPINES,
|
||||
wxLANGUAGE_ENGLISH_PITCAIRN_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_PUERTO_RICO,
|
||||
wxLANGUAGE_ENGLISH_RWANDA,
|
||||
wxLANGUAGE_ENGLISH_SAMOA,
|
||||
wxLANGUAGE_ENGLISH_SEYCHELLES,
|
||||
wxLANGUAGE_ENGLISH_SIERRA_LEONE,
|
||||
wxLANGUAGE_ENGLISH_SINGAPORE,
|
||||
wxLANGUAGE_ENGLISH_SINT_MAARTEN,
|
||||
wxLANGUAGE_ENGLISH_SLOVENIA,
|
||||
wxLANGUAGE_ENGLISH_SOLOMON_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_SOUTH_AFRICA,
|
||||
wxLANGUAGE_ENGLISH_SOUTH_SUDAN,
|
||||
wxLANGUAGE_ENGLISH_ST_HELENA_ASCENSION_TRISTAN_DA_CUNHA,
|
||||
wxLANGUAGE_ENGLISH_ST_KITTS_AND_NEVIS,
|
||||
wxLANGUAGE_ENGLISH_ST_LUCIA,
|
||||
wxLANGUAGE_ENGLISH_ST_VINCENT_AND_GRENADINES,
|
||||
wxLANGUAGE_ENGLISH_SUDAN,
|
||||
wxLANGUAGE_ENGLISH_SWEDEN,
|
||||
wxLANGUAGE_ENGLISH_SWITZERLAND,
|
||||
wxLANGUAGE_ENGLISH_TANZANIA,
|
||||
wxLANGUAGE_ENGLISH_TOKELAU,
|
||||
wxLANGUAGE_ENGLISH_TONGA,
|
||||
wxLANGUAGE_ENGLISH_TRINIDAD,
|
||||
wxLANGUAGE_ENGLISH_TURKS_AND_CAICOS_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_TUVALU,
|
||||
wxLANGUAGE_ENGLISH_UGANDA,
|
||||
wxLANGUAGE_ENGLISH_UK,
|
||||
wxLANGUAGE_ENGLISH_UNITED_ARAB_EMIRATES,
|
||||
wxLANGUAGE_ENGLISH_US,
|
||||
wxLANGUAGE_ENGLISH_US_OUTLYING_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_US_VIRGIN_ISLANDS,
|
||||
wxLANGUAGE_ENGLISH_VANUATU,
|
||||
wxLANGUAGE_ENGLISH_WORLD,
|
||||
wxLANGUAGE_ENGLISH_ZAMBIA,
|
||||
wxLANGUAGE_ENGLISH_ZIMBABWE,
|
||||
wxLANGUAGE_ESPERANTO,
|
||||
wxLANGUAGE_ESPERANTO_WORLD,
|
||||
wxLANGUAGE_ESTONIAN,
|
||||
wxLANGUAGE_ESTONIAN_ESTONIA,
|
||||
wxLANGUAGE_EWE,
|
||||
wxLANGUAGE_EWE_GHANA,
|
||||
wxLANGUAGE_EWE_TOGO,
|
||||
wxLANGUAGE_EWONDO,
|
||||
wxLANGUAGE_EWONDO_CAMEROON,
|
||||
wxLANGUAGE_FAEROESE,
|
||||
wxLANGUAGE_FAEROESE_DENMARK,
|
||||
wxLANGUAGE_FAEROESE_FAROE_ISLANDS,
|
||||
wxLANGUAGE_FARSI,
|
||||
wxLANGUAGE_FIJI,
|
||||
wxLANGUAGE_FILIPINO,
|
||||
wxLANGUAGE_FILIPINO_PHILIPPINES,
|
||||
wxLANGUAGE_FINNISH,
|
||||
wxLANGUAGE_FINNISH_FINLAND,
|
||||
wxLANGUAGE_FRENCH,
|
||||
wxLANGUAGE_FRENCH_ALGERIA,
|
||||
wxLANGUAGE_FRENCH_BELGIAN,
|
||||
wxLANGUAGE_FRENCH_BENIN,
|
||||
wxLANGUAGE_FRENCH_BURKINA_FASO,
|
||||
wxLANGUAGE_FRENCH_BURUNDI,
|
||||
wxLANGUAGE_FRENCH_CAMEROON,
|
||||
wxLANGUAGE_FRENCH_CANADIAN,
|
||||
wxLANGUAGE_FRENCH_CARIBBEAN,
|
||||
wxLANGUAGE_FRENCH_CENTRAL_AFRICAN_REPUBLIC,
|
||||
wxLANGUAGE_FRENCH_CHAD,
|
||||
wxLANGUAGE_FRENCH_COMOROS,
|
||||
wxLANGUAGE_FRENCH_CONGO,
|
||||
wxLANGUAGE_FRENCH_CONGO_DRC,
|
||||
wxLANGUAGE_FRENCH_COTE_DIVOIRE,
|
||||
wxLANGUAGE_FRENCH_DJIBOUTI,
|
||||
wxLANGUAGE_FRENCH_EQUATORIAL_GUINEA,
|
||||
wxLANGUAGE_FRENCH_FRANCE,
|
||||
wxLANGUAGE_FRENCH_FRENCH_GUIANA,
|
||||
wxLANGUAGE_FRENCH_FRENCH_POLYNESIA,
|
||||
wxLANGUAGE_FRENCH_GABON,
|
||||
wxLANGUAGE_FRENCH_GUADELOUPE,
|
||||
wxLANGUAGE_FRENCH_GUINEA,
|
||||
wxLANGUAGE_FRENCH_HAITI,
|
||||
wxLANGUAGE_FRENCH_LUXEMBOURG,
|
||||
wxLANGUAGE_FRENCH_MADAGASCAR,
|
||||
wxLANGUAGE_FRENCH_MALI,
|
||||
wxLANGUAGE_FRENCH_MARTINIQUE,
|
||||
wxLANGUAGE_FRENCH_MAURITANIA,
|
||||
wxLANGUAGE_FRENCH_MAURITIUS,
|
||||
wxLANGUAGE_FRENCH_MAYOTTE,
|
||||
wxLANGUAGE_FRENCH_MONACO,
|
||||
wxLANGUAGE_FRENCH_MOROCCO,
|
||||
wxLANGUAGE_FRENCH_NEW_CALEDONIA,
|
||||
wxLANGUAGE_FRENCH_NIGER,
|
||||
wxLANGUAGE_FRENCH_REUNION,
|
||||
wxLANGUAGE_FRENCH_RWANDA,
|
||||
wxLANGUAGE_FRENCH_SENEGAL,
|
||||
wxLANGUAGE_FRENCH_SEYCHELLES,
|
||||
wxLANGUAGE_FRENCH_ST_BARTHELEMY,
|
||||
wxLANGUAGE_FRENCH_ST_MARTIN,
|
||||
wxLANGUAGE_FRENCH_ST_PIERRE_AND_MIQUELON,
|
||||
wxLANGUAGE_FRENCH_SWISS,
|
||||
wxLANGUAGE_FRENCH_SYRIA,
|
||||
wxLANGUAGE_FRENCH_TOGO,
|
||||
wxLANGUAGE_FRENCH_TUNISIA,
|
||||
wxLANGUAGE_FRENCH_VANUATU,
|
||||
wxLANGUAGE_FRENCH_WALLIS_AND_FUTUNA,
|
||||
wxLANGUAGE_FRISIAN,
|
||||
wxLANGUAGE_FRISIAN_NETHERLANDS,
|
||||
wxLANGUAGE_FRIULIAN,
|
||||
wxLANGUAGE_FRIULIAN_ITALY,
|
||||
wxLANGUAGE_FULAH,
|
||||
wxLANGUAGE_FULAH_LATIN,
|
||||
wxLANGUAGE_FULAH_LATIN_BURKINA_FASO,
|
||||
wxLANGUAGE_FULAH_LATIN_CAMEROON,
|
||||
wxLANGUAGE_FULAH_LATIN_GAMBIA,
|
||||
wxLANGUAGE_FULAH_LATIN_GHANA,
|
||||
wxLANGUAGE_FULAH_LATIN_GUINEA,
|
||||
wxLANGUAGE_FULAH_LATIN_GUINEA_BISSAU,
|
||||
wxLANGUAGE_FULAH_LATIN_LIBERIA,
|
||||
wxLANGUAGE_FULAH_LATIN_MAURITANIA,
|
||||
wxLANGUAGE_FULAH_LATIN_NIGER,
|
||||
wxLANGUAGE_FULAH_LATIN_NIGERIA,
|
||||
wxLANGUAGE_FULAH_LATIN_SENEGAL,
|
||||
wxLANGUAGE_FULAH_LATIN_SIERRA_LEONE,
|
||||
wxLANGUAGE_GALICIAN,
|
||||
wxLANGUAGE_GALICIAN_SPAIN,
|
||||
wxLANGUAGE_GANDA,
|
||||
wxLANGUAGE_GANDA_UGANDA,
|
||||
wxLANGUAGE_GEORGIAN,
|
||||
wxLANGUAGE_GEORGIAN_GEORGIA,
|
||||
wxLANGUAGE_GERMAN,
|
||||
wxLANGUAGE_GERMAN_AUSTRIAN,
|
||||
wxLANGUAGE_GERMAN_BELGIUM,
|
||||
wxLANGUAGE_GERMAN_GERMANY,
|
||||
wxLANGUAGE_GERMAN_ITALY,
|
||||
wxLANGUAGE_GERMAN_LIECHTENSTEIN,
|
||||
wxLANGUAGE_GERMAN_LUXEMBOURG,
|
||||
wxLANGUAGE_GERMAN_SWISS,
|
||||
wxLANGUAGE_GREEK,
|
||||
wxLANGUAGE_GREEK_CYPRUS,
|
||||
wxLANGUAGE_GREEK_GREECE,
|
||||
wxLANGUAGE_GREENLANDIC,
|
||||
wxLANGUAGE_GUARANI,
|
||||
wxLANGUAGE_GUARANI_PARAGUAY,
|
||||
wxLANGUAGE_GUJARATI,
|
||||
wxLANGUAGE_GUJARATI_INDIA,
|
||||
wxLANGUAGE_GUSII,
|
||||
wxLANGUAGE_GUSII_KENYA,
|
||||
wxLANGUAGE_HAUSA,
|
||||
wxLANGUAGE_HAUSA_LATIN,
|
||||
wxLANGUAGE_HAUSA_LATIN_GHANA,
|
||||
wxLANGUAGE_HAUSA_LATIN_NIGER,
|
||||
wxLANGUAGE_HAUSA_LATIN_NIGERIA,
|
||||
wxLANGUAGE_HAWAIIAN,
|
||||
wxLANGUAGE_HAWAIIAN_US,
|
||||
wxLANGUAGE_HEBREW,
|
||||
wxLANGUAGE_HEBREW_ISRAEL,
|
||||
wxLANGUAGE_HINDI,
|
||||
wxLANGUAGE_HINDI_INDIA,
|
||||
wxLANGUAGE_HUNGARIAN,
|
||||
wxLANGUAGE_HUNGARIAN_HUNGARY,
|
||||
wxLANGUAGE_IBIBIO,
|
||||
wxLANGUAGE_IBIBIO_NIGERIA,
|
||||
wxLANGUAGE_ICELANDIC,
|
||||
wxLANGUAGE_ICELANDIC_ICELAND,
|
||||
wxLANGUAGE_IGBO,
|
||||
wxLANGUAGE_IGBO_NIGERIA,
|
||||
wxLANGUAGE_INDONESIAN,
|
||||
wxLANGUAGE_INDONESIAN_INDONESIA,
|
||||
wxLANGUAGE_INTERLINGUA,
|
||||
wxLANGUAGE_INTERLINGUA_WORLD,
|
||||
wxLANGUAGE_INTERLINGUE,
|
||||
wxLANGUAGE_INUKTITUT,
|
||||
wxLANGUAGE_INUKTITUT_LATIN,
|
||||
wxLANGUAGE_INUKTITUT_LATIN_CANADA,
|
||||
wxLANGUAGE_INUKTITUT_SYLLABICS,
|
||||
wxLANGUAGE_INUKTITUT_SYLLABICS_CANADA,
|
||||
wxLANGUAGE_INUPIAK,
|
||||
wxLANGUAGE_IRISH,
|
||||
wxLANGUAGE_IRISH_IRELAND,
|
||||
wxLANGUAGE_ITALIAN,
|
||||
wxLANGUAGE_ITALIAN_ITALY,
|
||||
wxLANGUAGE_ITALIAN_SAN_MARINO,
|
||||
wxLANGUAGE_ITALIAN_SWISS,
|
||||
wxLANGUAGE_ITALIAN_VATICAN_CITY,
|
||||
wxLANGUAGE_JAPANESE,
|
||||
wxLANGUAGE_JAPANESE_JAPAN,
|
||||
wxLANGUAGE_JAVANESE,
|
||||
wxLANGUAGE_JAVANESE_INDONESIA,
|
||||
wxLANGUAGE_JAVANESE_JAVANESE,
|
||||
wxLANGUAGE_JAVANESE_JAVANESE_INDONESIA,
|
||||
wxLANGUAGE_JOLA_FONYI,
|
||||
wxLANGUAGE_JOLA_FONYI_SENEGAL,
|
||||
wxLANGUAGE_KABUVERDIANU,
|
||||
wxLANGUAGE_KABUVERDIANU_CABO_VERDE,
|
||||
wxLANGUAGE_KABYLE,
|
||||
wxLANGUAGE_KABYLE_ALGERIA,
|
||||
wxLANGUAGE_KAKO,
|
||||
wxLANGUAGE_KAKO_CAMEROON,
|
||||
wxLANGUAGE_KALAALLISUT,
|
||||
wxLANGUAGE_KALENJIN,
|
||||
wxLANGUAGE_KALENJIN_KENYA,
|
||||
wxLANGUAGE_KAMBA,
|
||||
wxLANGUAGE_KAMBA_KENYA,
|
||||
wxLANGUAGE_KANNADA,
|
||||
wxLANGUAGE_KANNADA_INDIA,
|
||||
wxLANGUAGE_KANURI,
|
||||
wxLANGUAGE_KANURI_LATIN,
|
||||
wxLANGUAGE_KANURI_NIGERIA,
|
||||
wxLANGUAGE_KASHMIRI,
|
||||
wxLANGUAGE_KASHMIRI_DEVANAGARI,
|
||||
wxLANGUAGE_KASHMIRI_DEVANAGARI_INDIA,
|
||||
wxLANGUAGE_KASHMIRI_INDIA,
|
||||
wxLANGUAGE_KASHMIRI_PERSO_ARABIC,
|
||||
wxLANGUAGE_KASHMIRI_PERSO_ARABIC_INDIA,
|
||||
wxLANGUAGE_KAZAKH,
|
||||
wxLANGUAGE_KERNEWEK,
|
||||
wxLANGUAGE_KAZAKH_KAZAKHSTAN,
|
||||
wxLANGUAGE_KHMER,
|
||||
wxLANGUAGE_KHMER_CAMBODIA,
|
||||
wxLANGUAGE_KICHE,
|
||||
wxLANGUAGE_KICHE_GUATEMALA,
|
||||
wxLANGUAGE_KICHE_LATIN,
|
||||
wxLANGUAGE_KIKUYU,
|
||||
wxLANGUAGE_KIKUYU_KENYA,
|
||||
wxLANGUAGE_KINYARWANDA,
|
||||
wxLANGUAGE_KINYARWANDA_RWANDA,
|
||||
wxLANGUAGE_KIRGHIZ,
|
||||
wxLANGUAGE_KIRGHIZ_KYRGYZSTAN,
|
||||
wxLANGUAGE_KIRUNDI,
|
||||
wxLANGUAGE_KIRUNDI_BURUNDI,
|
||||
wxLANGUAGE_KONKANI,
|
||||
wxLANGUAGE_KONKANI_INDIA,
|
||||
wxLANGUAGE_KOREAN,
|
||||
wxLANGUAGE_KOREAN_KOREA,
|
||||
wxLANGUAGE_KOREAN_NORTH_KOREA,
|
||||
wxLANGUAGE_KOYRABORO_SENNI,
|
||||
wxLANGUAGE_KOYRABORO_SENNI_MALI,
|
||||
wxLANGUAGE_KOYRA_CHIINI,
|
||||
wxLANGUAGE_KOYRA_CHIINI_MALI,
|
||||
wxLANGUAGE_KURDISH,
|
||||
wxLANGUAGE_KURDISH_PERSO_ARABIC_IRAN,
|
||||
wxLANGUAGE_KWASIO,
|
||||
wxLANGUAGE_KWASIO_CAMEROON,
|
||||
wxLANGUAGE_LAKOTA,
|
||||
wxLANGUAGE_LAKOTA_US,
|
||||
wxLANGUAGE_LANGI,
|
||||
wxLANGUAGE_LANGI_TANZANIA,
|
||||
wxLANGUAGE_LAOTHIAN,
|
||||
wxLANGUAGE_LAOTHIAN_LAOS,
|
||||
wxLANGUAGE_LATIN,
|
||||
wxLANGUAGE_LATIN_WORLD,
|
||||
wxLANGUAGE_LATVIAN,
|
||||
wxLANGUAGE_LATVIAN_LATVIA,
|
||||
wxLANGUAGE_LINGALA,
|
||||
wxLANGUAGE_LINGALA_ANGOLA,
|
||||
wxLANGUAGE_LINGALA_CENTRAL_AFRICAN_REPUBLIC,
|
||||
wxLANGUAGE_LINGALA_CONGO,
|
||||
wxLANGUAGE_LINGALA_CONGO_DRC,
|
||||
wxLANGUAGE_LITHUANIAN,
|
||||
wxLANGUAGE_LITHUANIAN_LITHUANIA,
|
||||
wxLANGUAGE_LOWER_SORBIAN,
|
||||
wxLANGUAGE_LOWER_SORBIAN_GERMANY,
|
||||
wxLANGUAGE_LOW_GERMAN,
|
||||
wxLANGUAGE_LOW_GERMAN_GERMANY,
|
||||
wxLANGUAGE_LOW_GERMAN_NETHERLANDS,
|
||||
wxLANGUAGE_LUBA_KATANGA,
|
||||
wxLANGUAGE_LUBA_KATANGA_CONGO_DRC,
|
||||
wxLANGUAGE_LUO,
|
||||
wxLANGUAGE_LUO_KENYA,
|
||||
wxLANGUAGE_LUXEMBOURGISH,
|
||||
wxLANGUAGE_LUXEMBOURGISH_LUXEMBOURG,
|
||||
wxLANGUAGE_LUYIA,
|
||||
wxLANGUAGE_LUYIA_KENYA,
|
||||
wxLANGUAGE_MACEDONIAN,
|
||||
wxLANGUAGE_MACEDONIAN_NORTH_MACEDONIA,
|
||||
wxLANGUAGE_MACHAME,
|
||||
wxLANGUAGE_MACHAME_TANZANIA,
|
||||
wxLANGUAGE_MAKHUWA_MEETTO,
|
||||
wxLANGUAGE_MAKHUWA_MEETTO_MOZAMBIQUE,
|
||||
wxLANGUAGE_MAKONDE,
|
||||
wxLANGUAGE_MAKONDE_TANZANIA,
|
||||
wxLANGUAGE_MALAGASY,
|
||||
wxLANGUAGE_MALAGASY_MADAGASCAR,
|
||||
wxLANGUAGE_MALAY,
|
||||
wxLANGUAGE_MALAYALAM,
|
||||
wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM,
|
||||
wxLANGUAGE_MALAYALAM_INDIA,
|
||||
wxLANGUAGE_MALAY_BRUNEI,
|
||||
wxLANGUAGE_MALAY_MALAYSIA,
|
||||
wxLANGUAGE_MALAY_SINGAPORE,
|
||||
wxLANGUAGE_MALTESE,
|
||||
wxLANGUAGE_MALTESE_MALTA,
|
||||
wxLANGUAGE_MANIPURI,
|
||||
wxLANGUAGE_MANIPURI_INDIA,
|
||||
wxLANGUAGE_MANX,
|
||||
wxLANGUAGE_MANX_ISLE_OF_MAN,
|
||||
wxLANGUAGE_MAORI,
|
||||
wxLANGUAGE_MAORI_NEW_ZEALAND,
|
||||
wxLANGUAGE_MAPUCHE,
|
||||
wxLANGUAGE_MAPUCHE_CHILE,
|
||||
wxLANGUAGE_MARATHI,
|
||||
wxLANGUAGE_MARATHI_INDIA,
|
||||
wxLANGUAGE_MASAI,
|
||||
wxLANGUAGE_MASAI_KENYA,
|
||||
wxLANGUAGE_MASAI_TANZANIA,
|
||||
wxLANGUAGE_MAZANDERANI,
|
||||
wxLANGUAGE_MAZANDERANI_IRAN,
|
||||
wxLANGUAGE_MERU,
|
||||
wxLANGUAGE_MERU_KENYA,
|
||||
wxLANGUAGE_META,
|
||||
wxLANGUAGE_META_CAMEROON,
|
||||
wxLANGUAGE_MOHAWK,
|
||||
wxLANGUAGE_MOHAWK_CANADA,
|
||||
wxLANGUAGE_MOLDAVIAN,
|
||||
wxLANGUAGE_MONGOLIAN,
|
||||
wxLANGUAGE_MONGOLIAN_CYRILLIC,
|
||||
wxLANGUAGE_MONGOLIAN_MONGOLIA,
|
||||
wxLANGUAGE_MONGOLIAN_TRADITIONAL,
|
||||
wxLANGUAGE_MONGOLIAN_TRADITIONAL_CHINA,
|
||||
wxLANGUAGE_MONGOLIAN_TRADITIONAL_MONGOLIA,
|
||||
wxLANGUAGE_MORISYEN,
|
||||
wxLANGUAGE_MORISYEN_MAURITIUS,
|
||||
wxLANGUAGE_MUNDANG,
|
||||
wxLANGUAGE_MUNDANG_CAMEROON,
|
||||
wxLANGUAGE_NAMA,
|
||||
wxLANGUAGE_NAMA_NAMIBIA,
|
||||
wxLANGUAGE_NAURU,
|
||||
wxLANGUAGE_NEPALI,
|
||||
wxLANGUAGE_NEPALI_INDIA,
|
||||
wxLANGUAGE_NEPALI_NEPAL,
|
||||
wxLANGUAGE_NGIEMBOON,
|
||||
wxLANGUAGE_NGIEMBOON_CAMEROON,
|
||||
wxLANGUAGE_NGOMBA,
|
||||
wxLANGUAGE_NGOMBA_CAMEROON,
|
||||
wxLANGUAGE_NKO,
|
||||
wxLANGUAGE_NKO_GUINEA,
|
||||
wxLANGUAGE_NORTHERN_LURI,
|
||||
wxLANGUAGE_NORTHERN_LURI_IRAN,
|
||||
wxLANGUAGE_NORTHERN_LURI_IRAQ,
|
||||
wxLANGUAGE_NORTH_NDEBELE,
|
||||
wxLANGUAGE_NORTH_NDEBELE_ZIMBABWE,
|
||||
wxLANGUAGE_NORWEGIAN,
|
||||
wxLANGUAGE_NORWEGIAN_BOKMAL,
|
||||
wxLANGUAGE_NORWEGIAN_BOKMAL_NORWAY,
|
||||
wxLANGUAGE_NORWEGIAN_BOKMAL_SVALBARD_AND_JAN_MAYEN,
|
||||
wxLANGUAGE_NORWEGIAN_NYNORSK,
|
||||
wxLANGUAGE_NORWEGIAN_NYNORSK_NORWAY,
|
||||
wxLANGUAGE_NUER,
|
||||
wxLANGUAGE_NUER_SOUTH_SUDAN,
|
||||
wxLANGUAGE_NYANKOLE,
|
||||
wxLANGUAGE_NYANKOLE_UGANDA,
|
||||
wxLANGUAGE_OCCITAN,
|
||||
wxLANGUAGE_ORIYA,
|
||||
wxLANGUAGE_OCCITAN_FRANCE,
|
||||
wxLANGUAGE_ODIA,
|
||||
wxLANGUAGE_ODIA_INDIA,
|
||||
wxLANGUAGE_OROMO,
|
||||
wxLANGUAGE_OROMO_ETHIOPIA,
|
||||
wxLANGUAGE_OROMO_KENYA,
|
||||
wxLANGUAGE_OSSETIC,
|
||||
wxLANGUAGE_OSSETIC_GEORGIA,
|
||||
wxLANGUAGE_OSSETIC_RUSSIA,
|
||||
wxLANGUAGE_PAPIAMENTO,
|
||||
wxLANGUAGE_PAPIAMENTO_CARIBBEAN,
|
||||
wxLANGUAGE_PASHTO,
|
||||
wxLANGUAGE_PASHTO_AFGHANISTAN,
|
||||
wxLANGUAGE_PASHTO_PAKISTAN,
|
||||
wxLANGUAGE_PERSIAN_IRAN,
|
||||
wxLANGUAGE_POLISH,
|
||||
wxLANGUAGE_POLISH_POLAND,
|
||||
wxLANGUAGE_PORTUGUESE,
|
||||
wxLANGUAGE_PORTUGUESE_ANGOLA,
|
||||
wxLANGUAGE_PORTUGUESE_BRAZILIAN,
|
||||
wxLANGUAGE_PORTUGUESE_CABO_VERDE,
|
||||
wxLANGUAGE_PORTUGUESE_EQUATORIAL_GUINEA,
|
||||
wxLANGUAGE_PORTUGUESE_GUINEA_BISSAU,
|
||||
wxLANGUAGE_PORTUGUESE_LUXEMBOURG,
|
||||
wxLANGUAGE_PORTUGUESE_MACAO_SAR,
|
||||
wxLANGUAGE_PORTUGUESE_MOZAMBIQUE,
|
||||
wxLANGUAGE_PORTUGUESE_PORTUGAL,
|
||||
wxLANGUAGE_PORTUGUESE_SAO_TOME_AND_PRINCIPE,
|
||||
wxLANGUAGE_PORTUGUESE_SWITZERLAND,
|
||||
wxLANGUAGE_PORTUGUESE_TIMOR_LESTE,
|
||||
wxLANGUAGE_PRUSSIAN,
|
||||
wxLANGUAGE_PRUSSIAN_WORLD,
|
||||
wxLANGUAGE_PUNJABI,
|
||||
wxLANGUAGE_PUNJABI_ARABIC,
|
||||
wxLANGUAGE_PUNJABI_GURMUKHI,
|
||||
wxLANGUAGE_PUNJABI_INDIA,
|
||||
wxLANGUAGE_PUNJABI_PAKISTAN,
|
||||
wxLANGUAGE_QUECHUA,
|
||||
wxLANGUAGE_QUECHUA_BOLIVIA,
|
||||
wxLANGUAGE_QUECHUA_ECUADOR,
|
||||
wxLANGUAGE_QUECHUA_MACRO,
|
||||
wxLANGUAGE_QUECHUA_PERU,
|
||||
wxLANGUAGE_RHAETO_ROMANCE,
|
||||
wxLANGUAGE_RHAETO_ROMANCE_SWITZERLAND,
|
||||
wxLANGUAGE_ROMANIAN,
|
||||
wxLANGUAGE_ROMANIAN_MOLDOVA,
|
||||
wxLANGUAGE_ROMANIAN_ROMANIA,
|
||||
wxLANGUAGE_ROMBO,
|
||||
wxLANGUAGE_ROMBO_TANZANIA,
|
||||
wxLANGUAGE_RUSSIAN,
|
||||
wxLANGUAGE_RUSSIAN_BELARUS,
|
||||
wxLANGUAGE_RUSSIAN_KAZAKHSTAN,
|
||||
wxLANGUAGE_RUSSIAN_KYRGYZSTAN,
|
||||
wxLANGUAGE_RUSSIAN_MOLDOVA,
|
||||
wxLANGUAGE_RUSSIAN_RUSSIA,
|
||||
wxLANGUAGE_RUSSIAN_UKRAINE,
|
||||
wxLANGUAGE_RWA,
|
||||
wxLANGUAGE_RWA_TANZANIA,
|
||||
wxLANGUAGE_SAHO,
|
||||
wxLANGUAGE_SAHO_ERITREA,
|
||||
wxLANGUAGE_SAKHA,
|
||||
wxLANGUAGE_SAKHA_RUSSIA,
|
||||
wxLANGUAGE_SAMBURU,
|
||||
wxLANGUAGE_SAMBURU_KENYA,
|
||||
wxLANGUAGE_SAMI,
|
||||
wxLANGUAGE_SAMI_FINLAND,
|
||||
wxLANGUAGE_SAMI_INARI,
|
||||
wxLANGUAGE_SAMI_INARI_FINLAND,
|
||||
wxLANGUAGE_SAMI_LULE,
|
||||
wxLANGUAGE_SAMI_LULE_NORWAY,
|
||||
wxLANGUAGE_SAMI_LULE_SWEDEN,
|
||||
wxLANGUAGE_SAMI_NORWAY,
|
||||
wxLANGUAGE_SAMI_SKOLT,
|
||||
wxLANGUAGE_SAMI_SKOLT_FINLAND,
|
||||
wxLANGUAGE_SAMI_SOUTHERN,
|
||||
wxLANGUAGE_SAMI_SOUTHERN_NORWAY,
|
||||
wxLANGUAGE_SAMI_SOUTHERN_SWEDEN,
|
||||
wxLANGUAGE_SAMI_SWEDEN,
|
||||
wxLANGUAGE_SAMOAN,
|
||||
wxLANGUAGE_SANGHO,
|
||||
wxLANGUAGE_SANGHO_CENTRAL_AFRICAN_REPUBLIC,
|
||||
wxLANGUAGE_SANGU,
|
||||
wxLANGUAGE_SANGU_TANZANIA,
|
||||
wxLANGUAGE_SANSKRIT,
|
||||
wxLANGUAGE_SANSKRIT_INDIA,
|
||||
wxLANGUAGE_SCOTS_GAELIC,
|
||||
wxLANGUAGE_SCOTS_GAELIC_UK,
|
||||
wxLANGUAGE_SENA,
|
||||
wxLANGUAGE_SENA_MOZAMBIQUE,
|
||||
wxLANGUAGE_SERBIAN,
|
||||
wxLANGUAGE_SERBIAN_CYRILLIC,
|
||||
wxLANGUAGE_SERBIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA,
|
||||
wxLANGUAGE_SERBIAN_CYRILLIC_KOSOVO,
|
||||
wxLANGUAGE_SERBIAN_CYRILLIC_MONTENEGRO,
|
||||
wxLANGUAGE_SERBIAN_CYRILLIC_SERBIA,
|
||||
wxLANGUAGE_SERBIAN_CYRILLIC_YU,
|
||||
wxLANGUAGE_SERBIAN_LATIN,
|
||||
wxLANGUAGE_SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA,
|
||||
wxLANGUAGE_SERBIAN_LATIN_KOSOVO,
|
||||
wxLANGUAGE_SERBIAN_LATIN_MONTENEGRO,
|
||||
wxLANGUAGE_SERBIAN_LATIN_SERBIA,
|
||||
wxLANGUAGE_SERBIAN_LATIN_YU,
|
||||
wxLANGUAGE_SERBIAN_SERBIA,
|
||||
wxLANGUAGE_SERBIAN_YU,
|
||||
wxLANGUAGE_SERBO_CROATIAN,
|
||||
wxLANGUAGE_SESOTHO,
|
||||
wxLANGUAGE_SESOTHO_LESOTHO,
|
||||
wxLANGUAGE_SESOTHO_SA_LEBOA,
|
||||
wxLANGUAGE_SESOTHO_SA_LEBOA_SOUTH_AFRICA,
|
||||
wxLANGUAGE_SESOTHO_SOUTH_AFRICA,
|
||||
wxLANGUAGE_SETSWANA,
|
||||
wxLANGUAGE_SETSWANA_BOTSWANA,
|
||||
wxLANGUAGE_SETSWANA_SOUTH_AFRICA,
|
||||
wxLANGUAGE_SHAMBALA,
|
||||
wxLANGUAGE_SHAMBALA_TANZANIA,
|
||||
wxLANGUAGE_SHONA,
|
||||
wxLANGUAGE_SHONA_LATIN,
|
||||
wxLANGUAGE_SHONA_LATIN_ZIMBABWE,
|
||||
wxLANGUAGE_SINDHI,
|
||||
wxLANGUAGE_SINDHI_ARABIC,
|
||||
wxLANGUAGE_SINDHI_DEVANAGARI,
|
||||
wxLANGUAGE_SINDHI_DEVANAGARI_INDIA,
|
||||
wxLANGUAGE_SINDHI_PAKISTAN,
|
||||
wxLANGUAGE_SINHALESE,
|
||||
wxLANGUAGE_SINHALESE_SRI_LANKA,
|
||||
wxLANGUAGE_SISWATI,
|
||||
wxLANGUAGE_SISWATI_ESWATINI,
|
||||
wxLANGUAGE_SISWATI_SOUTH_AFRICA,
|
||||
wxLANGUAGE_SLOVAK,
|
||||
wxLANGUAGE_SLOVAK_SLOVAKIA,
|
||||
wxLANGUAGE_SLOVENIAN,
|
||||
wxLANGUAGE_SLOVENIAN_SLOVENIA,
|
||||
wxLANGUAGE_SOGA,
|
||||
wxLANGUAGE_SOGA_UGANDA,
|
||||
wxLANGUAGE_SOMALI,
|
||||
wxLANGUAGE_SOMALI_DJIBOUTI,
|
||||
wxLANGUAGE_SOMALI_ETHIOPIA,
|
||||
wxLANGUAGE_SOMALI_KENYA,
|
||||
wxLANGUAGE_SOMALI_SOMALIA,
|
||||
wxLANGUAGE_SOUTH_NDEBELE,
|
||||
wxLANGUAGE_SOUTH_NDEBELE_SOUTH_AFRICA,
|
||||
wxLANGUAGE_SPANISH,
|
||||
wxLANGUAGE_SPANISH_ARGENTINA,
|
||||
wxLANGUAGE_SPANISH_BELIZE,
|
||||
wxLANGUAGE_SPANISH_BOLIVIA,
|
||||
wxLANGUAGE_SPANISH_BRAZIL,
|
||||
wxLANGUAGE_SPANISH_CHILE,
|
||||
wxLANGUAGE_SPANISH_COLOMBIA,
|
||||
wxLANGUAGE_SPANISH_COSTA_RICA,
|
||||
wxLANGUAGE_SPANISH_CUBA,
|
||||
wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC,
|
||||
wxLANGUAGE_SPANISH_ECUADOR,
|
||||
wxLANGUAGE_SPANISH_EL_SALVADOR,
|
||||
wxLANGUAGE_SPANISH_EQUATORIAL_GUINEA,
|
||||
wxLANGUAGE_SPANISH_GUATEMALA,
|
||||
wxLANGUAGE_SPANISH_HONDURAS,
|
||||
wxLANGUAGE_SPANISH_LATIN_AMERICA,
|
||||
wxLANGUAGE_SPANISH_MEXICAN,
|
||||
wxLANGUAGE_SPANISH_MODERN,
|
||||
wxLANGUAGE_SPANISH_NICARAGUA,
|
||||
wxLANGUAGE_SPANISH_PANAMA,
|
||||
wxLANGUAGE_SPANISH_PARAGUAY,
|
||||
wxLANGUAGE_SPANISH_PERU,
|
||||
wxLANGUAGE_SPANISH_PHILIPPINES,
|
||||
wxLANGUAGE_SPANISH_PUERTO_RICO,
|
||||
wxLANGUAGE_SPANISH_SPAIN,
|
||||
wxLANGUAGE_SPANISH_URUGUAY,
|
||||
wxLANGUAGE_SPANISH_US,
|
||||
wxLANGUAGE_SPANISH_VENEZUELA,
|
||||
wxLANGUAGE_STANDARD_MOROCCAN_TAMAZIGHT,
|
||||
wxLANGUAGE_STANDARD_MOROCCAN_TAMAZIGHT_TIFINAGH,
|
||||
wxLANGUAGE_STANDARD_MOROCCAN_TAMAZIGHT_TIFINAGH_MOROCCO,
|
||||
wxLANGUAGE_SUNDANESE,
|
||||
wxLANGUAGE_SWAHILI,
|
||||
wxLANGUAGE_SWAHILI_CONGO_DRC,
|
||||
wxLANGUAGE_SWAHILI_KENYA,
|
||||
wxLANGUAGE_SWAHILI_TANZANIA,
|
||||
wxLANGUAGE_SWAHILI_UGANDA,
|
||||
wxLANGUAGE_SWEDISH,
|
||||
wxLANGUAGE_SWEDISH_ALAND_ISLANDS,
|
||||
wxLANGUAGE_SWEDISH_FINLAND,
|
||||
wxLANGUAGE_SWEDISH_SWEDEN,
|
||||
wxLANGUAGE_SWISS_GERMAN,
|
||||
wxLANGUAGE_SWISS_GERMAN_LIECHTENSTEIN,
|
||||
wxLANGUAGE_SWISS_GERMAN_SWITZERLAND,
|
||||
wxLANGUAGE_SYRIAC,
|
||||
wxLANGUAGE_SYRIAC_SYRIA,
|
||||
wxLANGUAGE_TACHELHIT,
|
||||
wxLANGUAGE_TACHELHIT_LATIN,
|
||||
wxLANGUAGE_TACHELHIT_LATIN_MOROCCO,
|
||||
wxLANGUAGE_TACHELHIT_TIFINAGH,
|
||||
wxLANGUAGE_TACHELHIT_TIFINAGH_MOROCCO,
|
||||
wxLANGUAGE_TAGALOG,
|
||||
wxLANGUAGE_TAITA,
|
||||
wxLANGUAGE_TAITA_KENYA,
|
||||
wxLANGUAGE_TAJIK,
|
||||
wxLANGUAGE_TAJIK_CYRILLIC,
|
||||
wxLANGUAGE_TAJIK_CYRILLIC_TAJIKISTAN,
|
||||
wxLANGUAGE_TAMIL,
|
||||
wxLANGUAGE_TAMIL_INDIA,
|
||||
wxLANGUAGE_TAMIL_MALAYSIA,
|
||||
wxLANGUAGE_TAMIL_SINGAPORE,
|
||||
wxLANGUAGE_TAMIL_SRI_LANKA,
|
||||
wxLANGUAGE_TASAWAQ,
|
||||
wxLANGUAGE_TASAWAQ_NIGER,
|
||||
wxLANGUAGE_TATAR,
|
||||
wxLANGUAGE_TATAR_RUSSIA,
|
||||
wxLANGUAGE_TELUGU,
|
||||
wxLANGUAGE_TELUGU_INDIA,
|
||||
wxLANGUAGE_TESO,
|
||||
wxLANGUAGE_TESO_KENYA,
|
||||
wxLANGUAGE_TESO_UGANDA,
|
||||
wxLANGUAGE_THAI,
|
||||
wxLANGUAGE_THAI_THAILAND,
|
||||
wxLANGUAGE_TIBETAN,
|
||||
wxLANGUAGE_TIBETAN_CHINA,
|
||||
wxLANGUAGE_TIBETAN_INDIA,
|
||||
wxLANGUAGE_TIGRE,
|
||||
wxLANGUAGE_TIGRE_ERITREA,
|
||||
wxLANGUAGE_TIGRINYA,
|
||||
wxLANGUAGE_TIGRINYA_ERITREA,
|
||||
wxLANGUAGE_TIGRINYA_ETHIOPIA,
|
||||
wxLANGUAGE_TONGA,
|
||||
wxLANGUAGE_TONGA_TONGA,
|
||||
wxLANGUAGE_TSONGA,
|
||||
wxLANGUAGE_TSONGA_SOUTH_AFRICA,
|
||||
wxLANGUAGE_TURKISH,
|
||||
wxLANGUAGE_TURKISH_CYPRUS,
|
||||
wxLANGUAGE_TURKISH_TURKEY,
|
||||
wxLANGUAGE_TURKMEN,
|
||||
wxLANGUAGE_TURKMEN_TURKMENISTAN,
|
||||
wxLANGUAGE_TWI,
|
||||
wxLANGUAGE_UIGHUR,
|
||||
wxLANGUAGE_UIGHUR_CHINA,
|
||||
wxLANGUAGE_UKRAINIAN,
|
||||
wxLANGUAGE_UKRAINIAN_UKRAINE,
|
||||
wxLANGUAGE_UPPER_SORBIAN,
|
||||
wxLANGUAGE_UPPER_SORBIAN_GERMANY,
|
||||
wxLANGUAGE_URDU,
|
||||
wxLANGUAGE_URDU_INDIA,
|
||||
wxLANGUAGE_URDU_PAKISTAN,
|
||||
wxLANGUAGE_UZBEK,
|
||||
wxLANGUAGE_UZBEK_CYRILLIC,
|
||||
wxLANGUAGE_UZBEK_CYRILLIC_UZBEKISTAN,
|
||||
wxLANGUAGE_UZBEK_LATIN,
|
||||
wxLANGUAGE_UZBEK_LATIN_UZBEKISTAN,
|
||||
wxLANGUAGE_UZBEK_PERSO_ARABIC,
|
||||
wxLANGUAGE_UZBEK_PERSO_ARABIC_AFGHANISTAN,
|
||||
wxLANGUAGE_VAI,
|
||||
wxLANGUAGE_VAI_LATIN,
|
||||
wxLANGUAGE_VAI_LATIN_LIBERIA,
|
||||
wxLANGUAGE_VAI_VAI,
|
||||
wxLANGUAGE_VAI_VAI_LIBERIA,
|
||||
wxLANGUAGE_VALENCIAN,
|
||||
wxLANGUAGE_VENDA,
|
||||
wxLANGUAGE_VENDA_SOUTH_AFRICA,
|
||||
wxLANGUAGE_VIETNAMESE,
|
||||
wxLANGUAGE_VIETNAMESE_VIETNAM,
|
||||
wxLANGUAGE_VOLAPUK,
|
||||
wxLANGUAGE_VOLAPUK_WORLD,
|
||||
wxLANGUAGE_VUNJO,
|
||||
wxLANGUAGE_VUNJO_TANZANIA,
|
||||
wxLANGUAGE_WALSER,
|
||||
wxLANGUAGE_WALSER_SWITZERLAND,
|
||||
wxLANGUAGE_WELSH,
|
||||
wxLANGUAGE_WELSH_UK,
|
||||
wxLANGUAGE_WOLAYTTA,
|
||||
wxLANGUAGE_WOLAYTTA_ETHIOPIA,
|
||||
wxLANGUAGE_WOLOF,
|
||||
wxLANGUAGE_WOLOF_SENEGAL,
|
||||
wxLANGUAGE_XHOSA,
|
||||
wxLANGUAGE_XHOSA_SOUTH_AFRICA,
|
||||
wxLANGUAGE_YANGBEN,
|
||||
wxLANGUAGE_YANGBEN_CAMEROON,
|
||||
wxLANGUAGE_YI,
|
||||
wxLANGUAGE_YIDDISH,
|
||||
wxLANGUAGE_YIDDISH_WORLD,
|
||||
wxLANGUAGE_YI_CHINA,
|
||||
wxLANGUAGE_YORUBA,
|
||||
wxLANGUAGE_YORUBA_BENIN,
|
||||
wxLANGUAGE_YORUBA_NIGERIA,
|
||||
wxLANGUAGE_ZARMA,
|
||||
wxLANGUAGE_ZARMA_NIGER,
|
||||
wxLANGUAGE_ZHUANG,
|
||||
wxLANGUAGE_ZULU,
|
||||
wxLANGUAGE_ZULU_SOUTH_AFRICA,
|
||||
|
||||
/// For custom, user-defined languages.
|
||||
wxLANGUAGE_USER_DEFINED,
|
||||
|
||||
/// Synonyms.
|
||||
wxLANGUAGE_AZERI = wxLANGUAGE_AZERBAIJANI,
|
||||
wxLANGUAGE_AZERI_CYRILLIC = wxLANGUAGE_AZERBAIJANI_CYRILLIC,
|
||||
wxLANGUAGE_AZERI_LATIN = wxLANGUAGE_AZERBAIJANI_LATIN,
|
||||
wxLANGUAGE_BENGALI = wxLANGUAGE_BANGLA,
|
||||
wxLANGUAGE_BENGALI_BANGLADESH = wxLANGUAGE_BANGLA_BANGLADESH,
|
||||
wxLANGUAGE_BENGALI_INDIA = wxLANGUAGE_BANGLA_INDIA,
|
||||
wxLANGUAGE_BHUTANI = wxLANGUAGE_DZONGKHA,
|
||||
wxLANGUAGE_CHINESE_SIMPLIFIED = wxLANGUAGE_CHINESE_CHINA,
|
||||
wxLANGUAGE_CHINESE_TRADITIONAL = wxLANGUAGE_CHINESE_TAIWAN,
|
||||
wxLANGUAGE_CHINESE_MACAU = wxLANGUAGE_CHINESE_MACAO,
|
||||
wxLANGUAGE_KERNEWEK = wxLANGUAGE_CORNISH,
|
||||
wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM = wxLANGUAGE_MALAY_BRUNEI,
|
||||
wxLANGUAGE_ORIYA = wxLANGUAGE_ODIA,
|
||||
wxLANGUAGE_ORIYA_INDIA = wxLANGUAGE_ODIA_INDIA,
|
||||
wxLANGUAGE_SPANISH_MODERN = wxLANGUAGE_SPANISH,
|
||||
|
||||
/// Obsolete synonym.
|
||||
wxLANGUAGE_CAMBODIAN = wxLANGUAGE_KHMER
|
||||
|
||||
@@ -189,6 +189,69 @@ public:
|
||||
conventions.
|
||||
*/
|
||||
bool IsSupported() const;
|
||||
|
||||
/**
|
||||
Adds custom, user-defined language to the database of known languages.
|
||||
This database is used in conjunction with the first form of Init().
|
||||
*/
|
||||
static void AddLanguage(const wxLanguageInfo& info);
|
||||
|
||||
/**
|
||||
This function may be used to find the language description structure for the
|
||||
given locale, specified either as a two letter ISO language code (for example,
|
||||
"pt"), a language code followed by the country code ("pt_BR") or a full, human
|
||||
readable, language description ("Portuguese-Brazil").
|
||||
|
||||
Returns the information for the given language or @NULL if this language
|
||||
is unknown. Note that even if the returned pointer is valid, the caller
|
||||
should @e not delete it.
|
||||
|
||||
@see GetLanguageInfo()
|
||||
*/
|
||||
static const wxLanguageInfo* FindLanguageInfo(const wxString& locale);
|
||||
|
||||
/**
|
||||
Returns a pointer to wxLanguageInfo structure containing information about
|
||||
the given language or @NULL if this language is unknown. Note that even if
|
||||
the returned pointer is valid, the caller should @e not delete it.
|
||||
|
||||
See AddLanguage() for the wxLanguageInfo description.
|
||||
As with Init(), @c wxLANGUAGE_DEFAULT has the special meaning if passed
|
||||
as an argument to this function and in this case the result of
|
||||
GetSystemLanguage() is used.
|
||||
*/
|
||||
static const wxLanguageInfo* GetLanguageInfo(int lang);
|
||||
|
||||
/**
|
||||
Returns English name of the given language or empty string if this
|
||||
language is unknown.
|
||||
|
||||
See GetLanguageInfo() for a remark about special meaning of @c wxLANGUAGE_DEFAULT.
|
||||
*/
|
||||
static wxString GetLanguageName(int lang);
|
||||
|
||||
/**
|
||||
Returns canonical name (see GetCanonicalName()) of the given language
|
||||
or empty string if this language is unknown.
|
||||
|
||||
See GetLanguageInfo() for a remark about special meaning of @c wxLANGUAGE_DEFAULT.
|
||||
*/
|
||||
static wxString GetLanguageCanonicalName(int lang);
|
||||
|
||||
/**
|
||||
Tries to detect the user's default locale setting.
|
||||
|
||||
Returns the ::wxLanguage value or @c wxLANGUAGE_UNKNOWN if the language-guessing
|
||||
algorithm failed.
|
||||
|
||||
@note This function works with @em locales and returns the user's default
|
||||
locale. This may be, and usually is, the same as their preferred UI
|
||||
language, but it's not the same thing. Use wxTranslation to obtain
|
||||
@em language information.
|
||||
|
||||
@see wxTranslations::GetBestTranslation().
|
||||
*/
|
||||
static int GetSystemLanguage();
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,28 @@
|
||||
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.
|
||||
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 and scripttabl.txt.
|
||||
|
||||
langtabl.txt contains a tabular list of language entries. Each entry
|
||||
contains
|
||||
|
||||
- a symbolic language identifier used in enum wxLanguage,
|
||||
- a BCP 47-like locale identifier,
|
||||
- a Unix locale identifier,
|
||||
- a Unix locale identifier including a region id (if the default Unix
|
||||
locale identifier does not include a region identifier) (mainly for
|
||||
compatibility with wxWidgets version below 3.1.6),
|
||||
- numeric Windows language identifier (1),
|
||||
- numeric Windows sublanguage identifier (1),
|
||||
- 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
|
||||
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.
|
||||
|
||||
(1) used on Windows only, deprecated by Microsoft
|
||||
(2) http://www.unicode.org/iso15924/iso15924-codes.html
|
||||
|
||||
@@ -10,22 +10,37 @@ import os
|
||||
import string
|
||||
import sys
|
||||
|
||||
def ReadScriptTable():
|
||||
scripttable = []
|
||||
try:
|
||||
f = open('misc/languages/scripttabl.txt')
|
||||
except:
|
||||
print("Did you run the script from top-level wxWidgets directory?")
|
||||
raise
|
||||
|
||||
for i in f.readlines():
|
||||
ispl = i.split()
|
||||
scripttable.append((ispl[0], ispl[1]))
|
||||
f.close()
|
||||
return scripttable
|
||||
|
||||
|
||||
def ReadTable():
|
||||
table = []
|
||||
try:
|
||||
f = open('misc/languages/langtabl.txt')
|
||||
except:
|
||||
print "Did you run the script from top-level wxWidgets directory?"
|
||||
print("Did you run the script from top-level wxWidgets directory?")
|
||||
raise
|
||||
|
||||
for i in f.readlines():
|
||||
ispl = i.split()
|
||||
table.append((ispl[0], ispl[1], ispl[2], ispl[3], ispl[4], string.join(ispl[5:])))
|
||||
table.append((ispl[0], ispl[1], ispl[2], ispl[3], ispl[4], ispl[5], ispl[6], string.join(ispl[7:])))
|
||||
f.close()
|
||||
return table
|
||||
|
||||
|
||||
def WriteEnum(f, table):
|
||||
def WriteEnum(f, table, scripttable):
|
||||
f.write("""
|
||||
/**
|
||||
The languages supported by wxLocale.
|
||||
@@ -51,6 +66,22 @@ enum wxLanguage
|
||||
/// For custom, user-defined languages.
|
||||
wxLANGUAGE_USER_DEFINED,
|
||||
|
||||
/// Synonyms.
|
||||
wxLANGUAGE_AZERI = wxLANGUAGE_AZERBAIJANI,
|
||||
wxLANGUAGE_AZERI_CYRILLIC = wxLANGUAGE_AZERBAIJANI_CYRILLIC,
|
||||
wxLANGUAGE_AZERI_LATIN = wxLANGUAGE_AZERBAIJANI_LATIN,
|
||||
wxLANGUAGE_BENGALI = wxLANGUAGE_BANGLA,
|
||||
wxLANGUAGE_BENGALI_BANGLADESH = wxLANGUAGE_BANGLA_BANGLADESH,
|
||||
wxLANGUAGE_BENGALI_INDIA = wxLANGUAGE_BANGLA_INDIA,
|
||||
wxLANGUAGE_BHUTANI = wxLANGUAGE_DZONGKHA,
|
||||
wxLANGUAGE_CHINESE_SIMPLIFIED = wxLANGUAGE_CHINESE_CHINA,
|
||||
wxLANGUAGE_CHINESE_TRADITIONAL = wxLANGUAGE_CHINESE_TAIWAN,
|
||||
wxLANGUAGE_CHINESE_MACAU = wxLANGUAGE_CHINESE_MACAO,
|
||||
wxLANGUAGE_KERNEWEK = wxLANGUAGE_CORNISH,
|
||||
wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM = wxLANGUAGE_MALAY_BRUNEI,
|
||||
wxLANGUAGE_ORIYA = wxLANGUAGE_ODIA,
|
||||
wxLANGUAGE_ORIYA_INDIA = wxLANGUAGE_ODIA_INDIA,
|
||||
wxLANGUAGE_SPANISH_MODERN = wxLANGUAGE_SPANISH,
|
||||
|
||||
/// Obsolete synonym.
|
||||
wxLANGUAGE_CAMBODIAN = wxLANGUAGE_KHMER
|
||||
@@ -59,37 +90,33 @@ enum wxLanguage
|
||||
""")
|
||||
|
||||
|
||||
def WriteTable(f, table):
|
||||
all_langs = []
|
||||
all_sublangs = []
|
||||
def WriteTable(f, table, scripttable):
|
||||
sctable = ''
|
||||
for i in scripttable:
|
||||
scname = '"%s"' % i[0]
|
||||
scalias = '"%s"' % i[1]
|
||||
sctable += ' SCMAP(%s, %s)\n' % (scname, scalias)
|
||||
|
||||
lngtable = ''
|
||||
ifdefs = ''
|
||||
|
||||
for i in table:
|
||||
ican = '"%s"' % i[1]
|
||||
ibcp47 = '"%s"' % i[1]
|
||||
ican = '"%s"' % i[2]
|
||||
if ican == '"-"': ican = '""'
|
||||
ilang = i[2]
|
||||
icanbase = '"%s"' % i[3]
|
||||
if icanbase == '"-"': icanbase = '""'
|
||||
ilang = i[4]
|
||||
if ilang == '-': ilang = '0'
|
||||
isublang = i[3]
|
||||
isublang = i[5]
|
||||
if isublang == '-': isublang = '0'
|
||||
if (i[4] == "LTR") :
|
||||
if (i[6] == "LTR") :
|
||||
ilayout = "wxLayout_LeftToRight"
|
||||
elif (i[4] == "RTL"):
|
||||
elif (i[6] == "RTL"):
|
||||
ilayout = "wxLayout_RightToLeft"
|
||||
else:
|
||||
print "ERROR: Invalid value for the layout direction";
|
||||
lngtable += ' LNG(%-38s %-7s, %-15s, %-34s, %s, %s)\n' % \
|
||||
((i[0]+','), ican, ilang, isublang, ilayout, i[5])
|
||||
if ilang not in all_langs: all_langs.append(ilang)
|
||||
if isublang not in all_sublangs: all_sublangs.append(isublang)
|
||||
|
||||
for s in all_langs:
|
||||
if s != '0':
|
||||
ifdefs += '#ifndef %s\n#define %s (0)\n#endif\n' % (s, s)
|
||||
for s in all_sublangs:
|
||||
if s != '0' and s != 'SUBLANG_DEFAULT':
|
||||
ifdefs += '#ifndef %s\n#define %s SUBLANG_DEFAULT\n#endif\n' % (s, s)
|
||||
lngtable += ' LNG(%-60s %-17s, %-28s, %-15s, %-4s, %-4s, %s, %s)\n' % \
|
||||
((i[0]+','), ibcp47, ican, icanbase, ilang, isublang, ilayout, i[7])
|
||||
|
||||
f.write("""
|
||||
// This table is generated by misc/languages/genlang.py
|
||||
@@ -104,27 +131,36 @@ def WriteTable(f, table):
|
||||
#define SETWINLANG(info,lang,sublang) \\
|
||||
info.WinLang = lang, info.WinSublang = sublang;
|
||||
|
||||
%s
|
||||
|
||||
#endif // __WIN32__
|
||||
|
||||
#define LNG(wxlang, canonical, winlang, winsublang, layout, desc) \\
|
||||
info.Language = wxlang; \\
|
||||
info.CanonicalName = wxT(canonical); \\
|
||||
info.LayoutDirection = layout; \\
|
||||
info.Description = wxT(desc); \\
|
||||
SETWINLANG(info, winlang, winsublang) \\
|
||||
#define LNG(wxlang, bcp47tag, canonical, canonicalref, winlang, winsublang, layout, desc, descnative) \\
|
||||
info.Language = wxlang; \\
|
||||
info.LocaleTag = wxT(bcp47tag); \\
|
||||
info.CanonicalName = wxT(canonical); \\
|
||||
info.CanonicalRef = wxT(canonicalref); \\
|
||||
info.LayoutDirection = layout; \\
|
||||
info.Description = wxString::FromUTF8(desc); \\
|
||||
info.DescriptionNative = wxString::FromUTF8(descnative); \\
|
||||
SETWINLANG(info, winlang, winsublang) \\
|
||||
AddLanguage(info);
|
||||
|
||||
void wxLocale::InitLanguagesDB()
|
||||
{
|
||||
wxLanguageInfo info;
|
||||
#define SCMAP(scname, scalias) \\
|
||||
gs_scmap_name2alias[wxT(scname)] = wxT(scalias); \\
|
||||
gs_scmap_alias2name[wxT(scalias)] = wxT(scname);
|
||||
|
||||
void wxUILocale::InitLanguagesDB()
|
||||
{
|
||||
wxLanguageInfo info;
|
||||
|
||||
// Known languages
|
||||
%s
|
||||
// Known language scripts
|
||||
%s
|
||||
}
|
||||
#undef LNG
|
||||
#undef SCMAP
|
||||
|
||||
""" % (ifdefs, lngtable))
|
||||
""" % (lngtable,sctable))
|
||||
|
||||
|
||||
def ReplaceGeneratedPartOfFile(fname, func):
|
||||
@@ -147,7 +183,7 @@ def ReplaceGeneratedPartOfFile(fname, func):
|
||||
print 'Unexpected starting comment.'
|
||||
betweenBeginAndEnd = 1
|
||||
fout.write(l)
|
||||
func(fout, table)
|
||||
func(fout, table, scripttable)
|
||||
elif l == '// --- --- --- generated code ends here --- --- ---\n':
|
||||
if not betweenBeginAndEnd:
|
||||
print 'End comment found before the starting one?'
|
||||
@@ -164,10 +200,13 @@ def ReplaceGeneratedPartOfFile(fname, func):
|
||||
os.remove(fnameNew)
|
||||
sys.exit(1)
|
||||
|
||||
fout.close()
|
||||
fin.close()
|
||||
os.remove(fname)
|
||||
os.rename(fnameNew, fname)
|
||||
|
||||
table = ReadTable()
|
||||
scripttable = ReadScriptTable()
|
||||
ReplaceGeneratedPartOfFile('include/wx/language.h', WriteEnum)
|
||||
ReplaceGeneratedPartOfFile('interface/wx/language.h', WriteEnum)
|
||||
ReplaceGeneratedPartOfFile('src/common/languageinfo.cpp', WriteTable)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
159
misc/languages/scripttabl.txt
Normal file
159
misc/languages/scripttabl.txt
Normal file
@@ -0,0 +1,159 @@
|
||||
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
|
||||
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
|
||||
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
|
||||
Ugar ugaritic
|
||||
Vaii vai
|
||||
Wara warang_citi
|
||||
Wcho wancho
|
||||
Xpeo old_persian
|
||||
Xsux cuneiform
|
||||
Yezi yezidi
|
||||
Yiii yi
|
||||
Zanb zanabazar_square
|
||||
Zinh inherited
|
||||
Zyyy common
|
||||
Zzzz unknown
|
||||
@@ -126,15 +126,7 @@ const char* wxLanguageInfo::TrySetLocale() const
|
||||
// CRT (check by calling setlocale()).
|
||||
if ( wxGetWinVersion() >= wxWinVersion_Vista )
|
||||
{
|
||||
if ( ::GetLocaleInfo(lcid, LOCALE_SNAME, buffer, WXSIZEOF(buffer)) )
|
||||
{
|
||||
locale = buffer;
|
||||
}
|
||||
else
|
||||
{
|
||||
wxLogLastError(wxT("GetLocaleInfo(LOCALE_SNAME)"));
|
||||
}
|
||||
|
||||
locale = LocaleTag;
|
||||
const char* const retloc = wxSetlocale(LC_ALL, locale);
|
||||
if ( retloc )
|
||||
return retloc;
|
||||
@@ -167,7 +159,7 @@ const char* wxLanguageInfo::TrySetLocale() const
|
||||
|
||||
const char* wxLanguageInfo::TrySetLocale() const
|
||||
{
|
||||
return wxSetlocale(LC_ALL, CanonicalName);
|
||||
return wxSetlocale(LC_ALL, CanonicalRef.empty() ? CanonicalName : CanonicalRef);
|
||||
}
|
||||
|
||||
#endif // __WINDOWS__/!__WINDOWS__
|
||||
@@ -191,7 +183,7 @@ wxString wxLanguageInfo::GetLocaleName() const
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxLocale
|
||||
// wxUILocale / wxLocale
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
static wxLanguageInfos gs_languagesDB;
|
||||
@@ -199,12 +191,13 @@ static bool gs_languagesDBInitialized = false;
|
||||
|
||||
const wxLanguageInfos& wxGetLanguageInfos()
|
||||
{
|
||||
wxLocale::CreateLanguagesDB();
|
||||
wxUILocale::CreateLanguagesDB();
|
||||
|
||||
return gs_languagesDB;
|
||||
}
|
||||
|
||||
/*static*/ void wxLocale::CreateLanguagesDB()
|
||||
/*static*/
|
||||
void wxUILocale::CreateLanguagesDB()
|
||||
{
|
||||
if (!gs_languagesDBInitialized)
|
||||
{
|
||||
@@ -214,7 +207,8 @@ const wxLanguageInfos& wxGetLanguageInfos()
|
||||
}
|
||||
}
|
||||
|
||||
/*static*/ void wxLocale::DestroyLanguagesDB()
|
||||
/*static*/
|
||||
void wxUILocale::DestroyLanguagesDB()
|
||||
{
|
||||
if (gs_languagesDBInitialized)
|
||||
{
|
||||
@@ -223,6 +217,344 @@ const wxLanguageInfos& wxGetLanguageInfos()
|
||||
}
|
||||
}
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
#if defined(__UNIX__) && !defined(__WXOSX__)
|
||||
// Small helper function: get the value of the given environment variable and
|
||||
// return true only if the variable was found and has non-empty value.
|
||||
inline bool wxGetNonEmptyEnvVar(const wxString& name, wxString* value)
|
||||
{
|
||||
return wxGetEnv(name, value) && !value->empty();
|
||||
}
|
||||
#endif
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
/*static*/
|
||||
int wxUILocale::GetSystemLanguage()
|
||||
{
|
||||
CreateLanguagesDB();
|
||||
|
||||
// init i to avoid compiler warning
|
||||
size_t i = 0,
|
||||
count = gs_languagesDB.size();
|
||||
|
||||
#ifdef __WXOSX__
|
||||
wxCFRef<CFLocaleRef> userLocaleRef(CFLocaleCopyCurrent());
|
||||
|
||||
// because the locale identifier (kCFLocaleIdentifier) is formatted a little bit differently, eg
|
||||
// az_Cyrl_AZ@calendar=buddhist;currency=JPY we just recreate the base info as expected by wx here
|
||||
|
||||
wxCFStringRef str(wxCFRetain((CFStringRef)CFLocaleGetValue(userLocaleRef, kCFLocaleLanguageCode)));
|
||||
const wxString langPrefix = str.AsString() + "_";
|
||||
|
||||
str.reset(wxCFRetain((CFStringRef)CFLocaleGetValue(userLocaleRef, kCFLocaleCountryCode)));
|
||||
const wxString langFull = langPrefix + str.AsString();
|
||||
|
||||
int langOnlyMatchIndex = wxNOT_FOUND;
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
const wxString& fullname = gs_languagesDB[i].CanonicalName;
|
||||
if (langFull == fullname)
|
||||
{
|
||||
// Exact match, no need to look any further.
|
||||
break;
|
||||
}
|
||||
|
||||
if (fullname.StartsWith(langPrefix))
|
||||
{
|
||||
// Matched just the language, keep looking, but we'll keep this if
|
||||
// we don't find an exact match later.
|
||||
langOnlyMatchIndex = i;
|
||||
}
|
||||
}
|
||||
|
||||
if (i == count && langOnlyMatchIndex != wxNOT_FOUND)
|
||||
i = langOnlyMatchIndex;
|
||||
#elif defined(__UNIX__)
|
||||
// first get the string identifying the language from the environment
|
||||
wxString langFull;
|
||||
if (!wxGetNonEmptyEnvVar(wxS("LC_ALL"), &langFull) &&
|
||||
!wxGetNonEmptyEnvVar(wxS("LC_MESSAGES"), &langFull) &&
|
||||
!wxGetNonEmptyEnvVar(wxS("LANG"), &langFull))
|
||||
{
|
||||
// no language specified, treat it as English
|
||||
return wxLANGUAGE_ENGLISH_US;
|
||||
}
|
||||
|
||||
// the language string has the following form
|
||||
//
|
||||
// lang[_LANG][.encoding][@modifier]
|
||||
//
|
||||
// (see environ(5) in the Open Unix specification)
|
||||
//
|
||||
// where lang is the primary language, LANG is a sublang/territory,
|
||||
// encoding is the charset to use and modifier "allows the user to select
|
||||
// a specific instance of localization data within a single category"
|
||||
//
|
||||
// for example, the following strings are valid:
|
||||
// fr
|
||||
// fr_FR
|
||||
// de_DE.iso88591
|
||||
// de_DE@euro
|
||||
// de_DE.iso88591@euro
|
||||
|
||||
// for now we don't use the encoding, although we probably should (doing
|
||||
// translations of the msg catalogs on the fly as required) (TODO)
|
||||
//
|
||||
// we need the modified for languages like Valencian: ca_ES@valencia
|
||||
// though, remember it
|
||||
wxString modifier;
|
||||
size_t posModifier = langFull.find_first_of(wxS("@"));
|
||||
if (posModifier != wxString::npos)
|
||||
modifier = langFull.Mid(posModifier);
|
||||
|
||||
size_t posEndLang = langFull.find_first_of(wxS("@."));
|
||||
if (posEndLang != wxString::npos)
|
||||
{
|
||||
langFull.Truncate(posEndLang);
|
||||
}
|
||||
|
||||
if (langFull == wxS("C") || langFull == wxS("POSIX"))
|
||||
{
|
||||
// default C locale is English too
|
||||
return wxLANGUAGE_ENGLISH_US;
|
||||
}
|
||||
|
||||
// do we have just the language (or sublang too)?
|
||||
const bool justLang = langFull.find('_') == wxString::npos;
|
||||
|
||||
// 0. Make sure the lang is according to latest ISO 639
|
||||
// (this is necessary because glibc uses iw and in instead
|
||||
// of he and id respectively).
|
||||
|
||||
// the language itself (second part is the dialect/sublang)
|
||||
wxString langOrig = ExtractLang(langFull);
|
||||
|
||||
wxString lang;
|
||||
if (langOrig == wxS("iw"))
|
||||
lang = wxS("he");
|
||||
else if (langOrig == wxS("in"))
|
||||
lang = wxS("id");
|
||||
else if (langOrig == wxS("ji"))
|
||||
lang = wxS("yi");
|
||||
else if (langOrig == wxS("no_NO"))
|
||||
lang = wxS("nb_NO");
|
||||
else if (langOrig == wxS("no_NY"))
|
||||
lang = wxS("nn_NO");
|
||||
else if (langOrig == wxS("no"))
|
||||
lang = wxS("nb_NO");
|
||||
else
|
||||
lang = langOrig;
|
||||
|
||||
// did we change it?
|
||||
if (lang != langOrig)
|
||||
{
|
||||
langFull = lang + ExtractNotLang(langFull);
|
||||
}
|
||||
|
||||
// 1. Try to find the language either as is:
|
||||
// a) With modifier if set
|
||||
if (!modifier.empty())
|
||||
{
|
||||
wxString langFullWithModifier = langFull + modifier;
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
if (gs_languagesDB[i].CanonicalName == langFullWithModifier)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// b) Without modifier
|
||||
if (modifier.empty() || i == count)
|
||||
{
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
if (gs_languagesDB[i].CanonicalName == langFull)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 2. If langFull is of the form xx_YY, try to find xx:
|
||||
if (i == count && !justLang)
|
||||
{
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
if (ExtractLang(gs_languagesDB[i].CanonicalName) == lang)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 3. If langFull is of the form xx, try to find any xx_YY record:
|
||||
if (i == count && justLang)
|
||||
{
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
if (ExtractLang(gs_languagesDB[i].CanonicalName) == langFull)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (i == count)
|
||||
{
|
||||
// In addition to the format above, we also can have full language
|
||||
// names in LANG env var - for example, SuSE is known to use
|
||||
// LANG="german" - so check for use of non-standard format and try to
|
||||
// find the name in verbose description.
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
if (gs_languagesDB[i].Description.CmpNoCase(langFull) == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#elif defined(__WIN32__)
|
||||
const LANGID langid = ::GetUserDefaultUILanguage();
|
||||
if (langid != LOCALE_CUSTOM_UI_DEFAULT)
|
||||
{
|
||||
wxUint32 lang = PRIMARYLANGID(langid);
|
||||
wxUint32 sublang = SUBLANGID(langid);
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
if (gs_languagesDB[i].WinLang == lang &&
|
||||
gs_languagesDB[i].WinSublang == sublang)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
//else: leave wxlang == wxLANGUAGE_UNKNOWN
|
||||
#endif // Unix/Win32
|
||||
|
||||
if (i < count)
|
||||
{
|
||||
// we did find a matching entry, use it
|
||||
return gs_languagesDB[i].Language;
|
||||
}
|
||||
|
||||
// no info about this language in the database
|
||||
return wxLANGUAGE_UNKNOWN;
|
||||
}
|
||||
|
||||
/* static */
|
||||
void wxUILocale::AddLanguage(const wxLanguageInfo& info)
|
||||
{
|
||||
CreateLanguagesDB();
|
||||
gs_languagesDB.push_back(info);
|
||||
}
|
||||
|
||||
/* static */
|
||||
const wxLanguageInfo* wxUILocale::GetLanguageInfo(int lang)
|
||||
{
|
||||
CreateLanguagesDB();
|
||||
|
||||
// calling GetLanguageInfo(wxLANGUAGE_DEFAULT) is a natural thing to do, so
|
||||
// make it work
|
||||
if (lang == wxLANGUAGE_DEFAULT)
|
||||
lang = GetSystemLanguage();
|
||||
|
||||
if (lang == wxLANGUAGE_UNKNOWN)
|
||||
return NULL;
|
||||
|
||||
const size_t count = gs_languagesDB.size();
|
||||
for (size_t i = 0; i < count; i++)
|
||||
{
|
||||
if (gs_languagesDB[i].Language == lang)
|
||||
return &gs_languagesDB[i];
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* static */
|
||||
wxString wxUILocale::GetLanguageName(int lang)
|
||||
{
|
||||
wxString string;
|
||||
|
||||
if (lang == wxLANGUAGE_DEFAULT || lang == wxLANGUAGE_UNKNOWN)
|
||||
return string;
|
||||
|
||||
const wxLanguageInfo* info = GetLanguageInfo(lang);
|
||||
if (info)
|
||||
string = info->Description;
|
||||
|
||||
return string;
|
||||
}
|
||||
|
||||
/* static */
|
||||
wxString wxUILocale::GetLanguageCanonicalName(int lang)
|
||||
{
|
||||
wxString string;
|
||||
|
||||
if (lang == wxLANGUAGE_DEFAULT || lang == wxLANGUAGE_UNKNOWN)
|
||||
return string;
|
||||
|
||||
const wxLanguageInfo* info = GetLanguageInfo(lang);
|
||||
if (info)
|
||||
string = info->CanonicalName;
|
||||
|
||||
return string;
|
||||
}
|
||||
|
||||
/* static */
|
||||
const wxLanguageInfo* wxUILocale::FindLanguageInfo(const wxString& locale)
|
||||
{
|
||||
CreateLanguagesDB();
|
||||
|
||||
const wxLanguageInfo* infoRet = NULL;
|
||||
|
||||
const size_t count = gs_languagesDB.size();
|
||||
for (size_t i = 0; i < count; i++)
|
||||
{
|
||||
const wxLanguageInfo* info = &gs_languagesDB[i];
|
||||
|
||||
if (wxStricmp(locale, info->CanonicalName) == 0 ||
|
||||
wxStricmp(locale, info->Description) == 0)
|
||||
{
|
||||
// exact match, stop searching
|
||||
infoRet = info;
|
||||
break;
|
||||
}
|
||||
|
||||
if (wxStricmp(locale, info->CanonicalName.BeforeFirst(wxS('_'))) == 0)
|
||||
{
|
||||
// a match -- but maybe we'll find an exact one later, so continue
|
||||
// looking
|
||||
//
|
||||
// OTOH, maybe we had already found a language match and in this
|
||||
// case don't overwrite it because the entry for the default
|
||||
// country always appears first in gs_languagesDB
|
||||
if (!infoRet)
|
||||
infoRet = info;
|
||||
}
|
||||
}
|
||||
|
||||
return infoRet;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxLocale
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/*static*/
|
||||
void wxLocale::CreateLanguagesDB()
|
||||
{
|
||||
wxUILocale::CreateLanguagesDB();
|
||||
}
|
||||
|
||||
/*static*/
|
||||
void wxLocale::DestroyLanguagesDB()
|
||||
{
|
||||
wxUILocale::DestroyLanguagesDB();
|
||||
}
|
||||
|
||||
void wxLocale::DoCommonInit()
|
||||
{
|
||||
@@ -466,230 +798,10 @@ bool wxLocale::Init(int lang, int flags)
|
||||
#endif
|
||||
}
|
||||
|
||||
namespace
|
||||
/*static*/
|
||||
int wxLocale::GetSystemLanguage()
|
||||
{
|
||||
|
||||
#if defined(__UNIX__) && !defined(__WXOSX__)
|
||||
// Small helper function: get the value of the given environment variable and
|
||||
// return true only if the variable was found and has non-empty value.
|
||||
inline bool wxGetNonEmptyEnvVar(const wxString& name, wxString* value)
|
||||
{
|
||||
return wxGetEnv(name, value) && !value->empty();
|
||||
}
|
||||
#endif
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
/*static*/ int wxLocale::GetSystemLanguage()
|
||||
{
|
||||
CreateLanguagesDB();
|
||||
|
||||
// init i to avoid compiler warning
|
||||
size_t i = 0,
|
||||
count = gs_languagesDB.size();
|
||||
|
||||
#ifdef __WXOSX__
|
||||
wxCFRef<CFLocaleRef> userLocaleRef(CFLocaleCopyCurrent());
|
||||
|
||||
// because the locale identifier (kCFLocaleIdentifier) is formatted a little bit differently, eg
|
||||
// az_Cyrl_AZ@calendar=buddhist;currency=JPY we just recreate the base info as expected by wx here
|
||||
|
||||
wxCFStringRef str(wxCFRetain((CFStringRef)CFLocaleGetValue(userLocaleRef, kCFLocaleLanguageCode)));
|
||||
const wxString langPrefix = str.AsString() + "_";
|
||||
|
||||
str.reset(wxCFRetain((CFStringRef)CFLocaleGetValue(userLocaleRef, kCFLocaleCountryCode)));
|
||||
const wxString langFull = langPrefix + str.AsString();
|
||||
|
||||
int langOnlyMatchIndex = wxNOT_FOUND;
|
||||
for ( i = 0; i < count; i++ )
|
||||
{
|
||||
const wxString& fullname = gs_languagesDB[i].CanonicalName;
|
||||
if ( langFull == fullname )
|
||||
{
|
||||
// Exact match, no need to look any further.
|
||||
break;
|
||||
}
|
||||
|
||||
if ( fullname.StartsWith(langPrefix) )
|
||||
{
|
||||
// Matched just the language, keep looking, but we'll keep this if
|
||||
// we don't find an exact match later.
|
||||
langOnlyMatchIndex = i;
|
||||
}
|
||||
}
|
||||
|
||||
if ( i == count && langOnlyMatchIndex != wxNOT_FOUND )
|
||||
i = langOnlyMatchIndex;
|
||||
#elif defined(__UNIX__)
|
||||
// first get the string identifying the language from the environment
|
||||
wxString langFull;
|
||||
if (!wxGetNonEmptyEnvVar(wxS("LC_ALL"), &langFull) &&
|
||||
!wxGetNonEmptyEnvVar(wxS("LC_MESSAGES"), &langFull) &&
|
||||
!wxGetNonEmptyEnvVar(wxS("LANG"), &langFull))
|
||||
{
|
||||
// no language specified, treat it as English
|
||||
return wxLANGUAGE_ENGLISH_US;
|
||||
}
|
||||
|
||||
// the language string has the following form
|
||||
//
|
||||
// lang[_LANG][.encoding][@modifier]
|
||||
//
|
||||
// (see environ(5) in the Open Unix specification)
|
||||
//
|
||||
// where lang is the primary language, LANG is a sublang/territory,
|
||||
// encoding is the charset to use and modifier "allows the user to select
|
||||
// a specific instance of localization data within a single category"
|
||||
//
|
||||
// for example, the following strings are valid:
|
||||
// fr
|
||||
// fr_FR
|
||||
// de_DE.iso88591
|
||||
// de_DE@euro
|
||||
// de_DE.iso88591@euro
|
||||
|
||||
// for now we don't use the encoding, although we probably should (doing
|
||||
// translations of the msg catalogs on the fly as required) (TODO)
|
||||
//
|
||||
// we need the modified for languages like Valencian: ca_ES@valencia
|
||||
// though, remember it
|
||||
wxString modifier;
|
||||
size_t posModifier = langFull.find_first_of(wxS("@"));
|
||||
if ( posModifier != wxString::npos )
|
||||
modifier = langFull.Mid(posModifier);
|
||||
|
||||
size_t posEndLang = langFull.find_first_of(wxS("@."));
|
||||
if ( posEndLang != wxString::npos )
|
||||
{
|
||||
langFull.Truncate(posEndLang);
|
||||
}
|
||||
|
||||
if ( langFull == wxS("C") || langFull == wxS("POSIX") )
|
||||
{
|
||||
// default C locale is English too
|
||||
return wxLANGUAGE_ENGLISH_US;
|
||||
}
|
||||
|
||||
// do we have just the language (or sublang too)?
|
||||
const bool justLang = langFull.find('_') == wxString::npos;
|
||||
|
||||
// 0. Make sure the lang is according to latest ISO 639
|
||||
// (this is necessary because glibc uses iw and in instead
|
||||
// of he and id respectively).
|
||||
|
||||
// the language itself (second part is the dialect/sublang)
|
||||
wxString langOrig = ExtractLang(langFull);
|
||||
|
||||
wxString lang;
|
||||
if ( langOrig == wxS("iw"))
|
||||
lang = wxS("he");
|
||||
else if (langOrig == wxS("in"))
|
||||
lang = wxS("id");
|
||||
else if (langOrig == wxS("ji"))
|
||||
lang = wxS("yi");
|
||||
else if (langOrig == wxS("no_NO"))
|
||||
lang = wxS("nb_NO");
|
||||
else if (langOrig == wxS("no_NY"))
|
||||
lang = wxS("nn_NO");
|
||||
else if (langOrig == wxS("no"))
|
||||
lang = wxS("nb_NO");
|
||||
else
|
||||
lang = langOrig;
|
||||
|
||||
// did we change it?
|
||||
if ( lang != langOrig )
|
||||
{
|
||||
langFull = lang + ExtractNotLang(langFull);
|
||||
}
|
||||
|
||||
// 1. Try to find the language either as is:
|
||||
// a) With modifier if set
|
||||
if ( !modifier.empty() )
|
||||
{
|
||||
wxString langFullWithModifier = langFull + modifier;
|
||||
for ( i = 0; i < count; i++ )
|
||||
{
|
||||
if ( gs_languagesDB[i].CanonicalName == langFullWithModifier )
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// b) Without modifier
|
||||
if ( modifier.empty() || i == count )
|
||||
{
|
||||
for ( i = 0; i < count; i++ )
|
||||
{
|
||||
if ( gs_languagesDB[i].CanonicalName == langFull )
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 2. If langFull is of the form xx_YY, try to find xx:
|
||||
if ( i == count && !justLang )
|
||||
{
|
||||
for ( i = 0; i < count; i++ )
|
||||
{
|
||||
if ( ExtractLang(gs_languagesDB[i].CanonicalName) == lang )
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 3. If langFull is of the form xx, try to find any xx_YY record:
|
||||
if ( i == count && justLang )
|
||||
{
|
||||
for ( i = 0; i < count; i++ )
|
||||
{
|
||||
if ( ExtractLang(gs_languagesDB[i].CanonicalName) == langFull )
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ( i == count )
|
||||
{
|
||||
// In addition to the format above, we also can have full language
|
||||
// names in LANG env var - for example, SuSE is known to use
|
||||
// LANG="german" - so check for use of non-standard format and try to
|
||||
// find the name in verbose description.
|
||||
for ( i = 0; i < count; i++ )
|
||||
{
|
||||
if (gs_languagesDB[i].Description.CmpNoCase(langFull) == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#elif defined(__WIN32__)
|
||||
const LANGID langid = ::GetUserDefaultUILanguage();
|
||||
if ( langid != LOCALE_CUSTOM_UI_DEFAULT )
|
||||
{
|
||||
wxUint32 lang = PRIMARYLANGID(langid);
|
||||
wxUint32 sublang = SUBLANGID(langid);
|
||||
|
||||
for ( i = 0; i < count; i++ )
|
||||
{
|
||||
if (gs_languagesDB[i].WinLang == lang &&
|
||||
gs_languagesDB[i].WinSublang == sublang)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
//else: leave wxlang == wxLANGUAGE_UNKNOWN
|
||||
#endif // Unix/Win32
|
||||
|
||||
if ( i < count )
|
||||
{
|
||||
// we did find a matching entry, use it
|
||||
return gs_languagesDB[i].Language;
|
||||
}
|
||||
|
||||
// no info about this language in the database
|
||||
return wxLANGUAGE_UNKNOWN;
|
||||
return wxUILocale::GetSystemLanguage();
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -708,25 +820,25 @@ wxString wxLocale::GetSystemEncodingName()
|
||||
#if defined(__WIN32__)
|
||||
// FIXME: what is the error return value for GetACP()?
|
||||
const UINT codepage = ::GetACP();
|
||||
switch ( codepage )
|
||||
switch (codepage)
|
||||
{
|
||||
case 65001:
|
||||
encname = "UTF-8";
|
||||
break;
|
||||
case 65001:
|
||||
encname = "UTF-8";
|
||||
break;
|
||||
|
||||
default:
|
||||
encname.Printf(wxS("windows-%u"), codepage);
|
||||
default:
|
||||
encname.Printf(wxS("windows-%u"), codepage);
|
||||
}
|
||||
#elif defined(__WXMAC__)
|
||||
encname = wxCFStringRef::AsString(
|
||||
CFStringGetNameOfEncoding(CFStringGetSystemEncoding())
|
||||
);
|
||||
CFStringGetNameOfEncoding(CFStringGetSystemEncoding())
|
||||
);
|
||||
#elif defined(__UNIX_LIKE__)
|
||||
|
||||
#if defined(HAVE_LANGINFO_H) && defined(CODESET)
|
||||
// GNU libc provides current character set this way (this conforms
|
||||
// to Unix98)
|
||||
char *oldLocale = strdup(setlocale(LC_CTYPE, NULL));
|
||||
char* oldLocale = strdup(setlocale(LC_CTYPE, NULL));
|
||||
setlocale(LC_CTYPE, "");
|
||||
encname = wxString::FromAscii(nl_langinfo(CODESET));
|
||||
setlocale(LC_CTYPE, oldLocale);
|
||||
@@ -738,24 +850,24 @@ wxString wxLocale::GetSystemEncodingName()
|
||||
// if we can't get at the character set directly, try to see if it's in
|
||||
// the environment variables (in most cases this won't work, but I was
|
||||
// out of ideas)
|
||||
char *lang = getenv( "LC_ALL");
|
||||
char *dot = lang ? strchr(lang, '.') : NULL;
|
||||
char* lang = getenv("LC_ALL");
|
||||
char* dot = lang ? strchr(lang, '.') : NULL;
|
||||
if (!dot)
|
||||
{
|
||||
lang = getenv( "LC_CTYPE" );
|
||||
if ( lang )
|
||||
dot = strchr(lang, '.' );
|
||||
lang = getenv("LC_CTYPE");
|
||||
if (lang)
|
||||
dot = strchr(lang, '.');
|
||||
}
|
||||
if (!dot)
|
||||
{
|
||||
lang = getenv( "LANG");
|
||||
if ( lang )
|
||||
lang = getenv("LANG");
|
||||
if (lang)
|
||||
dot = strchr(lang, '.');
|
||||
}
|
||||
|
||||
if ( dot )
|
||||
if (dot)
|
||||
{
|
||||
encname = wxString::FromAscii( dot+1 );
|
||||
encname = wxString::FromAscii(dot + 1);
|
||||
}
|
||||
}
|
||||
#endif // Win32/Unix
|
||||
@@ -769,47 +881,47 @@ wxFontEncoding wxLocale::GetSystemEncoding()
|
||||
#if defined(__WIN32__)
|
||||
const UINT codepage = ::GetACP();
|
||||
|
||||
switch ( codepage )
|
||||
switch (codepage)
|
||||
{
|
||||
case 1250:
|
||||
case 1251:
|
||||
case 1252:
|
||||
case 1253:
|
||||
case 1254:
|
||||
case 1255:
|
||||
case 1256:
|
||||
case 1257:
|
||||
case 1258:
|
||||
return (wxFontEncoding)(wxFONTENCODING_CP1250 + codepage - 1250);
|
||||
case 1250:
|
||||
case 1251:
|
||||
case 1252:
|
||||
case 1253:
|
||||
case 1254:
|
||||
case 1255:
|
||||
case 1256:
|
||||
case 1257:
|
||||
case 1258:
|
||||
return (wxFontEncoding)(wxFONTENCODING_CP1250 + codepage - 1250);
|
||||
|
||||
case 1361:
|
||||
return wxFONTENCODING_CP1361;
|
||||
case 1361:
|
||||
return wxFONTENCODING_CP1361;
|
||||
|
||||
case 874:
|
||||
return wxFONTENCODING_CP874;
|
||||
case 874:
|
||||
return wxFONTENCODING_CP874;
|
||||
|
||||
case 932:
|
||||
return wxFONTENCODING_CP932;
|
||||
case 932:
|
||||
return wxFONTENCODING_CP932;
|
||||
|
||||
case 936:
|
||||
return wxFONTENCODING_CP936;
|
||||
case 936:
|
||||
return wxFONTENCODING_CP936;
|
||||
|
||||
case 949:
|
||||
return wxFONTENCODING_CP949;
|
||||
case 949:
|
||||
return wxFONTENCODING_CP949;
|
||||
|
||||
case 950:
|
||||
return wxFONTENCODING_CP950;
|
||||
case 950:
|
||||
return wxFONTENCODING_CP950;
|
||||
|
||||
case 65001:
|
||||
return wxFONTENCODING_UTF8;
|
||||
case 65001:
|
||||
return wxFONTENCODING_UTF8;
|
||||
}
|
||||
#elif defined(__WXMAC__)
|
||||
CFStringEncoding encoding = 0 ;
|
||||
encoding = CFStringGetSystemEncoding() ;
|
||||
return wxMacGetFontEncFromSystemEnc( encoding ) ;
|
||||
CFStringEncoding encoding = 0;
|
||||
encoding = CFStringGetSystemEncoding();
|
||||
return wxMacGetFontEncFromSystemEnc(encoding);
|
||||
#elif defined(__UNIX_LIKE__) && wxUSE_FONTMAP
|
||||
const wxString encname = GetSystemEncodingName();
|
||||
if ( !encname.empty() )
|
||||
if (!encname.empty())
|
||||
{
|
||||
wxFontEncoding enc = wxFontMapperBase::GetEncodingFromName(encname);
|
||||
|
||||
@@ -818,7 +930,7 @@ wxFontEncoding wxLocale::GetSystemEncoding()
|
||||
// don't even try to use it in this case
|
||||
#if !wxUSE_UNICODE && \
|
||||
((defined(__WXGTK__) && !defined(__WXGTK20__)) || defined(__WXMOTIF__))
|
||||
if ( enc == wxFONTENCODING_UTF8 )
|
||||
if (enc == wxFONTENCODING_UTF8)
|
||||
{
|
||||
// the most similar supported encoding...
|
||||
enc = wxFONTENCODING_ISO8859_1;
|
||||
@@ -829,13 +941,13 @@ wxFontEncoding wxLocale::GetSystemEncoding()
|
||||
// (a.k.a. US-ASCII) which is arguably a bug but keep it like this for
|
||||
// backwards compatibility and just take care to not return
|
||||
// wxFONTENCODING_DEFAULT from here as this surely doesn't make sense
|
||||
if ( enc == wxFONTENCODING_DEFAULT )
|
||||
if (enc == wxFONTENCODING_DEFAULT)
|
||||
{
|
||||
// we don't have wxFONTENCODING_ASCII, so use the closest one
|
||||
return wxFONTENCODING_ISO8859_1;
|
||||
}
|
||||
|
||||
if ( enc != wxFONTENCODING_MAX )
|
||||
if (enc != wxFONTENCODING_MAX)
|
||||
{
|
||||
return enc;
|
||||
}
|
||||
@@ -849,97 +961,31 @@ wxFontEncoding wxLocale::GetSystemEncoding()
|
||||
/* static */
|
||||
void wxLocale::AddLanguage(const wxLanguageInfo& info)
|
||||
{
|
||||
CreateLanguagesDB();
|
||||
gs_languagesDB.push_back(info);
|
||||
wxUILocale::AddLanguage(info);
|
||||
}
|
||||
|
||||
/* static */
|
||||
const wxLanguageInfo *wxLocale::GetLanguageInfo(int lang)
|
||||
const wxLanguageInfo* wxLocale::GetLanguageInfo(int lang)
|
||||
{
|
||||
CreateLanguagesDB();
|
||||
|
||||
// calling GetLanguageInfo(wxLANGUAGE_DEFAULT) is a natural thing to do, so
|
||||
// make it work
|
||||
if ( lang == wxLANGUAGE_DEFAULT )
|
||||
lang = GetSystemLanguage();
|
||||
|
||||
if ( lang == wxLANGUAGE_UNKNOWN )
|
||||
return NULL;
|
||||
|
||||
const size_t count = gs_languagesDB.size();
|
||||
for ( size_t i = 0; i < count; i++ )
|
||||
{
|
||||
if ( gs_languagesDB[i].Language == lang )
|
||||
return &gs_languagesDB[i];
|
||||
}
|
||||
|
||||
return NULL;
|
||||
return wxUILocale::GetLanguageInfo(lang);
|
||||
}
|
||||
|
||||
/* static */
|
||||
wxString wxLocale::GetLanguageName(int lang)
|
||||
{
|
||||
wxString string;
|
||||
|
||||
if ( lang == wxLANGUAGE_DEFAULT || lang == wxLANGUAGE_UNKNOWN )
|
||||
return string;
|
||||
|
||||
const wxLanguageInfo *info = GetLanguageInfo(lang);
|
||||
if (info)
|
||||
string = info->Description;
|
||||
|
||||
return string;
|
||||
return wxUILocale::GetLanguageName(lang);
|
||||
}
|
||||
|
||||
/* static */
|
||||
wxString wxLocale::GetLanguageCanonicalName(int lang)
|
||||
{
|
||||
wxString string;
|
||||
|
||||
if ( lang == wxLANGUAGE_DEFAULT || lang == wxLANGUAGE_UNKNOWN )
|
||||
return string;
|
||||
|
||||
const wxLanguageInfo *info = GetLanguageInfo(lang);
|
||||
if (info)
|
||||
string = info->CanonicalName;
|
||||
|
||||
return string;
|
||||
return wxUILocale::GetLanguageCanonicalName(lang);
|
||||
}
|
||||
|
||||
/* static */
|
||||
const wxLanguageInfo *wxLocale::FindLanguageInfo(const wxString& locale)
|
||||
const wxLanguageInfo* wxLocale::FindLanguageInfo(const wxString& locale)
|
||||
{
|
||||
CreateLanguagesDB();
|
||||
|
||||
const wxLanguageInfo *infoRet = NULL;
|
||||
|
||||
const size_t count = gs_languagesDB.size();
|
||||
for ( size_t i = 0; i < count; i++ )
|
||||
{
|
||||
const wxLanguageInfo *info = &gs_languagesDB[i];
|
||||
|
||||
if ( wxStricmp(locale, info->CanonicalName) == 0 ||
|
||||
wxStricmp(locale, info->Description) == 0 )
|
||||
{
|
||||
// exact match, stop searching
|
||||
infoRet = info;
|
||||
break;
|
||||
}
|
||||
|
||||
if ( wxStricmp(locale, info->CanonicalName.BeforeFirst(wxS('_'))) == 0 )
|
||||
{
|
||||
// a match -- but maybe we'll find an exact one later, so continue
|
||||
// looking
|
||||
//
|
||||
// OTOH, maybe we had already found a language match and in this
|
||||
// case don't overwrite it because the entry for the default
|
||||
// country always appears first in gs_languagesDB
|
||||
if ( !infoRet )
|
||||
infoRet = info;
|
||||
}
|
||||
}
|
||||
|
||||
return infoRet;
|
||||
return wxUILocale::FindLanguageInfo(locale);
|
||||
}
|
||||
|
||||
wxString wxLocale::GetSysName() const
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user