Add support for translations and update translations
This commit is contained in:
@@ -46,11 +46,14 @@ QColor wxUI::categoryColors[MAX_CATEGORY] = {QColor(0x00, 0x45, 0x86),
|
||||
QColor(0x00, 0x84, 0xD1)};
|
||||
|
||||
wxUI::wxUI(KissCount* kiss, const QString& title)
|
||||
: QFrame(0), _kiss(kiss), _signalMapper(this),
|
||||
_curPanel(0), _locale(0), _needReload(false)
|
||||
: QFrame(0), _language(SupportedLanguages::languages[SupportedLanguages::English].name),
|
||||
_kiss(kiss), _signalMapper(this), _curPanel(0), _locale(0),
|
||||
_needReload(false)
|
||||
{
|
||||
QPushButton* button;
|
||||
|
||||
SetLanguage("");
|
||||
|
||||
setWindowTitle(title);
|
||||
|
||||
connect(&_signalMapper, SIGNAL(mapped(int)), this, SLOT(OnButtonClicked(int)));
|
||||
@@ -93,41 +96,60 @@ wxUI::~wxUI()
|
||||
bool wxUI::SetLanguage(QString language)
|
||||
{
|
||||
bool res = true;
|
||||
int i;
|
||||
|
||||
// if (_locale) delete _locale;
|
||||
// _locale = 0;
|
||||
if (_locale)
|
||||
{
|
||||
if (language == _language) return true;
|
||||
}
|
||||
|
||||
// // load language if possible, fall back to english otherwise
|
||||
// if(wxLocale::IsAvailable(language))
|
||||
// {
|
||||
// _locale = new wxLocale( language, wxLOCALE_CONV_ENCODING );
|
||||
|
||||
// #ifdef __WXGTK__
|
||||
// _locale->AddCatalogLookupPathPrefix(wxT(LANG_ROOT));
|
||||
// #endif
|
||||
|
||||
// _locale->AddCatalog(wxT("frenchpp"));
|
||||
// _locale->AddCatalog(wxT("kisscount"));
|
||||
if (language == "")
|
||||
{
|
||||
QLocale default_locale = QLocale::system();
|
||||
|
||||
// _language = (wxLanguage) language;
|
||||
// }
|
||||
for(i=0; i<SupportedLanguages::NB_SUPPORTED_LANGUAGES; i++)
|
||||
{
|
||||
if (default_locale.language() == SupportedLanguages::languages[i].language)
|
||||
break;
|
||||
}
|
||||
if (i == SupportedLanguages::NB_SUPPORTED_LANGUAGES)
|
||||
i = SupportedLanguages::English;
|
||||
language = SupportedLanguages::languages[i].name;
|
||||
}
|
||||
else
|
||||
{
|
||||
for(i=0; i<SupportedLanguages::NB_SUPPORTED_LANGUAGES; i++)
|
||||
{
|
||||
if (language == SupportedLanguages::languages[i].name)
|
||||
break;
|
||||
}
|
||||
if (i == SupportedLanguages::NB_SUPPORTED_LANGUAGES)
|
||||
return false;
|
||||
}
|
||||
|
||||
// if (_locale == 0 || !_locale->IsOk())
|
||||
// {
|
||||
// if (_locale) delete _locale;
|
||||
// _locale = new wxLocale();
|
||||
if (_locale)
|
||||
{
|
||||
delete _locale;
|
||||
_kiss->removeTranslator(&_translator);
|
||||
}
|
||||
|
||||
if (i != SupportedLanguages::English)
|
||||
{
|
||||
if (!_translator.load(SupportedLanguages::languages[i].filename, RESSOURCES_ROOT "po"))
|
||||
{
|
||||
i = SupportedLanguages::English;
|
||||
_translator.load(SupportedLanguages::languages[i].filename, RESSOURCES_ROOT "po");
|
||||
_language = SupportedLanguages::languages[i].name;
|
||||
res = false;
|
||||
}
|
||||
|
||||
// #ifdef __WXGTK__
|
||||
// _locale->AddCatalogLookupPathPrefix(wxT(LANG_ROOT));
|
||||
// #endif
|
||||
_kiss->installTranslator(&_translator);
|
||||
}
|
||||
|
||||
// _locale->AddCatalog(wxT("kisscount"));
|
||||
|
||||
// _language = wxLANGUAGE_ENGLISH;
|
||||
// res = false;
|
||||
// }
|
||||
_language = SupportedLanguages::languages[i].language;
|
||||
|
||||
_language = language;
|
||||
_locale = new QLocale(SupportedLanguages::languages[i].language);
|
||||
QLocale::setDefault(*_locale);
|
||||
|
||||
months[0] = _("january");
|
||||
months[1] = _("february");
|
||||
|
||||
Reference in New Issue
Block a user