QtLingo 1
QtLingo is an Application to make Qt Computer Translations easier
MyLocalization Class Reference

#include <MyLocalization.h>

Inheritance diagram for MyLocalization:

Public Types

enum  MyMessageTypes {
  Information = 100 , Question = 101 , Warning = 102 , Critical = 103 ,
  Debug = 104
}
 

Public Member Functions

 MyLocalization (QObject *parent=nullptr, MyOrgSettings *thisSetting=nullptr)
 TranslationFiles Constructor. More...
 
void setDebugMessage (bool thisState)
 set Debug Message More...
 
bool getDebugMessage ()
 get Debug Message More...
 
void setMessage (const QString &thisMessage, MyLocalization::MyMessageTypes thisMessageType)
 set Message More...
 
QStringList getQmFiles (const QString &thisFolder)
 find Qm Files More...
 
QStringList findTsFiles (const QString &thisFolder)
 find Ts Files More...
 
bool languageMatch (const QString &thisPrefix, const QString &thisLang, const QString &thisQmFile)
 language Match More...
 
QString languageNameFromFile (const QString &thisTranslationFile)
 language Name From File More...
 
QString getLocalizerCode (const QString &thisPrefix, const QString &thisQmFile)
 get Localizer Code More...
 
QString getLangCode (const QString &thisString)
 get Lang Code More...
 
void removeArgs (const QString &thisString, const QString &thisTransFile)
 remove Args file creation More...
 
void fileRemoveArgs ()
 file Remove Args More...
 
void fixTranslationFile (const QString &thisFile)
 fix Translation File More...
 
QString getLocalizedCodeFromFile (const QString &thisPrefix, const QString &thisQmFile)
 get Localized Code From File More...
 
QString languageNameToCode (const QString &lang)
 language Name to Code Added by Light-Wizzard More...
 
QString languageCodeToName (const QString &lang)
 language Code to Name Added by Light-Wizzard More...
 
QString getDefaultLanguageCode ()
 Added by Light-Wizzard language Code to Name. More...
 
void loadLanguage (const QString &thisQmLanguageFile)
 load Language More...
 
QString etLanguageFile (const QString &thisLanguageCode, const QString &thisPath, const QString &thisPrefix)
 get Language File More...
 
QString getLanguageFromFile (const QString &thisPrefix, const QString &thisQmLanguageFile)
 getLanguageFromFile More...
 
QString getTranslationSource ()
 get Translation Source More...
 
void setTranslationSource (const QString &thisTranslationSource)
 set Translation Source More...
 
QString getHelpSource ()
 get Help Source More...
 
void setHelpSource (const QString &thisHelpSource)
 set Help Source More...
 
QString getTransFilePrefix ()
 get TransFile Prefix More...
 
void setTransFilePrefix (const QString &thisTransFilePrefix)
 set TransFile Prefix More...
 
QString readLanguage ()
 read Language More...
 
void writeLanguage (const QString &thisCurrentLanguageCode)
 write Language More...
 
QString language (const QLocale &thisLocale)
 language More...
 
void setLanguageCode (const QString &thisLanguageCode)
 set Language Code More...
 
QString getLanguageCode ()
 get Language Code More...
 
void setMainLoaded (bool thisMainLoaded)
 set Main Loaded More...
 
bool getMainLoaded ()
 get Main Loaded More...
 
QString languageName (const QLocale &thisLocale)
 language Name More...
 
QString getLanguageFile (const QString &thisLanguageCode, const QString &thisPath, const QString &thisPrefix)
 get Language File. getLanguageFile More...
 

Public Attributes

MyOrgSettingsmySetting
 mySetting More...
 
const QString MY_LANG_CODE = "LanguageCode"
 MY_LANG_CODE More...
 
const QString MY_LANG_NAME = "LanguageName"
 MY_LANG_NAME More...
 
const QString MY_LOCALE_LANG_CODE = "LocaleLanguageCode"
 MY_CURRENT_LANG_CODE More...
 

Detailed Description

Definition at line 34 of file MyLocalization.h.

Member Enumeration Documentation

◆ MyMessageTypes

Enumerator
Information 

Information

Information

Question 

Question

Question

Warning 

Warning

Warning

Critical 

Critical

Critical

Debug 

Debug

Debug

Definition at line 39 of file MyLocalization.h.

