]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/intl.cpp
support for wxGA_VERTICAL in wxGauge
[wxWidgets.git] / src / common / intl.cpp
index 6ba837647e56322114430ae2af8244c642fbd132..4c49a6832638b4f228ac1729cb89af37351ea02a 100644 (file)
@@ -360,7 +360,7 @@ bool wxMsgCatalog::Load(const wxChar *szDirPrefix, const wxChar *szName0, bool b
 
   wxString strFullName;
   if ( !wxFindFileInPath(&strFullName, searchPath, strFile) ) {
-    wxLogWarning(_("catalog file for domain '%s' not found."), szName.c_str());
+    wxLogVerbose(_("catalog file for domain '%s' not found."), szName.c_str());
     return FALSE;
   }
 
@@ -665,14 +665,35 @@ bool wxLocale::Init(int language, int flags)
     {
         wxUint32 lcid = MAKELCID(MAKELANGID(info->WinLang, info->WinSublang), 
                                  SORT_DEFAULT);
-        if (!SetThreadLocale(lcid))
+        if (SetThreadLocale(lcid))
+            retloc = wxSetlocale(LC_ALL, wxEmptyString);
+        else
         {
-            wxLogLastError(wxT("SetThreadLocale"));
-            wxLogError(wxT("Cannot set locale to language %s."), name.c_str());
-            return FALSE;
+            // Windows9X doesn't support SetThreadLocale, so we must
+            // translate LCID to CRT's setlocale string ourselves
+            locale.Empty();
+            if (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
+            {
+                wxChar buffer[256];
+                buffer[0] = wxT('\0');
+                GetLocaleInfo(lcid, LOCALE_SENGLANGUAGE, buffer, 256);
+                locale << buffer;
+                if (GetLocaleInfo(lcid, LOCALE_SENGCOUNTRY, buffer, 256) > 0)
+                    locale << wxT("_") << buffer;
+            }
+            if (locale.IsEmpty())
+            {
+                wxLogLastError(wxT("SetThreadLocale"));
+                wxLogError(wxT("Cannot set locale to language %s."), name.c_str());
+                return FALSE;
+            }
+            else
+                retloc = wxSetlocale(LC_ALL, locale);
         }
     }
-    retloc = wxSetlocale(LC_ALL, wxEmptyString);
+    else
+        retloc = wxSetlocale(LC_ALL, wxEmptyString);
+
     if (retloc == NULL)
     {
         wxLogError(wxT("Cannot set locale to language %s."), name.c_str());
@@ -700,7 +721,7 @@ void wxLocale::AddCatalogLookupPathPrefix(const wxString& prefix)
 }
 
 
-int wxLocale::GetSystemLanguage()
+int wxLocale::GetSystemLanguage() const
 {
     int wxlang = wxLANGUAGE_UNKNOWN;
     size_t i;
@@ -971,6 +992,7 @@ wxLocale *wxSetLocale(wxLocale *pLocale)
 // default languages table & initialization
 // ----------------------------------------------------------------------------
 
+
 // This table is generated by misc/languages/genlang.py
 // When making changes, please put them into misc/languages/langtabl.txt
 
@@ -1066,7 +1088,7 @@ void wxLocale::InitLanguagesDB()
    LNG(wxLANGUAGE_ESPERANTO,                  "eo"   , 0              , 0                                 , "Esperanto")
    LNG(wxLANGUAGE_ESTONIAN,                   "et_EE", LANG_ESTONIAN  , SUBLANG_DEFAULT                   , "Estonian")
    LNG(wxLANGUAGE_FAEROESE,                   "fo_FO", LANG_FAEROESE  , SUBLANG_DEFAULT                   , "Faeroese")
-   LNG(wxLANGUAGE_FARSI,                      ""     , LANG_FARSI     , SUBLANG_DEFAULT                   , "Farsi")
+   LNG(wxLANGUAGE_FARSI,                      "fa_IR", LANG_FARSI     , SUBLANG_DEFAULT                   , "Farsi")
    LNG(wxLANGUAGE_FIJI,                       "fj"   , 0              , 0                                 , "Fiji")
    LNG(wxLANGUAGE_FINNISH,                    "fi_FI", LANG_FINNISH   , SUBLANG_DEFAULT                   , "Finnish")
    LNG(wxLANGUAGE_FRENCH,                     "fr_FR", LANG_FRENCH    , SUBLANG_FRENCH                    , "French")
@@ -1107,6 +1129,7 @@ void wxLocale::InitLanguagesDB()
    LNG(wxLANGUAGE_KASHMIRI,                   "ks"   , LANG_KASHMIRI  , SUBLANG_DEFAULT                   , "Kashmiri")
    LNG(wxLANGUAGE_KASHMIRI_INDIA,             "ks_IN", LANG_KASHMIRI  , SUBLANG_KASHMIRI_INDIA            , "Kashmiri (India)")
    LNG(wxLANGUAGE_KAZAKH,                     "kk"   , LANG_KAZAK     , SUBLANG_DEFAULT                   , "Kazakh")
+   LNG(wxLANGUAGE_KERNEWEK,                   "kw_GB", 0              , 0                                 , "Kernewek")
    LNG(wxLANGUAGE_KINYARWANDA,                "rw"   , 0              , 0                                 , "Kinyarwanda")
    LNG(wxLANGUAGE_KIRGHIZ,                    "ky"   , 0              , 0                                 , "Kirghiz")
    LNG(wxLANGUAGE_KIRUNDI,                    "rn"   , 0              , 0                                 , "Kirundi")
@@ -1133,14 +1156,12 @@ void wxLocale::InitLanguagesDB()
    LNG(wxLANGUAGE_NAURU,                      "na"   , 0              , 0                                 , "Nauru")
    LNG(wxLANGUAGE_NEPALI,                     "ne"   , LANG_NEPALI    , SUBLANG_DEFAULT                   , "Nepali")
    LNG(wxLANGUAGE_NEPALI_INDIA,               "ne_IN", LANG_NEPALI    , SUBLANG_NEPALI_INDIA              , "Nepali (India)")
-   LNG(wxLANGUAGE_NORWEGIAN,                  "no_NO", LANG_NORWEGIAN , SUBLANG_DEFAULT                   , "Norwegian")
    LNG(wxLANGUAGE_NORWEGIAN_BOKMAL,           "no_NO", LANG_NORWEGIAN , SUBLANG_NORWEGIAN_BOKMAL          , "Norwegian (Bokmal)")
-   LNG(wxLANGUAGE_NORWEGIAN_NYNORSK,          "no_NO", LANG_NORWEGIAN , SUBLANG_NORWEGIAN_NYNORSK         , "Norwegian (Nynorsk)")
+   LNG(wxLANGUAGE_NORWEGIAN_NYNORSK,          "nn_NO", LANG_NORWEGIAN , SUBLANG_NORWEGIAN_NYNORSK         , "Norwegian (Nynorsk)")
    LNG(wxLANGUAGE_OCCITAN,                    "oc"   , 0              , 0                                 , "Occitan")
    LNG(wxLANGUAGE_ORIYA,                      "or"   , LANG_ORIYA     , SUBLANG_DEFAULT                   , "Oriya")
    LNG(wxLANGUAGE_OROMO,                      "om"   , 0              , 0                                 , "(Afan) Oromo")
    LNG(wxLANGUAGE_PASHTO,                     "ps"   , 0              , 0                                 , "Pashto, Pushto")
-   LNG(wxLANGUAGE_PERSIAN,                    "fa_IR", 0              , 0                                 , "Persian")
    LNG(wxLANGUAGE_POLISH,                     "pl_PL", LANG_POLISH    , SUBLANG_DEFAULT                   , "Polish")
    LNG(wxLANGUAGE_PORTUGUESE,                 "pt_PT", LANG_PORTUGUESE, SUBLANG_PORTUGUESE                , "Portuguese")
    LNG(wxLANGUAGE_PORTUGUESE_BRAZILIAN,       "pt_BR", LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN      , "Portuguese (Brazilian)")
@@ -1226,7 +1247,5 @@ void wxLocale::InitLanguagesDB()
 #undef LNG
 
 
-
-
 #endif // wxUSE_INTL