1
0
mirror of https://github.com/d47081/qBittorrent.git synced 2025-02-02 09:55:55 +00:00

Merge pull request #6084 from Chocobo1/set_locale

Set default locale
This commit is contained in:
sledgehammer999 2017-01-20 20:14:20 +02:00 committed by GitHub
commit 1376d8fa7b
2 changed files with 16 additions and 24 deletions

View File

@ -511,36 +511,27 @@ void Application::initializeTranslation()
{ {
Preferences* const pref = Preferences::instance(); Preferences* const pref = Preferences::instance();
// Load translation // Load translation
QString locale = pref->getLocale(); QString localeStr = pref->getLocale();
QLocale::setDefault(QLocale(localeStr));
if (locale.isEmpty()) { if (
locale = QLocale::system().name();
pref->setLocale(locale);
}
if (m_qtTranslator.load(
#ifdef QBT_USES_QT5 #ifdef QBT_USES_QT5
QString::fromUtf8("qtbase_") + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath)) || m_qtTranslator.load(QString::fromUtf8("qtbase_") + localeStr, QLibraryInfo::location(QLibraryInfo::TranslationsPath)) ||
m_qtTranslator.load(
#endif #endif
QString::fromUtf8("qt_") + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) { m_qtTranslator.load(QString::fromUtf8("qt_") + localeStr, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
qDebug("Qt %s locale recognized, using translation.", qPrintable(locale)); qDebug("Qt %s locale recognized, using translation.", qPrintable(localeStr));
} else
else { qDebug("Qt %s locale unrecognized, using default (en).", qPrintable(localeStr));
qDebug("Qt %s locale unrecognized, using default (en).", qPrintable(locale));
}
installTranslator(&m_qtTranslator); installTranslator(&m_qtTranslator);
if (m_translator.load(QString::fromUtf8(":/lang/qbittorrent_") + locale)) { if (m_translator.load(QString::fromUtf8(":/lang/qbittorrent_") + localeStr))
qDebug("%s locale recognized, using translation.", qPrintable(locale)); qDebug("%s locale recognized, using translation.", qPrintable(localeStr));
} else
else { qDebug("%s locale unrecognized, using default (en).", qPrintable(localeStr));
qDebug("%s locale unrecognized, using default (en).", qPrintable(locale));
}
installTranslator(&m_translator); installTranslator(&m_translator);
#ifndef DISABLE_GUI #ifndef DISABLE_GUI
if (locale.startsWith("ar") || locale.startsWith("he")) { if (localeStr.startsWith("ar") || localeStr.startsWith("he")) {
qDebug("Right to Left mode"); qDebug("Right to Left mode");
setLayoutDirection(Qt::RightToLeft); setLayoutDirection(Qt::RightToLeft);
} }

View File

@ -31,8 +31,9 @@
*/ */
#include <QCryptographicHash> #include <QCryptographicHash>
#include <QPair>
#include <QDir> #include <QDir>
#include <QLocale>
#include <QPair>
#include <QSettings> #include <QSettings>
#ifndef DISABLE_GUI #ifndef DISABLE_GUI
@ -92,7 +93,7 @@ void Preferences::setValue(const QString &key, const QVariant &value)
// General options // General options
QString Preferences::getLocale() const QString Preferences::getLocale() const
{ {
return value("Preferences/General/Locale").toString(); return value("Preferences/General/Locale", QLocale::system().name()).toString();
} }
void Preferences::setLocale(const QString &locale) void Preferences::setLocale(const QString &locale)