QtLingo 1
QtLingo is an Application to make Qt Computer Translations easier
MyLocalization.h
Go to the documentation of this file.
1#ifndef MY_LOCALIZATION_H
2#define MY_LOCALIZATION_H
3
4// Qx
5#include <QApplication>
6#include <QCoreApplication>
7#include <QDir>
8#include <QFileInfo>
9#include <QLocale>
10#include <QObject>
11#include <QRegularExpression>
12#include <QString>
13#include <QTranslator>
14#include <QWidget>
15#include <QXmlStreamReader>
16#include <QXmlStreamWriter>
17// Qt
18#include <QtDebug>
19#include <QTextStream>
20// STD
21#include <iostream>
22#include <assert.h>
23#include <algorithm>
24#include <sstream>
25#include <stdio.h>
26#include <stdlib.h>
27//
28#include "MyOrgSettings.h"
29// Local
30
34class MyLocalization : public QObject
35{
36 Q_OBJECT
37 public:
38 explicit MyLocalization(QObject *parent = nullptr, MyOrgSettings *thisSetting = nullptr);
40 {
42 Question = 101,
43 Warning = 102,
44 Critical = 103,
45 Debug = 104,
46 }; // end enum MyFileinfo
47 // Makes getting file Info easier
48 Q_ENUM(MyMessageTypes)
49 //
50 // Public
52 // Constants
53 const QString MY_LANG_CODE = "LanguageCode";
54 const QString MY_LANG_NAME = "LanguageName";
55 const QString MY_LOCALE_LANG_CODE = "LocaleLanguageCode";
56 // Is Debug Message
57 void setDebugMessage(bool thisState);
58 bool getDebugMessage();
59 void setMessage(const QString &thisMessage, MyLocalization::MyMessageTypes thisMessageType);
60 // Localization
61 QStringList getQmFiles(const QString &thisFolder);
62 QStringList findTsFiles(const QString &thisFolder);
63 bool languageMatch(const QString &thisPrefix, const QString &thisLang, const QString &thisQmFile);
64 QString languageNameFromFile(const QString &thisTranslationFile);
65 QString getLocalizerCode(const QString &thisPrefix, const QString &thisQmFile);
66 QString getLangCode(const QString &thisString);
67 void removeArgs(const QString &thisString, const QString &thisTransFile);
68 void fileRemoveArgs();
69 void fixTranslationFile(const QString &thisFile);
70 QString getLocalizedCodeFromFile(const QString &thisPrefix, const QString &thisQmFile);
71 // Added by Light-Wizzard
72 QString languageNameToCode(const QString &lang);
73 QString languageCodeToName(const QString &lang);
74 QString getDefaultLanguageCode();
75 //
76 void loadLanguage(const QString &thisQmLanguageFile);
77 QString etLanguageFile(const QString &thisLanguageCode, const QString &thisPath, const QString &thisPrefix);
78 QString getLanguageFromFile(const QString &thisPrefix, const QString &thisQmLanguageFile);
79 // Translation Source
80 QString getTranslationSource();
81 void setTranslationSource(const QString &thisTranslationSource);
82 // Help Source
83 QString getHelpSource();
84 void setHelpSource(const QString &thisHelpSource);
85 //
86 QString getTransFilePrefix();
87 void setTransFilePrefix(const QString &thisTransFilePrefix);
88 //
89 QString readLanguage();
90 void writeLanguage(const QString &thisCurrentLanguageCode);
91 QString language(const QLocale &thisLocale);
92 // Language Code
93 void setLanguageCode(const QString &thisLanguageCode);
94 QString getLanguageCode();
95 // Main Loaded
96 void setMainLoaded(bool thisMainLoaded);
97 bool getMainLoaded();
98
99 QString languageName(const QLocale &thisLocale);
100 QString getLanguageFile(const QString &thisLanguageCode, const QString &thisPath, const QString &thisPrefix);
101
102 private:
103 static const QMap<QString, QString> s_genericLanguageNameToCode;
104 static const QMap<QString, QString> s_genericLanguageCodeToName;
105 bool isDebugMessage = true;
106 QString myRemoveTransArgs;
107 QString myTranslationSource = "";
108 QString myHelpSource = "";
109 QString myTransFilePrefix = "";
110 bool isMainLoaded = false;
111 QTranslator *myTranslator;
112 QTranslator *myLastTranslator = nullptr;
113 QString myLanguageCode = "";
114
115};
116#endif // MY_LOCALIZATION_H
117
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
const QString MY_LANG_NAME
MY_LANG_NAME
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 etLanguageFile(const QString &thisLanguageCode, const QString &thisPath, const QString &thisPrefix)
get Language File
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
@ Warning
Warning
@ Question
Question
@ Critical
Critical
@ Information
Information
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
My Org Settings.
Definition: MyOrgSettings.h:35