X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/223d09f6b523aac674ef9b72a883dfa8d37c5d4e..12ed316d02733e7111a6967f6ae41e2c0ceaa57a:/include/wx/intl.h diff --git a/include/wx/intl.h b/include/wx/intl.h index 7a3a2a92b2..f9e8f15a2a 100644 --- a/include/wx/intl.h +++ b/include/wx/intl.h @@ -32,9 +32,13 @@ // gettext() style macro (notice that xgettext should be invoked with "-k_" // option to extract the strings inside _() from the sources) #ifndef WXINTL_NO_GETTEXT_MACRO - #define _(str) wxGetTranslation(wxT(str)) + #define _(str) wxGetTranslation(_T(str)) #endif +// another one which just marks the strings for extraction, but doesn't +// perform the translation (use -kwxTRANSLATE with xgettext!) +#define wxTRANSLATE(str) _T(str) + // ---------------------------------------------------------------------------- // forward decls // ---------------------------------------------------------------------------- @@ -58,19 +62,24 @@ public: // call Init() if you use this ctor wxLocale(); // the ctor has a side effect of changing current locale - wxLocale(const wxChar *szName, // name (for messages) + wxLocale(const wxChar *szName, // name (for messages) const wxChar *szShort = (const wxChar *) NULL, // dir prefix (for msg files) const wxChar *szLocale = (const wxChar *) NULL, // locale (for setlocale) - bool bLoadDefault = TRUE) // preload wxstd.mo? - { Init(szName, szShort, szLocale, bLoadDefault); } + bool bLoadDefault = TRUE, // preload wxstd.mo? + bool bConvertEncoding = FALSE) // convert Win<->Unix if neccessary? + { Init(szName, szShort, szLocale, bLoadDefault, bConvertEncoding); } // the same as a function (returns TRUE on success) bool Init(const wxChar *szName, const wxChar *szShort = (const wxChar *) NULL, const wxChar *szLocale = (const wxChar *) NULL, - bool bLoadDefault = TRUE); + bool bLoadDefault = TRUE, + bool bConvertEncoding = FALSE); // restores old locale ~wxLocale(); + // return TRUE if the locale was set successfully + bool IsOk() const { return m_pszOldLocale != NULL; } + // returns locale name const wxChar *GetLocale() const { return m_strLocale; } @@ -104,7 +113,7 @@ public: // domains are searched in the last to first order, i.e. catalogs // added later override those added before. const wxMB2WXbuf GetString(const wxChar *szOrigString, - const wxChar *szDomain = (const wxChar *) NULL) const; + const wxChar *szDomain = (const wxChar *) NULL) const; // Returns the current short name for the locale const wxString& GetName() const { return m_strShort; } @@ -113,13 +122,15 @@ private: // find catalog by name in a linked list, return NULL if !found wxMsgCatalog *FindCatalog(const wxChar *szDomain) const; - wxString m_strLocale, // this locale name - m_strShort; // short name for the locale + wxString m_strLocale, // this locale name + m_strShort; // short name for the locale - const wxChar *m_pszOldLocale; // previous locale from setlocale() - wxLocale *m_pOldLocale; // previous wxLocale + const wxChar *m_pszOldLocale; // previous locale from setlocale() + wxLocale *m_pOldLocale; // previous wxLocale - wxMsgCatalog *m_pMsgCat; // pointer to linked list of catalogs + wxMsgCatalog *m_pMsgCat; // pointer to linked list of catalogs + + bool m_bConvertEncoding; }; // ---------------------------------------------------------------------------- @@ -141,13 +152,23 @@ inline const wxMB2WXbuf wxGetTranslation(const wxChar *sz) #else // !wxUSE_INTL -#ifndef WXINTL_NO_GETTEXT_MACRO +// the macros should still be defined - otherwise compilation would fail + +#if !defined(WXINTL_NO_GETTEXT_MACRO) && !defined(_) #define _(str) (str) #endif +#define wxTRANSLATE(str) _T(str) + inline const wxChar *wxGetTranslation(const wxChar *sz) { return sz; } #endif // wxUSE_INTL/!wxUSE_INTL +// define this one just in case it occurs somewhere (instead of preferred +// wxTRANSLATE) too +#if !defined(WXINTL_NO_GETTEXT_MACRO) && !defined(gettext_noop) + #define gettext_noop(str) _T(str) +#endif + #endif // _WX_INTLH__