mirror of
				https://github.com/arcan1s/qtadds.git
				synced 2025-11-03 23:33:43 +00:00 
			
		
		
		
	update language
This commit is contained in:
		
							
								
								
									
										12
									
								
								language/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								language/config.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					#ifndef LANGUAGE_CONFIG_H
 | 
				
			||||||
 | 
					#define LANGUAGE_CONFIG_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// put your languages here comma separated
 | 
				
			||||||
 | 
					// the first language is default language
 | 
				
			||||||
 | 
					#define LANGUAGES "en"
 | 
				
			||||||
 | 
					// language key in the configuration file
 | 
				
			||||||
 | 
					#define LANGUAGE_KEY "LANGUAGE"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* LANGUAGE_CONFIG_H */
 | 
				
			||||||
@ -21,15 +21,18 @@
 | 
				
			|||||||
#include <QFile>
 | 
					#include <QFile>
 | 
				
			||||||
#include <QLocale>
 | 
					#include <QLocale>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "config.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Language::Language()
 | 
					Language::Language()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
QString Language::checkLanguage(const QString language, const QString defaultLanguage)
 | 
					QString Language::checkLanguage(const QString language)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    QStringList availableLanguages = getAvailableLanguages();
 | 
					    QStringList availableLanguages = getAvailableLanguages();
 | 
				
			||||||
 | 
					    if (availableLanguages.count() == 0) return QString();
 | 
				
			||||||
    for (int i=0; i<availableLanguages.count(); i++)
 | 
					    for (int i=0; i<availableLanguages.count(); i++)
 | 
				
			||||||
        if (language == availableLanguages[i])
 | 
					        if (language == availableLanguages[i])
 | 
				
			||||||
            return availableLanguages[i];
 | 
					            return availableLanguages[i];
 | 
				
			||||||
@ -37,22 +40,22 @@ QString Language::checkLanguage(const QString language, const QString defaultLan
 | 
				
			|||||||
        if (language.contains(availableLanguages[i] + QChar('_')))
 | 
					        if (language.contains(availableLanguages[i] + QChar('_')))
 | 
				
			||||||
            return availableLanguages[i];
 | 
					            return availableLanguages[i];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return defaultLanguage;
 | 
					    return availableLanguages[0];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
QString Language::defineLanguage(const QString configPath, const QString options)
 | 
					QString Language::defineLanguage(const QString configPath, const QString options)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    QMap<QString, QString> optionsDict = parseOptions(options);
 | 
					    QMap<QString, QString> optionsDict = parseOptions(options);
 | 
				
			||||||
    if (optionsDict.contains(QString("LANGUAGE")))
 | 
					    if (optionsDict.contains(QString(LANGUAGE_KEY)))
 | 
				
			||||||
        if (getAvailableLanguages().contains(optionsDict[QString("LANGUAGE")]))
 | 
					        if (getAvailableLanguages().contains(optionsDict[QString(LANGUAGE_KEY)]))
 | 
				
			||||||
            return optionsDict[QString("LANGUAGE")];
 | 
					            return optionsDict[QString(LANGUAGE_KEY)];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    QString language;
 | 
					    QString language;
 | 
				
			||||||
    language = defineLanguageFromFile(configPath);
 | 
					    language = defineLanguageFromFile(configPath);
 | 
				
			||||||
    if (language.isEmpty())
 | 
					    if (language.isEmpty())
 | 
				
			||||||
        language = defineLanguageFromLocale();
 | 
					        language = defineLanguageFromLocale();
 | 
				
			||||||
    language = checkLanguage(language, QString("en"));
 | 
					    language = checkLanguage(language);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return language;
 | 
					    return language;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -78,8 +81,8 @@ QString Language::defineLanguageFromFile(const QString configPath)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    configFile.close();
 | 
					    configFile.close();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (settings.contains(QString("LANGUAGE")))
 | 
					    if (settings.contains(QString(LANGUAGE_KEY)))
 | 
				
			||||||
        return settings[QString("LANGUAGE")];
 | 
					        return settings[QString(LANGUAGE_KEY)];
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        return QString("");
 | 
					        return QString("");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -93,11 +96,7 @@ QString Language::defineLanguageFromLocale()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
QStringList Language::getAvailableLanguages()
 | 
					QStringList Language::getAvailableLanguages()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    QStringList languages;
 | 
					    return QString(LANGUAGES).split(QChar(','));
 | 
				
			||||||
    languages.append(QString("en"));
 | 
					 | 
				
			||||||
    // put your languages here
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return languages;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -27,8 +27,7 @@ class Language : public QObject
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit Language();
 | 
					    explicit Language();
 | 
				
			||||||
    static QString checkLanguage(const QString language,
 | 
					    static QString checkLanguage(const QString language);
 | 
				
			||||||
                                 const QString defaultLanguage = QString("en"));
 | 
					 | 
				
			||||||
    static QString defineLanguage(const QString configPath,
 | 
					    static QString defineLanguage(const QString configPath,
 | 
				
			||||||
                                  const QString options = QString("OPTIONS"));
 | 
					                                  const QString options = QString("OPTIONS"));
 | 
				
			||||||
    static QString defineLanguageFromFile(const QString configPath);
 | 
					    static QString defineLanguageFromFile(const QString configPath);
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user