]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/intl.cpp
PCX handler now working for reading (8bit and 24bit images).
[wxWidgets.git] / src / common / intl.cpp
index 5571f62634bff0024b7c08d3543fdb0e43681f9d..f21ab6188762b0a7afe4eb58eda91cf63afc88d3 100644 (file)
@@ -28,6 +28,8 @@
     #pragma hdrstop
 #endif
 
+#if wxUSE_INTL
+
 // standard headers
 #include  <locale.h>
 #include  <ctype.h>
@@ -38,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>
@@ -74,7 +77,11 @@ typedef unsigned char size_t8;
         public:
             IntSizeChecker()
             {
-                wxASSERT_MSG( sizeof(int) == 4,
+                // Asserting a sizeof directly causes some compilers to
+                // issue a "using constant in a conditional expression" warning
+                size_t                   intsize = sizeof(int);
+
+                wxASSERT_MSG( intsize == 4,
                               "size_t32 is incorrectly defined!" );
             }
         } intsizechecker;
@@ -294,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 )
@@ -322,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() )
@@ -515,7 +533,7 @@ const wxMB2WXbuf wxLocale::GetString(const wxChar *szOrigString,
       return szDomain;
 
   const char *pszTrans = NULL;
-  const wxWX2MBbuf szOrgString = wxConv_libc.cWX2MB(szOrigString);
+  const wxWX2MBbuf szOrgString = wxConvCurrent->cWX2MB(szOrigString);
 
   wxMsgCatalog *pMsgCat;
   if ( szDomain != NULL ) {
@@ -562,7 +580,7 @@ const wxMB2WXbuf wxLocale::GetString(const wxChar *szOrigString,
     return (wxMB2WXbuf)(szOrigString);
   }
   else
-    return (wxMB2WXbuf)(wxConv_libc.cMB2WX(pszTrans));
+    return (wxMB2WXbuf)(wxConvCurrent->cMB2WX(pszTrans));
 }
 
 // find catalog by name in a linked list, return NULL if !found
@@ -646,3 +664,6 @@ wxLocale *wxSetLocale(wxLocale *pLocale)
   g_pLocale = pLocale;
   return pOld;
 }
+
+#endif // wxUSE_INTL
+