diff --git a/src/plugins/cppeditor/cppsnippetprovider.cpp b/src/plugins/cppeditor/cppsnippetprovider.cpp
index 9e099fdc5f1d185c929a1d002fc959070175c692..efa8371f04915336eed8c7cf2f3252bbefe531f2 100644
--- a/src/plugins/cppeditor/cppsnippetprovider.cpp
+++ b/src/plugins/cppeditor/cppsnippetprovider.cpp
@@ -44,6 +44,7 @@
 #include <texteditor/snippets/snippeteditor.h>
 
 #include <QtCore/QLatin1String>
+#include <QtCore/QCoreApplication>
 
 using namespace CppEditor;
 using namespace Internal;
@@ -62,7 +63,7 @@ QString CppSnippetProvider::groupId() const
 
 QString CppSnippetProvider::displayName() const
 {
-    return tr("C++");
+    return QCoreApplication::translate("CppEditor::Internal::CppSnippetProvider", "C++");
 }
 
 void CppSnippetProvider::decorateEditor(TextEditor::SnippetEditor *editor) const
diff --git a/src/plugins/debugger/debuggermainwindow.cpp b/src/plugins/debugger/debuggermainwindow.cpp
index ccfbf2613f617d950a51518c2aa2ad4e2eb8b8ff..d5e187fc0f7c53a412a3482ff0cb285699d6b983 100644
--- a/src/plugins/debugger/debuggermainwindow.cpp
+++ b/src/plugins/debugger/debuggermainwindow.cpp
@@ -475,7 +475,7 @@ QWidget *DebuggerMainWindow::createContents(IMode *mode)
     debugToolBarLayout->addStretch();
     debugToolBarLayout->addWidget(new Utils::StyledSeparator);
 
-    QDockWidget *dock = new QDockWidget(tr("Debugger Toolbar"));
+    QDockWidget *dock = new QDockWidget(DebuggerMainWindowPrivate::tr("Debugger Toolbar"));
     dock->setObjectName(QLatin1String("Debugger Toolbar"));
     dock->setWidget(debugToolBar);
     dock->setFeatures(QDockWidget::NoDockWidgetFeatures);
diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp
index 1f0e3cfc557de97d9cb0fd12082cc18bf79489d2..b7585b7ae2829e4504d35aa364860e0617c9bc65 100644
--- a/src/plugins/debugger/debuggerrunner.cpp
+++ b/src/plugins/debugger/debuggerrunner.cpp
@@ -536,7 +536,7 @@ bool DebuggerRunControlFactory::canRun(RunConfiguration *runConfiguration, const
 
 QString DebuggerRunControlFactory::displayName() const
 {
-    return tr("Debug");
+    return DebuggerRunControl::tr("Debug");
 }
 
 // Find Qt installation by running qmake
@@ -638,7 +638,7 @@ DebuggerRunControl *DebuggerRunControlFactory::create
 
     if (!check) {
         //appendMessage(errorMessage, true);
-        Core::ICore::instance()->showWarningWithOptions(tr("Debugger"),
+        Core::ICore::instance()->showWarningWithOptions(DebuggerRunControl::tr("Debugger"),
             check.errorMessage, QString(), check.settingsCategory, check.settingsPage);
         return 0;
     }
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 4fa7ee6609cac112907e59d771f3f02ca967ee3f..61c5b64d4c4400a1543b178b44760068cd9ae2c1 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -92,13 +92,9 @@ BaseGitArgumentsWidget::BaseGitArgumentsWidget(GitSettings *settings,
     Q_ASSERT(client);
 }
 
-} // namespace Internal
-} // namespace Git
-
-namespace {
-
 class BaseGitDiffArgumentsWidget : public Git::Internal::BaseGitArgumentsWidget
 {
+    Q_OBJECT
 public:
     BaseGitDiffArgumentsWidget(Git::Internal::GitSettings *settings,
                                Git::Internal::GitClient *client,
@@ -164,6 +160,7 @@ protected:
 
 class GitCommitDiffArgumentsWidget : public BaseGitDiffArgumentsWidget
 {
+    Q_OBJECT
 public:
     GitCommitDiffArgumentsWidget(Git::Internal::GitSettings *settings,
                                  Git::Internal::GitClient *client, const QString &directory,
@@ -186,6 +183,7 @@ private:
 
 class GitFileDiffArgumentsWidget : public BaseGitDiffArgumentsWidget
 {
+    Q_OBJECT
 public:
     GitFileDiffArgumentsWidget(Git::Internal::GitSettings *settings,
                                Git::Internal::GitClient *client, const QString &directory,
@@ -205,6 +203,7 @@ private:
 
 class GitBranchDiffArgumentsWidget : public BaseGitDiffArgumentsWidget
 {
+    Q_OBJECT
 public:
     GitBranchDiffArgumentsWidget(Git::Internal::GitSettings *settings,
                                  Git::Internal::GitClient *client, const QString &directory,
@@ -224,6 +223,7 @@ private:
 
 class GitShowArgumentsWidget : public Git::Internal::BaseGitArgumentsWidget
 {
+    Q_OBJECT
 public:
     GitShowArgumentsWidget(Git::Internal::GitSettings *settings,
                            Git::Internal::GitClient *client,
@@ -289,6 +289,7 @@ private:
 
 class GitBlameArgumentsWidget : public Git::Internal::BaseGitArgumentsWidget
 {
+    Q_OBJECT
 public:
     GitBlameArgumentsWidget(Git::Internal::GitSettings *settings,
                             Git::Internal::GitClient *client, const QString &directory,
@@ -365,8 +366,6 @@ private:
     QString m_fileName;
 };
 
-} // namespace
-
 inline Core::IEditor* locateEditor(const Core::ICore *core, const char *property, const QString &entry)
 {
     foreach (Core::IEditor *ed, core->editorManager()->openedEditors())
@@ -400,9 +399,6 @@ static inline VCSBase::VCSBaseOutputWindow *outputWindow()
     return VCSBase::VCSBaseOutputWindow::instance();
 }
 
-namespace Git {
-namespace Internal {
-
 static inline QString msgRepositoryNotFound(const QString &dir)
 {
     return GitClient::tr("Unable to determine the repository for %1.").arg(dir);
@@ -2457,3 +2453,5 @@ unsigned GitClient::synchronousGitVersion(bool silent, QString *errorMessage /*
 
 } // namespace Internal
 } // namespace Git
+
+#include "gitclient.moc"
diff --git a/src/plugins/help/helpmode.cpp b/src/plugins/help/helpmode.cpp
index 28d7552cecbd207bacec1a078f68bf0917f060cf..2598925104ac5d2094d64976b053941bb96deecf 100644
--- a/src/plugins/help/helpmode.cpp
+++ b/src/plugins/help/helpmode.cpp
@@ -34,8 +34,7 @@
 #include "helpmode.h"
 #include "helpconstants.h"
 
-#include <QtGui/QIcon>
-#include <QtGui/QWidget>
+#include <QtCore/QCoreApplication>
 
 using namespace Help;
 using namespace Help::Internal;
@@ -47,3 +46,23 @@ HelpMode::HelpMode(QObject *parent)
 {
     setObjectName(QLatin1String("HelpMode"));
 }
+
+QString HelpMode::displayName() const
+{
+    return QCoreApplication::translate("Help::Internal::HelpMode", "Help");
+}
+
+int HelpMode::priority() const
+{
+    return Constants::P_MODE_HELP;
+}
+
+QString HelpMode::id() const
+{
+    return QLatin1String(Constants::ID_MODE_HELP);
+}
+
+Core::Context HelpMode::context() const
+{
+    return Core::Context(Constants::C_MODE_HELP);
+}
diff --git a/src/plugins/help/helpmode.h b/src/plugins/help/helpmode.h
index 36bc0c8509ef833319f3bd04244453bdd372c594..e125fd3b281a02a476a1206392483ad465ae7268 100644
--- a/src/plugins/help/helpmode.h
+++ b/src/plugins/help/helpmode.h
@@ -34,9 +34,6 @@
 #ifndef HELPMODE_H
 #define HELPMODE_H
 
-#include "helpmode.h"
-#include "helpconstants.h"
-
 #include <coreplugin/imode.h>
 
 #include <QtCore/QString>
@@ -48,15 +45,15 @@ namespace Internal {
 class HelpMode : public Core::IMode
 {
 public:
-    HelpMode(QObject *parent = 0);
+    explicit HelpMode(QObject *parent = 0);
 
-    QString displayName() const { return tr("Help"); }
+    QString displayName() const;
     QIcon icon() const { return m_icon; }
-    int priority() const { return Constants::P_MODE_HELP; }
+    int priority() const;
     QWidget *widget() { return m_widget; }
-    QString id() const { return QLatin1String(Constants::ID_MODE_HELP); }
+    QString id() const;
     QString type() const { return QString(); }
-    Core::Context context() const { return Core::Context(Constants::C_MODE_HELP); }
+    Core::Context context() const;
     QString contextHelpId() const { return QString(); }
     void setWidget(QWidget *widget) { m_widget = widget; }
 
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 11de2003128dd2004505628902f5fc487a8d0539..1d01d0c284d7e84923e4f7cdd655e74ab621e492 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -221,7 +221,7 @@ class ProjectsMode : public Core::IMode
 public:
     ProjectsMode(QWidget *proWindow) : m_widget(proWindow) {}
 
-    QString displayName() const { return tr("Projects"); }
+    QString displayName() const { return QCoreApplication::translate("ProjectExplorer::ProjectsMode", "Projects"); }
     QIcon icon() const { return QIcon(QLatin1String(":/fancyactionbar/images/mode_Project.png")); }
     int priority() const { return Constants::P_MODE_SESSION; }
     QWidget *widget() { return m_widget; }
diff --git a/src/plugins/qmldesigner/components/formeditor/itemcreatortool.cpp b/src/plugins/qmldesigner/components/formeditor/itemcreatortool.cpp
index aa01499a6371f6526d58d8a4f285379c7f173375..473b3303fb574163a94fd0700048ff981a3b810d 100644
--- a/src/plugins/qmldesigner/components/formeditor/itemcreatortool.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/itemcreatortool.cpp
@@ -183,7 +183,7 @@ void ItemCreatorTool::createAtItem(const QRectF &rect)
     if (list.first() == "item") {
         RewriterTransaction transaction = view()->beginRewriterTransaction();
         Q_ASSERT(false); //this code is out of date
-        ItemLibraryEntry itemLibraryEntry; //= view()->model()->metaInfo().itemLibraryInfo()->entry(list.at(1));
+        ItemLibraryEntry itemLibraryEntry; // = view()->model()->metaInfo().itemLibraryInfo()->entry(list.at(1));
         QmlItemNode newNode = view()->createQmlItemNode(itemLibraryEntry, pos, parentNode);
         newNode.modelNode().variantProperty("width") = rect.width();
         newNode.modelNode().variantProperty("height") = rect.height();
diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorimageprovider.h b/src/plugins/qmldesigner/components/stateseditor/stateseditorimageprovider.h
index 8c8d2d6e003329b644bb7d4b60ad71382e34571f..1ca788dc801078752e7c12a609c57a385b0f867b 100644
--- a/src/plugins/qmldesigner/components/stateseditor/stateseditorimageprovider.h
+++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorimageprovider.h
@@ -34,12 +34,12 @@
 #ifndef STATESEDITORIMAGEPROVIDER_H
 #define STATESEDITORIMAGEPROVIDER_H
 
-#include <QDeclarativeImageProvider>
-#include <QWeakPointer>
 #include"abstractview.h"
 
-namespace QmlDesigner {
+#include <QtDeclarative/QDeclarativeImageProvider>
+#include <QtCore/QWeakPointer>
 
+namespace QmlDesigner {
 namespace Internal {
 
 class StatesEditorView;
@@ -57,9 +57,8 @@ private:
     QWeakPointer<NodeInstanceView> m_nodeInstanceView;
 };
 
-}
-
-}
+} // namespace Internal
+} // namespace QmlDesigner
 
 #endif // STATESEDITORIMAGEPROVIDER_H
 
diff --git a/src/plugins/qmljseditor/qmljssnippetprovider.cpp b/src/plugins/qmljseditor/qmljssnippetprovider.cpp
index 42b260d06a63da9e6124c86121fa845c452ce088..96fee49d9530a0429f6ec6bf34a7bf712942c9f5 100644
--- a/src/plugins/qmljseditor/qmljssnippetprovider.cpp
+++ b/src/plugins/qmljseditor/qmljssnippetprovider.cpp
@@ -44,6 +44,7 @@
 #include <texteditor/snippets/snippeteditor.h>
 
 #include <QtCore/QLatin1String>
+#include <QtCore/QCoreApplication>
 
 using namespace QmlJSEditor;
 using namespace Internal;
@@ -62,7 +63,7 @@ QString QmlJSSnippetProvider::groupId() const
 
 QString QmlJSSnippetProvider::displayName() const
 {
-    return tr("QML");
+    return QCoreApplication::translate("QmlJSEditor::Internal::QmlJSSnippetProvider", "QML");
 }
 
 void QmlJSSnippetProvider::decorateEditor(TextEditor::SnippetEditor *editor) const
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp
index f7cdaf73e1367229337656d4c34078db3bedf60d..dfcc9f50f32388fa8ac5ce54040fb54b7e762f2b 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp
@@ -36,20 +36,19 @@
 #include "maemoconstants.h"
 #include "maemodeviceconfigurations.h"
 
+#include <projectexplorer/projectexplorerconstants.h>
+
 #include <coreplugin/filemanager.h>
 #include <coreplugin/ssh/sshconnection.h>
 #include <qt4projectmanager/qt4projectmanagerconstants.h>
 #include <qt4projectmanager/qtversionmanager.h>
 #include <utils/environment.h>
 
-#include <QtCore/QCoreApplication>
 #include <QtGui/QDesktopServices>
 #include <QtCore/QDir>
 #include <QtCore/QProcess>
 #include <QtCore/QString>
 
-#define TR(text) QCoreApplication::translate("Qt4ProjectManager::Internal::MaemoGlobal", text)
-
 namespace Qt4ProjectManager {
 namespace Internal {
 namespace {
@@ -136,23 +135,23 @@ QString MaemoGlobal::remoteEnvironment(const QList<Utils::EnvironmentItem> &list
 QString MaemoGlobal::failedToConnectToServerMessage(const Core::SshConnection::Ptr &connection,
     const MaemoDeviceConfig::ConstPtr &deviceConfig)
 {
-    QString errorMsg = TR("Could not connect to host: %1")
+    QString errorMsg = tr("Could not connect to host: %1")
         .arg(connection->errorString());
 
     if (deviceConfig->type() == MaemoDeviceConfig::Simulator) {
         if (connection->errorState() == Core::SshTimeoutError
                 || connection->errorState() == Core::SshSocketError) {
-            errorMsg += TR("\nDid you start Qemu?");
+            errorMsg += tr("\nDid you start Qemu?");
         }
     } else if (connection->errorState() == Core::SshTimeoutError) {
-        errorMsg += TR("\nIs the device connected and set up for network access?");
+        errorMsg += tr("\nIs the device connected and set up for network access?");
     }
     return errorMsg;
 }
 
 QString MaemoGlobal::deviceConfigurationName(const MaemoDeviceConfig::ConstPtr &devConf)
 {
-    return devConf ? devConf->name() : TR("(No device)");
+    return devConf ? devConf->name() : tr("(No device)");
 }
 
 QString MaemoGlobal::maddeRoot(const QtVersion *qtVersion)
@@ -209,13 +208,13 @@ bool MaemoGlobal::removeRecursively(const QString &filePath, QString &error)
         }
         dir.cdUp();
         if (!dir.rmdir(fileInfo.fileName())) {
-            error = TR("Failed to remove directory '%1'.")
+            error = tr("Failed to remove directory '%1'.")
                 .arg(QDir::toNativeSeparators(filePath));
             return false;
         }
     } else {
         if (!QFile::remove(filePath)) {
-            error = TR("Failed to remove file '%1'.")
+            error = tr("Failed to remove file '%1'.")
                 .arg(QDir::toNativeSeparators(filePath));
             return false;
         }
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h
index 688da9f2b5c8272e486e81a3aee0c06950578620..5133cf9c77851e415dad93ab558cec72a1e20055 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h
@@ -36,12 +36,12 @@
 
 #include <utils/environment.h>
 
-#include <projectexplorer/deployconfiguration.h>
 #include <projectexplorer/buildsteplist.h>
-#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/deployconfiguration.h>
 
 #include <QtCore/QList>
 #include <QtCore/QSharedPointer>
+#include <QtCore/QCoreApplication>
 
 #define ASSERT_STATE_GENERIC(State, expected, actual)                         \
     MaemoGlobal::assertState<State>(expected, actual, Q_FUNC_INFO)
@@ -52,7 +52,6 @@ class QString;
 QT_END_NAMESPACE
 
 namespace Core { class SshConnection; }
-
 namespace Qt4ProjectManager {
 class QtVersion;
 namespace Internal {
@@ -60,6 +59,7 @@ class MaemoDeviceConfig;
 
 class MaemoGlobal
 {
+    Q_DECLARE_TR_FUNCTIONS(Qt4ProjectManager::Internal::MaemoGlobal)
 public:
     enum MaemoVersion { Maemo5, Maemo6 };
 
diff --git a/src/plugins/texteditor/snippets/plaintextsnippetprovider.cpp b/src/plugins/texteditor/snippets/plaintextsnippetprovider.cpp
index cd5b9d7f17027ae29ce6d4bd9577b3a79de09fcb..d33292c0e755d60479049fc34bf6e985d85732f2 100644
--- a/src/plugins/texteditor/snippets/plaintextsnippetprovider.cpp
+++ b/src/plugins/texteditor/snippets/plaintextsnippetprovider.cpp
@@ -36,6 +36,7 @@
 #include <texteditor/texteditorconstants.h>
 
 #include <QtCore/QLatin1String>
+#include <QtCore/QCoreApplication>
 
 using namespace TextEditor;
 using namespace Internal;
@@ -53,7 +54,7 @@ QString PlainTextSnippetProvider::groupId() const
 
 QString PlainTextSnippetProvider::displayName() const
 {
-    return tr("Text");
+    return QCoreApplication::translate("TextEditor::Internal::PlainTextSnippetProvider", "Text");
 }
 
 void PlainTextSnippetProvider::decorateEditor(TextEditor::SnippetEditor *) const