// ----------------------------------------------------------------------------
// # adjust if necessary
-typedef unsigned char uint8;
-typedef unsigned long uint32;
+typedef unsigned char size_t8;
+typedef unsigned long size_t32;
// ----------------------------------------------------------------------------
// macros
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxLocale;
class WXDLLEXPORT wxMsgCatalog;
-
-// ----------------------------------------------------------------------------
-// global functions
-// ----------------------------------------------------------------------------
-extern wxLocale* WXDLLEXPORT wxGetLocale();
-inline const char* wxGetTranslation(const char *sz);
+extern WXDLLEXPORT_DATA(wxLocale *) g_pLocale;
// ============================================================================
// locale support
{
public:
// ctor & dtor
+ // call Init() if you use this ctor
+ wxLocale();
// the ctor has a side effect of changing current locale
- wxLocale(const char *szName, // name (for messages)
- const char *szShort = NULL, // dir prefix (for msg files)
- const char *szLocale = NULL, // locale (for setlocale)
- bool bLoadDefault = TRUE); // preload wxstd.mo?
+ wxLocale(const char *szName, // name (for messages)
+ const char *szShort = (const char *) NULL, // dir prefix (for msg files)
+ const char *szLocale = (const char *) NULL, // locale (for setlocale)
+ bool bLoadDefault = TRUE) // preload wxstd.mo?
+ { Init(szName, szShort, szLocale, bLoadDefault); }
+ // the same as a function (returns TRUE on success)
+ bool Init(const char *szName,
+ const char *szShort = (const char *) NULL,
+ const char *szLocale = (const char *) NULL,
+ bool bLoadDefault = TRUE);
// restores old locale
~wxLocale();
// domains are searched in the last to first order, i.e. catalogs
// added later override those added before.
const char *GetString(const char *szOrigString,
- const char *szDomain = NULL) const;
+ const char *szDomain = (const char *) NULL) const;
private:
// find catalog by name in a linked list, return NULL if !found
wxMsgCatalog *m_pMsgCat; // pointer to linked list of catalogs
};
-// ============================================================================
-// optional features
-// ============================================================================
-
-// ----------------------------------------------------------------------------
-// wxTString: automatically translates strings to current language
-// ----------------------------------------------------------------------------
-
-// this feature should be enabled by defining WX_USE_AUTOTRANS, if it's not
-// done no automatic translation is performed
-#if USE_AUTOTRANS
- class WXDLLEXPORT wxTString
- {
- public:
- // NB: different ctors do different things!
- // does translation
- wxTString(const char *sz) : m_pcsz(wxGetTranslation(sz)) { }
- // no translation
- wxTString(const wxString& s) : m_pcsz(s) { }
-
- // NB: no copy ctor, it must be a POD so that we can pass it
- // to vararg functions (and it's not needed anyhow)
-
- // implicit conversion
- operator const char *() const { return m_pcsz; }
-
- private:
- const char *m_pcsz;
- };
-#else //!USE_AUTOTRANS
- #define wxTString wxString
-#endif //USE_AUTOTRANS
-
-#define TRANSSTRING_DEFINED
-
// ----------------------------------------------------------------------------
-// inline functions
+// global functions
// ----------------------------------------------------------------------------
+WXDLLEXPORT wxLocale* wxGetLocale();
// get the translation of the string in the current locale
inline const char *wxGetTranslation(const char *sz)
{
wxLocale *pLoc = wxGetLocale();
- return pLoc == NULL ? sz : pLoc->GetString(sz);
+ return pLoc == (wxLocale *) NULL ? sz : pLoc->GetString(sz);
}
#endif
- // __INTLH__
+ // _WX_INTLH__