diff --git a/src/libs/utils/elfreader.cpp b/src/libs/utils/elfreader.cpp
index 2b2f5b03020c2bf8de383d698cbdc8a621b94151..a086721ee7d52f6e6192c34ed2f8d9af5550b94f 100644
--- a/src/libs/utils/elfreader.cpp
+++ b/src/libs/utils/elfreader.cpp
@@ -43,6 +43,7 @@
 #include "qtcassert.h"
 
 #include <QFile>
+#include <QDir>
 #include <QLibrary>
 #include <QDebug>
 
@@ -153,6 +154,12 @@ ElfData ElfReader::readHeaders()
     return m_elfData;
 }
 
+static inline QString msgInvalidElfObject(const QString &binary, const QString &why)
+{
+    return ElfReader::tr("'%1' is an invalid ELF object (%2)")
+           .arg(QDir::toNativeSeparators(binary), why);
+}
+
 ElfReader::Result ElfReader::readIt()
 {
     if (!m_elfData.sectionHeaders.isEmpty())
@@ -167,14 +174,12 @@ ElfReader::Result ElfReader::readIt()
     const quint64 fdlen = mapper.fdlen;
 
     if (fdlen < 64) {
-        m_errorString = QLibrary::tr("'%1' is not an ELF object (%2)")
-            .arg(m_binary).arg(QLatin1String("file too small"));
+        m_errorString = tr("'%1' is not an ELF object (file too small)").arg(QDir::toNativeSeparators(m_binary));
         return NotElf;
     }
 
     if (strncmp(mapper.start, "\177ELF", 4) != 0) {
-        m_errorString = QLibrary::tr("'%1' is not an ELF object")
-                .arg(m_binary);
+        m_errorString = tr("'%1' is not an ELF object").arg(QDir::toNativeSeparators(m_binary));
         return NotElf;
     }
 
@@ -182,8 +187,7 @@ ElfReader::Result ElfReader::readIt()
     m_elfData.elfclass = ElfClass(mapper.start[4]);
     const bool is64Bit = m_elfData.elfclass == Elf_ELFCLASS64;
     if (m_elfData.elfclass != Elf_ELFCLASS32 && m_elfData.elfclass != Elf_ELFCLASS64) {
-        m_errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)")
-            .arg(m_binary).arg(QLatin1String("odd cpu architecture"));
+        m_errorString = msgInvalidElfObject(m_binary, tr("odd cpu architecture"));
         return Corrupt;
     }
 
@@ -202,8 +206,7 @@ ElfReader::Result ElfReader::readIt()
     // Read Endianess.
     m_elfData.endian = ElfEndian(mapper.ustart[5]);
     if (m_elfData.endian != Elf_ELFDATA2LSB && m_elfData.endian != Elf_ELFDATA2MSB) {
-        m_errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)")
-            .arg(m_binary).arg(QLatin1String("odd endianess"));
+        m_errorString = msgInvalidElfObject(m_binary, tr("odd endianess"));
         return Corrupt;
     }
 
@@ -220,8 +223,7 @@ ElfReader::Result ElfReader::readIt()
     quint32 e_shsize  = getHalfWord(data, m_elfData);
 
     if (e_shsize > fdlen) {
-        m_errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)")
-            .arg(m_binary).arg(QLatin1String("unexpected e_shsize"));
+        m_errorString = msgInvalidElfObject(m_binary, tr("unexpected e_shsize"));
         return Corrupt;
     }
 
@@ -232,8 +234,7 @@ ElfReader::Result ElfReader::readIt()
     quint32 e_shentsize = getHalfWord(data, m_elfData);
 
     if (e_shentsize % 4) {
-        m_errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)")
-            .arg(m_binary).arg(QLatin1String("unexpected e_shentsize"));
+        m_errorString = msgInvalidElfObject(m_binary, tr("unexpected e_shentsize"));
         return Corrupt;
     }
 
@@ -242,10 +243,9 @@ ElfReader::Result ElfReader::readIt()
     QTC_CHECK(data == mapper.ustart + (is64Bit ? 64 : 52));
 
     if (quint64(e_shnum) * e_shentsize > fdlen) {
-        m_errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)")
-            .arg(m_binary)
-            .arg(QLatin1String("announced %2 sections, each %3 bytes, exceed file size"))
-            .arg(e_shnum).arg(e_shentsize);
+        const QString reason = tr("announced %1 sections, each %2 bytes, exceed file size")
+                              .arg(e_shnum).arg(e_shentsize);
+        m_errorString = msgInvalidElfObject(m_binary, reason);
         return Corrupt;
     }
 
