25 #include <QCoreApplication>    35 #define BLACKLIST QStringLiteral("SetLanguageCode,LanguageSettingChanged")    60     m_languageSetting(nullptr), 
    67     QCoreApplication::installTranslator(&m_translator);
    69     LOG(VB_GENERAL, LOG_INFO, QStringLiteral(
"System language: %1 (%2) (%3)(env - %4)")
    70         .arg(QLocale::languageToString(m_locale.language()), QLocale::countryToString(m_locale.country()),
    71              m_locale.name(), QString(qgetenv(QByteArrayLiteral(
"LANG").constData()))));
    75     InitialiseTranslations();
    76     QString language = m_locale.name(); 
    77     if (language.isEmpty())
    78         language = QStringLiteral(
"en_GB");
    82     QVariantMap selections;
    83     foreach (QLocale locale, m_languages)
    84         selections.insert(locale.name(), locale.nativeLanguageName());
    92     QCoreApplication::removeTranslator(&m_translator);
    93     m_languageSetting->
Remove();
    99     LOG(VB_GENERAL, LOG_ALERT, QStringLiteral(
"Language setting changed to '%1' - restarting").arg(Language));
   105     return tr(
"Languages");
   116     QLocale locale(Language);
   117     if (m_locale == locale)
   119         LOG(VB_GENERAL, LOG_INFO, QStringLiteral(
"Requested language already set - ignoring"));
   124     if (!m_languages.contains(locale))
   126         LOG(VB_GENERAL, LOG_INFO, QStringLiteral(
"Requested language (%1) not available - ignoring").arg(Language));
   135     LOG(VB_GENERAL, LOG_INFO, QStringLiteral(
"Language changed: %1 (%2) (%3)(env - %4)")
   136         .arg(QLocale::languageToString(m_locale.language()), QLocale::countryToString(m_locale.country()),
   137              m_locale.name(), QString(qgetenv(QByteArrayLiteral(
"LANG").constData()))));
   144     QString filename = QStringLiteral(
"torc_%1.qm").arg(m_locale.name());
   146         LOG(VB_GENERAL, LOG_ERR, QStringLiteral(
"Failed to load translation file '%1' from '%2'").arg(filename, 
GetTorcTransDir()));
   174     return QCoreApplication::translate(Context.toUtf8().constData(), String.toUtf8().constData(),
   175                                        Disambiguation.toUtf8().constData(), Number);
   187         return Empty ? QStringLiteral(
"") : QStringLiteral(
"Unknown");
   189     return QLocale::languageToString(Language);
   201     QString language = Code.toLower();
   203     if (language.size() == 2)
   205         QLocale locale(Code);
   206         return locale.language();
   221     QString language = Code.toLower();
   223     if (language.size() == 3)
   225         QMap<QString,int>::const_iterator it = 
