[Git][debian-gis-team/qgis][upstream-ltr] New upstream version 2.18.20+dfsg

Bas Couwenberg gitlab at salsa.debian.org
Sat May 19 07:37:32 BST 2018


Bas Couwenberg pushed to branch upstream-ltr at Debian GIS Project / qgis


Commits:
107aea60 by Bas Couwenberg at 2018-05-18T20:42:32+02:00
New upstream version 2.18.20+dfsg
- - - - -


19 changed files:

- CMakeLists.txt
- ChangeLog
- debian/changelog
- doc/TRANSLATORS
- i18n/qgis_de.ts
- i18n/qgis_pl.ts
- ms-windows/QGIS-Installer.nsi
- python/core/qgsvectorlayer.sip
- python/plugins/db_manager/db_plugins/html_elems.py
- python/plugins/processing/algs/gdal/gdalcalc.py
- python/plugins/processing/algs/gdal/warp.py
- python/plugins/processing/algs/saga/description/NaturalNeighbour.txt
- python/plugins/processing/core/parameters.py
- python/plugins/processing/gui/ConfigDialog.py
- python/plugins/processing/modeler/ModelerDialog.py
- python/testing/__init__.py
- src/plugins/georeferencer/qgsgcplistwidget.cpp
- src/providers/db2/qgsdb2newconnection.cpp
- src/providers/postgres/qgspgnewconnection.cpp


Changes:

=====================================
CMakeLists.txt
=====================================
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
 SET(CPACK_PACKAGE_VERSION_MAJOR "2")
 SET(CPACK_PACKAGE_VERSION_MINOR "18")
-SET(CPACK_PACKAGE_VERSION_PATCH "19")
+SET(CPACK_PACKAGE_VERSION_PATCH "20")
 SET(COMPLETE_VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH})
 SET(RELEASE_NAME "Las Palmas")
 IF (POLICY CMP0048) # in CMake 3.0.0+


