minor fixes to wxLocale::GetSystemLanguage(), test code for it added to the console sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		@@ -37,7 +37,7 @@
 | 
			
		||||
 | 
			
		||||
//#define TEST_ARRAYS
 | 
			
		||||
//#define TEST_CMDLINE
 | 
			
		||||
#define TEST_DATETIME
 | 
			
		||||
//#define TEST_DATETIME
 | 
			
		||||
//#define TEST_DIR
 | 
			
		||||
//#define TEST_DLLLOADER
 | 
			
		||||
//#define TEST_ENVIRON
 | 
			
		||||
@@ -49,6 +49,7 @@
 | 
			
		||||
//#define TEST_HASH
 | 
			
		||||
//#define TEST_INFO_FUNCTIONS
 | 
			
		||||
//#define TEST_LIST
 | 
			
		||||
#define TEST_LOCALE
 | 
			
		||||
//#define TEST_LOG
 | 
			
		||||
//#define TEST_LONGLONG
 | 
			
		||||
//#define TEST_MIME
 | 
			
		||||
@@ -61,7 +62,7 @@
 | 
			
		||||
//#define TEST_TIMER
 | 
			
		||||
//#define TEST_VCARD            -- don't enable this (VZ)
 | 
			
		||||
//#define TEST_WCHAR
 | 
			
		||||
#define TEST_ZIP
 | 
			
		||||
//#define TEST_ZIP
 | 
			
		||||
//#define TEST_ZLIB
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -808,6 +809,293 @@ static void TestListCtor()
 | 
			
		||||
 | 
			
		||||
#endif // TEST_LIST
 | 
			
		||||
 | 
			
		||||
// ----------------------------------------------------------------------------
 | 
			
		||||
// wxLocale
 | 
			
		||||
// ----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
#ifdef TEST_LOCALE
 | 
			
		||||
 | 
			
		||||
#include "wx/intl.h"
 | 
			
		||||
#include "wx/utils.h"   // for wxSetEnv
 | 
			
		||||
 | 
			
		||||
static wxLocale gs_localeDefault(wxLANGUAGE_ENGLISH);
 | 
			
		||||
 | 
			
		||||
// find the name of the language from its value
 | 
			
		||||