40 {
41 Information = 100,
42 Question = 101,
43 Warning = 102,
44 Critical = 103,
45 Debug = 104,
46 }; // end enum MyFileinfo
@ Warning
Warning
@ Question
Question
@ Critical
Critical
@ Information
Information

Constructor & Destructor Documentation

◆ MyLocalization()

MyLocalization::MyLocalization ( QObject *  parent = nullptr,
MyOrgSettings thisSetting = nullptr 
)
explicit

TranslationFiles Constructor.

Translation Files Constructor. MyLocalization.

Definition at line 7 of file MyLocalization.cpp.

7 : QObject(parent), mySetting(thisSetting)
8{
9 myTranslator = new QTranslator(qApp);
10}
MyOrgSettings * mySetting
mySetting

Member Function Documentation

◆ etLanguageFile()

QString MyLocalization::etLanguageFile ( const QString &  thisLanguageCode,
const QString &  thisPath,
const QString &  thisPrefix 
)

get Language File

◆ fileRemoveArgs()

void MyLocalization::fileRemoveArgs ( )

file Remove Args

file Remove Args "String %1". fileRemoveArgs

Definition at line 177 of file MyLocalization.cpp.

178{
179 setMessage("fileRemoveArgs", Debug);
180 if (!myRemoveTransArgs.isEmpty())
181 {
182 QString theRemoveFileName = QString("%1").arg(mySetting->getAppDataLocation(), QDir::separator(), "RemoveArgFile.txt");
183 mySetting->writeFile(theRemoveFileName, myRemoveTransArgs);
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);
185 }
186} // end fileRemoveArgs
void setMessage(const QString &thisMessage, MyLocalization::MyMessageTypes thisMessageType)
set Message
@ Warning
Warning
Definition: MyOrgSettings.h:74
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

◆ findTsFiles()

QStringList MyLocalization::findTsFiles ( const QString &  thisFolder)

find Ts Files

find Ts Files. findTsFiles

Definition at line 252 of file MyLocalization.cpp.

253{
254 setMessage("findTsFiles", Debug);
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); }
259 return fileNames;
260}

◆ fixTranslationFile()

void MyLocalization::fixTranslationFile ( const QString &  thisFile)

fix Translation File

fix Translation File; mostly Arabic gets the value before the ID on some fields. fixTranslationFile

Definition at line 191 of file MyLocalization.cpp.

192{
193 setMessage("fixTranslationFile", Debug);
194 if (!mySetting->isFileExists(thisFile)) { mySetting->showMessageBox(tr("File not found").toLocal8Bit(), QString("%1: %2").arg(tr("File not found"), thisFile).toLocal8Bit(), mySetting->Critical); return; }
195 //
196 QString theNewFileContent;
197 QFile theInputTxtFile(thisFile);
198 if (theInputTxtFile.open(QIODevice::ReadOnly))
199 {
200 QTextStream theFileStream(&theInputTxtFile);
201 while (!theFileStream.atEnd())
202 {
203 QString theLine = theFileStream.readLine();
204 if (theLine.mid(0, 1) != "[")
205 {
206 QString theTransValue = theLine;
207 theTransValue.remove(QRegExp("\[([^)]+)\\]"));
208 //
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));
213 }
214 }
215 }
216} // end fixTranslationFile
bool isFileExists(const QString &thisFile)
File Functions.
@ Critical
Critical
Definition: MyOrgSettings.h:75

◆ getDebugMessage()

bool MyLocalization::getDebugMessage ( )

get Debug Message

get Debug Message. getDebugMessage

Definition at line 127 of file MyLocalization.cpp.

128{
129 setMessage("getDebugMessage", Debug);
130 return isDebugMessage;
131}

◆ getDefaultLanguageCode()

QString MyLocalization::getDefaultLanguageCode ( )

Added by Light-Wizzard language Code to Name.

languageCodeToName

Definition at line 308 of file MyLocalization.cpp.

309{
310 return language(QLocale());
311}
QString language(const QLocale &thisLocale)
language

◆ getHelpSource()

QString MyLocalization::getHelpSource ( )

get Help Source

get Help Source. getHelpSource

Definition at line 43 of file MyLocalization.cpp.

44{
45 setMessage("getHelpSource", Debug);
46 return myHelpSource;
47}

◆ getLangCode()

QString MyLocalization::getLangCode ( const QString &  thisString)

get Lang Code

get Lang Code. getLangCode

Definition at line 277 of file MyLocalization.cpp.

