diff options
author | Shawn Rutledge <shawn.rutledge@digia.com> | 2014-09-04 14:29:21 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@digia.com> | 2014-10-01 15:14:23 +0200 |
commit | 427646b8d7c52e5b84240e07ffd391217ce3bfa8 (patch) | |
tree | f02ed979b7f0c0b3620689bf921f040eb87c00b3 /tools | |
parent | b9f143945982ae1775c69b9a09dc5e3912a17324 (diff) |
use the new form of QTranslator::load() for more flexibility
As the docs explain, the variant of QTranslator::load() taking a
const QLocale& is better because it "uses QLocale::uiLanguages()
and not simply the locale name, which refers to the formatting of
dates and numbers and not necessarily the UI language." And, using
a default-constructed QLocale permits QLocale::setDefault() to
override the system locale, so for example an application's
main.cpp can do that before constructing a QQmlApplicationEngine.
Task-number: QTBUG-7329
Change-Id: Ia29a4c894087c92b071c0fe484728866f2660fe6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qml/main.cpp | 6 | ||||
-rw-r--r-- | tools/qmlscene/main.cpp | 14 |
2 files changed, 10 insertions, 10 deletions
diff --git a/tools/qml/main.cpp b/tools/qml/main.cpp index 69ccd7a316..7a08562a13 100644 --- a/tools/qml/main.cpp +++ b/tools/qml/main.cpp @@ -450,10 +450,8 @@ int main(int argc, char *argv[]) verboseMode = false; #ifndef QT_NO_TRANSLATION - //qt_ translations loaded by QQmlApplicationEngine - QString sysLocale = QLocale::system().name(); - - if (!translationFile.isEmpty()) { //Note: installed before QQmlApplicationEngine's automatic translation loading + // qt_ translations are loaded by QQmlApplicationEngine + if (!translationFile.isEmpty()) { // Note: installed before QQmlApplicationEngine's automatic translation loading QTranslator translator; if (translator.load(translationFile)) { diff --git a/tools/qmlscene/main.cpp b/tools/qmlscene/main.cpp index 208226c8aa..7c2fd9fc32 100644 --- a/tools/qmlscene/main.cpp +++ b/tools/qmlscene/main.cpp @@ -307,7 +307,8 @@ static void displayFileDialog(Options *options) #ifndef QT_NO_TRANSLATION static void loadTranslationFile(QTranslator &translator, const QString& directory) { - translator.load(QLatin1String("qml_" )+QLocale::system().name(), directory + QLatin1String("/i18n")); + QLocale locale; + translator.load(locale, QLatin1String("qml"), QLatin1String("_"), directory + QLatin1String("/i18n")); QCoreApplication::installTranslator(&translator); } #endif @@ -415,17 +416,18 @@ int main(int argc, char ** argv) app.setOrganizationDomain("qt-project.org"); #ifndef QT_NO_TRANSLATION - QTranslator translator; + QLocale locale; QTranslator qtTranslator; - QString sysLocale = QLocale::system().name(); - if (qtTranslator.load(QLatin1String("qt_") + sysLocale, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) + if (qtTranslator.load(locale, QLatin1String("qt"), QLatin1String("_"), QLibraryInfo::location(QLibraryInfo::TranslationsPath))) app.installTranslator(&qtTranslator); - if (translator.load(QLatin1String("qmlscene_") + sysLocale, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) + + QTranslator translator; + if (translator.load(locale, QLatin1String("qmlscene"), QLatin1String("_"), QLibraryInfo::location(QLibraryInfo::TranslationsPath))) app.installTranslator(&translator); QTranslator qmlTranslator; if (!options.translationFile.isEmpty()) { - if (qmlTranslator.load(options.translationFile)) { + if (qmlTranslator.load(locale, options.translationFile)) { app.installTranslator(&qmlTranslator); } else { qWarning() << "Could not load the translation file" << options.translationFile; |