static const char *GetLangName(int lang)
 | 
			
		||||
{
 | 
			
		||||
    static const char *languageNames[] =
 | 
			
		||||
    {
 | 
			
		||||
        "DEFAULT", 
 | 
			
		||||
        "UNKNOWN", 
 | 
			
		||||
        "ABKHAZIAN",
 | 
			
		||||
        "AFAR",
 | 
			
		||||
        "AFRIKAANS",
 | 
			
		||||
        "ALBANIAN",
 | 
			
		||||
        "AMHARIC",
 | 
			
		||||
        "ARABIC",
 | 
			
		||||
        "ARABIC_ALGERIA",
 | 
			
		||||
        "ARABIC_BAHRAIN",
 | 
			
		||||
        "ARABIC_EGYPT",
 | 
			
		||||
        "ARABIC_IRAQ",
 | 
			
		||||
        "ARABIC_JORDAN",
 | 
			
		||||
        "ARABIC_KUWAIT",
 | 
			
		||||
        "ARABIC_LEBANON",
 | 
			
		||||
        "ARABIC_LIBYA",
 | 
			
		||||
        "ARABIC_MOROCCO",
 | 
			
		||||
        "ARABIC_OMAN",
 | 
			
		||||
        "ARABIC_QATAR",
 | 
			
		||||
        "ARABIC_SAUDI_ARABIA",
 | 
			
		||||
        "ARABIC_SUDAN",
 | 
			
		||||
        "ARABIC_SYRIA",
 | 
			
		||||
        "ARABIC_TUNISIA",
 | 
			
		||||
        "ARABIC_UAE",
 | 
			
		||||
        "ARABIC_YEMEN",
 | 
			
		||||
        "ARMENIAN",
 | 
			
		||||
        "ASSAMESE",
 | 
			
		||||
        "AYMARA",
 | 
			
		||||
        "AZERI",
 | 
			
		||||
        "AZERI_CYRILLIC",
 | 
			
		||||
        "AZERI_LATIN",
 | 
			
		||||
        "BASHKIR",
 | 
			
		||||
        "BASQUE",
 | 
			
		||||
        "BELARUSIAN",
 | 
			
		||||
        "BENGALI",
 | 
			
		||||
        "BHUTANI",
 | 
			
		||||
        "BIHARI",
 | 
			
		||||
        "BISLAMA",
 | 
			
		||||
        "BRETON",
 | 
			
		||||
        "BULGARIAN",
 | 
			
		||||
        "BURMESE",
 | 
			
		||||
        "CAMBODIAN",
 | 
			
		||||
        "CATALAN",
 | 
			
		||||
        "CHINESE",
 | 
			
		||||
        "CHINESE_SIMPLIFIED",
 | 
			
		||||
        "CHINESE_TRADITIONAL",
 | 
			
		||||
        "CHINESE_HONGKONG",
 | 
			
		||||
        "CHINESE_MACAU",
 | 
			
		||||
        "CHINESE_SINGAPORE",
 | 
			
		||||
        "CHINESE_TAIWAN",
 | 
			
		||||
        "CORSICAN",
 | 
			
		||||
        "CROATIAN",
 | 
			
		||||
        "CZECH",
 | 
			
		||||
        "DANISH",
 | 
			
		||||
        "DUTCH",
 | 
			
		||||
        "DUTCH_BELGIAN",
 | 
			
		||||
        "ENGLISH",
 | 
			
		||||
        "ENGLISH_UK",
 | 
			
		||||
        "ENGLISH_US",
 | 
			
		||||
        "ENGLISH_AUSTRALIA",
 | 
			
		||||
        "ENGLISH_BELIZE",
 | 
			
		||||
        "ENGLISH_BOTSWANA",
 | 
			
		||||
        "ENGLISH_CANADA",
 | 
			
		||||
        "ENGLISH_CARIBBEAN",
 | 
			
		||||
        "ENGLISH_DENMARK",
 | 
			
		||||
        "ENGLISH_EIRE",
 | 
			
		||||
        "ENGLISH_JAMAICA",
 | 
			
		||||
        "ENGLISH_NEW_ZEALAND",
 | 
			
		||||
        "ENGLISH_PHILIPPINES",
 | 
			
		||||
        "ENGLISH_SOUTH_AFRICA",
 | 
			
		||||
        "ENGLISH_TRINIDAD",
 | 
			
		||||
        "ENGLISH_ZIMBABWE",
 | 
			
		||||
        "ESPERANTO",
 | 
			
		||||
        "ESTONIAN",
 | 
			
		||||
        "FAEROESE",
 | 
			
		||||
        "FARSI",
 | 
			
		||||
        "FIJI",
 | 
			
		||||
        "FINNISH",
 | 
			
		||||
        "FRENCH",
 | 
			
		||||
        "FRENCH_BELGIAN",
 | 
			
		||||
        "FRENCH_CANADIAN",
 | 
			
		||||
        "FRENCH_LUXEMBOURG",
 | 
			
		||||
        "FRENCH_MONACO",
 | 
			
		||||
        "FRENCH_SWISS",
 | 
			
		||||
        "FRISIAN",
 | 
			
		||||
        "GALICIAN",
 | 
			
		||||
        "GEORGIAN",
 | 
			
		||||
        "GERMAN",
 | 
			
		||||
        "GERMAN_AUSTRIAN",
 | 
			
		||||
        "GERMAN_BELGIUM",
 | 
			
		||||
        "GERMAN_LIECHTENSTEIN",
 | 
			
		||||
        "GERMAN_LUXEMBOURG",
 | 
			
		||||
        "GERMAN_SWISS",
 | 
			
		||||
        "GREEK",
 | 
			
		||||
        "GREENLANDIC",
 | 
			
		||||
        "GUARANI",
 | 
			
		||||
        "GUJARATI",
 | 
			
		||||
        "HAUSA",
 | 
			
		||||
        "HEBREW",
 | 
			
		||||
        "HINDI",
 | 
			
		||||
        "HUNGARIAN",
 | 
			
		||||
        "ICELANDIC",
 | 
			
		||||
        "INDONESIAN",
 | 
			
		||||
        "INTERLINGUA",
 | 
			
		||||
        "INTERLINGUE",
 | 
			
		||||
        "INUKTITUT",
 | 
			
		||||
        "INUPIAK",
 | 
			
		||||
        "IRISH",
 | 
			
		||||
        "ITALIAN",
 | 
			
		||||
        "ITALIAN_SWISS",
 | 
			
		||||
        "JAPANESE",
 | 
			
		||||
        "JAVANESE",
 | 
			
		||||
        "KANNADA",
 | 
			
		||||
        "KASHMIRI",
 | 
			
		||||
        "KASHMIRI_INDIA",
 | 
			
		||||
        "KAZAKH",
 | 
			
		||||
        "KERNEWEK",
 | 
			
		||||
        "KINYARWANDA",
 | 
			
		||||
        "KIRGHIZ",
 | 
			
		||||
        "KIRUNDI",
 | 
			
		||||
        "KONKANI",
 | 
			
		||||
        "KOREAN",
 | 
			
		||||
        "KURDISH",
 | 
			
		||||
        "LAOTHIAN",
 | 
			
		||||
        "LATIN",
 | 
			
		||||
        "LATVIAN",
 | 
			
		||||
        "LINGALA",
 | 
			
		||||
        "LITHUANIAN",
 | 
			
		||||
        "MACEDONIAN",
 | 
			
		||||
        "MALAGASY",
 | 
			
		||||
        "MALAY",
 | 
			
		||||
        "MALAYALAM",
 | 
			
		||||
        "MALAY_BRUNEI_DARUSSALAM",
 | 
			
		||||
        "MALAY_MALAYSIA",
 | 
			
		||||
        "MALTESE",
 | 
			
		||||
        "MANIPURI",
 | 
			
		||||
        "MAORI",
 | 
			
		||||
        "MARATHI",
 | 
			
		||||
        "MOLDAVIAN",
 | 
			
		||||
        "MONGOLIAN",
 | 
			
		||||
        "NAURU",
 | 
			
		||||
        "NEPALI",
 | 
			
		||||
        "NEPALI_INDIA",
 | 
			
		||||
        "NORWEGIAN_BOKMAL",
 | 
			
		||||
        "NORWEGIAN_NYNORSK",
 | 
			
		||||
        "OCCITAN",
 | 
			
		||||
        "ORIYA",
 | 
			
		||||
        "OROMO",
 | 
			
		||||
        "PASHTO",
 | 
			
		||||
        "POLISH",
 | 
			
		||||
        "PORTUGUESE",
 | 
			
		||||
        "PORTUGUESE_BRAZILIAN",
 | 
			
		||||
        "PUNJABI",
 | 
			
		||||
        "QUECHUA",
 | 
			
		||||
        "RHAETO_ROMANCE",
 | 
			
		||||
        "ROMANIAN",
 | 
			
		||||
        "RUSSIAN",
 | 
			
		||||
        "RUSSIAN_UKRAINE",
 | 
			
		||||
        "SAMOAN",
 | 
			
		||||
        "SANGHO",
 | 
			
		||||
        "SANSKRIT",
 | 
			
		||||
        "SCOTS_GAELIC",
 | 
			
		||||
        "SERBIAN",
 | 
			
		||||
        "SERBIAN_CYRILLIC",
 | 
			
		||||
        "SERBIAN_LATIN",
 | 
			
		||||
        "SERBO_CROATIAN",
 | 
			
		||||
        "SESOTHO",
 | 
			
		||||
        "SETSWANA",
 | 
			
		||||
        "SHONA",
 | 
			
		||||
        "SINDHI",
 | 
			
		||||
        "SINHALESE",
 | 
			
		||||
        "SISWATI",
 | 
			
		||||
        "SLOVAK",
 | 
			
		||||
        "SLOVENIAN",
 | 
			
		||||
        "SOMALI",
 | 
			
		||||
        "SPANISH",
 | 
			
		||||
        "SPANISH_ARGENTINA",
 | 
			
		||||
        "SPANISH_BOLIVIA",
 | 
			
		||||
        "SPANISH_CHILE",
 | 
			
		||||
        "SPANISH_COLOMBIA",
 | 
			
		||||
        "SPANISH_COSTA_RICA",
 | 
			
		||||
        "SPANISH_DOMINICAN_REPUBLIC",
 | 
			
		||||
        "SPANISH_ECUADOR",
 | 
			
		||||
        "SPANISH_EL_SALVADOR",
 | 
			
		||||
        "SPANISH_GUATEMALA",
 | 
			
		||||
        "SPANISH_HONDURAS",
 | 
			
		||||
        "SPANISH_MEXICAN",
 | 
			
		||||
        "SPANISH_MODERN",
 | 
			
		||||
        "SPANISH_NICARAGUA",
 | 
			
		||||
        "SPANISH_PANAMA",
 | 
			
		||||
        "SPANISH_PARAGUAY",
 | 
			
		||||
        "SPANISH_PERU",
 | 
			
		||||
        "SPANISH_PUERTO_RICO",
 | 
			
		||||
        "SPANISH_URUGUAY",
 | 
			
		||||
        "SPANISH_US",
 | 
			
		||||
        "SPANISH_VENEZUELA",
 | 
			
		||||
        "SUNDANESE",
 | 
			
		||||
        "SWAHILI",
 | 
			
		||||
        "SWEDISH",
 | 
			
		||||
        "SWEDISH_FINLAND",
 | 
			
		||||
        "TAGALOG",
 | 
			
		||||
        "TAJIK",
 | 
			
		||||
        "TAMIL",
 | 
			
		||||
        "TATAR",
 | 
			
		||||
        "TELUGU",
 | 
			
		||||
        "THAI",
 | 
			
		||||
        "TIBETAN",
 | 
			
		||||
        "TIGRINYA",
 | 
			
		||||
        "TONGA",
 | 
			
		||||
        "TSONGA",
 | 
			
		||||
        "TURKISH",
 | 
			
		||||
        "TURKMEN",
 | 
			
		||||
        "TWI",
 | 
			
		||||
        "UIGHUR",
 | 
			
		||||
        "UKRAINIAN",
 | 
			
		||||
        "URDU",
 | 
			
		||||
        "URDU_INDIA",
 | 
			
		||||
        "URDU_PAKISTAN",
 | 
			
		||||
        "UZBEK",
 | 
			
		||||
        "UZBEK_CYRILLIC",
 | 
			
		||||
        "UZBEK_LATIN",
 | 
			
		||||
        "VIETNAMESE",
 | 
			
		||||
        "VOLAPUK",
 | 
			
		||||
        "WELSH",
 | 
			
		||||
        "WOLOF",
 | 
			
		||||
        "XHOSA",
 | 
			
		||||
        "YIDDISH",
 | 
			
		||||
        "YORUBA",
 | 
			
		||||
        "ZHUANG",
 | 
			
		||||
        "ZULU",
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    if ( (size_t)lang < WXSIZEOF(languageNames) )
 | 
			
		||||
        return languageNames[lang];
 | 
			
		||||
    else
 | 
			
		||||
        return "INVALID";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void TestDefaultLang()
 | 
			
		||||
{
 | 
			
		||||
    puts("*** Testing wxLocale::GetSystemLanguage ***");
 | 
			
		||||
 | 
			
		||||
    static const wxChar *langStrings[] =
 | 
			
		||||
    {
 | 
			
		||||
        NULL,               // system default
 | 
			
		||||
        _T("C"),
 | 
			
		||||
        _T("fr"),
 | 
			
		||||
        _T("fr_FR"),
 | 
			
		||||
        _T("en"),
 | 
			
		||||
        _T("en_GB"),
 | 
			
		||||
        _T("en_US"),
 | 
			
		||||
        _T("de_DE.iso88591"),
 | 
			
		||||
        _T("german"),
 | 
			
		||||
        _T("?"),            // invalid lang spec
 | 
			
		||||
        _T("klingonese"),   // I bet on some systems it does exist...
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    for ( size_t n = 0; n < WXSIZEOF(langStrings); n++ )
 | 
			
		||||
    {
 | 
			
		||||
        const char *langStr = langStrings[n];
 | 
			
		||||
        if ( langStr )
 | 
			
		||||
            wxSetEnv(_T("LC_ALL"), langStr);
 | 
			
		||||
 | 
			
		||||
        int lang = gs_localeDefault.GetSystemLanguage();
 | 
			
		||||
        printf("Locale for '%s' is %s.\n",
 | 
			
		||||
               langStr ? langStr : "system default", GetLangName(lang));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif // TEST_LOCALE
 | 
			
		||||
 | 
			
		||||
// ----------------------------------------------------------------------------
 | 
			
		||||
// MIME types
 | 
			
		||||
// ----------------------------------------------------------------------------
 | 
			
		||||
@@ -4285,6 +4573,10 @@ int main(int argc, char **argv)
 | 
			
		||||
    TestListCtor();
 | 
			
		||||
#endif // TEST_LIST
 | 
			
		||||
 | 
			
		||||
#ifdef TEST_LOCALE
 | 
			
		||||
    TestDefaultLang();
 | 
			
		||||
#endif // TEST_LOCALE
 | 
			
		||||
 | 
			
		||||
#ifdef TEST_LOG
 | 
			
		||||
    wxString s;
 | 
			
		||||
    for ( size_t n = 0; n < 8000; n++ )
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user