summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-09-06 13:41:19 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-09-06 13:41:19 (GMT)
commit2e85b3ef7511a3ebe09fdcab7f998986a10c0db8 (patch)
tree8dc2375dd9c886624c465bb917cd5f0dff32a35f
parenta84b21b03028bd31aec4f267658c22c47d5fcc6c (diff)
parent58d0e747348eb89723abd515d864da5316cba760 (diff)
downloadQt-2e85b3ef7511a3ebe09fdcab7f998986a10c0db8.zip
Qt-2e85b3ef7511a3ebe09fdcab7f998986a10c0db8.tar.gz
Qt-2e85b3ef7511a3ebe09fdcab7f998986a10c0db8.tar.bz2
Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qt-symbian-team
* 'master' of git://scm.dev.nokia.troll.no/qt/qt-symbian-team: Fix qt.conf for Symbian to use $${EPOCROOT} Remove few unused variables. Symbian: Detect app caption and pkg name translations by id attribute.
-rw-r--r--config.profiles/symbian/qt.conf8
-rw-r--r--qmake/generators/symbian/symbiancommon.cpp63
2 files changed, 32 insertions, 39 deletions
diff --git a/config.profiles/symbian/qt.conf b/config.profiles/symbian/qt.conf
index 29dfa88..072fd7b 100644
--- a/config.profiles/symbian/qt.conf
+++ b/config.profiles/symbian/qt.conf
@@ -1,6 +1,6 @@
[Paths]
-Data = $(EPOCROOT)epoc32/tools/qt
-Headers = $(EPOCROOT)epoc32/include/mw
-Binaries = $(EPOCROOT)epoc32/tools
-Prefix = $(EPOCROOT)sf/mw/qt
+Data = $${EPOCROOT}epoc32/tools/qt
+Headers = $${EPOCROOT}epoc32/include/mw
+Binaries = $${EPOCROOT}epoc32/tools
+Prefix = $${EPOCROOT}sf/mw/qt
diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp
index c9ffa11..2c4373a 100644
--- a/qmake/generators/symbian/symbiancommon.cpp
+++ b/qmake/generators/symbian/symbiancommon.cpp
@@ -953,12 +953,15 @@ bool SymbianCommonGenerator::parseTsContent(const QString &tsFilename, SymbianLo
static QString messageElement = QLatin1String("message");
static QString sourceElement = QLatin1String("source");
static QString translationElement = QLatin1String("translation");
- static QString shortCaptionId = QLatin1String("Application short caption");
- static QString longCaptionId = QLatin1String("Application long caption");
- static QString pkgDisplayNameId = QLatin1String("Package name");
- static QString installerPkgDisplayNameId = QLatin1String("Smart installer package name");
- static QString languageAttribute = QLatin1String("language");
- static QChar underscoreChar = QLatin1Char('_');
+ static QString idAttribute = QLatin1String("id");
+ static QString shortCaptionId = QLatin1String("qtn_short_caption_");
+ static QString longCaptionId = QLatin1String("qtn_long_caption_");
+ static QString pkgDisplayNameId = QLatin1String("qtn_package_name_");
+ static QString installerPkgDisplayNameId = QLatin1String("qtn_smart_installer_package_name_");
+ static QString shortCaptionSource = QLatin1String("Application short caption");
+ static QString longCaptionSource = QLatin1String("Application long caption");
+ static QString pkgDisplayNameSource = QLatin1String("Package name");
+ static QString installerPkgDisplayNameSource = QLatin1String("Smart installer package name");
enum CurrentContext {
ContextUnknown,
@@ -991,6 +994,7 @@ bool SymbianCommonGenerator::parseTsContent(const QString &tsFilename, SymbianLo
if (xml.name() == messageElement) {
QString source;
QString translation;
+ QString id = xml.attributes().value(idAttribute).toString();
while (xml.readNextStartElement()) {
if (xml.name() == sourceElement) {
source = xml.readElementText();
@@ -1005,35 +1009,24 @@ bool SymbianCommonGenerator::parseTsContent(const QString &tsFilename, SymbianLo
xml.skipCurrentElement();
}
}
-
- if (source == shortCaptionId) {
- if (loc->shortCaption.isEmpty()) {
- loc->shortCaption = translation;
- } else {
- fprintf(stderr, "Warning: Duplicate application short caption defined in (%s).\n",
- qPrintable(tsFilename));
- }
- } else if (source == longCaptionId) {
- if (loc->longCaption.isEmpty()) {
- loc->longCaption = translation;
- } else {
- fprintf(stderr, "Warning: Duplicate application long caption defined in (%s).\n",
- qPrintable(tsFilename));
- }
- } else if (source == pkgDisplayNameId) {
- if (loc->pkgDisplayName.isEmpty()) {
- loc->pkgDisplayName = translation;
- } else {
- fprintf(stderr, "Warning: Duplicate package display name defined in (%s).\n",
- qPrintable(tsFilename));
- }
- } else if (source == installerPkgDisplayNameId) {
- if (loc->installerPkgDisplayName.isEmpty()) {
- loc->installerPkgDisplayName = translation;
- } else {
- fprintf(stderr, "Warning: Duplicate smart installer package display name defined in (%s).\n",
- qPrintable(tsFilename));
- }
+ // Interesting translations can be identified either by id attribute
+ // of the message or by the source text.
+ // Allow translations with correct id to override translations
+ // detected by source text, as the source text can accidentally
+ // be the same in another string if there are non-interesting
+ // translations added to same context.
+ if (id.startsWith(shortCaptionId)
+ || (loc->shortCaption.isEmpty() && source == shortCaptionSource)) {
+ loc->shortCaption = translation;
+ } else if (id.startsWith(longCaptionId)
+ || (loc->longCaption.isEmpty() && source == longCaptionSource)) {
+ loc->longCaption = translation;
+ } else if (id.startsWith(pkgDisplayNameId)
+ || (loc->pkgDisplayName.isEmpty() && source == pkgDisplayNameSource)) {
+ loc->pkgDisplayName = translation;
+ } else if (id.startsWith(installerPkgDisplayNameId)
+ || (loc->installerPkgDisplayName.isEmpty() && source == installerPkgDisplayNameSource)) {
+ loc->installerPkgDisplayName = translation;
}
} else {
xml.skipCurrentElement();