278{
279 setMessage("getLangCode", Debug);
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);
285}

◆ getLanguageCode()

QString MyLocalization::getLanguageCode ( )

get Language Code

get Debug Message. getDebugMessage

Definition at line 345 of file MyLocalization.cpp.

346{
347 setMessage("getLanguageCode", Debug);
348 if (myLanguageCode.isEmpty())
349 {
350 QString theLangCode = language(QLocale());
351 myLanguageCode = mySetting->readSettings(MY_LANG_CODE, theLangCode);
352 }
353 return myLanguageCode;
354}
const QString MY_LANG_CODE
MY_LANG_CODE
QString readSettings(const QString &thisSetting, const QString &thisDefault)
read Settings

◆ getLanguageFile()

QString MyLocalization::getLanguageFile ( const QString &  thisLanguageCode,
const QString &  thisPath,
const QString &  thisPrefix 
)

get Language File. getLanguageFile

Definition at line 98 of file MyLocalization.cpp.

99{
100 setMessage("getLanguageFile", Debug);
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)
106 {
107 if (languageMatch(thisPrefix, theLang, theQmFiles.at(i)))
108 {
109 return theQmFiles.at(i);
110 }
111 }
112 return "";
113}
QStringList getQmFiles(const QString &thisFolder)
find Qm Files
bool languageMatch(const QString &thisPrefix, const QString &thisLang, const QString &thisQmFile)
language Match

◆ getLanguageFromFile()

QString MyLocalization::getLanguageFromFile ( const QString &  thisPrefix,
const QString &  thisQmLanguageFile 
)

getLanguageFromFile

get Language File. getLanguageFromFile QString thisLangFile = getLanguageFromFile(getTransFilePrefix(), "?.qm");

Definition at line 16 of file MyLocalization.cpp.

17{
18 setMessage("getLanguageFromFile", Debug);
19 return getLocalizerCode(thisPrefix, thisQmLanguageFile);
20}
QString getLocalizerCode(const QString &thisPrefix, const QString &thisQmFile)
get Localizer Code

◆ getLocalizedCodeFromFile()

QString MyLocalization::getLocalizedCodeFromFile ( const QString &  thisPrefix,
const QString &  thisQmFile 
)

get Localized Code From File

language Match qmFile naming. languageMatch

Definition at line 148 of file MyLocalization.cpp.

149{
150 setMessage("getLocalizedCodeFromFile", Debug);
151 QFileInfo theFileInfo(thisQmFile);
152
153 QString theFileName = theFileInfo.baseName();
154 theFileName = theFileName.remove(QString("%1_").arg(thisPrefix));
155 if (theFileName.contains("_"))
156 {
157 if (!theFileName.contains("zh"))
158 {
159 theFileName = theFileName.section("_", 0, 0);
160 }
161 }
162 return theFileName;
163}

◆ getLocalizerCode()

QString MyLocalization::getLocalizerCode ( const QString &  thisPrefix,
const QString &  thisQmFile 
)

get Localizer Code

get Localizer Code. getLocalizerCode

Definition at line 265 of file MyLocalization.cpp.

266{
267 setMessage("getLocalizerCode", Debug);
268 QString theQmLang = getLocalizedCodeFromFile(thisPrefix, thisQmFile);
269 if (theQmLang.contains("_"))
270 { theQmLang = theQmLang.replace("_", "-"); }
271 return languageCodeToName(theQmLang);
272}
QString getLocalizedCodeFromFile(const QString &thisPrefix, const QString &thisQmFile)
get Localized Code From File
QString languageCodeToName(const QString &lang)
language Code to Name Added by Light-Wizzard

◆ getMainLoaded()

bool MyLocalization::getMainLoaded ( )

get Main Loaded

get Main Loaded. getMainLoaded

Definition at line 368 of file MyLocalization.cpp.

369{
370 setMessage("getMainLoaded", Debug);
371 return isMainLoaded;
372}

◆ getQmFiles()

QStringList MyLocalization::getQmFiles ( const QString &  thisFolder)

find Qm Files

find Qm Files. findQmFiles

Definition at line 237 of file MyLocalization.cpp.

238{
239 setMessage("findQmFiles", Debug);
240 QDir dir(QString(":/%1").arg(thisFolder));
241 QStringList fileNames = dir.entryList(QStringList("*.qm"), QDir::Files, QDir::Name);
242 for (QString &fileName : fileNames)
243 {
244 fileName = dir.filePath(fileName);
245 }
246 return fileNames;
247}

