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 <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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
3
sources/3rdparty/language/language.h
vendored
3
sources/3rdparty/language/language.h
vendored
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user