=====================================
ChangeLog
=====================================
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,105 @@
+Borys Jurgiel <info at borysjurgiel.pl>	2018-05-15
+
+    [tr] Polish translation update
+
+Borys Jurgiel <info at borysjurgiel.pl>	2018-05-12
+
+    [tr] Polish translation update
+
+Jason Hilton <jasface901 at gmail.com>	2017-09-05
+
+    updated NaturalNeighbour gui to use new saga parameters
+
+Merge: 5b201687f2 6150b7f4e4
+Alexander Bruy <alexander.bruy at gmail.com>	2018-05-10
+
+    Merge pull request #6960 from luipir/gdalcalc_avoid_escape_formula
+
+    [processing][gdal] Do not escape formula because it's not a path!
+
+Luigi Pirelli <luipir at gmail.com>	2018-05-09
+
+    avoid escape formula because it's not a path!
+
+Juergen E. Fischer <jef at norbit.de>	2018-05-09
+
+    NSIS: Include DisplayVersion in UninstallKey (backport 100d9403)
+
+Merge: d8e39fa994 7e73f314cc
+Matthias Kuhn <matthias at opengis.ch>	2018-05-09
+
+    Merge pull request #6957 from radosuav/processing_gdal_warp
+
+    [processing] Add missing resampling methods to GDAL warp.
+
+radosuav <radoslaw.guzinski at esa.int>	2018-01-16
+
+    [processing] Add missing resampling methods to GDAL warp.
+
+Juergen E. Fischer <jef at norbit.de>	2018-05-05
+
+    remove algorithm refresh after processing configuration changes (was a NOOP before c83261395 and now causes an endless recursion; fixes #18807)
+
+Juergen E. Fischer <jef at norbit.de>	2018-05-04
+
+    revive python tests on bionic
+
+Merge: 0c033781b4 ac4d776af0
+rldhont <rldhont at gmail.com>	2018-05-02
+
+    Merge pull request #6795 from rldhont/processing-default-string-parameter-none-218
+
+    [Processing] None is the default value for parameters also for string
+
+Merge: 85fd681e43 9be84d4c88
+Matthias Kuhn <matthias at opengis.ch>	2018-05-02
+
+    Merge pull request #6916 from Gustry/saveStyleToDatabase
+
+    [2.18] fix SIP bindings saveStyleToDatabase
+
+Etienne Trimaille <gustrimaille at yahoo.fr>	2018-05-02
+
+    fix SIP bindings saveStyleToDatabase
+
+Merge: 9ce55ca08e e5aaf6a550
+Borys Jurgiel <info at borysjurgiel.pl>	2018-04-27
+
+    Merge pull request #6871 from borysiasty/dbmanager_unicode_fix
+
+    [DBManager] Fix encoding error if a field/table/database/file name co…
+
+Borys Jurgiel <info at borysjurgiel.pl>	2018-04-27
+
+    [DB Manager] Avoid unnecessary conversion (follows up b822fe750f40)
+
+Borys Jurgiel <info at borysjurgiel.pl>	2018-04-20
+
+    [DBManager] Fix encoding error if a field/table/database/file name contains unicode characters
+
+Juergen E. Fischer <jef at norbit.de>	2018-04-24
+
+    [postgres][db2] still save username when instructed too also with authcfg (backport 4ad3531103)
+
+Merge: c86045ee72 92aebefbd3
+Matthias Kuhn <matthias at opengis.ch>	2018-04-24
+
+    Merge pull request #6849 from m-kuhn/fix_georeferencer_crash_18227
+
+    Fix geroreferencer crash when deleting a point through context menu
+
+Alexis Polti <alexis.polti at telecom-paristech.fr>	2018-03-18
+
+    Fix geroreferencer crash when deleting a point through context menu
+
+Juergen E. Fischer <jef at norbit.de>	2018-04-20
+
+    german translation update
+
+Juergen E. Fischer <jef at norbit.de>	2018-04-20
+
+    Release of 2.18.19
+
 Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2018-04-20
 
     Add safety check
@@ -79,6 +181,10 @@ Borys Jurgiel <info at borysjurgiel.pl>	2018-04-16
 
     [tr] Polish translation update
 
+rldhont <rldhont at gmail.com>	2018-04-13
+
+    [Processing] None is the default value for parameters also for string
+
 Marco Hugentobler <marco.hugentobler at sourcepole.ch>	2018-04-13
 
     Server: return empty image in GetLegendGraphis if no layer is there (e.g. contextual legend)


=====================================
debian/changelog
=====================================
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,14 @@
-qgis (2.18.19) UNRELEASED; urgency=medium
+qgis (2.18.20) UNRELEASED; urgency=medium
+
+  * Release of 2.18.20
+
+ -- Jürgen E. Fischer <jef at norbit.de>  Fri, 18 May 2018 14:01:08 +0200
+
+qgis (2.18.19) unstable; urgency=medium
 
   * Release of 2.18.19
 
- -- Jürgen E. Fischer <jef at norbit.de>  Fri, 20 Apr 2018 14:00:07 +0200
+ -- Jürgen E. Fischer <jef at norbit.de>  Fri, 18 May 2018 14:01:08 +0200
 
 qgis (2.18.18) unstable; urgency=medium
 


=====================================
doc/TRANSLATORS
=====================================
--- a/doc/TRANSLATORS
+++ b/doc/TRANSLATORS
@@ -1,40 +1,40 @@
 <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:18368 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/sv.png"></td><td>Swedish</td><td><div title="finished:17797 unfinished:218 untranslated:353" class="bartodo"><div class="bardone" style="width:97px">97.5</div></div></td><td>Victor Axbom, Lars Luthman, Magnus Homann, Klas Karlsson, Isabelle J Wigren, Daniel Rosander, Anders Ekwall, Magnus Nilsson, Jonas Svensson, Christian Brinkenberg</td></tr>
-<tr><td><img src="qrc:/images/flags/eu.png"></td><td>Basque</td><td><div title="finished:17797 unfinished:214 untranslated:357" class="bartodo"><div class="bardone" style="width:97px">97.5</div></div></td><td>Asier Sarasua Garmendia, Irantzu Alvarez</td></tr>
-<tr><td><img src="qrc:/images/flags/gl.png"></td><td>Galician</td><td><div title="finished:17796 unfinished:212 untranslated:360" class="bartodo"><div class="bardone" style="width:97px">97.5</div></div></td><td>Xan Vieiro</td></tr>
-<tr><td><img src="qrc:/images/flags/nl.png"></td><td>Dutch</td><td><div title="finished:17792 unfinished:218 untranslated:358" class="bartodo"><div class="bardone" style="width:97px">97.5</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/ro.png"></td><td>Romanian</td><td><div title="finished:17797 unfinished:204 untranslated:367" class="bartodo"><div class="bardone" style="width:97px">97.4</div></div></td><td>Sorin Călinică, Tudor Bărăscu, Georgiana Ioanovici, Alex Bădescu, Lonut Losifescu-Enescu, Bogdan Pacurar</td></tr>
-<tr><td><img src="qrc:/images/flags/pt_BR.png"></td><td>Portuguese (Brazil)</td><td><div title="finished:17797 unfinished:203 untranslated:368" class="bartodo"><div class="bardone" style="width:97px">97.4</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/fr.png"></td><td>French</td><td><div title="finished:17781 unfinished:211 untranslated:376" class="bartodo"><div class="bardone" style="width:97px">97.4</div></div></td><td>Arnaud Morvan, Augustin Roche, DelazJ, Didier Vanden Berghe, Dofabien, etrimaille, Jean-Roc Morreale, Jérémy Garniaux, Loïc Buscoz, Lsam, Marc-André Saia, Marie Silvestre, Mathieu Bossaert, Mathieu Lattes, Mayeul Kauffmann, Médéric Ribreux, Mehdi Semchaoui, Michael Douchin, Nicolas Boisteault, Nicolas Rochard, Pascal Obstetar, Robin Prest, Rod Bera, Stéphane Henriod, Stéphane Possamai, sylther, Sylvain Badey, Sylvain Maillard, Vincent Picavet, Xavier Tardieu, Yann Leveille-Menez, yoda89</td></tr>
-<tr><td><img src="qrc:/images/flags/it.png"></td><td>Italian</td><td><div title="finished:17797 unfinished:76 untranslated:495" class="bartodo"><div class="bardone" style="width:97px">97.1</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:17740 unfinished:131 untranslated:497" class="bartodo"><div class="bardone" style="width:96px">96.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/bs.png"></td><td>Bosnian</td><td><div title="finished:17652 unfinished:221 untranslated:495" class="bartodo"><div class="bardone" style="width:96px">96.7</div></div></td><td>Almir Karabegovic</td></tr>
-<tr><td><img src="qrc:/images/flags/da.png"></td><td>Danish</td><td><div title="finished:17493 unfinished:174 untranslated:701" class="bartodo"><div class="bardone" style="width:95px">95.7</div></div></td><td>Jacob Overgaard Madsen, Bo Victor Thomsen</td></tr>
-<tr><td><img src="qrc:/images/flags/ja.png"></td><td>Japanese</td><td><div title="finished:17114 unfinished:218 untranslated:1036" class="bartodo"><div class="bardone" style="width:93px">93.8</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/hu.png"></td><td>Hungarian</td><td><div title="finished:16371 unfinished:153 untranslated:1844" class="bartodo"><div class="bardone" style="width:89px">89.5</div></div></td><td>Zoltan Siki</td></tr>
-<tr><td><img src="qrc:/images/flags/vi.png"></td><td>Vietnamese</td><td><div title="finished:16215 unfinished:104 untranslated:2049" class="bartodo"><div class="bardone" style="width:88px">88.6</div></div></td><td>Phùng Văn Doanh, Bùi Hữu Mạnh, Nguyễn Văn Thanh, Nguyễn Hữu Phúc, Cao Minh Tu</td></tr>
-<tr><td><img src="qrc:/images/flags/zh.png"></td><td>Chinese simplified</td><td><div title="finished:15928 unfinished:112 untranslated:2328" class="bartodo"><div class="bardone" style="width:87px">87.0</div></div></td><td>Calvin Ngei, Lisashen</td></tr>
-<tr><td><img src="qrc:/images/flags/pt_PT.png"></td><td>Portuguese (Portugal)</td><td><div title="finished:15344 unfinished:100 untranslated:2924" class="bartodo"><div class="bardone" style="width:83px">83.8</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/ru.png"></td><td>Russian</td><td><div title="finished:15299 unfinished:163 untranslated:2906" class="bartodo"><div class="bardone" style="width:83px">83.7</div></div></td><td>Alexander Bruy, Artem Popov</td></tr>
-<tr><td><img src="qrc:/images/flags/pl.png"></td><td>Polish</td><td><div title="finished:14857 unfinished:104 untranslated:3407" class="bartodo"><div class="bardone" style="width:81px">81.2</div></div></td><td>Robert Szczepanek, Milena Nowotarska, Borys Jurgiel, Mateusz Łoskot, Tomasz Paul, Andrzej Świąder, Radosław Pasiok, Michał Kułach, Ewelina Krawczak, Michał Smoczyk, Jakub Bobrowski</td></tr>
-<tr><td><img src="qrc:/images/flags/nb.png"></td><td>Norwegian Bokmal</td><td><div title="finished:14511 unfinished:142 untranslated:3715" class="bartodo"><div class="bardone" style="width:79px">79.4</div></div></td><td>James Stott, Maléne Peterson</td></tr>
-<tr><td><img src="qrc:/images/flags/cs.png"></td><td>Czech</td><td><div title="finished:14480 unfinished:141 untranslated:3747" class="bartodo"><div class="bardone" style="width:79px">79.2</div></div></td><td>Jan Helebrant, Martin Landa, Peter Antolik, Martin Dzurov, Stanislav Horáček</td></tr>
-<tr><td><img src="qrc:/images/flags/zh.png"></td><td>Chinese traditional</td><td><div title="finished:13962 unfinished:167 untranslated:4239" class="bartodo"><div class="bardone" style="width:76px">76.5</div></div></td><td>Calvin Ngei, Zhang Jun, Richard Xie</td></tr>
-<tr><td><img src="qrc:/images/flags/fi.png"></td><td>Finnish</td><td><div title="finished:13864 unfinished:356 untranslated:4148" class="bartodo"><div class="bardone" style="width:76px">76.4</div></div></td><td>Kari Mikkonen, Matti Mäntynen</td></tr>
-<tr><td><img src="qrc:/images/flags/et.png"></td><td>Estonian</td><td><div title="finished:13120 unfinished:172 untranslated:5076" class="bartodo"><div class="bardone" style="width:71px">71.9</div></div></td><td>Veiko Viil</td></tr>
-<tr><td><img src="qrc:/images/flags/ca.png"></td><td>Catalan</td><td><div title="finished:12792 unfinished:152 untranslated:5424" class="bartodo"><div class="bardone" style="width:70px">70.1</div></div></td><td>Albert F, Pau Reguant Ridó, Xavier Roijals</td></tr>
-<tr><td><img src="qrc:/images/flags/hi.png"></td><td>Hindi</td><td><div title="finished:12425 unfinished:198 untranslated:5745" class="bartodo"><div class="bardone" style="width:68px">68.2</div></div></td><td>Harish Kumar Solanki</td></tr>
-<tr><td><img src="qrc:/images/flags/bg.png"></td><td>Bulgarian</td><td><div title="finished:12325 unfinished:170 untranslated:5873" class="bartodo"><div class="bardone" style="width:67px">67.6</div></div></td><td>Захари Савов, Jordan Tzvetkov</td></tr>
-<tr><td><img src="qrc:/images/flags/ko.png"></td><td>Korean</td><td><div title="finished:11723 unfinished:189 untranslated:6456" class="bartodo"><div class="bardone" style="width:64px">64.3</div></div></td><td>OSGeo Korean Chapter</td></tr>
-<tr><td><img src="qrc:/images/flags/lt.png"></td><td>Lithuanian</td><td><div title="finished:11278 unfinished:203 untranslated:6887" class="bartodo"><div class="bardone" style="width:61px">62.0</div></div></td><td>Paulius Litvinas, Tomas Straupis, Kestas M</td></tr>
-<tr><td><img src="qrc:/images/flags/id.png"></td><td>Indonesian</td><td><div title="finished:10691 unfinished:332 untranslated:7345" class="bartodo"><div class="bardone" style="width:59px">59.1</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/tr.png"></td><td>Turkish</td><td><div title="finished:10775 unfinished:162 untranslated:7431" class="bartodo"><div class="bardone" style="width:59px">59.1</div></div></td><td>Osman Yalçın YILMAZ, Omur Saygin</td></tr>
-<tr><td><img src="qrc:/images/flags/el.png"></td><td>Modern Greek (1453-)</td><td><div title="finished:10690 unfinished:130 untranslated:7548" class="bartodo"><div class="bardone" style="width:58px">58.6</div></div></td><td>Theodoros Vakkas, Ioannis Tsimpiris, Evripidis Argyropoulos, Mike Pegnigiannis, Nikos Ves</td></tr>
-<tr><td><img src="qrc:/images/flags/sl.png"></td><td>Slovenian</td><td><div title="finished:9487 unfinished:191 untranslated:8690" class="bartodo"><div class="bardone" style="width:52px">52.2</div></div></td><td>Jože Detečnik, Dejan Gregor, Jaka Kranjc</td></tr>
-<tr><td><img src="qrc:/images/flags/km.png"></td><td>Central Khmer</td><td><div title="finished:9311 unfinished:193 untranslated:8864" class="bartodo"><div class="bardone" style="width:51px">51.2</div></div></td><td>Khoem Sokhem</td></tr>
-<tr><td><img src="qrc:/images/flags/ar.png"></td><td>Arabic</td><td><div title="finished:9272 unfinished:190 untranslated:8906" class="bartodo"><div class="bardone" style="width:50px">51.0</div></div></td><td>Ichaouia Amine, Hosham Munier</td></tr>
-<tr><td><img src="qrc:/images/flags/lv.png"></td><td>Latvian</td><td><div title="finished:9146 unfinished:278 untranslated:8944" class="bartodo"><div class="bardone" style="width:50px">50.5</div></div></td><td>Maris Nartiss, Pēteris Brūns</td></tr>
-<tr><td><img src="qrc:/images/flags/sk.png"></td><td>Slovak</td><td><div title="finished:7741 unfinished:871 untranslated:9756" class="bartodo"><div class="bardone" style="width:44px">44.5</div></div></td><td>Lubos Balazovic, Jana Kormanikova, Ivan Mincik</td></tr>
-<tr><td><img src="qrc:/images/flags/hr.png"></td><td>Croatian</td><td><div title="finished:7274 unfinished:196 untranslated:10898" class="bartodo"><div class="bardone" style="width:40px">40.1</div></div></td><td>Zoran Jankovic</td></tr></table>
+<tr><td><img src="qrc:/images/flags/de.png"></td><td>German</td><td><div title="finished:18369 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/sv.png"></td><td>Swedish</td><td><div title="finished:17797 unfinished:218 untranslated:354" class="bartodo"><div class="bardone" style="width:97px">97.5</div></div></td><td>Victor Axbom, Lars Luthman, Magnus Homann, Klas Karlsson, Isabelle J Wigren, Daniel Rosander, Anders Ekwall, Magnus Nilsson, Jonas Svensson, Christian Brinkenberg</td></tr>
+<tr><td><img src="qrc:/images/flags/eu.png"></td><td>Basque</td><td><div title="finished:17797 unfinished:214 untranslated:358" class="bartodo"><div class="bardone" style="width:97px">97.5</div></div></td><td>Asier Sarasua Garmendia, Irantzu Alvarez</td></tr>
+<tr><td><img src="qrc:/images/flags/gl.png"></td><td>Galician</td><td><div title="finished:17796 unfinished:212 untranslated:361" class="bartodo"><div class="bardone" style="width:97px">97.5</div></div></td><td>Xan Vieiro</td></tr>
+<tr><td><img src="qrc:/images/flags/nl.png"></td><td>Dutch</td><td><div title="finished:17792 unfinished:218 untranslated:359" class="bartodo"><div class="bardone" style="width:97px">97.5</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/ro.png"></td><td>Romanian</td><td><div title="finished:17797 unfinished:204 untranslated:368" class="bartodo"><div class="bardone" style="width:97px">97.4</div></div></td><td>Sorin Călinică, Tudor Bărăscu, Georgiana Ioanovici, Alex Bădescu, Lonut Losifescu-Enescu, Bogdan Pacurar</td></tr>
+<tr><td><img src="qrc:/images/flags/pt_BR.png"></td><td>Portuguese (Brazil)</td><td><div title="finished:17797 unfinished:203 untranslated:369" class="bartodo"><div class="bardone" style="width:97px">97.4</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/fr.png"></td><td>French</td><td><div title="finished:17781 unfinished:211 untranslated:377" class="bartodo"><div class="bardone" style="width:97px">97.4</div></div></td><td>Arnaud Morvan, Augustin Roche, DelazJ, Didier Vanden Berghe, Dofabien, etrimaille, Jean-Roc Morreale, Jérémy Garniaux, Loïc Buscoz, Lsam, Marc-André Saia, Marie Silvestre, Mathieu Bossaert, Mathieu Lattes, Mayeul Kauffmann, Médéric Ribreux, Mehdi Semchaoui, Michael Douchin, Nicolas Boisteault, Nicolas Rochard, Pascal Obstetar, Robin Prest, Rod Bera, Stéphane Henriod, Stéphane Possamai, sylther, Sylvain Badey, Sylvain Maillard, Vincent Picavet, Xavier Tardieu, Yann Leveille-Menez, yoda89</td></tr>
+<tr><td><img src="qrc:/images/flags/it.png"></td><td>Italian</td><td><div title="finished:17797 unfinished:76 untranslated:496" class="bartodo"><div class="bardone" style="width:97px">97.1</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:17740 unfinished:131 untranslated:498" class="bartodo"><div class="bardone" style="width:96px">96.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/bs.png"></td><td>Bosnian</td><td><div title="finished:17652 unfinished:221 untranslated:496" class="bartodo"><div class="bardone" style="width:96px">96.7</div></div></td><td>Almir Karabegovic</td></tr>
+<tr><td><img src="qrc:/images/flags/da.png"></td><td>Danish</td><td><div title="finished:17493 unfinished:174 untranslated:702" class="bartodo"><div class="bardone" style="width:95px">95.7</div></div></td><td>Jacob Overgaard Madsen, Bo Victor Thomsen</td></tr>
+<tr><td><img src="qrc:/images/flags/ja.png"></td><td>Japanese</td><td><div title="finished:17114 unfinished:218 untranslated:1037" class="bartodo"><div class="bardone" style="width:93px">93.8</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/hu.png"></td><td>Hungarian</td><td><div title="finished:16371 unfinished:153 untranslated:1845" class="bartodo"><div class="bardone" style="width:89px">89.5</div></div></td><td>Zoltan Siki</td></tr>
+<tr><td><img src="qrc:/images/flags/vi.png"></td><td>Vietnamese</td><td><div title="finished:16215 unfinished:104 untranslated:2050" class="bartodo"><div class="bardone" style="width:88px">88.6</div></div></td><td>Phùng Văn Doanh, Bùi Hữu Mạnh, Nguyễn Văn Thanh, Nguyễn Hữu Phúc, Cao Minh Tu</td></tr>
+<tr><td><img src="qrc:/images/flags/zh.png"></td><td>Chinese simplified</td><td><div title="finished:15928 unfinished:112 untranslated:2329" class="bartodo"><div class="bardone" style="width:87px">87.0</div></div></td><td>Calvin Ngei, Lisashen</td></tr>
+<tr><td><img src="qrc:/images/flags/pt_PT.png"></td><td>Portuguese (Portugal)</td><td><div title="finished:15344 unfinished:100 untranslated:2925" class="bartodo"><div class="bardone" style="width:83px">83.8</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/ru.png"></td><td>Russian</td><td><div title="finished:15299 unfinished:163 untranslated:2907" class="bartodo"><div class="bardone" style="width:83px">83.7</div></div></td><td>Alexander Bruy, Artem Popov</td></tr>
+<tr><td><img src="qrc:/images/flags/pl.png"></td><td>Polish</td><td><div title="finished:14904 unfinished:94 untranslated:3371" class="bartodo"><div class="bardone" style="width:81px">81.4</div></div></td><td>Robert Szczepanek, Milena Nowotarska, Borys Jurgiel, Mateusz Łoskot, Tomasz Paul, Andrzej Świąder, Radosław Pasiok, Michał Kułach, Ewelina Krawczak, Michał Smoczyk, Jakub Bobrowski</td></tr>
+<tr><td><img src="qrc:/images/flags/nb.png"></td><td>Norwegian Bokmal</td><td><div title="finished:14511 unfinished:142 untranslated:3716" class="bartodo"><div class="bardone" style="width:79px">79.4</div></div></td><td>James Stott, Maléne Peterson</td></tr>
+<tr><td><img src="qrc:/images/flags/cs.png"></td><td>Czech</td><td><div title="finished:14480 unfinished:141 untranslated:3748" class="bartodo"><div class="bardone" style="width:79px">79.2</div></div></td><td>Jan Helebrant, Martin Landa, Peter Antolik, Martin Dzurov, Stanislav Horáček</td></tr>
+<tr><td><img src="qrc:/images/flags/zh.png"></td><td>Chinese traditional</td><td><div title="finished:13962 unfinished:167 untranslated:4240" class="bartodo"><div class="bardone" style="width:76px">76.5</div></div></td><td>Calvin Ngei, Zhang Jun, Richard Xie</td></tr>
+<tr><td><img src="qrc:/images/flags/fi.png"></td><td>Finnish</td><td><div title="finished:13864 unfinished:356 untranslated:4149" class="bartodo"><div class="bardone" style="width:76px">76.4</div></div></td><td>Kari Mikkonen, Matti Mäntynen</td></tr>
+<tr><td><img src="qrc:/images/flags/et.png"></td><td>Estonian</td><td><div title="finished:13120 unfinished:172 untranslated:5077" class="bartodo"><div class="bardone" style="width:71px">71.9</div></div></td><td>Veiko Viil</td></tr>
+<tr><td><img src="qrc:/images/flags/ca.png"></td><td>Catalan</td><td><div title="finished:12792 unfinished:152 untranslated:5425" class="bartodo"><div class="bardone" style="width:70px">70.1</div></div></td><td>Albert F, Pau Reguant Ridó, Xavier Roijals</td></tr>
+<tr><td><img src="qrc:/images/flags/hi.png"></td><td>Hindi</td><td><div title="finished:12425 unfinished:198 untranslated:5746" class="bartodo"><div class="bardone" style="width:68px">68.2</div></div></td><td>Harish Kumar Solanki</td></tr>
+<tr><td><img src="qrc:/images/flags/bg.png"></td><td>Bulgarian</td><td><div title="finished:12325 unfinished:170 untranslated:5874" class="bartodo"><div class="bardone" style="width:67px">67.6</div></div></td><td>Захари Савов, Jordan Tzvetkov</td></tr>
+<tr><td><img src="qrc:/images/flags/ko.png"></td><td>Korean</td><td><div title="finished:11723 unfinished:189 untranslated:6457" class="bartodo"><div class="bardone" style="width:64px">64.3</div></div></td><td>OSGeo Korean Chapter</td></tr>
+<tr><td><img src="qrc:/images/flags/lt.png"></td><td>Lithuanian</td><td><div title="finished:11278 unfinished:203 untranslated:6888" class="bartodo"><div class="bardone" style="width:61px">61.9</div></div></td><td>Paulius Litvinas, Tomas Straupis, Kestas M</td></tr>
+<tr><td><img src="qrc:/images/flags/id.png"></td><td>Indonesian</td><td><div title="finished:10691 unfinished:332 untranslated:7346" class="bartodo"><div class="bardone" style="width:59px">59.1</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/tr.png"></td><td>Turkish</td><td><div title="finished:10775 unfinished:162 untranslated:7432" class="bartodo"><div class="bardone" style="width:59px">59.1</div></div></td><td>Osman Yalçın YILMAZ, Omur Saygin</td></tr>
+<tr><td><img src="qrc:/images/flags/el.png"></td><td>Modern Greek (1453-)</td><td><div title="finished:10690 unfinished:130 untranslated:7549" class="bartodo"><div class="bardone" style="width:58px">58.5</div></div></td><td>Theodoros Vakkas, Ioannis Tsimpiris, Evripidis Argyropoulos, Mike Pegnigiannis, Nikos Ves</td></tr>
+<tr><td><img src="qrc:/images/flags/sl.png"></td><td>Slovenian</td><td><div title="finished:9487 unfinished:191 untranslated:8691" class="bartodo"><div class="bardone" style="width:52px">52.2</div></div></td><td>Jože Detečnik, Dejan Gregor, Jaka Kranjc</td></tr>
+<tr><td><img src="qrc:/images/flags/km.png"></td><td>Central Khmer</td><td><div title="finished:9311 unfinished:193 untranslated:8865" class="bartodo"><div class="bardone" style="width:51px">51.2</div></div></td><td>Khoem Sokhem</td></tr>
+<tr><td><img src="qrc:/images/flags/ar.png"></td><td>Arabic</td><td><div title="finished:9272 unfinished:190 untranslated:8907" class="bartodo"><div class="bardone" style="width:50px">51.0</div></div></td><td>Ichaouia Amine, Hosham Munier</td></tr>
+<tr><td><img src="qrc:/images/flags/lv.png"></td><td>Latvian</td><td><div title="finished:9146 unfinished:278 untranslated:8945" class="bartodo"><div class="bardone" style="width:50px">50.5</div></div></td><td>Maris Nartiss, Pēteris Brūns</td></tr>
+<tr><td><img src="qrc:/images/flags/sk.png"></td><td>Slovak</td><td><div title="finished:7741 unfinished:871 untranslated:9757" class="bartodo"><div class="bardone" style="width:44px">44.5</div></div></td><td>Lubos Balazovic, Jana Kormanikova, Ivan Mincik</td></tr>
+<tr><td><img src="qrc:/images/flags/hr.png"></td><td>Croatian</td><td><div title="finished:7274 unfinished:196 untranslated:10899" class="bartodo"><div class="bardone" style="width:40px">40.1</div></div></td><td>Zoran Jankovic</td></tr></table>


=====================================
i18n/qgis_de.ts
=====================================
--- a/i18n/qgis_de.ts
+++ b/i18n/qgis_de.ts
@@ -6,7 +6,8 @@
     <message>
         <source><html><body><h2>Algorithm description</h2>
 </source>
-        <translation><html><body><h2>Algorithmenbeschreibung</h2></translation>
+        <translation><html><body><h2>Algorithmenbeschreibung</h2>
+</translation>
     </message>
     <message>
         <source>OTB execution console output</source>
@@ -65391,6 +65392,10 @@ Fehler war:%2</translation>
         <source>Remove Selected</source>
         <translation>Gewähltes löschen</translation>
     </message>
+    <message>
+        <source>Add "NULL" value</source>
+        <translation>NULL-Wert hinzufügen</translation>
+    </message>
 </context>
 <context>
     <name>QgsValueRelationConfigDlg</name>


=====================================
i18n/qgis_pl.ts
=====================================
--- a/i18n/qgis_pl.ts
+++ b/i18n/qgis_pl.ts
@@ -13782,7 +13782,7 @@ Proszę go skonfigurować przed uruchomieniem algorytmów LAStools.</translation
     <message>
         <location filename="../src/ui/qgisapp.ui" line="2286"/>
         <source>Temporary Scratch Layer...</source>
-        <translation type="unfinished"></translation>
+        <translation>Nowa warstwa tymczasowa...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="2449"/>
@@ -22435,7 +22435,7 @@ SQL: %1</translation>
     <message>
         <location filename="../src/plugins/topology/topolError.cpp" line="203"/>
         <source>gaps</source>
-        <translation>tworzy dziurę</translation>
+        <translation>tworzy lukę</translation>
     </message>
     <message>
         <location filename="../src/plugins/topology/topolError.cpp" line="209"/>
@@ -25826,7 +25826,7 @@ Błąd: %1</translation>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="6550"/>
         <source>(title generated if left empty)</source>
-        <translation>(domyślnie tytuł projektu)</translation>
+        <translation>lub pozostaw puste, aby wygenerować ją automatycznie</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="6564"/>
@@ -25985,7 +25985,7 @@ Błąd: %1</translation>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="7597"/>
         <source>Pasted</source>
-        <translation>Wklej</translation>
+        <translation>Wklejone</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="7599"/>
@@ -37450,7 +37450,7 @@ Zmniejsz rozdzielczość lub rozmiar papieru.</translation>
     <message>
         <location filename="../src/ui/composer/qgscomposerpicturewidgetbase.ui" line="231"/>
         <source>Search directories</source>
-        <translation>Szukaj w katalogach</translation>
+        <translation>Znalezione w katalogach</translation>
     </message>
     <message>
         <location filename="../src/ui/composer/qgscomposerpicturewidgetbase.ui" line="248"/>
@@ -37521,7 +37521,7 @@ Zmniejsz rozdzielczość lub rozmiar papieru.</translation>
     <message>
         <location filename="../src/ui/composer/qgscomposerpicturewidgetbase.ui" line="502"/>
         <source>Offset</source>
-        <translation type="unfinished">Przesunięcie</translation>
+        <translation>Przesunięcie</translation>
     </message>
 </context>
 <context>
@@ -62827,7 +62827,7 @@ enhancement</source>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="70"/>
         <source>Non spatial</source>
-        <translation type="unfinished"></translation>
+        <translation>Tabela bez geometrii</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="72"/>
@@ -62847,22 +62847,22 @@ enhancement</source>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="75"/>
         <source>Multi point</source>
-        <translation type="unfinished"></translation>
+        <translation>Wielopunkt</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="76"/>
         <source>Multi line</source>
-        <translation type="unfinished"></translation>
+        <translation>Wielolinia</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="77"/>
         <source>Multi polygon</source>
-        <translation type="unfinished"></translation>
+        <translation>Wielopoligon</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="81"/>
         <source>Circular string</source>
-        <translation type="unfinished"></translation>
+        <translation>Łuk</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="83"/>
@@ -62912,12 +62912,12 @@ enhancement</source>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="102"/>
         <source>Date&time</source>
-        <translation type="unfinished"></translation>
+        <translation>Data i czas</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="167"/>
         <source>Select existing or create new GeoPackage Database File</source>
-        <translation type="unfinished"></translation>
+        <translation>Wybierz istniejący lub utwórz nowy plik bazy danych GeoPackage</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="169"/>
@@ -62927,37 +62927,37 @@ enhancement</source>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="228"/>
         <source>Invalid field name</source>
-        <translation type="unfinished"></translation>
+        <translation>Niepoprawna nazwa pola</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="228"/>
         <source>The field cannot have the same name as the feature identifier</source>
-        <translation type="unfinished"></translation>
+        <translation>Pole nie może mieć takiej samej nazwy jak identyfikator obiektu</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="279"/>
         <source>The file already exists.</source>
-        <translation type="unfinished"></translation>
+        <translation>Plik już istnieje.</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="280"/>
         <source>Do you want to overwrite the existing file with a new database or add a new layer to it?</source>
-        <translation type="unfinished"></translation>
+        <translation>Czy chcesz nadpisać istniejący plik nową bazą danych, czy dodać do niego nową warstwę?</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="368"/>
         <source>A table with the same name already exists. Do you want to overwrite it?</source>
-        <translation type="unfinished"></translation>
+        <translation>Tabela o tej samej nazwie już istnieje w pliku. Czy chcesz ją nadpisać?</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="281"/>
         <source>Overwrite</source>
-        <translation>Nadpisz</translation>
+        <translation>Nadpisz plik</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="282"/>
         <source>Add new layer</source>
-        <translation type="unfinished"></translation>
+        <translation>Dodaj warstwę</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="320"/>
@@ -62968,43 +62968,43 @@ enhancement</source>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="465"/>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="486"/>
         <source>Layer creation failed</source>
-        <translation type="unfinished"></translation>
+        <translation>Tworzenie warstwy nie powiodło się</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="321"/>
         <source>GeoPackage driver not found</source>
-        <translation type="unfinished"></translation>
+        <translation>Nie znaleziono sterownika GeoPackage</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="331"/>
         <source>Creation of database failed (OGR error:%1)</source>
-        <translation type="unfinished"></translation>
+        <translation>Nie powiodło się tworzenie bazy danych (błąd OGR:%1)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="343"/>
         <source>Opening of database failed (OGR error:%1)</source>
-        <translation type="unfinished"></translation>
+        <translation>Nie mogę otworzyć bazy danych (błąd OGR:%1)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="350"/>
         <source>Opening of file succeeded, but this is not a GeoPackage database</source>
-        <translation type="unfinished"></translation>
+        <translation>Udało się otworzyć plik, lecz nie jest to baza danych GeoPackage</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="367"/>
         <source>Existing layer</source>
-        <translation type="unfinished"></translation>
+        <translation>Istniejąca warstwa</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="426"/>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="484"/>
         <source>Creation of layer failed (OGR error:%1)</source>
-        <translation type="unfinished"></translation>
+        <translation>Nie powiodło się tworzenie warstwy (błąd OGR:%1)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="466"/>
         <source>Creation of field %1 failed (OGR error: %2)</source>
-        <translation type="unfinished"></translation>
+        <translation>Nie powiodło się tworzenie pola %1 (błąd OGR: %2)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="509"/>
@@ -63027,7 +63027,7 @@ enhancement</source>
     <message>
         <location filename="../src/ui/qgsnewgeopackagelayerdialogbase.ui" line="72"/>
         <source>Create a spatial index for this layer</source>
-        <translation type="unfinished"></translation>
+        <translation>Utwórz indeks przestrzenny dla tej warstwy</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewgeopackagelayerdialogbase.ui" line="75"/>
@@ -63159,7 +63159,7 @@ enhancement</source>
     <message>
         <location filename="../src/ui/qgsnewgeopackagelayerdialogbase.ui" line="339"/>
         <source>fid</source>
-        <translation type="unfinished"></translation>
+        <translation>fid</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewgeopackagelayerdialogbase.ui" line="348"/>
@@ -63424,7 +63424,7 @@ Uwaga: zapisywanie hasła nie jest obowiązkowe. Zostaniesz o nie poproszony w r
     <message>
         <location filename="../src/ui/qgsnewmemorylayerdialogbase.ui" line="29"/>
         <source>Geometry type and CRS</source>
-        <translation type="unfinished"></translation>
+        <translation>Typ geometrii i układ współrzędnych</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewmemorylayerdialogbase.ui" line="40"/>
@@ -66385,7 +66385,7 @@ Zawsze z sieci: zawsze wczytuj z sieci, bez sprawdzania.</translation>
         <location filename="../src/ui/qgsoptionsbase.ui" line="1138"/>
         <location filename="../src/ui/qgsoptionsbase.ui" line="3732"/>
         <source>Add new path</source>
-        <translation type="unfinished"></translation>
+        <translation>Dodaj nową ścieżkę</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="1085"/>
@@ -66393,17 +66393,17 @@ Zawsze z sieci: zawsze wczytuj z sieci, bez sprawdzania.</translation>
         <location filename="../src/ui/qgsoptionsbase.ui" line="1765"/>
         <location filename="../src/ui/qgsoptionsbase.ui" line="3746"/>
         <source>Remove path</source>
-        <translation type="unfinished"></translation>
+        <translation>Usuń ścieżkę</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="1240"/>
         <source>Remove variable</source>
-        <translation type="unfinished"></translation>
+        <translation>Usuń zmienną</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="1260"/>
         <source>Add new variable</source>
-        <translation type="unfinished"></translation>
+        <translation>Dodaj nową zmienną</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="1575"/>
@@ -68888,23 +68888,24 @@ Błąd: %2</translation>
         <location filename="../src/providers/postgres/qgspostgresdataitems.cpp" line="429"/>
         <location filename="../src/providers/postgres/qgspostgresdataitems.cpp" line="436"/>
         <source>Truncate Table</source>
-        <translation type="unfinished"></translation>
+        <translation>Opróżnij tabelę</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresdataitems.cpp" line="411"/>
         <source>Unable to truncate table.</source>
-        <translation type="unfinished"></translation>
+        <translation>Nie można opróżnić tabeli.</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresdataitems.cpp" line="429"/>
         <source>Unable to truncate %1
 %2</source>
-        <translation type="unfinished"></translation>
+        <translation>Nie można opróżnić %1
+%2</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresdataitems.cpp" line="436"/>
         <source>Table truncated successfully.</source>
-        <translation type="unfinished"></translation>
+        <translation>Tabelę opróżniono pomyślnie.</translation>
     </message>
 </context>
 <context>
@@ -69422,7 +69423,7 @@ Błąd: %2</translation>
         <location filename="../src/providers/postgres/qgspgsourceselect.cpp" line="241"/>
         <location filename="../src/providers/postgres/qgspgsourceselect.cpp" line="429"/>
         <source>Feature id</source>
-        <translation type="unfinished"></translation>
+        <translation>ID obiektu</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspgsourceselect.cpp" line="242"/>
@@ -90055,7 +90056,7 @@ Problem w linii %d</translation>
     <message>
         <location filename="../src/ui/symbollayer/widget_markerline.ui" line="49"/>
         <source>on every curve point</source>
-        <translation type="unfinished"></translation>
+        <translation>na każdym punkcie krzywej</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_markerline.ui" line="186"/>
@@ -91333,7 +91334,7 @@ Problem w linii %d</translation>
         <location filename="../src/plugins/topology/checkDock.ui" line="112"/>
         <location filename="../src/plugins/topology/checkDock.ui" line="115"/>
         <source>Validate Extent</source>
-        <translation>Sprawdź zakresy</translation>
+        <translation>Sprawdź w zasięgu widoku</translation>
     </message>
     <message>
         <location filename="../src/plugins/topology/checkDock.ui" line="66"/>
@@ -99830,7 +99831,7 @@ Base Path (i.e. keep only filename from attribute)</source>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="500"/>
         <source>Choose GeoPackage file</source>
-        <translation type="unfinished"></translation>
+        <translation>Wybierz plik GeoPackage</translation>
     </message>
 </context>
 <context>


=====================================
ms-windows/QGIS-Installer.nsi
=====================================
--- a/ms-windows/QGIS-Installer.nsi
+++ b/ms-windows/QGIS-Installer.nsi
@@ -338,6 +338,7 @@ Section "QGIS" SecQGIS
 
 	;HKEY_LOCAL_MACHINE Uninstall entries
 	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${QGIS_BASE}" "DisplayName" "${COMPLETE_NAME}"
+	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${QGIS_BASE}" "DisplayVersion" "${VERSION_NUMBER}"
 	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${QGIS_BASE}" "UninstallString" "$INSTALL_DIR\Uninstall-QGIS.exe"
 	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${QGIS_BASE}" "DisplayIcon" "$INSTALL_DIR\icons\QGIS.ico"
 	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${QGIS_BASE}" "EstimatedSize" 1


=====================================
python/core/qgsvectorlayer.sip
=====================================
--- a/python/core/qgsvectorlayer.sip
+++ b/python/core/qgsvectorlayer.sip
@@ -489,7 +489,7 @@ class QgsVectorLayer : QgsMapLayer
      */
     virtual void saveStyleToDatabase( const QString& name, const QString& description,
                                       bool useAsDefault, const QString& uiFileContent,
-                                      QString &msgError );
+                                      QString &msgError /In,Out/ );
 
     /**
      * Lists all the style in db split into related to the layer and not related to


=====================================
python/plugins/db_manager/db_plugins/html_elems.py
=====================================
--- a/python/plugins/db_manager/db_plugins/html_elems.py
+++ b/python/plugins/db_manager/db_plugins/html_elems.py
@@ -36,7 +36,14 @@ class HtmlContent:
         if hasattr(self.data, 'toHtml'):
             return self.data.toHtml()
 
-        html = unicode(self.data).replace("\n", "<br>")
+        if isinstance(self.data, str):
+            html = unicode(self.data, encoding='utf-8', errors='replace')
+        elif isinstance(self.data, unicode):
+            html = self.data
+        else:
+            html = unicode(self.data)
+        html = html.replace("\n", "<br>")
+
         return html
 
     def hasContents(self):


=====================================
python/plugins/processing/algs/gdal/gdalcalc.py
=====================================
--- a/python/plugins/processing/algs/gdal/gdalcalc.py
+++ b/python/plugins/processing/algs/gdal/gdalcalc.py
@@ -106,8 +106,7 @@ class gdalcalc(GdalAlgorithm):
             noData = unicode(noData)
 
         arguments = []
-        arguments.append('--calc')
-        arguments.append('"' + formula + '"')
+        arguments.append('--calc "{}"'.format(formula))
         arguments.append('--format')
         arguments.append(GdalUtils.getFormatShortNameFromFilename(out))
         arguments.append('--type')


=====================================
python/plugins/processing/algs/gdal/warp.py
=====================================
--- a/python/plugins/processing/algs/gdal/warp.py
+++ b/python/plugins/processing/algs/gdal/warp.py
@@ -51,6 +51,10 @@ class warp(GdalAlgorithm):
     DEST_SRS = 'DEST_SRS'
     METHOD = 'METHOD'
     METHOD_OPTIONS = ['near', 'bilinear', 'cubic', 'cubicspline', 'lanczos']
+    if GdalUtils.version() >= 1100000:
+        METHOD_OPTIONS.extend(['average', 'mode'])
+    if GdalUtils.version() >= 2000000:
+        METHOD_OPTIONS.extend(['max', 'min', 'med', 'q1', 'q3'])
     TR = 'TR'
     NO_DATA = 'NO_DATA'
     EXTRA = 'EXTRA'


=====================================
python/plugins/processing/algs/saga/description/NaturalNeighbour.txt
=====================================
--- a/python/plugins/processing/algs/saga/description/NaturalNeighbour.txt
+++ b/python/plugins/processing/algs/saga/description/NaturalNeighbour.txt
@@ -3,8 +3,10 @@ grid_gridding
 ParameterVector|SHAPES|Points|0|False
 ParameterTableField|FIELD|Attribute|SHAPES|-1|False
 Hardcoded|-TARGET_DEFINITION 0
-ParameterSelection|METHOD|Method|[0] Linear;[1] Sibson;[1] Non-Sibsonian
+ParameterSelection|METHOD|Method|[0] Linear;[1] Sibson;[2] Non-Sibsonian
 Extent TARGET_USER_XMIN TARGET_USER_XMAX TARGET_USER_YMIN TARGET_USER_YMAX
 ParameterNumber|TARGET_USER_SIZE|Cellsize|None|None|100.0
 ParameterSelection|TARGET_USER_FITS|Fit|[0] nodes;[1] cells
 OutputRaster|TARGET_OUT_GRID|Grid
+ParameterNumber|WEIGHT|Minimum Weight|None|None| 0.0
+ParameterRaster|TARGET_TEMPLATE|Target System|True


=====================================
python/plugins/processing/core/parameters.py
=====================================
--- a/python/plugins/processing/core/parameters.py
+++ b/python/plugins/processing/core/parameters.py
@@ -740,7 +740,7 @@ class ParameterString(Parameter):
     NEWLINE = '\n'
     ESCAPED_NEWLINE = '\\n'
 
-    def __init__(self, name='', description='', default='', multiline=False,
+    def __init__(self, name='', description='', default=None, multiline=False,
                  optional=False, evaluateExpressions=False):
         Parameter.__init__(self, name, description, default, optional)
         self.multiline = parseBool(multiline)


=====================================
python/plugins/processing/gui/ConfigDialog.py
=====================================
--- a/python/plugins/processing/gui/ConfigDialog.py
+++ b/python/plugins/processing/gui/ConfigDialog.py
@@ -278,7 +278,6 @@ class ConfigDialog(BASE, WIDGET):
                                             self.tr('Wrong value for parameter "%s":\n\n%s' % (setting.description, unicode(e))))
                         return
                 setting.save(qsettings)
-        Processing.updateAlgsList()
         settingsWatcher.settingsChanged.emit()
         updateMenus()
         QApplication.restoreOverrideCursor()


=====================================
python/plugins/processing/modeler/ModelerDialog.py
=====================================
--- a/python/plugins/processing/modeler/ModelerDialog.py
+++ b/python/plugins/processing/modeler/ModelerDialog.py
@@ -144,6 +144,7 @@ class ModelerDialog(BASE, WIDGET):
 
         def _mimeDataAlgorithm(items):
             item = items[0]
+            mimeData = None
             if isinstance(item, TreeAlgorithmItem):
                 mimeData = QMimeData()
                 mimeData.setText(item.alg.commandLineName())


=====================================
python/testing/__init__.py
=====================================
--- a/python/testing/__init__.py
+++ b/python/testing/__init__.py
@@ -31,8 +31,12 @@ import difflib
 import functools
 
 from qgis.PyQt.QtCore import QVariant
-from qgis.core import QgsApplication, QgsFeatureRequest, QgsVectorLayer
-from nose2.compat import unittest
+from qgis.core import QgsApplication, QgsFeatureRequest
+
+try:
+    from nose2.compat import unittest
+except ImportError:
+    import unittest
 
 # Get a backup, we will patch this one later
 _TestCase = unittest.TestCase
@@ -101,7 +105,7 @@ class TestCase(_TestCase):
                 attr_result = feats[1][field_expected.name()]
                 field_result = [fld for fld in layer_expected.fields().toList() if fld.name() == field_expected.name()][0]
                 try:
-                    cmp = compare['fields'][field1.name()]
+                    cmp = compare['fields'][field_expected.name()]
                 except KeyError:
                     try:
                         cmp = compare['fields']['__all__']
@@ -221,6 +225,7 @@ def expectedFailure(*args):
 
         return realExpectedFailure
 
+
 # Patch unittest
 unittest.TestCase = TestCase
 unittest.expectedFailure = expectedFailure


=====================================
src/plugins/georeferencer/qgsgcplistwidget.cpp
=====================================
--- a/src/plugins/georeferencer/qgsgcplistwidget.cpp
+++ b/src/plugins/georeferencer/qgsgcplistwidget.cpp
@@ -200,10 +200,6 @@ void QgsGCPListWidget::showContextMenu( QPoint p )
   connect( removeAction, SIGNAL( triggered() ), this, SLOT( removeRow() ) );
   m.addAction( removeAction );
   m.exec( QCursor::pos(), removeAction );
-
-  index = static_cast<const QSortFilterProxyModel*>( model() )->mapToSource( index );
-  mPrevRow = index.row();
-  mPrevColumn = index.column();
 }
 
 void QgsGCPListWidget::removeRow()
@@ -219,7 +215,9 @@ void QgsGCPListWidget::editCell()
 
 void QgsGCPListWidget::jumpToPoint()
 {
-  QModelIndex index = static_cast<const QSortFilterProxyModel*>( model() )->mapToSource( currentIndex() );
+  QModelIndex index = static_cast<const QSortFilterProxyModel *>( model() )->mapToSource( currentIndex() );
+  mPrevRow = index.row();
+  mPrevColumn = index.column();
   emit jumpToGCP( index.row() );
 }
 


=====================================
src/providers/db2/qgsdb2newconnection.cpp
=====================================
--- a/src/providers/db2/qgsdb2newconnection.cpp
+++ b/src/providers/db2/qgsdb2newconnection.cpp
@@ -120,9 +120,9 @@ void QgsDb2NewConnection::accept()
   settings.setValue( baseKey + "/port", txtPort->text() );
   settings.setValue( baseKey + "/driver", txtDriver->text() );
   settings.setValue( baseKey + "/database", txtDatabase->text() );
-  settings.setValue( baseKey + "/username", chkStoreUsername->isChecked() && !hasAuthConfigID ? txtUsername->text() : "" );
+  settings.setValue( baseKey + "/username", chkStoreUsername->isChecked() ? txtUsername->text() : "" );
   settings.setValue( baseKey + "/password", chkStorePassword->isChecked() && !hasAuthConfigID ? txtPassword->text() : "" );
-  settings.setValue( baseKey + "/saveUsername", chkStoreUsername->isChecked() && !hasAuthConfigID ? "true" : "false" );
+  settings.setValue( baseKey + "/saveUsername", chkStoreUsername->isChecked() ? "true" : "false" );
   settings.setValue( baseKey + "/savePassword", chkStorePassword->isChecked() && !hasAuthConfigID ? "true" : "false" );
   settings.setValue( baseKey + "/authcfg", mAuthConfigSelect->configId() );
 


=====================================
src/providers/postgres/qgspgnewconnection.cpp
=====================================
--- a/src/providers/postgres/qgspgnewconnection.cpp
+++ b/src/providers/postgres/qgspgnewconnection.cpp
@@ -146,7 +146,7 @@ void QgsPgNewConnection::accept()
   settings.setValue( baseKey + "/host", txtHost->text() );
   settings.setValue( baseKey + "/port", txtPort->text() );
   settings.setValue( baseKey + "/database", txtDatabase->text() );
-  settings.setValue( baseKey + "/username", chkStoreUsername->isChecked() && !hasAuthConfigID ? txtUsername->text() : "" );
+  settings.setValue( baseKey + "/username", chkStoreUsername->isChecked() ? txtUsername->text() : "" );
   settings.setValue( baseKey + "/password", chkStorePassword->isChecked() && !hasAuthConfigID ? txtPassword->text() : "" );
   settings.setValue( baseKey + "/authcfg", mAuthConfigSelect->configId() );
   settings.setValue( baseKey + "/publicOnly", cb_publicSchemaOnly->isChecked() );
@@ -154,7 +154,7 @@ void QgsPgNewConnection::accept()
   settings.setValue( baseKey + "/dontResolveType", cb_dontResolveType->isChecked() );
   settings.setValue( baseKey + "/allowGeometrylessTables", cb_allowGeometrylessTables->isChecked() );
   settings.setValue( baseKey + "/sslmode", cbxSSLmode->itemData( cbxSSLmode->currentIndex() ).toInt() );
-  settings.setValue( baseKey + "/saveUsername", chkStoreUsername->isChecked() && !hasAuthConfigID ? "true" : "false" );
+  settings.setValue( baseKey + "/saveUsername", chkStoreUsername->isChecked() ? "true" : "false" );
   settings.setValue( baseKey + "/savePassword", chkStorePassword->isChecked() && !hasAuthConfigID ? "true" : "false" );
   settings.setValue( baseKey + "/estimatedMetadata", cb_useEstimatedMetadata->isChecked() );
 



View it on GitLab: https://salsa.debian.org/debian-gis-team/qgis/commit/107aea60964c5a183e9d4d0eb330771ac55a2029

---
View it on GitLab: https://salsa.debian.org/debian-gis-team/qgis/commit/107aea60964c5a183e9d4d0eb330771ac55a2029
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20180519/f0ba3fe6/attachment-0001.html>


More information about the Pkg-grass-devel mailing list