Note that you can call this function only if you used the form of
\helpref{Init}{wxlocaleinit} that takes wxLanguage argument.
+\membersection{wxLocale::GetLanguageInfo}\label{wxlocalegetlanguageinfo}
+
+\constfunc{static wxLanguageInfo *}{GetLanguageInfo}{\param{int }{lang}}
+
+Returns a pointer to wxLanguageInfo structure containing information about the
+given language or {\tt NULL} if this language is unknown. Note that even if the
+returned pointer is valid, the caller should {\it not} delete it.
+
+See \helpref{AddLanguage}{wxlocaleaddlanguage} for the wxLanguageInfo
+description.
+
\membersection{wxLocale::GetLocale}\label{wxlocalegetlocale}
// check if the given catalog is loaded
bool IsLoaded(const wxChar *szDomain) const;
+ // Retrieve the language info struct for the given language
+ //
+ // Returns NULL if no info found, pointer must *not* be deleted by caller
+ static const wxLanguageInfo *GetLanguageInfo(int lang);
+
// 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
bool wxLocale::Init(int language, int flags)
{
- wxLanguageInfo *info = NULL;
int lang = language;
-
- CreateLanguagesDB();
-
if (lang == wxLANGUAGE_DEFAULT)
{
// auto detect the language
return FALSE;
}
- if (lang != wxLANGUAGE_DEFAULT)
- {
- for (size_t i = 0; i < ms_languagesDB->GetCount(); i++)
- {
- if (ms_languagesDB->Item(i).Language == lang)
- {
- info = &ms_languagesDB->Item(i);
- break;
- }
- }
- }
+ const wxLanguageInfo *info = GetLanguageInfo(lang);
// Unknown language:
if (info == NULL)
return wxFONTENCODING_SYSTEM;
}
-/*static*/ void wxLocale::AddLanguage(const wxLanguageInfo& info)
+/* static */
+void wxLocale::AddLanguage(const wxLanguageInfo& info)
{
CreateLanguagesDB();
ms_languagesDB->Add(info);
}
+/* static */
+const wxLanguageInfo *wxLocale::GetLanguageInfo(int lang)
+{
+ CreateLanguagesDB();
+
+ size_t count = ms_languagesDB->GetCount();
+ for ( size_t i = 0; i < count; i++ )
+ {
+ if ( ms_languagesDB->Item(i).Language == lang )
+ {
+ return &ms_languagesDB->Item(i);
+ }
+ }
+
+ return NULL;
+}
+
wxString wxLocale::GetSysName() const
{
return wxSetlocale(LC_ALL, NULL);
wxLanguageInfo info;
wxStringTokenizer tkn;
- LNG(wxLANGUAGE_ABKHAZIAN, "ab" , 0 , 0 , "Abkhazian")
+ LNG(wxLANGUAGE_ABKHAZIAN, "ab" , 0 , 0 , "Abkhazian")
LNG(wxLANGUAGE_AFAR, "aa" , 0 , 0 , "Afar")
LNG(wxLANGUAGE_AFRIKAANS, "af_ZA", LANG_AFRIKAANS , SUBLANG_DEFAULT , "Afrikaans")
LNG(wxLANGUAGE_ALBANIAN, "sq_AL", LANG_ALBANIAN , SUBLANG_DEFAULT , "Albanian")