This is an automated email from the git hooks/post-receive script. sebastic pushed a commit to branch master in repository qgis.
commit 17ff6e6b241a680c3f378d01b7c6c7c67a3b88f1 Author: Bas Couwenberg <sebas...@xs4all.nl> Date: Mon Mar 9 19:19:26 2015 +0100 Add patches from upstream release-2_8 branch. --- debian/changelog | 1 + ...-about-possible-pending-bug-in-force2d-ne.patch | 32 ++++ ...er-of-dimensions-for-tables-with-unconstr.patch | 40 +++++ ...001-Fix-handling-of-warped-VRT-refs-12264.patch | 24 +++ ...or-dimension-if-it-is-not-already-known-a.patch | 65 ++++++++ ...0001-Use-ST_Force2D-from-PostGIS-2.1.0-up.patch | 26 ++++ ...tribute-table-fix-changing-header-font-fi.patch | 23 +++ ...builder-widget-save-scripts-in-the-same-m.patch | 24 +++ ...-fix-SAGA-2.1.3-Kernel-Density-Estimation.patch | 22 +++ .../0001-german-translation-fix-fixes-12231.patch | 163 +++++++++++++++++++++ ...ovider-restore-behaviour-to-keep-3d-wkb-r.patch | 72 +++++++++ ...ovider-use-min-max-before-casting-followu.patch | 95 ++++++++++++ ...fix-error-in-MultipleFileInput-selector-w.patch | 23 +++ debian/patches/0001-translation-string-fix.patch | 21 +++ debian/patches/series | 13 ++ 15 files changed, 644 insertions(+) diff --git a/debian/changelog b/debian/changelog index 0da02e6..82fe8cf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ qgis (2.8.1+dfsg1-1~exp2) UNRELEASED; urgency=medium * Don't build internal PySpatiaLite, use Debian package instead. (closes: #779933) * Add patch to fix FTBFS on arm*. + * Add patches from upstream release-2_8 branch. -- Bas Couwenberg <sebas...@debian.org> Thu, 05 Mar 2015 22:51:10 +0100 diff --git a/debian/patches/0001-Add-comment-about-possible-pending-bug-in-force2d-ne.patch b/debian/patches/0001-Add-comment-about-possible-pending-bug-in-force2d-ne.patch new file mode 100644 index 0000000..79a5d95 --- /dev/null +++ b/debian/patches/0001-Add-comment-about-possible-pending-bug-in-force2d-ne.patch @@ -0,0 +1,32 @@ +From d2d6813673a6a7da97dc47f8b5bc27f124326a62 Mon Sep 17 00:00:00 2001 +From: Sandro Santilli <s...@keybit.net> +Date: Tue, 3 Mar 2015 17:41:29 +0100 +Subject: Add comment about possible pending bug in force2d need detection +Origin: https://github.com/qgis/QGIS/commit/d2d6813673a6a7da97dc47f8b5bc27f124326a62 + +--- + src/providers/postgres/qgspostgresconn.cpp | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- a/src/providers/postgres/qgspostgresconn.cpp ++++ b/src/providers/postgres/qgspostgresconn.cpp +@@ -469,6 +469,10 @@ bool QgsPostgresConn::getTableInfo( bool + layerProperty.types = QList<QGis::WkbType>() << ( QgsPostgresConn::wkbTypeFromPostgis( type ) ); + layerProperty.srids = QList<int>() << srid; + layerProperty.sql = ""; ++ /* TODO: why not != 2 ? ++ * Also note the value is not necessarely trustworthy: ++ * http://trac.osgeo.org/postgis/ticket/3068 ++ */ + layerProperty.force2d = dim == 4; + addColumnInfo( layerProperty, schemaName, tableName, isView ); + +@@ -1307,7 +1311,7 @@ void QgsPostgresConn::retrieveLayerTypes + + query += " FROM " + table; + +- //QgsDebugMsg( "Retrieving geometry types: " + query ); ++ //QgsDebugMsg( "Retrieving geometry types,srids and dims: " + query ); + + QgsPostgresResult gresult = PQexec( query ); + diff --git a/debian/patches/0001-Detect-number-of-dimensions-for-tables-with-unconstr.patch b/debian/patches/0001-Detect-number-of-dimensions-for-tables-with-unconstr.patch new file mode 100644 index 0000000..68e5102 --- /dev/null +++ b/debian/patches/0001-Detect-number-of-dimensions-for-tables-with-unconstr.patch @@ -0,0 +1,40 @@ +From 3d6554e0ab35444228cf3d7d0e1eb6e1e08173bb Mon Sep 17 00:00:00 2001 +From: Sandro Santilli <s...@keybit.net> +Date: Tue, 3 Mar 2015 17:34:48 +0100 +Subject: Detect number of dimensions for tables with unconstrained type +Origin: https://github.com/qgis/QGIS/commit/3d6554e0ab35444228cf3d7d0e1eb6e1e08173bb +Bug: http://hub.qgis.org/issues/9748 + +Fixes #9748 + +(cherry picked from commit f512e87ffd0ed7297520bf63830c1fc5c37d7ee9) +--- + src/providers/postgres/qgspostgresconn.cpp | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +--- a/src/providers/postgres/qgspostgresconn.cpp ++++ b/src/providers/postgres/qgspostgresconn.cpp +@@ -1298,6 +1298,12 @@ void QgsPostgresConn::retrieveLayerTypes + query += QString::number( srid ); + } + ++ query += ","; ++ query += QString( "%1(%2%3)" ) ++ .arg( majorVersion() < 2 ? "ndims" : "st_ndims" ) ++ .arg( quotedIdentifier( layerProperty.geometryColName ) ) ++ .arg( layerProperty.geometryColType == sctGeography ? "::geometry" : "" ); ++ + query += " FROM " + table; + + //QgsDebugMsg( "Retrieving geometry types: " + query ); +@@ -1310,6 +1316,10 @@ void QgsPostgresConn::retrieveLayerTypes + { + QString type = gresult.PQgetvalue( i, 0 ); + QString srid = gresult.PQgetvalue( i, 1 ); ++ QString ndims = gresult.PQgetvalue( i, 2 ); ++ ++ if ( ndims.toInt() > 2 ) layerProperty.force2d = true; ++ + if ( type.isEmpty() ) + continue; + diff --git a/debian/patches/0001-Fix-handling-of-warped-VRT-refs-12264.patch b/debian/patches/0001-Fix-handling-of-warped-VRT-refs-12264.patch new file mode 100644 index 0000000..6732bd9 --- /dev/null +++ b/debian/patches/0001-Fix-handling-of-warped-VRT-refs-12264.patch @@ -0,0 +1,24 @@ +From ffaa4989403e0c69577ad6332ecc566a0c6fc5f2 Mon Sep 17 00:00:00 2001 +From: Nyall Dawson <nyall.daw...@gmail.com> +Date: Fri, 27 Feb 2015 14:59:08 +1100 +Subject: Fix handling of warped VRT (refs #12264) +Origin: https://github.com/qgis/QGIS/commit/ffaa4989403e0c69577ad6332ecc566a0c6fc5f2 +Bug: http://hub.qgis.org/issues/12264 + +Loading of rasters requiring warped VRTs was broken, but the heatmap +plugin is still creating incorrect outputs which needs to be fixed. +--- + src/providers/gdal/qgsgdalprovider.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/providers/gdal/qgsgdalprovider.cpp ++++ b/src/providers/gdal/qgsgdalprovider.cpp +@@ -2486,7 +2486,7 @@ void QgsGdalProvider::initBaseDataset() + } + else + { +- hasGeoTransform = GDALGetGeoTransform( mGdalDataset, mGeoTransform ); ++ hasGeoTransform = GDALGetGeoTransform( mGdalDataset, mGeoTransform ) == CE_None; + } + } + else diff --git a/debian/patches/0001-Only-scan-for-dimension-if-it-is-not-already-known-a.patch b/debian/patches/0001-Only-scan-for-dimension-if-it-is-not-already-known-a.patch new file mode 100644 index 0000000..c0ff286 --- /dev/null +++ b/debian/patches/0001-Only-scan-for-dimension-if-it-is-not-already-known-a.patch @@ -0,0 +1,65 @@ +From c5ce2677d16c4460aabf0016188292bef4922c4e Mon Sep 17 00:00:00 2001 +From: Sandro Santilli <s...@keybit.net> +Date: Tue, 3 Mar 2015 17:51:20 +0100 +Subject: Only scan for dimension if it is not already known as needing + force2d +Origin: https://github.com/qgis/QGIS/commit/c5ce2677d16c4460aabf0016188292bef4922c4e + +Also force 2d on 3d input +--- + src/providers/postgres/qgspostgresconn.cpp | 27 +++++++++++++++++---------- + 1 file changed, 17 insertions(+), 10 deletions(-) + +--- a/src/providers/postgres/qgspostgresconn.cpp ++++ b/src/providers/postgres/qgspostgresconn.cpp +@@ -469,11 +469,12 @@ bool QgsPostgresConn::getTableInfo( bool + layerProperty.types = QList<QGis::WkbType>() << ( QgsPostgresConn::wkbTypeFromPostgis( type ) ); + layerProperty.srids = QList<int>() << srid; + layerProperty.sql = ""; +- /* TODO: why not != 2 ? +- * Also note the value is not necessarely trustworthy: ++ /* ++ * NOTE: force2d may get a false negative value ++ * (dim == 2 but is not really constrained) + * http://trac.osgeo.org/postgis/ticket/3068 + */ +- layerProperty.force2d = dim == 4; ++ layerProperty.force2d = dim > 2; + addColumnInfo( layerProperty, schemaName, tableName, isView ); + + if ( isView && layerProperty.pkCols.empty() ) +@@ -1303,11 +1304,14 @@ void QgsPostgresConn::retrieveLayerTypes + query += QString::number( srid ); + } + +- query += ","; +- query += QString( "%1(%2%3)" ) +- .arg( majorVersion() < 2 ? "ndims" : "st_ndims" ) +- .arg( quotedIdentifier( layerProperty.geometryColName ) ) +- .arg( layerProperty.geometryColType == sctGeography ? "::geometry" : "" ); ++ if ( ! layerProperty.force2d ) ++ { ++ query += ","; ++ query += QString( "%1(%2%3)" ) ++ .arg( majorVersion() < 2 ? "ndims" : "st_ndims" ) ++ .arg( quotedIdentifier( layerProperty.geometryColName ) ) ++ .arg( layerProperty.geometryColType == sctGeography ? "::geometry" : "" ); ++ } + + query += " FROM " + table; + +@@ -1321,9 +1325,12 @@ void QgsPostgresConn::retrieveLayerTypes + { + QString type = gresult.PQgetvalue( i, 0 ); + QString srid = gresult.PQgetvalue( i, 1 ); +- QString ndims = gresult.PQgetvalue( i, 2 ); + +- if ( ndims.toInt() > 2 ) layerProperty.force2d = true; ++ if ( ! layerProperty.force2d ) ++ { ++ QString ndims = gresult.PQgetvalue( i, 2 ); ++ if ( ndims.toInt() > 2 ) layerProperty.force2d = true; ++ } + + if ( type.isEmpty() ) + continue; diff --git a/debian/patches/0001-Use-ST_Force2D-from-PostGIS-2.1.0-up.patch b/debian/patches/0001-Use-ST_Force2D-from-PostGIS-2.1.0-up.patch new file mode 100644 index 0000000..d1a1ffb --- /dev/null +++ b/debian/patches/0001-Use-ST_Force2D-from-PostGIS-2.1.0-up.patch @@ -0,0 +1,26 @@ +From a525dbd82109d7340f8912c6efca0e08c4258fd7 Mon Sep 17 00:00:00 2001 +From: Sandro Santilli <s...@keybit.net> +Date: Tue, 3 Mar 2015 18:26:59 +0100 +Subject: Use ST_Force2D from PostGIS-2.1.0 up +Origin: https://github.com/qgis/QGIS/commit/a525dbd82109d7340f8912c6efca0e08c4258fd7 + +--- + src/providers/postgres/qgspostgresfeatureiterator.cpp | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +--- a/src/providers/postgres/qgspostgresfeatureiterator.cpp ++++ b/src/providers/postgres/qgspostgresfeatureiterator.cpp +@@ -322,7 +322,12 @@ bool QgsPostgresFeatureIterator::declare + if ( mSource->mForce2d ) + { + geom = QString( "%1(%2)" ) +- .arg( mConn->majorVersion() < 2 ? "force_2d" : "st_force_2d" ) ++ // Force_2D before 2.0 ++ .arg( mConn->majorVersion() < 2 ? "force_2d" ++ // ST_Force2D since 2.1.0 ++ : mConn->majorVersion() > 2 || mConn->minorVersion() > 0 ? "st_force2d" ++ // ST_Force_2D in 2.0.x ++ : "st_force_2d" ) + .arg( geom ); + } + diff --git a/debian/patches/0001-composer-attribute-table-fix-changing-header-font-fi.patch b/debian/patches/0001-composer-attribute-table-fix-changing-header-font-fi.patch new file mode 100644 index 0000000..1465d90 --- /dev/null +++ b/debian/patches/0001-composer-attribute-table-fix-changing-header-font-fi.patch @@ -0,0 +1,23 @@ +From fe9161f401d10c2e1f63e57a60faeeb78a4d600b Mon Sep 17 00:00:00 2001 +From: "Juergen E. Fischer" <j...@norbit.de> +Date: Fri, 27 Feb 2015 20:58:04 +0100 +Subject: composer attribute table: fix changing header font (fixes #12233) +Origin: https://github.com/qgis/QGIS/commit/fe9161f401d10c2e1f63e57a60faeeb78a4d600b +Bug: http://hub.qgis.org/issues/12233 + +(cherry picked from commit ec0ab3f7ce4c7b009cff9abaf9d9277cb62437de) +--- + src/app/composer/qgscomposerattributetablewidget.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/app/composer/qgscomposerattributetablewidget.cpp ++++ b/src/app/composer/qgscomposerattributetablewidget.cpp +@@ -286,7 +286,7 @@ void QgsComposerAttributeTableWidget::on + + bool ok; + QFont newFont = QgisGui::getFont( ok, mComposerTable->headerFont(), tr( "Select Font" ) ); +- if ( !ok ) ++ if ( ok ) + { + QgsComposition *composition = mComposerTable->composition(); + if ( composition ) diff --git a/debian/patches/0001-expression-builder-widget-save-scripts-in-the-same-m.patch b/debian/patches/0001-expression-builder-widget-save-scripts-in-the-same-m.patch new file mode 100644 index 0000000..ddc210d --- /dev/null +++ b/debian/patches/0001-expression-builder-widget-save-scripts-in-the-same-m.patch @@ -0,0 +1,24 @@ +From dced88d8831e1ac313458d9633581347fd8fb0cc Mon Sep 17 00:00:00 2001 +From: "Juergen E. Fischer" <j...@norbit.de> +Date: Fri, 6 Mar 2015 14:00:26 +0100 +Subject: =?UTF-8?q?expression=20builder=20widget:=20save=20scripts=20in=20th?= + =?UTF-8?q?e=20same=20mode=20they=20are=20loaded=0A(avoids=20adding=20empty=20?= + =?UTF-8?q?lines=20on=20every=20save=20on=20windows)?= +Origin: https://github.com/qgis/QGIS/commit/dced88d8831e1ac313458d9633581347fd8fb0cc + +(cherry picked from commit 37a7831d2a1571616f10d20a476b71f1d539cc5d) +--- + src/gui/qgsexpressionbuilderwidget.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/gui/qgsexpressionbuilderwidget.cpp ++++ b/src/gui/qgsexpressionbuilderwidget.cpp +@@ -149,7 +149,7 @@ void QgsExpressionBuilderWidget::saveFun + + fileName = mFunctionsPath + QDir::separator() + fileName; + QFile myFile( fileName ); +- if ( myFile.open( QIODevice::WriteOnly | QIODevice::Text ) ) ++ if ( myFile.open( QIODevice::WriteOnly ) ) + { + QTextStream myFileStream( &myFile ); + myFileStream << txtPython->text() << endl; diff --git a/debian/patches/0001-fix-SAGA-2.1.3-Kernel-Density-Estimation.patch b/debian/patches/0001-fix-SAGA-2.1.3-Kernel-Density-Estimation.patch new file mode 100644 index 0000000..9a33f4b --- /dev/null +++ b/debian/patches/0001-fix-SAGA-2.1.3-Kernel-Density-Estimation.patch @@ -0,0 +1,22 @@ +From 3603ee0f00892bce721a2de26e370a8c2a86389f Mon Sep 17 00:00:00 2001 +From: Giovanni Manghi <giovanni.man...@faunalia.pt> +Date: Tue, 3 Mar 2015 23:13:46 +0000 +Subject: fix SAGA 2.1.3 Kernel Density Estimation +Origin: https://github.com/qgis/QGIS/commit/3603ee0f00892bce721a2de26e370a8c2a86389f + +--- + .../algs/saga/description/2.1.3/KernelDensityEstimation.txt | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/python/plugins/processing/algs/saga/description/2.1.3/KernelDensityEstimation.txt ++++ b/python/plugins/processing/algs/saga/description/2.1.3/KernelDensityEstimation.txt +@@ -6,5 +6,6 @@ ParameterNumber|RADIUS|Radius|None|None| + ParameterSelection|KERNEL|Kernel|[0] quartic kernel;[1] gaussian kernel + Hardcoded|-TARGET_DEFINITION 0 + Extent TARGET_USER_XMIN TARGET_USER_XMAX TARGET_USER_YMIN TARGET_USER_YMAX +-ParameterNumber|USER_SIZE|Cellsize|None|None|100.0 +-OutputRaster|USER_GRID|Grid ++ParameterNumber|TARGET_USER_SIZE|Cellsize|None|None|100.0 ++ParameterSelection|TARGET_USER_FITS|Fit Choice|[0] nodes;[1] cells ++OutputRaster|TARGET_OUT_GRID|Grid +\ No newline at end of file diff --git a/debian/patches/0001-german-translation-fix-fixes-12231.patch b/debian/patches/0001-german-translation-fix-fixes-12231.patch new file mode 100644 index 0000000..b1b8f3b --- /dev/null +++ b/debian/patches/0001-german-translation-fix-fixes-12231.patch @@ -0,0 +1,163 @@ +From e2fcf6fc911d85739971078bc6eedc0221bf2337 Mon Sep 17 00:00:00 2001 +From: "Juergen E. Fischer" <j...@norbit.de> +Date: Thu, 5 Mar 2015 20:49:27 +0100 +Subject: german translation fix (fixes #12231) +Origin: https://github.com/qgis/QGIS/commit/e2fcf6fc911d85739971078bc6eedc0221bf2337 +Bug: http://hub.qgis.org/issues/12231 + +--- + doc/TRANSLATORS | 90 +++++++++++++++++++++++++++---------------------------- + i18n/qgis_de.ts | 26 ++++++---------- + 2 files changed, 54 insertions(+), 62 deletions(-) + +--- a/doc/TRANSLATORS ++++ b/doc/TRANSLATORS +@@ -1,47 +1,47 @@ + <style>table {font-size:80%;}th {text-align:left; }.bartodo{ background-color:red;width:100px;height:20px;}.bardone{ background-color:green;width:80px;height:20px;font-size:80%;text-align:center;padding-top:4px;height:16px;color:white;}</style><table><tr><th colspan="2" style="width:250px;">Language</th><th>Finished %</th><th>Translators</th></tr> + +-<tr><td><img src="qrc:/images/flags/de.png"></td><td>German</td><td><div title="finished:13174 unfinished:1 untranslated:0" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Jürgen E. Fischer, Stephan Holl, Otto Dassau, Werner Macho</td></tr> +-<tr><td><img src="qrc:/images/flags/gl.png"></td><td>Galician</td><td><div title="finished:13174 unfinished:1 untranslated:0" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Xan Vieiro</td></tr> +-<tr><td><img src="qrc:/images/flags/nb.png"></td><td>Bokmal, Norwegian</td><td><div title="finished:13174 unfinished:1 untranslated:0" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>James Stott, Maléne Peterson</td></tr> +-<tr><td><img src="qrc:/images/flags/pt_PT.png"></td><td>Portuguese (Portugal)</td><td><div title="finished:13174 unfinished:1 untranslated:0" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Giovanni Manghi, Joana Simões, Duarte Carreira, Alexandre Neto, Pedro Pereira, Pedro Palheiro, Nelson Silva, Ricardo Sena, Leandro Infantini, João Gaspar</td></tr> +-<tr><td><img src="qrc:/images/flags/sv.png"></td><td>Swedish</td><td><div title="finished:13174 unfinished:1 untranslated:0" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Lars Luthman, Magnus Homann, Victor Axbom</td></tr> +-<tr><td><img src="qrc:/images/flags/fr.png"></td><td>French</td><td><div title="finished:13174 unfinished:0 untranslated:1" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Arnaud Morvan, Augustin Roche, Jean-Roc Morreale, Loïc Buscoz, Marc-André Saia, Mathieu Bossaert, Mayeul Kauffmann, Médéric Ribreux, Michael Douchin, Nicolas Rochard, Robin Prest, DelazJ, Stéphane Possamai, Sylvain Badey, Sylvain_M, Sylvain Maillard, Xavier Tardieu</td></tr> +-<tr><td><img src="qrc:/images/flags/pt_BR.png"></td><td>Portuguese (Brazil)</td><td><div title="finished:13174 unfinished:0 untranslated:1" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Sidney Schaberle Goveia, Arthur Nanni, Marcelo Soares Souza, Narcélio de Sá Pereira Filho, Leônidas Descovi Filho, Felipe Sodré Barros </td></tr> +-<tr><td><img src="qrc:/images/flags/nl.png"></td><td>Dutch</td><td><div title="finished:13172 unfinished:1 untranslated:2" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Richard Duivenvoorde, Raymond Nijssen, Carlo van Rijswijk, Diethard Jansen, Willem Hoffmans, Dick Groskamp</td></tr> +-<tr><td><img src="qrc:/images/flags/it.png"></td><td>Italian</td><td><div title="finished:13170 unfinished:1 untranslated:4" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Roberto Angeletti, Michele Beneventi, Marco Braida, Stefano Campus, Luca Casagrande, Paolo Cavallini, Giuliano Curti, Luca Delucchi, Alessandro Fanna, Michele Ferretti, Matteo Ghetta, Anne Gishla, Maurizio Napolitano, Flavio Rigolon</td></tr> +-<tr><td><img src="qrc:/images/flags/es.png"></td><td>Spanish</td><td><div title="finished:13158 unfinished:1 untranslated:16" class="bartodo"><div class="bardone" style="width:99px">99.9</div></div></td><td>Carlos Dávila, Javier César Aldariz, Gabriela Awad, Edwin Amado, Mayeul Kauffmann, Diana Galindo</td></tr> +-<tr><td><img src="qrc:/images/flags/fi.png"></td><td>Finnish</td><td><div title="finished:13156 unfinished:1 untranslated:18" class="bartodo"><div class="bardone" style="width:99px">99.9</div></div></td><td>Kari Salovaara, Marko Järvenpää</td></tr> +-<tr><td><img src="qrc:/images/flags/eu.png"></td><td>Basque</td><td><div title="finished:13022 unfinished:1 untranslated:152" class="bartodo"><div class="bardone" style="width:98px">98.8</div></div></td><td>Asier Sarasua Garmendia, Irantzu Alvarez</td></tr> +-<tr><td><img src="qrc:/images/flags/ja.png"></td><td>Japanese</td><td><div title="finished:12961 unfinished:0 untranslated:214" class="bartodo"><div class="bardone" style="width:98px">98.4</div></div></td><td>BABA Yoshihiko, Yoichi Kayama, Minoru Akagi, Takayuki Nuimura, Takayuki Mizutani, Norihiro Yamate</td></tr> +-<tr><td><img src="qrc:/images/flags/pl.png"></td><td>Polish</td><td><div title="finished:12702 unfinished:1 untranslated:472" class="bartodo"><div class="bardone" style="width:96px">96.4</div></div></td><td>Robert Szczepanek, Milena Nowotarska, Borys Jurgiel, Mateusz Łoskot, Tomasz Paul, Andrzej Świąder, Radosław Pasiok</td></tr> +-<tr><td><img src="qrc:/images/flags/hu.png"></td><td>Hungarian</td><td><div title="finished:12398 unfinished:5 untranslated:772" class="bartodo"><div class="bardone" style="width:94px">94.1</div></div></td><td>Zoltan Siki</td></tr> +-<tr><td><img src="qrc:/images/flags/ro.png"></td><td>Romanian</td><td><div title="finished:12311 unfinished:4 untranslated:860" class="bartodo"><div class="bardone" style="width:93px">93.5</div></div></td><td>Sorin Călinică, Lonut Losifescu-Enescu, Bogdan Pacurar</td></tr> +-<tr><td><img src="qrc:/images/flags/da.png"></td><td>Danish</td><td><div title="finished:12273 unfinished:4 untranslated:898" class="bartodo"><div class="bardone" style="width:93px">93.2</div></div></td><td>Jacob Overgaard Madsen, Bo Victor Thomsen</td></tr> +-<tr><td><img src="qrc:/images/flags/zh.png"></td><td>Chinese simplified</td><td><div title="finished:12197 unfinished:3 untranslated:975" class="bartodo"><div class="bardone" style="width:92px">92.6</div></div></td><td>Calvin Ngei, Lisashen</td></tr> +-<tr><td><img src="qrc:/images/flags/zh_CN.png"></td><td>Chinese (China)</td><td><div title="finished:12183 unfinished:2 untranslated:990" class="bartodo"><div class="bardone" style="width:92px">92.5</div></div></td><td>Calvin Ngei, Zhang Jun, Richard Xie</td></tr> +-<tr><td><img src="qrc:/images/flags/ko.png"></td><td>Korean</td><td><div title="finished:12087 unfinished:2 untranslated:1086" class="bartodo"><div class="bardone" style="width:91px">91.7</div></div></td><td>OSGeo Korean Chapter</td></tr> +-<tr><td><img src="qrc:/images/flags/ru.png"></td><td>Russian</td><td><div title="finished:12044 unfinished:25 untranslated:1106" class="bartodo"><div class="bardone" style="width:91px">91.5</div></div></td><td>Alexander Bruy, Artem Popov</td></tr> +-<tr><td><img src="qrc:/images/flags/vi.png"></td><td>Vietnamese</td><td><div title="finished:12045 unfinished:14 untranslated:1116" class="bartodo"><div class="bardone" style="width:91px">91.5</div></div></td><td>Phan Anh, Bùi Hữu Mạnh</td></tr> +-<tr><td><img src="qrc:/images/flags/zh_TW.png"></td><td>Chinese (Taiwan, Province of China)</td><td><div title="finished:11994 unfinished:5 untranslated:1176" class="bartodo"><div class="bardone" style="width:91px">91.1</div></div></td><td>Nung-yao Lin</td></tr> +-<tr><td><img src="qrc:/images/flags/cs.png"></td><td>Czech</td><td><div title="finished:11848 unfinished:5 untranslated:1322" class="bartodo"><div class="bardone" style="width:89px">89.9</div></div></td><td>Jan Helebrant, Martin Landa, Peter Antolik, Martin Dzurov, Stanislav Horáček</td></tr> +-<tr><td><img src="qrc:/images/flags/hi.png"></td><td>Hindi</td><td><div title="finished:11373 unfinished:3 untranslated:1799" class="bartodo"><div class="bardone" style="width:86px">86.3</div></div></td><td>Harish Kumar Solanki</td></tr> +-<tr><td><img src="qrc:/images/flags/id.png"></td><td>Indonesian</td><td><div title="finished:10759 unfinished:63 untranslated:2353" class="bartodo"><div class="bardone" style="width:81px">81.9</div></div></td><td>Emir Hartato, Muhammad Iqnaul Haq Siregar, Trias Aditya, Januar V. Simarmata, I Made Anombawa</td></tr> +-<tr><td><img src="qrc:/images/flags/lt.png"></td><td>Lithuanian</td><td><div title="finished:10779 unfinished:10 untranslated:2386" class="bartodo"><div class="bardone" style="width:81px">81.9</div></div></td><td>Paulius Litvinas, Tomas Straupis, Kestas M</td></tr> +-<tr><td><img src="qrc:/images/flags/bs.png"></td><td>Bosnian</td><td><div title="finished:10519 unfinished:15 untranslated:2641" class="bartodo"><div class="bardone" style="width:79px">79.9</div></div></td><td>Almir Karabegovic</td></tr> +-<tr><td><img src="qrc:/images/flags/km.png"></td><td>Central Khmer</td><td><div title="finished:9384 unfinished:9 untranslated:3782" class="bartodo"><div class="bardone" style="width:71px">71.3</div></div></td><td>Khoem Sokhem</td></tr> +-<tr><td><img src="qrc:/images/flags/sl.png"></td><td>Slovenian</td><td><div title="finished:9041 unfinished:12 untranslated:4122" class="bartodo"><div class="bardone" style="width:68px">68.7</div></div></td><td>Jože Detečnik, Dejan Gregor, Jaka Kranjc</td></tr> +-<tr><td><img src="qrc:/images/flags/lv.png"></td><td>Latvian</td><td><div title="finished:8905 unfinished:48 untranslated:4222" class="bartodo"><div class="bardone" style="width:67px">67.8</div></div></td><td>Maris Nartiss, Pēteris Brūns</td></tr> +-<tr><td><img src="qrc:/images/flags/ar.png"></td><td>Arabic</td><td><div title="finished:8893 unfinished:31 untranslated:4251" class="bartodo"><div class="bardone" style="width:67px">67.6</div></div></td><td>Ichaouia Amine, Hosham Munier</td></tr> +-<tr><td><img src="qrc:/images/flags/et.png"></td><td>Estonian</td><td><div title="finished:8816 unfinished:32 untranslated:4327" class="bartodo"><div class="bardone" style="width:67px">67.0</div></div></td><td>Veiko Viil</td></tr> +-<tr><td><img src="qrc:/images/flags/hr.png"></td><td>Croatian</td><td><div title="finished:7455 unfinished:15 untranslated:5705" class="bartodo"><div class="bardone" style="width:56px">56.6</div></div></td><td>Zoran Jankovic</td></tr> +-<tr><td><img src="qrc:/images/flags/tr.png"></td><td>Turkish</td><td><div title="finished:6841 unfinished:7 untranslated:6327" class="bartodo"><div class="bardone" style="width:51px">52.0</div></div></td><td>Osman Yalçın YILMAZ, Omur Saygin</td></tr> +-<tr><td><img src="qrc:/images/flags/sk.png"></td><td>Slovak</td><td><div title="finished:5933 unfinished:980 untranslated:6262" class="bartodo"><div class="bardone" style="width:48px">48.8</div></div></td><td>Lubos Balazovic, Jana Kormanikova, Ivan Mincik</td></tr> +-<tr><td><img src="qrc:/images/flags/sr.png"></td><td>Serbian (latin)</td><td><div title="finished:6247 unfinished:39 untranslated:6889" class="bartodo"><div class="bardone" style="width:47px">47.6</div></div></td><td>Goran Ivanković</td></tr> +-<tr><td><img src="qrc:/images/flags/el.png"></td><td>Modern Greek (1453-)</td><td><div title="finished:6189 unfinished:12 untranslated:6974" class="bartodo"><div class="bardone" style="width:47px">47.0</div></div></td><td>Theodoros Vakkas, Ioannis Tsimpiris, Evripidis Argyropoulos, Mike Pegnigiannis, Nikos Ves</td></tr> +-<tr><td><img src="qrc:/images/flags/sr.png"></td><td>Serbian</td><td><div title="finished:6005 unfinished:27 untranslated:7143" class="bartodo"><div class="bardone" style="width:45px">45.7</div></div></td><td>Goran Ivanković</td></tr> +-<tr><td><img src="qrc:/images/flags/ca.png"></td><td>Catalan</td><td><div title="finished:5155 unfinished:24 untranslated:7996" class="bartodo"><div class="bardone" style="width:39px">39.2</div></div></td><td>Albert F, Pau Reguant Ridó, Xavier Roijals</td></tr> +-<tr><td><img src="qrc:/images/flags/th.png"></td><td>Thai</td><td><div title="finished:5074 unfinished:27 untranslated:8074" class="bartodo"><div class="bardone" style="width:38px">38.6</div></div></td><td>Man Chao</td></tr> +-<tr><td><img src="qrc:/images/flags/fa.png"></td><td>Persian</td><td><div title="finished:5040 unfinished:32 untranslated:8103" class="bartodo"><div class="bardone" style="width:38px">38.4</div></div></td><td>Mola Pahnadayan, Masoud Pashotan , Masoud Erfanyan</td></tr> +-<tr><td><img src="qrc:/images/flags/is.png"></td><td>Icelandic</td><td><div title="finished:4920 unfinished:28 untranslated:8227" class="bartodo"><div class="bardone" style="width:37px">37.4</div></div></td><td>Ásta Kristín Óladóttir, Thordur Ivarsson</td></tr> +-<tr><td><img src="qrc:/images/flags/uk.png"></td><td>Ukrainian</td><td><div title="finished:4839 unfinished:21 untranslated:8315" class="bartodo"><div class="bardone" style="width:36px">36.8</div></div></td><td>Alexander Bruy</td></tr> +-<tr><td><img src="qrc:/images/flags/mn.png"></td><td>Mongolian</td><td><div title="finished:4635 unfinished:19 untranslated:8521" class="bartodo"><div class="bardone" style="width:35px">35.3</div></div></td><td>Bayarmaa Enkhtur</td></tr></table> ++<tr><td><img src="qrc:/images/flags/de.png"></td><td>German</td><td><div title="finished:13174 unfinished:0 untranslated:0" class="bartodo"><div class="bardone" style="width:100px">100.0</div></div></td><td>Jürgen E. Fischer, Stephan Holl, Otto Dassau, Werner Macho</td></tr> ++<tr><td><img src="qrc:/images/flags/gl.png"></td><td>Galician</td><td><div title="finished:13170 unfinished:1 untranslated:3" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Xan Vieiro</td></tr> ++<tr><td><img src="qrc:/images/flags/nb.png"></td><td>Norwegian Bokmal</td><td><div title="finished:13170 unfinished:1 untranslated:3" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>James Stott, Maléne Peterson</td></tr> ++<tr><td><img src="qrc:/images/flags/pt_PT.png"></td><td>Portuguese (Portugal)</td><td><div title="finished:13170 unfinished:1 untranslated:3" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Giovanni Manghi, Joana Simões, Duarte Carreira, Alexandre Neto, Pedro Pereira, Pedro Palheiro, Nelson Silva, Ricardo Sena, Leandro Infantini, João Gaspar</td></tr> ++<tr><td><img src="qrc:/images/flags/sv.png"></td><td>Swedish</td><td><div title="finished:13170 unfinished:1 untranslated:3" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Lars Luthman, Magnus Homann, Victor Axbom</td></tr> ++<tr><td><img src="qrc:/images/flags/fr.png"></td><td>French</td><td><div title="finished:13170 unfinished:0 untranslated:4" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Arnaud Morvan, Augustin Roche, Jean-Roc Morreale, Loïc Buscoz, Marc-André Saia, Mathieu Bossaert, Mayeul Kauffmann, Médéric Ribreux, Michael Douchin, Nicolas Rochard, Robin Prest, DelazJ, Stéphane Possamai, Sylvain Badey, Sylvain_M, Sylvain Maillard, Xavier Tardieu</td></tr> ++<tr><td><img src="qrc:/images/flags/pt_BR.png"></td><td>Portuguese (Brazil)</td><td><div title="finished:13170 unfinished:0 untranslated:4" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Sidney Schaberle Goveia, Arthur Nanni, Marcelo Soares Souza, Narcélio de Sá Pereira Filho, Leônidas Descovi Filho, Felipe Sodré Barros </td></tr> ++<tr><td><img src="qrc:/images/flags/nl.png"></td><td>Dutch</td><td><div title="finished:13168 unfinished:1 untranslated:5" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Richard Duivenvoorde, Raymond Nijssen, Carlo van Rijswijk, Diethard Jansen, Willem Hoffmans, Dick Groskamp</td></tr> ++<tr><td><img src="qrc:/images/flags/it.png"></td><td>Italian</td><td><div title="finished:13166 unfinished:1 untranslated:7" class="bartodo"><div class="bardone" style="width:99px">99.9</div></div></td><td>Roberto Angeletti, Michele Beneventi, Marco Braida, Stefano Campus, Luca Casagrande, Paolo Cavallini, Giuliano Curti, Luca Delucchi, Alessandro Fanna, Michele Ferretti, Matteo Ghetta, Anne Gishla, Maurizio Napolitano, Flavio Rigolon</td></tr> ++<tr><td><img src="qrc:/images/flags/es.png"></td><td>Spanish</td><td><div title="finished:13154 unfinished:1 untranslated:19" class="bartodo"><div class="bardone" style="width:99px">99.9</div></div></td><td>Carlos Dávila, Javier César Aldariz, Gabriela Awad, Edwin Amado, Mayeul Kauffmann, Diana Galindo</td></tr> ++<tr><td><img src="qrc:/images/flags/fi.png"></td><td>Finnish</td><td><div title="finished:13152 unfinished:1 untranslated:21" class="bartodo"><div class="bardone" style="width:99px">99.8</div></div></td><td>Kari Salovaara, Marko Järvenpää</td></tr> ++<tr><td><img src="qrc:/images/flags/eu.png"></td><td>Basque</td><td><div title="finished:13018 unfinished:1 untranslated:155" class="bartodo"><div class="bardone" style="width:98px">98.8</div></div></td><td>Asier Sarasua Garmendia, Irantzu Alvarez</td></tr> ++<tr><td><img src="qrc:/images/flags/ja.png"></td><td>Japanese</td><td><div title="finished:12957 unfinished:0 untranslated:217" class="bartodo"><div class="bardone" style="width:98px">98.4</div></div></td><td>BABA Yoshihiko, Yoichi Kayama, Minoru Akagi, Takayuki Nuimura, Takayuki Mizutani, Norihiro Yamate</td></tr> ++<tr><td><img src="qrc:/images/flags/pl.png"></td><td>Polish</td><td><div title="finished:12698 unfinished:1 untranslated:475" class="bartodo"><div class="bardone" style="width:96px">96.4</div></div></td><td>Robert Szczepanek, Milena Nowotarska, Borys Jurgiel, Mateusz Łoskot, Tomasz Paul, Andrzej Świąder, Radosław Pasiok</td></tr> ++<tr><td><img src="qrc:/images/flags/hu.png"></td><td>Hungarian</td><td><div title="finished:12394 unfinished:9 untranslated:771" class="bartodo"><div class="bardone" style="width:94px">94.1</div></div></td><td>Zoltan Siki</td></tr> ++<tr><td><img src="qrc:/images/flags/ro.png"></td><td>Romanian</td><td><div title="finished:12307 unfinished:4 untranslated:863" class="bartodo"><div class="bardone" style="width:93px">93.4</div></div></td><td>Sorin Călinică, Lonut Losifescu-Enescu, Bogdan Pacurar</td></tr> ++<tr><td><img src="qrc:/images/flags/da.png"></td><td>Danish</td><td><div title="finished:12269 unfinished:4 untranslated:901" class="bartodo"><div class="bardone" style="width:93px">93.1</div></div></td><td>Jacob Overgaard Madsen, Bo Victor Thomsen</td></tr> ++<tr><td><img src="qrc:/images/flags/zh.png"></td><td>Chinese simplified</td><td><div title="finished:12193 unfinished:3 untranslated:978" class="bartodo"><div class="bardone" style="width:92px">92.6</div></div></td><td>Calvin Ngei, Lisashen</td></tr> ++<tr><td><img src="qrc:/images/flags/zh_CN.png"></td><td>Chinese (China)</td><td><div title="finished:12179 unfinished:2 untranslated:993" class="bartodo"><div class="bardone" style="width:92px">92.5</div></div></td><td>Calvin Ngei, Zhang Jun, Richard Xie</td></tr> ++<tr><td><img src="qrc:/images/flags/ko.png"></td><td>Korean</td><td><div title="finished:12083 unfinished:2 untranslated:1089" class="bartodo"><div class="bardone" style="width:91px">91.7</div></div></td><td>OSGeo Korean Chapter</td></tr> ++<tr><td><img src="qrc:/images/flags/ru.png"></td><td>Russian</td><td><div title="finished:12041 unfinished:24 untranslated:1109" class="bartodo"><div class="bardone" style="width:91px">91.5</div></div></td><td>Alexander Bruy, Artem Popov</td></tr> ++<tr><td><img src="qrc:/images/flags/vi.png"></td><td>Vietnamese</td><td><div title="finished:12041 unfinished:14 untranslated:1119" class="bartodo"><div class="bardone" style="width:91px">91.5</div></div></td><td>Phan Anh, Bùi Hữu Mạnh</td></tr> ++<tr><td><img src="qrc:/images/flags/zh_TW.png"></td><td>Chinese (Taiwan (Province of China))</td><td><div title="finished:11990 unfinished:5 untranslated:1179" class="bartodo"><div class="bardone" style="width:91px">91.0</div></div></td><td>Nung-yao Lin</td></tr> ++<tr><td><img src="qrc:/images/flags/cs.png"></td><td>Czech</td><td><div title="finished:11844 unfinished:5 untranslated:1325" class="bartodo"><div class="bardone" style="width:89px">89.9</div></div></td><td>Jan Helebrant, Martin Landa, Peter Antolik, Martin Dzurov, Stanislav Horáček</td></tr> ++<tr><td><img src="qrc:/images/flags/hi.png"></td><td>Hindi</td><td><div title="finished:11369 unfinished:3 untranslated:1802" class="bartodo"><div class="bardone" style="width:86px">86.3</div></div></td><td>Harish Kumar Solanki</td></tr> ++<tr><td><img src="qrc:/images/flags/id.png"></td><td>Indonesian</td><td><div title="finished:10755 unfinished:63 untranslated:2356" class="bartodo"><div class="bardone" style="width:81px">81.9</div></div></td><td>Emir Hartato, Muhammad Iqnaul Haq Siregar, Trias Aditya, Januar V. Simarmata, I Made Anombawa</td></tr> ++<tr><td><img src="qrc:/images/flags/lt.png"></td><td>Lithuanian</td><td><div title="finished:10775 unfinished:10 untranslated:2389" class="bartodo"><div class="bardone" style="width:81px">81.8</div></div></td><td>Paulius Litvinas, Tomas Straupis, Kestas M</td></tr> ++<tr><td><img src="qrc:/images/flags/bs.png"></td><td>Bosnian</td><td><div title="finished:10515 unfinished:15 untranslated:2644" class="bartodo"><div class="bardone" style="width:79px">79.9</div></div></td><td>Almir Karabegovic</td></tr> ++<tr><td><img src="qrc:/images/flags/km.png"></td><td>Central Khmer</td><td><div title="finished:9381 unfinished:9 untranslated:3784" class="bartodo"><div class="bardone" style="width:71px">71.2</div></div></td><td>Khoem Sokhem</td></tr> ++<tr><td><img src="qrc:/images/flags/sl.png"></td><td>Slovenian</td><td><div title="finished:9037 unfinished:12 untranslated:4125" class="bartodo"><div class="bardone" style="width:68px">68.6</div></div></td><td>Jože Detečnik, Dejan Gregor, Jaka Kranjc</td></tr> ++<tr><td><img src="qrc:/images/flags/lv.png"></td><td>Latvian</td><td><div title="finished:8902 unfinished:48 untranslated:4224" class="bartodo"><div class="bardone" style="width:67px">67.8</div></div></td><td>Maris Nartiss, Pēteris Brūns</td></tr> ++<tr><td><img src="qrc:/images/flags/ar.png"></td><td>Arabic</td><td><div title="finished:8889 unfinished:31 untranslated:4254" class="bartodo"><div class="bardone" style="width:67px">67.6</div></div></td><td>Ichaouia Amine, Hosham Munier</td></tr> ++<tr><td><img src="qrc:/images/flags/et.png"></td><td>Estonian</td><td><div title="finished:8813 unfinished:32 untranslated:4329" class="bartodo"><div class="bardone" style="width:67px">67.0</div></div></td><td>Veiko Viil</td></tr> ++<tr><td><img src="qrc:/images/flags/hr.png"></td><td>Croatian</td><td><div title="finished:7451 unfinished:15 untranslated:5708" class="bartodo"><div class="bardone" style="width:56px">56.6</div></div></td><td>Zoran Jankovic</td></tr> ++<tr><td><img src="qrc:/images/flags/tr.png"></td><td>Turkish</td><td><div title="finished:6838 unfinished:7 untranslated:6329" class="bartodo"><div class="bardone" style="width:51px">51.9</div></div></td><td>Osman Yalçın YILMAZ, Omur Saygin</td></tr> ++<tr><td><img src="qrc:/images/flags/sk.png"></td><td>Slovak</td><td><div title="finished:5931 unfinished:979 untranslated:6264" class="bartodo"><div class="bardone" style="width:48px">48.7</div></div></td><td>Lubos Balazovic, Jana Kormanikova, Ivan Mincik</td></tr> ++<tr><td><img src="qrc:/images/flags/sr.png"></td><td>Serbian (latin)</td><td><div title="finished:6244 unfinished:39 untranslated:6891" class="bartodo"><div class="bardone" style="width:47px">47.5</div></div></td><td>Goran Ivanković</td></tr> ++<tr><td><img src="qrc:/images/flags/el.png"></td><td>Modern Greek (1453-)</td><td><div title="finished:6186 unfinished:12 untranslated:6976" class="bartodo"><div class="bardone" style="width:47px">47.0</div></div></td><td>Theodoros Vakkas, Ioannis Tsimpiris, Evripidis Argyropoulos, Mike Pegnigiannis, Nikos Ves</td></tr> ++<tr><td><img src="qrc:/images/flags/sr.png"></td><td>Serbian</td><td><div title="finished:6002 unfinished:27 untranslated:7145" class="bartodo"><div class="bardone" style="width:45px">45.7</div></div></td><td>Goran Ivanković</td></tr> ++<tr><td><img src="qrc:/images/flags/ca.png"></td><td>Catalan</td><td><div title="finished:5152 unfinished:24 untranslated:7998" class="bartodo"><div class="bardone" style="width:39px">39.2</div></div></td><td>Albert F, Pau Reguant Ridó, Xavier Roijals</td></tr> ++<tr><td><img src="qrc:/images/flags/th.png"></td><td>Thai</td><td><div title="finished:5071 unfinished:27 untranslated:8076" class="bartodo"><div class="bardone" style="width:38px">38.6</div></div></td><td>Man Chao</td></tr> ++<tr><td><img src="qrc:/images/flags/fa.png"></td><td>Persian</td><td><div title="finished:5037 unfinished:32 untranslated:8105" class="bartodo"><div class="bardone" style="width:38px">38.4</div></div></td><td>Mola Pahnadayan, Masoud Pashotan , Masoud Erfanyan</td></tr> ++<tr><td><img src="qrc:/images/flags/is.png"></td><td>Icelandic</td><td><div title="finished:4917 unfinished:28 untranslated:8229" class="bartodo"><div class="bardone" style="width:37px">37.4</div></div></td><td>Ásta Kristín Óladóttir, Thordur Ivarsson</td></tr> ++<tr><td><img src="qrc:/images/flags/uk.png"></td><td>Ukrainian</td><td><div title="finished:4836 unfinished:21 untranslated:8317" class="bartodo"><div class="bardone" style="width:36px">36.8</div></div></td><td>Alexander Bruy</td></tr> ++<tr><td><img src="qrc:/images/flags/mn.png"></td><td>Mongolian</td><td><div title="finished:4632 unfinished:19 untranslated:8523" class="bartodo"><div class="bardone" style="width:35px">35.2</div></div></td><td>Bayarmaa Enkhtur</td></tr></table> +--- a/i18n/qgis_de.ts ++++ b/i18n/qgis_de.ts +@@ -4794,7 +4794,7 @@ Erweiterung wird nicht aktiviert.</trans + </message> + <message> + <source>Merge...</source> +- <translation>Abfrage...</translation> ++ <translation>Verschmelzen...</translation> + </message> + <message> + <source>Information...</source> +@@ -7559,6 +7559,10 @@ im Installationsverzeichnis nicht erlaub + <source>Elevation</source> + <translation>Geländehöhe</translation> + </message> ++ <message> ++ <source>Feature %d is smaller than raster cell size</source> ++ <translation>Objekt %d ist kleiner als die Rasterzellengröße</translation> ++ </message> + </context> + <context> + <name>ImportIntoPostGIS</name> +@@ -9447,6 +9451,10 @@ Funktioniert auf allen ändernbaren Laye + <source>seconds</source> + <translation>Sekunden</translation> + </message> ++ <message> ++ <source>Record parsing error</source> ++ <translation>Datensatzfehler</translation> ++ </message> + </context> + <context> + <name>ModelerAlgorithm</name> +@@ -33237,22 +33245,6 @@ Die könnte auf ein Netzwerkproblem oder + <source>Segments [%1]</source> + <translation>Segmente [%1]</translation> + </message> +- <message> +- <source>Meters</source> +- <translation>Meter</translation> +- </message> +- <message> +- <source>Feet</source> +- <translation>Fuß</translation> +- </message> +- <message> +- <source>Degrees</source> +- <translation>Grad</translation> +- </message> +- <message> +- <source>Nautical Miles</source> +- <translation>Seemeilen</translation> +- </message> + </context> + <context> + <name>QgsMeasureTool</name> diff --git a/debian/patches/0001-postgres-provider-restore-behaviour-to-keep-3d-wkb-r.patch b/debian/patches/0001-postgres-provider-restore-behaviour-to-keep-3d-wkb-r.patch new file mode 100644 index 0000000..ae3ca11 --- /dev/null +++ b/debian/patches/0001-postgres-provider-restore-behaviour-to-keep-3d-wkb-r.patch @@ -0,0 +1,72 @@ +From c7234cee23aae55d1bacc4f59b9450c96efdaabd Mon Sep 17 00:00:00 2001 +From: "Juergen E. Fischer" <j...@norbit.de> +Date: Tue, 3 Mar 2015 20:08:16 +0100 +Subject: =?UTF-8?q?postgres=20provider:=20restore=20behaviour=20to=20keep=20?= + =?UTF-8?q?3d=20wkb=20(refs=20#9651,=0Afollowup=20bd311c8)?= +Origin: https://github.com/qgis/QGIS/commit/c7234cee23aae55d1bacc4f59b9450c96efdaabd +Bug: http://hub.qgis.org/issues/9651 + +--- + src/providers/postgres/qgspostgresconn.cpp | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +--- a/src/providers/postgres/qgspostgresconn.cpp ++++ b/src/providers/postgres/qgspostgresconn.cpp +@@ -454,13 +454,15 @@ bool QgsPostgresConn::getTableInfo( bool + srid = INT_MIN; + } + +- /*QgsDebugMsg( QString( "%1 : %2.%3.%4: %5 %6 %7 %8" ) ++#if 0 ++ QgsDebugMsg( QString( "%1 : %2.%3.%4: %5 %6 %7 %8" ) + .arg( gtableName ) + .arg( schemaName ).arg( tableName ).arg( column ) + .arg( type ) + .arg( srid ) + .arg( relkind ) +- .arg( dim ) );*/ ++ .arg( dim ) ); ++#endif + + layerProperty.schemaName = schemaName; + layerProperty.tableName = tableName; +@@ -470,11 +472,11 @@ bool QgsPostgresConn::getTableInfo( bool + layerProperty.srids = QList<int>() << srid; + layerProperty.sql = ""; + /* +- * NOTE: force2d may get a false negative value ++ * force2d may get a false negative value + * (dim == 2 but is not really constrained) + * http://trac.osgeo.org/postgis/ticket/3068 + */ +- layerProperty.force2d = dim > 2; ++ layerProperty.force2d = dim > 3; + addColumnInfo( layerProperty, schemaName, tableName, isView ); + + if ( isView && layerProperty.pkCols.empty() ) +@@ -1304,10 +1306,9 @@ void QgsPostgresConn::retrieveLayerTypes + query += QString::number( srid ); + } + +- if ( ! layerProperty.force2d ) ++ if ( !layerProperty.force2d ) + { +- query += ","; +- query += QString( "%1(%2%3)" ) ++ query += QString( ",%1(%2%3)" ) + .arg( majorVersion() < 2 ? "ndims" : "st_ndims" ) + .arg( quotedIdentifier( layerProperty.geometryColName ) ) + .arg( layerProperty.geometryColType == sctGeography ? "::geometry" : "" ); +@@ -1326,10 +1327,9 @@ void QgsPostgresConn::retrieveLayerTypes + QString type = gresult.PQgetvalue( i, 0 ); + QString srid = gresult.PQgetvalue( i, 1 ); + +- if ( ! layerProperty.force2d ) ++ if ( !layerProperty.force2d && gresult.PQgetvalue( i, 2 ).toInt() > 3 ) + { +- QString ndims = gresult.PQgetvalue( i, 2 ); +- if ( ndims.toInt() > 2 ) layerProperty.force2d = true; ++ layerProperty.force2d = true; + } + + if ( type.isEmpty() ) diff --git a/debian/patches/0001-postgres-provider-use-min-max-before-casting-followu.patch b/debian/patches/0001-postgres-provider-use-min-max-before-casting-followu.patch new file mode 100644 index 0000000..1c0a55a --- /dev/null +++ b/debian/patches/0001-postgres-provider-use-min-max-before-casting-followu.patch @@ -0,0 +1,95 @@ +From 377c1dba6222e5a4925f9309c4f1b1c9e70c6f48 Mon Sep 17 00:00:00 2001 +From: "Juergen E. Fischer" <j...@norbit.de> +Date: Wed, 4 Mar 2015 08:29:10 +0100 +Subject: postgres provider: use min()/max() before casting (followup bf56457; + fixes #12306) +Origin: https://github.com/qgis/QGIS/commit/377c1dba6222e5a4925f9309c4f1b1c9e70c6f48 +Bug: http://hub.qgis.org/issues/12306 + +(cherry picked from commit 7ce195ebec7330f101bb6922055a079958bfd58a) +--- + src/providers/postgres/qgspostgresconn.cpp | 15 ++++++++------- + src/providers/postgres/qgspostgresconn.h | 2 +- + src/providers/postgres/qgspostgresprovider.cpp | 8 ++++---- + 3 files changed, 13 insertions(+), 12 deletions(-) + +--- a/src/providers/postgres/qgspostgresconn.cpp ++++ b/src/providers/postgres/qgspostgresconn.cpp +@@ -1170,34 +1170,35 @@ qint64 QgsPostgresConn::getBinaryInt( Qg + return oid; + } + +-QString QgsPostgresConn::fieldExpression( const QgsField &fld ) ++QString QgsPostgresConn::fieldExpression( const QgsField &fld, QString expr ) + { + const QString &type = fld.typeName(); ++ expr = expr.arg( quotedIdentifier( fld.name() ) ); + if ( type == "money" ) + { +- return QString( "cash_out(%1)" ).arg( quotedIdentifier( fld.name() ) ); ++ return QString( "cash_out(%1)" ).arg( expr ); + } + else if ( type.startsWith( "_" ) ) + { +- return QString( "array_out(%1)" ).arg( quotedIdentifier( fld.name() ) ); ++ return QString( "array_out(%1)" ).arg( expr ); + } + else if ( type == "bool" ) + { +- return QString( "boolout(%1)" ).arg( quotedIdentifier( fld.name() ) ); ++ return QString( "boolout(%1)" ).arg( expr ); + } + else if ( type == "geometry" ) + { + return QString( "%1(%2)" ) + .arg( majorVersion() < 2 ? "asewkt" : "st_asewkt" ) +- .arg( quotedIdentifier( fld.name() ) ); ++ .arg( expr ); + } + else if ( type == "geography" ) + { +- return QString( "st_astext(%1)" ).arg( quotedIdentifier( fld.name() ) ); ++ return QString( "st_astext(%1)" ).arg( expr ); + } + else + { +- return quotedIdentifier( fld.name() ) + "::text"; ++ return expr + "::text"; + } + } + +--- a/src/providers/postgres/qgspostgresconn.h ++++ b/src/providers/postgres/qgspostgresconn.h +@@ -285,7 +285,7 @@ class QgsPostgresConn : public QObject + + qint64 getBinaryInt( QgsPostgresResult &queryResult, int row, int col ); + +- QString fieldExpression( const QgsField &fld ); ++ QString fieldExpression( const QgsField &fld, QString expr = "%1" ); + + QString connInfo() const { return mConnInfo; } + +--- a/src/providers/postgres/qgspostgresprovider.cpp ++++ b/src/providers/postgres/qgspostgresprovider.cpp +@@ -1234,8 +1234,8 @@ QVariant QgsPostgresProvider::minimumVal + { + // get the field name + const QgsField &fld = field( index ); +- QString sql = QString( "SELECT min(%1) FROM %2" ) +- .arg( connectionRO()->fieldExpression( fld ) ) ++ QString sql = QString( "SELECT %1 FROM %2" ) ++ .arg( connectionRO()->fieldExpression( fld, "min(%1)" ) ) + .arg( mQuery ); + + if ( !mSqlWhereClause.isEmpty() ) +@@ -1407,8 +1407,8 @@ QVariant QgsPostgresProvider::maximumVal + { + // get the field name + const QgsField &fld = field( index ); +- QString sql = QString( "SELECT max(%1) FROM %2" ) +- .arg( connectionRO()->fieldExpression( fld ) ) ++ QString sql = QString( "SELECT %1 FROM %2" ) ++ .arg( connectionRO()->fieldExpression( fld, "max(%1)" ) ) + .arg( mQuery ); + + if ( !mSqlWhereClause.isEmpty() ) diff --git a/debian/patches/0001-processing-fix-error-in-MultipleFileInput-selector-w.patch b/debian/patches/0001-processing-fix-error-in-MultipleFileInput-selector-w.patch new file mode 100644 index 0000000..f94955a --- /dev/null +++ b/debian/patches/0001-processing-fix-error-in-MultipleFileInput-selector-w.patch @@ -0,0 +1,23 @@ +From 60b5d4245b449e64d74cf1cce9ef7b24b42985b9 Mon Sep 17 00:00:00 2001 +From: Alexander Bruy <alexander.b...@gmail.com> +Date: Wed, 4 Mar 2015 13:01:32 +0200 +Subject: =?UTF-8?q?[processing]=20fix=20error=20in=20MultipleFileInput=20sel?= + =?UTF-8?q?ector=20when=20user=20press=0ACancel=20button?= +Origin: https://github.com/qgis/QGIS/commit/60b5d4245b449e64d74cf1cce9ef7b24b42985b9 + +--- + python/plugins/processing/gui/MultipleFileInputDialog.py | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/python/plugins/processing/gui/MultipleFileInputDialog.py ++++ b/python/plugins/processing/gui/MultipleFileInputDialog.py +@@ -91,6 +91,9 @@ class MultipleFileInputDialog(QDialog, U + files = QFileDialog.getOpenFileNames(self, + self.tr('Select file(s)'), path, self.tr('All files (*.*)')) + ++ if len(files) == 0: ++ return ++ + model = self.lstLayers.model() + for filePath in files: + item = QStandardItem(filePath) diff --git a/debian/patches/0001-translation-string-fix.patch b/debian/patches/0001-translation-string-fix.patch new file mode 100644 index 0000000..599b6ac --- /dev/null +++ b/debian/patches/0001-translation-string-fix.patch @@ -0,0 +1,21 @@ +From fbabc250f53000fd81ab09e678959af347661cd1 Mon Sep 17 00:00:00 2001 +From: "Juergen E. Fischer" <j...@norbit.de> +Date: Sun, 1 Mar 2015 14:41:44 +0100 +Subject: translation string fix +Origin: https://github.com/qgis/QGIS/commit/fbabc250f53000fd81ab09e678959af347661cd1 + +--- + python/plugins/processing/algs/qgis/HypsometricCurves.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/python/plugins/processing/algs/qgis/HypsometricCurves.py ++++ b/python/plugins/processing/algs/qgis/HypsometricCurves.py +@@ -134,7 +134,7 @@ class HypsometricCurves(GeoAlgorithm): + + if srcOffset[2] == 0 or srcOffset[3] == 0: + progress.setInfo( +- self.tr('Feature %d does is smaller than raster ' ++ self.tr('Feature %d is smaller than raster ' + 'cell size' % f.id())) + continue + diff --git a/debian/patches/series b/debian/patches/series index 23b8638..32b5565 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -7,3 +7,16 @@ exclude-elvensword-resources.patch 0001-fix-arm-build.patch 0001-processing-correctly-handle-tiny-polygons-smaller-th.patch 0001-backport-ada01603cb7b10786436aa0ed2361743b52ce48f.patch +0001-composer-attribute-table-fix-changing-header-font-fi.patch +0001-Fix-handling-of-warped-VRT-refs-12264.patch +0001-Detect-number-of-dimensions-for-tables-with-unconstr.patch +0001-postgres-provider-use-min-max-before-casting-followu.patch +0001-fix-SAGA-2.1.3-Kernel-Density-Estimation.patch +0001-Add-comment-about-possible-pending-bug-in-force2d-ne.patch +0001-Use-ST_Force2D-from-PostGIS-2.1.0-up.patch +0001-Only-scan-for-dimension-if-it-is-not-already-known-a.patch +0001-postgres-provider-restore-behaviour-to-keep-3d-wkb-r.patch +0001-processing-fix-error-in-MultipleFileInput-selector-w.patch +0001-translation-string-fix.patch +0001-german-translation-fix-fixes-12231.patch +0001-expression-builder-widget-save-scripts-in-the-same-m.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/qgis.git _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel