// global functions
// ----------------------------------------------------------------------------
-// suppress further error messages about missing translations
-// (if you don't have one catalog file, you wouldn't like to see the
-// error message for each string in it, so normally it's given only
-// once)
-void wxSuppressTransErrors();
+#ifdef __WXDEBUG__
-// restore the logging
-void wxRestoreTransErrors();
+// small class to suppress the translation erros until exit from current scope
+class NoTransErr
+{
+public:
+ NoTransErr() { ms_suppressCount++; }
+ ~NoTransErr() { ms_suppressCount--; }
+
+ static bool Suppress() { return ms_suppressCount > 0; }
+
+private:
+ static size_t ms_suppressCount;
+};
-// get the current state
-bool wxIsLoggingTransErrors();
+size_t NoTransErr::ms_suppressCount = 0;
+
+#else // !Debug
+
+class NoTransErr
+{
+public:
+ NoTransErr() { }
+ ~NoTransErr() { }
+};
+
+#endif // Debug/!Debug
static wxLocale *wxSetLocale(wxLocale *pLocale);
wxDELETEA(m_pszName);
}
-// small class to suppress the translation erros until exit from current scope
-class NoTransErr
-{
-public:
- NoTransErr() { wxSuppressTransErrors(); }
- ~NoTransErr() { wxRestoreTransErrors(); }
-};
-
// return all directories to search for given prefix
static wxString GetAllMsgCatalogSubdirs(const wxChar *prefix,
const wxChar *lang)
// LC_PATH is a standard env var containing the search path for the .mo
// files
- const wxChar *pszLcPath = wxGetenv("LC_PATH");
+ const wxChar *pszLcPath = wxGetenv(wxT("LC_PATH"));
if ( pszLcPath != NULL )
searchPath << GetAllMsgCatalogSubdirs(pszLcPath, lang);
// then take the current directory
// FIXME it should be the directory of the executable
- searchPath << GetAllMsgCatalogSubdirs(wxT("."), lang) << wxPATH_SEP;
+ searchPath << GetAllMsgCatalogSubdirs(wxT("."), lang);
// and finally add some standard ones
searchPath
}
if ( pszTrans == NULL ) {
- if ( wxIsLoggingTransErrors() ) {
- // suppress further error messages if we're not debugging: this avoids
- // flooding the user with messages about each and every missing string if,
- // for example, a whole catalog file is missing.
-
- // do it before calling LogWarning to prevent infinite recursion!
#ifdef __WXDEBUG__
+ if ( !NoTransErr::Suppress() ) {
NoTransErr noTransErr;
-#else // !debug
- wxSuppressTransErrors();
-#endif // debug/!debug
if ( szDomain != NULL )
{
- wxLogWarning(_("string '%s' not found in domain '%s' for locale '%s'."),
+ wxLogDebug(_T("string '%s' not found in domain '%s' for locale '%s'."),
szOrigString, szDomain, m_strLocale.c_str());
}
else
{
- wxLogWarning(_("string '%s' not found in locale '%s'."),
- szOrigString, m_strLocale.c_str());
+ wxLogDebug(_T("string '%s' not found in locale '%s'."),
+ szOrigString, m_strLocale.c_str());
}
}
+#endif // __WXDEBUG__
return (wxMB2WXbuf)(szOrigString);
}
// global functions and variables
// ----------------------------------------------------------------------------
-// translation errors logging
-// --------------------------
-
-static bool gs_bGiveTransErrors = TRUE;
-
-void wxSuppressTransErrors()
-{
- gs_bGiveTransErrors = FALSE;
-}
-
-void wxRestoreTransErrors()
-{
- gs_bGiveTransErrors = TRUE;
-}
-
-bool wxIsLoggingTransErrors()
-{
- return gs_bGiveTransErrors;
-}
-
// retrieve/change current locale
// ------------------------------