tools/linguist/lconvert/main.cpp
changeset 37 758a864f9613
parent 33 3e2da88830cd
--- a/tools/linguist/lconvert/main.cpp	Fri Sep 17 08:34:18 2010 +0300
+++ b/tools/linguist/lconvert/main.cpp	Mon Oct 04 01:19:32 2010 +0300
@@ -45,11 +45,17 @@
 #include <QtCore/QDebug>
 #include <QtCore/QString>
 #include <QtCore/QStringList>
+#include <QtCore/QTranslator>
+#include <QtCore/QLibraryInfo>
 
 #include <iostream>
 
 QT_USE_NAMESPACE
 
+class LC {
+    Q_DECLARE_TR_FUNCTIONS(LConvert)
+};
+
 static int usage(const QStringList &args)
 {
     Q_UNUSED(args);
@@ -59,7 +65,7 @@
     foreach (Translator::FileFormat format, Translator::registeredFileFormats())
         loaders += line.arg(format.extension, -5).arg(format.description);
 
-    std::cerr << qPrintable(QString(QLatin1String("\nUsage:\n"
+    std::cerr << qPrintable(LC::tr("\nUsage:\n"
         "    lconvert [options] <infile> [<infile>...]\n\n"
         "lconvert is part of Qt's Linguist tool chain. It can be used as a\n"
         "stand-alone tool to convert and filter translation data files.\n"
@@ -121,7 +127,7 @@
         "    0 on success\n"
         "    1 on command line parse failures\n"
         "    2 on read failures\n"
-        "    3 on write failures\n")).arg(loaders));
+        "    3 on write failures\n").arg(loaders));
     return 1;
 }
 
@@ -134,8 +140,17 @@
 int main(int argc, char *argv[])
 {
     QCoreApplication app(argc, argv);
+    QTranslator translator;
+    QTranslator qtTranslator;
+    QString sysLocale = QLocale::system().name();
+    QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
+    if (translator.load(QLatin1String("linguist_") + sysLocale, resourceDir)
+        && qtTranslator.load(QLatin1String("qt_") + sysLocale, resourceDir)) {
+        app.installTranslator(&translator);
+        app.installTranslator(&qtTranslator);
+    }
+
     QStringList args = app.arguments();
-
     QList<File> inFiles;
     QString inFormat(QLatin1String("auto"));
     QString outFileName;