X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1ad48afbfdce9b2e2cd9827dcb67e91b2d0adbd2..d8d267726acaf5e00b6e16afe60fe5d5f2904028:/src/common/intl.cpp diff --git a/src/common/intl.cpp b/src/common/intl.cpp index 70f1a49cec..2609e2c55a 100644 --- a/src/common/intl.cpp +++ b/src/common/intl.cpp @@ -1685,7 +1685,25 @@ bool wxLocale::Init(int language, int flags) wxLogError(wxT("Cannot set locale to language %s."), name.c_str()); return false; } -#elif defined(__WXMAC__) || defined(__WXPM__) +#elif defined(__WXMAC__) + if (language == wxLANGUAGE_DEFAULT) + locale = wxEmptyString; + else + locale = info->CanonicalName; + + wxMB2WXbuf retloc = wxSetlocale(LC_ALL, locale); + + if ( !retloc ) + { + // Some C libraries don't like xx_YY form and require xx only + retloc = wxSetlocale(LC_ALL, locale.Mid(0,2)); + } + if ( !retloc ) + { + wxLogError(wxT("Cannot set locale to '%s'."), locale.c_str()); + return false; + } +#elif defined(__WXPM__) wxMB2WXbuf retloc = wxSetlocale(LC_ALL , wxEmptyString); #else return false;