@@ -266,10 +266,8 @@ ElfReader::Result ElfReader::readIt()
 
         if (quint32(stringTableFileOffset + e_shentsize) >= fdlen
                 || stringTableFileOffset == 0) {
-            m_errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)")
-                .arg(m_binary)
-                .arg(QLatin1String("string table seems to be at %1"))
-                .arg(QString::number(soff, 16));
+            const QString reason = tr("string table seems to be at 0x%1").arg(soff, 0, 16);
+            m_errorString = msgInvalidElfObject(m_binary, reason);
             return Corrupt;
         }
 
@@ -279,10 +277,9 @@ ElfReader::Result ElfReader::readIt()
             parseSectionHeader(s, &sh, m_elfData);
 
             if (stringTableFileOffset + sh.index > fdlen) {
-                m_errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)")
-                    .arg(m_binary)
-                    .arg(QLatin1String("section name %2 of %3 behind end of file"))
-                    .arg(i).arg(e_shnum);
+                const QString reason = tr("section name %1 of %2 behind end of file")
+                                       .arg(i).arg(e_shnum);
+                m_errorString = msgInvalidElfObject(m_binary, reason);
                 return Corrupt;
             }
 
diff --git a/src/libs/utils/elfreader.h b/src/libs/utils/elfreader.h
index 115d8d993490ffb3be1ea8b835bee1edc3e063d1..c9da1c158a35a9bb33083d82e721e4d125c0a8f4 100644
--- a/src/libs/utils/elfreader.h
+++ b/src/libs/utils/elfreader.h
@@ -47,6 +47,7 @@
 #include <qendian.h>
 #include <qstring.h>
 #include <qvector.h>
+#include <qcoreapplication.h>
 
 namespace Utils {
 
@@ -167,6 +168,7 @@ public:
 
 class QTCREATOR_UTILS_EXPORT ElfReader
 {
+    Q_DECLARE_TR_FUNCTIONS(Utils::ElfReader)
 public:
     explicit ElfReader(const QString &binary);
     enum Result { Ok, NotElf, Corrupt };
diff --git a/src/libs/zeroconf/servicebrowser.cpp b/src/libs/zeroconf/servicebrowser.cpp
index dcdd884e31159d6af5aed82f7734e6371580518a..4e3c04bd7781cc7bd3b19f39c2c065dcbb123465 100644
--- a/src/libs/zeroconf/servicebrowser.cpp
+++ b/src/libs/zeroconf/servicebrowser.cpp
@@ -1518,7 +1518,7 @@ void ServiceBrowserPrivate::startBrowsing(quint32 interfaceIndex)
     if (failed || browsing)
         return;
     if (mainConnection.isNull()) {
-        startupPhase(1, q->tr("Starting Zeroconf Browsing"));
+        startupPhase(1, ServiceBrowser::tr("Starting Zeroconf Browsing"));
         mainConnection = MainConnectionPtr(new MainConnection(this));
     } else {
         mainConnection->addBrowser(this);
diff --git a/src/plugins/android/androidcreatekeystorecertificate.ui b/src/plugins/android/androidcreatekeystorecertificate.ui
index 9a0cb0a02d91b223c76293ef06a3bc015e59f3f9..ab92627dc797d9dece9a20a923e607df903ce92d 100644
--- a/src/plugins/android/androidcreatekeystorecertificate.ui
+++ b/src/plugins/android/androidcreatekeystorecertificate.ui
@@ -11,7 +11,7 @@
    </rect>
   </property>
   <property name="windowTitle">
-   <string>Create a keystore and a cetificate</string>
+   <string>Create a keystore and a certificate</string>
   </property>
   <layout class="QGridLayout" name="gridLayout_4">
    <item row="0" column="0">
diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp
index 87cc134847852e5e4b09cd08adabc4302cf7754f..aa00bc1be768a4f629453d0ccdbd341f8469ce24 100644
--- a/src/plugins/debugger/debuggerdialogs.cpp
+++ b/src/plugins/debugger/debuggerdialogs.cpp
@@ -204,7 +204,7 @@ AttachExternalDialog::AttachExternalDialog(QWidget *parent)
     d(new AttachExternalDialogPrivate)
 {
     setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
-    setWindowTitle(tr("Start Debugger", 0, QApplication::UnicodeUTF8));
+    setWindowTitle(tr("Start Debugger"));
     setMinimumHeight(500);
 
     d->selfPid = QString::number(QCoreApplication::applicationPid());