]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/intl.h
Fix/hack 1.
[wxWidgets.git] / include / wx / intl.h
index a4468a948c13103ea5128c5ed0301594587bd8fe..aaf724eacd020d25e8a3069802ec1c6ae4686bdc 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        intl.h
+// Name:        wx/intl.h
 // Purpose:     Internationalization and localisation for wxWindows
 // Author:      Vadim Zeitlin
 // Modified by:
@@ -55,17 +55,17 @@ class WXDLLEXPORT wxLanguageInfoArray;
 // wxLanguage: defines all supported languages
 // ----------------------------------------------------------------------------
 
+// --- --- --- generated code begins here --- --- ---
 
 // This enum is generated by misc/languages/genlang.py
 // When making changes, please put them into misc/languages/langtabl.txt
 enum wxLanguage
 {
     // user's default/preffered language as got from OS:
-    wxLANGUAGE_DEFAULT, 
-
+    wxLANGUAGE_DEFAULT,
     // unknown language, if wxLocale::GetSystemLanguage fails:
-    wxLANGUAGE_UNKNOWN, 
-    
+    wxLANGUAGE_UNKNOWN,
+
     wxLANGUAGE_ABKHAZIAN,
     wxLANGUAGE_AFAR,
     wxLANGUAGE_AFRIKAANS,
@@ -299,6 +299,10 @@ enum wxLanguage
     wxLANGUAGE_USER_DEFINED
 };
 
+// --- --- --- generated code ends here --- --- ---
+
+
+
 // ----------------------------------------------------------------------------
 // wxLanguageInfo: encapsulates wxLanguage to OS native lang.desc.
 //                 translation information
@@ -340,9 +344,8 @@ public:
              const wxChar *szLocale = (const wxChar *) NULL,     // locale (for setlocale)
              bool bLoadDefault = TRUE,                           // preload wxstd.mo?
              bool bConvertEncoding = FALSE)                      // convert Win<->Unix if neccessary?
-        { 
-            m_languagesDB = NULL;
-            Init(szName, szShort, szLocale, bLoadDefault, bConvertEncoding); 
+        {
+            Init(szName, szShort, szLocale, bLoadDefault, bConvertEncoding);
         }
 
     wxLocale(int language, // wxLanguage id or custom language
@@ -362,28 +365,28 @@ public:
 
         // restores old locale
     ~wxLocale();
-    
+
     // Try to get user's (or OS's) prefered language setting.
     // Return wxLANGUAGE_UNKNOWN if language-guessing algorithm failed
-    int GetSystemLanguage() const;
+    static int GetSystemLanguage();
 
     // 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; }
-    
+
     // return current locale wxLanguage value
     int GetLanguage() const { return m_language; }
 
-    // return locale name to be passed to setlocale()    
+    // return locale name to be passed to setlocale()
     wxString GetSysName() const;
 
-    // return 'canonical' name, i.e. in the form of xx[_YY], where xx is 
+    // return 'canonical' name, i.e. in the form of xx[_YY], where xx is
     // language code according to ISO 639 and YY is country name
     // as specified by ISO 3166.
     wxString GetCanonicalName() const { return m_strShort; }
-    
+
     // 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).
@@ -402,11 +405,11 @@ public:
 
     // check if the given catalog is loaded
     bool IsLoaded(const wxChar *szDomain) const;
-    
+
     // Add custom language to the list of known languages.
     // Notes: 1) wxLanguageInfo contains platform-specific data
     //        2) must be called before Init to have effect
-    void AddLanguage(const wxLanguageInfo& info);
+    static void AddLanguage(const wxLanguageInfo& info);
 
     // retrieve the translation for a string in all loaded domains unless
     // the szDomain parameter is specified (and then only this domain is
@@ -424,13 +427,19 @@ public:
     // Returns the current short name for the locale
     const wxString& GetName() const { return m_strShort; }
 
+    // These two methods are for internal use only. First one creates
+    // ms_languagesDB if it doesn't already exist, second one destroys
+    // it.
+    static void CreateLanguagesDB();
+    static void DestroyLanguagesDB();
+
 private:
     // find catalog by name in a linked list, return NULL if !found
     wxMsgCatalog  *FindCatalog(const wxChar *szDomain) const;
-    
+
     // copy default table of languages from global static array to
-    // m_langugagesInfo    
-    void InitLanguagesDB();
+    // m_langugagesInfo, called by InitLanguagesDB
+    static void InitLanguagesDB();
 
     wxString       m_strLocale,       // this locale name
                    m_strShort;        // short name for the locale
@@ -440,10 +449,10 @@ private:
     wxLocale      *m_pOldLocale;      // previous wxLocale
 
     wxMsgCatalog  *m_pMsgCat;         // pointer to linked list of catalogs
-    
+
     bool           m_bConvertEncoding;
 
-    wxLanguageInfoArray *m_languagesDB;
+    static wxLanguageInfoArray *ms_languagesDB;
 };
 
 // ----------------------------------------------------------------------------