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