summaryrefslogtreecommitdiffstats
path: root/tools/linguist/lconvert/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/linguist/lconvert/main.cpp')
-rw-r--r--tools/linguist/lconvert/main.cpp33
1 files changed, 26 insertions, 7 deletions
diff --git a/tools/linguist/lconvert/main.cpp b/tools/linguist/lconvert/main.cpp
index 3a30027..2e397ad 100644
--- a/tools/linguist/lconvert/main.cpp
+++ b/tools/linguist/lconvert/main.cpp
@@ -45,9 +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);
@@ -57,7 +65,7 @@ static int usage(const QStringList &args)
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"
@@ -119,7 +127,7 @@ static int usage(const QStringList &args)
" 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;
}
@@ -132,8 +140,19 @@ struct File
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
- QStringList args = app.arguments();
+#ifndef Q_OS_WIN32
+ 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);
+ }
+#endif // Q_OS_WIN32
+ QStringList args = app.arguments();
QList<File> inFiles;
QString inFormat(QLatin1String("auto"));
QString outFileName;
@@ -238,7 +257,7 @@ int main(int argc, char *argv[])
tr.setLanguageCode(Translator::guessLanguageCodeFromFileName(inFiles[0].name));
if (!tr.load(inFiles[0].name, cd, inFiles[0].format)) {
- qWarning() << qPrintable(cd.error());
+ std::cerr << qPrintable(cd.error());
return 2;
}
tr.reportDuplicates(tr.resolveDuplicates(), inFiles[0].name, verbose);
@@ -246,7 +265,7 @@ int main(int argc, char *argv[])
for (int i = 1; i < inFiles.size(); ++i) {
Translator tr2;
if (!tr2.load(inFiles[i].name, cd, inFiles[i].format)) {
- qWarning() << qPrintable(cd.error());
+ std::cerr << qPrintable(cd.error());
return 2;
}
tr2.reportDuplicates(tr2.resolveDuplicates(), inFiles[i].name, verbose);
@@ -271,11 +290,11 @@ int main(int argc, char *argv[])
tr.normalizeTranslations(cd);
if (!cd.errors().isEmpty()) {
- qWarning("%s", qPrintable(cd.error()));
+ std::cerr << qPrintable(cd.error());
cd.clearErrors();
}
if (!tr.save(outFileName, cd, outFormat)) {
- qWarning("%s", qPrintable(cd.error()));
+ std::cerr << qPrintable(cd.error());
return 3;
}
return 0;