◆ getTransFilePrefix()

QString MyLocalization::getTransFilePrefix ( )

get TransFile Prefix

get Trans File Prefix. getTransFilePrefix

Definition at line 61 of file MyLocalization.cpp.

62{
63 setMessage("getTransFilePrefix", Debug);
64 return myTransFilePrefix;
65}

◆ getTranslationSource()

QString MyLocalization::getTranslationSource ( )

get Translation Source

get Translation Source. getTranslationSource

Definition at line 25 of file MyLocalization.cpp.

26{
27 setMessage("getTranslationSource", Debug);
28 return myTranslationSource;
29}

◆ language()

QString MyLocalization::language ( const QLocale &  thisLocale)

language

language. language

Parameters
thisLocaleQLocale given QLocale() returns Country Code

Definition at line 378 of file MyLocalization.cpp.

379{
380 setMessage("language", Debug);
381 switch (thisLocale.language())
382 {
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");
423 //case QLocale::HillMari: return QStringLiteral("mrj");
424 //case QLocale::HmongNjua Hmong:return QStringLiteral("hmn");
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");
438 //case QLocale::Klingon: return QStringLiteral("tlh");
439 //case QLocale::KlingonPlqaD: return QStringLiteral("tlh-Qaak");
440 //case QLocale::Kyrgyzstan: return QStringLiteral("ky");
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");
446 //case QLocale::LevantineArabic:return QStringLiteral("apc");
447 //case QLocale::Mari: return QStringLiteral("mhr");
448 //case QLocale::Myanmar: return QStringLiteral("my");
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");
461 //case QLocale::QueretaroOtomi: return QStringLiteral("otq");
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");
482 //case QLocale::SerbianLatin: return QStringLiteral("sr-Latin");
483 //case QLocale::Sesotho: return QStringLiteral("st");
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");
492 //case QLocale::Tagalog: return QStringLiteral("tl");
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");
499 //case QLocale::Udmurt: return QStringLiteral("udm");
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");
505 //case QLocale::YucatecMaya: return QStringLiteral("yua");
506 case QLocale::Zulu: return QStringLiteral("zu");
507 default:
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");
545 }
546} // end language(const QLocale

◆ languageCodeToName()

QString MyLocalization::languageCodeToName ( const QString &  lang)

language Code to Name Added by Light-Wizzard

Added by Light-Wizzard language Code to Name.

languageCodeToName

Definition at line 299 of file MyLocalization.cpp.

300{
301 setMessage("languageCodeToName", Debug);
302 return s_genericLanguageCodeToName.value(lang);
303} // end languageCodeToName

◆ languageMatch()

bool MyLocalization::languageMatch ( const QString &  thisPrefix,
const QString &  thisLang,
const QString &  thisQmFile 
)

language Match

language Match qmFile naming. languageMatch

Definition at line 221 of file MyLocalization.cpp.

222{
223 setMessage("languageMatch", Debug);
224 // qmFile: ProjectName_xx.qm
225 QString theLang = thisLang;
226 QString theLocalizer = getLocalizedCodeFromFile(thisPrefix, thisQmFile);
227 if (theLocalizer.contains("_"))
228 { theLocalizer = theLocalizer.section("_", 0, 0); }
229 if (thisLang.contains("_"))
230 { theLang = thisLang.section("_", 0, 0); }
231 return theLocalizer == theLang;
232}

◆ languageName()

QString MyLocalization::languageName ( const QLocale &  thisLocale)

language Name

language Name. languageName

Definition at line 820 of file MyLocalization.cpp.

