summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2016-10-12 16:21:08 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2016-10-14 15:59:16 +0000
commit7e4f32ef0850c3a49a3dbf49e0ef76dd6036cc92 (patch)
treebf7c35068c535275743dfb03956241ce3f251b9c
parent30bbaae2dd02197997c8b2953b1f2d257935fc82 (diff)
downloadqttools-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.cpp2
-rw-r--r--src/linguist/linguist/mainwindow.cpp2
-rw-r--r--src/linguist/shared/po.cpp4
-rw-r--r--src/linguist/shared/qm.cpp2
-rw-r--r--src/linguist/shared/qph.cpp2
-rw-r--r--src/linguist/shared/translator.h6
-rw-r--r--src/linguist/shared/ts.cpp2
-rw-r--r--src/linguist/shared/xliff.cpp2
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;