diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2016-10-12 16:21:08 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2016-10-14 15:59:16 +0000 |
commit | 7e4f32ef0850c3a49a3dbf49e0ef76dd6036cc92 (patch) | |
tree | bf7c35068c535275743dfb03956241ce3f251b9c | |
parent | 30bbaae2dd02197997c8b2953b1f2d257935fc82 (diff) | |
download | qttools-7e4f32ef0850c3a49a3dbf49e0ef76dd6036cc92.tar.gz |
Linguist: Delay translations of the file format descriptions
The various init() functions are called before translations are loaded;
thus the descriptions appeared untranslated. Use QT_TRANSLATE_NOOP
to delay the translation.
Task-number: QTBUG-56374
Change-Id: I9eb130f10a10e39011759c16a99ee4cf3a5dac99
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
-rw-r--r-- | src/linguist/lconvert/main.cpp | 2 | ||||
-rw-r--r-- | src/linguist/linguist/mainwindow.cpp | 2 | ||||
-rw-r--r-- | src/linguist/shared/po.cpp | 4 | ||||
-rw-r--r-- | src/linguist/shared/qm.cpp | 2 | ||||
-rw-r--r-- | src/linguist/shared/qph.cpp | 2 | ||||
-rw-r--r-- | src/linguist/shared/translator.h | 6 | ||||
-rw-r--r-- | src/linguist/shared/ts.cpp | 2 | ||||
-rw-r--r-- | src/linguist/shared/xliff.cpp | 2 |
8 files changed, 12 insertions, 10 deletions
diff --git a/src/linguist/lconvert/main.cpp b/src/linguist/lconvert/main.cpp index 565154520..4e26adbbb 100644 --- a/src/linguist/lconvert/main.cpp +++ b/src/linguist/lconvert/main.cpp @@ -50,7 +50,7 @@ static int usage(const QStringList &args) QString loaders; QString line(QLatin1String(" %1 - %2\n")); foreach (Translator::FileFormat format, Translator::registeredFileFormats()) - loaders += line.arg(format.extension, -5).arg(format.description); + loaders += line.arg(format.extension, -5).arg(format.description()); std::cout << qPrintable(LC::tr("\nUsage:\n" " lconvert [options] <infile> [<infile>...]\n\n" diff --git a/src/linguist/linguist/mainwindow.cpp b/src/linguist/linguist/mainwindow.cpp index 282e2adea..cd460711b 100644 --- a/src/linguist/linguist/mainwindow.cpp +++ b/src/linguist/linguist/mainwindow.cpp @@ -743,7 +743,7 @@ static QString fileFilters(bool allFirst) QString filter; foreach (const Translator::FileFormat &format, Translator::registeredFileFormats()) { if (format.fileType == Translator::FileFormat::TranslationSource && format.priority >= 0) { - filter.append(pattern.arg(format.description).arg(format.extension)); + filter.append(pattern.arg(format.description(), format.extension)); allExtensions.append(QLatin1String("*.") + format.extension); } } diff --git a/src/linguist/shared/po.cpp b/src/linguist/shared/po.cpp index a6fd895ec..5bbaf97c0 100644 --- a/src/linguist/shared/po.cpp +++ b/src/linguist/shared/po.cpp @@ -883,14 +883,14 @@ int initPO() { Translator::FileFormat format; format.extension = QLatin1String("po"); - format.description = FMT::tr("GNU Gettext localization files"); + format.untranslatedDescription = QT_TRANSLATE_NOOP("FMT", "GNU Gettext localization files"); format.loader = &loadPO; format.saver = &savePO; format.fileType = Translator::FileFormat::TranslationSource; format.priority = 1; Translator::registerFileFormat(format); format.extension = QLatin1String("pot"); - format.description = FMT::tr("GNU Gettext localization template files"); + format.untranslatedDescription = QT_TRANSLATE_NOOP("FMT", "GNU Gettext localization template files"); format.loader = &loadPO; format.saver = &savePOT; format.fileType = Translator::FileFormat::TranslationSource; diff --git a/src/linguist/shared/qm.cpp b/src/linguist/shared/qm.cpp index 95708ef4f..cdca3a113 100644 --- a/src/linguist/shared/qm.cpp +++ b/src/linguist/shared/qm.cpp @@ -721,7 +721,7 @@ int initQM() Translator::FileFormat format; format.extension = QLatin1String("qm"); - format.description = FMT::tr("Compiled Qt translations"); + format.untranslatedDescription = QT_TRANSLATE_NOOP("FMT", "Compiled Qt translations"); format.fileType = Translator::FileFormat::TranslationBinary; format.priority = 0; format.loader = &loadQM; diff --git a/src/linguist/shared/qph.cpp b/src/linguist/shared/qph.cpp index 26b511201..da5d20e2a 100644 --- a/src/linguist/shared/qph.cpp +++ b/src/linguist/shared/qph.cpp @@ -178,7 +178,7 @@ int initQPH() Translator::FileFormat format; format.extension = QLatin1String("qph"); - format.description = FMT::tr("Qt Linguist 'Phrase Book'"); + format.untranslatedDescription = QT_TRANSLATE_NOOP("FMT", "Qt Linguist 'Phrase Book'"); format.fileType = Translator::FileFormat::TranslationSource; format.priority = 0; format.loader = &loadQPH; diff --git a/src/linguist/shared/translator.h b/src/linguist/shared/translator.h index be412180a..ff6bd9578 100644 --- a/src/linguist/shared/translator.h +++ b/src/linguist/shared/translator.h @@ -180,9 +180,11 @@ public: typedef bool (*SaveFunction)(const Translator &, QIODevice &out, ConversionData &data); typedef bool (*LoadFunction)(Translator &, QIODevice &in, ConversionData &data); struct FileFormat { - FileFormat() : loader(0), saver(0), priority(-1) {} + FileFormat() : untranslatedDescription(nullptr), loader(0), saver(0), priority(-1) {} QString extension; // such as "ts", "xlf", ... - QString description; // human-readable description + const char *untranslatedDescription; + // human-readable description + QString description() const { return FMT::tr(untranslatedDescription); } LoadFunction loader; SaveFunction saver; enum FileType { TranslationSource, TranslationBinary } fileType; diff --git a/src/linguist/shared/ts.cpp b/src/linguist/shared/ts.cpp index fc71ededb..cfbbd4384 100644 --- a/src/linguist/shared/ts.cpp +++ b/src/linguist/shared/ts.cpp @@ -687,7 +687,7 @@ int initTS() format.extension = QLatin1String("ts"); format.fileType = Translator::FileFormat::TranslationSource; format.priority = 0; - format.description = FMT::tr("Qt translation sources"); + format.untranslatedDescription = QT_TRANSLATE_NOOP("FMT", "Qt translation sources"); format.loader = &loadTS; format.saver = &saveTS; Translator::registerFileFormat(format); diff --git a/src/linguist/shared/xliff.cpp b/src/linguist/shared/xliff.cpp index 1478cd42c..025b222b4 100644 --- a/src/linguist/shared/xliff.cpp +++ b/src/linguist/shared/xliff.cpp @@ -833,7 +833,7 @@ int initXLIFF() { Translator::FileFormat format; format.extension = QLatin1String("xlf"); - format.description = FMT::tr("XLIFF localization files"); + format.untranslatedDescription = QT_TRANSLATE_NOOP("FMT", "XLIFF localization files"); format.fileType = Translator::FileFormat::TranslationSource; format.priority = 1; format.loader = &loadXLIFF; |