Ignore:
Timestamp:
May 5, 2011, 5:36:53 AM (14 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/tools/linguist/lrelease/main.cpp

    r651 r846  
    11/****************************************************************************
    22**
    3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
    44** All rights reserved.
    55** Contact: Nokia Corporation (qt-info@nokia.com)
     
    5656#include <QtCore/QTextStream>
    5757
     58#include <iostream>
     59
    5860QT_USE_NAMESPACE
    5961
     
    6466#endif
    6567        );
     68
     69struct LR {
     70    static inline QString tr(const char *sourceText, const char *comment = 0)
     71    {
     72        return QCoreApplication::translate("LRelease", sourceText, comment);
     73    }
     74};
     75#else
     76class LR {
     77    Q_DECLARE_TR_FUNCTIONS(LRelease)
     78};
    6679#endif
    6780
     
    7487static void printUsage()
    7588{
    76     printOut(QCoreApplication::tr(
     89    printOut(LR::tr(
    7790        "Usage:\n"
    7891        "    lrelease [options] project-file\n"
     
    107120    bool ok = tor.load(tsFileName, cd, QLatin1String("auto"));
    108121    if (!ok) {
    109         qWarning("lrelease error: %s\n", qPrintable(cd.error()));
     122        std::cerr << qPrintable(LR::tr("lrelease error: %1").arg(cd.error()));
    110123    } else {
    111124        if (!cd.errors().isEmpty())
     
    122135
    123136    if (cd.isVerbose())
    124         printOut(QCoreApplication::tr( "Updating '%1'...\n").arg(qmFileName));
     137        printOut(LR::tr("Updating '%1'...\n").arg(qmFileName));
    125138    if (removeIdentical) {
    126139        if (cd.isVerbose())
    127             printOut(QCoreApplication::tr( "Removing translations equal to source text in '%1'...\n").arg(qmFileName));
     140            printOut(LR::tr("Removing translations equal to source text in '%1'...\n").arg(qmFileName));
    128141        tor.stripIdenticalSourceTranslations();
    129142    }
     
    131144    QFile file(qmFileName);
    132145    if (!file.open(QIODevice::WriteOnly)) {
    133         qWarning("lrelease error: cannot create '%s': %s\n",
    134                  qPrintable(qmFileName), qPrintable(file.errorString()));
     146        std::cerr << qPrintable(LR::tr("lrelease error: cannot create '%1': %2\n")
     147                                .arg(qmFileName, file.errorString()));
    135148        return false;
    136149    }
     
    141154
    142155    if (!ok) {
    143         qWarning("lrelease error: cannot save '%s': %s\n",
    144                  qPrintable(qmFileName), qPrintable(cd.error()));
     156        std::cerr << qPrintable(LR::tr("lrelease error: cannot save '%1': %2")
     157                                .arg(qmFileName, cd.error()));
    145158    } else if (!cd.errors().isEmpty()) {
    146159        printOut(cd.error());
     
    179192#else
    180193    QCoreApplication app(argc, argv);
     194#ifndef Q_OS_WIN32
    181195    QTranslator translator;
    182     if (translator.load(QLatin1String("lrelease_") + QLocale::system().name()))
     196    QTranslator qtTranslator;
     197    QString sysLocale = QLocale::system().name();
     198    QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
     199    if (translator.load(QLatin1String("linguist_") + sysLocale, resourceDir)
     200        && qtTranslator.load(QLatin1String("qt_") + sysLocale, resourceDir)) {
    183201        app.installTranslator(&translator);
    184 #endif
     202        app.installTranslator(&qtTranslator);
     203    }
     204#endif // Q_OS_WIN32
     205#endif // QT_BOOTSTRAPPED
    185206
    186207    ConversionData cd;
     
    220241            continue;
    221242        } else if (!strcmp(argv[i], "-version")) {
    222             printOut(QCoreApplication::tr( "lrelease version %1\n").arg(QLatin1String(QT_VERSION_STR)) );
     243            printOut(LR::tr("lrelease version %1\n").arg(QLatin1String(QT_VERSION_STR)));
    223244            return 0;
    224245        } else if (!strcmp(argv[i], "-qm")) {
     
    254275
    255276            if (!visitor.queryProFile(&pro)) {
    256                 qWarning("lrelease error: cannot read project file '%s'.", qPrintable(inputFile));
     277                std::cerr << qPrintable(LR::tr(
     278                          "lrelease error: cannot read project file '%1'.\n")
     279                          .arg(inputFile));
    257280                continue;
    258281            }
    259282            if (!visitor.accept(&pro)) {
    260                 qWarning("lrelease error: cannot process project file '%s'.", qPrintable(inputFile));
     283                std::cerr << qPrintable(LR::tr(
     284                          "lrelease error: cannot process project file '%1'.\n")
     285                          .arg(inputFile));
    261286                continue;
    262287            }
     
    264289            QStringList translations = visitor.values(QLatin1String("TRANSLATIONS"));
    265290            if (translations.isEmpty()) {
    266                 qWarning("lrelease warning: Met no 'TRANSLATIONS' entry in"
    267                          " project file '%s'\n",
    268                          qPrintable(inputFile));
     291                std::cerr << qPrintable(LR::tr(
     292                          "lrelease warning: Met no 'TRANSLATIONS' entry in project file '%1'\n")
     293                          .arg(inputFile));
    269294            } else {
    270295                QDir proDir(fi.absolutePath());
Note: See TracChangeset for help on using the changeset viewer.