9 myTranslator =
new QTranslator(qApp);
28 return myTranslationSource;
37 myTranslationSource = thisTranslationSource;
55 myHelpSource = thisHelpSource;
64 return myTransFilePrefix;
73 myTransFilePrefix = thisTransFilePrefix;
83 if (myTranslator->load(thisQmLanguageFile))
85 if (myLastTranslator ==
nullptr ) { qApp->removeTranslator(myLastTranslator); }
86 qApp->installTranslator(myTranslator);
87 myLastTranslator = myTranslator;
91 qCritical() <<
"loadLanguage failed";
101 QString theLang = thisLanguageCode;
102 if (theLang.contains(
"-"))
103 { theLang = theLang.replace(
"-",
"_"); }
104 const QStringList theQmFiles =
getQmFiles(thisPath);
105 for (
int i = 0; i < theQmFiles.size(); ++i)
109 return theQmFiles.at(i);
120 isDebugMessage = thisState;
130 return isDebugMessage;
139 QTranslator translator;
140 translator.load(thisTranslationFile);
142 return translator.translate(
"MainWindow",
"English");
151 QFileInfo theFileInfo(thisQmFile);
153 QString theFileName = theFileInfo.baseName();
154 theFileName = theFileName.remove(QString(
"%1_").arg(thisPrefix));
155 if (theFileName.contains(
"_"))
157 if (!theFileName.contains(
"zh"))
159 theFileName = theFileName.section(
"_", 0, 0);
171 myRemoveTransArgs.append(QString(
"%1 |%2| in file %3").arg(tr(
"Remove Arguments that use Percent Sign x"), thisString, thisTransFile));
180 if (!myRemoveTransArgs.isEmpty())
184 mySetting->
showMessageBox(QObject::tr(
"Remove Args file is created").toLocal8Bit(), QString(
"%1: %2 %3 %4").arg(tr(
"Remove Args"), myRemoveTransArgs, tr(
"File: "), theRemoveFileName).toLocal8Bit(),
mySetting->
Warning);
196 QString theNewFileContent;
197 QFile theInputTxtFile(thisFile);
198 if (theInputTxtFile.open(QIODevice::ReadOnly))
200 QTextStream theFileStream(&theInputTxtFile);
201 while (!theFileStream.atEnd())
203 QString theLine = theFileStream.readLine();
204 if (theLine.mid(0, 1) !=
"[")
206 QString theTransValue = theLine;
207 theTransValue.remove(QRegExp(
"\[([^)]+)\\]"));
209 QRegExp rx(
"\[([^)]+)\\]");
210 QString theOnlyID = theLine;
211 if (rx.indexIn(theLine) == 0) { theOnlyID = rx.cap(1); }
212 theNewFileContent.append(QString(
"%1 %2\n").arg(theOnlyID, theTransValue));
225 QString theLang = thisLang;
227 if (theLocalizer.contains(
"_"))
228 { theLocalizer = theLocalizer.section(
"_", 0, 0); }
229 if (thisLang.contains(
"_"))
230 { theLang = thisLang.section(
"_", 0, 0); }
231 return theLocalizer == theLang;
240 QDir dir(QString(
":/%1").arg(thisFolder));
241 QStringList fileNames = dir.entryList(QStringList(
"*.qm"), QDir::Files, QDir::Name);
242 for (QString &fileName : fileNames)
244 fileName = dir.filePath(fileName);
255 QDir dir(thisFolder);
256 QStringList fileNames = dir.entryList(QStringList(
"*.ts"), QDir::Files, QDir::Name);
257 for (QString &fileName : fileNames)
258 { fileName = dir.filePath(fileName); }
269 if (theQmLang.contains(
"_"))
270 { theQmLang = theQmLang.replace(
"_",
"-"); }
280 QString theLangCode = thisString;
281 if (theLangCode.indexOf(
'_') < 0) {
return ""; }
282 if (theLangCode.indexOf(
'.') > 0)
283 { theLangCode = theLangCode.mid(0, theLangCode.indexOf(
'.')); }
284 return theLangCode.mid(theLangCode.indexOf(
'_') + 1);
293 return s_genericLanguageNameToCode.value(lang);
302 return s_genericLanguageCodeToName.value(lang);
320 return myLanguageCode;
339 myLanguageCode = thisLanguageCode;
348 if (myLanguageCode.isEmpty())
350 QString theLangCode =
language(QLocale());
353 return myLanguageCode;
362 isMainLoaded = thisMainLoaded;
381 switch (thisLocale.language())
383 case QLocale::Afrikaans:
return QStringLiteral(
"af");
384 case QLocale::Albanian:
return QStringLiteral(
"sq");
385 case QLocale::Amharic:
return QStringLiteral(
"am");
386 case QLocale::Arabic:
return QStringLiteral(
"ar");
387 case QLocale::Armenian:
return QStringLiteral(
"hy");
388 case QLocale::Azerbaijani:
return QStringLiteral(
"az");
389 case QLocale::Bashkir:
return QStringLiteral(
"ba");
390 case QLocale::Basque:
return QStringLiteral(
"eu");
391 case QLocale::Belarusian:
return QStringLiteral(
"be");
392 case QLocale::Bengali:
return QStringLiteral(
"bn");
393 case QLocale::Bosnian:
return QStringLiteral(
"bs");
394 case QLocale::Bulgarian:
return QStringLiteral(
"bg");
395 case QLocale::Catalan:
return QStringLiteral(
"ca");
396 case QLocale::Chinese:
return QStringLiteral(
"zh-CN");
397 case QLocale::LiteraryChinese:
return QStringLiteral(
"zh-TW");
398 case QLocale::Corsican:
return QStringLiteral(
"co");
399 case QLocale::Croatian:
return QStringLiteral(
"hr");
400 case QLocale::Czech:
return QStringLiteral(
"cs");
401 case QLocale::Cantonese:
return QStringLiteral(
"yue");
402 case QLocale::Cebuano:
return QStringLiteral(
"ceb");
403 case QLocale::Chickasaw:
return QStringLiteral(
"ny");
404 case QLocale::Danish:
return QStringLiteral(
"da");
405 case QLocale::Dutch:
return QStringLiteral(
"nl");
406 case QLocale::Esperanto:
return QStringLiteral(
"eo");
407 case QLocale::Estonian:
return QStringLiteral(
"et");
408 case QLocale::Finnish:
return QStringLiteral(
"fi");
409 case QLocale::French:
return QStringLiteral(
"fr");
410 case QLocale::Frisian:
return QStringLiteral(
"fy");
411 case QLocale::Fijian:
return QStringLiteral(
"fj");
412 case QLocale::Galician:
return QStringLiteral(
"gl");
413 case QLocale::Georgian:
return QStringLiteral(
"ka");
414 case QLocale::German:
return QStringLiteral(
"de");
415 case QLocale::Greek:
return QStringLiteral(
"el");
416 case QLocale::Gujarati:
return QStringLiteral(
"gu");
417 case QLocale::Haitian:
return QStringLiteral(
"ht");
418 case QLocale::Hausa:
return QStringLiteral(
"ha");
419 case QLocale::Hawaiian:
return QStringLiteral(
"haw");
420 case QLocale::Hebrew:
return QStringLiteral(
"he");
421 case QLocale::Hindi:
return QStringLiteral(
"hi");
422 case QLocale::Hungarian:
return QStringLiteral(
"hu");
425 case QLocale::Icelandic:
return QStringLiteral(
"is");
426 case QLocale::Igbo:
return QStringLiteral(
"ig");
427 case QLocale::Indonesian:
return QStringLiteral(
"id");
428 case QLocale::Irish:
return QStringLiteral(
"ga");
429 case QLocale::Italian:
return QStringLiteral(
"it");
430 case QLocale::Japanese:
return QStringLiteral(
"ja");
431 case QLocale::Javanese:
return QStringLiteral(
"jw");
432 case QLocale::Kannada:
return QStringLiteral(
"kn");
433 case QLocale::Kazakh:
return QStringLiteral(
"kk");
434 case QLocale::Khmer:
return QStringLiteral(
"km");
435 case QLocale::Kinyarwanda:
return QStringLiteral(
"rw");
436 case QLocale::Korean:
return QStringLiteral(
"ko");
437 case QLocale::Kurdish:
return QStringLiteral(
"ku");
441 case QLocale::Lao:
return QStringLiteral(
"lo");
442 case QLocale::Latin:
return QStringLiteral(
"la");
443 case QLocale::Latvian:
return QStringLiteral(
"lv");
444 case QLocale::Lithuanian:
return QStringLiteral(
"lt");
445 case QLocale::Luxembourgish:
return QStringLiteral(
"lb");
449 case QLocale::Papiamento:
return QStringLiteral(
"pap");
450 case QLocale::Macedonian:
return QStringLiteral(
"mk");
451 case QLocale::Malagasy:
return QStringLiteral(
"mg");
452 case QLocale::Malay:
return QStringLiteral(
"ms");
453 case QLocale::Malayalam:
return QStringLiteral(
"ml");
454 case QLocale::Maltese:
return QStringLiteral(
"mt");
455 case QLocale::Maori:
return QStringLiteral(
"mi");
456 case QLocale::Marathi:
return QStringLiteral(
"mr");
457 case QLocale::Mongolian:
return QStringLiteral(
"mn");
458 case QLocale::Nepali:
return QStringLiteral(
"ne");
459 case QLocale::NorwegianBokmal:
return QStringLiteral(
"no");
460 case QLocale::Oriya:
return QStringLiteral(
"or");
462 case QLocale::Pashto:
return QStringLiteral(
"ps");
463 case QLocale::Persian:
return QStringLiteral(
"fa");
464 case QLocale::Polish:
return QStringLiteral(
"pl");
465 case QLocale::Portuguese:
return QStringLiteral(
"pt");
466 case QLocale::Punjabi:
return QStringLiteral(
"pa");
467 case QLocale::Romanian:
return QStringLiteral(
"ro");
468 case QLocale::Russian:
return QStringLiteral(
"ru");
469 case QLocale::Samoan:
return QStringLiteral(
"sm");
470 case QLocale::Gaelic:
return QStringLiteral(
"gd");
471 case QLocale::Serbian:
return QStringLiteral(
"sr");
472 case QLocale::Shona:
return QStringLiteral(
"sn");
473 case QLocale::Sindhi:
return QStringLiteral(
"sd");
474 case QLocale::Sinhala:
return QStringLiteral(
"si");
475 case QLocale::Slovak:
return QStringLiteral(
"sk");
476 case QLocale::Slovenian:
return QStringLiteral(
"sl");
477 case QLocale::Somali:
return QStringLiteral(
"so");
478 case QLocale::Spanish:
return QStringLiteral(
"es");
479 case QLocale::Sundanese:
return QStringLiteral(
"su");
480 case QLocale::Swahili:
return QStringLiteral(
"sw");
481 case QLocale::Swedish:
return QStringLiteral(
"sv");
484 case QLocale::Filipino:
return QStringLiteral(
"fil");
485 case QLocale::Tajik:
return QStringLiteral(
"tg");
486 case QLocale::Tamil:
return QStringLiteral(
"ta");
487 case QLocale::Tatar:
return QStringLiteral(
"tt");
488 case QLocale::Telugu:
return QStringLiteral(
"te");
489 case QLocale::Thai:
return QStringLiteral(
"th");
490 case QLocale::Turkish:
return QStringLiteral(
"tr");
491 case QLocale::Turkmen:
return QStringLiteral(
"tk");
493 case QLocale::Tahitian:
return QStringLiteral(
"ty");
494 case QLocale::Tongan:
return QStringLiteral(
"to");
495 case QLocale::Uighur:
return QStringLiteral(
"ug");
496 case QLocale::Ukrainian:
return QStringLiteral(
"uk");
497 case QLocale::Urdu:
return QStringLiteral(
"ur");
498 case QLocale::Uzbek:
return QStringLiteral(
"uz");
500 case QLocale::Vietnamese:
return QStringLiteral(
"vi");
501 case QLocale::Welsh:
return QStringLiteral(
"cy");
502 case QLocale::Xhosa:
return QStringLiteral(
"xh");
503 case QLocale::Yiddish:
return QStringLiteral(
"yi");
504 case QLocale::Yoruba:
return QStringLiteral(
"yo");
506 case QLocale::Zulu:
return QStringLiteral(
"zu");
508 if (thisLocale.name() ==
"HaitianCreole")
509 {
return QStringLiteral(
"ht"); }
510 else if (thisLocale.name() ==
"HillMari")
511 {
return QStringLiteral(
"mrj"); }
512 else if (thisLocale.name() ==
"Hmong")
513 {
return QStringLiteral(
"hmn"); }
514 else if (thisLocale.name() ==
"Klingon")
515 {
return QStringLiteral(
"tlh"); }
516 else if (thisLocale.name() ==
"KlingonPlqaD")
517 {
return QStringLiteral(
"tlh-Qaak"); }
518 else if (thisLocale.name() ==
"Kyrgyz")
519 {
return QStringLiteral(
"ky"); }
520 else if (thisLocale.name() ==
"LevantineArabic")
521 {
return QStringLiteral(
"apc"); }
522 else if (thisLocale.name() ==
"Mari")
523 {
return QStringLiteral(
"mhr"); }
524 else if (thisLocale.name() ==
"Myanmar")
525 {
return QStringLiteral(
"my"); }
526 else if (thisLocale.name() ==
"Chichewa")
527 {
return QStringLiteral(
"ny"); }
528 else if (thisLocale.name() ==
"QueretaroOtomi")
529 {
return QStringLiteral(
"otq"); }
530 else if (thisLocale.name() ==
"ScotsGaelic")
531 {
return QStringLiteral(
"gd"); }
532 else if (thisLocale.name() ==
"SerbianCyrillic")
533 {
return QStringLiteral(
"sr"); }
534 else if (thisLocale.name() ==
"SerbianLatin")
535 {
return QStringLiteral(
"sr-Latin"); }
536 else if (thisLocale.name() ==
"Sesotho")
537 {
return QStringLiteral(
"st"); }
538 else if (thisLocale.name() ==
"Tagalog")
539 {
return QStringLiteral(
"tl"); }
540 else if (thisLocale.name() ==
"Udmurt")
541 {
return QStringLiteral(
"udm"); }
542 else if (thisLocale.name() ==
"YucatecMaya")
543 {
return QStringLiteral(
"yua"); }
544 return QStringLiteral(
"en");
551const QMap<QString, QString> MyLocalization::s_genericLanguageNameToCode =
553 { QStringLiteral(
"Auto"), QStringLiteral(
"auto") },
554 { QStringLiteral(
"Afrikaans"), QStringLiteral(
"af") },
555 { QStringLiteral(
"Albanian"), QStringLiteral(
"sq") },
556 { QStringLiteral(
"Amharic"), QStringLiteral(
"am") },
557 { QStringLiteral(
"Arabic"), QStringLiteral(
"ar") },
558 { QStringLiteral(
"Armenian"), QStringLiteral(
"hy") },
559 { QStringLiteral(
"Azerbaijani"), QStringLiteral(
"az") },
560 { QStringLiteral(
"Bashkir"), QStringLiteral(
"ba") },
561 { QStringLiteral(
"Basque"), QStringLiteral(
"eu") },
562 { QStringLiteral(
"Belarusian"), QStringLiteral(
"be") },
563 { QStringLiteral(
"Bengali"), QStringLiteral(
"bn") },
564 { QStringLiteral(
"Bosnian"), QStringLiteral(
"bs") },
565 { QStringLiteral(
"Bulgarian"), QStringLiteral(
"bg") },
566 { QStringLiteral(
"Cantonese"), QStringLiteral(
"yue") },
567 { QStringLiteral(
"Catalan"), QStringLiteral(
"ca") },
568 { QStringLiteral(
"Cebuano"), QStringLiteral(
"ceb") },
569 { QStringLiteral(
"Chichewa"), QStringLiteral(
"ny") },
570 { QStringLiteral(
"Corsican"), QStringLiteral(
"co") },
571 { QStringLiteral(
"Croatian"), QStringLiteral(
"hr") },
572 { QStringLiteral(
"Czech"), QStringLiteral(
"cs") },
573 { QStringLiteral(
"Danish"), QStringLiteral(
"da") },
574 { QStringLiteral(
"Dutch"), QStringLiteral(
"nl") },
575 { QStringLiteral(
"English"), QStringLiteral(
"en") },
576 { QStringLiteral(
"Esperanto"), QStringLiteral(
"eo") },
577 { QStringLiteral(
"Estonian"), QStringLiteral(
"et") },
578 { QStringLiteral(
"Fijian"), QStringLiteral(
"fj") },
579 { QStringLiteral(
"Filipino"), QStringLiteral(
"fil") },
580 { QStringLiteral(
"Finnish"), QStringLiteral(
"fi") },
581 { QStringLiteral(
"French"), QStringLiteral(
"fr") },
582 { QStringLiteral(
"Frisian"), QStringLiteral(
"fy") },
583 { QStringLiteral(
"Galician"), QStringLiteral(
"gl") },
584 { QStringLiteral(
"Georgian"), QStringLiteral(
"ka") },
585 { QStringLiteral(
"German"), QStringLiteral(
"de") },
586 { QStringLiteral(
"Greek"), QStringLiteral(
"el") },
587 { QStringLiteral(
"Gujarati"), QStringLiteral(
"gu") },
588 { QStringLiteral(
"HaitianCreole"), QStringLiteral(
"ht") },
589 { QStringLiteral(
"Hausa"), QStringLiteral(
"ha") },
590 { QStringLiteral(
"Hawaiian"), QStringLiteral(
"haw") },
591 { QStringLiteral(
"Hebrew"), QStringLiteral(
"he") },
592 { QStringLiteral(
"HillMari"), QStringLiteral(
"mrj") },
593 { QStringLiteral(
"Hindi"), QStringLiteral(
"hi") },
594 { QStringLiteral(
"Hmong"), QStringLiteral(
"hmn") },
595 { QStringLiteral(
"Hungarian"), QStringLiteral(
"hu") },
596 { QStringLiteral(
"Icelandic"), QStringLiteral(
"is") },
597 { QStringLiteral(
"Igbo"), QStringLiteral(
"ig") },
598 { QStringLiteral(
"Indonesian"), QStringLiteral(
"id") },
599 { QStringLiteral(
"Irish"), QStringLiteral(
"ga") },
600 { QStringLiteral(
"Italian"), QStringLiteral(
"it") },
601 { QStringLiteral(
"Japanese"), QStringLiteral(
"ja") },
602 { QStringLiteral(
"Javanese"), QStringLiteral(
"jw") },
603 { QStringLiteral(
"Kannada"), QStringLiteral(
"kn") },
604 { QStringLiteral(
"Kazakh"), QStringLiteral(
"kk") },
605 { QStringLiteral(
"Khmer"), QStringLiteral(
"km") },
606 { QStringLiteral(
"Kinyarwanda"), QStringLiteral(
"rw") },
607 { QStringLiteral(
"Klingon"), QStringLiteral(
"tlh") },
608 { QStringLiteral(
"KlingonPlqaD"), QStringLiteral(
"tlh-Qaak") },
609 { QStringLiteral(
"Korean"), QStringLiteral(
"ko") },
610 { QStringLiteral(
"Kurdish"), QStringLiteral(
"ku") },
611 { QStringLiteral(
"Kyrgyz"), QStringLiteral(
"ky") },
612 { QStringLiteral(
"Lao"), QStringLiteral(
"lo") },
613 { QStringLiteral(
"Latin"), QStringLiteral(
"la") },
614 { QStringLiteral(
"Latvian"), QStringLiteral(
"lv") },
615 { QStringLiteral(
"LevantineArabic"), QStringLiteral(
"apc") },
616 { QStringLiteral(
"Lithuanian"), QStringLiteral(
"lt") },
617 { QStringLiteral(
"Luxembourgish"), QStringLiteral(
"lb") },
618 { QStringLiteral(
"Macedonian"), QStringLiteral(
"mk") },
619 { QStringLiteral(
"Malagasy"), QStringLiteral(
"mg") },
620 { QStringLiteral(
"Malay"), QStringLiteral(
"ms") },
621 { QStringLiteral(
"Malayalam"), QStringLiteral(
"ml") },
622 { QStringLiteral(
"Maltese"), QStringLiteral(
"mt") },
623 { QStringLiteral(
"Maori"), QStringLiteral(
"mi") },
624 { QStringLiteral(
"Marathi"), QStringLiteral(
"mr") },
625 { QStringLiteral(
"Mari"), QStringLiteral(
"mhr") },
626 { QStringLiteral(
"Mongolian"), QStringLiteral(
"mn") },
627 { QStringLiteral(
"Myanmar"), QStringLiteral(
"my") },
628 { QStringLiteral(
"Nepali"), QStringLiteral(
"ne") },
629 { QStringLiteral(
"Norwegian"), QStringLiteral(
"no") },
630 { QStringLiteral(
"Oriya"), QStringLiteral(
"or") },
631 { QStringLiteral(
"Papiamento"), QStringLiteral(
"pap") },
632 { QStringLiteral(
"Pashto"), QStringLiteral(
"ps") },
633 { QStringLiteral(
"Persian"), QStringLiteral(
"fa") },
634 { QStringLiteral(
"Polish"), QStringLiteral(
"pl") },
635 { QStringLiteral(
"Portuguese"), QStringLiteral(
"pt") },
636 { QStringLiteral(
"Punjabi"), QStringLiteral(
"pa") },
637 { QStringLiteral(
"QueretaroOtomi"), QStringLiteral(
"otq") },
638 { QStringLiteral(
"Romanian"), QStringLiteral(
"ro") },
639 { QStringLiteral(
"Russian"), QStringLiteral(
"ru") },
640 { QStringLiteral(
"Samoan"), QStringLiteral(
"sm") },
641 { QStringLiteral(
"ScotsGaelic"), QStringLiteral(
"gd") },
642 { QStringLiteral(
"SerbianCyrillic"), QStringLiteral(
"sr") },
643 { QStringLiteral(
"SerbianLatin"), QStringLiteral(
"sr-Latin") },
644 { QStringLiteral(
"Sesotho"), QStringLiteral(
"st") },
645 { QStringLiteral(
"Shona"), QStringLiteral(
"sn") },
646 { QStringLiteral(
"SimplifiedChinese"), QStringLiteral(
"zh-CN") },
647 { QStringLiteral(
"Sindhi"), QStringLiteral(
"sd") },
648 { QStringLiteral(
"Sinhala"), QStringLiteral(
"si") },
649 { QStringLiteral(
"Slovak"), QStringLiteral(
"sk") },
650 { QStringLiteral(
"Slovenian"), QStringLiteral(
"sl") },
651 { QStringLiteral(
"Somali"), QStringLiteral(
"so") },
652 { QStringLiteral(
"Spanish"), QStringLiteral(
"es") },
653 { QStringLiteral(
"Sundanese"), QStringLiteral(
"su") },
654 { QStringLiteral(
"Swahili"), QStringLiteral(
"sw") },
655 { QStringLiteral(
"Swedish"), QStringLiteral(
"sv") },
656 { QStringLiteral(
"SerbianLatin"), QStringLiteral(
"sr-Latin") },
657 { QStringLiteral(
"Tagalog"), QStringLiteral(
"tl") },
658 { QStringLiteral(
"Tahitian"), QStringLiteral(
"ty") },
659 { QStringLiteral(
"Tajik"), QStringLiteral(
"tg") },
660 { QStringLiteral(
"Tamil"), QStringLiteral(
"ta") },
661 { QStringLiteral(
"Tatar"), QStringLiteral(
"tt") },
662 { QStringLiteral(
"Telugu"), QStringLiteral(
"te") },
663 { QStringLiteral(
"Thai"), QStringLiteral(
"th") },
664 { QStringLiteral(
"Tongan"), QStringLiteral(
"to") },
665 { QStringLiteral(
"TraditionalChinese"), QStringLiteral(
"zh-TW") },
666 { QStringLiteral(
"Turkish"), QStringLiteral(
"tr") },
667 { QStringLiteral(
"Turkmen"), QStringLiteral(
"tk") },
668 { QStringLiteral(
"Udmurt"), QStringLiteral(
"udm") },
669 { QStringLiteral(
"Uighur"), QStringLiteral(
"ug") },
670 { QStringLiteral(
"Ukrainian"), QStringLiteral(
"uk") },
671 { QStringLiteral(
"Urdu"), QStringLiteral(
"ur") },
672 { QStringLiteral(
"Uzbek"), QStringLiteral(
"uz") },
673 { QStringLiteral(
"Udmurt"), QStringLiteral(
"udm") },
674 { QStringLiteral(
"Vietnamese"), QStringLiteral(
"vi") },
675 { QStringLiteral(
"Welsh"), QStringLiteral(
"cy") },
676 { QStringLiteral(
"Xhosa"), QStringLiteral(
"xh") },
677 { QStringLiteral(
"Yiddish"), QStringLiteral(
"yi") },
678 { QStringLiteral(
"Yoruba"), QStringLiteral(
"yo") },
679 { QStringLiteral(
"YucatecMaya"), QStringLiteral(
"yua") },
680 { QStringLiteral(
"YucatecMaya"), QStringLiteral(
"yua") },
681 { QStringLiteral(
"Zulu"), QStringLiteral(
"zu") }
687const QMap<QString, QString> MyLocalization::s_genericLanguageCodeToName =
689 { QStringLiteral(
"auto"), QStringLiteral(
"Auto") },
690 { QStringLiteral(
"af"), QStringLiteral(
"Afrikaans") },
691 { QStringLiteral(
"sq"), QStringLiteral(
"Albanian") },
692 { QStringLiteral(
"am"), QStringLiteral(
"Amharic") },
693 { QStringLiteral(
"ar"), QStringLiteral(
"Arabic") },
694 { QStringLiteral(
"hy"), QStringLiteral(
"Armenian") },
695 { QStringLiteral(
"az"), QStringLiteral(
"Azerbaijani") },
696 { QStringLiteral(
"ba"), QStringLiteral(
"Bashkir") },
697 { QStringLiteral(
"eu"), QStringLiteral(
"Basque") },
698 { QStringLiteral(
"be"), QStringLiteral(
"Belarusian") },
699 { QStringLiteral(
"bn"), QStringLiteral(
"Bengali") },
700 { QStringLiteral(
"bs"), QStringLiteral(
"Bosnian") },
701 { QStringLiteral(
"bg"), QStringLiteral(
"Bulgarian") },
702 { QStringLiteral(
"yue"), QStringLiteral(
"Cantonese") },
703 { QStringLiteral(
"ca"), QStringLiteral(
"Catalan") },
704 { QStringLiteral(
"ceb"), QStringLiteral(
"Cebuano") },
705 { QStringLiteral(
"ny"), QStringLiteral(
"Chichewa") },
706 { QStringLiteral(
"co"), QStringLiteral(
"Corsican") },
707 { QStringLiteral(
"hr"), QStringLiteral(
"Croatian") },
708 { QStringLiteral(
"cs"), QStringLiteral(
"Czech") },
709 { QStringLiteral(
"da"), QStringLiteral(
"Danish") },
710 { QStringLiteral(
"nl"), QStringLiteral(
"Dutch") },
711 { QStringLiteral(
"en"), QStringLiteral(
"English") },
712 { QStringLiteral(
"eo"), QStringLiteral(
"Esperanto") },
713 { QStringLiteral(
"et"), QStringLiteral(
"Estonian") },
714 { QStringLiteral(
"fj"), QStringLiteral(
"Fijian") },
715 { QStringLiteral(
"fil"), QStringLiteral(
"Filipino") },
716 { QStringLiteral(
"fi"), QStringLiteral(
"Finnish") },
717 { QStringLiteral(
"fr"), QStringLiteral(
"French") },
718 { QStringLiteral(
"fy"), QStringLiteral(
"Frisian") },
719 { QStringLiteral(
"gl"), QStringLiteral(
"Galician") },
720 { QStringLiteral(
"ka"), QStringLiteral(
"Georgian") },
721 { QStringLiteral(
"de"), QStringLiteral(
"German") },
722 { QStringLiteral(
"el"), QStringLiteral(
"Greek") },
723 { QStringLiteral(
"gu"), QStringLiteral(
"Gujarati") },
724 { QStringLiteral(
"ht"), QStringLiteral(
"HaitianCreole") },
725 { QStringLiteral(
"ha"), QStringLiteral(
"Hausa") },
726 { QStringLiteral(
"haw"), QStringLiteral(
"Hawaiian") },
727 { QStringLiteral(
"he"), QStringLiteral(
"Hebrew") },
728 { QStringLiteral(
"mrj"), QStringLiteral(
"HillMari") },
729 { QStringLiteral(
"hi"), QStringLiteral(
"Hindi") },
730 { QStringLiteral(
"hmn"), QStringLiteral(
"Hmong") },
731 { QStringLiteral(
"hu"), QStringLiteral(
"Hungarian") },
732 { QStringLiteral(
"is"), QStringLiteral(
"Icelandic") },
733 { QStringLiteral(
"ig"), QStringLiteral(
"Igbo") },
734 { QStringLiteral(
"id"), QStringLiteral(
"Indonesian") },
735 { QStringLiteral(
"ga"), QStringLiteral(
"Irish") },
736 { QStringLiteral(
"it"), QStringLiteral(
"Italian") },
737 { QStringLiteral(
"ja"), QStringLiteral(
"Japanese") },
738 { QStringLiteral(
"jw"), QStringLiteral(
"Javanese") },
739 { QStringLiteral(
"kn"), QStringLiteral(
"Kannada") },
740 { QStringLiteral(
"kk"), QStringLiteral(
"Kazakh") },
741 { QStringLiteral(
"km"), QStringLiteral(
"Khmer") },
742 { QStringLiteral(
"rw"), QStringLiteral(
"Kinyarwanda") },
743 { QStringLiteral(
"tlh"), QStringLiteral(
"Klingon") },
744 { QStringLiteral(
"tlh-Qaak"), QStringLiteral(
"KlingonPlqaD") },
745 { QStringLiteral(
"ko"), QStringLiteral(
"Korean") },
746 { QStringLiteral(
"ku"), QStringLiteral(
"Kurdish") },
747 { QStringLiteral(
"ky"), QStringLiteral(
"Kyrgyz") },
748 { QStringLiteral(
"lo"), QStringLiteral(
"Lao") },
749 { QStringLiteral(
"la"), QStringLiteral(
"Latin") },
750 { QStringLiteral(
"lv"), QStringLiteral(
"Latvian") },
751 { QStringLiteral(
"apc"), QStringLiteral(
"LevantineArabic") },
752 { QStringLiteral(
"lt"), QStringLiteral(
"Lithuanian") },
753 { QStringLiteral(
"lb"), QStringLiteral(
"Luxembourgish") },
754 { QStringLiteral(
"mk"), QStringLiteral(
"Macedonian") },
755 { QStringLiteral(
"mg"), QStringLiteral(
"Malagasy") },
756 { QStringLiteral(
"ms"), QStringLiteral(
"Malay") },
757 { QStringLiteral(
"ml"), QStringLiteral(
"Malayalam") },
758 { QStringLiteral(
"mt"), QStringLiteral(
"Maltese") },
759 { QStringLiteral(
"mi"), QStringLiteral(
"Maori") },
760 { QStringLiteral(
"mr"), QStringLiteral(
"Marathi") },
761 { QStringLiteral(
"mhr"), QStringLiteral(
"Mari") },
762 { QStringLiteral(
"mn"), QStringLiteral(
"Mongolian") },
763 { QStringLiteral(
"my"), QStringLiteral(
"Myanmar") },
764 { QStringLiteral(
"ne"), QStringLiteral(
"Nepali") },
765 { QStringLiteral(
"no"), QStringLiteral(
"Norwegian") },
766 { QStringLiteral(
"or"), QStringLiteral(
"Oriya") },
767 { QStringLiteral(
"pap"), QStringLiteral(
"Papiamento") },
768 { QStringLiteral(
"ps"), QStringLiteral(
"Pashto") },
769 { QStringLiteral(
"fa"), QStringLiteral(
"Persian") },
770 { QStringLiteral(
"pl"), QStringLiteral(
"Polish") },
771 { QStringLiteral(
"pt"), QStringLiteral(
"Portuguese") },
772 { QStringLiteral(
"pa"), QStringLiteral(
"Punjabi") },
773 { QStringLiteral(
"otq"), QStringLiteral(
"QueretaroOtomi") },
774 { QStringLiteral(
"ro"), QStringLiteral(
"Romanian") },
775 { QStringLiteral(
"ru"), QStringLiteral(
"Russian") },
776 { QStringLiteral(
"sm"), QStringLiteral(
"Samoan") },
777 { QStringLiteral(
"gd"), QStringLiteral(
"ScotsGaelic") },
778 { QStringLiteral(
"sr"), QStringLiteral(
"SerbianCyrillic") },
779 { QStringLiteral(
"sr-Latin"), QStringLiteral(
"SerbianLatin") },
780 { QStringLiteral(
"st"), QStringLiteral(
"Sesotho") },
781 { QStringLiteral(
"sn"), QStringLiteral(
"Shona") },
782 { QStringLiteral(
"zh-CN"), QStringLiteral(
"SimplifiedChinese") },
783 { QStringLiteral(
"sd"), QStringLiteral(
"Sindhi") },
784 { QStringLiteral(
"si"), QStringLiteral(
"Sinhala") },
785 { QStringLiteral(
"sk"), QStringLiteral(
"Slovak") },
786 { QStringLiteral(
"sl"), QStringLiteral(
"Slovenian") },
787 { QStringLiteral(
"so"), QStringLiteral(
"Somali") },
788 { QStringLiteral(
"es"), QStringLiteral(
"Spanish") },
789 { QStringLiteral(
"su"), QStringLiteral(
"Sundanese") },
790 { QStringLiteral(
"sw"), QStringLiteral(
"Swahili") },
791 { QStringLiteral(
"sv"), QStringLiteral(
"Swedish") },
792 { QStringLiteral(
"tl"), QStringLiteral(
"Tagalog") },
793 { QStringLiteral(
"ty"), QStringLiteral(
"Tahitian") },
794 { QStringLiteral(
"tg"), QStringLiteral(
"Tajik") },
795 { QStringLiteral(
"ta"), QStringLiteral(
"Tamil") },
796 { QStringLiteral(
"tt"), QStringLiteral(
"Tatar") },
797 { QStringLiteral(
"te"), QStringLiteral(
"Telugu") },
798 { QStringLiteral(
"th"), QStringLiteral(
"Thai") },
799 { QStringLiteral(
"to"), QStringLiteral(
"Tongan") },
800 { QStringLiteral(
"zh-TW"), QStringLiteral(
"TraditionalChinese") },
801 { QStringLiteral(
"tr"), QStringLiteral(
"Turkish") },
802 { QStringLiteral(
"tk"), QStringLiteral(
"Turkmen") },
803 { QStringLiteral(
"udm"), QStringLiteral(
"Udmurt") },
804 { QStringLiteral(
"ug"), QStringLiteral(
"Uighur") },
805 { QStringLiteral(
"uk"), QStringLiteral(
"Ukrainian") },
806 { QStringLiteral(
"ur"), QStringLiteral(
"Urdu") },
807 { QStringLiteral(
"uz"), QStringLiteral(
"Uzbek") },
808 { QStringLiteral(
"vi"), QStringLiteral(
"Vietnamese") },
809 { QStringLiteral(
"cy"), QStringLiteral(
"Welsh") },
810 { QStringLiteral(
"xh"), QStringLiteral(
"Xhosa") },
811 { QStringLiteral(
"yi"), QStringLiteral(
"Yiddish") },
812 { QStringLiteral(
"yo"), QStringLiteral(
"Yoruba") },
813 { QStringLiteral(
"yua"), QStringLiteral(
"YucatecMaya") },
814 { QStringLiteral(
"zu"), QStringLiteral(
"Zulu") }
822 switch (thisLocale.language())
824 case QLocale::Afrikaans:
return tr(
"Afrikaans");
825 case QLocale::Albanian:
return tr(
"Albanian");
826 case QLocale::Amharic:
return tr(
"Amharic");
827 case QLocale::Arabic:
return tr(
"Arabic");
828 case QLocale::Armenian:
return tr(
"Armenian");
829 case QLocale::Azerbaijani:
return tr(
"Azeerbaijani");
830 case QLocale::Basque:
return tr(
"Basque");
831 case QLocale::Bashkir:
return tr(
"Bashkir");
832 case QLocale::Belarusian:
return tr(
"Belarusian");
833 case QLocale::Bengali:
return tr(
"Bengali");
834 case QLocale::Bosnian:
return tr(
"Bosnian");
835 case QLocale::Bulgarian:
return tr(
"Bulgarian");
836 case QLocale::Catalan:
return tr(
"Catalan");
837 case QLocale::Cantonese:
return tr(
"Cantonese");
838 case QLocale::Cebuano:
return tr(
"Cebuano");
839 case QLocale::Chinese:
return tr(
"Chinese (Simplified)");
840 case QLocale::LiteraryChinese:
return tr(
"Chinese (Traditional)");
841 case QLocale::Corsican:
return tr(
"Corsican");
842 case QLocale::Croatian:
return tr(
"Croatian");
843 case QLocale::Czech:
return tr(
"Czech");
844 case QLocale::Danish:
return tr(
"Danish");
845 case QLocale::Dutch:
return tr(
"Dutch");
846 case QLocale::English:
return tr(
"English");
847 case QLocale::Esperanto:
return tr(
"Esperanto");
848 case QLocale::Estonian:
return tr(
"Estonian");
849 case QLocale::Fijian:
return tr(
"Fijian");
850 case QLocale::Filipino:
return tr(
"Filipino");
851 case QLocale::Finnish:
return tr(
"Finnish");
852 case QLocale::French:
return tr(
"French");
853 case QLocale::Frisian:
return tr(
"Frisian");
854 case QLocale::Galician:
return tr(
"Galician");
855 case QLocale::Georgian:
return tr(
"Georgian");
856 case QLocale::German:
return tr(
"German");
857 case QLocale::Greek:
return tr(
"Greek");
858 case QLocale::Gujarati:
return tr(
"Gujarati");
860 case QLocale::Hausa:
return tr(
"Hausa");
861 case QLocale::Hawaiian:
return tr(
"Hawaiian");
862 case QLocale::Hebrew:
return tr(
"Hebrew");
864 case QLocale::Hindi:
return tr(
"Hindi");
866 case QLocale::Hungarian:
return tr(
"Hungarian");
867 case QLocale::Icelandic:
return tr(
"Icelandic");
868 case QLocale::Igbo:
return tr(
"Igbo");
869 case QLocale::Indonesian:
return tr(
"Indonesian");
870 case QLocale::Irish:
return tr(
"Irish");
871 case QLocale::Italian:
return tr(
"Italian");
872 case QLocale::Japanese:
return tr(
"Japanese");
873 case QLocale::Javanese:
return tr(
"Javanese");
874 case QLocale::Kannada:
return tr(
"Kannada");
875 case QLocale::Kazakh:
return tr(
"Kazakh");
876 case QLocale::Khmer:
return tr(
"Khmer");
877 case QLocale::Kinyarwanda:
return tr(
"Kinyarwanda");
880 case QLocale::Korean:
return tr(
"Korean");
881 case QLocale::Kurdish:
return tr(
"Kurdish");
883 case QLocale::Lao:
return tr(
"Lao");
884 case QLocale::Latin:
return tr(
"Latin");
885 case QLocale::Latvian:
return tr(
"Latvian");
887 case QLocale::Lithuanian:
return tr(
"Lithuanian");
888 case QLocale::Luxembourgish:
return tr(
"Luxembourgish");
889 case QLocale::Macedonian:
return tr(
"Macedonian");
890 case QLocale::Malagasy:
return tr(
"Malagasy");
891 case QLocale::Malay:
return tr(
"Malay");
892 case QLocale::Malayalam:
return tr(
"Malayalam");
893 case QLocale::Maltese:
return tr(
"Maltese");
894 case QLocale::Maori:
return tr(
"Maori");
895 case QLocale::Marathi:
return tr(
"Marathi");
897 case QLocale::Mongolian:
return tr(
"Mongolian");
899 case QLocale::Nepali:
return tr(
"Nepali");
901 case QLocale::Oriya:
return tr(
"Oriya");
903 case QLocale::Papiamento:
return tr(
"Papiamento");
904 case QLocale::Pashto:
return tr(
"Pashto");
905 case QLocale::Persian:
return tr(
"Persian");
906 case QLocale::Polish:
return tr(
"Polish");
907 case QLocale::Portuguese:
return tr(
"Portuguese");
908 case QLocale::Punjabi:
return tr(
"Punjabi");
910 case QLocale::Romanian:
return tr(
"Romanian");
911 case QLocale::Russian:
return tr(
"Russian");
912 case QLocale::Samoan:
return tr(
"Samoan");
917 case QLocale::Shona:
return tr(
"Shona");
918 case QLocale::Sindhi:
return tr(
"Sindhi");
919 case QLocale::Sinhala:
return tr(
"Sinhala");
920 case QLocale::Slovak:
return tr(
"Slovak");
921 case QLocale::Slovenian:
return tr(
"Slovenian");
922 case QLocale::Somali:
return tr(
"Somali");
923 case QLocale::Spanish:
return tr(
"Spanish");
924 case QLocale::Sundanese:
return tr(
"Sundanese");
925 case QLocale::Swahili:
return tr(
"Swahili");
926 case QLocale::Swedish:
return tr(
"Swedish");
928 case QLocale::Tahitian:
return tr(
"Tahitian");
929 case QLocale::Tajik:
return tr(
"Tajik");
930 case QLocale::Tamil:
return tr(
"Tamil");
931 case QLocale::Tatar:
return tr(
"Tatar");
932 case QLocale::Telugu:
return tr(
"Telugu");
933 case QLocale::Thai:
return tr(
"Thai");
934 case QLocale::Tongan:
return tr(
"Tongan");
935 case QLocale::Turkish:
return tr(
"Turkish");
936 case QLocale::Turkmen:
return tr(
"Turkmen");
938 case QLocale::Uighur:
return tr(
"Uighur");
939 case QLocale::Ukrainian:
return tr(
"Ukrainian");
940 case QLocale::Urdu:
return tr(
"Urdu");
941 case QLocale::Uzbek:
return tr(
"Uzbek");
942 case QLocale::Vietnamese:
return tr(
"Vietnamese");
943 case QLocale::Welsh:
return tr(
"Welsh");
944 case QLocale::Xhosa:
return tr(
"Xhosa");
945 case QLocale::Yiddish:
return tr(
"Yiddish");
946 case QLocale::Yoruba:
return tr(
"Yoruba");
948 case QLocale::Zulu:
return tr(
"Zulu");
950 if (thisLocale.name() ==
"HaitianCreole")
951 {
return tr(
"Haitian Creole"); }
952 else if (thisLocale.name() ==
"HillMari")
953 {
return tr(
"Hill Mari"); }
954 else if (thisLocale.name() ==
"Hmong")
955 {
return tr(
"Hmong"); }
956 else if (thisLocale.name() ==
"Klingon")
957 {
return tr(
"Klingon"); }
958 else if (thisLocale.name() ==
"KlingonPlqaD")
959 {
return tr(
"Klingon (PlqaD)"); }
960 else if (thisLocale.name() ==
"Kyrgyz")
961 {
return tr(
"Kyrgyz"); }
962 else if (thisLocale.name() ==
"LevantineArabic")
963 {
return tr(
"Levantine Arabic"); }
964 else if (thisLocale.name() ==
"Mari")
965 {
return tr(
"Mari"); }
966 else if (thisLocale.name() ==
"Myanmar")
967 {
return tr(
"Myanmar"); }
968 else if (thisLocale.name() ==
"Chichewa")
969 {
return tr(
"Chichewa"); }
970 else if (thisLocale.name() ==
"QueretaroOtomi")
971 {
return tr(
"Queretaro Otomi"); }
972 else if (thisLocale.name() ==
"ScotsGaelic")
973 {
return tr(
"Scots Gaelic"); }
974 else if (thisLocale.name() ==
"SerbianCyrillic")
975 {
return tr(
"Serbian (Cyrillic)"); }
976 else if (thisLocale.name() ==
"SerbianLatin")
977 {
return tr(
"Serbian (Latin)"); }
978 else if (thisLocale.name() ==
"Sesotho")
979 {
return tr(
"Sesotho"); }
980 else if (thisLocale.name() ==
"Tagalog")
981 {
return tr(
"Tagalog"); }
982 else if (thisLocale.name() ==
"Udmurt")
983 {
return tr(
"Udmurt"); }
984 else if (thisLocale.name() ==
"YucatecMaya")
985 {
return tr(
"Yucatec Maya"); }
995 if (isDebugMessage && isMainLoaded) {
return; }
996 switch (thisMessageType)
1011 qDebug() << thisMessage;
QString languageName(const QLocale &thisLocale)
language Name
void writeLanguage(const QString &thisCurrentLanguageCode)
write Language
MyLocalization(QObject *parent=nullptr, MyOrgSettings *thisSetting=nullptr)
TranslationFiles Constructor.
QString readLanguage()
read Language
void removeArgs(const QString &thisString, const QString &thisTransFile)
remove Args file creation
void setMainLoaded(bool thisMainLoaded)
set Main Loaded
QString languageNameFromFile(const QString &thisTranslationFile)
language Name From File
void setLanguageCode(const QString &thisLanguageCode)
set Language Code
QString languageNameToCode(const QString &lang)
language Name to Code Added by Light-Wizzard
QString getDefaultLanguageCode()
Added by Light-Wizzard language Code to Name.
QString getLanguageCode()
get Language Code
QStringList getQmFiles(const QString &thisFolder)
find Qm Files
QString getLanguageFromFile(const QString &thisPrefix, const QString &thisQmLanguageFile)
getLanguageFromFile
bool getDebugMessage()
get Debug Message
QString getLangCode(const QString &thisString)
get Lang Code
MyOrgSettings * mySetting
mySetting
void fileRemoveArgs()
file Remove Args
void setHelpSource(const QString &thisHelpSource)
set Help Source
QString getTranslationSource()
get Translation Source
void setDebugMessage(bool thisState)
set Debug Message
QString language(const QLocale &thisLocale)
language
void setTranslationSource(const QString &thisTranslationSource)
set Translation Source
QString getLocalizedCodeFromFile(const QString &thisPrefix, const QString &thisQmFile)
get Localized Code From File
void setTransFilePrefix(const QString &thisTransFilePrefix)
set TransFile Prefix
QString languageCodeToName(const QString &lang)
language Code to Name Added by Light-Wizzard
QStringList findTsFiles(const QString &thisFolder)
find Ts Files
bool languageMatch(const QString &thisPrefix, const QString &thisLang, const QString &thisQmFile)
language Match
QString getHelpSource()
get Help Source
bool getMainLoaded()
get Main Loaded
void fixTranslationFile(const QString &thisFile)
fix Translation File
QString getTransFilePrefix()
get TransFile Prefix
void loadLanguage(const QString &thisQmLanguageFile)
load Language
void setMessage(const QString &thisMessage, MyLocalization::MyMessageTypes thisMessageType)
set Message
QString getLanguageFile(const QString &thisLanguageCode, const QString &thisPath, const QString &thisPrefix)
get Language File. getLanguageFile
QString getLocalizerCode(const QString &thisPrefix, const QString &thisQmFile)
get Localizer Code
const QString MY_LOCALE_LANG_CODE
MY_CURRENT_LANG_CODE
const QString MY_LANG_CODE
MY_LANG_CODE
bool isFileExists(const QString &thisFile)
File Functions.
QString getAppDataLocation()
get AppData Location
bool writeFile(const QString &thisFileName, const QString &thisContent)
write File
QVariant showMessageBox(const QString &thisTitle, const QString &thisMessage, MyMessageTypes thisMessageType) const
show Message Box information, question, warning, critica
void writeSettings(const QString &thisSetting, const QString &thisValue)
write Settings
QString readSettings(const QString &thisSetting, const QString &thisDefault)
read Settings