]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/intl.cpp
Changes for mingw32/gcc-2.95
[wxWidgets.git] / src / common / intl.cpp
index a63fa77a056fb6fd13032f145947f17a4b0cbd39..f21ab6188762b0a7afe4eb58eda91cf63afc88d3 100644 (file)
@@ -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 <stdlib.h>
@@ -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() )