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;
}
{
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());
}
-int wxLocale::GetSystemLanguage()
+int wxLocale::GetSystemLanguage() const
{
int wxlang = wxLANGUAGE_UNKNOWN;
size_t i;
// default languages table & initialization
// ----------------------------------------------------------------------------
+
// This table is generated by misc/languages/genlang.py
// When making changes, please put them into misc/languages/langtabl.txt
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")
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")
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)")
#undef LNG
-
-
#endif // wxUSE_INTL