X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/963ad140d0bc0a86df7cab700076a8d6192fc64c..774960ce3cd18e4722f940d59031144a4bcc7fc9:/src/common/intl.cpp?ds=sidebyside diff --git a/src/common/intl.cpp b/src/common/intl.cpp index 7d449cea28..1f360d9a5a 100644 --- a/src/common/intl.cpp +++ b/src/common/intl.cpp @@ -79,6 +79,8 @@ #include "wx/encconv.h" #include "wx/hashmap.h" #include "wx/ptr_scpd.h" +#include "wx/app.h" +#include "wx/apptrait.h" #if defined(__WXMAC__) #include "wx/mac/private.h" // includes mac headers @@ -1470,8 +1472,19 @@ bool wxLocale::Init(const wxChar *szName, m_pMsgCat = NULL; bool bOk = true; if ( bLoadDefault ) + { bOk = AddCatalog(wxT("wxstd")); + // there may be a catalog with toolkit specific overrides, it is not + // an error if this does not exist + if ( bOk && wxTheApp ) + { + wxAppTraits *traits = wxTheApp->GetTraits(); + if (traits) + AddCatalog(traits->GetToolkitInfo().name.BeforeFirst(wxT('/')).MakeLower()); + } + } + return bOk; } @@ -2277,12 +2290,17 @@ wxFontEncoding wxLocale::GetSystemEncoding() #if defined(__WIN32__) && !defined(__WXMICROWIN__) UINT codepage = ::GetACP(); - // wxWidgets only knows about CP1250-1257, 932, 936, 949, 950 + // wxWidgets only knows about CP1250-1257, 874, 932, 936, 949, 950 if ( codepage >= 1250 && codepage <= 1257 ) { return (wxFontEncoding)(wxFONTENCODING_CP1250 + codepage - 1250); } + if ( codepage == 874 ) + { + return wxFONTENCODING_CP874; + } + if ( codepage == 932 ) { return wxFONTENCODING_CP932;