diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-09-06 13:41:19 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-09-06 13:41:19 (GMT) |
commit | 2e85b3ef7511a3ebe09fdcab7f998986a10c0db8 (patch) | |
tree | 8dc2375dd9c886624c465bb917cd5f0dff32a35f | |
parent | a84b21b03028bd31aec4f267658c22c47d5fcc6c (diff) | |
parent | 58d0e747348eb89723abd515d864da5316cba760 (diff) | |
download | Qt-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.conf | 8 | ||||
-rw-r--r-- | qmake/generators/symbian/symbiancommon.cpp | 63 |
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(); |