Browse Source

Merge pull request #6084 from Chocobo1/set_locale

Set default locale
adaptive-webui-19844
sledgehammer999 8 years ago committed by GitHub
parent
commit
1376d8fa7b
  1. 35
      src/app/application.cpp
  2. 5
      src/base/preferences.cpp

35
src/app/application.cpp

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

5
src/base/preferences.cpp

@ -31,8 +31,9 @@ @@ -31,8 +31,9 @@
*/
#include <QCryptographicHash>
#include <QPair>
#include <QDir>
#include <QLocale>
#include <QPair>
#include <QSettings>
#ifndef DISABLE_GUI
@ -92,7 +93,7 @@ void Preferences::setValue(const QString &key, const QVariant &value) @@ -92,7 +93,7 @@ void Preferences::setValue(const QString &key, const QVariant &value)
// General options
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)

Loading…
Cancel
Save