X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/913df6f2e0ab502732b271624c95af807d42007c..6627a4b0497f89221ea9f7848990f8830cf81b7e:/src/common/intl.cpp diff --git a/src/common/intl.cpp b/src/common/intl.cpp index a63fa77a05..f21ab61887 100644 --- a/src/common/intl.cpp +++ b/src/common/intl.cpp @@ -40,6 +40,7 @@ #include "wx/intl.h" #include "wx/file.h" #include "wx/log.h" +#include "wx/debug.h" #include "wx/utils.h" #include @@ -300,9 +301,18 @@ static wxString GetFullSearchPath(const wxChar *lang) } // open disk file and read in it's contents -bool wxMsgCatalog::Load(const wxChar *szDirPrefix, const wxChar *szName) +bool wxMsgCatalog::Load(const wxChar *szDirPrefix, const wxChar *szName0) { + /* We need to handle locales like de_AT.iso-8859-1 + For this we first chop off the .CHARSET specifier and ignore it. + FIXME: UNICODE SUPPORT: must use CHARSET specifier! + */ + wxString szName = szName0; + if(szName.Find('.') != -1) // contains a dot + szName = szName.Left(szName.Find('.')); + // FIXME VZ: I forgot the exact meaning of LC_PATH - anyone to remind me? + // KB: search path where to find the mo files, probably : delimited #if 0 const wxChar *pszLcPath = wxGetenv("LC_PATH"); if ( pszLcPath != NULL ) @@ -328,20 +338,22 @@ bool wxMsgCatalog::Load(const wxChar *szDirPrefix, const wxChar *szName) // not yet be loaded (and it's normal) // // (we're using an object because we have several return paths) + NoTransErr noTransErr; +// Then why do you translate at all? Just use _T() and not _(). RR. wxLogVerbose(_("looking for catalog '%s' in path '%s'."), - szName, searchPath.c_str()); + szName.c_str(), searchPath.c_str()); wxString strFullName; if ( !wxFindFileInPath(&strFullName, searchPath, strFile) ) { - wxLogWarning(_("catalog file for domain '%s' not found."), szName); + wxLogWarning(_("catalog file for domain '%s' not found."), szName.c_str()); return FALSE; } // open file wxLogVerbose(_("using catalog '%s' from '%s'."), - szName, strFullName.c_str()); + szName.c_str(), strFullName.c_str()); wxFile fileMsg(strFullName); if ( !fileMsg.IsOpened() )