From 1773ee45320c262dfc55b2b760f849e7482d2fb9 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@digia.com> Date: Mon, 6 Oct 2014 10:28:36 +0200 Subject: [PATCH] Qt Designer: Load translations only when designer_<LANG>.qm is present. Try to load designer_<LANG>.qm first and load qt_<LANG>.qm only if the former succeeds. Task-number: QTBUG-41790 Change-Id: Id4862019edf81da81bf9d059c586bbfee18ab7e6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> --- src/designer/src/designer/qdesigner.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/designer/src/designer/qdesigner.cpp b/src/designer/src/designer/qdesigner.cpp index d55c504fb..b8136cab0 100644 --- a/src/designer/src/designer/qdesigner.cpp +++ b/src/designer/src/designer/qdesigner.cpp @@ -209,19 +209,14 @@ void QDesigner::initialize() QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); parseCommandLineArgs(files, resourceDir); - QTranslator *translator = new QTranslator(this); - QTranslator *qtTranslator = new QTranslator(this); - const QString localSysName = QLocale::system().name(); - QString translatorFileName = QStringLiteral("designer_"); - translatorFileName += localSysName; - translator->load(translatorFileName, resourceDir); - - translatorFileName = QStringLiteral("qt_"); - translatorFileName += localSysName; - qtTranslator->load(translatorFileName, resourceDir); - installTranslator(translator); - installTranslator(qtTranslator); + QScopedPointer<QTranslator> designerTranslator(new QTranslator(this)); + if (designerTranslator->load(QStringLiteral("designer_") + localSysName, resourceDir)) { + installTranslator(designerTranslator.take()); + QScopedPointer<QTranslator> qtTranslator(new QTranslator(this)); + if (qtTranslator->load(QStringLiteral("qt_") + localSysName, resourceDir)) + installTranslator(qtTranslator.take()); + } m_workbench = new QDesignerWorkbench(); -- GitLab