gLanguageMap.constFind(language);
   227             return (QLocale::Language)it.value();
   233 void TorcLanguage::InitialiseTranslations(
void)
   240     QStringList files = directory.entryList(QStringList(QStringLiteral(
"torc_*.qm")),
   241                                             QDir::Files | QDir::Readable | QDir::NoSymLinks | QDir::NoDotAndDotDot,
   245     LOG(VB_GENERAL, LOG_INFO, QStringLiteral(
"Found %1 translations").arg(files.size()));
   246     foreach (QString file, files)
   249         m_languages.append(QLocale(file.mid(5)));
   259 void TorcLanguage::Initialise(
void)
   261     static bool initialised = 
false;
   268     gLanguageMap.insert(QStringLiteral(
"aar"), QLocale::Afar);
   269     gLanguageMap.insert(QStringLiteral(
"abk"), QLocale::Abkhazian);
   270     gLanguageMap.insert(QStringLiteral(
"afr"), QLocale::Afrikaans);
   271     gLanguageMap.insert(QStringLiteral(
"aka"), QLocale::Akan);
   272     gLanguageMap.insert(QStringLiteral(
"alb"), QLocale::Albanian);
   273     gLanguageMap.insert(QStringLiteral(
"amh"), QLocale::Amharic);
   274     gLanguageMap.insert(QStringLiteral(
"ara"), QLocale::Arabic);
   275     gLanguageMap.insert(QStringLiteral(
"arm"), QLocale::Armenian);
   276     gLanguageMap.insert(QStringLiteral(
"asm"), QLocale::Assamese);
   277     gLanguageMap.insert(QStringLiteral(
"aym"), QLocale::Aymara);
   278     gLanguageMap.insert(QStringLiteral(
"aze"), QLocale::Azerbaijani);
   279     gLanguageMap.insert(QStringLiteral(
"bak"), QLocale::Bashkir);
   280     gLanguageMap.insert(QStringLiteral(
"bam"), QLocale::Bambara);
   281     gLanguageMap.insert(QStringLiteral(
"baq"), QLocale::Basque);
   282     gLanguageMap.insert(QStringLiteral(
"bel"), QLocale::Byelorussian);
   283     gLanguageMap.insert(QStringLiteral(
"ben"), QLocale::Bengali);
   284     gLanguageMap.insert(QStringLiteral(
"bih"), QLocale::Bihari);
   285     gLanguageMap.insert(QStringLiteral(
"bis"), QLocale::Bislama);
   286     gLanguageMap.insert(QStringLiteral(
"bos"), QLocale::Bosnian);
   287     gLanguageMap.insert(QStringLiteral(
"bre"), QLocale::Breton);
   288     gLanguageMap.insert(QStringLiteral(
"bul"), QLocale::Bulgarian);
   289     gLanguageMap.insert(QStringLiteral(
"bur"), QLocale::Burmese);
   290     gLanguageMap.insert(QStringLiteral(
"byn"), QLocale::Blin);
   291     gLanguageMap.insert(QStringLiteral(
"cat"), QLocale::Catalan);
   292     gLanguageMap.insert(QStringLiteral(
"cch"), QLocale::Atsam);
   293     gLanguageMap.insert(QStringLiteral(
"chi"), QLocale::Chinese);
   294     gLanguageMap.insert(QStringLiteral(
"cor"), QLocale::Cornish);
   295     gLanguageMap.insert(QStringLiteral(
"cos"), QLocale::Corsican);
   296     gLanguageMap.insert(QStringLiteral(
"cze"), QLocale::Czech);
   297     gLanguageMap.insert(QStringLiteral(
"dan"), QLocale::Danish);
   298     gLanguageMap.insert(QStringLiteral(
"div"), QLocale::Divehi);
   299     gLanguageMap.insert(QStringLiteral(
"dut"), QLocale::Dutch);
   300     gLanguageMap.insert(QStringLiteral(
"dzo"), QLocale::Bhutani);
   301     gLanguageMap.insert(QStringLiteral(
"eng"), QLocale::English);
   302     gLanguageMap.insert(QStringLiteral(
"epo"), QLocale::Esperanto);
   303     gLanguageMap.insert(QStringLiteral(
"est"), QLocale::Estonian);
   304     gLanguageMap.insert(QStringLiteral(
"ewe"), QLocale::Ewe);
   305     gLanguageMap.insert(QStringLiteral(
"fao"), QLocale::Faroese);
   306     gLanguageMap.insert(QStringLiteral(
"fil"), QLocale::Filipino);
   307     gLanguageMap.insert(QStringLiteral(
"fin"), QLocale::Finnish);
   308     gLanguageMap.insert(QStringLiteral(
"fre"), QLocale::French);
   309     gLanguageMap.insert(QStringLiteral(
"fry"), QLocale::Frisian);
   310     gLanguageMap.insert(QStringLiteral(
"ful"), QLocale::Fulah);
   311     gLanguageMap.insert(QStringLiteral(
"fur"), QLocale::Friulian);
   312     gLanguageMap.insert(QStringLiteral(
"gaa"), QLocale::Ga);
   313     gLanguageMap.insert(QStringLiteral(
"geo"), QLocale::Georgian);
   314     gLanguageMap.insert(QStringLiteral(
"ger"), QLocale::German);
   315     gLanguageMap.insert(QStringLiteral(
"gez"), QLocale::Geez);
   316     gLanguageMap.insert(QStringLiteral(
"gla"), QLocale::Gaelic);
   317     gLanguageMap.insert(QStringLiteral(
"gle"), QLocale::Irish);
   318     gLanguageMap.insert(QStringLiteral(
"glg"), QLocale::Galician);
   319     gLanguageMap.insert(QStringLiteral(
"glv"), QLocale::Manx);
   320     gLanguageMap.insert(QStringLiteral(
"gre"), QLocale::Greek);
   321     gLanguageMap.insert(QStringLiteral(
"grn"), QLocale::Guarani);
   322     gLanguageMap.insert(QStringLiteral(
"guj"), QLocale::Gujarati);
   323     gLanguageMap.insert(QStringLiteral(
"hau"), QLocale::Hausa);
   324     gLanguageMap.insert(QStringLiteral(
"haw"), QLocale::Hawaiian);
   325     gLanguageMap.insert(QStringLiteral(
"hbs"), QLocale::SerboCroatian);
   326     gLanguageMap.insert(QStringLiteral(
"heb"), QLocale::Hebrew);
   327     gLanguageMap.insert(QStringLiteral(
"hin"), QLocale::Hindi);
   328     gLanguageMap.insert(QStringLiteral(
"hun"), QLocale::Hungarian);
   329     gLanguageMap.insert(QStringLiteral(
"ibo"), QLocale::Igbo);
   330     gLanguageMap.insert(QStringLiteral(
"ice"), QLocale::Icelandic);
   331     gLanguageMap.insert(QStringLiteral(
"iii"), QLocale::SichuanYi);
   332     gLanguageMap.insert(QStringLiteral(
"iku"), QLocale::Inuktitut);
   333     gLanguageMap.insert(QStringLiteral(
"ile"), QLocale::Interlingue);
   334     gLanguageMap.insert(QStringLiteral(
"ina"), QLocale::Interlingua);
   335     gLanguageMap.insert(QStringLiteral(
"ind"), QLocale::Indonesian);
   336     gLanguageMap.insert(QStringLiteral(
"ipk"), QLocale::Inupiak);
   337     gLanguageMap.insert(QStringLiteral(
"ita"), QLocale::Italian);
   338     gLanguageMap.insert(QStringLiteral(
"jav"), QLocale::Javanese);
   339     gLanguageMap.insert(QStringLiteral(
"jpn"), QLocale::Japanese);
   340     gLanguageMap.insert(QStringLiteral(
"kaj"), QLocale::Jju);
   341     gLanguageMap.insert(QStringLiteral(
"kal"), QLocale::Greenlandic);
   342     gLanguageMap.insert(QStringLiteral(
"kan"), QLocale::Kannada);
   343     gLanguageMap.insert(QStringLiteral(
"kam"), QLocale::Kamba);
   344     gLanguageMap.insert(QStringLiteral(
"kas"), QLocale::Kashmiri);
   345     gLanguageMap.insert(QStringLiteral(
"kaz"), QLocale::Kazakh);
   346     gLanguageMap.insert(QStringLiteral(
"kcg"), QLocale::Tyap);
   347     gLanguageMap.insert(QStringLiteral(
"kfo"), QLocale::Koro);
   348     gLanguageMap.insert(QStringLiteral(
"khm"), QLocale::Cambodian);
   349     gLanguageMap.insert(QStringLiteral(
"kik"), QLocale::Kikuyu);
   350     gLanguageMap.insert(QStringLiteral(
"kin"), QLocale::Kinyarwanda);
   351     gLanguageMap.insert(QStringLiteral(
"kir"), QLocale::Kirghiz);
   352     gLanguageMap.insert(QStringLiteral(
"kok"), QLocale::Konkani);
   353     gLanguageMap.insert(QStringLiteral(
"kor"), QLocale::Korean);
   354     gLanguageMap.insert(QStringLiteral(
"kpe"), QLocale::Kpelle);
   355     gLanguageMap.insert(QStringLiteral(
"kur"), QLocale::Kurdish);
   356     gLanguageMap.insert(QStringLiteral(
"lat"), QLocale::Latin);
   357     gLanguageMap.insert(QStringLiteral(
"lav"), QLocale::Latvian);
   358     gLanguageMap.insert(QStringLiteral(
"lin"), QLocale::Lingala);
   359     gLanguageMap.insert(QStringLiteral(
"lit"), QLocale::Lithuanian);
   360     gLanguageMap.insert(QStringLiteral(
"lug"), QLocale::Ganda);
   361     gLanguageMap.insert(QStringLiteral(
"mac"), QLocale::Macedonian);
   362     gLanguageMap.insert(QStringLiteral(
"mal"), QLocale::Malayalam);
   363     gLanguageMap.insert(QStringLiteral(
"mao"), QLocale::Maori);
   364     gLanguageMap.insert(QStringLiteral(
"mar"), QLocale::Marathi);
   365     gLanguageMap.insert(QStringLiteral(
"may"), QLocale::Malay);
   366     gLanguageMap.insert(QStringLiteral(
"mlg"), QLocale::Malagasy);
   367     gLanguageMap.insert(QStringLiteral(
"mlt"), QLocale::Maltese);
   368     gLanguageMap.insert(QStringLiteral(
"mol"), QLocale::Moldavian);
   369     gLanguageMap.insert(QStringLiteral(
"mon"), QLocale::Mongolian);
   370     gLanguageMap.insert(QStringLiteral(
"nau"), QLocale::NauruLanguage);
   371     gLanguageMap.insert(QStringLiteral(
"nbl"), QLocale::SouthNdebele);
   372     gLanguageMap.insert(QStringLiteral(
"nde"), QLocale::NorthNdebele);
   373     gLanguageMap.insert(QStringLiteral(
"nds"), QLocale::LowGerman);
   374     gLanguageMap.insert(QStringLiteral(
"nep"), QLocale::Nepali);
   375     gLanguageMap.insert(QStringLiteral(
"nno"), QLocale::NorwegianNynorsk);
   376     gLanguageMap.insert(QStringLiteral(
"nob"), QLocale::NorwegianBokmal);
   377     gLanguageMap.insert(QStringLiteral(
"nor"), QLocale::Norwegian);
   378     gLanguageMap.insert(QStringLiteral(
"nya"), QLocale::Chewa);
   379     gLanguageMap.insert(QStringLiteral(
"oci"), QLocale::Occitan);
   380     gLanguageMap.insert(QStringLiteral(
"ori"), QLocale::Oriya);
   381     gLanguageMap.insert(QStringLiteral(
"orm"), QLocale::Afan);
   382     gLanguageMap.insert(QStringLiteral(
"pan"), QLocale::Punjabi);
   383     gLanguageMap.insert(QStringLiteral(
"per"), QLocale::Persian);
   384     gLanguageMap.insert(QStringLiteral(
"pol"), QLocale::Polish);
   385     gLanguageMap.insert(QStringLiteral(
"por"), QLocale::Portuguese);
   386     gLanguageMap.insert(QStringLiteral(
"pus"), QLocale::Pashto);
   387     gLanguageMap.insert(QStringLiteral(
"que"), QLocale::Quechua);
   388     gLanguageMap.insert(QStringLiteral(
"roh"), QLocale::RhaetoRomance);
   389     gLanguageMap.insert(QStringLiteral(
"rum"), QLocale::Romanian);
   390     gLanguageMap.insert(QStringLiteral(
"run"), QLocale::Kurundi);
   391     gLanguageMap.insert(QStringLiteral(
"rus"), QLocale::Russian);
   392     gLanguageMap.insert(QStringLiteral(
"san"), QLocale::Sanskrit);
   393     gLanguageMap.insert(QStringLiteral(
"scc"), QLocale::Serbian);
   394     gLanguageMap.insert(QStringLiteral(
"scr"), QLocale::Croatian);
   395     gLanguageMap.insert(QStringLiteral(
"sid"), QLocale::Sidamo);
   396     gLanguageMap.insert(QStringLiteral(
"slo"), QLocale::Slovak);
   397     gLanguageMap.insert(QStringLiteral(
"slv"), QLocale::Slovenian);
   398     gLanguageMap.insert(QStringLiteral(
"syr"), QLocale::Syriac);
   399     gLanguageMap.insert(QStringLiteral(
"sme"), QLocale::NorthernSami);
   400     gLanguageMap.insert(QStringLiteral(
"smo"), QLocale::Samoan);
   401     gLanguageMap.insert(QStringLiteral(
"sna"), QLocale::Shona);
   402     gLanguageMap.insert(QStringLiteral(
"snd"), QLocale::Sindhi);
   403     gLanguageMap.insert(QStringLiteral(
"som"), QLocale::Somali);
   404     gLanguageMap.insert(QStringLiteral(
"spa"), QLocale::Spanish);
   405     gLanguageMap.insert(QStringLiteral(
"sun"), QLocale::Sundanese);
   406     gLanguageMap.insert(QStringLiteral(
"swa"), QLocale::Swahili);
   407     gLanguageMap.insert(QStringLiteral(
"swe"), QLocale::Swedish);
   408     gLanguageMap.insert(QStringLiteral(
"tam"), QLocale::Tamil);
   409     gLanguageMap.insert(QStringLiteral(
"tat"), QLocale::Tatar);
   410     gLanguageMap.insert(QStringLiteral(
"tel"), QLocale::Telugu);
   411     gLanguageMap.insert(QStringLiteral(
"tgk"), QLocale::Tajik);
   412     gLanguageMap.insert(QStringLiteral(
"tgl"), QLocale::Tagalog);
   413     gLanguageMap.insert(QStringLiteral(
"tha"), QLocale::Thai);
   414     gLanguageMap.insert(QStringLiteral(
"tib"), QLocale::Tibetan);
   415     gLanguageMap.insert(QStringLiteral(
"tig"), QLocale::Tigre);
   416     gLanguageMap.insert(QStringLiteral(
"tir"), QLocale::Tigrinya);
   417     gLanguageMap.insert(QStringLiteral(
"tso"), QLocale::Tsonga);
   418     gLanguageMap.insert(QStringLiteral(
"tuk"), QLocale::Turkmen);
   419     gLanguageMap.insert(QStringLiteral(
"tur"), QLocale::Turkish);
   420     gLanguageMap.insert(QStringLiteral(
"twi"), QLocale::Twi);
   421     gLanguageMap.insert(QStringLiteral(
"uig"), QLocale::Uigur);
   422     gLanguageMap.insert(QStringLiteral(
"ukr"), QLocale::Ukrainian);
   423     gLanguageMap.insert(QStringLiteral(
"urd"), QLocale::Urdu);
   424     gLanguageMap.insert(QStringLiteral(
"uzb"), QLocale::Uzbek);
   425     gLanguageMap.insert(QStringLiteral(
"ven"), QLocale::Venda);
   426     gLanguageMap.insert(QStringLiteral(
"vie"), QLocale::Vietnamese);
   427     gLanguageMap.insert(QStringLiteral(
"vol"), QLocale::Volapuk);
   428     gLanguageMap.insert(QStringLiteral(
"wal"), QLocale::Walamo);
   429     gLanguageMap.insert(QStringLiteral(
"wel"), QLocale::Welsh);
   430     gLanguageMap.insert(QStringLiteral(
"wol"), QLocale::Wolof);
   431     gLanguageMap.insert(QStringLiteral(
"xho"), QLocale::Xhosa);
   432     gLanguageMap.insert(QStringLiteral(
"yid"), QLocale::Yiddish);
   433     gLanguageMap.insert(QStringLiteral(
"yor"), QLocale::Yoruba);
   434     gLanguageMap.insert(QStringLiteral(
"zha"), QLocale::Zhuang);
   435     gLanguageMap.insert(QStringLiteral(
"zul"), QLocale::Zulu);
   437     gLanguageMap.insert(QStringLiteral(
"sqi"), QLocale::Albanian);
   438     gLanguageMap.insert(QStringLiteral(
"hye"), QLocale::Armenian);
   439     gLanguageMap.insert(QStringLiteral(
"eus"), QLocale::Basque);
   440     gLanguageMap.insert(QStringLiteral(
"mya"), QLocale::Burmese);
   441     gLanguageMap.insert(QStringLiteral(
"zho"), QLocale::Chinese);
   442     gLanguageMap.insert(QStringLiteral(
"ces"), QLocale::Czech);
   443     gLanguageMap.insert(QStringLiteral(
"nld"), QLocale::Dutch);
   444     gLanguageMap.insert(QStringLiteral(
"fra"), QLocale::French);
   445     gLanguageMap.insert(QStringLiteral(
"kat"), QLocale::Georgian);
   446     gLanguageMap.insert(QStringLiteral(
"deu"), QLocale::German);
   447     gLanguageMap.insert(QStringLiteral(
"ell"), QLocale::Greek);
   448     gLanguageMap.insert(QStringLiteral(
"isl"), QLocale::Icelandic);
   449     gLanguageMap.insert(QStringLiteral(
"mkd"), QLocale::Macedonian);
   450     gLanguageMap.insert(QStringLiteral(
"mri"), QLocale::Maori);
   451     gLanguageMap.insert(QStringLiteral(
"msa"), QLocale::Malay);
   452     gLanguageMap.insert(QStringLiteral(
"fas"), QLocale::Persian);
   453     gLanguageMap.insert(QStringLiteral(
"ron"), QLocale::Romanian);
   454     gLanguageMap.insert(QStringLiteral(
"srp"), QLocale::Serbian);
   455     gLanguageMap.insert(QStringLiteral(
"hrv"), QLocale::Croatian);
   456     gLanguageMap.insert(QStringLiteral(
"slk"), QLocale::Slovak);
   457     gLanguageMap.insert(QStringLiteral(
"bod"), QLocale::Tibetan);
   458     gLanguageMap.insert(QStringLiteral(
"cym"), QLocale::Welsh);
   459     gLanguageMap.insert(QStringLiteral(
"chs"), QLocale::Chinese);
   461     gLanguageMap.insert(QStringLiteral(
"nso"), QLocale::NorthernSotho);
   462     gLanguageMap.insert(QStringLiteral(
"trv"), QLocale::Taroko);
   463     gLanguageMap.insert(QStringLiteral(
"guz"), QLocale::Gusii);
   464     gLanguageMap.insert(QStringLiteral(
"dav"), QLocale::Taita);
   465     gLanguageMap.insert(QStringLiteral(
"saq"), QLocale::Samburu);
   466     gLanguageMap.insert(QStringLiteral(
"seh"), QLocale::Sena);
   467     gLanguageMap.insert(QStringLiteral(
"rof"), QLocale::Rombo);
   468     gLanguageMap.insert(QStringLiteral(
"shi"), QLocale::Tachelhit);
   469     gLanguageMap.insert(QStringLiteral(
"kab"), QLocale::Kabyle);
   470     gLanguageMap.insert(QStringLiteral(
"nyn"), QLocale::Nyankole);
   471     gLanguageMap.insert(QStringLiteral(
"bez"), QLocale::Bena);
   472     gLanguageMap.insert(QStringLiteral(
"vun"), QLocale::Vunjo);
   473     gLanguageMap.insert(QStringLiteral(
"ebu"), QLocale::Embu);
   474     gLanguageMap.insert(QStringLiteral(
"chr"), QLocale::Cherokee);
   475     gLanguageMap.insert(QStringLiteral(
"mfe"), QLocale::Morisyen);
   476     gLanguageMap.insert(QStringLiteral(
"kde"), QLocale::Makonde);
   477     gLanguageMap.insert(QStringLiteral(
"lag"), QLocale::Langi);
   478     gLanguageMap.insert(QStringLiteral(
"bem"), QLocale::Bemba);
   479     gLanguageMap.insert(QStringLiteral(
"kea"), QLocale::Kabuverdianu);
   480     gLanguageMap.insert(QStringLiteral(
"mer"), QLocale::Meru);
   481     gLanguageMap.insert(QStringLiteral(
"kln"), QLocale::Kalenjin);
   482     gLanguageMap.insert(QStringLiteral(
"naq"), QLocale::Nama);
   483     gLanguageMap.insert(QStringLiteral(
"jmc"), QLocale::Machame);
   484     gLanguageMap.insert(QStringLiteral(
"ksh"), QLocale::Colognian);
   485     gLanguageMap.insert(QStringLiteral(
"mas"), QLocale::Masai);
   486     gLanguageMap.insert(QStringLiteral(
"xog"), QLocale::Soga);
   487     gLanguageMap.insert(QStringLiteral(
"luy"), QLocale::Luyia);
   488     gLanguageMap.insert(QStringLiteral(
"asa"), QLocale::Asu);
   489     gLanguageMap.insert(QStringLiteral(
"teo"), QLocale::Teso);
   490     gLanguageMap.insert(QStringLiteral(
"ssy"), QLocale::Saho);
   491     gLanguageMap.insert(QStringLiteral(
"khq"), QLocale::KoyraChiini);
   492     gLanguageMap.insert(QStringLiteral(
"rwk"), QLocale::Rwa);
   493     gLanguageMap.insert(QStringLiteral(
"luo"), QLocale::Luo);
   494     gLanguageMap.insert(QStringLiteral(
"cgg"), QLocale::Chiga);
   495     gLanguageMap.insert(QStringLiteral(
"tzm"), QLocale::CentralMoroccoTamazight);
   496     gLanguageMap.insert(QStringLiteral(
"ses"), QLocale::KoyraboroSenni);
   497     gLanguageMap.insert(QStringLiteral(
"ksb"), QLocale::Shambala);
   498     gLanguageMap.insert(QStringLiteral(
"gsw"), QLocale::SwissGerman);
   499     gLanguageMap.insert(QStringLiteral(
"fij"), QLocale::Fijian);
   500     gLanguageMap.insert(QStringLiteral(
"lao"), QLocale::Lao);
   501     gLanguageMap.insert(QStringLiteral(
"sag"), QLocale::Sango);
   502     gLanguageMap.insert(QStringLiteral(
"sin"), QLocale::Sinhala);
   503     gLanguageMap.insert(QStringLiteral(
"sot"), QLocale::SouthernSotho);
   504     gLanguageMap.insert(QStringLiteral(
"ssw"), QLocale::Swati);
   505     gLanguageMap.insert(QStringLiteral(
"ton"), QLocale::Tongan);
   506     gLanguageMap.insert(QStringLiteral(
"tsn"), QLocale::Tswana);
   523   : nextTorcStringFactory(gTorcStringFactory)
 TorcLanguage(TorcSetting *SettingParent)
A wrapper around a database setting. 
static QLocale::Language From2CharCode(const char *Code)
Return the language associated with the given 2 character code. 
#define DEFAULT_QT_LANGUAGE
virtual bool DownRef(void)
void SetLanguageCode(const QString &Language)
Set the current language for this application. 
static void NotifyEvent(int Event)
static QMap< QString, int > gLanguageMap
void LanguageCodeChanged(QString &Language)
void LanguageSettingChanged(QString &Language)
A class to track and manage language and locale settings and available translations. 
virtual void GetStrings(QVariantMap &Strings)=0
QString GetLanguageString(void)
TorcStringFactory * nextTorcStringFactory
void HandleSubscriberDeleted(QObject *Subscriber)
static TorcStringFactory * gTorcStringFactory
QReadWriteLock m_httpServiceLock
QString GetLanguageCode(void)
Return the current language. 
static QVariantMap GetTorcStrings(void)
Return a map of string constants and their translations. 
#define LOG(_MASK_, _LEVEL_, _STRING_)
QString GetTranslation(const QString &Context, const QString &String, const QString &Disambiguation, int Number)
static TorcStringFactory * GetTorcStringFactory(void)
A factory class to register translatable strings for use with external interfaces/applications. 
QString GetTorcTransDir(void)
brief Return the path to installed translation files 
void SetSelections(QVariantMap &Selections)
void ValueChanged(int Value)
TorcStringFactory * NextFactory(void) const 
void LanguageStringChanged(QString &String)
static QLocale::Language From3CharCode(const char *Code)
Return the language associated with the given 3 character code. 
void SubscriberDeleted(QObject *Subscriber)
void SetActive(bool Value)
static QString ToString(QLocale::Language Language, bool Empty=false)
Return a user readable string for the current language.