821{
822 switch (thisLocale.language())
823 {
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");
859 //case QLocale::HaitianCreole: return tr("Haitian Creole");
860 case QLocale::Hausa: return tr("Hausa");
861 case QLocale::Hawaiian: return tr("Hawaiian");
862 case QLocale::Hebrew: return tr("Hebrew");
863 //case QLocale::HillMari: return tr("Hill Mari");
864 case QLocale::Hindi: return tr("Hindi");
865 //case QLocale::Hmong: return tr("Hmong");
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");
878 //case QLocale::Klingon: return tr("Klingon");
879 //case QLocale::KlingonPlqaD: return tr("Klingon (PlqaD)");
880 case QLocale::Korean: return tr("Korean");
881 case QLocale::Kurdish: return tr("Kurdish");
882 //case QLocale::Kyrgyz: return tr("Kyrgyz");
883 case QLocale::Lao: return tr("Lao");
884 case QLocale::Latin: return tr("Latin");
885 case QLocale::Latvian: return tr("Latvian");
886 //case QLocale::LevantineArabic: return tr("Levantine Arabic");
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");
896 //case QLocale::Mari: return tr("Mari");
897 case QLocale::Mongolian: return tr("Mongolian");
898 //case QLocale::Myanmar: return tr("Myanmar");
899 case QLocale::Nepali: return tr("Nepali");
900 //case QLocale::Norwegian: return tr("Norwegian");
901 case QLocale::Oriya: return tr("Oriya");
902 //case QLocale::Chichewa: return tr("Chichewa");
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");
909 //case QLocale::QueretaroOtomi: return tr("Queretaro Otomi");
910 case QLocale::Romanian: return tr("Romanian");
911 case QLocale::Russian: return tr("Russian");
912 case QLocale::Samoan: return tr("Samoan");
913 //case QLocale::ScotsGaelic: return tr("Scots Gaelic");
914 //case QLocale::SerbianCyrillic: return tr("Serbian (Cyrillic)");
915 //case QLocale::SerbianLatin: return tr("Serbian (Latin)");
916 //case QLocale::Sesotho: return tr("Sesotho");
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");
927 //case QLocale::Tagalog: return tr("Tagalog");
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");
937 //case QLocale::Udmurt: return tr("Udmurt");
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");
947 //case QLocale::YucatecMaya: return tr("Yucatec Maya");
948 case QLocale::Zulu: return tr("Zulu");
949 default:
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"); }
986 return QString();
987 } // end switch (lang)
988} // end languageName(Language lang)

◆ languageNameFromFile()

QString MyLocalization::languageNameFromFile ( const QString &  thisTranslationFile)

language Name From File

language Name From File. languageNameFromFile

Definition at line 136 of file MyLocalization.cpp.

137{
138 setMessage("languageNameFromFile", Debug);
139 QTranslator translator;
140 translator.load(thisTranslationFile);
141 // FIXME
142 return translator.translate("MainWindow", "English");
143}

◆ languageNameToCode()

QString MyLocalization::languageNameToCode ( const QString &  lang)

language Name to Code Added by Light-Wizzard

Added by Light-Wizzard language Name to Code. languageNameToCode.

Definition at line 290 of file MyLocalization.cpp.

291{
292 setMessage("languageNameToCode", Debug);
293 return s_genericLanguageNameToCode.value(lang);
294} // end languageNameToCode

◆ loadLanguage()

void MyLocalization::loadLanguage ( const QString &  thisQmLanguageFile)

load Language

load Language. loadLanguage

Definition at line 79 of file MyLocalization.cpp.

80{
81 setMessage("loadLanguage", Debug);
82
83 if (myTranslator->load(thisQmLanguageFile))
84 {
85 if (myLastTranslator == nullptr ) { qApp->removeTranslator(myLastTranslator); }
86 qApp->installTranslator(myTranslator);
87 myLastTranslator = myTranslator;
88 }
89 else
90 {
91 qCritical() << "loadLanguage failed";
92 }
93}

◆ readLanguage()

QString MyLocalization::readLanguage ( )

read Language

read Language. readLanguage

Definition at line 316 of file MyLocalization.cpp.

317{
318 setMessage("readLanguage", Debug);
320 return myLanguageCode;
321}
void setLanguageCode(const QString &thisLanguageCode)
set Language Code
QString getDefaultLanguageCode()
Added by Light-Wizzard language Code to Name.
const QString MY_LOCALE_LANG_CODE
MY_CURRENT_LANG_CODE

◆ removeArgs()

void MyLocalization::removeArgs ( const QString &  thisString,
const QString &  thisTransFile 
)

remove Args file creation

remove Args like "String %1" list. removeArgs

Definition at line 168 of file MyLocalization.cpp.

169{
170 setMessage("removeArgs", Debug);
171 myRemoveTransArgs.append(QString("%1 |%2| in file %3").arg(tr("Remove Arguments that use Percent Sign x"), thisString, thisTransFile));
172} // end removeArgs

◆ setDebugMessage()

void MyLocalization::setDebugMessage ( bool  thisState)

set Debug Message

set Debug Message. setDebugMessage

