1
////////////////////////////////////////////////////////////////////////////
2
// NoteCase notes manager project <http://notecase.sf.net>
4
// This code is licensed under BSD license.See "license.txt" for more details.
6
// File: Class for handling internationalisation issues (message catalogs)
7
////////////////////////////////////////////////////////////////////////////
9
#ifndef GUILANGUAGE_H__
10
#define GUILANGUAGE_H__
14
#endif // _MSC_VER > 1000
17
#pragma warning (disable: 4786)
21
#include <locale.h> //LC_ALL
26
GuiLanguage(const char *szPackage, const char *szLocaleDir, const char *szSourceISO = NULL);
27
virtual ~GuiLanguage();
30
void Initialize(const char *szIsoCode);
32
std::string GetCurLanguage(){ return m_strCurLang; }
33
int GetCatalogCount(){ return m_lstCatalogs.size(); };
34
std::string GetCatalogAt(int nIdx){ return m_lstCatalogs[nIdx]; };
36
int GetLocaleIdx(const char *szLocale);
37
bool IsLocaleAvailable(const char *szLocale);
39
int GetLocaleTableIdx(const char *locale);
40
const char *GetLocale();
42
static const char *GetLangName(const char *locale);
43
static const char *GetLocaleCode(const char *szLocale);
44
static const char *QueryLocale(int category = LC_ALL);
47
void ListAvailableCatalogs();
50
std::string m_strPackage; //usually program name
51
std::string m_strLocaleDir; //directory where to keep localisations (message catalogs)
52
std::string m_strCurLang; //current language ISO code ("en","hr",...)
53
std::string m_strDefaultISO; //ISO code of language used within source code ("en","hr",...)
55
std::vector<std::string> m_lstCatalogs; //list of available locales
58
#endif // GUILANGUAGE_H__
1
////////////////////////////////////////////////////////////////////////////
2
// NoteCase notes manager project <http://notecase.sf.net>
4
// This code is licensed under BSD license.See "license.txt" for more details.
6
// File: Class for handling internationalisation issues (message catalogs)
7
////////////////////////////////////////////////////////////////////////////
9
#ifndef GUILANGUAGE_H__
10
#define GUILANGUAGE_H__
14
#endif // _MSC_VER > 1000
17
#pragma warning (disable: 4786)
22
#include <locale.h> //LC_ALL
27
GuiLanguage(const char *szPackage, const char *szLocaleDir, const char *szSourceISO = NULL);
28
virtual ~GuiLanguage();
31
void Initialize(const char *szIsoCode);
33
std::string GetCurLanguage(){ return m_strCurLang; }
34
int GetCatalogCount(){ return m_lstCatalogs.size(); };
35
std::string GetCatalogAt(int nIdx){ return m_lstCatalogs[nIdx]; };
38
int GetLocaleIdx(const char *szLocale);
39
bool IsLocaleAvailable(const char *szLocale);
41
int GetLocaleTableIdx(const char *locale);
42
const char *GetLocale();
44
static const char *GetLangName(const char *locale);
45
static const char *GetLocaleCode(const char *szLocale);
46
static const char *QueryLocale(int category = LC_ALL);
48
void ListAvailableCatalogs();
51
std::string m_strPackage; //usually program name
52
std::string m_strLocaleDir; //directory where to keep localisations (message catalogs)
53
std::string m_strCurLang; //current language ISO code ("en","hr",...)
54
std::string m_strDefaultISO; //ISO code of language used within source code ("en","hr",...)
56
std::vector<std::string> m_lstCatalogs; //list of available locales
57
bool m_bCatalogsListed;
61
#endif // GUILANGUAGE_H__