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.