// ----------------------------------------------------------------------------
// # adjust if necessary
-typedef unsigned char uint8;
-typedef unsigned long uint32;
+typedef unsigned char size_t8;
+typedef unsigned long size_t32;
// ----------------------------------------------------------------------------
// macros
// ----------------------------------------------------------------------------
// gettext() style macro
+#ifndef WXINTL_NO_GETTEXT_MACRO
#define _(str) wxGetTranslation(str)
+#endif
// ----------------------------------------------------------------------------
// forward decls
{
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?
+ 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();
// returns locale name
const char *GetLocale() const { return m_strLocale; }
+ // add a prefix to the catalog lookup path: the message catalog files will be
+ // looked up under prefix/<lang>/LC_MESSAGES, prefix/LC_MESSAGES and prefix
+ // (in this order).
+ //
+ // This only applies to subsequent invocations of AddCatalog()!
+ static void AddCatalogLookupPathPrefix(const wxString& prefix);
+
// add a catalog: it's searched for in standard places (current directory
- // first, system one after). It will be used for message lookup by
- // GetString().
+ // first, system one after), but the you may prepend additional directories to
+ // the search path with AddCatalogLookupPathPrefix().
+ //
+ // The loaded catalog will be used for message lookup by GetString().
//
// Returns 'true' if it was successfully loaded
bool AddCatalog(const char *szDomain);
// 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:
+ // Returns the current short name for the locale
+ wxString const &GetName() const { return m_strShort; }
+ private:
// find catalog by name in a linked list, return NULL if !found
wxMsgCatalog *FindCatalog(const char *szDomain) const;
// ----------------------------------------------------------------------------
// global functions
// ----------------------------------------------------------------------------
-
WXDLLEXPORT wxLocale* wxGetLocale();
// get the translation of the string in the current locale
-inline WXDLLEXPORT const char *wxGetTranslation(const char *sz)
+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__