Definition at line 118 of file MyLocalization.cpp.

119{
120 isDebugMessage = thisState;
121 setMessage("setDebugMessage", Debug);
122}

◆ setHelpSource()

void MyLocalization::setHelpSource ( const QString &  thisHelpSource)

set Help Source

set Help Source. setHelpSource

Definition at line 52 of file MyLocalization.cpp.

53{
54 setMessage("setHelpSource", Debug);
55 myHelpSource = thisHelpSource;
56}

◆ setLanguageCode()

void MyLocalization::setLanguageCode ( const QString &  thisLanguageCode)

set Language Code

set Debug Message. setDebugMessage

Definition at line 336 of file MyLocalization.cpp.

337{
338 setMessage("setLanguageCode", Debug);
339 myLanguageCode = thisLanguageCode;
340}

◆ setMainLoaded()

void MyLocalization::setMainLoaded ( bool  thisMainLoaded)

set Main Loaded

language. language

Definition at line 359 of file MyLocalization.cpp.

360{
361 setMessage("setMainLoaded", Debug);
362 isMainLoaded = thisMainLoaded;
363}

◆ setMessage()

void MyLocalization::setMessage ( const QString &  thisMessage,
MyLocalization::MyMessageTypes  thisMessageType 
)

set Message

set Message. setMessage

Definition at line 993 of file MyLocalization.cpp.

994{
995 if (isDebugMessage && isMainLoaded) { return; }
996 switch (thisMessageType)
997 {
998 case Information:
999 mySetting->showMessageBox(thisMessage, thisMessage, mySetting->Information);
1000 break;
1001 case Warning:
1002 mySetting->showMessageBox(thisMessage, thisMessage, mySetting->Warning);
1003 break;
1004 case Critical:
1005 mySetting->showMessageBox(thisMessage, thisMessage, mySetting->Critical);
1006 break;
1007 case Question:
1008 case Debug:
1009 if (isDebugMessage)
1010 {
1011 qDebug() << thisMessage;
1012 //std::cout << thisMessage.toStdString() << std::endl;
1013 }
1014 break;
1015 }
1016}
@ Information
Information
Definition: MyOrgSettings.h:72

◆ setTransFilePrefix()

void MyLocalization::setTransFilePrefix ( const QString &  thisTransFilePrefix)

set TransFile Prefix

set Trans File Prefix setTransFilePrefix("ProjectName");. setTransFilePrefix

Definition at line 70 of file MyLocalization.cpp.

71{
72 setMessage("setTransFilePrefix", Debug);
73 myTransFilePrefix = thisTransFilePrefix;
74}

◆ setTranslationSource()

void MyLocalization::setTranslationSource ( const QString &  thisTranslationSource)

set Translation Source

set Translation Source. setTranslationSource

Definition at line 34 of file MyLocalization.cpp.

35{
36 setMessage("setTranslationSource", Debug);
37 myTranslationSource = thisTranslationSource;
38}

◆ writeLanguage()

void MyLocalization::writeLanguage ( const QString &  thisCurrentLanguageCode)

write Language

write Language. writeLanguage

Definition at line 326 of file MyLocalization.cpp.

327{
328 setMessage("writeLanguage", Debug);
329 setLanguageCode(thisCurrentLanguageCode);
330 mySetting->writeSettings(MY_LOCALE_LANG_CODE, thisCurrentLanguageCode);
331}
void writeSettings(const QString &thisSetting, const QString &thisValue)
write Settings

Member Data Documentation

◆ MY_LANG_CODE

const QString MyLocalization::MY_LANG_CODE = "LanguageCode"

MY_LANG_CODE

Field Name for Language Code

Definition at line 53 of file MyLocalization.h.

◆ MY_LANG_NAME

const QString MyLocalization::MY_LANG_NAME = "LanguageName"

MY_LANG_NAME

Field Name for Language Name

Definition at line 54 of file MyLocalization.h.

◆ MY_LOCALE_LANG_CODE

const QString MyLocalization::MY_LOCALE_LANG_CODE = "LocaleLanguageCode"

MY_CURRENT_LANG_CODE

Field Name for Current Language Code.

Definition at line 55 of file MyLocalization.h.

◆ mySetting

MyOrgSettings* MyLocalization::mySetting

mySetting

Domain Settings

Definition at line 51 of file MyLocalization.h.


The documentation for this class was generated from the following files: