[qgis] 01/01: New upstream version 3.0.1+dfsg

Bas Couwenberg sebastic at debian.org
Fri Mar 23 16:05:35 UTC 2018


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch upstream
in repository qgis.

commit 62a3ed3fe0cc302d32979b00364c427cfb08748d
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Fri Mar 23 14:38:01 2018 +0100

    New upstream version 3.0.1+dfsg
---
 .ci/travis/linux/before_install.sh                 |     1 -
 .ci/travis/linux/before_script.sh                  |    45 +-
 .ci/travis/linux/docker-build-test.sh              |    23 +-
 .ci/travis/linux/script.sh                         |    21 +-
 .ci/travis/scripts/ctest2travis.py                 |     2 +-
 .ci/travis/scripts/travis_envvar_helper.sh         |    14 +
 .docker/Dockerfile-build-test                      |    10 -
 .docker/docker-compose.travis.yml                  |     2 +-
 .docker/qgis.dockerfile                            |    46 +
 .../{Dockerfile => qgis3-build-deps.dockerfile}    |    22 +-
 .travis.yml                                        |     4 +-
 CMakeLists.txt                                     |     2 +-
 ChangeLog                                          |  1083 ++
 Dockerfile                                         |    38 -
 debian/changelog                                   |    10 +-
 debian/control.in                                  |    36 +-
 debian/libqgis-dev.install.in                      |     2 +-
 debian/rules                                       |    12 +-
 doc/TRANSLATORS                                    |    80 +-
 i18n/qgis_de.ts                                    | 12266 +++++++------
 i18n/qgis_es.ts                                    | 18393 +++++++++----------
 i18n/qgis_pl.ts                                    |    12 +-
 ms-windows/osgeo4w/package.cmd                     |     7 -
 ms-windows/osgeo4w/postinstall-desktop.bat         |     3 +-
 ms-windows/osgeo4w/postinstall-dev.bat             |     1 +
 .../osgeo4w/postinstall-grass-plugin-common.bat    |     1 +
 ms-windows/osgeo4w/postinstall-grass.bat           |     8 +-
 ms-windows/osgeo4w/preremove-grass.bat             |     6 +-
 python/PyQt/PyQt5/Qsci.py                          |     2 +-
 python/PyQt/PyQt5/Qt.py                            |     2 +-
 python/PyQt/PyQt5/QtCore.py                        |     2 +-
 python/PyQt/PyQt5/QtGui.py                         |     2 +-
 python/PyQt/PyQt5/QtNetwork.py                     |     2 +-
 python/PyQt/PyQt5/QtPrintSupport.py                |     2 +-
 python/PyQt/PyQt5/QtSql.py                         |     2 +-
 python/PyQt/PyQt5/QtSvg.py                         |     2 +-
 python/PyQt/PyQt5/QtTest.py                        |     2 +-
 python/PyQt/PyQt5/QtWebKit.py                      |     2 +-
 python/PyQt/PyQt5/QtWebKitWidgets.py               |     2 +-
 python/PyQt/PyQt5/QtWidgets.py                     |     2 +-
 python/PyQt/PyQt5/QtXml.py                         |     2 +-
 python/PyQt/PyQt5/uic/__init__.py                  |     2 +-
 python/PyQt/PyQt5/uic/properties.py                |     2 +-
 python/PyQt/PyQt5/uic/pyuic.py                     |     2 +-
 python/__init__.py                                 |     2 +-
 python/analysis/__init__.py                        |     2 +-
 python/analysis/network/qgsgraphdirector.sip.in    |     2 +
 python/console/__init__.py                         |     2 +-
 python/core/__init__.py                            |     2 +-
 python/core/contextmanagers.py                     |     2 +-
 python/core/conversions.sip                        |     8 +-
 .../core/processing/qgsprocessingfeedback.sip.in   |     9 +-
 python/core/qgsaction.sip.in                       |     9 +
 python/core/qgsfileutils.sip.in                    |     4 +-
 python/core/qgsmapsettings.sip.in                  |     4 +
 python/core/qgspluginlayer.sip.in                  |     5 +-
 .../symbology/qgscategorizedsymbolrenderer.sip.in  |    46 +-
 python/gui/__init__.py                             |     2 +-
 .../qgsprocessingalgorithmdialogbase.sip.in        |    11 +-
 python/gui/qgisinterface.sip.in                    |     1 +
 python/gui/qgsactionmenu.sip.in                    |     7 +
 python/gui/qgsattributeform.sip.in                 |     1 +
 python/gui/qgsfilterlineedit.sip.in                |     9 +
 python/gui/qgsmaplayeractionregistry.sip.in        |    31 +-
 python/plugins/db_manager/db_manager.py            |     1 +
 .../db_manager/db_plugins/oracle/sql_dictionary.py |     2 +-
 .../db_plugins/postgis/connector_test.py           |     2 +-
 .../db_manager/db_plugins/postgis/plugin_test.py   |     2 +-
 .../postgis/plugins/qgis_topoview/__init__.py      |     6 +-
 .../db_plugins/postgis/sql_dictionary.py           |     2 +-
 .../db_plugins/spatialite/sql_dictionary.py        |     2 +-
 .../db_plugins/vlayers/sql_dictionary.py           |     2 +-
 python/plugins/db_manager/dlg_field_properties.py  |     2 +-
 python/plugins/db_manager/sql_dictionary.py        |     2 +-
 python/plugins/db_manager/sqledit.py               |     2 +-
 python/plugins/processing/ProcessingPlugin.py      |     2 +-
 python/plugins/processing/__init__.py              |     2 +-
 .../algs/exampleprovider/ExampleAlgorithm.py       |     2 +-
 .../exampleprovider/ExampleAlgorithmProvider.py    |     2 +-
 .../ProcessingExampleProviderPlugin.py             |     2 +-
 .../processing/algs/exampleprovider/__init__.py    |     2 +-
 .../processing/algs/gdal/AssignProjection.py       |     2 +-
 python/plugins/processing/algs/gdal/Buffer.py      |     2 +-
 .../processing/algs/gdal/ClipRasterByExtent.py     |     5 +-
 .../processing/algs/gdal/ClipRasterByMask.py       |     7 +-
 .../processing/algs/gdal/ClipVectorByExtent.py     |     2 +-
 .../processing/algs/gdal/ClipVectorByMask.py       |     2 +-
 python/plugins/processing/algs/gdal/ColorRelief.py |     2 +-
 python/plugins/processing/algs/gdal/Dissolve.py    |     2 +-
 python/plugins/processing/algs/gdal/ExecuteSql.py  |     2 +-
 .../plugins/processing/algs/gdal/GdalAlgorithm.py  |     2 +-
 .../processing/algs/gdal/GdalAlgorithmDialog.py    |     4 +-
 .../processing/algs/gdal/GdalAlgorithmProvider.py  |     2 +-
 python/plugins/processing/algs/gdal/GdalUtils.py   |    24 +-
 python/plugins/processing/algs/gdal/GridAverage.py |     5 +-
 .../processing/algs/gdal/GridDataMetrics.py        |     5 +-
 .../processing/algs/gdal/GridInverseDistance.py    |     5 +-
 .../gdal/GridInverseDistanceNearestNeighbor.py     |     5 +-
 python/plugins/processing/algs/gdal/GridLinear.py  |     5 +-
 .../processing/algs/gdal/GridNearestNeighbor.py    |     5 +-
 python/plugins/processing/algs/gdal/OffsetCurve.py |     2 +-
 .../plugins/processing/algs/gdal/OgrToPostGis.py   |     2 +-
 .../plugins/processing/algs/gdal/OneSideBuffer.py  |     2 +-
 .../processing/algs/gdal/PointsAlongLines.py       |     2 +-
 python/plugins/processing/algs/gdal/aspect.py      |     5 +-
 python/plugins/processing/algs/gdal/buildvrt.py    |    11 +-
 python/plugins/processing/algs/gdal/contour.py     |     2 +-
 .../processing/algs/gdal/extractprojection.py      |     2 +-
 python/plugins/processing/algs/gdal/fillnodata.py  |     2 +-
 python/plugins/processing/algs/gdal/gdal2tiles.py  |     2 +-
 python/plugins/processing/algs/gdal/gdal2xyz.py    |     7 +-
 python/plugins/processing/algs/gdal/gdaladdo.py    |     2 +-
 python/plugins/processing/algs/gdal/gdalcalc.py    |     2 +-
 python/plugins/processing/algs/gdal/gdalinfo.py    |     6 +-
 python/plugins/processing/algs/gdal/gdaltindex.py  |     2 +-
 python/plugins/processing/algs/gdal/hillshade.py   |     5 +-
 python/plugins/processing/algs/gdal/merge.py       |    45 +-
 python/plugins/processing/algs/gdal/nearblack.py   |     5 +-
 python/plugins/processing/algs/gdal/ogr2ogr.py     |     2 +-
 .../algs/gdal/ogr2ogrtabletopostgislist.py         |     2 +-
 .../processing/algs/gdal/ogr2ogrtopostgislist.py   |     2 +-
 python/plugins/processing/algs/gdal/ogrinfo.py     |     6 +-
 python/plugins/processing/algs/gdal/pct2rgb.py     |     2 +-
 python/plugins/processing/algs/gdal/polygonize.py  |     2 +-
 python/plugins/processing/algs/gdal/proximity.py   |     5 +-
 python/plugins/processing/algs/gdal/rasterize.py   |     5 +-
 .../plugins/processing/algs/gdal/rasterize_over.py |     2 +-
 python/plugins/processing/algs/gdal/retile.py      |     5 +-
 python/plugins/processing/algs/gdal/rgb2pct.py     |     2 +-
 python/plugins/processing/algs/gdal/roughness.py   |     2 +-
 python/plugins/processing/algs/gdal/sieve.py       |     2 +-
 python/plugins/processing/algs/gdal/slope.py       |     5 +-
 python/plugins/processing/algs/gdal/tpi.py         |     5 +-
 python/plugins/processing/algs/gdal/translate.py   |     5 +-
 python/plugins/processing/algs/gdal/tri.py         |     5 +-
 .../processing/algs/gdal/ui/RasterOptionsWidget.py |     4 +-
 python/plugins/processing/algs/gdal/warp.py        |     5 +-
 .../processing/algs/grass7/Grass7Algorithm.py      |    18 +-
 .../algs/grass7/Grass7AlgorithmProvider.py         |     2 +-
 .../plugins/processing/algs/grass7/Grass7Utils.py  |     2 +-
 .../algs/grass7/description/v.net.visibility.txt   |     2 +-
 python/plugins/processing/algs/grass7/ext/i.py     |     2 +-
 .../plugins/processing/algs/grass7/ext/i_albedo.py |     2 +-
 python/plugins/processing/algs/grass7/ext/i_cca.py |     2 +-
 .../processing/algs/grass7/ext/i_cluster.py        |     2 +-
 .../processing/algs/grass7/ext/i_colors_enhance.py |     2 +-
 .../processing/algs/grass7/ext/i_evapo_mh.py       |     2 +-
 .../plugins/processing/algs/grass7/ext/i_gensig.py |     2 +-
 .../processing/algs/grass7/ext/i_gensigset.py      |     2 +-
 .../plugins/processing/algs/grass7/ext/i_group.py  |     2 +-
 .../processing/algs/grass7/ext/i_in_spotvgt.py     |     2 +-
 .../processing/algs/grass7/ext/i_landsat_acca.py   |     2 +-
 .../processing/algs/grass7/ext/i_landsat_toar.py   |     2 +-
 .../plugins/processing/algs/grass7/ext/i_maxlik.py |     2 +-
 python/plugins/processing/algs/grass7/ext/i_oif.py |     2 +-
 .../processing/algs/grass7/ext/i_pansharpen.py     |     2 +-
 python/plugins/processing/algs/grass7/ext/i_pca.py |     2 +-
 .../processing/algs/grass7/ext/i_segment.py        |     2 +-
 .../plugins/processing/algs/grass7/ext/i_smap.py   |     2 +-
 .../processing/algs/grass7/ext/i_tasscap.py        |     2 +-
 .../processing/algs/grass7/ext/r_blend_combine.py  |     2 +-
 .../processing/algs/grass7/ext/r_blend_rgb.py      |     2 +-
 .../processing/algs/grass7/ext/r_category.py       |     2 +-
 .../plugins/processing/algs/grass7/ext/r_colors.py |     2 +-
 .../processing/algs/grass7/ext/r_colors_stddev.py  |     2 +-
 .../plugins/processing/algs/grass7/ext/r_drain.py  |     2 +-
 .../processing/algs/grass7/ext/r_horizon.py        |     2 +-
 python/plugins/processing/algs/grass7/ext/r_li.py  |     2 +-
 .../processing/algs/grass7/ext/r_li_cwed.py        |     2 +-
 .../processing/algs/grass7/ext/r_li_cwed_ascii.py  |     2 +-
 .../processing/algs/grass7/ext/r_li_dominance.py   |     2 +-
 .../algs/grass7/ext/r_li_dominance_ascii.py        |     2 +-
 .../processing/algs/grass7/ext/r_li_edgedensity.py |     2 +-
 .../algs/grass7/ext/r_li_edgedensity_ascii.py      |     2 +-
 .../plugins/processing/algs/grass7/ext/r_li_mpa.py |     2 +-
 .../processing/algs/grass7/ext/r_li_mpa_ascii.py   |     2 +-
 .../plugins/processing/algs/grass7/ext/r_li_mps.py |     2 +-
 .../processing/algs/grass7/ext/r_li_mps_ascii.py   |     2 +-
 .../processing/algs/grass7/ext/r_li_padcv.py       |     2 +-
 .../processing/algs/grass7/ext/r_li_padcv_ascii.py |     2 +-
 .../processing/algs/grass7/ext/r_li_padrange.py    |     2 +-
 .../algs/grass7/ext/r_li_padrange_ascii.py         |     2 +-
 .../processing/algs/grass7/ext/r_li_padsd.py       |     2 +-
 .../processing/algs/grass7/ext/r_li_padsd_ascii.py |     2 +-
 .../algs/grass7/ext/r_li_patchdensity.py           |     2 +-
 .../algs/grass7/ext/r_li_patchdensity_ascii.py     |     2 +-
 .../processing/algs/grass7/ext/r_li_patchnum.py    |     2 +-
 .../algs/grass7/ext/r_li_patchnum_ascii.py         |     2 +-
 .../processing/algs/grass7/ext/r_li_pielou.py      |     2 +-
 .../algs/grass7/ext/r_li_pielou_ascii.py           |     2 +-
 .../processing/algs/grass7/ext/r_li_renyi.py       |     2 +-
 .../processing/algs/grass7/ext/r_li_renyi_ascii.py |     2 +-
 .../processing/algs/grass7/ext/r_li_richness.py    |     2 +-
 .../algs/grass7/ext/r_li_richness_ascii.py         |     2 +-
 .../processing/algs/grass7/ext/r_li_shannon.py     |     2 +-
 .../algs/grass7/ext/r_li_shannon_ascii.py          |     2 +-
 .../processing/algs/grass7/ext/r_li_shape.py       |     2 +-
 .../processing/algs/grass7/ext/r_li_shape_ascii.py |     2 +-
 .../processing/algs/grass7/ext/r_li_simpson.py     |     2 +-
 .../algs/grass7/ext/r_li_simpson_ascii.py          |     2 +-
 .../processing/algs/grass7/ext/r_mapcalc.py        |     2 +-
 .../processing/algs/grass7/ext/r_mask_rast.py      |     2 +-
 .../processing/algs/grass7/ext/r_mask_vect.py      |     2 +-
 .../plugins/processing/algs/grass7/ext/r_null.py   |     2 +-
 .../plugins/processing/algs/grass7/ext/r_proj.py   |     2 +-
 .../processing/algs/grass7/ext/r_reclass.py        |     2 +-
 .../processing/algs/grass7/ext/r_resamp_filter.py  |     2 +-
 python/plugins/processing/algs/grass7/ext/r_rgb.py |     2 +-
 .../processing/algs/grass7/ext/r_series_interp.py  |     2 +-
 .../plugins/processing/algs/grass7/ext/r_shade.py  |     2 +-
 .../processing/algs/grass7/ext/r_statistics.py     |     2 +-
 .../algs/grass7/ext/r_stats_quantile_rast.py       |     2 +-
 .../processing/algs/grass7/ext/r_what_color.py     |     2 +-
 .../processing/algs/grass7/ext/v_distance.py       |     2 +-
 .../plugins/processing/algs/grass7/ext/v_edit.py   |     2 +-
 .../processing/algs/grass7/ext/v_extrude.py        |     2 +-
 .../processing/algs/grass7/ext/v_in_geonames.py    |     2 +-
 python/plugins/processing/algs/grass7/ext/v_net.py |     2 +-
 .../processing/algs/grass7/ext/v_net_alloc.py      |     2 +-
 .../processing/algs/grass7/ext/v_net_allpairs.py   |     2 +-
 .../processing/algs/grass7/ext/v_net_bridge.py     |     2 +-
 .../processing/algs/grass7/ext/v_net_centrality.py |     2 +-
 .../processing/algs/grass7/ext/v_net_components.py |     2 +-
 .../algs/grass7/ext/v_net_connectivity.py          |     2 +-
 .../processing/algs/grass7/ext/v_net_distance.py   |     2 +-
 .../processing/algs/grass7/ext/v_net_flow.py       |     2 +-
 .../processing/algs/grass7/ext/v_net_iso.py        |     2 +-
 .../processing/algs/grass7/ext/v_net_path.py       |     2 +-
 .../processing/algs/grass7/ext/v_net_salesman.py   |     2 +-
 .../algs/grass7/ext/v_net_spanningtree.py          |     2 +-
 .../processing/algs/grass7/ext/v_net_steiner.py    |     2 +-
 .../processing/algs/grass7/ext/v_net_visibility.py |     2 +-
 .../plugins/processing/algs/grass7/ext/v_proj.py   |     2 +-
 .../processing/algs/grass7/ext/v_rast_stats.py     |     2 +-
 .../processing/algs/grass7/ext/v_rectify.py        |     2 +-
 .../plugins/processing/algs/grass7/ext/v_sample.py |     2 +-
 .../plugins/processing/algs/grass7/ext/v_to_3d.py  |     2 +-
 .../processing/algs/grass7/ext/v_vect_stats.py     |     2 +-
 .../processing/algs/grass7/ext/v_voronoi.py        |     2 +-
 .../processing/algs/grass7/ext/v_what_rast.py      |     2 +-
 .../processing/algs/grass7/ext/v_what_vect.py      |     2 +-
 python/plugins/processing/algs/help/__init__.py    |     2 +-
 .../plugins/processing/algs/qgis/AddTableField.py  |     2 +-
 python/plugins/processing/algs/qgis/Aggregate.py   |     2 +-
 python/plugins/processing/algs/qgis/Aspect.py      |     2 +-
 python/plugins/processing/algs/qgis/BarPlot.py     |     7 +-
 .../processing/algs/qgis/BasicStatistics.py        |     4 +-
 python/plugins/processing/algs/qgis/BoxPlot.py     |     4 +-
 python/plugins/processing/algs/qgis/Buffer.py      |     2 +-
 .../plugins/processing/algs/qgis/CheckValidity.py  |     2 +-
 python/plugins/processing/algs/qgis/ConcaveHull.py |     4 +-
 .../processing/algs/qgis/CreateAttributeIndex.py   |     2 +-
 .../processing/algs/qgis/CreateConstantRaster.py   |     2 +-
 .../processing/algs/qgis/Datasources2Vrt.py        |     2 +-
 .../processing/algs/qgis/DefineProjection.py       |     2 +-
 python/plugins/processing/algs/qgis/Delaunay.py    |     2 +-
 .../plugins/processing/algs/qgis/DeleteColumn.py   |     2 +-
 .../algs/qgis/DeleteDuplicateGeometries.py         |     2 +-
 python/plugins/processing/algs/qgis/DeleteHoles.py |     2 +-
 .../processing/algs/qgis/DensifyGeometries.py      |     2 +-
 .../algs/qgis/DensifyGeometriesInterval.py         |     2 +-
 python/plugins/processing/algs/qgis/Difference.py  |     2 +-
 .../processing/algs/qgis/EliminateSelection.py     |     2 +-
 python/plugins/processing/algs/qgis/ExecuteSQL.py  |     2 +-
 python/plugins/processing/algs/qgis/Explode.py     |     2 +-
 .../processing/algs/qgis/ExportGeometryInfo.py     |     2 +-
 python/plugins/processing/algs/qgis/ExtendLines.py |     2 +-
 .../processing/algs/qgis/ExtentFromLayer.py        |     2 +-
 .../algs/qgis/ExtractSpecificVertices.py           |     2 +-
 .../plugins/processing/algs/qgis/FieldPyculator.py |     2 +-
 .../processing/algs/qgis/FieldsCalculator.py       |     2 +-
 .../plugins/processing/algs/qgis/FieldsMapper.py   |    53 +-
 .../plugins/processing/algs/qgis/FindProjection.py |     2 +-
 .../processing/algs/qgis/GeometryByExpression.py   |     2 +-
 .../processing/algs/qgis/GeometryConvert.py        |     2 +-
 python/plugins/processing/algs/qgis/Grid.py        |     7 +-
 python/plugins/processing/algs/qgis/Heatmap.py     |     2 +-
 python/plugins/processing/algs/qgis/Hillshade.py   |     2 +-
 .../processing/algs/qgis/HubDistanceLines.py       |     2 +-
 .../processing/algs/qgis/HubDistancePoints.py      |     2 +-
 .../processing/algs/qgis/HypsometricCurves.py      |     2 +-
 .../processing/algs/qgis/IdwInterpolation.py       |     2 +-
 .../processing/algs/qgis/ImportIntoPostGIS.py      |     2 +-
 .../processing/algs/qgis/ImportIntoSpatialite.py   |     2 +-
 .../plugins/processing/algs/qgis/Intersection.py   |     2 +-
 .../processing/algs/qgis/KeepNBiggestParts.py      |     2 +-
 .../processing/algs/qgis/LinesToPolygons.py        |     2 +-
 .../processing/algs/qgis/MeanAndStdDevPlot.py      |     6 +-
 .../algs/qgis/MinimumBoundingGeometry.py           |     2 +-
 .../algs/qgis/NearestNeighbourAnalysis.py          |     4 +-
 python/plugins/processing/algs/qgis/OffsetLine.py  |     2 +-
 .../plugins/processing/algs/qgis/Orthogonalize.py  |     2 +-
 .../plugins/processing/algs/qgis/PointDistance.py  |     2 +-
 .../plugins/processing/algs/qgis/PointOnSurface.py |     2 +-
 .../processing/algs/qgis/PointsAlongGeometry.py    |     2 +-
 .../processing/algs/qgis/PointsDisplacement.py     |     2 +-
 .../processing/algs/qgis/PointsFromLines.py        |     2 +-
 .../processing/algs/qgis/PointsFromPolygons.py     |     2 +-
 .../processing/algs/qgis/PointsInPolygon.py        |     2 +-
 .../processing/algs/qgis/PointsLayerFromTable.py   |     2 +-
 .../plugins/processing/algs/qgis/PointsToPaths.py  |     4 +-
 python/plugins/processing/algs/qgis/PolarPlot.py   |     6 +-
 .../processing/algs/qgis/PoleOfInaccessibility.py  |     2 +-
 python/plugins/processing/algs/qgis/Polygonize.py  |     2 +-
 .../processing/algs/qgis/PolygonsToLines.py        |     2 +-
 .../processing/algs/qgis/PostGISExecuteSQL.py      |     2 +-
 .../plugins/processing/algs/qgis/QgisAlgorithm.py  |     2 +-
 .../processing/algs/qgis/QgisAlgorithmProvider.py  |     2 +-
 .../plugins/processing/algs/qgis/RandomExtract.py  |     2 +-
 .../algs/qgis/RandomExtractWithinSubsets.py        |     2 +-
 .../processing/algs/qgis/RandomPointsAlongLines.py |     2 +-
 .../processing/algs/qgis/RandomPointsExtent.py     |     2 +-
 .../processing/algs/qgis/RandomPointsLayer.py      |     2 +-
 .../processing/algs/qgis/RandomPointsPolygons.py   |     2 +-
 .../processing/algs/qgis/RandomSelection.py        |     2 +-
 .../algs/qgis/RandomSelectionWithinSubsets.py      |     2 +-
 .../processing/algs/qgis/RasterCalculator.py       |     2 +-
 .../processing/algs/qgis/RasterLayerHistogram.py   |     6 +-
 .../processing/algs/qgis/RasterLayerStatistics.py  |     4 +-
 python/plugins/processing/algs/qgis/Rasterize.py   |     2 +-
 .../algs/qgis/RectanglesOvalsDiamondsFixed.py      |     2 +-
 .../algs/qgis/RectanglesOvalsDiamondsVariable.py   |     2 +-
 .../plugins/processing/algs/qgis/RegularPoints.py  |     2 +-
 python/plugins/processing/algs/qgis/Relief.py      |     2 +-
 .../processing/algs/qgis/ReverseLineDirection.py   |     2 +-
 python/plugins/processing/algs/qgis/Ruggedness.py  |     2 +-
 .../processing/algs/qgis/SelectByAttribute.py      |     2 +-
 .../processing/algs/qgis/SelectByExpression.py     |     2 +-
 .../processing/algs/qgis/ServiceAreaFromLayer.py   |     2 +-
 .../processing/algs/qgis/ServiceAreaFromPoint.py   |     2 +-
 python/plugins/processing/algs/qgis/SetMValue.py   |     2 +-
 .../plugins/processing/algs/qgis/SetRasterStyle.py |     2 +-
 .../plugins/processing/algs/qgis/SetVectorStyle.py |     2 +-
 python/plugins/processing/algs/qgis/SetZValue.py   |     2 +-
 .../algs/qgis/ShortestPathLayerToPoint.py          |     2 +-
 .../algs/qgis/ShortestPathPointToLayer.py          |     2 +-
 .../algs/qgis/ShortestPathPointToPoint.py          |     2 +-
 .../processing/algs/qgis/SingleSidedBuffer.py      |     2 +-
 python/plugins/processing/algs/qgis/Slope.py       |     2 +-
 .../plugins/processing/algs/qgis/SnapGeometries.py |     2 +-
 .../plugins/processing/algs/qgis/SpatialIndex.py   |     2 +-
 python/plugins/processing/algs/qgis/SpatialJoin.py |     2 +-
 .../processing/algs/qgis/SpatialJoinSummary.py     |     2 +-
 .../processing/algs/qgis/SpatialiteExecuteSQL.py   |     2 +-
 .../processing/algs/qgis/StatisticsByCategories.py |     2 +-
 python/plugins/processing/algs/qgis/SumLines.py    |     2 +-
 .../processing/algs/qgis/SymmetricalDifference.py  |     2 +-
 python/plugins/processing/algs/qgis/TextToFloat.py |     2 +-
 .../processing/algs/qgis/TinInterpolation.py       |     2 +-
 python/plugins/processing/algs/qgis/TopoColors.py  |     2 +-
 .../plugins/processing/algs/qgis/TruncateTable.py  |     2 +-
 python/plugins/processing/algs/qgis/Union.py       |     2 +-
 .../plugins/processing/algs/qgis/UniqueValues.py   |     6 +-
 .../processing/algs/qgis/VariableDistanceBuffer.py |     2 +-
 .../processing/algs/qgis/VectorLayerHistogram.py   |     6 +-
 .../processing/algs/qgis/VectorLayerScatterplot.py |     6 +-
 .../algs/qgis/VectorLayerScatterplot3D.py          |     4 +-
 python/plugins/processing/algs/qgis/VectorSplit.py |     2 +-
 .../processing/algs/qgis/VoronoiPolygons.py        |     2 +-
 .../processing/algs/qgis/ZonalStatistics.py        |     2 +-
 .../processing/algs/qgis/ui/AggregatesPanel.py     |     2 +-
 .../algs/qgis/ui/FieldsCalculatorDialog.py         |     4 +-
 .../processing/algs/qgis/ui/FieldsMappingPanel.py  |     2 +-
 .../algs/qgis/ui/InterpolationDataWidget.py        |     2 +-
 .../algs/qgis/ui/RasterCalculatorWidgets.py        |     2 +-
 .../processing/algs/qgis/ui/ReliefColorsWidget.py  |     2 +-
 python/plugins/processing/algs/qgis/voronoi.py     |     2 +-
 .../plugins/processing/algs/saga/SagaAlgorithm.py  |    11 +-
 .../processing/algs/saga/SagaAlgorithmBase.py      |     2 +-
 .../processing/algs/saga/SagaAlgorithmProvider.py  |     2 +-
 .../processing/algs/saga/SagaDescriptionCreator.py |     2 +-
 .../processing/algs/saga/SagaNameDecorator.py      |     2 +-
 python/plugins/processing/algs/saga/SagaUtils.py   |     2 +-
 .../plugins/processing/algs/saga/SplitRGBBands.py  |     2 +-
 .../algs/saga/ext/supervisedclassification.py      |     2 +-
 .../plugins/processing/algs/saga/versioncheck.py   |     2 +-
 python/plugins/processing/core/Processing.py       |     2 +-
 python/plugins/processing/core/ProcessingConfig.py |     2 +-
 python/plugins/processing/core/ProcessingLog.py    |     2 +-
 .../plugins/processing/core/ProcessingResults.py   |     2 +-
 python/plugins/processing/core/defaultproviders.py |     2 +-
 python/plugins/processing/core/outputs.py          |     2 +-
 python/plugins/processing/core/parameters.py       |     2 +-
 python/plugins/processing/gui/AlgorithmDialog.py   |     2 +-
 .../plugins/processing/gui/AlgorithmDialogBase.py  |     2 +-
 python/plugins/processing/gui/AlgorithmExecutor.py |     2 +-
 .../processing/gui/AlgorithmLocatorFilter.py       |     2 +-
 python/plugins/processing/gui/AutofillDialog.py    |     2 +-
 .../plugins/processing/gui/BatchAlgorithmDialog.py |     2 +-
 .../processing/gui/BatchInputSelectionPanel.py     |     2 +-
 .../processing/gui/BatchOutputSelectionPanel.py    |     2 +-
 python/plugins/processing/gui/BatchPanel.py        |     8 +-
 python/plugins/processing/gui/CheckboxesPanel.py   |     8 +-
 python/plugins/processing/gui/ConfigDialog.py      |     2 +-
 python/plugins/processing/gui/ContextAction.py     |     2 +-
 .../processing/gui/DestinationSelectionPanel.py    |     2 +-
 .../processing/gui/DirectorySelectorDialog.py      |     2 +-
 .../processing/gui/EditRenderingStylesDialog.py    |     2 +-
 .../plugins/processing/gui/ExtentSelectionPanel.py |     2 +-
 .../plugins/processing/gui/FileSelectionPanel.py   |     2 +-
 python/plugins/processing/gui/FixedTableDialog.py  |     2 +-
 python/plugins/processing/gui/FixedTablePanel.py   |     2 +-
 python/plugins/processing/gui/Help2Html.py         |     2 +-
 python/plugins/processing/gui/HelpEditionDialog.py |     2 +-
 python/plugins/processing/gui/HistoryDialog.py     |     4 +-
 .../processing/gui/ListMultiselectWidget.py        |     2 +-
 .../plugins/processing/gui/MessageBarProgress.py   |     4 +-
 python/plugins/processing/gui/MessageDialog.py     |     2 +-
 .../processing/gui/MultipleFileInputDialog.py      |     2 +-
 .../plugins/processing/gui/MultipleInputDialog.py  |     2 +-
 .../plugins/processing/gui/MultipleInputPanel.py   |     2 +-
 python/plugins/processing/gui/NumberInputPanel.py  |     2 +-
 python/plugins/processing/gui/ParameterGuiUtils.py |     2 +-
 python/plugins/processing/gui/ParametersPanel.py   |     2 +-
 python/plugins/processing/gui/PointMapTool.py      |     2 +-
 .../plugins/processing/gui/PointSelectionPanel.py  |     2 +-
 .../plugins/processing/gui/PostgisTableSelector.py |     2 +-
 python/plugins/processing/gui/Postprocessing.py    |     2 +-
 python/plugins/processing/gui/ProcessingToolbox.py |     2 +-
 python/plugins/processing/gui/RangePanel.py        |     2 +-
 python/plugins/processing/gui/RectangleMapTool.py  |     2 +-
 .../processing/gui/RenderingStyleFilePanel.py      |     2 +-
 python/plugins/processing/gui/RenderingStyles.py   |     2 +-
 python/plugins/processing/gui/ResultsDock.py       |     2 +-
 python/plugins/processing/gui/TestTools.py         |     2 +-
 python/plugins/processing/gui/ToolboxAction.py     |     2 +-
 python/plugins/processing/gui/__init__.py          |     2 +-
 python/plugins/processing/gui/menus.py             |    47 +-
 python/plugins/processing/gui/wrappers.py          |     4 +-
 .../processing/modeler/AddModelFromFileAction.py   |     2 +-
 .../processing/modeler/CreateNewModelAction.py     |     2 +-
 .../processing/modeler/DeleteModelAction.py        |     2 +-
 .../plugins/processing/modeler/EditModelAction.py  |     2 +-
 .../processing/modeler/ModelerAlgorithmProvider.py |     2 +-
 python/plugins/processing/modeler/ModelerDialog.py |    23 +-
 .../processing/modeler/ModelerGraphicItem.py       |     2 +-
 .../modeler/ModelerParameterDefinitionDialog.py    |     2 +-
 .../processing/modeler/ModelerParametersDialog.py  |     4 +-
 python/plugins/processing/modeler/ModelerScene.py  |     2 +-
 python/plugins/processing/modeler/ModelerUtils.py  |     2 +-
 .../processing/modeler/MultilineTextPanel.py       |     2 +-
 .../processing/modeler/OpenModelFromFileAction.py  |     2 +-
 .../processing/modeler/WrongModelException.py      |     2 +-
 .../DeletePreconfiguredAlgorithmAction.py          |     2 +-
 .../NewPreconfiguredAlgorithmAction.py             |     2 +-
 .../preconfigured/PreconfiguredAlgorithm.py        |     2 +-
 .../preconfigured/PreconfiguredAlgorithmDialog.py  |     2 +-
 .../PreconfiguredAlgorithmProvider.py              |     2 +-
 .../processing/script/AddScriptFromFileAction.py   |     5 +-
 .../processing/script/CreateNewScriptAction.py     |     2 +-
 .../processing/script/DeleteScriptAction.py        |     2 +-
 .../plugins/processing/script/EditScriptAction.py  |     2 +-
 .../processing/script/ScriptAlgorithmProvider.py   |     2 +-
 python/plugins/processing/script/ScriptEdit.py     |     2 +-
 .../processing/script/ScriptEditorDialog.py        |     2 +-
 python/plugins/processing/script/ScriptUtils.py    |     2 +-
 python/plugins/processing/tests/GuiTest.py         |     2 +-
 python/plugins/processing/tests/ModelerTest.py     |     2 +-
 python/plugins/processing/tests/TestData.py        |     2 +-
 python/plugins/processing/tests/ToolsTest.py       |     2 +-
 .../testdata/expected/concave_hull_points_03.gml   |    21 +
 .../testdata/expected/concave_hull_points_03.xsd   |    37 +
 .../testdata/expected/concave_hull_points_07.gml   |    21 +
 .../testdata/expected/concave_hull_points_07.xsd   |    37 +
 .../testdata/expected/refactor_fields_null.gml     |    77 +
 .../testdata/expected/refactor_fields_null.xsd     |    44 +
 .../tests/testdata/gdal_algorithm_tests.yaml       |     1 +
 .../tests/testdata/qgis_algorithm_tests.yaml       |    61 +
 python/plugins/processing/tools/__init__.py        |     2 +-
 python/plugins/processing/tools/dataobjects.py     |     2 +-
 python/plugins/processing/tools/general.py         |     2 +-
 python/plugins/processing/tools/postgis.py         |     2 +-
 python/plugins/processing/tools/raster.py          |     2 +-
 python/plugins/processing/tools/spatialite.py      |     2 +-
 python/plugins/processing/tools/system.py          |     2 +-
 python/plugins/processing/tools/vector.py          |     2 +-
 python/pyplugin_installer/__init__.py              |     2 +-
 python/server/__init__.py                          |     2 +-
 python/server/qgsmapserviceexception.sip.in        |     2 +-
 python/user.py                                     |     2 +-
 python/utils.py                                    |     2 +-
 resources/function_help/json/make_triangle         |    13 +
 resources/qgis_global_settings.ini                 |     4 -
 scripts/generate_test_mask_image.py                |     2 +-
 scripts/mkuidefaults.py                            |     2 +-
 scripts/parse_dash_results.py                      |     4 +-
 scripts/pyuic-wrapper.py                           |     2 +-
 scripts/sipify.pl                                  |     6 +-
 scripts/widgets_tree.py                            |     2 +-
 src/analysis/network/qgsgraphdirector.h            |     5 +
 .../processing/qgsalgorithmfiledownloader.cpp      |     1 -
 src/analysis/processing/qgsalgorithmpackage.cpp    |     1 -
 .../qgsalgorithmrasterlayeruniquevalues.cpp        |     2 -
 src/analysis/raster/qgsrelief.cpp                  |     3 +
 src/app/3d/qgs3dmapcanvasdockwidget.cpp            |     2 +
 src/app/layout/qgslayoutmapwidget.cpp              |     2 +-
 src/app/layout/qgslayoutpropertieswidget.cpp       |     2 +-
 src/app/qgisapp.cpp                                |    78 +-
 src/app/qgsattributeactiondialog.cpp               |    19 +-
 src/app/qgsattributeactiondialog.h                 |     5 +-
 src/app/qgsattributeactionpropertiesdialog.cpp     |     7 +-
 src/app/qgsattributeactionpropertiesdialog.h       |     4 +-
 src/app/qgsattributetabledialog.cpp                |    42 +-
 src/app/qgsclipboard.cpp                           |     4 +-
 src/app/qgsfeatureaction.cpp                       |     3 +
 src/app/qgsidentifyresultsdialog.cpp               |    14 +-
 src/app/qgsmaptooloffsetcurve.cpp                  |     8 +-
 src/app/qgsmaptoolselectradius.cpp                 |    18 +-
 src/app/qgsmaptoolselectradius.h                   |     2 +
 src/app/qgsmaptoolsimplify.cpp                     |     2 +-
 src/app/qgsoptions.cpp                             |    12 +-
 src/app/qgsrastercalcdialog.cpp                    |     1 +
 src/app/qgssnappingwidget.cpp                      |    12 +-
 src/app/qgsstatusbarcoordinateswidget.cpp          |     5 +-
 src/app/qgsstatusbarcoordinateswidget.h            |     3 +-
 src/core/auth/qgsauthcertutils.cpp                 |    10 +-
 src/core/geometry/qgsgeometryeditutils.cpp         |     6 +-
 src/core/geometry/qgsgeometrymakevalid.cpp         |    12 +-
 src/core/geometry/qgsgeos.cpp                      |     3 +
 src/core/geometry/qgslinestring.cpp                |    23 +-
 src/core/layout/qgscompositionconverter.cpp        |    27 +-
 src/core/layout/qgscompositionconverter.h          |    17 +
 src/core/layout/qgslayout.cpp                      |    13 +-
 src/core/layout/qgslayoutitemlegend.cpp            |     4 +-
 src/core/layout/qgslayouttable.cpp                 |     1 +
 src/core/layout/qgslayoutundostack.cpp             |     3 +
 src/core/pal/feature.cpp                           |     7 +-
 src/core/pal/pointset.cpp                          |     5 +
 src/core/pal/pointset.h                            |     7 +-
 src/core/processing/qgsprocessingalgrunnertask.cpp |     4 +
 src/core/processing/qgsprocessingfeedback.cpp      |     4 +-
 src/core/processing/qgsprocessingfeedback.h        |     9 +-
 src/core/processing/qgsprocessingparameters.cpp    |     9 +-
 src/core/processing/qgsprocessingprovider.cpp      |     7 +-
 src/core/processing/qgsprocessingutils.cpp         |     3 +-
 src/core/qgsaction.cpp                             |     2 +
 src/core/qgsaction.h                               |    36 +
 src/core/qgsapplication.cpp                        |     4 +-
 src/core/qgsbrowsermodel.cpp                       |     2 +-
 src/core/qgscolorschemeregistry.cpp                |     2 +-
 src/core/qgscoordinateformatter.cpp                |     2 +-
 src/core/qgscoordinateutils.cpp                    |    11 +-
 src/core/qgscoordinateutils.h                      |     8 +-
 src/core/qgsfileutils.cpp                          |     2 +-
 src/core/qgsfileutils.h                            |     2 +-
 src/core/qgsmapsettings.cpp                        |    10 +-
 src/core/qgsmapsettings.h                          |     2 +
 src/core/qgsmapsettingsutils.cpp                   |    13 +-
 src/core/qgspallabeling.cpp                        |    20 +-
 src/core/qgspallabeling.h                          |     3 +-
 src/core/qgspathresolver.cpp                       |    17 +-
 src/core/qgspluginlayer.cpp                        |    48 +
 src/core/qgspluginlayer.h                          |    32 +-
 src/core/qgssettings.h                             |     4 +-
 src/core/qgssnappingconfig.cpp                     |     8 +-
 src/core/qgsstacktrace.cpp                         |     2 -
 src/core/qgstolerance.cpp                          |     6 +-
 src/core/qgsvectorfilewriter.cpp                   |     2 +-
 src/core/qgsvectorlayer.cpp                        |     4 +-
 src/core/raster/qgsrasterinterface.cpp             |     3 +-
 .../symbology/qgscategorizedsymbolrenderer.cpp     |    31 +-
 src/core/symbology/qgscategorizedsymbolrenderer.h  |    40 +-
 src/core/symbology/qgsfillsymbollayer.cpp          |     5 +
 src/core/symbology/qgssymbol.cpp                   |    14 +
 src/core/symbology/qgssymbollayerutils.cpp         |     6 +-
 src/crashhandler/qgsstacktrace.cpp                 |     3 -
 src/crashhandler/qgsstacktrace.h                   |     2 -
 src/gui/attributetable/qgsattributetableview.cpp   |     7 +
 src/gui/attributetable/qgsdualview.cpp             |    25 +-
 src/gui/editorwidgets/qgsdatetimeedit.cpp          |    52 +-
 src/gui/editorwidgets/qgsdatetimeedit.h            |     1 +
 src/gui/editorwidgets/qgsdatetimeeditwrapper.cpp   |    17 +-
 src/gui/effects/qgseffectstackpropertieswidget.cpp |     2 +-
 src/gui/layertree/qgslayertreemapcanvasbridge.cpp  |    16 +-
 .../layertree/qgslayertreeviewdefaultactions.cpp   |    10 +-
 .../layout/qgslayoutnewitempropertiesdialog.cpp    |     2 +-
 .../qgsprocessingalgorithmdialogbase.cpp           |    30 +-
 .../processing/qgsprocessingalgorithmdialogbase.h  |    15 +-
 src/gui/qgsactionmenu.cpp                          |    19 +
 src/gui/qgsactionmenu.h                            |     9 +
 src/gui/qgsattributedialog.cpp                     |    36 +-
 src/gui/qgsattributedialog.h                       |     7 +-
 src/gui/qgsattributeform.cpp                       |    15 +
 src/gui/qgsattributeform.h                         |     1 +
 src/gui/qgscolorbutton.cpp                         |    12 +-
 src/gui/qgscolorrampbutton.cpp                     |    16 +-
 src/gui/qgscolorwidgets.cpp                        |     2 +-
 src/gui/qgsexternalresourcewidget.cpp              |     6 +-
 src/gui/qgsfilterlineedit.cpp                      |     9 +
 src/gui/qgsfilterlineedit.h                        |     9 +
 src/gui/qgsfontbutton.cpp                          |    10 +-
 src/gui/qgsidentifymenu.cpp                        |     2 +
 src/gui/qgslegendfilterbutton.cpp                  |     4 +-
 src/gui/qgsmapcanvas.cpp                           |     2 +-
 src/gui/qgsmaplayeractionregistry.cpp              |    33 +-
 src/gui/qgsmaplayeractionregistry.h                |    46 +-
 src/gui/qgsmaptoolidentify.cpp                     |     4 +-
 src/gui/qgsmessagebar.cpp                          |     2 +-
 src/gui/qgsoptionsdialoghighlightwidgetsimpl.cpp   |    35 +-
 src/gui/qgsoptionsdialoghighlightwidgetsimpl.h     |     8 +-
 src/gui/qgspropertyoverridebutton.cpp              |     2 +-
 src/gui/qgssymbolbutton.cpp                        |    10 +-
 src/gui/symbology/qgsstylemanagerdialog.cpp        |     6 +-
 src/gui/symbology/qgssymbolslistwidget.cpp         |     2 +-
 src/plugins/grass/qgis_grass_test.py               |     2 +-
 src/plugins/grass/scripts/db.connect-login.pg.py   |     2 +-
 src/plugins/grass/scripts/qgis.v.kernel.rast.py    |     2 +-
 src/plugins/grass/scripts/qgis.v.upgrade.py        |     2 +-
 src/plugins/grass/scripts/r.external.all.py        |     2 +-
 src/plugins/grass/scripts/v.out.ogr.pg.py          |     2 +-
 src/providers/gdal/qgsgdalprovider.cpp             |    17 +-
 src/providers/grass/qgsgrassoptions.cpp            |     2 +-
 src/providers/grass/qgsgrassprovidermodule.cpp     |    10 +-
 src/providers/grass/qgsgrassprovidermodule.h       |     2 +-
 src/providers/ogr/qgsogrprovider.cpp               |    15 +-
 src/providers/ogr/qgsogrprovider.h                 |     2 +-
 src/providers/oracle/qgsoraclefeatureiterator.cpp  |     4 +-
 src/providers/oracle/qgsoracleprovider.cpp         |    18 +-
 src/providers/oracle/qgsoracleprovider.h           |    10 +-
 src/providers/postgres/qgspgnewconnection.cpp      |     2 +-
 src/providers/postgres/qgspostgresprovider.cpp     |    10 +-
 .../virtual/qgsvirtuallayerqueryparser.cpp         |     7 +-
 src/providers/wfs/qgswfsprovider.cpp               |     7 +
 .../services/wfs/qgswfsdescribefeaturetype.cpp     |     2 +-
 src/server/services/wfs/qgswfsgetfeature.cpp       |    78 +-
 src/server/services/wms/qgswmsrenderer.cpp         |    22 +-
 src/ui/layout/qgslayoutdesignerbase.ui             |   158 +-
 src/ui/layout/qgslayoutlegendwidgetbase.ui         |     2 +-
 src/ui/qgisapp.ui                                  |    42 +-
 src/ui/qgsattributeactiondialogbase.ui             |    36 +-
 src/ui/qgsattributeactionpropertiesdialogbase.ui   |    72 +-
 src/ui/qgsexpressionselectiondialogbase.ui         |     2 +-
 src/ui/qgsmapcanvasdockwidgetbase.ui               |    21 +-
 src/ui/qgsoptionsbase.ui                           |     3 +
 src/ui/qgsvectorlayerpropertiesbase.ui             |    25 +-
 src/ui/symbollayer/widget_layerproperties.ui       |     2 +-
 tests/code_layout/acceptable_missing_doc.py        |     4 +-
 tests/code_layout/test_qgsdoccoverage.py           |     2 +-
 tests/code_layout/test_qgssipcoverage.py           |     2 +-
 tests/code_layout/test_sipfiles_uptodate.sh        |     4 +-
 tests/src/analysis/testqgsprocessing.cpp           |    31 +
 tests/src/core/testqgscompositionconverter.cpp     |    62 +-
 tests/src/core/testqgslabelingengine.cpp           |    72 +
 tests/src/core/testqgsmapsettings.cpp              |    18 +
 tests/src/core/testqgsmapsettingsutils.cpp         |     3 +
 tests/src/core/testqgsproject.cpp                  |    32 +-
 tests/src/core/testqgssettings.cpp                 |    12 +-
 tests/src/python/CMakeLists.txt                    |     1 +
 tests/src/python/featuresourcetestbase.py          |     2 +-
 tests/src/python/offlineditingtestbase.py          |     2 +-
 tests/src/python/providertestbase.py               |     2 +-
 tests/src/python/qgis_interface.py                 |     2 +-
 tests/src/python/qgis_local_server.py              |     2 +-
 tests/src/python/qgis_wrapped_server.py            |     2 +-
 tests/src/python/test_authmanager_ogr.py           |     2 +-
 tests/src/python/test_authmanager_ogr_postgres.py  |     2 +-
 tests/src/python/test_authmanager_password_ows.py  |     2 +-
 .../python/test_authmanager_password_postgres.py   |     2 +-
 tests/src/python/test_authmanager_pki_ows.py       |     2 +-
 tests/src/python/test_authmanager_pki_postgres.py  |     2 +-
 tests/src/python/test_authmanager_proxy.py         |     2 +-
 tests/src/python/test_authsettingswidget.py        |     2 +-
 tests/src/python/test_console.py                   |     2 +-
 tests/src/python/test_db_manager_gpkg.py           |     2 +-
 tests/src/python/test_layer_dependencies.py        |     2 +-
 tests/src/python/test_offline_editing_wfs.py       |     2 +-
 tests/src/python/test_provider_afs.py              |     2 +-
 tests/src/python/test_provider_db2.py              |     2 +-
 tests/src/python/test_provider_memory.py           |     2 +-
 tests/src/python/test_provider_mssql.py            |     2 +-
 tests/src/python/test_provider_ogr.py              |     2 +-
 tests/src/python/test_provider_ogr_gpkg.py         |     2 +-
 tests/src/python/test_provider_ogr_sqlite.py       |     2 +-
 tests/src/python/test_provider_oracle.py           |     2 +-
 tests/src/python/test_provider_postgres.py         |     2 +-
 tests/src/python/test_provider_shapefile.py        |     2 +-
 tests/src/python/test_provider_spatialite.py       |     2 +-
 tests/src/python/test_provider_tabfile.py          |     2 +-
 tests/src/python/test_provider_virtual.py          |     2 +-
 tests/src/python/test_provider_wfs.py              |     2 +-
 tests/src/python/test_provider_wfs_gui.py          |     2 +-
 tests/src/python/test_qgis_local_server.py         |     2 +-
 tests/src/python/test_qgsactionmanager.py          |     2 +-
 tests/src/python/test_qgsaggregatecalculator.py    |     2 +-
 tests/src/python/test_qgsannotation.py             |     2 +-
 tests/src/python/test_qgsapplication.py            |     2 +-
 tests/src/python/test_qgsappstartup.py             |     2 +-
 tests/src/python/test_qgsarrowsymbollayer.py       |     2 +-
 .../python/test_qgsattributeformeditorwidget.py    |     2 +-
 tests/src/python/test_qgsattributetableconfig.py   |     2 +-
 tests/src/python/test_qgsattributetablemodel.py    |     2 +-
 tests/src/python/test_qgsauthsystem.py             |     2 +-
 tests/src/python/test_qgsauxiliarystorage.py       |     2 +-
 tests/src/python/test_qgsbearingutils.py           |     2 +-
 tests/src/python/test_qgsblendmodes.py             |     2 +-
 tests/src/python/test_qgsbox3d.py                  |     2 +-
 .../python/test_qgscategorizedsymbolrenderer.py    |   145 +-
 tests/src/python/test_qgscheckablecombobox.py      |     2 +-
 tests/src/python/test_qgscolorbutton.py            |     2 +-
 tests/src/python/test_qgscolorscheme.py            |     2 +-
 tests/src/python/test_qgscolorschemeregistry.py    |     2 +-
 tests/src/python/test_qgsconditionalstyle.py       |     2 +-
 tests/src/python/test_qgscoordinateformatter.py    |     9 +-
 tests/src/python/test_qgscoordinatetransform.py    |     2 +-
 .../python/test_qgscoordinatetransformcontext.py   |     2 +-
 tests/src/python/test_qgsdatetimeedit.py           |     2 +-
 .../python/test_qgsdatetimestatisticalsummary.py   |     2 +-
 tests/src/python/test_qgsdefaultvalue.py           |     2 +-
 tests/src/python/test_qgsdelimitedtextprovider.py  |     2 +-
 .../python/test_qgsdelimitedtextprovider_wanted.py |     2 +-
 tests/src/python/test_qgsdistancearea.py           |     8 +-
 tests/src/python/test_qgseditformconfig.py         |     2 +-
 tests/src/python/test_qgseditwidgets.py            |     2 +-
 tests/src/python/test_qgsellipsoidutils.py         |     2 +-
 .../src/python/test_qgsencodingselectiondialog.py  |     2 +-
 tests/src/python/test_qgsexpression.py             |     2 +-
 .../src/python/test_qgsexpressionbuilderwidget.py  |     2 +-
 tests/src/python/test_qgsexpressionlineedit.py     |     2 +-
 tests/src/python/test_qgsextentgroupbox.py         |     2 +-
 tests/src/python/test_qgsfeature.py                |     2 +-
 tests/src/python/test_qgsfeatureiterator.py        |     2 +-
 tests/src/python/test_qgsfeaturesink.py            |     2 +-
 tests/src/python/test_qgsfeaturesource.py          |     2 +-
 tests/src/python/test_qgsfeedback.py               |     2 +-
 tests/src/python/test_qgsfieldcombobox.py          |     2 +-
 tests/src/python/test_qgsfieldformatters.py        |     2 +-
 tests/src/python/test_qgsfieldmodel.py             |     2 +-
 tests/src/python/test_qgsfields.py                 |     2 +-
 tests/src/python/test_qgsfieldvalidator.py         |     2 +-
 tests/src/python/test_qgsfiledownloader.py         |     2 +-
 tests/src/python/test_qgsfileutils.py              |     6 +-
 tests/src/python/test_qgsfillsymbollayers.py       |     2 +-
 tests/src/python/test_qgsfilterlineedit.py         |     2 +-
 tests/src/python/test_qgsfloatingwidget.py         |     2 +-
 tests/src/python/test_qgsfontbutton.py             |     2 +-
 tests/src/python/test_qgsfontutils.py              |     2 +-
 tests/src/python/test_qgsgeometry.py               |    18 +-
 .../python/test_qgsgeometry_avoid_intersections.py |     2 +-
 .../python/test_qgsgeometrygeneratorsymbollayer.py |     2 +-
 tests/src/python/test_qgsgeometryvalidator.py      |     2 +-
 tests/src/python/test_qgsgeonodeconnection.py      |     2 +-
 .../src/python/test_qgsgraduatedsymbolrenderer.py  |     2 +-
 tests/src/python/test_qgshighlight.py              |     2 +-
 tests/src/python/test_qgsinterval.py               |     2 +-
 tests/src/python/test_qgsissue7244.py              |     2 +-
 tests/src/python/test_qgsjsonutils.py              |     2 +-
 tests/src/python/test_qgslayerdefinition.py        |     2 +-
 tests/src/python/test_qgslayermetadata.py          |     2 +-
 tests/src/python/test_qgslayertree.py              |     2 +-
 .../src/python/test_qgslayertreemapcanvasbridge.py |    38 +-
 tests/src/python/test_qgslayout.py                 |     2 +-
 tests/src/python/test_qgslayoutaligner.py          |     2 +-
 tests/src/python/test_qgslayoutatlas.py            |     2 +-
 tests/src/python/test_qgslayoutexporter.py         |     2 +-
 tests/src/python/test_qgslayoutframe.py            |     2 +-
 tests/src/python/test_qgslayoutgridsettings.py     |     2 +-
 tests/src/python/test_qgslayoutguides.py           |     2 +-
 tests/src/python/test_qgslayouthtml.py             |     2 +-
 tests/src/python/test_qgslayoutitem.py             |     2 +-
 .../python/test_qgslayoutitempropertiesdialog.py   |     2 +-
 tests/src/python/test_qgslayoutlabel.py            |     2 +-
 tests/src/python/test_qgslayoutlegend.py           |    25 +-
 tests/src/python/test_qgslayoutmanager.py          |     2 +-
 tests/src/python/test_qgslayoutmap.py              |     2 +-
 tests/src/python/test_qgslayoutmapgrid.py          |     2 +-
 tests/src/python/test_qgslayoutpage.py             |     2 +-
 tests/src/python/test_qgslayoutpagecollection.py   |     2 +-
 tests/src/python/test_qgslayoutpicture.py          |     2 +-
 tests/src/python/test_qgslayoutpolygon.py          |     2 +-
 tests/src/python/test_qgslayoutpolyline.py         |     2 +-
 tests/src/python/test_qgslayoutscalebar.py         |     2 +-
 tests/src/python/test_qgslayoutshape.py            |     2 +-
 tests/src/python/test_qgslayoutsnapper.py          |     2 +-
 tests/src/python/test_qgslayoutunitscombobox.py    |     2 +-
 tests/src/python/test_qgslayoutview.py             |     2 +-
 tests/src/python/test_qgslinesymbollayers.py       |     2 +-
 tests/src/python/test_qgslocator.py                |     2 +-
 tests/src/python/test_qgslogger.py                 |     2 +-
 tests/src/python/test_qgsmapcanvas.py              |     2 +-
 .../src/python/test_qgsmapcanvasannotationitem.py  |     2 +-
 tests/src/python/test_qgsmaplayer.py               |     2 +-
 tests/src/python/test_qgsmaplayeraction.py         |    96 +
 tests/src/python/test_qgsmaplayermodel.py          |     2 +-
 tests/src/python/test_qgsmaplayerstore.py          |     2 +-
 tests/src/python/test_qgsmaprenderer.py            |     2 +-
 tests/src/python/test_qgsmaprenderercache.py       |     2 +-
 tests/src/python/test_qgsmapthemecollection.py     |     2 +-
 tests/src/python/test_qgsmapunitscale.py           |     2 +-
 tests/src/python/test_qgsmargins.py                |     2 +-
 tests/src/python/test_qgsmultiedittoolbutton.py    |     2 +-
 tests/src/python/test_qgsnetworkcontentfetcher.py  |     2 +-
 .../src/python/test_qgsnewgeopackagelayerdialog.py |     2 +-
 tests/src/python/test_qgsnoapplication.py          |     2 +-
 tests/src/python/test_qgsnullsymbolrenderer.py     |     2 +-
 tests/src/python/test_qgsopacitywidget.py          |     2 +-
 tests/src/python/test_qgsowsconnection.py          |     2 +-
 tests/src/python/test_qgspallabeling_base.py       |     2 +-
 tests/src/python/test_qgspallabeling_canvas.py     |     2 +-
 tests/src/python/test_qgspallabeling_layout.py     |     2 +-
 tests/src/python/test_qgspallabeling_placement.py  |     2 +-
 tests/src/python/test_qgspallabeling_server.py     |     2 +-
 tests/src/python/test_qgspallabeling_tests.py      |     2 +-
 tests/src/python/test_qgspanelwidget.py            |     2 +-
 tests/src/python/test_qgspanelwidgetstack.py       |     2 +-
 tests/src/python/test_qgspoint.py                  |     2 +-
 tests/src/python/test_qgspointclusterrenderer.py   |     2 +-
 .../python/test_qgspointdisplacementrenderer.py    |     2 +-
 tests/src/python/test_qgspostgresdomain.py         |     2 +-
 tests/src/python/test_qgsproject.py                |    48 +-
 .../python/test_qgsprojectionselectionwidgets.py   |     2 +-
 tests/src/python/test_qgsrange.py                  |     2 +-
 tests/src/python/test_qgsrangewidgets.py           |     2 +-
 tests/src/python/test_qgsrasterbandcombobox.py     |     2 +-
 tests/src/python/test_qgsrastercolorrampshader.py  |     2 +-
 tests/src/python/test_qgsrasterfilewriter.py       |     2 +-
 tests/src/python/test_qgsrasterfilewritertask.py   |     2 +-
 tests/src/python/test_qgsrasterlayer.py            |     2 +-
 tests/src/python/test_qgsratiolockbutton.py        |     2 +-
 tests/src/python/test_qgsrectangle.py              |     2 +-
 tests/src/python/test_qgsreferencedgeometry.py     |     2 +-
 tests/src/python/test_qgsrelation.py               |     2 +-
 tests/src/python/test_qgsrelationeditwidget.py     |     2 +-
 tests/src/python/test_qgsrelationmanager.py        |     2 +-
 tests/src/python/test_qgsrendercontext.py          |     2 +-
 tests/src/python/test_qgsrenderer.py               |     2 +-
 tests/src/python/test_qgsreport.py                 |     2 +-
 tests/src/python/test_qgsrulebasedrenderer.py      |     2 +-
 tests/src/python/test_qgssearchwidgettoolbutton.py |     2 +-
 tests/src/python/test_qgssearchwidgetwrapper.py    |     2 +-
 tests/src/python/test_qgsserver.py                 |     2 +-
 tests/src/python/test_qgsserver_accesscontrol.py   |     2 +-
 tests/src/python/test_qgsserver_modules.py         |     2 +-
 tests/src/python/test_qgsserver_plugins.py         |     2 +-
 tests/src/python/test_qgsserver_projectutils.py    |     2 +-
 tests/src/python/test_qgsserver_request.py         |     2 +-
 tests/src/python/test_qgsserver_response.py        |     2 +-
 tests/src/python/test_qgsserver_security.py        |     2 +-
 tests/src/python/test_qgsserver_services.py        |     2 +-
 tests/src/python/test_qgsserver_settings.py        |     2 +-
 tests/src/python/test_qgsserver_wfs.py             |     6 +-
 tests/src/python/test_qgsserver_wfst.py            |     2 +-
 tests/src/python/test_qgsserver_wms.py             |    13 +-
 .../python/test_qgsserver_wms_getlegendgraphic.py  |     2 +-
 tests/src/python/test_qgsserver_wms_getmap.py      |     2 +-
 tests/src/python/test_qgsserver_wms_getprint.py    |     2 +-
 tests/src/python/test_qgssettings.py               |     2 +-
 tests/src/python/test_qgsshortcutsmanager.py       |     2 +-
 tests/src/python/test_qgssinglesymbolrenderer.py   |     2 +-
 tests/src/python/test_qgssourceselectprovider.py   |     2 +-
 tests/src/python/test_qgsspatialindex.py           |     2 +-
 tests/src/python/test_qgssqlstatement.py           |     2 +-
 .../src/python/test_qgsstringstatisticalsummary.py |     2 +-
 tests/src/python/test_qgsstringutils.py            |     2 +-
 tests/src/python/test_qgssymbol.py                 |   345 +-
 tests/src/python/test_qgssymbolbutton.py           |     2 +-
 .../python/test_qgssymbolexpressionvariables.py    |     2 +-
 tests/src/python/test_qgssymbollayer.py            |     2 +-
 tests/src/python/test_qgssymbollayer_createsld.py  |     2 +-
 tests/src/python/test_qgssymbollayer_readsld.py    |     2 +-
 tests/src/python/test_qgssymbollayerutils.py       |     2 +-
 tests/src/python/test_qgstaskmanager.py            |     2 +-
 tests/src/python/test_qgstextformatwidget.py       |     2 +-
 tests/src/python/test_qgstextrenderer.py           |     2 +-
 tests/src/python/test_qgstreewidgetitem.py         |     2 +-
 tests/src/python/test_qgsunittypes.py              |     2 +-
 tests/src/python/test_qgsvectorcolorramp.py        |     2 +-
 tests/src/python/test_qgsvectorfilewriter.py       |     2 +-
 tests/src/python/test_qgsvectorfilewritertask.py   |     2 +-
 tests/src/python/test_qgsvectorlayer.py            |     2 +-
 tests/src/python/test_qgsvectorlayercache.py       |     2 +-
 tests/src/python/test_qgsvectorlayereditbuffer.py  |     2 +-
 tests/src/python/test_qgsvectorlayertools.py       |     2 +-
 tests/src/python/test_qgsvectorlayerutils.py       |     2 +-
 tests/src/python/test_qgsvirtuallayerdefinition.py |     2 +-
 tests/src/python/test_qgsxmlutils.py               |     2 +-
 tests/src/python/test_qgsziputils.py               |     2 +-
 tests/src/python/test_qgszonalstatistics.py        |     2 +-
 tests/src/python/test_syntactic_sugar.py           |     2 +-
 tests/src/python/utilities.py                      |     2 +-
 .../expected_annotation_fillstyle_mask.png         |   Bin 0 -> 2652 bytes
 .../expected_annotation_margins_mask.png           |   Bin 0 -> 2655 bytes
 .../expected_html_annotation_mask.png              |   Bin 0 -> 3321 bytes
 .../travis/expected_html_feature_mask.png          |   Bin 0 -> 5772 bytes
 .../travis/expected_html_nofeature_mask.png        |   Bin 0 -> 7403 bytes
 .../expected_relative_style_mask.png               |   Bin 0 -> 2655 bytes
 .../expected_svg_annotation_mask.png               |   Bin 3207 -> 4483 bytes
 .../default/expected_text_annotation_mask.png      |   Bin 10932 -> 11564 bytes
 .../expected_layoutmap_rasterized_mask.png         |   Bin 44417 -> 44622 bytes
 .../expected_importComposerAtlas_0.png             |   Bin 44293 -> 44490 bytes
 .../expected_importComposerAtlas_0_mask.png        |   Bin 0 -> 11226 bytes
 .../expected_importComposerTemplateArrow_0.png     |   Bin 12414 -> 12426 bytes
 ...cted_importComposerTemplateAttributeTable_0.png |   Bin 42969 -> 43761 bytes
 ...importComposerTemplateAttributeTable_0_mask.png |   Bin 0 -> 19669 bytes
 .../expected_importComposerTemplateHtml_0.png      |   Bin 5677 -> 5655 bytes
 .../expected_importComposerTemplateHtml_0_mask.png |   Bin 0 -> 6921 bytes
 .../expected_importComposerTemplateLegend_0.png    |   Bin 18623 -> 18581 bytes
 ...xpected_importComposerTemplateLegend_0_mask.png |   Bin 0 -> 10734 bytes
 .../expected_importComposerTemplateMap_0.png       |   Bin 153619 -> 153432 bytes
 .../expected_importComposerTemplateMap_0_mask.png  |   Bin 7323 -> 145272 bytes
 .../expected_importComposerTemplatePicture_0.png   |   Bin 8140 -> 8151 bytes
 .../expected_importComposerTemplatePolygon_0.png   |   Bin 16983 -> 17034 bytes
 .../expected_importComposerTemplatePolyline_0.png  |   Bin 11849 -> 11862 bytes
 .../expected_importComposerTemplateScaleBar_0.png  |   Bin 8455 -> 8550 bytes
 .../expected_importComposerTemplateShape_0.png     |   Bin 6533 -> 6546 bytes
 .../expected_importComposerTemplate_0.png          |   Bin 187229 -> 186966 bytes
 .../expected_importComposerTemplate_0_mask.png     |   Bin 12157 -> 30282 bytes
 .../expected_importComposerTemplate_1.png          |   Bin 83697 -> 82375 bytes
 .../expected_importComposerTemplate_1_mask.png     |   Bin 0 -> 23368 bytes
 .../expected_painteffect_blur_mask.png             |   Bin 2098 -> 2085 bytes
 .../expected_painteffect_dropshadow_mask.png       |   Bin 2734 -> 2441 bytes
 .../expected_painteffect_stack_mask.png            |   Bin 2238 -> 2226 bytes
 .../expected_svgcache_changed_after_mask.png       |   Bin 2723 -> 3393 bytes
 .../expected_svgcache_changed_before_mask.png      |   Bin 0 -> 2151 bytes
 .../WMS_GetMap_Annotations_mask.png                |   Bin 12926 -> 13447 bytes
 .../WMS_GetMap_Mode_1bit_mask.png                  |   Bin 4254 -> 13975 bytes
 .../WMS_GetMap_Mode_8bit_mask.png                  |   Bin 27202 -> 27229 bytes
 .../WMS_GetMap_StyleCustom_mask.png                |   Bin 25999 -> 25874 bytes
 .../WMS_GetPrint_Basic/WMS_GetPrint_Basic_mask.png |   Bin 53020 -> 54850 bytes
 .../WMS_GetPrint_Grid/WMS_GetPrint_Grid_mask.png   |   Bin 49140 -> 49868 bytes
 .../WMS_GetPrint_Highlight_mask.png                |   Bin 96021 -> 95546 bytes
 .../WMS_GetPrint_LabelUpdated_mask.png             |   Bin 57395 -> 57901 bytes
 .../WMS_GetPrint_Legend_mask.png                   |   Bin 67609 -> 67622 bytes
 .../WMS_GetPrint_Opacity_mask.png                  |   Bin 66325 -> 66329 bytes
 .../WMS_GetPrint_Rotation_mask.png                 |   Bin 49140 -> 49868 bytes
 .../WMS_GetPrint_Scale/WMS_GetPrint_Scale_mask.png |   Bin 53020 -> 54850 bytes
 .../WMS_GetPrint_Selection_mask.png                |   Bin 49140 -> 49868 bytes
 .../WMS_GetPrint_StyleCustom_mask.png              |   Bin 237315 -> 237737 bytes
 .../WMS_GetPrint_StyleDefault_mask.png             |   Bin 73078 -> 73095 bytes
 .../expected_reprojection_errors_linestring.png    |   Bin 0 -> 569 bytes
 .../expected_reprojection_errors_polygon.png       |   Bin 0 -> 569 bytes
 .../expected_datadefined_subsymbol_mask.png        |   Bin 3210 -> 5891 bytes
 .../wfs_getFeature_1_0_0_featureid_0_1_0_0.txt     |    26 +
 .../wms_getfeatureinfo_geometry_filter.txt         |     2 +-
 ...=> wms_getfeatureinfo_geometry_filter_3857.txt} |     0
 .../test_plugin_path/PluginPathTest/__init__.py    |     2 +-
 935 files changed, 20431 insertions(+), 16742 deletions(-)

diff --git a/.ci/travis/linux/before_install.sh b/.ci/travis/linux/before_install.sh
index c654953..c9bded6 100755
--- a/.ci/travis/linux/before_install.sh
+++ b/.ci/travis/linux/before_install.sh
@@ -13,5 +13,4 @@
 #                                                                         #
 ###########################################################################
 
-
 #pip3 install termcolor
diff --git a/.ci/travis/linux/before_script.sh b/.ci/travis/linux/before_script.sh
index 4cffff8..35fd4ad 100755
--- a/.ci/travis/linux/before_script.sh
+++ b/.ci/travis/linux/before_script.sh
@@ -17,24 +17,55 @@ set -e
 
 pushd .docker
 
-echo "travis_fold:start:docker"
+source $(git rev-parse --show-toplevel)/.ci/travis/scripts/travis_envvar_helper.sh
+
+
+DOCKER_DEPS_PUSH=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && [[ $TRAVIS_EVENT_TYPE =~ push ]] && echo "true" || echo "false" )
+DOCKER_DEPS_IMAGE_REBUILD=$( [[ $TRAVIS_COMMIT_MESSAGE =~ '[docker] update dependencies' ]] && echo "true" || echo "false" )
+# on cron job, QGIS image is built and push without testing
+DOCKER_QGIS_IMAGE_BUILD_PUSH=$(create_qgis_image)
+QGIS_LAST_BUILD_SUCCESS=true # TODO use API to know if last build succeed https://developer.travis-ci.com/resource/builds
+
+
+echo "travis_fold:start:travis_env"
+echo "${bold}Travis environment variables${endbold}"
+echo "TRAVIS_BRANCH: $TRAVIS_BRANCH"
+echo "TRAVIS_EVENT_TYPE: $TRAVIS_EVENT_TYPE"
+echo "DOCKER_TAG: $DOCKER_TAG"
+echo "DOCKER_DEPS_PUSH: $DOCKER_DEPS_PUSH"
+echo "DOCKER_DEPS_IMAGE_REBUILD: $DOCKER_DEPS_IMAGE_REBUILD"
+echo "DOCKER_QGIS_IMAGE_BUILD_PUSH: $DOCKER_QGIS_IMAGE_BUILD_PUSH"
+echo "QGIS_LAST_BUILD_SUCCESS: $QGIS_LAST_BUILD_SUCCESS"
+echo "TRAVIS_TIMESTAMP: $TRAVIS_TIMESTAMP"
+echo "travis_fold:end:travis_env"
+
+
+echo "travis_fold:start:docker_build"
+echo "${bold}Docker build deps${endbold}"
 docker --version
-docker-compose --version
-docker-compose -f $DOCKER_COMPOSE config
-#docker pull ubuntu:16.04
+if [[ $DOCKER_QGIS_IMAGE_BUILD_PUSH =~ false ]]; then
+  docker-compose --version
+  docker-compose -f $DOCKER_COMPOSE config
+fi
+
 docker pull "qgis/qgis3-build-deps:${DOCKER_TAG}" || true
 if [[ $DOCKER_DEPS_IMAGE_REBUILD =~ true ]]; then
   docker build --no-cache -t "qgis/qgis3-build-deps:${DOCKER_TAG}" .
 else
-  docker build --cache-from "qgis/qgis3-build-deps:${DOCKER_TAG}" -t "qgis/qgis3-build-deps:${DOCKER_TAG}" .
+  docker build --cache-from "qgis/qgis3-build-deps:${DOCKER_TAG}" -t "qgis/qgis3-build-deps:${DOCKER_TAG}" -f qgis3-build-deps.dockerfile .
 fi
-echo "travis_fold:end:docker"
+echo "travis_fold:end:docker_build"
+
+echo "travis_fold:start:docker_push"
+echo "${bold}Docker push deps${endbold}"
 # image should be pushed even if QGIS build fails
 # but push is achieved only on branches (not for PRs)
-if [[ $DOCKER_PUSH =~ true ]]; then
+if [[ $DOCKER_DEPS_PUSH =~ true ]]; then
+  echo "push to qgis/qgis3-build-deps:${DOCKER_TAG}"
   docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
   #docker tag "qgis/qgis3-build-deps:${DOCKER_TAG}" "qgis/qgis3-build-deps:latest"
   docker push "qgis/qgis3-build-deps:${DOCKER_TAG}"
 fi
+echo "travis_fold:end:docker_push"
 
 popd
diff --git a/.ci/travis/linux/docker-build-test.sh b/.ci/travis/linux/docker-build-test.sh
index abdae71..761810d 100755
--- a/.ci/travis/linux/docker-build-test.sh
+++ b/.ci/travis/linux/docker-build-test.sh
@@ -39,6 +39,7 @@ echo "travis_fold:start:cmake"
 echo "${bold}Running cmake...${endbold}"
 cmake \
  -GNinja \
+ -DWITH_3D=ON \
  -DWITH_STAGED_PLUGINS=ON \
  -DWITH_GRASS=OFF \
  -DSUPPRESS_QT_WARNINGS=ON \
@@ -58,11 +59,31 @@ echo "travis_fold:end:cmake"
 #######
 # Build
 #######
+# Calculate the timeout for building.
+# The tests should be aborted before travis times out, in order to allow uploading
+# the ccache and therefore speedup subsequent e builds.
+#
+# Travis will kill the job after approx 90 minutes, we subtract 8 minutes for
+# uploading and subtract the bootstrapping time from that.
+# Hopefully clocks are in sync :)
+TRAVIS_TIME=90
+UPLOAD_TIME=8
+CURRENT_TIME=`date +%s`
+TIMEOUT=$(expr \( ${TRAVIS_TIME} - ${UPLOAD_TIME} \) \* 60 - ${CURRENT_TIME} + ${TRAVIS_TIMESTAMP})
+TIMEOUT=$(( ${TIMEOUT} < 300 ? 300 : ${TIMEOUT} ))
+echo "Timeout: ${TIMEOUT}s (started at ${TRAVIS_TIMESTAMP}, current: ${CURRENT_TIME})"
+
 # echo "travis_fold:start:ninja-build.1"
 echo "${bold}Building QGIS...${endbold}"
-${CTEST_BUILD_COMMAND}
+timeout ${TIMEOUT}s ${CTEST_BUILD_COMMAND}
 # echo "travis_fold:end:ninja-build.1"
 
+rv=$?
+if [ $rv -eq 124 ] ; then
+    printf '\n\n${bold}Build and test timeout. Please restart the build for meaningful results.${endbold}\n'
+    exit #$rv
+fi
+
 # Temporarily uncomment to debug ccache issues
 # echo "travis_fold:start:ccache-debug"
 # cat /tmp/cache.debug
diff --git a/.ci/travis/linux/script.sh b/.ci/travis/linux/script.sh
index 1c07480..f9ce9cd 100755
--- a/.ci/travis/linux/script.sh
+++ b/.ci/travis/linux/script.sh
@@ -15,8 +15,25 @@
 
 set -e
 
-DIR=$(git rev-parse --show-toplevel)/.docker
+source $(git rev-parse --show-toplevel)/.ci/travis/scripts/travis_envvar_helper.sh
+
+DOCKER_QGIS_IMAGE_BUILD_PUSH=$(create_qgis_image)
 
 mkdir -p $CCACHE_DIR
 
-docker-compose -f $DOCKER_COMPOSE run --rm qgis-deps
+if [[ $DOCKER_QGIS_IMAGE_BUILD_PUSH =~ true ]]; then
+  DIR=$(git rev-parse --show-toplevel)/.docker
+  pushd ${DIR}
+  echo "${bold}Building QGIS Docker image '${DOCKER_TAG}'...${endbold}"
+  docker build --build-arg CACHE_DIR=/root/.ccache \
+               --build-arg DOCKER_TAG=${DOCKER_TAG} \
+               --cache-from "qgis/qgis:${DOCKER_TAG}" \
+               -t "qgis/qgis:${DOCKER_TAG}" \
+               -f qgis.dockerfile ..
+  echo "${bold}Pushing image to docker hub...${endbold}"
+  docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
+  docker push "qgis/qgis:${DOCKER_TAG}"
+  popd
+else
+  docker-compose -f $DOCKER_COMPOSE run --rm qgis-deps
+fi
diff --git a/.ci/travis/scripts/ctest2travis.py b/.ci/travis/scripts/ctest2travis.py
index 455f1ed..4598659 100755
--- a/.ci/travis/scripts/ctest2travis.py
+++ b/.ci/travis/scripts/ctest2travis.py
@@ -22,7 +22,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = 'March 2017'
 __copyright__ = '(C) 2017, Matthias Kuhn'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 # This script parses output from ctest and injects
 #
diff --git a/.ci/travis/scripts/travis_envvar_helper.sh b/.ci/travis/scripts/travis_envvar_helper.sh
new file mode 100644
index 0000000..68396d1
--- /dev/null
+++ b/.ci/travis/scripts/travis_envvar_helper.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+create_qgis_image () {
+
+if [[ ! $TRAVIS_REPO_SLUG =~ qgis/QGIS ]]; then
+  echo false
+  return
+fi
+if [[ $TRAVIS_EVENT_TYPE =~ cron ]] || [[ -n $TRAVIS_TAG ]]; then
+  echo true
+  return
+fi
+echo false
+}
diff --git a/.docker/Dockerfile-build-test b/.docker/Dockerfile-build-test
deleted file mode 100644
index 39480b4..0000000
--- a/.docker/Dockerfile-build-test
+++ /dev/null
@@ -1,10 +0,0 @@
-
-ARG DOCKER_TAG=latest
-
-FROM      qgis/qgis3-build-deps:$DOCKER_TAG
-MAINTAINER Denis Rouzaud <denis.rouzaud at gmail.com>
-
-RUN ls /root/.ccache
-
-RUN echo "DDDD"
-RUN /root/QGIS/.ci/travis/linux/docker-build-test.sh
diff --git a/.docker/docker-compose.travis.yml b/.docker/docker-compose.travis.yml
index cd94a0c..4a8207e 100644
--- a/.docker/docker-compose.travis.yml
+++ b/.docker/docker-compose.travis.yml
@@ -23,6 +23,6 @@ services:
       - TRAVIS_OS_NAME=${TRAVIS_OS_NAME}
       - TRAVIS_CONFIG=${TRAVIS_CONFIG}
       - TRAVIS=${TRAVIS}
+      - TRAVIS_TIMESTAMP=${TRAVIS_TIMESTAMP}
       - QGIS_DISABLE_MESSAGE_HOOKS=1
       - QGIS_NO_OVERRIDE_IMPORT=1
-
diff --git a/.docker/qgis.dockerfile b/.docker/qgis.dockerfile
new file mode 100644
index 0000000..6dc09d8
--- /dev/null
+++ b/.docker/qgis.dockerfile
@@ -0,0 +1,46 @@
+
+# CACHE_TAG is provided by Docker cloud
+# see https://docs.docker.com/docker-cloud/builds/advanced/
+# using ARG in FROM requires min v17.05.0-ce
+ARG DOCKER_TAG=latest
+ARG CACHE_DIR
+
+FROM  qgis/qgis3-build-deps:${DOCKER_TAG}
+MAINTAINER Denis Rouzaud <denis at opengis.ch>
+
+ENV CC=/usr/lib/ccache/clang
+ENV CXX=/usr/lib/ccache/clang++
+ENV QT_SELECT=5
+ENV LANG=C.UTF-8
+
+COPY . /usr/src/QGIS
+
+COPY ${CACHE_DIR} /root/.ccache
+ENV CCACHE_DIR=/root/.ccache
+RUN ccache -M 1G
+
+WORKDIR /usr/src/QGIS/build
+
+RUN cmake \
+  -GNinja \
+  -DCMAKE_BUILD_TYPE=Release \
+  -DCMAKE_INSTALL_PREFIX=/usr \
+  -DWITH_DESKTOP=OFF \
+  -DWITH_SERVER=ON \
+  -DWITH_3D=ON \
+  -DWITH_BINDINGS=ON \
+  -DBINDINGS_GLOBAL_INSTALL=ON \
+  -DWITH_STAGED_PLUGINS=ON \
+  -DWITH_GRASS=ON \
+  -DSUPPRESS_QT_WARNINGS=ON \
+  -DDISABLE_DEPRECATED=ON \
+  -DENABLE_TESTS=OFF \
+  -DWITH_QSPATIALITE=ON \
+  -DWITH_QWTPOLAR=OFF \
+  -DWITH_APIDOC=OFF \
+  -DWITH_ASTYLE=OFF \
+ .. \
+ && ninja install \
+ && rm -rf /usr/src/QGIS
+
+WORKDIR /
diff --git a/.docker/Dockerfile b/.docker/qgis3-build-deps.dockerfile
similarity index 77%
rename from .docker/Dockerfile
rename to .docker/qgis3-build-deps.dockerfile
index 9cb3373..a620f72 100644
--- a/.docker/Dockerfile
+++ b/.docker/qgis3-build-deps.dockerfile
@@ -1,18 +1,21 @@
-FROM      ubuntu:16.04
-MAINTAINER Denis Rouzaud <denis.rouzaud at gmail.com>
+FROM      ubuntu:18.04
+MAINTAINER Denis Rouzaud <denis at opengis.ch>
 
 LABEL Description="Docker container with QGIS dependencies" Vendor="QGIS.org" Version="1.0"
 
+# && echo "deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu xenial main" >> /etc/apt/sources.list \
+# && echo "deb-src http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu xenial main" >> /etc/apt/sources.list \
+# && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 314DF160 \
+
 RUN  apt-get update \
   && apt-get install -y software-properties-common \
-  && add-apt-repository ppa:ubuntugis/ubuntugis-unstable \
   && apt-get update \
   && apt-get install -y \
     bison \
     ca-certificates \
     ccache \
     clang \
-    # cmake \
+    cmake \
     curl \
     dh-python \
     flex \
@@ -29,6 +32,7 @@ RUN  apt-get update \
     libproj-dev \
     libqca-qt5-2-dev \
     libqca-qt5-2-plugins \
+    libqt53drender5 \
     libqt5opengl5-dev \
     libqt5scintilla2-dev \
     libqt5sql5-sqlite \
@@ -66,6 +70,11 @@ RUN  apt-get update \
     python3-sip-dev \
     python3-termcolor \
     python3-yaml \
+    qt3d5-dev \
+    qt3d-assimpsceneimport-plugin \
+    qt3d-defaultgeometryloader-plugin \
+    qt3d-gltfsceneio-plugin \
+    qt3d-scene2d-plugin \
     qt5keychain-dev \
     qtbase5-dev \
     qtpositioning5-dev \
@@ -88,10 +97,7 @@ RUN  apt-get update \
     future \
     termcolor \
   && apt-get autoremove -y python3-pip python2.7 \
-  && apt-get clean \
-  && curl -s -S -O https://cmake.org/files/v3.10/cmake-3.10.1-Linux-x86_64.tar.gz \
-  && tar --strip-components=1 -zx -f cmake-3.10.1-Linux-x86_64.tar.gz -C /usr/local \
-  && rm cmake-3.10.1-Linux-x86_64.tar.gz
+  && apt-get clean
 
 RUN echo "alias python=python3" >> ~/.bash_aliases
 
diff --git a/.travis.yml b/.travis.yml
index 0a9184e..5b8b4ea 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,9 +8,9 @@ matrix:
       env:
         - TRAVIS_CONFIG=linux
         - DOCKER_COMPOSE=${TRAVIS_BUILD_DIR}/.docker/docker-compose.travis.yml
+        # TRAVIS_BRANCH is either the git tag or the branch name when no tag
         - DOCKER_TAG=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && echo $TRAVIS_BRANCH | sed 's/master/latest/' || echo "latest" )
-        - DOCKER_PUSH=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && [[ $TRAVIS_PULL_REQUEST =~ false ]] && echo "true" || echo "false" )
-        - DOCKER_DEPS_IMAGE_REBUILD=$( [[ $TRAVIS_COMMIT_MESSAGE =~ '[docker] update dependencies' ]] && echo "true" || echo "false" )
+        - TRAVIS_TIMESTAMP=$(date +%s)
         - CCACHE_DIR=${HOME}/.ccache
       dist: trusty
       sudo: false
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 80ef392..74d0de4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
 SET(CPACK_PACKAGE_VERSION_MAJOR "3")
 SET(CPACK_PACKAGE_VERSION_MINOR "0")
-SET(CPACK_PACKAGE_VERSION_PATCH "0")
+SET(CPACK_PACKAGE_VERSION_PATCH "1")
 SET(COMPLETE_VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH})
 SET(RELEASE_NAME "Girona")
 IF (POLICY CMP0048) # in CMake 3.0.0+
diff --git a/ChangeLog b/ChangeLog
index 4768d6f..697bb18 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1086 @@
+Juergen E. Fischer <jef at norbit.de>	2018-03-23
+
+    german translation update
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-22
+
+    Fix crash in attribute form after adding field
+
+    Fixes #18507
+
+    (cherry-picked from c8f5979)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-22
+
+    Fix some HIG string violations
+
+    (cherry-picked from 9c06d86)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-22
+
+    Fix generation of world file when exporting canvas
+
+    Fixes #18491
+
+    (cherry-picked from a2ba566)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-22
+
+    [layouts][needs-docs] Add missing tool actions to Edit menu
+
+    Fixes #18494
+
+    (cherry-picked from 8a5924d)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-22
+
+    [layouts] Add missing tooltips to toolbars
+
+    Fixes #18495
+
+    (cherry-picked from 5e52d5)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-22
+
+    [layouts] Fix Toolbox toolbar name
+
+    Refs #18494
+
+    (cherry-picked from 7942f7)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-22
+
+    Fix qt warning about widget already has a layout
+
+    (cherry-picked from bbebcb4)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-21
+
+    Followup e90ac56b
+
+    Fix warnings, missing Q_OBJECT macro
+
+    (cherry-picked from 2be125)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-21
+
+    Fix incorrect display of coordinates in status bar
+
+    (cherry-picked from 66c8a85)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-21
+
+    [processing][gdal] Move method to write input files to text file to GdalUtils
+
+    (cherry-picked from 49d585)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-21
+
+    [processing][gdal] Skip expensive parameter validation when just showing command in dialog
+
+    (cherry-picked from 044470d)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-21
+
+    [processing][gdal] Fix parsing of creation options
+
+    Creation options must be specified one at a time - the
+    current approach causes them to be specified once embedded
+    in quotation marks, which is not valid input for gdal
+
+    (cherry-picked from 00bb177)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-21
+
+    [processing][gdal] Expose no data options for gdal merge algorithm
+
+    (cherry-picked from b17feaa)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-21
+
+    [processing][gdal] Use a text file for input file list to gdal_merge
+
+    Otherwise command fails when attempting to merge many rasters due
+    to length of command line. Now the algorithm uses the same approach
+    as buildvrt and creates a text file containing the names of the
+    rasters and then passes this to the gdal_merge command
+
+    Fixes gdal merge algorithm fails with many input files
+
+    (cherry-picked from 1d8ecaf)
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-03-21
+
+    [travis] add section title
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-03-21
+
+    fix docker variables in Travis (take 2)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-21
+
+    [processing] Fix intersect always selected in Join by Location in modeler
+
+    Fixes #18489
+
+    (cherry-picked from e0255b3)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-21
+
+    [processing] Avoid grass 'duplicate parameter' warning
+
+    (cherry-picked from 5436ce9)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-21
+
+    [processing] Fix duplicate output parameters for some algs
+
+    Fixes #18490
+
+    (cherry-picked from ed7aa29)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-21
+
+    [processing] Don't try to load algorithms for disabled providers
+
+    Fixes #18488
+
+    (cherry-picked from 9ab4d963)
+
+rldhont <rldhont at gmail.com>	2018-03-20
+
+    [BUGFIX][Server] WFS GeoJSON: QGIS Server 2.18 much slower than 2.14
+
+    Fixed #18249
+
+    The JsonExporter was generated for each feature exported to GeoJSON.
+
+Merge: 7d2c89762c b827e08a0c
+Sandro Mani <manisandro at gmail.com>	2018-03-20
+
+    Merge pull request #6645 from manisandro/pluginlayer_30
+
+    [3.0 backport] Add a minimal data provider for plugin layers
+
+Sandro Mani <manisandro at gmail.com>	2018-03-20
+
+    Add a minimal data provider for plugin layers
+
+    Throughout the codebase, there is a general assumption that layer->dataProvider() is not null. This wasn't the case for plugin layers.
+
+Merge: 51cba99e95 274df2bda3
+Alessandro Pasotti <elpaso at itopen.it>	2018-03-19
+
+    Merge pull request #6640 from elpaso/wfs-fix-getfeature-featureid-endless-loop-3-0
+
+    Wfs fix getfeature featureid endless loop 3 0
+
+rldhont <rldhont at gmail.com>	2018-03-19
+
+    [BUGFIX][Server] DescribeFeature does not clean attribute name and GetFeature update
+
+Alessandro Pasotti <elpaso at itopen.it>	2018-03-19
+
+    Reference file for the WFS endless loop test
+
+Alessandro Pasotti <elpaso at itopen.it>	2018-03-19
+
+    [test] for WFS Fix endless loop
+
+    Greetings from Bonn!
+
+Alessandro Pasotti <elpaso at itopen.it>	2018-03-19
+
+    [bugfix][server][wfs] Fix endless loop in getfeature
+
+    ... when using featureid
+
+Alexander Bruy <alexander.bruy at gmail.com>	2018-03-19
+
+    [processing] correctly handle inactive providers in the modeler (fix #18461)
+
+    (cherry picked from commit 092557b16a0186cef6850a9d4ec38c9308725c1f)
+
+nirvn <nirvn.asia at gmail.com>	2018-03-15
+
+    [raster] skip non finite values when computing band min/max statistics
+
+    (cherry-picked from 10044fb)
+
+Salvatore Larosa <lrssvtml at gmail.com>	2018-03-18
+
+    hide clear icon for QgsFilterLineEdit at first instantiation
+
+    (cherry-picked from 57e1982)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-19
+
+    [processing] Fix Concave Hull algorithm, add tests
+
+    Fixes #18475
+
+    (cherry-picked from 732c526)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-19
+
+    [processing] Fix newlines are stripped from Python traces in log
+
+    (cherry-picked from 26bdd92)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-19
+
+    Fix missing '(copy)' suffix on names of newly duplicated layers
+
+    (cherry-picked from 20d9427)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-16
+
+    Fix some inconsistent capitalization
+
+    (cherry-picked from dc0da6f)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-16
+
+    Fix crash in Select by Radius
+
+    If a radius value is entered immediately after clicking with the
+    tool (before any mouse movement), it would trigger a crash
+
+    (cherry-picked from 9e01a04)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-16
+
+    [processing] Fix Points to Paths terminates when an order by
+    field is empty
+
+    (cherry-picked from 87e8432)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-13
+
+    [ogr] Fix ref/unref mismatch when loading OGR layers
+
+    Causes an extra connection reference which is never removed,
+    blocking ogr dataset closing.
+
+    Fixes #18420, probably others
+
+    (cherry-picked from f3b5838)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-15
+
+    Revert 5b9be7a
+
+    Since the attribute table dialog object name is set to match
+    the layer/featureid combo, this commit was causing the attribute
+    form dialog to remember its position and size for each
+    feature/layer combo individually.
+
+    That's NOT what we want!
+
+    Fixes #18426
+
+    (cherry-picked from bf12404)
+
+Merge: 40626cad7a b8c4dfd105
+Werner Macho <werner.macho at gmail.com>	2018-03-15
+
+    Merge pull request #6613 from cdavila/release-3_0
+
+    [tr] spanish translation update
+
+cdavila <cdavilam at orangecorreo.es>	2018-03-15
+
+    [tr] spanish translation update
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-09
+
+    [layouts] Fix reference map can change when opening a layout designer
+
+    (cherry-picked from 6b5dfce)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-05
+
+    [layouts] Fix missing call to base class method
+
+    (cherry-picked from c562a2)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-11
+
+    Fix leak in network analysis director
+
+    (cherry-picked from 540d692)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-11
+
+    Fix leak in QgsRelief
+
+    (cherry-picked from 3315db0f)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-11
+
+    Fix leak when writing features with null geometry to vector layers
+
+    (cherry-picked from eb4951)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-11
+
+    Fix leak in virtual layers
+
+    (cherry-picked from 30749ef8)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-12
+
+    Use some constants for search box highlighting styles
+
+    (cherry-picked from 31a92543)
+
+Régis Haubourg <regis.haubourg at oslandia.com>	2018-02-22
+
+    Improves background color for search result in general option dialog
+    fixes 18142 by a lighter yellow background and keeping a black font
+
+    (cherry-picked from 5efa7bb)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-12
+
+    Fix leak when splitting geometries
+
+    (cherry-picked from 0d99d31)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-12
+
+    Fix leak when a transform error occurs while transforming linestrings
+
+    (cherry-picked from 4af5ff5)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-12
+
+    Fix some leaks in conversions
+
+    (cherry-picked from 273e664)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-13
+
+    [gdal] ifdef out some workarounds not required in gdal >= 2.3
+
+    (cherry-picked from 6f01d30)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-12
+
+    Correctly show ers files in browser
+
+    Workaround missing metadata in gdal driver
+
+    (cherry-picked from f95d616)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-14
+
+    [processing] Fix algorithm progress bar resets to 0 when an algorithm
+    reports a non-fatal error
+
+    Fixes the "flashy" progress bar when an algorithm encounters a lot
+    of errors.
+
+    (cherry-picked from 654a4a4)
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-03-13
+
+    [docker] create images for final releases (#6594)
+
+    * [docker] create images for final releases
+
+    based on git tags
+
+    * fix script
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-03-12
+
+    fix date time NULL handling (#6591)
+
+    * fix #18299 date time widget does not correctly set value from calendar
+
+    the use of QStyle::subControlRect was returning only the rect of the arrows and not of the whole clickable area. QStyle::hitTestComplexControl has been used instead
+
+    * correctly emit NULL and not empty string for date/time widget for string fields
+
+    * finer tuning of style options
+
+Loïc Bartoletti <l.bartoletti at free.fr>	2018-02-23
+
+    Add missing make_triangle function help. Fix #16406
+
+Juergen E. Fischer <jef at norbit.de>	2018-03-11
+
+    debian packaging: add buster
+
+    (cherry picked from commit d88da33e9b7aadb4d372b4d62fecef2197ed69f4)
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-03-11
+
+    fix build without python (#6578)
+
+    and do not delete object with incomplete type
+    better fix for warning adressed in PR #6491
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-03-10
+
+    [QgsFilterLineEdit] disable clear action when read only
+
+Juergen E. Fischer <jef at norbit.de>	2018-03-10
+
+    german translation update
+
+Juergen E. Fischer <jef at norbit.de>	2018-03-10
+
+    more translation string fixes
+
+    (cherry picked from commit e1ad1cb47376546d3500004c72c542291a789da5)
+
+Borys Jurgiel <info at borysjurgiel.pl>	2018-03-09
+
+    [tr] Polish translation update (follow up a975677a9: revert accidentally removed trailing spaces)
+
+Borys Jurgiel <info at borysjurgiel.pl>	2018-03-09
+
+    [tr] Polish translation update
+
+Juergen E. Fischer <jef at norbit.de>	2018-03-09
+
+    processing: make error messages moved to message bar translatable again (followup 6e2288dcc)
+
+    (cherry picked from commit ad4d0a17d5e5f3a69933077876ec1f75fe6b5d4d)
+
+Alexis Polti <alexis.polti at telecom-paristech.fr>	2018-02-22
+
+    Fix project path when path contains a symbolic link
+
+    (cherry-picked from 5b2c81)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-09
+
+    Fix Project Home browser item doesn't show on first save
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-07
+
+    Less debug noise when rendering svg files
+
+    (cherry-picked from 2bc30c7)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-08
+
+    Add extra hash to processing hillshade test
+
+    At this stage the raster processing tests just test that the
+    algorithm executes, and generates an output file - there's
+    no way to validate that the provided hashes are valid
+    outputs or not
+
+    (cherry-picked from 5710709)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-07
+
+    Update test mask image
+
+    (cherry-picked from 00802e5c)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-07
+
+    Correctly respect antialias setting for marker fill symbol layers
+
+    (cherry-picked from 393e15b)
+
+Salvatore Larosa <lrssvtml at gmail.com>	2018-02-24
+
+    [processing] Fixes #18187: SAGA output extent values are not in the right order
+
+    cherry-picked from 332c8a59b9214582ed6faab6a501a6583e7f57cb
+
+Salvatore Larosa <lrssvtml at gmail.com>	2018-02-28
+
+    [processing] fixes missing icon for create grid algorithm
+
+    cherry-picked from 5fda4025f4f7fb98240efc275c1bce491374dd67
+
+Salvatore Larosa <lrssvtml at gmail.com>	2018-03-06
+
+    fix spacing between label and icon in widget layer properties
+
+    cherry-picked from 9edaf82874e71d34ed3c09e0b12d202e098f03d4
+
+Salvatore Larosa <lrssvtml at gmail.com>	2018-03-07
+
+    Fixes #18375 - fix API break
+
+    cherry-picked from 29f6884a23c31357db30575437951278ad2d8f9c
+
+Alessandro Pasotti <elpaso at itopen.it>	2018-03-06
+
+    Don't crash when loading a project with unreachable wfs layers
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-03-06
+
+    Revert "allow to save a Docker deps image for PR having [dockerdeps] in their title"
+
+    This reverts commit 4c4036aea577fedde379fde2f308d1e088f33772.
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-03-06
+
+    Revert "add secure env var for docker login in Travis yml file"
+
+    This reverts commit 350218d0b4f964fec1484fd20e3bbac0498d92a7.
+
+Merge: 350218d0b4 6108ed8470
+Sandro Mani <manisandro at gmail.com>	2018-03-06
+
+    Merge pull request #6544 from manisandro/wms_filter_geom_crs_30
+
+    Ensure FILTER_GEOM is transformed to layer CRS in GetFeatureInfo
+
+Sandro Mani <manisandro at gmail.com>	2018-03-05
+
+    Ensure FILTER_GEOM is transformed to layer CRS in GetFeatureInfo
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-03-02
+
+    add secure env var for docker login in Travis yml file
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-03-02
+
+    allow to save a Docker deps image for PR having [dockerdeps] in their title
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-06
+
+    Fix adding parts to curved polygon types fails
+
+    (cherry-picked from 93f805c)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-06
+
+    [layouts] Correctly set project dirty for more editing operations
+
+    (cherry-picked from 51286d9)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-02
+
+    Fix raster calc dialog uses an open file dialog instead of save dialog
+
+    Fixes #18303
+
+    (cherry-picked from b5d9e7)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-02
+
+    [layouts] Fix missing map name in map item properties dialog
+
+    Fixes #18288
+
+    (cherry-picked from 2238b42)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-27
+
+    Catch a possible exception in QgsGeometry::makeValid
+
+    (cherry-picked from b61882f)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-27
+
+    [pal] Use QgsGeometry::makeValid instead of buffer(0) to repair geometries
+
+    Possibly refs #14752
+
+    (cherry-picked from e05a5a9)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-27
+
+    Fix leak when converting 2.x compositions
+
+    (cherry-picked from 70242a)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-27
+
+    Fix missing transform context warnings on status bar coordinate display
+
+    (cherry-picked from 55814b8)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-27
+
+    Prevent status bar coordinate widget from shrinking too small
+
+    (cherry-picked from 0823de0)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-03
+
+    [3d] Add a title to 3d config window
+
+    Fixes #18281
+
+    (cherry-picked from 0a6024b)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-05
+
+    Docs++
+
+    (cherry-picked from d79221f)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-03
+
+    [processing] Fix invalid filenames are used for temporary files
+    during models
+
+    Fixes #18263
+
+    (cherry-picked from 84cdd6)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-03
+
+    Use a better regex for removing invalid characters from filenames
+
+    Fixes atlas exports remove international characters from filenames
+
+    Fixes #18291
+
+    (cherry-picked from 8543a9)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-05
+
+    Add unit test for #18283
+
+    (cherry-picked from 7cf409e)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-02
+
+    [pal] Fix invalid candidates created for parallel line labeling
+    mode when a closed linestring is too small for labels to fit
+    within feature
+
+    Fixes #18283
+
+    (cherry-picked from a76fb0b)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-05
+
+    Strip non-spatial and nullptrs from list when calling
+    QgsMapSettings::setLayers
+
+    Since neither can be rendered, we filter them from the list
+    of layers to be rendered in the map.
+
+    (cherry-picked from 5b8599e)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-02
+
+    Ensure that non-spatial layers are never set as canvas layers
+
+    (cherry-picked from 8e4b8a)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-04
+
+    Don't try to render non-finite points
+
+    They occur as a result of reprojection errors, and cause a line
+    to be extend to the top-left of the canvas.
+
+    Fixes #9392
+
+    (cherry-picked from 454cce89)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-02
+
+    [oracle] Fix provider
+
+    The oracle provider is quite broken on 3.0 for tables which require
+    a feature id map.
+
+    This is due to QMap<QVariant,..> not working correctly when the
+    keys are QVariantLists on Qt5. We had a similar issue with the
+    postgres provider which was resolved by changing the map
+    to always use QVariantLists.
+
+    Apply the same fix to oracle.
+
+    Fixes #18289, #16869, #17738
+
+    (cherry-picked from 7ffc148)
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-03-02
+
+    fix sipify test
+
+Merge: 26d4288b39 e11a17d619
+Alexander Bruy <alexander.bruy at gmail.com>	2018-03-02
+
+    Merge pull request #6511 from alexbruy/processing-backport
+
+    [processing] backport outputs creation for file destination parameters
+
+Alexander Bruy <alexander.bruy at gmail.com>	2018-03-02
+
+    [processing] add tests for creating outputs from FileDestination
+    parameter
+
+    (cherry picked from commit a2179046e83a568a07e7ebb851c8490e498141dc)
+
+Alexander Bruy <alexander.bruy at gmail.com>	2018-03-02
+
+    [processing] fix condition and use more generic "htm" constant for
+    filter testing
+
+    (cherry picked from commit 6f38a5037de30ae4dacf9beb41e269108fb71776)
+
+Alexander Bruy <alexander.bruy at gmail.com>	2018-03-01
+
+    [processing] remove explicit outputs definitions
+
+    (cherry picked from commit 22fea14a17af48e13067bbce6efcc180124e7493)
+
+Alexander Bruy <alexander.bruy at gmail.com>	2018-03-01
+
+    [processing] determive correct output type based on the
+    QgsProcessingParameterFileDestination filter
+
+    (cherry picked from commit 73a8b80e59bb2ca5fcca92aedca970e6f2db3028)
+
+Alexander Bruy <alexander.bruy at gmail.com>	2018-02-28
+
+    [processing] implement toOutputDefinition() method for
+    QgsProcessingParameterFileDestination
+
+    (cherry picked from commit 705ffced633fa6d55ac21709e41ff3c55e004c83)
+
+Alexander Bruy <alexander.bruy at gmail.com>	2018-03-01
+
+    add spacer to the Source tab of the Layer properties window (fix #18279)
+
+    (cherry picked from commit f9ac1ff0f30c63af36adbaac88a8e9e4d1652329)
+
+Radim Blazek <radim.blazek at gmail.com>	2018-02-26
+
+    [GRASS] fixed icons in browser
+
+    (cherry-picked from d9deb238)
+
+Salvatore Larosa <lrssvtml at gmail.com>	2018-02-28
+
+    [dbmanager] fix toolbar icon size
+
+    (cherry-picked from a34b46bc)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-01
+
+    [labeling] Fix broken data defined shape radius setting
+
+    (cherry-picked from 2345852)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-01
+
+    [processing] Fix 'selected features' checkbox is incorrectly disabled
+
+    Fixes #18278
+
+    (cherry-picked from 4e182be4)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-01
+
+    Add unit tests for categorized renderer unchecked symbols
+
+    (cherry-picked from 7459539)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-01
+
+    Fix crash when using the identify tool on a categorized render
+    with an unchecked category corresponding to the feature at the
+    clicked point
+
+    Also fix count of default category symbols
+
+    (cherry-picked from 0acdcfa)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-01
+
+    [layouts] Fix legends do not respect reference point when auto sizing
+
+    Fixes #18269
+
+    (cherry-picked from 0f93e55)
+
+Alexander Bruy <alexander.bruy at gmail.com>	2018-03-01
+
+    [processing] fix typo (fix #18248)
+
+    (cherry picked from commit 88734647ced9cb91b2000e98767d61fd4547d96c)
+
+Merge: 06181e6c10 bf224acebd
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-01
+
+    Merge pull request #6492 from nyalldawson/template_converter
+
+    [backport] Automatic conversion of 2.x composition templates to 3.0
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-03-01
+
+    Update test masks
+
+Alessandro Pasotti <elpaso at itopen.it>	2018-02-26
+
+    Update mask images
+
+    (cherry-picked from 5fbcb8e)
+
+Alessandro Pasotti <elpaso at itopen.it>	2018-02-26
+
+    [layout] Automatic conversion of 2.x composition templates to layouts
+
+    (cherry-picked from 3bdb6c2)
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-02-28
+
+    Timeout Travis builds to save cache in time (#6488)
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-02-28
+
+    bump Qt to 5.9 (#6482)
+
+    * Update test masks
+
+    * update test masks
+
+    * fix bad regex in parse_dash_results
+
+    * update test masks
+
+    * [Travis] bump Qt to 5.9  (#6355)
+
+    * bump Qt to 5.9 and SIP to 4.19.7 by using coming Bionic as base Docker image for dependencies
+    * automatically build QGIS Docker image on cron jobs
+
+    * update test mask
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-27
+
+    Fix bad string
+
+    (cherry-picked from 967254)
+
+Harrissou Sant-anna <delazj at gmail.com>	2018-02-26
+
+    Add more information to modeless option
+
+    fix #18152
+
+    (cherry-picked from 1090312c64)
+
+Harrissou Sant-anna <delazj at gmail.com>	2018-02-26
+
+    Fix list of algorithms shortcut in vector and raster menus
+
+    Fix #18175
+
+    (cherry-picked from 4c32a01)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-27
+
+    [processing] Fix restoring parameter values from batch panel load button
+
+    Fixes #18236
+
+    (cherry-picked from 81d536)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-27
+
+    [processing] Fix exception when parameters are missing in batch dialog
+
+    Refs #18236
+
+    (cherry-picked from 6e44a27)
+
+Even Rouault <even.rouault at spatialys.com>	2018-02-26
+
+    WFS provider: handle gmgml:Point_MultiPointPropertyType (fixes #18169)
+
+Denis Rouzaud <denis.rouzaud at gmail.com>	2018-02-25
+
+    rename QgsSettings::enumSettingValue to enumValue
+
+    no python API break
+
+Alexander Bruy <alexander.bruy at gmail.com>	2018-02-26
+
+    [processing] add icons to SAGA algorithms (fix #18211)
+
+    (cherry picked from commit 4777abb48e5e2aa647b9750f7e015d32574ca97e)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-26
+
+    Fix leak in postgres provider loadStyle
+
+    (cherry-picked from b92079)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-26
+
+    Fix memory leak in QgsPostgresProvider::createEmptyLayer
+
+    (cherry-picked from 8ce519)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-26
+
+    Fix intermittently failing postgres provider test
+
+    Provider can crash if features do not have enough attributes
+    set to match fields in layer.
+
+    (cherry-picked from fb3e1c3)
+
+Alexander Bruy <alexander.bruy at gmail.com>	2018-02-25
+
+    [processing][help] use new anchor style also for modeler
+
+    (cherry picked from commit a54192cb72cf01ad7e3ac7931370c91fa09f9123)
+
+Alexander Bruy <alexander.bruy at gmail.com>	2018-02-24
+
+    [processing][help] use helpId() when constructing anchor name (follow up 598b8a9c)
+
+    (cherry picked from commit 725f36064c9b227a48e29dac91512d796bb3c7b4)
+
+Alexander Bruy <alexander.bruy at gmail.com>	2018-02-24
+
+    [processing][help] use algorithm id as an anchor for help pages
+
+    (cherry picked from commit 598b8a9c41e3788962778039adcc30f2912d822f)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-26
+
+    Fix string capitalization
+
+    (cherry-picked from e1a344)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-26
+
+    [processing] Fix grass point parameter evaluation
+
+    (cherry-picked from 44896c)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-26
+
+    [processing] Allow empty expressions in refactor fields alg
+
+    Fixes #15640
+
+    (cherry-picked from cc10bbd)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-26
+
+    [processing] Fix crash when algorithms fail to prepare
+
+    Refs #15640
+
+    (cherry-picked from 2900ace)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-05
+
+    Fix missing user color schemes on startup
+
+    (cherry-picked from 7dc0db)
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-26
+
+    Respect image orientation and transforms in attachment widget
+
+    Fixes #16139
+
+    (cherry-picked from 574a65)
+
+Juergen E. Fischer <jef at norbit.de>	2018-02-25
+
+    osgeo4w: fix desktop link
+
+Merge: 001c80b0c3 b768e6d28c
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-25
+
+    Merge pull request #6447 from nyalldawson/backport_action
+
+    Backport action API tweaks to 3.0
+
+Juergen E. Fischer <jef at norbit.de>	2018-02-25
+
+    osgeo4w: fix grass plugin postinstall
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-25
+
+    Sipify and astyle
+
+Nyall Dawson <nyall.dawson at gmail.com>	2018-02-24
+
+    Follow up map layer action changes
+
+    - Switch to flags instead of boolean argument
+    - Move logic for layer validity to canRunUsingLayer
+    - Add unit test
+
+    Also remove settings flag to hide duplicate features action
+
+David <david at opengis.ch>	2018-02-23
+
+    skip enabledOnlyWhenEditable from pyhton bindings
+
+    in the construtors of QgsAction and QgsMapLayerAction
+
+David <david at opengis.ch>	2018-02-23
+
+    document parameters
+
+David <david at opengis.ch>	2018-02-23
+
+    intagrated enumvalue IdentifyMode
+
+    used like SingleEditMode here
+
+David <david at opengis.ch>	2018-02-23
+
+    style stuff
+
+David <david at opengis.ch>	2018-02-23
+
+    hide instead of disable
+
+    and use mode for identify - not to show the actions with isEnabledOnlyWhenEditable is active
+
+David <david at opengis.ch>	2018-02-23
+
+    resolved conflicts
+
+David <david at opengis.ch>	2018-02-22
+
+    disable or do not display maplayeractions
+
+    in some cases
+
+Juergen E. Fischer <jef at norbit.de>	2018-02-24
+
+    osgeo4w: ignore if there are no pyc to cleanup in postinstall
+
+Juergen E. Fischer <jef at norbit.de>	2018-02-23
+
+    Revert "osgeo4w: also build pdb and corresponding package for releases"
+
+    This reverts commit 7efcfee28cc5ae454fd50b30263e85477a4fe9c0.
+
+Juergen E. Fischer <jef at norbit.de>	2018-02-23
+
+    fix release build on windows
+
+Juergen E. Fischer <jef at norbit.de>	2018-02-23
+
+    debian packaging: fix release builds (followup 792c19ba7)
+
+Juergen E. Fischer <jef at norbit.de>	2018-02-23
+
+    Release of 3.0 (Girona)
+
+Juergen E. Fischer <jef at norbit.de>	2018-02-23
+
+    changelog and news update for 3.0
+
 Juergen E. Fischer <jef at norbit.de>	2018-02-23
 
     translation update for 3.0 from transifex
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index ce7bec2..0000000
--- a/Dockerfile
+++ /dev/null
@@ -1,38 +0,0 @@
-
-# CACHE_TAG is provided by Docker cloud
-# see https://docs.docker.com/docker-cloud/builds/advanced/
-# using ARG in FROM requires min v17.05.0-ce
-ARG  CACHE_TAG=latest
-
-FROM  qgis/qgis3-build-deps:${CACHE_TAG}
-MAINTAINER Denis Rouzaud <denis.rouzaud at gmail.com>
-
-ENV CC=/usr/lib/ccache/clang
-ENV CXX=/usr/lib/ccache/clang++
-ENV QT_SELECT=5
-ENV LANG=C.UTF-8
-
-COPY . /usr/src/QGIS
-
-WORKDIR /usr/src/QGIS/build
-
-RUN cmake \
- -GNinja \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBINDINGS_GLOBAL_INSTALL=ON \
- -DWITH_STAGED_PLUGINS=ON \
- -DWITH_GRASS=ON \
- -DSUPPRESS_QT_WARNINGS=ON \
- -DENABLE_TESTS=OFF \
- -DWITH_QSPATIALITE=ON \
- -DWITH_QWTPOLAR=OFF \
- -DWITH_APIDOC=OFF \
- -DWITH_ASTYLE=OFF \
- -DWITH_DESKTOP=ON \
- -DWITH_BINDINGS=ON \
- -DDISABLE_DEPRECATED=ON \
- .. \
- && ninja install \
- && rm -rf /usr/src/QGIS
-
-WORKDIR /
diff --git a/debian/changelog b/debian/changelog
index 02e9df2c0..7c1cc89 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,14 @@
-qgis (3.0.0) UNRELEASED; urgency=medium
+qgis (3.0.1) UNRELEASED; urgency=medium
+
+  * Release of 3.0.1
+
+ -- Jürgen E. Fischer <jef at norbit.de>  Fri, 23 Mar 2018 13:00:05 +0100
+
+qgis (3.0.0) unstable; urgency=medium
 
   * Release of 3.0.0
 
- -- Jürgen E. Fischer <jef at norbit.de>  Fri, 23 Feb 2018 13:09:53 +0100
+ -- Jürgen E. Fischer <jef at norbit.de>  Fri, 23 Mar 2018 13:00:05 +0100
 
 qgis (2.99.0) unstable; urgency=medium
 
diff --git a/debian/control.in b/debian/control.in
index 41acaa4..96eea59 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -13,7 +13,7 @@ Build-Depends:
  libexpat1-dev,
  libfcgi-dev,
  libgdal-dev (>= 1.11),
-#sid stretch xenial yakkety zesty artful bionic# libgsl-dev,
+#sid buster stretch xenial yakkety zesty artful bionic# libgsl-dev,
  libgeos-dev (>= 3.0.0),
  libpq-dev,
  libproj-dev,
@@ -38,12 +38,12 @@ Build-Depends:
  graphviz,
  xvfb, xauth,
  xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable,
-#sid artful bionic# libosgearth-dev, qt3d5-dev, qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
+#sid buster artful bionic# libosgearth-dev, qt3d5-dev, qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
 #oracle# oracle-instantclient12.1-devel, oracle-instantclient12.1-basiclite, qtbase5-private-dev,
  locales, ca-certificates, ninja-build
 Build-Conflicts: libqgis-dev, qgis-dev
-#sid stretch xenial yakkety zesty artful bionic#Standards-Version: 3.9.7
-#            xenial yakkety zesty artful bionic#XS-Python-Version: current
+#sid buster stretch xenial yakkety zesty artful bionic#Standards-Version: 3.9.7
+#                   xenial yakkety zesty artful bionic#XS-Python-Version: current
 Vcs-Browser: https://github.com/qgis/QGIS/
 Vcs-Git: https://github.com/qgis/QGIS.git
 Homepage: http://qgis.org/
@@ -145,19 +145,19 @@ Description: QGIS - shared native gui library
  .
  This package contains the shared native gui library.
 
-#artful bionic sid#Package: libqgis-3d{QGIS_ABI}
-#artful bionic sid#Architecture: any
-#artful bionic sid#Section: libs
-#artful bionic sid#Depends:
-#artful bionic sid# qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
-#artful bionic sid# ${shlibs:Depends},
-#artful bionic sid# ${misc:Depends}
-#artful bionic sid#Description: QGIS - shared 3d library
-#artful bionic sid# QGIS is a Geographic Information System (GIS) which manages, analyzes and
-#artful bionic sid# display databases of geographic information.
-#artful bionic sid# .
-#artful bionic sid# This package contains the shared 3d library.
-#artful bionic sid#
+#artful bionic buster sid#Package: libqgis-3d{QGIS_ABI}
+#artful bionic buster sid#Architecture: any
+#artful bionic buster sid#Section: libs
+#artful bionic buster sid#Depends:
+#artful bionic buster sid# qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
+#artful bionic buster sid# ${shlibs:Depends},
+#artful bionic buster sid# ${misc:Depends}
+#artful bionic buster sid#Description: QGIS - shared 3d library
+#artful bionic buster sid# QGIS is a Geographic Information System (GIS) which manages, analyzes and
+#artful bionic buster sid# display databases of geographic information.
+#artful bionic buster sid# .
+#artful bionic buster sid# This package contains the shared 3d library.
+#artful bionic buster sid#
 Package: libqgisgrass{GRASSVER}-{QGIS_ABI}
 Architecture: any
 Section: libs
@@ -214,7 +214,7 @@ Depends:
  libexpat1-dev,
  libgdal-dev (>= 1.11),
  libgeos-dev (>= 3.0.0),
-#sid stretch xenial yakkety zesty artful bionic# libgsl-dev,
+#sid buster stretch xenial yakkety zesty artful bionic# libgsl-dev,
  libpq-dev,
  libproj-dev,
  libqgis-app{QGIS_ABI} (= ${binary:Version}),
diff --git a/debian/libqgis-dev.install.in b/debian/libqgis-dev.install.in
index 1a7e0af..7e48cb9 100644
--- a/debian/libqgis-dev.install.in
+++ b/debian/libqgis-dev.install.in
@@ -8,4 +8,4 @@ usr/lib/libqgis_server.so
 usr/lib/libqgisgrass{GRASSVER}.so
 usr/lib/libqgispython.so
 usr/share/qgis/FindQGIS.cmake
-#sid#usr/lib/libqgis_3d.so
+#sid buster artful bionic#usr/lib/libqgis_3d.so
diff --git a/debian/rules b/debian/rules
index 787f198..645227b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -36,7 +36,7 @@ endif
 
 QT_PLUGINS_DIR = usr/lib/$(DEB_BUILD_MULTIARCH)/qt5/plugins
 
-ifneq ($(DISTRIBUTION),$(findstring $(DISTRIBUTION),"stretch xenial yakkety zesty artful bionic"))
+ifneq ($(DISTRIBUTION),$(findstring $(DISTRIBUTION),"stretch buster xenial yakkety zesty artful bionic"))
 	DISTRIBUTION := sid
 endif
 
@@ -98,11 +98,11 @@ ifneq (,$(WITH_GLOBE))
 	CMAKE_OPTS += -DWITH_GLOBE=TRUE
 endif
 
-ifneq (,$(findstring $(DISTRIBUTION),"sid stretch"))
+ifneq (,$(findstring $(DISTRIBUTION),"sid buster stretch"))
 	CMAKE_OPTS += -DPOSTGRES_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libpq.so
 endif
 
-ifneq (,$(findstring $(DISTRIBUTION),"artful bionic sid"))
+ifneq (,$(findstring $(DISTRIBUTION),"artful bionic buster sid"))
 	CMAKE_OPTS += \
 		-DWITH_3D=TRUE \
 		-DGEOS_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libgeos_c.so
@@ -124,7 +124,7 @@ endif
 		-DORACLE_INCLUDEDIR=$(ORACLE_INCLUDEDIR)
 endif
 
-ifneq (,$(findstring $(DISTRIBUTION),"sid stretch"))
+ifneq (,$(findstring $(DISTRIBUTION),"sid buster stretch"))
 	CMAKE_OPTS += -DSPATIALINDEX_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libspatialindex.so
 endif
 
@@ -220,10 +220,14 @@ override_dh_auto_configure:
 	dh_auto_configure -- $(CMAKE_OPTS)
 
 override_dh_auto_build-arch:
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
 	ninja -C $(QGIS_BUILDDIR) $(DEB_TEST_TARGET)Build || \
 			cat $(QGIS_BUILDDIR)/Testing/Temporary/LastBuild_$$(head -1 $(QGIS_BUILDDIR)/Testing/TAG).log || \
 			ninja -C $(QGIS_BUILDDIR) $(DEB_TEST_TARGET)Submit || \
 			false
+else
+	ninja -C $(QGIS_BUILDDIR)
+endif
 
 override_dh_auto_build-indep:
 	ninja -C $(QGIS_BUILDDIR) apidoc
diff --git a/doc/TRANSLATORS b/doc/TRANSLATORS
index 03b23cc..0e8076e 100644
--- a/doc/TRANSLATORS
+++ b/doc/TRANSLATORS
@@ -1,42 +1,42 @@
 <style>body { font-family:sans-serif; background-color:#d3d3d3; }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 align="center"><img src="qrc:/images/flags/de.svg" height="20"></td><td>German</td><td><div title="finished:17783 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 align="center"><img src="qrc:/images/flags/eu.svg" height="20"></td><td>Basque</td><td><div title="finished:17783 unfinished:0 untranslated:0" class="bartodo"><div class="bardone" style="width:100px">100.0</div></div></td><td>Asier Sarasua Garmendia, Irantzu Alvarez</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/hu.svg" height="20"></td><td>Hungarian</td><td><div title="finished:17782 unfinished:0 untranslated:1" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Zoltan Siki, Zoltan Toldi</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/ja.svg" height="20"></td><td>Japanese</td><td><div title="finished:17758 unfinished:0 untranslated:25" class="bartodo"><div class="bardone" style="width:99px">99.9</div></div></td><td>BABA Yoshihiko, Yoichi Kayama, Minoru Akagi, Takayuki Nuimura, Takayuki Mizutani, Norihiro Yamate, Kohei Tomita</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/nl.svg" height="20"></td><td>Dutch</td><td><div title="finished:17744 unfinished:0 untranslated:39" class="bartodo"><div class="bardone" style="width:99px">99.8</div></div></td><td>Richard Duivenvoorde, Raymond Nijssen, Carlo van Rijswijk, Diethard Jansen, Willem Hoffmans, Dick Groskamp</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/ro.svg" height="20"></td><td>Romanian</td><td><div title="finished:17635 unfinished:2 untranslated:146" class="bartodo"><div class="bardone" style="width:99px">99.2</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 align="center"><img src="qrc:/images/flags/gl.svg" height="20"></td><td>Galician</td><td><div title="finished:17615 unfinished:2 untranslated:166" class="bartodo"><div class="bardone" style="width:99px">99.1</div></div></td><td>Xan Vieiro</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/da.svg" height="20"></td><td>Danish</td><td><div title="finished:17411 unfinished:2 untranslated:370" class="bartodo"><div class="bardone" style="width:97px">97.9</div></div></td><td>Jacob Overgaard Madsen, Bo Victor Thomsen</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/sv.svg" height="20"></td><td>Swedish</td><td><div title="finished:17015 unfinished:12 untranslated:756" class="bartodo"><div class="bardone" style="width:95px">95.7</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 align="center"><img src="qrc:/images/flags/fr.svg" height="20"></td><td>French</td><td><div title="finished:16798 unfinished:56 untranslated:929" class="bartodo"><div class="bardone" style="width:94px">94.6</div></div></td><td>Arnaud Morvan, Augustin Roche, Didier Vanden Berghe, Dofabien, Etienne Trimaille, Harrissou Sant-anna, 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 Ribre [...]
-<tr><td align="center"><img src="qrc:/images/flags/it.svg" height="20"></td><td>Italian</td><td><div title="finished:16750 unfinished:8 untranslated:1025" class="bartodo"><div class="bardone" style="width:94px">94.2</div></div></td><td>Marco Grisolia, 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 align="center"><img src="qrc:/images/flags/es.svg" height="20"></td><td>Spanish</td><td><div title="finished:16333 unfinished:32 untranslated:1418" class="bartodo"><div class="bardone" style="width:91px">91.9</div></div></td><td>Carlos Dávila, Javier César Aldariz, Gabriela Awad, Edwin Amado, Mayeul Kauffmann, Diana Galindo</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/pt_BR.svg" height="20"></td><td>Portuguese (Brazil)</td><td><div title="finished:15120 unfinished:132 untranslated:2531" class="bartodo"><div class="bardone" style="width:85px">85.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 align="center"><img src="qrc:/images/flags/cs.svg" height="20"></td><td>Czech</td><td><div title="finished:14647 unfinished:24 untranslated:3112" class="bartodo"><div class="bardone" style="width:82px">82.4</div></div></td><td>Jan Helebrant, Martin Landa, Peter Antolik, Martin Dzurov, Stanislav Horáček</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/zh.svg" height="20"></td><td>Chinese simplified</td><td><div title="finished:14373 unfinished:44 untranslated:3366" class="bartodo"><div class="bardone" style="width:80px">80.9</div></div></td><td>Calvin Ngei, Lisashen</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/pt_PT.svg" height="20"></td><td>Portuguese (Portugal)</td><td><div title="finished:14013 unfinished:34 untranslated:3736" class="bartodo"><div class="bardone" style="width:78px">78.9</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, José Macau</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/pl.svg" height="20"></td><td>Polish</td><td><div title="finished:13580 unfinished:50 untranslated:4153" class="bartodo"><div class="bardone" style="width:76px">76.5</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, Kuba Kiszkurno, Beata Baziak, Bartosz Mazurkiewcz, Tomasz Rychlicki</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/ko.svg" height="20"></td><td>Korean</td><td><div title="finished:13166 unfinished:53 untranslated:4564" class="bartodo"><div class="bardone" style="width:74px">74.2</div></div></td><td>OSGeo Korean Chapter</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/lt.svg" height="20"></td><td>Lithuanian</td><td><div title="finished:13147 unfinished:50 untranslated:4586" class="bartodo"><div class="bardone" style="width:74px">74.1</div></div></td><td>Paulius Litvinas, Tomas Straupis, Kestas M</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/fi.svg" height="20"></td><td>Finnish</td><td><div title="finished:12809 unfinished:369 untranslated:4605" class="bartodo"><div class="bardone" style="width:73px">73.1</div></div></td><td>Kari Mikkonen, Matti Mäntynen</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/bs.svg" height="20"></td><td>Bosnian</td><td><div title="finished:12884 unfinished:55 untranslated:4844" class="bartodo"><div class="bardone" style="width:72px">72.6</div></div></td><td>Almir Karabegovic</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/bg.svg" height="20"></td><td>Bulgarian</td><td><div title="finished:12849 unfinished:50 untranslated:4884" class="bartodo"><div class="bardone" style="width:72px">72.4</div></div></td><td>Захари Савов, Jordan Tzvetkov</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/ru.svg" height="20"></td><td>Russian</td><td><div title="finished:12561 unfinished:223 untranslated:4999" class="bartodo"><div class="bardone" style="width:71px">71.3</div></div></td><td>Alexander Bruy, Artem Popov</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/et.svg" height="20"></td><td>Estonian</td><td><div title="finished:12554 unfinished:67 untranslated:5162" class="bartodo"><div class="bardone" style="width:70px">70.8</div></div></td><td>Veiko Viil</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/nb.svg" height="20"></td><td>Norwegian Bokmal</td><td><div title="finished:12071 unfinished:64 untranslated:5648" class="bartodo"><div class="bardone" style="width:68px">68.1</div></div></td><td>James Stott, Maléne Peterson</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/vi.svg" height="20"></td><td>Vietnamese</td><td><div title="finished:11987 unfinished:58 untranslated:5738" class="bartodo"><div class="bardone" style="width:67px">67.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 align="center"><img src="qrc:/images/flags/is.svg" height="20"></td><td>Icelandic</td><td><div title="finished:11972 unfinished:40 untranslated:5771" class="bartodo"><div class="bardone" style="width:67px">67.4</div></div></td><td>Ásta Kristín Óladóttir, Thordur Ivarsson</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/ky.svg" height="20"></td><td>Kirghiz</td><td><div title="finished:11611 unfinished:50 untranslated:6122" class="bartodo"><div class="bardone" style="width:65px">65.4</div></div></td><td>Stéphane Henriod, Azamat Karypov, Salaidin Kamaldinov, Akylbek Chymyrov, Chinara Saparova, Almaz Abdiev, Nurlan Tokbaev, Tatygul Urmambetova, Adilet Bekturov, Nursultan Ismailov, Nurlan Zhusupov</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/zh.svg" height="20"></td><td>Chinese traditional</td><td><div title="finished:10808 unfinished:59 untranslated:6916" class="bartodo"><div class="bardone" style="width:60px">60.9</div></div></td><td>Calvin Ngei, Zhang Jun, Richard Xie, Dennis Raylin Chen</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/ca.svg" height="20"></td><td>Catalan</td><td><div title="finished:10026 unfinished:82 untranslated:7675" class="bartodo"><div class="bardone" style="width:56px">56.6</div></div></td><td>Albert F, Pau Reguant Ridó, Xavier Roijals</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/hi.svg" height="20"></td><td>Hindi</td><td><div title="finished:9598 unfinished:77 untranslated:8108" class="bartodo"><div class="bardone" style="width:54px">54.2</div></div></td><td>Harish Kumar Solanki</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/lv.svg" height="20"></td><td>Latvian</td><td><div title="finished:8869 unfinished:146 untranslated:8768" class="bartodo"><div class="bardone" style="width:50px">50.3</div></div></td><td>Maris Nartiss, Pēteris Brūns</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/tr.svg" height="20"></td><td>Turkish</td><td><div title="finished:8894 unfinished:60 untranslated:8829" class="bartodo"><div class="bardone" style="width:50px">50.2</div></div></td><td>Osman Yalçın YILMAZ, Omur Saygin</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/el.svg" height="20"></td><td>Modern Greek (1453-)</td><td><div title="finished:8680 unfinished:59 untranslated:9044" class="bartodo"><div class="bardone" style="width:48px">49.0</div></div></td><td>Theodoros Vakkas, Ioannis Tsimpiris, Evripidis Argyropoulos, Mike Pegnigiannis, Nikos Ves</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/id.svg" height="20"></td><td>Indonesian</td><td><div title="finished:8400 unfinished:337 untranslated:9046" class="bartodo"><div class="bardone" style="width:48px">48.2</div></div></td><td>Emir Hartato, Muhammad Iqnaul Haq Siregar, Trias Aditya, Januar V. Simarmata, I Made Anombawa</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/sl.svg" height="20"></td><td>Slovenian</td><td><div title="finished:8264 unfinished:81 untranslated:9438" class="bartodo"><div class="bardone" style="width:46px">46.7</div></div></td><td>Jože Detečnik, Dejan Gregor, Jaka Kranjc</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/ar.svg" height="20"></td><td>Arabic</td><td><div title="finished:7680 unfinished:95 untranslated:10008" class="bartodo"><div class="bardone" style="width:43px">43.5</div></div></td><td>Ichaouia Amine, Hosham Munier, Ammar Shaarbaf</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/uk.svg" height="20"></td><td>Ukrainian</td><td><div title="finished:7654 unfinished:4 untranslated:10125" class="bartodo"><div class="bardone" style="width:43px">43.1</div></div></td><td>Alexander Bruy, Svitlana Shulik (IT-Transit LLC), Alesya Shushova (IT-Transit LLC)</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/km.svg" height="20"></td><td>Central Khmer</td><td><div title="finished:7528 unfinished:74 untranslated:10181" class="bartodo"><div class="bardone" style="width:42px">42.5</div></div></td><td>Khoem Sokhem</td></tr>
-<tr><td align="center"><img src="qrc:/images/flags/eo.svg" height="20"></td><td>Esperanto</td><td><div title="finished:7129 unfinished:46 untranslated:10608" class="bartodo"><div class="bardone" style="width:40px">40.2</div></div></td><td>Augustin Roche, Nikolay Korotkiy</td></tr></table>
+<tr><td align="center"><img src="qrc:/images/flags/de.svg" height="20"></td><td>German</td><td><div title="finished:19422 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 align="center"><img src="qrc:/images/flags/eu.svg" height="20"></td><td>Basque</td><td><div title="finished:19314 unfinished:12 untranslated:96" class="bartodo"><div class="bardone" style="width:99px">99.5</div></div></td><td>Asier Sarasua Garmendia, Irantzu Alvarez</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/hu.svg" height="20"></td><td>Hungarian</td><td><div title="finished:19313 unfinished:13 untranslated:96" class="bartodo"><div class="bardone" style="width:99px">99.5</div></div></td><td>Zoltan Siki, Zoltan Toldi</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/ja.svg" height="20"></td><td>Japanese</td><td><div title="finished:19291 unfinished:10 untranslated:121" class="bartodo"><div class="bardone" style="width:99px">99.4</div></div></td><td>BABA Yoshihiko, Yoichi Kayama, Minoru Akagi, Takayuki Nuimura, Takayuki Mizutani, Norihiro Yamate, Kohei Tomita</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/nl.svg" height="20"></td><td>Dutch</td><td><div title="finished:19275 unfinished:11 untranslated:136" class="bartodo"><div class="bardone" style="width:99px">99.3</div></div></td><td>Richard Duivenvoorde, Raymond Nijssen, Carlo van Rijswijk, Diethard Jansen, Willem Hoffmans, Dick Groskamp</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/ro.svg" height="20"></td><td>Romanian</td><td><div title="finished:19168 unfinished:14 untranslated:240" class="bartodo"><div class="bardone" style="width:98px">98.7</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 align="center"><img src="qrc:/images/flags/gl.svg" height="20"></td><td>Galician</td><td><div title="finished:19149 unfinished:14 untranslated:259" class="bartodo"><div class="bardone" style="width:98px">98.6</div></div></td><td>Xan Vieiro</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/da.svg" height="20"></td><td>Danish</td><td><div title="finished:18934 unfinished:14 untranslated:474" class="bartodo"><div class="bardone" style="width:97px">97.5</div></div></td><td>Jacob Overgaard Madsen, Bo Victor Thomsen</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/sv.svg" height="20"></td><td>Swedish</td><td><div title="finished:18472 unfinished:23 untranslated:927" class="bartodo"><div class="bardone" style="width:95px">95.2</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 align="center"><img src="qrc:/images/flags/fr.svg" height="20"></td><td>French</td><td><div title="finished:18341 unfinished:70 untranslated:1011" class="bartodo"><div class="bardone" style="width:94px">94.6</div></div></td><td>Arnaud Morvan, Augustin Roche, Didier Vanden Berghe, Dofabien, Etienne Trimaille, Harrissou Sant-anna, 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 Ribr [...]
+<tr><td align="center"><img src="qrc:/images/flags/it.svg" height="20"></td><td>Italian</td><td><div title="finished:18286 unfinished:24 untranslated:1112" class="bartodo"><div class="bardone" style="width:94px">94.2</div></div></td><td>Marco Grisolia, 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 align="center"><img src="qrc:/images/flags/es.svg" height="20"></td><td>Spanish</td><td><div title="finished:17749 unfinished:97 untranslated:1576" class="bartodo"><div class="bardone" style="width:91px">91.6</div></div></td><td>Carlos Dávila, Javier César Aldariz, Gabriela Awad, Edwin Amado, Mayeul Kauffmann, Diana Galindo</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/pt_BR.svg" height="20"></td><td>Portuguese (Brazil)</td><td><div title="finished:16573 unfinished:154 untranslated:2695" class="bartodo"><div class="bardone" style="width:85px">85.7</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 align="center"><img src="qrc:/images/flags/cs.svg" height="20"></td><td>Czech</td><td><div title="finished:15760 unfinished:61 untranslated:3601" class="bartodo"><div class="bardone" style="width:81px">81.3</div></div></td><td>Jan Helebrant, Martin Landa, Peter Antolik, Martin Dzurov, Stanislav Horáček</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/pt_PT.svg" height="20"></td><td>Portuguese (Portugal)</td><td><div title="finished:15312 unfinished:61 untranslated:4049" class="bartodo"><div class="bardone" style="width:78px">79.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, José Macau</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/zh.svg" height="20"></td><td>Chinese simplified</td><td><div title="finished:14877 unfinished:91 untranslated:4454" class="bartodo"><div class="bardone" style="width:76px">76.8</div></div></td><td>Calvin Ngei, Lisashen</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/pl.svg" height="20"></td><td>Polish</td><td><div title="finished:14349 unfinished:91 untranslated:4982" class="bartodo"><div class="bardone" style="width:74px">74.1</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, Kuba Kiszkurno, Beata Baziak, Bartosz Mazurkiewcz, Tomasz Rychlicki</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/bs.svg" height="20"></td><td>Bosnian</td><td><div title="finished:14034 unfinished:89 untranslated:5299" class="bartodo"><div class="bardone" style="width:72px">72.5</div></div></td><td>Almir Karabegovic</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/bg.svg" height="20"></td><td>Bulgarian</td><td><div title="finished:13692 unfinished:73 untranslated:5657" class="bartodo"><div class="bardone" style="width:70px">70.7</div></div></td><td>Захари Савов, Jordan Tzvetkov</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/et.svg" height="20"></td><td>Estonian</td><td><div title="finished:13659 unfinished:108 untranslated:5655" class="bartodo"><div class="bardone" style="width:70px">70.6</div></div></td><td>Veiko Viil</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/lt.svg" height="20"></td><td>Lithuanian</td><td><div title="finished:13641 unfinished:137 untranslated:5644" class="bartodo"><div class="bardone" style="width:70px">70.6</div></div></td><td>Paulius Litvinas, Tomas Straupis, Kestas M</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/ru.svg" height="20"></td><td>Russian</td><td><div title="finished:13524 unfinished:253 untranslated:5645" class="bartodo"><div class="bardone" style="width:70px">70.3</div></div></td><td>Alexander Bruy, Artem Popov</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/ko.svg" height="20"></td><td>Korean</td><td><div title="finished:13520 unfinished:138 untranslated:5764" class="bartodo"><div class="bardone" style="width:69px">70.0</div></div></td><td>OSGeo Korean Chapter</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/fi.svg" height="20"></td><td>Finnish</td><td><div title="finished:12969 unfinished:441 untranslated:6012" class="bartodo"><div class="bardone" style="width:67px">67.9</div></div></td><td>Kari Mikkonen, Matti Mäntynen</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/vi.svg" height="20"></td><td>Vietnamese</td><td><div title="finished:12935 unfinished:95 untranslated:6392" class="bartodo"><div class="bardone" style="width:66px">66.8</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 align="center"><img src="qrc:/images/flags/nb.svg" height="20"></td><td>Norwegian Bokmal</td><td><div title="finished:12747 unfinished:117 untranslated:6558" class="bartodo"><div class="bardone" style="width:65px">65.9</div></div></td><td>James Stott, Maléne Peterson</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/ky.svg" height="20"></td><td>Kirghiz</td><td><div title="finished:12526 unfinished:84 untranslated:6812" class="bartodo"><div class="bardone" style="width:64px">64.7</div></div></td><td>Stéphane Henriod, Azamat Karypov, Salaidin Kamaldinov, Akylbek Chymyrov, Chinara Saparova, Almaz Abdiev, Nurlan Tokbaev, Tatygul Urmambetova, Adilet Bekturov, Nursultan Ismailov, Nurlan Zhusupov</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/is.svg" height="20"></td><td>Icelandic</td><td><div title="finished:12295 unfinished:66 untranslated:7061" class="bartodo"><div class="bardone" style="width:63px">63.5</div></div></td><td>Ásta Kristín Óladóttir, Thordur Ivarsson</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/zh.svg" height="20"></td><td>Chinese traditional</td><td><div title="finished:10936 unfinished:135 untranslated:8351" class="bartodo"><div class="bardone" style="width:56px">56.7</div></div></td><td>Calvin Ngei, Zhang Jun, Richard Xie, Dennis Raylin Chen</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/ca.svg" height="20"></td><td>Catalan</td><td><div title="finished:10516 unfinished:120 untranslated:8786" class="bartodo"><div class="bardone" style="width:54px">54.5</div></div></td><td>Albert F, Pau Reguant Ridó, Xavier Roijals</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/hi.svg" height="20"></td><td>Hindi</td><td><div title="finished:9631 unfinished:161 untranslated:9630" class="bartodo"><div class="bardone" style="width:50px">50.0</div></div></td><td>Harish Kumar Solanki</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/lv.svg" height="20"></td><td>Latvian</td><td><div title="finished:8919 unfinished:242 untranslated:10261" class="bartodo"><div class="bardone" style="width:46px">46.5</div></div></td><td>Maris Nartiss, Pēteris Brūns</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/tr.svg" height="20"></td><td>Turkish</td><td><div title="finished:8960 unfinished:136 untranslated:10326" class="bartodo"><div class="bardone" style="width:46px">46.5</div></div></td><td>Osman Yalçın YILMAZ, Omur Saygin</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/el.svg" height="20"></td><td>Modern Greek (1453-)</td><td><div title="finished:8850 unfinished:92 untranslated:10480" class="bartodo"><div class="bardone" style="width:45px">45.8</div></div></td><td>Theodoros Vakkas, Ioannis Tsimpiris, Evripidis Argyropoulos, Mike Pegnigiannis, Nikos Ves</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/id.svg" height="20"></td><td>Indonesian</td><td><div title="finished:8444 unfinished:421 untranslated:10557" class="bartodo"><div class="bardone" style="width:44px">44.6</div></div></td><td>Emir Hartato, Muhammad Iqnaul Haq Siregar, Trias Aditya, Januar V. Simarmata, I Made Anombawa</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/sl.svg" height="20"></td><td>Slovenian</td><td><div title="finished:8314 unfinished:161 untranslated:10947" class="bartodo"><div class="bardone" style="width:43px">43.2</div></div></td><td>Jože Detečnik, Dejan Gregor, Jaka Kranjc</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/eo.svg" height="20"></td><td>Esperanto</td><td><div title="finished:8031 unfinished:70 untranslated:11321" class="bartodo"><div class="bardone" style="width:41px">41.5</div></div></td><td>Augustin Roche, Nikolay Korotkiy</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/ar.svg" height="20"></td><td>Arabic</td><td><div title="finished:7713 unfinished:172 untranslated:11537" class="bartodo"><div class="bardone" style="width:40px">40.2</div></div></td><td>Ichaouia Amine, Hosham Munier, Ammar Shaarbaf</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/uk.svg" height="20"></td><td>Ukrainian</td><td><div title="finished:7680 unfinished:77 untranslated:11665" class="bartodo"><div class="bardone" style="width:39px">39.7</div></div></td><td>Alexander Bruy, Svitlana Shulik (IT-Transit LLC), Alesya Shushova (IT-Transit LLC)</td></tr>
+<tr><td align="center"><img src="qrc:/images/flags/km.svg" height="20"></td><td>Central Khmer</td><td><div title="finished:7563 unfinished:157 untranslated:11702" class="bartodo"><div class="bardone" style="width:39px">39.3</div></div></td><td>Khoem Sokhem</td></tr></table>
diff --git a/i18n/qgis_de.ts b/i18n/qgis_de.ts
index c5c861d..4400337 100644
--- a/i18n/qgis_de.ts
+++ b/i18n/qgis_de.ts
@@ -232,8 +232,12 @@
         <translation type="vanished">Füge Skript aus Datei hinzu</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="35"/>
         <source>Add Script from File…</source>
+        <translation type="vanished">Füge Skript aus Datei hinzu…</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="35"/>
+        <source>Add Script from File…</source>
         <translation>Füge Skript aus Datei hinzu…</translation>
     </message>
     <message>
@@ -414,77 +418,77 @@
 <context>
     <name>AlgorithmClassification</name>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="322"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="336"/>
         <source>Polygon intersection</source>
         <translation>Polygonverschneidung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="323"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="331"/>
         <source>Vectorize raster layer</source>
         <translation>Rasterlayer vektorisieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="324"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="339"/>
         <source>Interpolate (Inverse distance weighting)</source>
         <translation>Interpolation (Inverse Abstandsgewichtung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="311"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="325"/>
         <source>RGB to PCT</source>
         <translation>RGB nach PCT</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="325"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="332"/>
         <source>Rasterize vector layer</source>
         <translation>Vektorlayer rastern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="331"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="328"/>
         <source>Polygon identity</source>
         <translation>Polygonidentität</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="332"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="333"/>
         <source>Polygon dissolve (all polygons)</source>
         <translation>Polygon auflösen (alle Polygone)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="329"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="318"/>
         <source>Polygon union</source>
         <translation>Polygonvereinigung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="315"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="320"/>
         <source>Interpolate (Natural neighbor)</source>
         <translation>Interpolation (Natürlicher Nachbar)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="314"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="310"/>
         <source>Merge raster layers</source>
         <translation>Rasterlayer zusammenführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="339"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="312"/>
         <source>Remove small pixel clumps (nearest neighbour)</source>
         <translation>Kleine Pixelklumpen entfernen (nächster Nachbar)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="321"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="338"/>
         <source>Interpolate (Nearest Neighbor)</source>
         <translation>Interpolation (Nächster Nachbar)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="326"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="324"/>
         <source>Interpolate (Cubic spline)</source>
         <translation>Interpolieren (Kubisches Spline)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="310"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="323"/>
         <source>Interpolate (Data metrics)</source>
         <translation>Interpolation (Datenmetrik)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="319"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="327"/>
         <source>Reproject raster layer</source>
         <translation>Rasterlayer reprojizieren</translation>
     </message>
@@ -494,92 +498,92 @@
         <translation>Rasterlayer exportieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="333"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="326"/>
         <source>PCT to RGB</source>
         <translation>PCT nach RGB</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="318"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="334"/>
         <source>Export vector layer</source>
         <translation>Vektorlayer exportieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="320"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="337"/>
         <source>Polygon dissolve (by attribute)</source>
         <translation>Polygon auflösen (nach Attribut)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="307"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="340"/>
         <source>Remove small pixel clumps (to no-data)</source>
         <translation>Kleine Pixelklumpen entfernen (zu Nullwerten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="328"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="321"/>
         <source>Interpolate (Modified quadratic shepard)</source>
         <translation>Interpolieren (Modifizierte quadratische Shepard-Methode)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="317"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="309"/>
         <source>Merge vector layers</source>
         <translation>Vektorlayer zusammenführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="312"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="322"/>
         <source>Reclassify (simple)</source>
         <translation>Neu klassifizieren (einfach)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="316"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="313"/>
         <source>Execute SQL on vector layer</source>
         <translation>SQL auf Vektorlayer ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="335"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="319"/>
         <source>Raster layer information</source>
         <translation>Rasterlayerinformation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="336"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="314"/>
         <source>Contour lines</source>
         <translation>Konturlinien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="309"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="316"/>
         <source>Create graticule</source>
         <translation>Gradnetz erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="308"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="315"/>
         <source>Fire spreading simulation</source>
         <translation>Feuerausbreitungssimulation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="338"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="311"/>
         <source>Polygon difference</source>
         <translation>Polygondifferenz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="327"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="307"/>
         <source>Create graticule from extent</source>
         <translation>Gradnetz aus Grenzen erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="334"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="329"/>
         <source>Polygon symmetrical difference</source>
         <translation>Symmetrische Polygondifferenz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="313"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="308"/>
         <source>Vector layer information</source>
         <translation>Vektorlayerinformation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="337"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="317"/>
         <source>Polygon update</source>
         <translation>Polygonaktualisierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="340"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="335"/>
         <source>Interpolate (Average)</source>
         <translation>Interpolation (Durchschnitt)</translation>
     </message>
@@ -2248,9 +2252,13 @@ Verarbeitete Algorithmus {0}/{1}…</translation>
         <translation>Legt den Leerwert des Ausgabekanals fest.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="278"/>
         <source>Create and output alpha band</source>
-        <translation>Alphakanal erzeugen und ausgeben</translation>
+        <translation type="vanished">Alphakanal erzeugen und ausgeben</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="278"/>
+        <source>Create an output alpha band</source>
+        <translation>Einen Alpha-Kanal erzeugen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="279"/>
@@ -2491,17 +2499,22 @@ Verarbeitete Algorithmus {0}/{1}…</translation>
         <translation>Erzeuge Delaunay-Dreiecke…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="328"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="327"/>
+        <source>Computing edges max length…</source>
+        <translation>Berechne Maximallänge der Kanten...</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="329"/>
         <source>Removing features…</source>
         <translation>Entferne Objekte…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="329"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="330"/>
         <source>Dissolving Delaunay triangles…</source>
         <translation>Löse Delaunay-Dreiecke auf…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="330"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="331"/>
         <source>Saving data…</source>
         <translation>Speichere Daten…</translation>
     </message>
@@ -2518,7 +2531,7 @@ Verarbeitete Algorithmus {0}/{1}…</translation>
         <translation type="vanished">Berechne Kantenmaximallänge…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="327"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="328"/>
         <source>No Delaunay triangles created.</source>
         <translation>Keine Delaunay-Dreiecke erzeugt.</translation>
     </message>
@@ -2542,52 +2555,52 @@ Verarbeitete Algorithmus {0}/{1}…</translation>
         <translation type="vanished">Suchen…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="334"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="335"/>
         <source>Search…</source>
         <translation>Suchen…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="335"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="336"/>
         <source>Setting</source>
         <translation>Einstellung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="336"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="337"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="337"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="338"/>
         <source>General</source>
         <translation>Allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="338"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="339"/>
         <source>Models</source>
         <translation>Modelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="339"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="340"/>
         <source>Scripts</source>
         <translation>Skripte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="340"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="341"/>
         <source>Providers</source>
         <translation>Datenanbieter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="341"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="342"/>
         <source>Menus</source>
         <translation>Menüs</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="342"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="343"/>
         <source>Reset to defaults</source>
         <translation>Auf Voreinstellungen zurücksetzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="344"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="345"/>
         <source>Wrong value for parameter "{0}":
 
 {1}</source>
@@ -2600,7 +2613,7 @@ Verarbeitete Algorithmus {0}/{1}…</translation>
         <translation type="vanished">Menüs (erfordert Neustart)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="343"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="344"/>
         <source>Wrong value</source>
         <translation>Falscher Wert</translation>
     </message>
@@ -2742,42 +2755,42 @@ Verarbeitete Algorithmus {0}/{1}…</translation>
 <context>
     <name>CreateAttributeIndex</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="348"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="349"/>
         <source>Vector general</source>
         <translation>Vektoren allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="349"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="350"/>
         <source>Input Layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="350"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="351"/>
         <source>Attribute to index</source>
         <translation>Zu indizierendes Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="351"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="352"/>
         <source>Indexed layer</source>
         <translation>Indizierter Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="352"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="353"/>
         <source>Create attribute index</source>
         <translation>Attributindizes erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="353"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="354"/>
         <source>Can not create attribute index on "{}"</source>
         <translation>Indexerzeugung auf "{}" fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="354"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="355"/>
         <source>Could not create attribute index</source>
         <translation>Konnte Attributindex nicht erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="355"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="356"/>
         <source>Layer's data provider does not support creating attribute indexes</source>
         <translation>Der Datenanbieter dieses Layers unterstützt das Erzeugen von Attributindizes nicht</translation>
     </message>
@@ -2785,7 +2798,7 @@ Verarbeitete Algorithmus {0}/{1}…</translation>
 <context>
     <name>CreateConstantRaster</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="359"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="360"/>
         <source>Raster tools</source>
         <translation>Rasterwerkzeuge</translation>
     </message>
@@ -2794,32 +2807,32 @@ Verarbeitete Algorithmus {0}/{1}…</translation>
         <translation type="vanished">Referenzlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="360"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="361"/>
         <source>Desired extent</source>
         <translation>Gewünschtes Ausmaß</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="361"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="362"/>
         <source>Target CRS</source>
         <translation>Ziel KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="362"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="363"/>
         <source>Pixel size</source>
         <translation>Pixelgröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="363"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="364"/>
         <source>Constant value</source>
         <translation>Konstanter Wert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="364"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="365"/>
         <source>Constant</source>
         <translation>Konstantes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="365"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="366"/>
         <source>Create constant raster layer</source>
         <translation>Konstanten Rasterlayer erzeugen</translation>
     </message>
@@ -2835,12 +2848,12 @@ Verarbeitete Algorithmus {0}/{1}…</translation>
         <translation type="vanished">Erzeuge neues Modell…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="369"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="370"/>
         <source>Create New Model…</source>
         <translation>Erzeuge neues Modell…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="370"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="371"/>
         <source>Tools</source>
         <translation>Werkzeuge</translation>
     </message>
@@ -2856,12 +2869,12 @@ Verarbeitete Algorithmus {0}/{1}…</translation>
         <translation type="vanished">Erzeuge neues Skript…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="374"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="375"/>
         <source>Create New Script…</source>
         <translation>Erzeuge neues Skript…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="375"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="376"/>
         <source>Tools</source>
         <translation>Werkzeuge</translation>
     </message>
@@ -2869,7 +2882,7 @@ Verarbeitete Algorithmus {0}/{1}…</translation>
 <context>
     <name>CrsWidgetWrapper</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="379"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="380"/>
         <source>Select CRS</source>
         <translation>KBS wählen</translation>
     </message>
@@ -4013,17 +4026,17 @@ Abfrage:
         <translation type="vanished">Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="383"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="384"/>
         <source>Vector general</source>
         <translation>Vektoren allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="384"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="385"/>
         <source>Input datasources</source>
         <translation>Eingabedatenquellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="385"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="386"/>
         <source>Create "unioned" VRT</source>
         <translation>"Zusammengesetztes" VRT erzeugen</translation>
     </message>
@@ -5005,7 +5018,7 @@ laden</translation>
 <context>
     <name>DefineProjection</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="392"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="393"/>
         <source>Define current projection</source>
         <translation>Aktuelle Projektion festlegen</translation>
     </message>
@@ -5014,17 +5027,17 @@ laden</translation>
         <translation type="vanished">Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="389"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="390"/>
         <source>Vector general</source>
         <translation>Vektoren allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="390"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="391"/>
         <source>Input Layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="391"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="392"/>
         <source>Layer with projection</source>
         <translation>Layer mit Projektion</translation>
     </message>
@@ -5032,17 +5045,17 @@ laden</translation>
 <context>
     <name>Delaunay</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="396"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="397"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="397"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="398"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="398"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="399"/>
         <source>Delaunay triangulation</source>
         <translation>Delaunay-Triangulation</translation>
     </message>
@@ -5051,7 +5064,7 @@ laden</translation>
         <translation type="vanished">Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="399"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="400"/>
         <source>Input file should contain at least 3 points. Choose another file and try again.</source>
         <translation>Eingabedatei sollte mindestens 3 Punkte enthalten. Eine andere Datei wählen und nochmal versuchen.</translation>
     </message>
@@ -5079,27 +5092,27 @@ laden</translation>
         <translation type="vanished">Spalte löschen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="403"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="404"/>
         <source>drop,delete,remove,fields,columns,attributes</source>
         <translation>drop,delete,remove,fields,columns,attributes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="404"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="405"/>
         <source>Vector table</source>
         <translation>Vektortabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="405"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="406"/>
         <source>Fields to drop</source>
         <translation>Zu löschende Felder</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="406"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="407"/>
         <source>Drop field(s)</source>
         <translation>Feld(er) löschen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="407"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="408"/>
         <source>Fields dropped</source>
         <translation>Zu löschende Felder</translation>
     </message>
@@ -5111,22 +5124,22 @@ laden</translation>
         <translation type="vanished">Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="411"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="412"/>
         <source>Vector general</source>
         <translation>Vektoren allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="412"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="413"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="413"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="414"/>
         <source>Cleaned</source>
         <translation>Bereinigt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="414"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="415"/>
         <source>Delete duplicate geometries</source>
         <translation>Doppelte Geometrien löschen</translation>
     </message>
@@ -5142,27 +5155,27 @@ laden</translation>
         <translation type="vanished">Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="418"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="419"/>
         <source>Remove holes with area less than</source>
         <translation>Löcher löschen mit kleinerer Fläche als</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="419"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="420"/>
         <source>remove,delete,drop,holes,rings,fill</source>
         <translation>remove,delete,drop,holes,rings,fill</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="420"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="421"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="422"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="423"/>
         <source>Cleaned</source>
         <translation>Bereinigt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="421"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="422"/>
         <source>Delete holes</source>
         <translation>Löcher löschen</translation>
     </message>
@@ -5197,18 +5210,18 @@ laden</translation>
         <translation type="vanished">Lösche Modell…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="426"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="427"/>
         <source>Delete Model…</source>
         <translation>Lösche Modell…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="427"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="428"/>
         <source>Delete Model</source>
         <comment>DeleteModelAction</comment>
         <translation>Lösche Modell</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="428"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="429"/>
         <source>Are you sure you want to delete this model?</source>
         <comment>DeleteModelAction</comment>
         <translation>Soll dieses Modell wirklich gelöscht werden?</translation>
@@ -5244,18 +5257,18 @@ laden</translation>
         <translation type="vanished">Vorkonfigurierten Algorithmus entfernen…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="432"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="433"/>
         <source>Delete Preconfigured Algorithm…</source>
         <translation>Vorkonfigurierten Algorithmus entfernen…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="433"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="434"/>
         <source>Delete Algorithm</source>
         <comment>DeletePreconfiguredAlgorithmAction</comment>
         <translation>Algorithmus löschen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="434"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="435"/>
         <source>Are you sure you want to delete this algorithm?</source>
         <comment>DeletePreconfiguredAlgorithmAction</comment>
         <translation>Soll dieser Algorithmus wirklich gelöscht werden?</translation>
@@ -5276,17 +5289,17 @@ laden</translation>
         <translation type="vanished">Lösche Skript…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="438"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="439"/>
         <source>Delete Script…</source>
         <translation>Lösche Skript…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="439"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="440"/>
         <source>Delete Script</source>
         <translation>Lösche Skript</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="440"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="441"/>
         <source>Are you sure you want to delete this script?</source>
         <translation>Dieses Skript wirklich löschen?</translation>
     </message>
@@ -5295,7 +5308,7 @@ laden</translation>
         <translation type="vanished">Datei nicht gefunden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="441"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="442"/>
         <source>Can not find corresponding script file.</source>
         <translation>Kann korrespondierende Skriptdatei nicht finden.</translation>
     </message>
@@ -5330,27 +5343,27 @@ laden</translation>
         <translation type="vanished">hinzufügen,Stützpunkte,Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="445"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="446"/>
         <source>add,vertex,vertices,points,nodes</source>
         <translation>add,vertex,vertices,points,nodes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="446"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="447"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="447"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="448"/>
         <source>Vertices to add</source>
         <translation>Zu ergänzende Stützpunkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="448"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="449"/>
         <source>Densify by count</source>
         <translation>Nach Anzahl verdichten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="449"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="450"/>
         <source>Densified</source>
         <translation>Verdichtet</translation>
     </message>
@@ -5370,27 +5383,27 @@ laden</translation>
         <translation type="vanished">Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="453"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="454"/>
         <source>add,vertex,vertices,points,nodes</source>
         <translation>add,vertex,vertices,points,nodes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="454"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="455"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="455"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="456"/>
         <source>Interval between vertices to add</source>
         <translation>Intervall zwischen hinzuzufügenden Stützpunkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="456"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="457"/>
         <source>Densify by interval</source>
         <translation>Nach Intervall verdichten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="457"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="458"/>
         <source>Densified</source>
         <translation>Verdichtet</translation>
     </message>
@@ -5421,17 +5434,17 @@ laden</translation>
 <context>
     <name>DestinationSelectionPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="461"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="462"/>
         <source>[Save to temporary file]</source>
         <translation>[In temporärer Datei speichern]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="462"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="463"/>
         <source>[Create temporary layer]</source>
         <translation>[Temporärlayer erzeugen]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="463"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="464"/>
         <source>[Skip output]</source>
         <translation>[Ausgabe überspringen]</translation>
     </message>
@@ -5452,7 +5465,7 @@ laden</translation>
         <translation type="vanished">In Datei speichern…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="468"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="469"/>
         <source>Save to GeoPackage…</source>
         <translation>Speichere in GeoPackage…</translation>
     </message>
@@ -5481,63 +5494,63 @@ laden</translation>
         <translation type="vanished">Dateikodierung ändern ({})…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="464"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="465"/>
         <source>Skip Output</source>
         <translation>Ausgabe überspringen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="465"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="466"/>
         <source>Create Temporary Layer</source>
         <translation>Temporären Layer erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="466"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="467"/>
         <source>Save to a Temporary File</source>
         <translation>In temporärer Datei speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="467"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="468"/>
         <source>Save to File…</source>
         <translation>In Datei speichern…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="469"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="470"/>
         <source>Save to PostGIS Table…</source>
         <translation>In PostGIS-Tabelle speichern…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="470"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="471"/>
         <source>Change File Encoding ({})…</source>
         <translation>Dateikodierung ändern ({})…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="471"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="472"/>
         <source>GeoPackage files (*.gpkg);;All files (*.*)</source>
         <comment>OutputFile</comment>
         <translation>GeoPackage-Dateien (*.gpkg);;Alle Dateien (*.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="472"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="473"/>
         <source>Save to GeoPackage</source>
         <translation>Speichere in GeoPackage</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="473"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="474"/>
         <source>Layer name</source>
         <translation>Layername</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="474"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="475"/>
         <source>Save file</source>
         <translation>Datei speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="475"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="476"/>
         <source>File encoding</source>
         <translation>Dateikodierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="476"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="477"/>
         <source>Select Directory</source>
         <translation>Verzeichnis wählen</translation>
     </message>
@@ -5550,26 +5563,26 @@ laden</translation>
     <name>Dialog</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAlgorithmBase.ui" line="43"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="489"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="490"/>
         <source>Parameters</source>
         <translation>Parameter</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAlgorithmBase.ui" line="14"/>
         <location filename="../python/plugins/processing/ui/DlgMessage.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="488"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="489"/>
         <source>Dialog</source>
         <translation>Dialog</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAlgorithmBase.ui" line="65"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="490"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="491"/>
         <source>Log</source>
         <translation>Protokoll</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAlgorithmBase.ui" line="131"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="491"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="492"/>
         <source>Cancel</source>
         <translation>Abbruch</translation>
     </message>
@@ -5579,19 +5592,19 @@ laden</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgPostgisTableSelector.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="485"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="486"/>
         <source> output table</source>
         <translation>Ausgabetabelle</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgPostgisTableSelector.ui" line="20"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="486"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="487"/>
         <source>Select connection and schema</source>
         <translation>Verbindung und Schema wählen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgPostgisTableSelector.ui" line="41"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="487"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="488"/>
         <source>Table name</source>
         <translation>Tabellenname</translation>
     </message>
@@ -5637,31 +5650,31 @@ laden</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/AddNewExpressionDialog.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="482"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="483"/>
         <source>New expression</source>
         <translation>Neuer Ausdruck</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/AddNewExpressionDialog.ui" line="20"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="483"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="484"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/AddNewExpressionDialog.ui" line="30"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="484"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="485"/>
         <source>Expression</source>
         <translation>Ausdruck</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/PredefinedExpressionDialog.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="480"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="481"/>
         <source>Predefined formula</source>
         <translation>Vordefinierte Formel</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/PredefinedExpressionDialog.ui" line="20"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="481"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="482"/>
         <source>Variables</source>
         <translation>Variablen</translation>
     </message>
@@ -5669,17 +5682,17 @@ laden</translation>
 <context>
     <name>Difference</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="495"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="496"/>
         <source>Vector overlay</source>
         <translation>Vektorlayerüberlagerung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="496"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="497"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="497"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="498"/>
         <source>Difference layer</source>
         <translation>Differenzlayer</translation>
     </message>
@@ -5705,7 +5718,7 @@ laden</translation>
 Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometrie wurden ignoriert.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="498"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="499"/>
         <source>Difference</source>
         <translation>Differenz</translation>
     </message>
@@ -6089,22 +6102,22 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>DirectorySelectorDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="502"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="503"/>
         <source>Add</source>
         <translation>Hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="503"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="504"/>
         <source>Remove</source>
         <translation>Entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="504"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="505"/>
         <source>Remove all</source>
         <translation>Alle entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="505"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="506"/>
         <source>Select directory</source>
         <translation>Verzeichnis wählen</translation>
     </message>
@@ -6136,67 +6149,67 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Geometriefehler: Ein oder mehrere Eingabeobjekt haben ungültige Geometrie:</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="509"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="510"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="510"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="511"/>
         <source>Dissolve field</source>
         <translation>Auflösungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="511"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="512"/>
         <source>Geometry column name</source>
         <translation>Geometriespaltenname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="512"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="513"/>
         <source>Produce one feature for each geometry in any kind of geometry collection in the source file</source>
         <translation>Erzeugt ein Objekt für jede Geometries in jeder Art von Geometriesammlung der Quelldatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="513"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="514"/>
         <source>Keep input attributes</source>
         <translation>Eingabeattribute beibehalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="514"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="515"/>
         <source>Count dissolved features</source>
         <translation>Aufgelöste Objekte zählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="515"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="516"/>
         <source>Compute area and perimeter of dissolved features</source>
         <translation>Fläche und Umfang der aufgelösten Objekte berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="516"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="517"/>
         <source>Compute min/max/sum/mean for attribute</source>
         <translation>Min/Max/Summe/Durchschnitt der Attribute berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="517"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="518"/>
         <source>Numeric attribute to calculate statistics on</source>
         <translation>Nummerisches Attribut für Statistikberechnung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="518"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="519"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="519"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="520"/>
         <source>Dissolved</source>
         <translation>Aufgelöst</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="520"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="521"/>
         <source>Dissolve</source>
         <translation>Auflösen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="521"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="522"/>
         <source>Vector geoprocessing</source>
         <translation>Vektorgeoverarbeitung</translation>
     </message>
@@ -6222,37 +6235,37 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgAutofill</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAutofill.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="525"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="526"/>
         <source>Autofill settings</source>
         <translation>Autofülleinstellungen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAutofill.ui" line="20"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="526"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="527"/>
         <source>Autofill mode</source>
         <translation>Autofüllmodus</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAutofill.ui" line="28"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="527"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="528"/>
         <source>Do not autofill</source>
         <translation>Nicht automatisch füllen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAutofill.ui" line="33"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="528"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="529"/>
         <source>Fill with numbers</source>
         <translation>Mit Zahlen füllen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAutofill.ui" line="38"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="529"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="530"/>
         <source>Fill with parameter values</source>
         <translation>Mit Parameterwerten füllen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgAutofill.ui" line="49"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="530"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="531"/>
         <source>Parameter to use</source>
         <translation>Zu benutzender Parameter</translation>
     </message>
@@ -6261,13 +6274,13 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgConfig</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgConfig.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="534"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="535"/>
         <source>Processing options</source>
         <translation>Verarbeitungsoptionen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgConfig.ui" line="35"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="535"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="536"/>
         <source>Enter setting name to filter list</source>
         <translation>Einstellungsname eingeben, um Liste zu filtern</translation>
     </message>
@@ -6458,7 +6471,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgFixedTable</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgFixedTable.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="539"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="540"/>
         <source>Fixed table</source>
         <translation>Feste Tabelle</translation>
     </message>
@@ -6478,19 +6491,19 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgHelpEdition.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="543"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="544"/>
         <source>Help Editor</source>
         <translation>Hilfeeditor</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgHelpEdition.ui" line="43"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="544"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="545"/>
         <source>Select element to edit</source>
         <translation>Element zur Bearbeitung wählen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgHelpEdition.ui" line="78"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="545"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="546"/>
         <source>Element description</source>
         <translation>Elementbeschreibung</translation>
     </message>
@@ -6499,7 +6512,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgHistory</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgHistory.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="549"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="550"/>
         <source>History</source>
         <translation>Historie</translation>
     </message>
@@ -6579,19 +6592,19 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="408"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="579"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="580"/>
         <source>Export as image</source>
         <translation>Speichern als Rasterbild</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="443"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="587"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="588"/>
         <source>Export as Python script</source>
         <translation>Exportiere als Python-Skript</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="451"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="589"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="590"/>
         <source>Edit model help</source>
         <translation>Modellhilfe bearbeiten</translation>
     </message>
@@ -6601,227 +6614,227 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="150"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="559"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="560"/>
         <source>Inputs</source>
         <translation>Eingaben</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="229"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="560"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="561"/>
         <source>Algorithms</source>
         <translation>Algorithmen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="284"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="561"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="562"/>
         <source>Enter algorithm name to filter list</source>
         <translation>Algorithmenname eingeben, um Liste zu filtern</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="120"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="556"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="557"/>
         <source>Enter model name here</source>
         <translation>Modellname hier eingeben</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="553"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="554"/>
         <source>Processing Modeler</source>
         <translation>Verarbeitungsmodellierung</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="43"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="554"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="555"/>
         <source>Model properties</source>
         <translation>Modelleigenschaften</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="113"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="555"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="556"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="127"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="557"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="558"/>
         <source>Group</source>
         <translation>Gruppe</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="134"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="558"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="559"/>
         <source>Enter group name here</source>
         <translation>Gruppenname eingeben</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="312"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="562"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="563"/>
         <source>Navigation</source>
         <translation>Navigation</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="339"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="563"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="564"/>
         <source>Open model...</source>
         <translation>Modell öffnen…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="342"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="564"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="565"/>
         <source>Open model (Ctrl+O)</source>
         <translation>Modell öffnen (Strg+O)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="345"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="565"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="566"/>
         <source>Ctrl+O</source>
         <translation>Strg+O</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="350"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="566"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="567"/>
         <source>Save model</source>
         <translation>Modell speichern</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="353"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="567"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="568"/>
         <source>Save model (Ctrl+S)</source>
         <translation>Modell speichern (Strg+S)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="356"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="568"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="569"/>
         <source>Ctrl+S</source>
         <translation>Strg+S</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="361"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="569"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="570"/>
         <source>Save model as...</source>
         <translation>Modell speichern als…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="364"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="570"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="571"/>
         <source>Save model as (Ctrl+S)</source>
         <translation>Modell speichern als (Strg+S)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="367"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="571"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="572"/>
         <source>Ctrl+Shift+S</source>
         <translation>Strg+Umschalt+S</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="372"/>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="375"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="572"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="573"/>
         <source>Zoom to &100%</source>
         <translation>Zoom auf &100%</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="378"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="573"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="574"/>
         <source>Ctrl+1</source>
         <translation>Strg+1</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="383"/>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="386"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="574"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="575"/>
         <source>Zoom in</source>
         <translation>Hineinzoomen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="389"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="575"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="576"/>
         <source>Ctrl++</source>
         <translation>Strg++</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="394"/>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="397"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="576"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="577"/>
         <source>Zoom out</source>
         <translation>Hinauszoomen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="400"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="577"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="578"/>
         <source>Ctrl+-</source>
         <translation>Strg+-</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="405"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="578"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="579"/>
         <source>Export as image...</source>
         <translation>Speichern als Rasterbild…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="413"/>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="416"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="580"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="581"/>
         <source>Zoom full</source>
         <translation>Volle Ausdehnung</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="419"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="581"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="582"/>
         <source>Ctrl+0</source>
         <translation>Strg+0</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="424"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="582"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="583"/>
         <source>Export as PDF...</source>
         <translation>Als PDF exportieren…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="427"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="583"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="584"/>
         <source>Export as PDF</source>
         <translation>Als PDF exportieren</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="432"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="584"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="585"/>
         <source>Export as SVG...</source>
         <translation>Speichern als SVG…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="435"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="585"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="586"/>
         <source>Export as SVG</source>
         <translation>Als SVG exportieren</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="440"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="586"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="587"/>
         <source>Export as Python script...</source>
         <translation>Exportiere als Python-Skript…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="448"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="588"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="589"/>
         <source>Edit model help...</source>
         <translation>Modellhilfe bearbeiten…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="456"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="590"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="591"/>
         <source>Run model...</source>
         <translation>Modell ausführen…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="459"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="591"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="592"/>
         <source>Run model (F5)</source>
         <translation>Modell ausführen (F5)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="462"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="592"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="593"/>
         <source>F5</source>
         <translation>F5</translation>
     </message>
@@ -6830,7 +6843,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgMultipleSelection</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgMultipleSelection.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="596"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="597"/>
         <source>Multiple selection</source>
         <translation>Mehrfachauswahl</translation>
     </message>
@@ -6839,13 +6852,13 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgNumberInput</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgNumberInput.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="600"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="601"/>
         <source>Enter number or expression</source>
         <translation>Zahl oder Ausdruck eingeben</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgNumberInput.ui" line="26"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="601"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="602"/>
         <source><html><head/><body><p>Enter expression in the text field. Double-click on elements in the tree to add their values to the expression.</p></body></html></source>
         <translation><html><head/><body><p>Einen Ausdruck in das Textfeld eingeben. Auf Baumelemente doppelklicken, um deren Wert dem Ausdruck hinzuzufügen.</p></body></html></translation>
     </message>
@@ -6855,7 +6868,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgNumberInput.ui" line="36"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="602"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="603"/>
         <source><html><head/><body><p><span style=" font-weight:600;">Warning</span>: if expression result is float value, but integer required, result will be rounded to integer.</p></body></html></source>
         <translation><html><head/><body><p><span style=" font-weight:600;">Warnung</span>: wenn der Ausdruck eine Fließkommazahl ist, aber eine ganze Zahl gefordert ist, wird das Ergebnis auf eine ganze Zahl gerundet.</p></body></html></translation>
     </message>
@@ -6864,19 +6877,19 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>DlgRenderingStyles</name>
     <message>
         <location filename="../python/plugins/processing/ui/DlgRenderingStyles.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="606"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="607"/>
         <source>Dialog</source>
         <translation>Dialog</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgRenderingStyles.ui" line="30"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="607"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="608"/>
         <source>Output</source>
         <translation>Ausgabe</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgRenderingStyles.ui" line="35"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="608"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="609"/>
         <source>Style</source>
         <translation>Stil</translation>
     </message>
@@ -7307,7 +7320,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/resultsdockbase.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="612"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="613"/>
         <source>Results Viewer</source>
         <translation>Ergebnisanzeige</translation>
     </message>
@@ -7457,7 +7470,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Modell bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="616"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="617"/>
         <source>Edit Model…</source>
         <translation>Modell bearbeiten…</translation>
     </message>
@@ -7477,17 +7490,17 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Bearbeite Skript…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="620"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="621"/>
         <source>Edit Script…</source>
         <translation>Bearbeite Skript…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="621"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="622"/>
         <source>Edit Script</source>
         <translation>Bearbeite Skript</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="622"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="623"/>
         <source>Can not find corresponding script file.</source>
         <translation>Kann korrespondierende Skriptdatei nicht finden.</translation>
     </message>
@@ -7609,57 +7622,57 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>EliminateSelection</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="626"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="627"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="627"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="628"/>
         <source>Largest Area</source>
         <translation>Größte Fläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="628"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="629"/>
         <source>Smallest Area</source>
         <translation>Kleinste Fläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="629"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="630"/>
         <source>Largest Common Boundary</source>
         <translation>Größte gemeinsame Grenze</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="630"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="631"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="631"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="632"/>
         <source>Merge selection with the neighbouring polygon with the</source>
         <translation>Vereinige Auswahl mit dem Nachbarpolygon mit den</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="632"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="633"/>
         <source>Eliminated</source>
         <translation>Entfernt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="633"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="634"/>
         <source>Eliminate selected polygons</source>
         <translation>Gewählte Polygone entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="634"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="635"/>
         <source>{0}: (No selection in input layer "{1}")</source>
         <translation>{0}: (Keine Auswahl in Eingabelayer "{1}")</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="635"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="636"/>
         <source>Could not replace geometry of feature with id {0}</source>
         <translation>Konnte Geometrie des Objektes {0} nicht ersetzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="636"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="637"/>
         <source>Could not commit changes</source>
         <translation>Konnte Änderungen nicht festschreiben</translation>
     </message>
@@ -7694,22 +7707,22 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExampleAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="642"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="643"/>
         <source>Create copy of layer</source>
         <translation>Layerkopie erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="643"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="644"/>
         <source>Algorithms for vector layers</source>
         <translation>Algorithmen für Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="640"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="641"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="641"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="642"/>
         <source>Output layer with selected features</source>
         <translation>Eingabelayer mit gewählten Objekten</translation>
     </message>
@@ -7717,7 +7730,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExecuteSQL</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="657"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="658"/>
         <source>Execute SQL</source>
         <translation>SQL-Anweisung ausführen</translation>
     </message>
@@ -7726,52 +7739,52 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="647"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="648"/>
         <source>Vector general</source>
         <translation>Vektoren allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="648"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="649"/>
         <source>Additional input datasources (called input1, .., inputN in the query)</source>
         <translation>Zusätzliche Eingabedatenquellen (in der Abfrage input1, .., inputN genannt)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="649"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="650"/>
         <source>SQL query</source>
         <translation>SQL-Abfrage</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="650"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="651"/>
         <source>Unique identifier field</source>
         <translation>Eindeutiges Schlüsselfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="651"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="652"/>
         <source>Geometry field</source>
         <translation>Geometriefeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="652"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="653"/>
         <source>Autodetect</source>
         <translation>Automatisch feststellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="653"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="654"/>
         <source>No geometry</source>
         <translation>Keine Geometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="654"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="655"/>
         <source>Geometry type</source>
         <translation>Geometrietyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="655"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="656"/>
         <source>CRS</source>
         <translation>KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="656"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="657"/>
         <source>SQL Output</source>
         <translation>SQL-Ausgabe</translation>
     </message>
@@ -7780,7 +7793,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Ausgabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="658"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="659"/>
         <source>Empty SQL. Please enter valid SQL expression and try again.</source>
         <translation>Leerer SQL-Ausdruck. Bitte einen gültigen SQL-Ausdruck eingeben und wiederholen.</translation>
     </message>
@@ -7788,57 +7801,57 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExecuteSql</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="662"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="663"/>
         <source>None</source>
         <translation>Keine</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="663"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="664"/>
         <source>OGR SQL</source>
         <translation>OGR SQL</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="664"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="665"/>
         <source>SQLite</source>
         <translation>SQLite</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="665"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="666"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="666"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="667"/>
         <source>SQL expression</source>
         <translation>SQL-Ausdruck</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="667"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="668"/>
         <source>SQL dialect</source>
         <translation>SQL-Dialekt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="668"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="669"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="669"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="670"/>
         <source>SQL result</source>
         <translation>SQL-Ergebnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="670"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="671"/>
         <source>Execute SQL</source>
         <translation>SQL ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="671"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="672"/>
         <source>Vector miscellaneous</source>
         <translation>Vektor Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="672"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="673"/>
         <source>Empty SQL. Please enter valid SQL expression and try again.</source>
         <translation>Leerer SQL-Ausdruck. Bitte einen gültigen SQL-Ausdruck eingeben und wiederholen.</translation>
     </message>
@@ -7850,7 +7863,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="676"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="677"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
@@ -7859,12 +7872,12 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="677"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="678"/>
         <source>Exploded</source>
         <translation>Explodiert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="678"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="679"/>
         <source>Explode lines</source>
         <translation>Linien sprengen</translation>
     </message>
@@ -7876,47 +7889,47 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="682"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="683"/>
         <source>export,add,information,measurements,areas,lengths,perimeters,latitudes,longitudes,x,y,z,extract,points,lines,polygons</source>
         <translation>export,add,information,measurements,areas,lengths,perimeters,latitudes,longitudes,x,y,z,extract,points,lines,polygons</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="683"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="684"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="684"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="685"/>
         <source>Layer CRS</source>
         <translation>Layer-KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="685"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="686"/>
         <source>Project CRS</source>
         <translation>Projekt-KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="686"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="687"/>
         <source>Ellipsoidal</source>
         <translation>Ellipsenförmig</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="687"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="688"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="688"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="689"/>
         <source>Calculate using</source>
         <translation>Berechnen mit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="689"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="690"/>
         <source>Added geom info</source>
         <translation>Geometrieinfo ergänzt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="690"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="691"/>
         <source>Export geometry columns</source>
         <translation>Geometriesspalten exportieren</translation>
     </message>
@@ -7928,32 +7941,32 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExtendLines</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="694"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="695"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="695"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="696"/>
         <source>Start distance</source>
         <translation>Startabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="696"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="697"/>
         <source>End distance</source>
         <translation>Endabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="697"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="698"/>
         <source>Extend lines</source>
         <translation>Linien erweitern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="698"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="699"/>
         <source>Extended</source>
         <translation>Erweitert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="699"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="700"/>
         <source>Error calculating extended line</source>
         <translation>Fehler bei Berechnung der erweiterten Linie</translation>
     </message>
@@ -7965,22 +7978,22 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="703"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="704"/>
         <source>polygon,from,vector,raster,extent,envelope,bounds,bounding,boundary,layer</source>
         <translation>polygon,from,vector,raster,extent,envelope,bounds,bounding,boundary,layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="704"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="705"/>
         <source>Layer tools</source>
         <translation>Layerwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="705"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="706"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="707"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="708"/>
         <source>Extract layer extent</source>
         <translation>Layerausdehnung extrahieren</translation>
     </message>
@@ -7989,7 +8002,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Abmessung für jedes Objekt einzeln berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="706"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="707"/>
         <source>Extent</source>
         <translation>Umfang</translation>
     </message>
@@ -8001,27 +8014,27 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExtentSelectionPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="711"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="712"/>
         <source>[Leave blank to use min covering extent]</source>
         <translation>[Freilassen, um min. Abdeckungsumfang zu nutzen]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="712"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="713"/>
         <source>Use layer/canvas extent</source>
         <translation>Benutze Layer/Leinwand Ausdehnung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="713"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="714"/>
         <source>Select extent on canvas</source>
         <translation>Wähle Ausdehnung auf Leinwand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="714"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="715"/>
         <source>Use min covering extent from input layers</source>
         <translation>Benutze minimale Abdeckungsausmasse von Eingangslayern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="715"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="716"/>
         <source>Select Extent</source>
         <translation>Ausdehnung wählen</translation>
     </message>
@@ -8030,7 +8043,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Ausdehnung wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="716"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="717"/>
         <source>Use extent from</source>
         <translation>Ausdehnung verwenden aus</translation>
     </message>
@@ -8147,22 +8160,22 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">[GDAL] Projektionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="720"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="721"/>
         <source>Input file</source>
         <translation>Eingabedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="721"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="722"/>
         <source>Create also .prj file</source>
         <translation>Auch .prj-Datei erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="722"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="723"/>
         <source>Extract projection</source>
         <translation>Projektion extrahieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="723"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="724"/>
         <source>Raster projections</source>
         <translation>Rasterprojektionen</translation>
     </message>
@@ -8201,37 +8214,37 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>ExtractSpecificVertices</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="727"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="728"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="728"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="729"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="729"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="730"/>
         <source>Vertex indices</source>
         <translation>Stützpunktindizes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="730"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="731"/>
         <source>Vertices</source>
         <translation>Stützpunkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="731"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="732"/>
         <source>Extract specific vertices</source>
         <translation>Bestimmte Stützpunkte extrahieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="732"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="733"/>
         <source>points,vertex,nodes</source>
         <translation>points,vertex,nodes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="733"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="734"/>
         <source>'{}' is not a valid vertex index</source>
         <translation>'{}' ist kein gültiger Stützpunktindex</translation>
     </message>
@@ -8239,12 +8252,12 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>FeatureSourceWidgetWrapper</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="737"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="738"/>
         <source>Select file</source>
         <translation>Datei wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="738"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="739"/>
         <source>Selected features only</source>
         <translation>Nur gewählte Objekte</translation>
     </message>
@@ -8253,67 +8266,67 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
     <name>FieldsCalculator</name>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="742"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="743"/>
         <source>Field calculator</source>
         <translation>Feldrechner</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="26"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="743"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="744"/>
         <source>Create a new field</source>
         <translation>Neues Feld anlegen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="59"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="744"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="745"/>
         <source>Output field name</source>
         <translation>Ausgabefeldname</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="72"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="745"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="746"/>
         <source>Output field type</source>
         <translation>Ausgabefeldtyp</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="85"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="746"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="747"/>
         <source>Output field width</source>
         <translation>Ausgabefeldbreite</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="95"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="747"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="748"/>
         <source>Width of complete output. For example 123,456 means 6 as field width.</source>
         <translation>Breite der kompletten Ausgabe. Zum  Beispiel bedeutet 123,456 eine Feldbreite von 6.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="108"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="748"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="749"/>
         <source>Precision</source>
         <translation>Genauigkeit</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="146"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="749"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="750"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="165"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="750"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="751"/>
         <source>Update existing field</source>
         <translation>Vorhandenes Feld erneuern</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="195"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="751"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="752"/>
         <source>Output file</source>
         <translation>Ausgabedatei</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/DlgFieldsCalculator.ui" line="205"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="752"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="753"/>
         <source>...</source>
         <translation>…</translation>
     </message>
@@ -8322,62 +8335,62 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="753"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="754"/>
         <source>Vector table</source>
         <translation>Vektortabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="754"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="755"/>
         <source>Float</source>
         <translation>Fließkommazahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="755"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="756"/>
         <source>Integer</source>
         <translation>Ganze Zahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="756"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="757"/>
         <source>String</source>
         <translation>Zeichenkette</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="757"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="758"/>
         <source>Date</source>
         <translation>Datum</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="758"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="759"/>
         <source>Result field name</source>
         <translation>Ergebnisfeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="759"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="760"/>
         <source>Field type</source>
         <translation>Feldtyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="760"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="761"/>
         <source>Field length</source>
         <translation>Feldlänge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="761"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="762"/>
         <source>Field precision</source>
         <translation>Feldgenauigkeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="762"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="763"/>
         <source>Create new field</source>
         <translation>Neues Feld erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="763"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="764"/>
         <source>Formula</source>
         <translation>Formel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="764"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="765"/>
         <source>Calculated</source>
         <translation>Berechnet</translation>
     </message>
@@ -8396,7 +8409,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="765"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="766"/>
         <source>Field name is not set. Please enter a field name</source>
         <translation>Feldname ist nicht gesetzt. Bitte Feldname eingeben</translation>
     </message>
@@ -8404,22 +8417,22 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>FieldsCalculatorDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="769"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="770"/>
         <source>[Save to temporary file]</source>
         <translation>[In Temporärdatei speichern]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="770"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="771"/>
         <source>Save file</source>
         <translation>Datei speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="771"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="772"/>
         <source>Unable to execute algorithm</source>
         <translation>Konnte Anweisung nicht ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="772"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="773"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
@@ -8461,7 +8474,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Felder überarbeiten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="776"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="777"/>
         <source>Vector table</source>
         <translation>Vektortabelle</translation>
     </message>
@@ -8469,27 +8482,27 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>FieldsMappingModel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="780"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="781"/>
         <source>Source expression</source>
         <translation>Quellausdruck</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="781"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="782"/>
         <source>Field name</source>
         <translation>Feldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="782"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="783"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="783"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="784"/>
         <source>Length</source>
         <translation>Länge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="784"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="785"/>
         <source>Precision</source>
         <translation>Genauigkeit</translation>
     </message>
@@ -8497,7 +8510,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>FieldsMappingPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="788"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="789"/>
         <source>Do you want to reset the field mapping?</source>
         <translation>Soll die Feldzuordnung zurückgesetzt werden?</translation>
     </message>
@@ -8509,67 +8522,67 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="792"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="793"/>
         <source>Vector table</source>
         <translation>Vektortabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="793"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="794"/>
         <source>Integer</source>
         <translation>Ganze Zahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="794"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="795"/>
         <source>Float</source>
         <translation>Fließkommazahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="795"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="796"/>
         <source>String</source>
         <translation>Zeichenkette</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="796"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="797"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="797"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="798"/>
         <source>Result field name</source>
         <translation>Ergebnisfeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="798"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="799"/>
         <source>Field type</source>
         <translation>Feldtyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="799"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="800"/>
         <source>Field length</source>
         <translation>Feldlänge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="800"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="801"/>
         <source>Field precision</source>
         <translation>Feldgenauigkeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="801"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="802"/>
         <source>Global expression</source>
         <translation>Globaler Ausdruck</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="802"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="803"/>
         <source>Formula</source>
         <translation>Formel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="803"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="804"/>
         <source>Calculated</source>
         <translation>Berechnet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="805"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="806"/>
         <source>FieldPyculator code execute error.Global code block can't be executed!
 {0}
 {1}</source>
@@ -8578,7 +8591,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 {1}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="806"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="807"/>
         <source>FieldPyculator code execute error. Field code block can't be executed!
 {0}
 {1}</source>
@@ -8587,7 +8600,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 {1}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="807"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="808"/>
         <source>FieldPyculator code execute error
 Field code block does not return '{0}' variable! Please declare this variable in your code!</source>
         <translation>FieldPyculator-Code Ausführungsfehler
@@ -8616,7 +8629,7 @@ Field code block does not return '%s1' variable! Please declare this v
 Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren sie diese Variable im Code!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="804"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="805"/>
         <source>Advanced Python field calculator</source>
         <translation>Erweiterter Python-Feldrechner</translation>
     </message>
@@ -8628,17 +8641,17 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
         <translation type="vanished">…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="811"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="812"/>
         <source>Select directory</source>
         <translation>Verzeichnis wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="812"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="813"/>
         <source>Select file</source>
         <translation>Datei wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="813"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="814"/>
         <source>All files (*.*)</source>
         <translation>Alle Dateien (*.*)</translation>
     </message>
@@ -8654,22 +8667,22 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
         <translation type="vanished">Datei wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="817"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="818"/>
         <source>Select Folder</source>
         <translation>Wähle Ordner</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="818"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="819"/>
         <source>Select File</source>
         <translation>Datei wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="819"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="820"/>
         <source>{} files</source>
         <translation>{}-Dateien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="820"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="821"/>
         <source>);;All files (*.*)</source>
         <translation>);;Alle Dateien (*.*)</translation>
     </message>
@@ -8677,27 +8690,27 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
 <context>
     <name>FileWidgetWrapper</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="824"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="825"/>
         <source>Select file</source>
         <translation>Datei wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="825"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="826"/>
         <source>{} files</source>
         <translation>{} Dateien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="826"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="827"/>
         <source>);;All files (*.*)</source>
         <translation>);;Alle Dateien (*.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="827"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="828"/>
         <source>All files (*.*)</source>
         <translation>Alle Dateien (*.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="828"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="829"/>
         <source>Select File</source>
         <translation>Datei wählen</translation>
     </message>
@@ -8732,42 +8745,42 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
 <context>
     <name>FindProjection</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="832"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="833"/>
         <source>crs,srs,coordinate,reference,system,guess,estimate,finder,determine</source>
         <translation>kbs,crs,srs,koordinate,referenz,system,erraten,schätzen,suche,finden,bestimmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="833"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="834"/>
         <source>Vector general</source>
         <translation>Vektoren allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="834"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="835"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="835"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="836"/>
         <source>Target area for layer</source>
         <translation>Zielbereich für Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="836"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="837"/>
         <source>CRS candidates</source>
         <translation>KBS-Kandidaten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="837"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="838"/>
         <source>Find projection</source>
         <translation>Projektion finden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="838"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="839"/>
         <source>Found candidate CRS: {}</source>
         <translation>Gefundene KBS-Kandidaten: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="839"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="840"/>
         <source>No matching projections found</source>
         <translation>Keine passenden Projektionen gefunden</translation>
     </message>
@@ -8849,17 +8862,17 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
 <context>
     <name>FixedTableDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="843"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="844"/>
         <source>Add row</source>
         <translation>Zeile hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="844"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="845"/>
         <source>Remove row(s)</source>
         <translation>Zeile(n) entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="845"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="846"/>
         <source>Remove all</source>
         <translation>Alle entfernen</translation>
     </message>
@@ -8871,7 +8884,7 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
         <translation type="vanished">Fixe Tabelle %dx%d</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="849"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="850"/>
         <source>Fixed table {0}x{1}</source>
         <translation>Fixe Tabelle {0}x{1}</translation>
     </message>
@@ -8890,7 +8903,7 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
         <location filename="../python/plugins/processing/ui/widgetNumberSelector.ui" line="14"/>
         <location filename="../python/plugins/processing/ui/widgetParametersPanel.ui" line="14"/>
         <location filename="../python/plugins/processing/ui/widgetRangeSelector.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="853"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="854"/>
         <source>Form</source>
         <translation>Formular</translation>
     </message>
@@ -8916,7 +8929,7 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="207"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="894"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="895"/>
         <source>(</source>
         <translation>(</translation>
     </message>
@@ -8934,13 +8947,13 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="186"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="891"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="892"/>
         <source>sqrt</source>
         <translation>sqrt</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="123"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="882"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="883"/>
         <source>)</source>
         <translation>)</translation>
     </message>
@@ -8950,19 +8963,19 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="61"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="875"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="876"/>
         <source>^</source>
         <translation>^</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="82"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="878"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="879"/>
         <source>-</source>
         <translation>-</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="116"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="881"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="882"/>
         <source>/</source>
         <translation>/</translation>
     </message>
@@ -8972,121 +8985,121 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="165"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="888"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="889"/>
         <source>></source>
         <translation>></translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="102"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="879"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="880"/>
         <source>*</source>
         <translation>*</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="137"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="884"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="885"/>
         <source>AND</source>
         <translation>AND</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="109"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="880"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="881"/>
         <source><=</source>
         <translation><=</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="24"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="870"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="871"/>
         <source>Layers</source>
         <translation>Layer</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="34"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="871"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="872"/>
         <source>Operators</source>
         <translation>Operatoren</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="40"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="872"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="873"/>
         <source>acos</source>
         <translation>acos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="47"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="873"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="874"/>
         <source>asin</source>
         <translation>asin</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="75"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="877"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="878"/>
         <source><</source>
         <translation><</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="130"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="883"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="884"/>
         <source>sin</source>
         <translation>sin</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="144"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="885"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="886"/>
         <source>tan</source>
         <translation>tan</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="151"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="886"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="887"/>
         <source>>=</source>
         <translation>>=</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="172"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="889"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="890"/>
         <source>atan</source>
         <translation>atan</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="179"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="890"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="891"/>
         <source>cos</source>
         <translation>cos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="193"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="892"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="893"/>
         <source>log10</source>
         <translation>log10</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="200"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="893"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="894"/>
         <source>OR</source>
         <translation>OR</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="214"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="895"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="896"/>
         <source>ln</source>
         <translation>ln</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="265"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="898"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="899"/>
         <source>Add…</source>
         <translation>Hinzufügen…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="278"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="899"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="900"/>
         <source>Save…</source>
         <translation>Speichern…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="68"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="876"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="877"/>
         <source>=</source>
         <translation>=</translation>
     </message>
@@ -9100,13 +9113,13 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="158"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="887"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="888"/>
         <source>!=</source>
         <translation>!=</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="54"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="874"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="875"/>
         <source>+</source>
         <translation>+</translation>
     </message>
@@ -9116,13 +9129,13 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="238"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="896"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="897"/>
         <source>Expression</source>
         <translation>Ausdruck</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="250"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="897"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="898"/>
         <source>Predefined expressions</source>
         <translation>Vordefinierte Ausdrücke</translation>
     </message>
@@ -9137,31 +9150,31 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/interpolationdatawidgetbase.ui" line="20"/>
         <location filename="../python/plugins/processing/algs/qgis/ui/interpolationdatawidgetbase.ui" line="61"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="865"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="866"/>
         <source>Vector layer</source>
         <translation>Vektorlayer</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/interpolationdatawidgetbase.ui" line="40"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="866"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="867"/>
         <source>Interpolation attribute</source>
         <translation>Interpolationsattribut</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/interpolationdatawidgetbase.ui" line="66"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="867"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="868"/>
         <source>Attribute</source>
         <translation>Attribut</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/interpolationdatawidgetbase.ui" line="71"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="868"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="869"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/interpolationdatawidgetbase.ui" line="79"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="869"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="870"/>
         <source>Use Z-coordinate for interpolation</source>
         <translation>Z-Koordinate für Interpolation verwenden</translation>
     </message>
@@ -9182,104 +9195,104 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
         <location filename="../python/plugins/processing/ui/widgetBatchPanel.ui" line="116"/>
         <location filename="../python/plugins/processing/ui/widgetNumberSelector.ui" line="60"/>
         <location filename="../python/plugins/processing/ui/widgetNumberSelector.ui" line="73"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="858"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="859"/>
         <source>...</source>
         <translation>…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetBatchPanel.ui" line="39"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="931"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="932"/>
         <source>Toggle advanced mode</source>
         <translation>Erweiterten Modus umschalten</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/reliefcolorswidgetbase.ui" line="21"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="854"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="855"/>
         <source>Lower bound</source>
         <translation>Untere Begrenzung</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/reliefcolorswidgetbase.ui" line="26"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="855"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="856"/>
         <source>Upper bound</source>
         <translation>Obere Begrenzung</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/reliefcolorswidgetbase.ui" line="31"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="856"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="857"/>
         <source>Color</source>
         <translation>Farbe</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/reliefcolorswidgetbase.ui" line="41"/>
         <location filename="../python/plugins/processing/ui/widgetBatchPanel.ui" line="26"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="857"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="858"/>
         <source>Add row</source>
         <translation>Zeile hinzufügen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/reliefcolorswidgetbase.ui" line="51"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="859"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="860"/>
         <source>Remove row</source>
         <translation>Zeile entfernen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/reliefcolorswidgetbase.ui" line="61"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="860"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="861"/>
         <source>Move up</source>
         <translation>Verschiebe aufwärts</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/reliefcolorswidgetbase.ui" line="71"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="861"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="862"/>
         <source>Move down</source>
         <translation>Verschiebe abwärts</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/reliefcolorswidgetbase.ui" line="94"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="862"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="863"/>
         <source>Load colors from file</source>
         <translation>Farben aus Datei laden</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/reliefcolorswidgetbase.ui" line="104"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="863"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="864"/>
         <source>Save colors to file</source>
         <translation>Farben in Datei speichern</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/reliefcolorswidgetbase.ui" line="114"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="864"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="865"/>
         <source>Generate color table automatically</source>
         <translation>Farbtabelle automatisch erzeugen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetBatchPanel.ui" line="55"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="932"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="933"/>
         <source>Remove row(s)</source>
         <translation>Zeile(n) entfernen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetBatchPanel.ui" line="100"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="933"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="934"/>
         <source>Open</source>
         <translation>Öffnen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetBatchPanel.ui" line="113"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="934"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="935"/>
         <source>Save</source>
         <translation>Speichern</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetBatchPanel.ui" line="126"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="935"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="936"/>
         <source>Load layers on completion</source>
         <translation>Layer bei Abschluß laden</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetLayerSelector.ui" line="55"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="938"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="939"/>
         <source>Iterate over this layer</source>
         <translation>Iteriere über diesen Layer</translation>
     </message>
@@ -9289,194 +9302,194 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetParametersPanel.ui" line="44"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="936"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="937"/>
         <source>Advanced parameters</source>
         <translation>Fortgeschrittene Parameter</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetRangeSelector.ui" line="26"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="929"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="930"/>
         <source>Min</source>
         <translation>Min</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetRangeSelector.ui" line="65"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="930"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="931"/>
         <source>Max</source>
         <translation>Max</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="20"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="907"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="908"/>
         <source>Fields</source>
         <translation>Felder</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="43"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="908"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="909"/>
         <source>Add new field</source>
         <translation>Neues Feld hinzufügen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="46"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="909"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="910"/>
         <source>add</source>
         <translation>hinzufügen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="53"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="910"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="911"/>
         <source>Delete selected field</source>
         <translation>Gewähltes Feld löschen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="56"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="911"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="912"/>
         <source>delete</source>
         <translation>löschen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="63"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="912"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="913"/>
         <source>Move selected field up</source>
         <translation>Gewähltes Feld nach oben</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="66"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="913"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="914"/>
         <source>up</source>
         <translation>oben</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="73"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="914"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="915"/>
         <source>Move selected field down</source>
         <translation>Gewähltes Feld nach unten</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="76"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="915"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="916"/>
         <source>down</source>
         <translation>unten</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="83"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="916"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="917"/>
         <source>Reset all fields</source>
         <translation>Alle Felder zurücksetzen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="86"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="917"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="918"/>
         <source>reset</source>
         <translation>zurücksetzen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="112"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="918"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="919"/>
         <source>Load fields from layer</source>
         <translation>Felder aus Layer laden</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="135"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="919"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="920"/>
         <source>Load fields from selected layer</source>
         <translation>Felder des gewählten Layers laden</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/fieldsmappingpanelbase.ui" line="138"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="920"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="921"/>
         <source>Load fields</source>
         <translation>Felder laden</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="23"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="921"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="922"/>
         <source>equals</source>
         <translation>entspricht</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="30"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="922"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="923"/>
         <source>contains</source>
         <translation>enthält</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="37"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="923"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="924"/>
         <source>touches</source>
         <translation>berührt</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="44"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="924"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="925"/>
         <source>intersects</source>
         <translation>schneidet sich mit</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="51"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="925"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="926"/>
         <source>within</source>
         <translation>innerhalb</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="58"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="926"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="927"/>
         <source>overlaps</source>
         <translation>überlappt</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="65"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="927"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="928"/>
         <source>crosses</source>
         <translation>kreuzt</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetGeometryPredicateSelector.ui" line="72"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="928"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="929"/>
         <source>disjoint</source>
         <translation>getrennt</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterResolutionWidget.ui" line="20"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="900"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="901"/>
         <source>Number of rows (pixels) in output raster</source>
         <translation>Anzahl der Zeilen (Pixel) im Ausgaberaster</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterResolutionWidget.ui" line="36"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="901"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="902"/>
         <source>Columns</source>
         <translation>Spalten</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterResolutionWidget.ui" line="46"/>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterResolutionWidget.ui" line="99"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="902"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="903"/>
         <source>Resolution of each pixel in output raster, in layer units</source>
         <translation>Auflösung der Einzelpixel in Ausgaberaster in Layereinheiten</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterResolutionWidget.ui" line="59"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="903"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="904"/>
         <source>Pixel size X</source>
         <translation>Pixelbreite</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterResolutionWidget.ui" line="66"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="904"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="905"/>
         <source>Number of columns (pixels) in output raster</source>
         <translation>Anzahl der Spalten (Pixel) des Ausgaberasters</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterResolutionWidget.ui" line="82"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="905"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="906"/>
         <source>Rows</source>
         <translation>Zeilen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterResolutionWidget.ui" line="92"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="906"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="907"/>
         <source>Pixel size Y</source>
         <translation>Pixelhöhe</translation>
     </message>
@@ -9484,7 +9497,7 @@ Feldcodeblock gibt nicht die '%s1' Variable zurück! Bitte deklarieren
         <location filename="../python/plugins/processing/ui/widgetBaseSelector.ui" line="42"/>
         <location filename="../python/plugins/processing/ui/widgetLayerSelector.ui" line="42"/>
         <location filename="../python/plugins/processing/ui/widgetLayerSelector.ui" line="58"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="937"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="938"/>
         <source>…</source>
         <translation>…</translation>
     </message>
@@ -9545,12 +9558,12 @@ Bitte konfigurieren bevor Algorithmen daraus verwendet werden.</translation>
 <context>
     <name>GdalAlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="942"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="943"/>
         <source>Activate</source>
         <translation>Aktivieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="943"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="944"/>
         <source>Location of GDAL docs</source>
         <translation>Ort der GDAL-Doku</translation>
     </message>
@@ -9565,17 +9578,17 @@ Bitte konfigurieren bevor Algorithmen daraus verwendet werden.</translation>
 <context>
     <name>GdalParametersPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="947"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="948"/>
         <source>GDAL/OGR console call</source>
         <translation>GDAL/OGR Aufruf</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="948"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="949"/>
         <source>[temporary file]</source>
         <translation>[temporäre Datei]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="949"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="950"/>
         <source>Invalid value for parameter '{0}'</source>
         <translation>Ungültiger Wert für Parameter '{0}'</translation>
     </message>
@@ -11048,52 +11061,52 @@ See log for more details</source>
 <context>
     <name>GeometryByExpression</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="953"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="954"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="954"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="955"/>
         <source>Polygon</source>
         <translation>Polygon</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="955"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="956"/>
         <source>Output geometry type</source>
         <translation>Ausgabegeometrietyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="956"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="957"/>
         <source>Output geometry has z dimension</source>
         <translation>Ausgabegeometrie hat Z-Dimension</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="957"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="958"/>
         <source>Output geometry has m values</source>
         <translation>Ausgabegeometrie hat M-Werte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="958"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="959"/>
         <source>Geometry expression</source>
         <translation>Geometrieausdruck</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="959"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="960"/>
         <source>Geometry by expression</source>
         <translation>Geometrie nach Ausdruck</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="960"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="961"/>
         <source>Modified geometry</source>
         <translation>Geänderte Geometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="961"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="962"/>
         <source>Evaluation error: {0}</source>
         <translation>Auswertungsfehler: {0}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="962"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="963"/>
         <source>{} is not a geometry</source>
         <translation>{} ist keine Geometrie</translation>
     </message>
@@ -11105,62 +11118,62 @@ See log for more details</source>
         <translation type="vanished">Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="966"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="967"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="967"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="968"/>
         <source>Centroids</source>
         <translation>Zentroide</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="968"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="969"/>
         <source>Nodes</source>
         <translation>Knoten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="969"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="970"/>
         <source>Linestrings</source>
         <translation>Linien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="970"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="971"/>
         <source>Multilinestrings</source>
         <translation>Multilinien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="971"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="972"/>
         <source>Polygons</source>
         <translation>Polygone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="972"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="973"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="973"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="974"/>
         <source>New geometry type</source>
         <translation>Neuer Geometrietyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="974"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="975"/>
         <source>Converted</source>
         <translation>Umgewandelt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="976"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="977"/>
         <source>Cannot convert from {0} to LineStrings</source>
         <translation>Konnte nicht von {0} in LineStrings wandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="977"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="978"/>
         <source>Cannot convert from {0} to MultiLineStrings</source>
         <translation>Konnte nicht von {0} in MultiLineStrings wandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="978"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="979"/>
         <source>Cannot convert from Point to Polygon</source>
         <translation>Kann Punkte nicht in Polygone wandeln</translation>
     </message>
@@ -11169,7 +11182,7 @@ See log for more details</source>
         <translation type="vanished">Kann %s nicht in %s umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="975"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="976"/>
         <source>Convert geometry type</source>
         <translation>Geometrietyp umwandeln</translation>
     </message>
@@ -11307,69 +11320,69 @@ See log for more details</source>
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="982"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="983"/>
         <source>Could not open GRASS GIS 7 algorithm: {0}
 {1}</source>
         <translation>Konnte GRASS7-Algorithmus nicht öffnen: {0}
 {1}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="983"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="984"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="984"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="985"/>
         <source>GRASS GIS 7 region extent</source>
         <translation>GRASS GIS 7-Regionsgrenzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="985"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="986"/>
         <source>GRASS GIS 7 region cellsize (leave 0 for default)</source>
         <translation>GRASS-Regionenzellengröße (0 für um Voreinstellung beizubehalten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="986"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="987"/>
         <source>Output Rasters format options (createopt)</source>
         <translation>Rasterausgabeoptionen (createopt)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="987"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="988"/>
         <source>Output Rasters format metadata options (metaopt)</source>
         <translation>Rasterausgabemetadatenoptionen (metaopt)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="988"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="989"/>
         <source>v.in.ogr snap tolerance (-1 = no snap)</source>
         <translation>v.in.ogr Fangtoleranz (-1 = Kein Fang)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="989"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="990"/>
         <source>v.in.ogr min area</source>
         <translation>v.in.ogr min. Fläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="990"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="991"/>
         <source>v.out.ogr output type</source>
         <translation>v.out.ogr Ausgabetyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="991"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="992"/>
         <source>GRASS GIS 7 folder is not configured. Please configure it before running GRASS GIS 7 algorithms.</source>
         <translation>GRASS GIS 7-Verzeichnis ist nicht konfiguriert. Bitte vor Ausführung von GRASS GIS 7-Algorithmen konfigurieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="992"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="993"/>
         <source>GRASS GIS 7 execution commands</source>
         <translation>GRASS GIS 7-Befehlsausführung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="993"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="994"/>
         <source>processInputs end. Commands: {}</source>
         <translation>processInputs Ende. Befehle: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="994"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="995"/>
         <source>processCommands end. Commands: {}</source>
         <translation>processInputs Ende. Befehle: {}</translation>
     </message>
@@ -11377,47 +11390,47 @@ See log for more details</source>
 <context>
     <name>Grass7AlgorithmProvider</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="998"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="999"/>
         <source>Activate</source>
         <translation>Aktivieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="999"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1000"/>
         <source>GRASS7 folder</source>
         <translation>GRASS7-Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1000"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1001"/>
         <source>Log execution commands</source>
         <translation>Befehlsausführung protokollieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1001"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1002"/>
         <source>Log console output</source>
         <translation>Konsolenausgabe protokollieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1002"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1003"/>
         <source>Location of GRASS docs</source>
         <translation>Ort der GRASS-Doku</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1003"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1004"/>
         <source>For vector layers, use v.external (faster) instead of v.in.ogr</source>
         <translation>Für Vektorlayer v.extranel (schneller) statt v.in.ogr verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1004"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1005"/>
         <source>Could not open GRASS GIS 7 algorithm: {0}</source>
         <translation>Konnte GRASS7-Algorithmus nicht öffnen: {0}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1005"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1006"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1006"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1007"/>
         <source>Could not open GRASS GIS 7 algorithm: {0}
 {1}</source>
         <translation>Konnte GRASS7-Algorithmus nicht öffnen: {0}
@@ -11441,27 +11454,27 @@ See log for more details</source>
 <context>
     <name>Grass7Utils</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1010"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1011"/>
         <source>GRASS GIS 7 execution console output</source>
         <translation>Konsolenausgabe der GRASS GIS 7-Ausführung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1012"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1013"/>
         <source>GRASS GIS 7 folder is not configured. Please configure it before running GRASS GIS 7 algorithms.</source>
         <translation>GRASS GIS 7-Verzeichnis ist nicht konfiguriert. Bitte vor Ausführung von GRASS GIS 7-Algorithmen konfigurieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1013"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1014"/>
         <source>GRASS GIS 7 binary {0} can't be found on this system from a shell. Please install it or configure your PATH {1} environment variable.</source>
         <translation>GRASS GIS 7 Programm {0} konnte auf diesem System nicht aus einer Shell gefunden werden. Bitte installieren oder die Umgebungsvariable PATH {1} konfigurieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1014"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1015"/>
         <source>GRASS 7 can't be found on this system from a shell. Please install it or configure your PATH environment variable.</source>
         <translation>GRASS 7 konnte auf diesem System nicht aus einer Shell gefunden wurde. Bitte installieren oder die Umgebungsvariable PATH konfigurieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1011"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1012"/>
         <source>The specified GRASS 7 folder "{}" does not contain a valid set of GRASS 7 modules.
 Please, go to the Processing settings dialog, and check that the GRASS 7
 folder is correctly configured</source>
@@ -11561,12 +11574,12 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">r.reclass.area.greater - Reklassifiziere Rasterkarte durch Auswahl von Flächen größer eines gegebenen Werts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="36"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="43"/>
         <source>r.horizon.height - Horizon angle computation from a digital elevation model.</source>
         <translation>r.horizon.height - Berechnung des Horizontwinkel auf Grundlage eines digitalen Höhenmodells.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="255"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="197"/>
         <source>r.sunmask.datetime - Calculates cast shadow areas from sun position and elevation raster map.</source>
         <translation>r.sunmask.datetime - Schattenkarten aus Sonnenposition und Rasterkarten mit Höheninformation berechnen.</translation>
     </message>
@@ -11575,12 +11588,12 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">r.lake.layer - See aus Quellenpunkt einer gegebenen Höhe füllen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="18"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="193"/>
         <source>r.sunmask.position - Calculates cast shadow areas from sun position and elevation raster map.</source>
         <translation>r.sunmask.position - Schattenkarten aus Sonnenposition und Rasterkarten mit Höheninformation berechnen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="214"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="110"/>
         <source>r.in.lidar.info - Extract information from LAS file</source>
         <translation>r.in.lidar.info - Information aus LAS-Datei extrahieren</translation>
     </message>
@@ -11601,17 +11614,17 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">v.buffer.column - Erzeugt einen Puffer um Objekte mit gegebenen Typ.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="119"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="161"/>
         <source>Performs bilinear or bicubic spline interpolation with Tykhonov regularization.</source>
         <translation>Führt bi-lineare oder bi-kubische oder Spline-Interpolation mit Tichonow-Regularisierung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="52"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="137"/>
         <source>Outputs raster map layer values lying along user defined transect line(s).</source>
         <translation>Gibt Rasterkartenlayerwerte entlang einer oder mehreren benutzerdefinierten Transektlinien aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="23"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="295"/>
         <source>Calculates solar elevation, solar azimuth, and sun hours.</source>
         <translation>Berechnet Sonnenhöhe, -winkel und -stunden.</translation>
     </message>
@@ -11620,32 +11633,32 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">r.li.shape.ascii - Berechnet Shapeindex auf einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="199"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="230"/>
         <source>Calculates patch number index on a raster map, using a 4 neighbour algorithm.</source>
         <translation>Berechnet Patch-Anzahl-Index einer Rasterkarte, unter Verwendung eines 4-Nachbarn-Algorithmus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="69"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="186"/>
         <source>r.li.renyi.ascii - Calculates Renyi's diversity index on a raster map</source>
         <translation>r.li.renyi.ascii - Berechnet Renyi-Diversitäts-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="116"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="185"/>
         <source>r.blend.combine - Blends color components of two raster maps by a given ratio and export into a unique raster.</source>
         <translation>r.blend.combine - Farbkomponenten zweier Raster einem Verhältnis anpassen und in eine einziges Raster exportieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="194"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="88"/>
         <source>Performs contextual image classification using sequential maximum a posteriori (SMAP) estimation.</source>
         <translation>Führt eine kontextbezogene Bildklassifizierung mittels sequentieller Maximum-Aposterori-Schätzung (SMAP) durch</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="286"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="306"/>
         <source>Generates spectral signatures for land cover types in an image using a clustering algorithm.</source>
         <translation>Generiert Spektralsignaturen für Bodenbedeckungstypen in einem Bild mittels Häufungsalgorithmus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="224"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="199"/>
         <source>i.eb.hsebal01.coords - Computes sensible heat flux iteration SEBAL 01. Inline coordinates</source>
         <translation>i.eb.hsebal01.coords - Berechnet Sensible-Heat-Flux-Iteration. Inline-Koordinaten</translation>
     </message>
@@ -11654,7 +11667,7 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">v.to.rast.attribute - Konvertiert (rastert) eine Vektorkarte in eine Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="126"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="210"/>
         <source>Computes biomass growth, precursor of crop yield calculation.</source>
         <translation>Berechnet Biomassenzuwachs, Vorläufer von Feldfruchtberechnungen</translation>
     </message>
@@ -11663,97 +11676,97 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Berichtigt ein Bild durch die Berechnung der Koordinatentransformation für jedes Pixel des Bildes nach Kontrollpunkten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="230"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="160"/>
         <source>Calculates Optimum-Index-Factor table for spectral bands</source>
         <translation>Optimale Indexfaktortabelle für Spektralkanäle berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="211"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="179"/>
         <source>Raster map calculator.</source>
         <translation>Rasterkartenrechner.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="174"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="130"/>
         <source>Calculates shape index on a raster map</source>
         <translation>Berechnet Shapeindex auf einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="179"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="173"/>
         <source>Calculates Pielou's diversity index on a raster map</source>
         <translation>Berechnet Pielou-Diversitäts-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="90"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="99"/>
         <source>Computes potential evapotranspiration calculation with hourly Penman-Monteith.</source>
         <translation>Berechnet potentielle Evapotranspiration mit stündlichem Penman-Monteith.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="156"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="202"/>
         <source>r.li.shape.ascii - Calculates shape index on a raster map</source>
         <translation>r.li.shape.ascii - Berechnet Shapeindex auf einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="104"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="263"/>
         <source>Identifies segments (objects) from imagery data.</source>
         <translation>Identifiziert Segmente (Objekte) aus Bilddaten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="77"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="233"/>
         <source>Computes topographic correction of reflectance.</source>
         <translation>Berechnet topographische Korrektur der Reflektion.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="170"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="31"/>
         <source>Computes evapotranspiration calculation Priestley and Taylor formulation, 1972.</source>
         <translation>Berechnet Evapotranspiration mit Priestley und Taylor Formulierung, 1972.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="135"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="175"/>
         <source>Calculates different types of vegetation indices.</source>
         <translation>Berechnet verschiedene Typen von Vegetationsindizes.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="196"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="74"/>
         <source>Generates statistics for i.smap from raster map.</source>
         <translation>Generiert Statistik für i.smap aus Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="49"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="17"/>
         <source>Computes evaporative fraction (Bastiaanssen, 1995) and root zone soil moisture (Makin, Molden and Bastiaanssen, 2001).</source>
         <translation>Berechnet evaporative Bruchteil (Bastiaanssen, 1995) und Bodenfeuchtigkeit der Wurzelzone (Makin, Molden und Bastiaanssen, 2001).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="26"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="245"/>
         <source>Actual evapotranspiration for diurnal period (Bastiaanssen, 1995). </source>
         <translation>Tatsächliche Evapotranspiration für Tagperiode (Bastiaanssen, 1995).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="250"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="189"/>
         <source>r.mask.rast - Creates a MASK for limiting raster operation.</source>
         <translation>r.mask.rast - Maske (MASK) erzeugen, um Rasteroperationen zu begrenzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="63"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="26"/>
         <source>i.topo.coor.ill - Creates illumination model for topographic correction of reflectance.</source>
         <translation>i.topo.coor.ill - Erzeugt Beleuchtungsmodell für topographische Reflektionskorrektur.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="30"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="194"/>
         <source>Calculates dominance's diversity index on a raster map</source>
         <translation>Berechnet Dominanzdiversitätsindex einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="120"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="10"/>
         <source>r.walk.points - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from point vector layers.</source>
         <translation>r.walk.points - Rasterkarte aus den kumulierten Kosten für die Bewegung zwischen zwei verschiedenen geographischen Orten auf einer Eingaberasterkarte deren Zellen Kategoriewerte Kosten von Punktvektorlayern repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="93"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="62"/>
         <source>Computes broad band albedo from surface reflectance. </source>
         <translation>Berechnet Breitbandalbedo aus Oberflächenreflektion.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="219"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="269"/>
         <source>Imports SPOT VGT NDVI data into a raster map.</source>
         <translation>Importiert SPOT VGT NDVI Daten in Rasterkarte.</translation>
     </message>
@@ -11762,87 +11775,87 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Berechnet Sensible-Heat-Flux-Iteration SEBAL 01.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="144"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="262"/>
         <source>Performs Landsat TM/ETM+ Automatic Cloud Cover Assessment (ACCA).</source>
         <translation>Führt TM/ETM+ automatische Wolkendeckenbewertung (ACCA) durch.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="83"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="266"/>
         <source>Performs auto-balancing of colors for RGB images.</source>
         <translation>Führt automatische Angleichung der Farben von RGB-Bildern durch.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="237"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="120"/>
         <source>Computes evapotranspiration calculation modified or original Hargreaves formulation, 2001.</source>
         <translation>Berechnet Evapotranspiration mit modifizierter oder originaler Hargreaves-Formulierung, 2001.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="68"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="236"/>
         <source>Principal components analysis (PCA) for image processing.</source>
         <translation>Hauptbestandteilsanalyse (PCA) zur Bildverarbeitung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="138"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="144"/>
         <source>Calculates top-of-atmosphere radiance or reflectance and temperature for Landsat MSS/TM/ETM+/OLI</source>
         <translation>Berechnet Abstrahlung der obersten Atmosphäre oder Reflektionen für Landsat MSS/TM/ETM+/OLI</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="46"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="254"/>
         <source>Classifies the cell spectral reflectances in imagery data.</source>
         <translation>Klassifiziert die Zellenspektralreflektionen in Bilddaten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="206"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="69"/>
         <source>Performs Tasseled Cap (Kauth Thomas) transformation.</source>
         <translation>Führt Tasseled Cap (Kauth Thomas)-Transformation durch.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="205"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="166"/>
         <source>Computes temporal integration of satellite ET actual (ETa) following the daily ET reference (ETo) from meteorological station(s).</source>
         <translation>Ermittelt zeitliche Integration der Satelliten-ET tatsächlichen (ETa) folgend der tägliche ET-Referenz (ETo) von meteorologische(r/en) Station(en).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="241"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="296"/>
         <source>Net radiation approximation (Bastiaanssen, 1995).</source>
         <translation>Nettostrahlungsnährung (Bastiaanssen, 1995).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="98"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="223"/>
         <source>r.li.pielou.ascii - Calculates Pielou's diversity index on a raster map</source>
         <translation>r.li.pielou.ascii - Berechnet Pielou-Diversitäts-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="44"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="131"/>
         <source>Regroup multiple mono-band rasters into a single multiband raster.</source>
         <translation>Mehrere einkanalige Raster in ein einzelnes Multibandraster regruppieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="204"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="55"/>
         <source>Image fusion algorithms to sharpen multispectral with high-res panchromatic channels</source>
         <translation>Bildvereinigungsalgorithmus um multispektrale mit hochauflösend-panchromatischen Kanälen zu schärfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="84"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="140"/>
         <source>Soil heat flux approximation (Bastiaanssen, 1995).</source>
         <translation>Bodenwärmestromnährung (Bastiaanssen, 1995).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="163"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="56"/>
         <source>Mosaics several images and extends colormap.</source>
         <translation>Fügt mehrere Bilder zusammen und erweitert die Farbabbildung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="148"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="191"/>
         <source>Calculates Top of Atmosphere Radiance/Reflectance/Brightness Temperature from ASTER DN.</source>
         <translation>Berechnet Abstrahlung der obersten Atmosphäre/Reflektionen/Helligkeitstemperatur aus ASTER DN.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="134"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="70"/>
         <source>r.li.simpson.ascii - Calculates Simpson's diversity index on a raster map</source>
         <translation>Berechnet Simpsons-Diversitäts-Index einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="95"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="228"/>
         <source>r.stats.quantile.out - Compute category quantiles using two passes and output statistics</source>
         <translation>r.stats.quantile.out - Berechne Kategoriequantile in zwei Durchgängen und Ausgabestatistik</translation>
     </message>
@@ -11851,17 +11864,17 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">r.li.pielou.ascii - Berechnet Pielou-Diversitäts-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="53"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="184"/>
         <source>Calculates mean pixel attribute index on a raster map</source>
         <translation>Berechnet den Mittelwert der Attribute (Rasterwerte) -Index einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="22"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="272"/>
         <source>Calculates multiple linear regression from raster maps.</source>
         <translation>Berechnet eine lineare Regression von zwei Rasterkarten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="137"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="214"/>
         <source>r.topmodel.topidxstats - Builds a TOPMODEL topographic index statistics file.</source>
         <translation>r.topmodel.topidxstats - TOPMODEL topografische Indexstatistikdatei erzeugen.</translation>
     </message>
@@ -11870,77 +11883,77 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Erlaubt die Erzeugung und/oder Modifikation von Rasterkartenlayerunterstützungsdateien (Metadaten).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="164"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="268"/>
         <source>r.category.out - Exports category values and labels associated with user-specified raster map layers.</source>
         <translation>r.category.out - Mit benutzerdefinierten Rasterkartenlayern verbundene Kategoriewerte und Beschriftungen exportieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="202"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="78"/>
         <source>Calculates Shannon's diversity index on a raster map</source>
         <translation>Berechnet Shannons-Diversitäts-Index einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="88"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="252"/>
         <source>Finds shortest path using timetables.</source>
         <translation>Sucht den kürzesten Weg mit Fahrplänen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="263"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="101"/>
         <source>Converts a raster map layer into a height-field file for POV-Ray</source>
         <translation>Konvertiert einen Rasterkartenlayer in eine Höhenfelddatei für POV-Ray</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="289"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="164"/>
         <source>Imports E00 file into a vector map</source>
         <translation>Läd E00-Datei in eine Vektorkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="181"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="243"/>
         <source>Exports a vector map to a GRASS ASCII vector representation.</source>
         <translation>Exportiert eine Vektorkarte in GRASS ASCII-Vektorrepräsentation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="17"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="249"/>
         <source>Exports a vector map layer to PostGIS feature table. </source>
         <translation>Exportiert einen Vektorkarte in eine PostGIS-Tabelle.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="11"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="126"/>
         <source>Converts raster maps into the VTK-ASCII format</source>
         <translation>Rasterkarten ins VTK-ASCII-Format umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="110"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="59"/>
         <source>A simple utility for converting bearing and distance measurements to coordinates and vice versa. It assumes a Cartesian coordinate system</source>
         <translation>Ein einfaches Hilfsprogramm, dass Kurs- und Distanzwert in Koordinaten umrechnet und umgekehrt.  Es setzt ein kartesisches Koordinatensystem voraus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="276"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="92"/>
         <source>Exports a GRASS raster to a binary MAT-File</source>
         <translation>GRASS-Raster als binäre MAT-Datei exportieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="45"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="211"/>
         <source>Split lines to shorter segments by length.</source>
         <translation>Linien nach Länge in kürzere Segmente aufteilen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="65"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="275"/>
         <source>r.li.edgedensity.ascii - Calculates edge density index on a raster map, using a 4 neighbour algorithm</source>
         <translation>r.li.edgedensity.ascii - Berechnet Kantendichteindex auf einer Rasterkarte mit einem 4-Nachbarn-Algorithmus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="85"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="77"/>
         <source>Converts (rasterize) a vector layer into a raster layer.</source>
         <translation>Erzeugt (rastert) aus einem Vektorlayer einen Rasterlayer.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="193"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="142"/>
         <source>Computes bridges and articulation points in the network.</source>
         <translation>Berechnet Brücken und Gelenkpunkte im Netzwerk.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="38"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="147"/>
         <source>Export a raster layer into a GRASS ASCII text file</source>
         <translation>Rasterlayer in GRASS-ASCII-Textdatei exportieren</translation>
     </message>
@@ -11949,127 +11962,127 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Rasterkartenrechner.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="62"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="156"/>
         <source>Exports a raster map to a text file as x,y,z values based on cell centers</source>
         <translation>Exportiert Raster in Textdatei als x-,y- und z-Werte der Zellzentren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="28"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="132"/>
         <source>Selects vector objects from a vector layer and creates a new layer containing only the selected objects.</source>
         <translation>Wählt Vektorobjekte einer vorhandenen Vektorkarte und erzeugt eine neue Karte nur mit diesen Objekten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="288"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="278"/>
         <source>Converts 3 GRASS raster layers (R,G,B) to a PPM image file</source>
         <translation>Konvertiert 3 GRASS-Rasterlayer (R, G, B) in eine PPM-Bilddatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="19"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="124"/>
         <source>Uploads raster values at positions of vector centroids to the table.</source>
         <translation>Läd Rasterwerte von Positionen der Vektorzentroiden der Tabelle hoch.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="118"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="294"/>
         <source>Creates a vector map from an ASCII points file or ASCII vector file.</source>
         <translation>Erzeugt eine Vektorkarte aus ASCII-Punktdatei oder ASCII-Vektordatei.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="32"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="242"/>
         <source>Creates a buffer around vector features of given type. </source>
         <translation>Erzeugt einen Puffer um Vektorobjekte eines gegebenen Typs.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="284"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="271"/>
         <source>Performs network maintenance</source>
         <translation>Macht Netzwerkwartung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="177"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="80"/>
         <source>Calculates category or object oriented statistics (accumulator-based statistics)</source>
         <translation>Berechnet Kategorie- oder objektorientierte Statistik (akkumulatorbasierte Statistik)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="121"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="232"/>
         <source>Reclassifies a raster layer, selecting areas lower than a user specified size</source>
         <translation>Reklassifiziere Rasterkarte durch Auswahl von Flächen kleiner eines gegebenen Werts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="296"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="293"/>
         <source>Export a GRASS raster map as a non-georeferenced PNG image</source>
         <translation>GRASS-Rasterkarte als nicht georeferenziertes PNG-Bild exportieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="9"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="178"/>
         <source>Converts 2D vector features to 3D by sampling of elevation raster map.</source>
         <translation>Konvertiert 2D-Vektorobjekte durch Abtastung einer Höhenrasterkarte in 3D.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="40"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="231"/>
         <source>r.walk.coords - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from a list of coordinates.</source>
         <translation>r.walk.coords - Rasterkarte aus den kumulierten Kosten für die Bewegung zwischen zwei verschiedenen geographischen Orten auf einer Eingaberasterkarte deren Zellen Kategoriewerte Kosten aus einer Koordinatenliste repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="136"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="157"/>
         <source>Fills lake at given point to given level.</source>
         <translation>See an einem gegebenen Punkt bis zü einer gegebenen Höhe füllen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="238"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="42"/>
         <source>Re-projects a vector map from one location to the current location</source>
         <translation>Reprojiziert eine Vektorkarte von einem Ort zum aktuellen Ort</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="301"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="96"/>
         <source>Performs surface interpolation from vector points map by splines.</source>
         <translation>Führt eine Oberflächeninterpolation mit Splines aus Vektorpunkten durch.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="141"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="285"/>
         <source>Converts raster map series to MPEG movie</source>
         <translation>Rasterkartenreihe in MPEG-Film umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="159"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="37"/>
         <source>Performs cluster identification</source>
         <translation>Führt eine Haufenidentifikation durch</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="147"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="127"/>
         <source>Produces a vector map of specified contours from a raster map. </source>
         <translation>Erzeugt aus einer Rasterkarte eine Vektorkarte aus gegebenen Konturen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="158"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="47"/>
         <source>Exports a vector map to SVG file.</source>
         <translation>Exportiert eine Vektorkarte in eine SVG-Datei.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="25"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="30"/>
         <source>Decimates a point cloud</source>
         <translation>Dezimiert eine Punktwolke</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="70"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="45"/>
         <source>r.li.shannon.ascii - Calculates Shannon's diversity index on a raster map</source>
         <translation>Berechnet Shannons-Diversitäts-Index einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="210"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="196"/>
         <source>Calculates patch density index on a raster map, using a 4 neighbour algorithm</source>
         <translation>Berechnet Patch-Anzahl-Index einer Rasterkarte, unter Verwendung eines 4-Nachbarn-Algorithmus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="129"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="25"/>
         <source>Calculates mean patch size index on a raster map, using a 4 neighbour algorithm</source>
         <translation>Berechnet mittleren Patch-Größen-Index einer Rasterkarte, unter Verwendung eines 4-Nachbarn-Algorithmus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="234"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="90"/>
         <source>Calculates standard deviation of patch area a raster map</source>
         <translation>Berechnet den Standardabweichung eines Patchbereiches einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="10"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="7"/>
         <source>r.what.coords - Queries raster maps on their category values and category labels on a point.</source>
         <translation>r.what.coords - Rasterkarten nach Kategoriewerten und Kategoriebeschriftungen eines Punkt abfragen.</translation>
     </message>
@@ -12078,42 +12091,42 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Berechnet Shapeindex auf einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="172"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="105"/>
         <source>Calculates edge density index on a raster map, using a 4 neighbour algorithm</source>
         <translation>Berechnet Kantendichteindex auf einer Rasterkarte mit einem 4-Nachbarn-Algorithmus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="285"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="235"/>
         <source>Creates/modifies the color table associated with a raster map.</source>
         <translation>Erzeugt/Ändert die einer Rasterkarte zugeordnete Farbtabelle </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="262"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="41"/>
         <source>r.li.padcv.ascii - Calculates coefficient of variation of patch area on a raster map</source>
         <translation>r.li.padcv.ascii - Berechnet Variationskoeffizienten eines Patchbereiches einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="16"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="93"/>
         <source>Splits a raster map into tiles</source>
         <translation>Rasterkarte in Kacheln aufteilen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="100"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="273"/>
         <source>Creates a fractal surface of a given fractal dimension.</source>
         <translation>Fraktale Oberfläche einer gegeben Fraktaldimension erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="111"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="104"/>
         <source>r.li.mps.ascii - Calculates mean patch size index on a raster map, using a 4 neighbour algorithm</source>
         <translation>r.li.mps.ascii - Berechnet mittleren Patch-Größen-Index einer Rasterkarte, unter Verwendung eines 4-Nachbarn-Algorithmus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="283"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="297"/>
         <source>Generates random surface(s) with spatial dependence.</source>
         <translation>Erzeugt zufällige Oberfläche(n) mit räumlicher Abhängigkeit.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="140"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="298"/>
         <source>r.what.points - Queries raster maps on their category values and category labels on a layer of points.</source>
         <translation>r.what.points - Rasterkarten nach Kategoriewerten und Kategoriebeschriftungen eines Punktlayers abfragen.</translation>
     </message>
@@ -12122,32 +12135,32 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">v.surf.rst.cvdev.line - Räumliche Approximation und topographische Analyse mit einer regularisierten Spline-Funktion mit Spannung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="133"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="264"/>
         <source>Creates a raster map layer showing buffer zones surrounding cells that contain non-NULL category values (low-memory alternative).</source>
         <translation>Erzeugt eine Rasterkarte mit Pufferzonen um Zellen, die Nicht-NULL-Wert-Kategoriewerte haben (Alternative für wenig Speicher).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="12"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="13"/>
         <source>Calculates contrast weighted edge density index on a raster map</source>
         <translation>Berechnet den kontrastgewichteten Kantendichteindex einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="220"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="9"/>
         <source>Manages category values and labels associated with user-specified raster map layers.</source>
         <translation>Verwaltet mit benutzerdefinierten Rasterkartenlayern verbundene Kategoriewerte und -beschriftungen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="209"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="206"/>
         <source>Calculates range of patch area size on a raster map</source>
         <translation>Berechnet Reichweite einer Patchbereichsgröße auf einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="223"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="279"/>
         <source>Calculates richness index on a raster map</source>
         <translation>Berechnet den Richness-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="198"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="108"/>
         <source>r.stats.quantile.rast - Compute category quantiles using two passes and output rasters.</source>
         <translation>r.stats.quantile.rast - Berechne Kategoriequantile in zwei Durchgängen und Ausgaberaster.</translation>
     </message>
@@ -12156,162 +12169,162 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Berechnet Pielou-Diversitäts-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="89"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="187"/>
         <source>r.blend.rgb - Blends color components of two raster maps by a given ratio and exports into three rasters.</source>
         <translation>r.blend.rgb - Paßt Farbkomponenten zweier Rasterkarten nach einem gegebenen Verhältnis an und exportiert sie in drei Raster.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="218"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="58"/>
         <source>Calculates coefficient of variation of patch area on a raster map</source>
         <translation>Variationskoeffizienten eines Patchbereiches einer Rasterkarte berechnen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="182"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="22"/>
         <source>Generates rate of spread raster maps.</source>
         <translation>Erzeugt Rasterkarten mit Grad der Streuung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="227"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="213"/>
         <source>Calculates Simpson's diversity index on a raster map</source>
         <translation>Berechnet Simpsons-Diversitäts-Index einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="132"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="177"/>
         <source>Makes each output cell value an accumulation function of the values assigned to the corresponding cells in the input raster map layers.</source>
         <translation>Jede Ausgabezelle zur Akkumulationsfunktion der den korrespondierenden Zellen zugeordneten Werten des Eingaberasterkartenlayers machen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="101"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="302"/>
         <source>Computes USLE R factor, Rainfall erosivity index.</source>
         <translation>USLE-R-Faktor berechnen.  Niederschlagserosionsindex.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="280"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="71"/>
         <source>Interpolates raster maps located (temporal or spatial) in between input raster maps at specific sampling positions.</source>
         <translation>Interpoliert Rasterkarten die (zeitlich oder räumlich) zwischen zwei Eingaberasterkarten an bestimmten Abtastpositionen liegen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="92"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="32"/>
         <source>Imagery (i.*)</source>
         <translation>Bildbearbeitung (i.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="178"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="135"/>
         <source>r.li.cwed.ascii - Calculates contrast weighted edge density index on a raster map</source>
         <translation>r.li.cwed.ascii - Berechnet den kontrastgewichteten Kantendichteindex einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="293"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="251"/>
         <source>r.mask.vect - Creates a MASK for limiting raster operation with a vector layer.</source>
         <translation>r.mask.vect - MASKe zur Begrenzung der Rasteroperation mit einem Vektorlayer erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="79"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="284"/>
         <source>Creates topographic index layer from elevation raster layer</source>
         <translation>Erstellt Karte mit topographischem Index auf Basis eines digitalen Höhenmodells</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="157"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="225"/>
         <source>Calculates Renyi's diversity index on a raster map</source>
         <translation>Berechnet Renyi-Diversitäts-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="66"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="149"/>
         <source>Resamples raster map layers using an analytic kernel.</source>
         <translation>Erzeugt eine neue Rasterkarte mit einem analytischen Kern.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="162"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="29"/>
         <source>Exports the color table associated with a raster map.</source>
         <translation>Exportiert die einer Rasterkarte zugeordnete Farbtabelle.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="125"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="39"/>
         <source>Queries colors for a raster map layer. </source>
         <translation>Fragt Farben einer Rasterkarte ab.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="48"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="286"/>
         <source>Splits a raster map into red, green and blue maps.</source>
         <translation>Teilt einer Rasterkarte in rote grüne und blaue Karten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="282"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="152"/>
         <source>Computes USLE Soil Erodibility Factor (K).</source>
         <translation>Berechnet USLE-Bodenerosionsfaktor (K).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="96"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="170"/>
         <source>r.li.dominance.ascii - Calculates dominance's diversity index on a raster map</source>
         <translation>r.li.dominance.ascii - Berechnet Dominanzdiversitätsindex einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="264"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="11"/>
         <source>Locates the closest points between objects in two raster maps.</source>
         <translation>Nächste Punkte zwischen Objekten in zwei Rasterkarten bestimmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="192"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="204"/>
         <source>r.li.padsd.ascii - Calculates standard deviation of patch area a raster map</source>
         <translation>r.li.padsd.ascii - Berechnet den Standardabweichung eines Patchbereiches einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="236"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="305"/>
         <source>r.walk.rast - Creates a raster map showing the anisotropic cumulative cost of moving between different geographic locations on an input raster map whose cell category values represent cost from a raster.</source>
         <translation>r.walk.rast - Rasterkarte aus den kumulierten Kosten für die Bewegung zwischen zwei verschiedenen geographischen Orten auf einer Eingaberasterkarte deren Zellen Kategoriewerte Kosten aus einer Rasterkarte repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="13"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="34"/>
         <source>r.li.patchnum.ascii - Calculates patch number index on a raster map, using a 4 neighbour algorithm.</source>
         <translation>r.li.patchnum.ascii - Berechnet Patch-Anzahl-Index einer Rasterkarte, unter Verwendung eines 4-Nachbarn-Algorithmus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="246"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="222"/>
         <source>r.li.patchdensity.ascii - Calculates patch density index on a raster map, using a 4 neighbour algorithm</source>
         <translation>r.li.patchdensity.ascii - Berechnet Patch-Anzahl-Index einer Rasterkarte, unter Verwendung eines 4-Nachbarn-Algorithmus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="171"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="89"/>
         <source>Numerical calculation program for transient, confined and unconfined solute transport in two dimensions</source>
         <translation>Numerisches Berechnungsprogramm für transienten, beschränkten und unbeschränkte Grundwasserfluß in zwei Dimensionen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="47"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="123"/>
         <source>Creates a latitude/longitude raster map.</source>
         <translation>Erzeugt eine Breiten-/Längengrad-Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="243"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="143"/>
         <source>Simulates TOPMODEL which is a physically based hydrologic model.</source>
         <translation>Simuliert TOPMODEL (physikbasiertes hydrologisches Modell)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="21"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="12"/>
         <source>Simulates elliptically anisotropic spread.</source>
         <translation>Simuliert elliptische antisotropische Streuung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="235"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="64"/>
         <source>Drapes a color raster over an shaded relief or aspect map. </source>
         <translation>Drapiert eine Rasterkarte mit Farbwerten über Schummerungs- oder Expositionskarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="167"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="238"/>
         <source>Exports GRASS vector map layers to DXF file format.</source>
         <translation>GRASS-Vektor in DXF-Datei exportieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="142"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="234"/>
         <source>Generates a raster layer with contiguous areas grown by one cell.</source>
         <translation>Erzeugt eine Rasterkarte mit kontinuierlich um eine Zelle gewachsenen Flächen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="216"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="79"/>
         <source>Converts a raster layer to a PPM image file at the pixel resolution of the currently defined region.</source>
         <translation>Wandelt einen Rasterlayer in eine PPM-Bilddatei in der Auflösung der aktuellen Region.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="168"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="85"/>
         <source>Generates random cell values with spatial dependence.</source>
         <translation>Erzeugt zufällig Zellwerte mit räumlicher Abhängigkeit.</translation>
     </message>
@@ -12324,22 +12337,22 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Bilineare Interpolationswerkzeug für Rasterkarten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="278"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="38"/>
         <source>Stream network extraction</source>
         <translation>Stromnetzwerkextraktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="60"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="267"/>
         <source>Miscellaneous (m.*)</source>
         <translation>Verschiedenes (m.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="86"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="48"/>
         <source>Create a new vector map layer by combining other vector map layers.</source>
         <translation>Erzeugt eine neue Vektorkarte durch Kombination anderer Vektorkarten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="33"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="115"/>
         <source>Performs an affine transformation on a vector layer.</source>
         <translation>Führt eine affine Transformation von Vektorkarten durch.</translation>
     </message>
@@ -12348,27 +12361,27 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Leerflächen in Raster nach v.surf.rst oder v.surf.bspline Spline-Interpolation füllen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="154"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="119"/>
         <source>Reinterpolates using regularized spline with tension and smoothing.</source>
         <translation>Reinterpoliert mit RST und Glättung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="34"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="227"/>
         <source>Recursively traces the least cost path backwards to cells from which the cumulative cost was determined.</source>
         <translation>Das Modul verfolgt den kürzesten Weg rekursiv zurück zu den Zellen, von denen der kumulative Weg bestimmt wurde.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="256"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="73"/>
         <source>Creates parallel line to input vector lines.</source>
         <translation>Parallele Linien zu Eingabevektorlinien erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="58"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="290"/>
         <source>Recodes categorical raster maps.</source>
         <translation>Kodiert kategorische Rasterkarten um.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="279"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="291"/>
         <source>Horizon angle computation from a digital elevation model.</source>
         <translation>Berechnung des Horizontwinkel auf Grundlage eines digitalen Höhenmodells.</translation>
     </message>
@@ -12377,7 +12390,7 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">r.rast.points - Raster aus den kumulierten Kosten für die Bewegung über ein Raster erzeugen, dessen Zellen Kosten repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="183"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="255"/>
         <source>Exports GRASS raster map to GRIDATB.FOR map file (TOPMODEL)</source>
         <translation>GRASS-Vektor in GRIDATB.FOR Kartendatei (TOPMODEL) speichern</translation>
     </message>
@@ -12394,52 +12407,52 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Findet den Durchschnitt der Werte in einer Überlagerungskarte innerhalb gleicher Kategorien in einer benutzer-angegebenen Ausgangskarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="228"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="163"/>
         <source>Indices for quadrat counts of vector point lists.</source>
         <translation>Indizes der Quadrat-Zählmethode aus Vektorpunktliste.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="64"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="87"/>
         <source>Detects the object's edges from a LIDAR data set.</source>
         <translation>Bestimmt die Kanten eines Objekte aus einem LIDAR-Datensatz.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="124"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="221"/>
         <source>Thins non-zero cells that denote linear features in a raster layer.</source>
         <translation>Dünne nicht-Null-Zellen aus, die Linieneigenschaften bezeichnen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="105"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="281"/>
         <source>Import GetFeature from WFS</source>
         <translation>Importiert GetFeature eines WFS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="291"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="190"/>
         <source>Produces a raster layer of uniform random deviates whose range can be expressed by the user.</source>
         <translation>Erzeugt eine Rasterkarte mit zufälligen Werten einer Gleichverteilung, deren Spanne vom Benutzer angegeben werden kann.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="29"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="28"/>
         <source>Produces the quantization file for a floating-point map.</source>
         <translation>Quantisierungsdatei zu Fließkommaraster erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="117"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="217"/>
         <source>Creates a GRASS vector layer of a user-defined grid.</source>
         <translation>Erzeugt eine GRASS Vektorkarte mit einem benutzerdefinierten Gitternetz.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="302"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="220"/>
         <source>Extracts terrain parameters from a DEM.</source>
         <translation>Geländeparameter aus DEM extrahieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="91"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="167"/>
         <source>Creates a composite raster layer by using one (or more) layer(s) to fill in areas of "no data" in another map layer.</source>
         <translation>Erstellt eine Komposit-Karte, indem bekannte Kategorie-Werte einer (oder mehrerer) Rasterkarte(n) in "NO DATA"-Bereiche einer anderen Rasterkarte gefüllt werden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="261"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="282"/>
         <source>Raster (r.*)</source>
         <translation>Raster (r.*)</translation>
     </message>
@@ -12448,17 +12461,17 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Räumliche Approximation und topographische Analyse mit einer regularisierten Spline-Funktion mit Spannung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="81"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="133"/>
         <source>Transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space.</source>
         <translation>Rastertransformationsfunktion für HIS- (Hue-Intensity-Saturation) in RGB-Farbraum (Rot-Grün-Blau).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="274"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="106"/>
         <source>Correction of the v.lidar.growing output. It is the last of the three algorithms for LIDAR filtering.</source>
         <translation>Korrektur der v.lidar.growing Ausgabe. Das ist der letzte von 3 Algorithmen um LIDAR zu filtern.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="175"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="165"/>
         <source>Generates watershed subbasins raster map.</source>
         <translation>Erzeugt Rasterkarte mit Wassereinzugsgebieten.</translation>
     </message>
@@ -12467,47 +12480,47 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">r.flow.aspect - Erzeugt Hangkurven (flowlines), Fließlängen und Flussdichte (contributing areas) aus einem angegebenen digitalen Höhenmodell (DEM).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="265"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="19"/>
         <source>Outputs a covariance/correlation matrix for user-specified raster layer(s).</source>
         <translation>Gibt eine Kovarianz/Korrelations-Matrix für (eine) benutzerdefiniert Rasterkarte(n) aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="37"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="129"/>
         <source>Compute quantiles using two passes.</source>
         <translation>Berechne Quantile in zwei Durchgängen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="97"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="33"/>
         <source>Vector (v.*)</source>
         <translation>Vektor (v.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="15"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="21"/>
         <source>Classifies attribute data, e.g. for thematic mapping.</source>
         <translation>Klassifiziert Attributdaten, z.B. für thematische Karten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="80"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="260"/>
         <source>Random location perturbations of GRASS vector points</source>
         <translation>Zufällige Positionsstörung von GRASS-Vektorpunkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="165"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="86"/>
         <source>Changes vector category values for an existing vector map according to results of SQL queries or a value in attribute table column.</source>
         <translation>Ändert die Kategorien einer vorhandenen Vektorkarte entsprechend den Ergebnissen der SQL-Abfragen oder der Werte einer Spalte der Attributtabelle.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="76"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="198"/>
         <source>Reports statistics for raster layers.</source>
         <translation>Gibt statistische Werte für eine Rasterkarte aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="145"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="44"/>
         <source>r.relief.scaling - Creates shaded relief from an elevation layer (DEM).</source>
         <translation>r.relief.scaling - Erzeugt eine Schummerungskarte aus einem Höhenmodell (DGM).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="41"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="83"/>
         <source>Randomly generate a 2D/3D vector points map.</source>
         <translation>Zufällige 2D/3D-Vektorpunktkarte erzeugen.</translation>
     </message>
@@ -12516,7 +12529,7 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Erzeugt eine Raster-Dichtekarte aus Vektorpunkten unter Verwendung eines gleitenden Kerns. Optional kann eine Vektor-Dichtekarte basierend auf einem Vektornetzwerk erstellt werden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="295"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="125"/>
         <source>Resamples raster layers to a coarser grid using aggregation.</source>
         <translation>Erzeugt eine neue Rasterkarte gröberer Auflösung mittels Aggregation.</translation>
     </message>
@@ -12525,52 +12538,52 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Indizes der Quadrat-Zählmethode aus Siteliste.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="153"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="66"/>
         <source>Calculates category or object oriented statistics.</source>
         <translation>Berechnet Kategorie- oder objektorientierte Statistik.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="259"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="203"/>
         <source>Create points along input lines</source>
         <translation>Punkte entlang von Eingabelinien erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="7"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="153"/>
         <source>Computes minimum spanning tree for the network.</source>
         <translation>Berechnet den minimalen Spannbaum eines Netzwerks.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="207"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="209"/>
         <source>Computes the shortest path between all pairs of nodes in the network</source>
         <translation>Berechnet die kürzesten Pfad zwischen allen Knotenpaaren eines Netzwerkes.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="272"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="145"/>
         <source>Computes vertex connectivity between two sets of nodes in the network.</source>
         <translation>Berechnet die Stützpunktverbindungen zwischen zwei Knotenmengen im Netzwerk.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="127"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="182"/>
         <source>Creates Steiner tree for the network and given terminals</source>
         <translation>Erzeugt einen Steinerbaum für das Netzwerk und gegebenen Enden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="304"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="139"/>
         <source>v.net.report - Reports lines information of a network</source>
         <translation>v.net.report - Berichte zu Kanteninformationen eines Netzwerks</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="275"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="118"/>
         <source>Performs visibility graph construction.</source>
         <translation>Erstellt Sichtbarkeitsgraphen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="150"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="292"/>
         <source>Calculate error matrix and kappa parameter for accuracy assessment of classification result.</source>
         <translation>Fehlermatrix und Kappa-Parameter für Genauigkeitsbewertung von Klassifikationsergebnissen berechnen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="292"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="82"/>
         <source>Flow computation for massive grids.</source>
         <translation>Flußberechnung für massive Raster.</translation>
     </message>
@@ -12579,22 +12592,22 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">r.slope.apect - Erzeugt Rasterkarten mit Exposition aus einer Rasterkarte mit Höheninformationen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="299"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="159"/>
         <source>Computes emissivity from NDVI, generic method for sparse land. </source>
         <translation>Ermittelt Emissivität aus NDVI, generische Methode für karges Land.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="188"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="219"/>
         <source>Calculates univariate statistics from the non-null cells of a raster map.</source>
         <translation>Eindimensionale Statistik des Nicht-Null-Zellen eines Rasters berechnen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="240"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="287"/>
         <source>Surface interpolation from vector point data by Inverse Distance Squared Weighting.</source>
         <translation>Oberflächeninterpolation mit auf Vektorpunkten basierender inverser quadratischer Abstandsgewichtung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="242"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="207"/>
         <source>Construction of flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a raster digital elevation model (DEM).</source>
         <translation>r.flow.aspect - Erzeugt Hangkurven (flowlines), Fließlängen und Flussdichte (contributing areas) aus einem angegebenen digitalen Höhenmodell (DEM).</translation>
     </message>
@@ -12607,7 +12620,7 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Oberflächenerzeugung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="71"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="301"/>
         <source>Generates raster layers of slope, aspect, curvatures and partial derivatives from a elevation raster layer.</source>
         <translation>Erzeugt Rasterkarten mit Hangneigung, Exposition, Wölbung und partiellen Ableitungen aus einer Rasterkarte mit Höheninformationen.</translation>
     </message>
@@ -12616,17 +12629,17 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Simuliert elliptische anisotrophe Ausbreitung in einem Grafikfenster und erzeugt eine Rasterkarte mit der kumulativen Ausbreitungszeit. Als Ausgangskarten dienen die Ausbreitungsgeschwindigkeit, Ausbreitungsrichtung und der Ursprung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="87"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="51"/>
         <source>Tests for normality for points.</source>
         <translation>Tests der Normalität auf Vektor-Punkten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="270"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="109"/>
         <source>Calculates linear regression from two raster layers : y = a + b*x.</source>
         <translation>Berechnet lineare Regression zweier Raster: y = a + b*x.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="131"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="299"/>
         <source>Finds the mode of values in a cover layer within areas assigned the same category value in a user-specified base layer.</source>
         <translation>Findet den Modalwert der Werte einer Bedeckungskarte innerhalb der Flächen mit gleichen Werten in einer benutzerdefinierten Basiskarte.</translation>
     </message>
@@ -12635,62 +12648,62 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">r.flow.barrier - Erzeugt Hangkurven (flowlines), Fließlängen und Flussdichte (contributing areas) aus einem angegebenen digitalen Höhenmodell (DEM).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="185"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="270"/>
         <source>Reports geometry statistics for vectors.</source>
         <translation>Gibt statistische Werte für Geometrie der Vektorobjekte aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="82"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="226"/>
         <source>Bicubic or bilinear spline interpolation with Tykhonov regularization.</source>
         <translation>Bikubische oder bi-lineare Spline-Interpolation mit Tichonow-Regularisierung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="152"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="95"/>
         <source>Watershed basin creation program.</source>
         <translation>Wassereinzugsgebietserzeugungsprogramm.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="191"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="23"/>
         <source>Resamples raster map to a finer grid using interpolation.</source>
         <translation>Erzeugt eine neue Rasterkarte mit feinerer Auflösung mittels Interpolation.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="115"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="57"/>
         <source>Generates red, green and blue raster layers combining hue, intensity and saturation (HIS) values from user-specified input raster layers.</source>
         <translation>Erzeugt rot, grün und blaue Rasterkarten durch Kombination des Farbtons, der Intensität und Sättigung (HIS) aus Eingabe-Rasterkarten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="269"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="259"/>
         <source>Produces tilings of the source projection for use in the destination region and projection.</source>
         <translation>Erzeugt Kacheln der Quellprojektion zur Verwendung in der Zielregion und Projektion.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="287"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="162"/>
         <source>r.li.richness.ascii - Calculates richness index on a raster map</source>
         <translation>r.li.richness.ascii - Berechnet Richness-Index einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="173"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="240"/>
         <source>r.li.mpa.ascii - Calculates mean pixel attribute index on a raster map</source>
         <translation>r.li.mpa.ascii - Ermittelt mittleren Pixelattributindex einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="201"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="246"/>
         <source>Sets color rules based on stddev from a raster map's mean value.</source>
         <translation>Setzt Farbregeln basierend auf Standardabweichung des Mittelwerts eines Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="187"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="169"/>
         <source>Generate images with textural features from a raster map.</source>
         <translation>Bilder mit Texteigenschaften einer Rasterkarte erzeugen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="225"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="253"/>
         <source>r.li.padrange.ascii - Calculates range of patch area size on a raster map</source>
         <translation>r.li.padrange.ascii - Berechnet Reichweite einer Patchbereichsgröße auf einer Rasterkarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="54"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="15"/>
         <source>Creates a Delaunay triangulation from an input vector map containing points or centroids.</source>
         <translation>Erzeugt eine Delaunay-Triangulation auf Basis einer Eingabe-Vektorkarte mit Punkten oder Zentroiden.</translation>
     </message>
@@ -12703,12 +12716,12 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Erzeugt eine neue Rasterkarte mit feinerer Auflösung mittels Interpolation.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="109"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="172"/>
         <source>Generates area statistics for raster layers.</source>
         <translation>Erzeugt Flächenstatistiken für Rasterkarten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="42"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="94"/>
         <source>Traces a flow through an elevation model on a raster map.</source>
         <translation>Verfolge eine Strömung durch ein Höhenmodell auf einer Rasterkarte.</translation>
     </message>
@@ -12717,7 +12730,7 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Findet den Median der Werte einer Coverkarte innerhalb der Flächen mit gleichen Werten in einer benutzerdefinierten Basiskarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="212"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="65"/>
         <source>Produces a convex hull for a given vector map.</source>
         <translation>Erzeugt eine konvexe Hülle für eine Vektorkarte.</translation>
     </message>
@@ -12726,42 +12739,42 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">r.random.raster - Zufälliges Raster erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="277"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="100"/>
         <source>Creates points/segments from input vector lines and positions.</source>
         <translation>Punkte/Segmente von Eingabevektorlinien und -positionen bilden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="213"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="20"/>
         <source>Samples a raster layer at vector point locations.</source>
         <translation>Fragt eine Rasterkarte an den Positionen von Vektorpunkten ab.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="229"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="154"/>
         <source>Creates a new map layer whose category values are based upon a reclassification of the categories in an existing raster map layer.</source>
         <translation>Neue Karte erzeugen, deren Kategoriewerte auf einer Reklassifikation der Kategorien einer vorhandenen Rasterkarte basieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="248"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="91"/>
         <source>Transforms raster maps from HIS (Hue-Intensity-Saturation) color space to RGB (Red-Green-Blue) color space.</source>
         <translation>Rastertransformationsfunktion für HIS- (Hue-Intensity-Saturation) in RGB-Farbraum (Rot-Grün-Blau).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="215"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="212"/>
         <source>Toolset for cleaning topology of vector map.</source>
         <translation>Werkzeugsatz für die Bereinigung der Topologie einer Vektorkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="102"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="50"/>
         <source>Calculates univariate statistics for attribute. Variance and standard deviation is calculated only for points if specified.</source>
         <translation>Berechnet univariante Statistiken für die Attribute. Die Varianz und Standardabweichung wird nur für Punkte berechnet wenn angefragt.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="184"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="117"/>
         <source>Zero-crossing "edge detection" raster function for image processing.</source>
         <translation>Nulldurchgangskantendetektionsrasterfunktion für die Bildverarbeitung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="197"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="113"/>
         <source>Prints vector map attributes</source>
         <translation>Gebe Vektorattribute aus</translation>
     </message>
@@ -12782,22 +12795,22 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">v.split.vert - Trenne Linien zu kürzeren Segmenten nach Stützpunktanzahl.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="195"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="112"/>
         <source>Performs raster map matrix filter.</source>
         <translation>Führt Matrixfilter auf einer Rasterkarte aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="123"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="168"/>
         <source>Prints terse list of category values found in a raster layer.</source>
         <translation>Gibt eine kurze Liste der Kategoriewerte einer Rasterkarte aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="190"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="49"/>
         <source>Overlays two vector maps.</source>
         <translation>Überlagert zwei Vektorkarten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="221"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="276"/>
         <source>Builds polylines from lines or boundaries.</source>
         <translation>Erstellt Polylinien aus Linien und Grenzen.</translation>
     </message>
@@ -12806,22 +12819,22 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Erzeugt ein lineares Bezugssystem</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="290"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="84"/>
         <source>Imports geonames.org country files into a GRASS vector points map.</source>
         <translation>geonames.org-Länderdatei in eine GRASS-Vektorpunktkarte importieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="186"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="229"/>
         <source>Converts vector polygons or points to lines.</source>
         <translation>Vektorpolygone oder -punkte in Linien umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="208"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="151"/>
         <source>Converts LAS LiDAR point clouds to a GRASS vector map with libLAS.</source>
         <translation>LAS-LiDAR-Punktwolken in eine GRASS-Vektorkarte mit libLAS umwandeln.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="108"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="224"/>
         <source>Import ASCII x,y[,z] coordinates as a series of lines.</source>
         <translation>ASCII-x,y[,z]-Koordinaten als Linienreihe importieren</translation>
     </message>
@@ -12830,22 +12843,22 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Erzeugt Punkte/Segmente aus Eingabevektorlinien, linearem Bezugssystem und Eingabepositionen aus Standardeingabe oder Datei.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="112"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="239"/>
         <source>v.kernel.vector - Generates a vector density map from vector points on a vector network.</source>
         <translation>v.kernel.vector - Erzeugt eine Vektordichtekarte aus Vektorpunkten in einem Vektornetzwerk.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="14"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="102"/>
         <source>Rectifies a vector by computing a coordinate transformation for each object in the vector based on the control points.</source>
         <translation>Berichtigt ein Bild durch die Berechnung der Koordinatentransformation für jedes Objekt im Vektor mittels Kontrollpunkten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="258"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="188"/>
         <source>v.kernel.rast - Generates a raster density map from vector points map.</source>
         <translation>v.kernel.rast - Erzeugt eine Rasterdichtekarte aus einer Vektorpunktkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="239"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="24"/>
         <source>Change the type of geometry elements.</source>
         <translation>Typ der Geometrieelemente ändern</translation>
     </message>
@@ -12858,22 +12871,22 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">v.in.ascii.points - Erzeugt eine Vektorkarte aus ASCII-Punktdatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="300"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="116"/>
         <source>Imports Mapgen or Matlab-ASCII vector maps into GRASS.</source>
         <translation>MapGen- oder MatLab-Vektor in GRASS importieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="161"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="250"/>
         <source>Exports a vector map as GRASS GIS specific archive file.</source>
         <translation>Exportiert eine Vektorkarte als GRASS GIS spezifische Archivdatei.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="39"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="16"/>
         <source>Removes outliers from vector point data.</source>
         <translation>Entfernt Ausreißer aus einem Punkt-Vektordatensatz.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="233"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="205"/>
         <source>Edits a vector map, allows adding, deleting and modifying selected vector features.</source>
         <translation>Bearbeitet eine Vektorkarte, erlaubt hinzufügen, löschen und Änderungen von gewählten Vektorobjekten.</translation>
     </message>
@@ -12882,12 +12895,12 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Berechne eine neue Rasterkarte mit einem r.mapcalc-Ausdruck.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="155"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="136"/>
         <source>Converts a vector map to VTK ASCII output.</source>
         <translation>Wandelt eine Vektorkarte in VTK ASCII um.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="27"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="300"/>
         <source>Extrudes flat vector object to 3D with defined height.</source>
         <translation>Flaches Vektorobjekt mit definierter Höhe in 3D extrudieren</translation>
     </message>
@@ -12896,27 +12909,27 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">v.in.ascii.standard - Erzeugt eine Vektorkarte aus einer ASCII Vektordatei. </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="249"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="54"/>
         <source>Performs transformation of 2D vector features to 3D.</source>
         <translation>Führt Transformation von 2D-Vektorobjekten zu 3D durch.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="61"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="97"/>
         <source>v.build.check - Checks for topological errors.</source>
         <translation>v.build.check - Überprüft auf topologische Fehler.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="107"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="183"/>
         <source>Creates a raster map from LAS LiDAR points using univariate statistics.</source>
         <translation>Erzeugt Rasterkarte aus LAS-LiDAR-Punkten über univariante Statistik.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="297"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="200"/>
         <source>Calculates univariate statistics from a raster map based on vector polygons and uploads statistics to new attribute columns.</source>
         <translation>Univariante Statistik aus Rasterkarte über Vektorpolygone berechnen und Statistik in neuen Attributspalten ablegen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="122"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="68"/>
         <source>Count points in areas and calculate statistics.</source>
         <translation>Ermittle Anzahl der Punkte in Bereichen und berechne Statistik.</translation>
     </message>
@@ -12925,7 +12938,7 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Sichtachsen-Rasteranalysemodul.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="251"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="176"/>
         <source>Uploads vector values at positions of vector points to the table.</source>
         <translation>Lade Vektorwerte an den Positionen von Vektorpunkten in die Tabelle</translation>
     </message>
@@ -12934,22 +12947,22 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Selektiert Vektorobjekte einer existierenden Vektorkarte und erzeugt eine neue Karte nur mit den selektierten Objekten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="106"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="171"/>
         <source>Surface area estimation for rasters.</source>
         <translation>Oberflächenschätzungen für Raster.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="268"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="180"/>
         <source>Combines red, green and blue raster maps into a single composite raster map.</source>
         <translation>Kombiniert rote, grüne und blaue Rasterkarten zu einer zusammengesetzten Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="254"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="52"/>
         <source>Converts a raster into a vector layer.</source>
         <translation>Raster in Vektorlayer umwandeln.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="139"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="60"/>
         <source>Creates a cross product of the category values from multiple raster map layers.</source>
         <translation>Kreuzprodukt der Kategoriewerte mehrerer Raster erzeugen.</translation>
     </message>
@@ -12966,12 +12979,12 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">r.slope - Erzeugt Rasterkarten mit Hangneigung aus einer Rasterkarte mit Höheninformationen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="180"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="192"/>
         <source>Fills no-data areas in raster maps using spline interpolation.</source>
         <translation>Füllt Bereiche mit Leerdaten in Rasterkarten mit Spline-Interpolation.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="8"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="122"/>
         <source>Visualization and animation tool for GRASS data.</source>
         <translation>Visualisierungs- und Animationswerkzeug für GRASS-Daten.</translation>
     </message>
@@ -12992,22 +13005,22 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">v.generalize.network - Vektorbasierte Versatzgeneralisierung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="143"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="103"/>
         <source>Canonical components analysis (CCA) program for image processing.</source>
         <translation>Kanonische Komponentenanalyseprogramm (CCA) für Bildverarbeitung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="72"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="107"/>
         <source>Extracts quality control parameters from MODIS QC layers.</source>
         <translation>Extrahiert dies Qualitätskontrollparameter eines MODIS-QC-Layers.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="232"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="35"/>
         <source>Generates statistics for i.maxlik from raster map.</source>
         <translation>Generiert Statistik für i.maxlik aus Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="166"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="244"/>
         <source>Computes the maximum flow between two sets of nodes in the network.</source>
         <translation>Berechnet den maximalen Fluß zwischen zwei Knotenmengen im Netzwerk</translation>
     </message>
@@ -13016,12 +13029,12 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">v.net.nodes - Erzeugt Punkte für jeden Netzwerkbogen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="56"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="148"/>
         <source>v.net.nreport - Reports nodes information of a network</source>
         <translation>v.net.nreport - Berichte zu Knoteninformationen eines Netzwerks</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="252"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="261"/>
         <source>Creates raster plane layer given dip (inclination), aspect (azimuth) and one point.</source>
         <translation>Erzeugt eine Rasterkarte mit einer Ebene mit gegebener Neigung (inclination), Ausrichtung (azimuth) und einem Punkt.</translation>
     </message>
@@ -13030,27 +13043,27 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Berechnet Brücken im Netzwerk</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="257"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="216"/>
         <source>Splits network by cost isolines.</source>
         <translation>Schnitt durch Netzwerk entlang veranschlagten Isolinien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="67"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="111"/>
         <source>Output basic information about a raster layer.</source>
         <translation>Gibt grundlegende Informationen über eine Rasterkarte aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="20"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="181"/>
         <source>Dissolves boundaries between adjacent areas sharing a common category number or attribute.</source>
         <translation>Löst die Grenzen zwischen anliegenden Gebieten auf die eine gemeinsame Kategorie-Nummer oder Attribut haben.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="78"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="241"/>
         <source>Allocates subnets for nearest centers (direction from center)</source>
         <translation>Bestimmt Teilnetze für nächste Zentren (vom Zentrum gerichtet)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="113"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="288"/>
         <source>Computes shortest distance via the network between the given sets of features.</source>
         <translation>Berechnet die kürzesten Abstand zwischen zwei gegebenen Objektmengen im Netzwerk</translation>
     </message>
@@ -13059,12 +13072,12 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">v.net.arcs - Berechnet Bögen aus einer Punktdatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="94"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="215"/>
         <source>Finds the nearest element in vector map 'to' for elements in vector map 'from'.</source>
         <translation>Findet das nächstgelegene Element der Vektorkarte 'to' für Elemente in der Vektorkarte 'from'.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="260"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="237"/>
         <source>Computes strongly and weakly connected components in the network.</source>
         <translation>Berechnet stark und schwach verbundene Komponenten eines Netzwerks</translation>
     </message>
@@ -13073,7 +13086,7 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">v.net.articulation - Berechnet Artikulationspunkte im Netzwerk</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="114"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="247"/>
         <source>Computes degree, centrality, betweeness, closeness and eigenvector centrality measures in the network.</source>
         <translation>Berechnet Degree, Centrality, Betweeness, Closeness und Eigenvektor centrality Werte im Netzwerk.</translation>
     </message>
@@ -13082,52 +13095,52 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">v.net.connect - Verbinde Punkte zu nächsten Bögen in einem Netzwerk</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="266"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="257"/>
         <source>Creates a cycle connecting given nodes (Traveling salesman problem)</source>
         <translation>Erzeugt eine Rundtour zu gegebenen Punkten (Travelling Salesman)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="50"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="258"/>
         <source>Finds shortest path on vector network</source>
         <translation>Kürzesten Weg in einem Vektornetzwerk finden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="267"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="72"/>
         <source>Creates a raster map layer showing buffer zones surrounding cells that contain non-NULL category values.</source>
         <translation>Erzeugt eine Rasterkarte mit Pufferzonen um Zellen, die keine NULL-Wert-Kategorien haben.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="294"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="208"/>
         <source>Filters and generates a depressionless elevation layer and a flow direction layer from a given elevation raster layer.</source>
         <translation>Depressionsloses Höhenmodell filtern und generieren und eine Fließrichtungskarte auf Basis eines gegebenen Höhenmodells.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="298"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="138"/>
         <source>GRASS raster map layer data resampling capability using nearest neighbors.</source>
         <translation>GRASS-Rasterlayerdatenneuabtastungsfunktion nach nächstem Nachbarn.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="74"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="155"/>
         <source>Creates shaded relief from an elevation layer (DEM).</source>
         <translation>Erzeugt eine Schummerungskarte aus einem Höhenmodell (DGM).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="176"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="304"/>
         <source>Rescales histogram equalized the range of category values in a raster  layer.</source>
         <translation>Reskaliert mit Histogrammnormalisierung die Kategoriewerte einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="59"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="201"/>
         <source>Manages NULL-values of given raster map.</source>
         <translation>NULL-Werte eine gegebenen Rasterkarte behandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="31"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="283"/>
         <source>Makes each cell category value a function of the category values assigned to the cells around it</source>
         <translation>Jede Ausgabezelle zur Funktion der korrespondierenden Zellen des Eingaberasters machen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="35"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="46"/>
         <source>Sediment transport and erosion/deposition simulation using path sampling method (SIMWE).</source>
         <translation>Sedimenttransport und Erosions-/Depositionssimulation unter Verwendung der "path sampling" Methode (SIMWE).</translation>
     </message>
@@ -13136,7 +13149,7 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">v.what.rast.points - Lädt Rasterwerte an gegebenen Position von Vektorpunkten in eine Tabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="73"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="61"/>
         <source>Generates a raster layer of distance to features in input layer.</source>
         <translation>Raster aus Objektabständen in Eingabelayer erzeugen.</translation>
     </message>
@@ -13153,17 +13166,17 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Erzeugt eine Rasterkarte, die die anisotrophen kumulierten Kosten der Bewegung auf Basis der Reibungskosten zeigt.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="305"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="274"/>
         <source>Tabulates the mutual occurrence (coincidence) of categories for two raster map layers.</source>
         <translation>Tabelliere gemeinsames Auftreten (Koinzidenz) der Klassen für zwei Rasterlayer.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="245"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="67"/>
         <source>Watershed basin analysis program.</source>
         <translation>Wassereinzugsgebietsanalyseprogramm.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="75"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="218"/>
         <source>Creates a raster layer of Gaussian deviates.</source>
         <translation>Erzeugt eine Raster von Gauss'schen Ableitungen.</translation>
     </message>
@@ -13172,27 +13185,27 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">v.what.rast.centroids - Lade Rasterwerte an den Position von Vektorzentroiden in die Tabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="128"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="134"/>
         <source>Creates a raster layer and vector point map containing randomly located points.</source>
         <translation>Erstellt eine Rasterkarte und eine Vektorkarte, die zufällig angeordnete Punkte enthalten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="200"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="8"/>
         <source>Selects features from vector map (A) by features from other vector map (B).</source>
         <translation>Selektiert Objekte der Vektorkarte (A) durch Objekte einer anderen Vektorkarte (B).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="203"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="280"/>
         <source>Creates a raster map containing concentric rings around a given point.</source>
         <translation>Erzeugt eine Rasterkarte, die konzentrische Kreise um einen angegebenen Punkt ziehen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="273"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="289"/>
         <source>Recategorizes data in a raster map by grouping cells that form physically discrete areas into unique categories.</source>
         <translation>Re-Kategorisiert Daten einer Rasterkarte, indem Zellen physikalisch diskreter Areale zu eindeutigen Kategorie gruppiert werden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="303"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="248"/>
         <source>Creates a Voronoi diagram from an input vector layer containing points.</source>
         <translation>Erstellt ein Voronoi Diagramm auf Basis einer Vektorkarte mit Punkten.</translation>
     </message>
@@ -13205,7 +13218,7 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Flußberechnung für massive Gitter (Ganzzahkversion).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="151"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="114"/>
         <source>Outputs the raster layer values lying on user-defined line(s).</source>
         <translation>Gibt eine Rasterkarte aus, deren Werte entlang einer (oder mehrerer) benutzerdefinierter Linien liegt.</translation>
     </message>
@@ -13214,52 +13227,52 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Raster in Textdatei als x-,y- und z-Werte der Zellzentren exportieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="253"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="76"/>
         <source>Outputs basic information about a user-specified vector map.</source>
         <translation>Gibt grundlegende Informationen einer bestimmten Vektorkarte aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="306"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="53"/>
         <source>Randomly partition points into test/train sets.</source>
         <translation>Punkte zufällig in Test-/Trainingsdatensätze aufteilen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="130"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="146"/>
         <source>Takes vector stream data, transforms it to raster and subtracts depth from the output DEM.</source>
         <translation>Nimm Vektordaten, wandle sie in Rasterdaten-und subtrahiere Tiefe aus der Ausgabe DEM.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="24"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="63"/>
         <source>Building contour determination and Region Growing algorithm for determining the building inside</source>
         <translation>Bestimmung des Gebäudeumriß und Anwendung des 'Region Growing' Verfahrens zu Ermittelung des Gebäudeinneren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="149"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="18"/>
         <source>Overland flow hydrologic simulation using path sampling method (SIMWE).</source>
         <translation>Hydrologische Simulation des Oberflächenabfluß mittels der "path sampling"-Methode (SIMWE).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="103"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="14"/>
         <source>Makes each output cell value a function of the values assigned to the corresponding cells in the input raster layers.</source>
         <translation>Jede Ausgabezelle zur Funktion der korrespondierenden Zellen des Eingaberasters machen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="189"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="158"/>
         <source>Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.</source>
         <translation>Raster aus der kommulierten Kosten für die Bewegung über ein Raster erzeugen, dessen Zellen Kosten repräsentieren.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="146"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="303"/>
         <source>Rescales the range of category values in a raster layer.</source>
         <translation>Reskaliert die Spanne der Kategoriewerte einer Rasterkarte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="160"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="75"/>
         <source>Solar irradiance and irradiation model.</source>
         <translation>Solar- und Bestrahlungsmodell.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="217"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="121"/>
         <source>Computes the viewshed of a point on an elevation raster map.</source>
         <translation>Berechnet den Sichtbarkeitsbereich eines Punkt auf einer Rasterhöhenkarte.</translation>
     </message>
@@ -13268,22 +13281,22 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Ein einfaches Hilfsprogramm, dass Kurs- und Distanzwert in Koordinaten umrechnet und umgekehrt.  Es setzt ein kartesisches Koordinatensystem voraus </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="55"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="81"/>
         <source>Calculates the volume of data "clumps".</source>
         <translation>Berechnet das Volumen Daten-"Klumpen".</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="271"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="40"/>
         <source>Inverse Fast Fourier Transform (IFFT) for image processing.</source>
         <translation>Inverse schnelle Fourier-Transformation (IFFT) zur Bildverarbeitung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="43"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="128"/>
         <source>Vector based generalization.</source>
         <translation>Vektorbasierte Generalisierung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="247"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="256"/>
         <source>Surface generation program from rasterized contours.</source>
         <translation>Oberflächenerzeugung aus Rasterkonturen.</translation>
     </message>
@@ -13292,42 +13305,42 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">Zufälliges Raster erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="99"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="141"/>
         <source>Converts to POV-Ray format, GRASS x,y,z -> POV-Ray x,z,y</source>
         <translation>Wandelt in das POV-Ray-Format, GRASS x,y,z -> POV-Ray x,z,y</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="222"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="277"/>
         <source>Surface interpolation utility for raster layers.</source>
         <translation>Oberflächeninterpolationswerkzeug für Rasterlayer.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="231"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="265"/>
         <source>Visualization(NVIZ)</source>
         <translation>Visualisierung (NVIZ)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="244"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="98"/>
         <source>Makes each cell value a function of attribute values and stores in an output raster map.</source>
         <translation>Jede Zelle zur Funktion von Attributwerten machen und in eine Ausgaberasterkarte speichern.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="226"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="36"/>
         <source>Converts files in DXF format to GRASS vector map format.</source>
         <translation>Konvertiert Dateien im DXF-Format in das GRASS-Vektorkartenformat.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="169"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="174"/>
         <source>Fast Fourier Transform (FFT) for image processing.</source>
         <translation>Schnelle Fourier-Transformation (FFT) für Bildverarbeitung.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="281"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="27"/>
         <source>Performs atmospheric correction using the 6S algorithm.</source>
         <translation>Führt atmosphärische Korrektur mit dem 6S-Algorithmus aus.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="51"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="150"/>
         <source>Export a raster layer to the Virtual Reality Modeling Language (VRML)</source>
         <translation>Raster in Virtual-Reality-Modeling-Language (VRML) exportieren</translation>
     </message>
@@ -13336,7 +13349,7 @@ Bitte vor der Ausführung von GRASS-Algorithmen konfigurieren.</translation>
         <translation type="vanished">r.flow.aspect.barrier - Erzeugt Hangkurven (flowlines), Fließlängen und Flussdichte (contributing areas) aus einem angegebenen digitalen Höhenmodell (DEM).</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/processing-i18n.cpp" line="57"/>
+        <location filename="../python/plugins/processing/processing-i18n.cpp" line="195"/>
         <source>Numerical calculation program for transient, confined and unconfined groundwater flow in two dimensions.</source>
         <translation>Numerisches Berechnungsprogramm für transienten, beschränkten und unbeschränkte Grundwasserfluß in zwei Dimensionen.</translation>
     </message>
@@ -13400,7 +13413,7 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
 <context>
     <name>Grid</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1032"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1033"/>
         <source>Create grid</source>
         <translation>Gitter erzeugen</translation>
     </message>
@@ -13413,97 +13426,97 @@ Bitte installieren bevor GRASS-Algorithmen ausgeführt werden.</translation>
         <translation type="vanished">Rechteck (Linie)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1018"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1019"/>
         <source>grid,lines,polygons,vector,create,fishnet,diamond,hexagon</source>
         <translation>grid,lines,polygons,vector,create,fishnet,diamond,hexagon</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1019"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1020"/>
         <source>Vector creation</source>
         <translation>Vektorerzeugung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1020"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1021"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1021"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1022"/>
         <source>Line</source>
         <translation>Linie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1022"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1023"/>
         <source>Rectangle (polygon)</source>
         <translation>Rechteck (Polygon)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1023"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1024"/>
         <source>Diamond (polygon)</source>
         <translation>Raute (Polygon)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1024"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1025"/>
         <source>Hexagon (polygon)</source>
         <translation>Hexagon (Polygon)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1025"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1026"/>
         <source>Grid type</source>
         <translation>Gittertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1026"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1027"/>
         <source>Grid extent</source>
         <translation>Gittergrenze von Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1027"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1028"/>
         <source>Horizontal spacing</source>
         <translation>Horizontaler Abstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1028"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1029"/>
         <source>Vertical spacing</source>
         <translation>Vertikaler Abstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1029"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1030"/>
         <source>Horizontal overlay</source>
         <translation>Horizontale Überlagerung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1030"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1031"/>
         <source>Vertical overlay</source>
         <translation>Vertikale Überlagerung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1031"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1032"/>
         <source>Grid</source>
         <translation>Gitter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1033"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1034"/>
         <source>Invalid grid spacing: {0}/{1}</source>
         <translation>Ungültiger Gitterabstand: {0}/{1}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1034"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1035"/>
         <source>Horizontal spacing is too large for the covered area</source>
         <translation>Horizontaler Abstand ist für die abgedeckte Fläche zu groß</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1035"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1036"/>
         <source>Invalid overlay: {0}/{1}</source>
         <translation>Ungültige Überlagerung: {0}/{1}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1036"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1037"/>
         <source>Vertical spacing is too large for the covered area</source>
         <translation>Vertikaler Abstand ist für abgedeckte Fläche zu groß</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1037"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1038"/>
         <source>To preserve symmetry, hspacing is fixed relative to vspacing
                          hspacing is fixed at: {0} and hoverlay is fixed at: {1}
                          hoverlay cannot be negative. Increase hoverlay.</source>
@@ -13527,62 +13540,62 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>GridAverage</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1041"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1042"/>
         <source>Point layer</source>
         <translation>Punktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1042"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1043"/>
         <source>Z value from field</source>
         <translation>Z-Wert aus Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1043"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1044"/>
         <source>The first radius of search ellipse</source>
         <translation>Erster Radius der Suchellipse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1044"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1045"/>
         <source>The second radius of search ellipse</source>
         <translation>Zweiter Radius der Suchellipse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1045"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1046"/>
         <source>Angle of search ellipse rotation in degrees (counter clockwise)</source>
         <translation>Winkel der Suchellipse in Grad (gegen Uhrzeigersinn)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1046"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1047"/>
         <source>Minimum number of data points to use</source>
         <translation>Minimale Anzahl der zu verwendenden Datenpunkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1047"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1048"/>
         <source>NODATA marker to fill empty points</source>
         <translation>Leerwertmarker um leerer Punkte zu füllen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1048"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1049"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1049"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1050"/>
         <source>Output data type</source>
         <translation>Ausgabedatentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1050"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1051"/>
         <source>Interpolated (moving average)</source>
         <translation>Interpolierter beweglicher Mittelwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1051"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1052"/>
         <source>Grid (Moving average)</source>
         <translation>Gitter (Beweglicher Mittelwert)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1052"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1053"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -13630,97 +13643,97 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>GridDataMetrics</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1056"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1057"/>
         <source>Minimum</source>
         <translation>Minimum</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1057"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1058"/>
         <source>Maximum</source>
         <translation>Maximum</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1058"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1059"/>
         <source>Range</source>
         <translation>Bereich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1059"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1060"/>
         <source>Count</source>
         <translation>Anzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1060"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1061"/>
         <source>Average distance</source>
         <translation>Durchschnittlicher Abstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1061"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1062"/>
         <source>Average distance between points</source>
         <translation>Durchschnittliche Punktabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1062"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1063"/>
         <source>Point layer</source>
         <translation>Punktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1063"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1064"/>
         <source>Z value from field</source>
         <translation>Z-Wert aus Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1064"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1065"/>
         <source>Data metric to use</source>
         <translation>Zu verwendende Datenkriterien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1065"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1066"/>
         <source>The first radius of search ellipse</source>
         <translation>Erster Radius der Suchellipse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1066"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1067"/>
         <source>The second radius of search ellipse</source>
         <translation>Zweiter Radius der Suchellipse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1067"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1068"/>
         <source>Angle of search ellipse rotation in degrees (counter clockwise)</source>
         <translation>Winkel der Suchellipse in Grad (gegen Uhrzeigersinn)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1068"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1069"/>
         <source>Minimum number of data points to use</source>
         <translation>Minimale Anzahl der zu verwendenden Datenpunkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1069"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1070"/>
         <source>NODATA marker to fill empty points</source>
         <translation>Leerwertmarker um leerer Punkte zu füllen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1070"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1071"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1071"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1072"/>
         <source>Output data type</source>
         <translation>Ausgabedatentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1072"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1073"/>
         <source>Interpolated (data metrics)</source>
         <translation>Interpolation (Datenkriterien)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1073"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1074"/>
         <source>Grid (Data metrics)</source>
         <translation>Gitter (Datenkriterien)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1074"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1075"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -13831,77 +13844,77 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>GridInverseDistance</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1078"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1079"/>
         <source>Point layer</source>
         <translation>Punktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1079"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1080"/>
         <source>Z value from field</source>
         <translation>Z-Wert aus Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1080"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1081"/>
         <source>Weighting power</source>
         <translation>Gewichtete Potenz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1081"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1082"/>
         <source>Smoothing</source>
         <translation>Glättung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1082"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1083"/>
         <source>The first radius of search ellipse</source>
         <translation>Erster Radius der Suchellipse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1083"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1084"/>
         <source>The second radius of search ellipse</source>
         <translation>Zweiter Radius der Suchellipse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1084"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1085"/>
         <source>Angle of search ellipse rotation in degrees (counter clockwise)</source>
         <translation>Winkel der Suchellipse in Grad (gegen Uhrzeigersinn)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1085"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1086"/>
         <source>Maximum number of data points to use</source>
         <translation>Maximale Anzahl zu verwendender Datenpunkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1086"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1087"/>
         <source>Minimum number of data points to use</source>
         <translation>Minimale Anzahl zu verwendender Datenpunkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1087"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1088"/>
         <source>NODATA marker to fill empty points</source>
         <translation>Leerwertmarker um leerer Punkte zu füllen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1088"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1089"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1089"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1090"/>
         <source>Output data type</source>
         <translation>Ausgabedatentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1090"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1091"/>
         <source>Interpolated (IDW)</source>
         <translation>Interpoliertes IDW</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1091"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1092"/>
         <source>Grid (Inverse distance to a power)</source>
         <translation>Gitter (Inverse Distanz zu einer Potenz)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1092"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1093"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -13909,67 +13922,67 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>GridInverseDistanceNearestNeighbor</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1096"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1097"/>
         <source>Point layer</source>
         <translation>Punktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1097"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1098"/>
         <source>Z value from field</source>
         <translation>Z-Wert aus Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1098"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1099"/>
         <source>Weighting power</source>
         <translation>Gewichtete Potenz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1099"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1100"/>
         <source>Smoothing</source>
         <translation>Glättung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1100"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1101"/>
         <source>The radius of the search circle</source>
         <translation>Suchkreisradius</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1101"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1102"/>
         <source>Maximum number of data points to use</source>
         <translation>Maximale Anzahl zu verwendender Datenpunkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1102"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1103"/>
         <source>Minimum number of data points to use</source>
         <translation>Minimale Anzahl zu verwendender Datenpunkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1103"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1104"/>
         <source>NODATA marker to fill empty points</source>
         <translation>Leerwertmarker um leerer Punkte zu füllen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1104"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1105"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1105"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1106"/>
         <source>Output data type</source>
         <translation>Ausgabedatentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1106"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1107"/>
         <source>Interpolated (IDW with NN search)</source>
         <translation>Interpoliertes IDW mit NN-Suche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1107"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1108"/>
         <source>Grid (IDW with nearest neighbor searching)</source>
         <translation>Gitter (IDW mit Suche des nächsten Nachbarn)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1108"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1109"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -14032,47 +14045,47 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>GridLinear</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1112"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1113"/>
         <source>Point layer</source>
         <translation>Punktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1113"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1114"/>
         <source>Z value from field</source>
         <translation>Z-Wert aus Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1114"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1115"/>
         <source>Search distance </source>
         <translation>Suchabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1115"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1116"/>
         <source>NODATA marker to fill empty points</source>
         <translation>Leerwertmarker um leerer Punkte zu füllen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1116"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1117"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1117"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1118"/>
         <source>Output data type</source>
         <translation>Ausgabedatentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1118"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1119"/>
         <source>Interpolated (Linear)</source>
         <translation>Interpoliert (Linear)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1119"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1120"/>
         <source>Grid (Linear)</source>
         <translation>Gitter (Linear)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1120"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1121"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -14174,57 +14187,57 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>GridNearestNeighbor</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1124"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1125"/>
         <source>Point layer</source>
         <translation>Punktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1125"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1126"/>
         <source>Z value from field</source>
         <translation>Z-Wert aus Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1126"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1127"/>
         <source>The first radius of search ellipse</source>
         <translation>Erster Radius der Suchellipse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1127"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1128"/>
         <source>The second radius of search ellipse</source>
         <translation>Zweiter Radius der Suchellipse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1128"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1129"/>
         <source>Angle of search ellipse rotation in degrees (counter clockwise)</source>
         <translation>Winkel der Suchellipse in Grad (gegen Uhrzeigersinn)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1129"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1130"/>
         <source>NODATA marker to fill empty points</source>
         <translation>Leerwertmarker um leerer Punkte zu füllen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1130"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1131"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1131"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1132"/>
         <source>Output data type</source>
         <translation>Ausgabedatentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1132"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1133"/>
         <source>Interpolated (Nearest neighbor)</source>
         <translation>Interpolation (Nächster Nachbar)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1133"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1134"/>
         <source>Grid (Nearest neighbor)</source>
         <translation>Gitter (Nächster Nachbar)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1134"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1135"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -14574,67 +14587,67 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
         <translation type="vanished">QGIS lädt nun das teilweise berechnete Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1138"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1139"/>
         <source>heatmap,kde,hotspot</source>
         <translation>heatmap,kde,hotspot</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1139"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1140"/>
         <source>Interpolation</source>
         <translation>Interpolation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1140"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1141"/>
         <source>Heatmap (Kernel Density Estimation)</source>
         <translation>Heatmap (Kerndichtenschätzung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1141"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1142"/>
         <source>Quartic</source>
         <translation>bi-quadratisch</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1142"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1143"/>
         <source>Triangular</source>
         <translation>Dreieck</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1143"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1144"/>
         <source>Uniform</source>
         <translation>Uniform</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1144"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1145"/>
         <source>Triweight</source>
         <translation>Dreifach gewichten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1145"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1146"/>
         <source>Epanechnikov</source>
         <translation>Epanechnikov</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1146"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1147"/>
         <source>Raw</source>
         <translation>Roh</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1147"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1148"/>
         <source>Scaled</source>
         <translation>Skaliert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1148"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1149"/>
         <source>Point layer</source>
         <translation>Punktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1149"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1150"/>
         <source>Radius (layer units)</source>
         <translation>Radius (Layereinheiten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1150"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1151"/>
         <source>Radius from field</source>
         <translation>Radius aus Feld</translation>
     </message>
@@ -14780,7 +14793,7 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>HeatmapPixelSizeWidgetWrapper</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1154"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1155"/>
         <source>Resolution of each pixel in output raster, in layer units</source>
         <translation>Auflösung der Einzelpixel in Ausgaberaster in Layereinheiten</translation>
     </message>
@@ -14792,60 +14805,60 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
         <translation type="vanished">Die Hilfe-Datei %s konnte nicht geöffnet werden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1158"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1159"/>
         <source>Cannot open help file: {0}</source>
         <translation>Die Hilfe-Datei {0} konnte nicht geöffnet werden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1159"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1160"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1160"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1161"/>
         <source><h2>Algorithm description</h2>
 </source>
         <translation><h2>Algorithmus Beschreibung</h2</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1161"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1162"/>
         <source><h2>Input parameters</h2>
 </source>
         <translation><h2>Eingangsparameter</h2></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1162"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1163"/>
         <source><h2>Outputs</h2>
 </source>
         <translation><h2>Ausgabe</h2></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1163"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1164"/>
         <source>Algorithm description</source>
         <translation>Algorithmus Beschreibung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1164"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1165"/>
         <source>Input parameters</source>
         <translation>Eingangs Parameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1165"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1166"/>
         <source>Outputs</source>
         <translation>Ausgaben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1166"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1167"/>
         <source>Algorithm created by</source>
         <translation>Algorithmus erstellt von</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1167"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1168"/>
         <source>Algorithm help written by</source>
         <translation>Algorithmus Hilfe Datei geschrieben von</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1168"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1169"/>
         <source>Algorithm version</source>
         <translation>Alorithmus Version</translation>
     </message>
@@ -14853,32 +14866,32 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>Hillshade</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1172"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1173"/>
         <source>Raster terrain analysis</source>
         <translation>Rastergeländeanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1173"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1174"/>
         <source>Elevation layer</source>
         <translation>Geländehöhenlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1174"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1175"/>
         <source>Z factor</source>
         <translation>Z-Faktor</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1175"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1176"/>
         <source>Azimuth (horizontal angle)</source>
         <translation>Azimuth (horizontaler Winkel)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1176"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1177"/>
         <source>Vertical angle</source>
         <translation>Vertikaler Winkel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1177"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1178"/>
         <source>Hillshade</source>
         <translation>Schummerung</translation>
     </message>
@@ -14886,7 +14899,7 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>HistoryDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1181"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1182"/>
         <source>Clear</source>
         <translation>Löschen</translation>
     </message>
@@ -14895,46 +14908,50 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
         <translation type="vanished">Speichern als…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1185"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1186"/>
         <source>Confirmation</source>
         <translation>Bestätigung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1182"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1183"/>
         <source>Clear history</source>
         <translation>Historie leeren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1183"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1184"/>
         <source>Save As…</source>
         <translation>Speichern als…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1184"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1185"/>
         <source>Save history</source>
         <translation>Historie speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1186"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1187"/>
         <source>Are you sure you want to clear the history?</source>
         <translation>Soll die Historie wirklich geleert werden?</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1187"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1188"/>
         <source>Save File</source>
         <translation>Datei speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1189"/>
-        <source>Create Test…</source>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1190"/>
+        <source>Create Test…</source>
         <translation>Test erzeugen…</translation>
     </message>
     <message>
+        <source>Create Test…</source>
+        <translation type="vanished">Test erzeugen…</translation>
+    </message>
+    <message>
         <source>Save file</source>
         <translation type="vanished">Datei speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1188"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1189"/>
         <source>Log files (*.log *.LOG)</source>
         <translation>Log Dateien (*.log *.LOG)</translation>
     </message>
@@ -15026,67 +15043,67 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>HubDistanceLines</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1193"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1194"/>
         <source>Vector analysis</source>
         <translation>Vektoranalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1194"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1195"/>
         <source>Meters</source>
         <translation>Meter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1195"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1196"/>
         <source>Feet</source>
         <translation>Fuß</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1196"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1197"/>
         <source>Miles</source>
         <translation>Meilen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1197"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1198"/>
         <source>Kilometers</source>
         <translation>Kilometer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1198"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1199"/>
         <source>Layer units</source>
         <translation>Layereinheiten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1199"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1200"/>
         <source>Source points layer</source>
         <translation>Quellpunktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1200"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1201"/>
         <source>Destination hubs layer</source>
         <translation>Zielnabenlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1201"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1202"/>
         <source>Hub layer name attribute</source>
         <translation>Nabenlayernamenattribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1202"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1203"/>
         <source>Measurement unit</source>
         <translation>Maßeinheit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1203"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1204"/>
         <source>Hub distance</source>
         <translation>Knotenabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1204"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1205"/>
         <source>Distance to nearest hub (line to hub)</source>
         <translation>Abstand zum nächsten Knoten (Linie zu Knoten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1205"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1206"/>
         <source>Same layer given for both hubs and spokes</source>
         <translation>Gleicher Name für Naben- und Speichenlayer gewählt</translation>
     </message>
@@ -15094,67 +15111,67 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>HubDistancePoints</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1209"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1210"/>
         <source>Vector analysis</source>
         <translation>Vektoranalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1210"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1211"/>
         <source>Meters</source>
         <translation>Meter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1211"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1212"/>
         <source>Feet</source>
         <translation>Fuß</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1212"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1213"/>
         <source>Miles</source>
         <translation>Meilen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1213"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1214"/>
         <source>Kilometers</source>
         <translation>Kilometer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1214"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1215"/>
         <source>Layer units</source>
         <translation>Layereinheiten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1215"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1216"/>
         <source>Source points layer</source>
         <translation>Quellpunktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1216"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1217"/>
         <source>Destination hubs layer</source>
         <translation>Zielnabenlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1217"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1218"/>
         <source>Hub layer name attribute</source>
         <translation>Nabenlayernamenattribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1218"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1219"/>
         <source>Measurement unit</source>
         <translation>Maßeinheit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1219"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1220"/>
         <source>Hub distance</source>
         <translation>Knotenabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1220"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1221"/>
         <source>Distance to nearest hub (points)</source>
         <translation>Abstand zum nächsten Knoten (Punkte)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1221"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1222"/>
         <source>Same layer given for both hubs and spokes</source>
         <translation>Gleicher Name für Naben- und Speichenlayer gewählt</translation>
     </message>
@@ -15193,42 +15210,42 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>HypsometricCurves</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1225"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1226"/>
         <source>Raster terrain analysis</source>
         <translation>Rastergeländeanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1226"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1227"/>
         <source>DEM to analyze</source>
         <translation>Zu analysierendes DEM</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1227"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1228"/>
         <source>Boundary layer</source>
         <translation>Begrenzungslayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1228"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1229"/>
         <source>Step</source>
         <translation>Schrittweite</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1229"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1230"/>
         <source>Use % of area instead of absolute value</source>
         <translation>Prozentsatz der Fläche statt absolutem Wert verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1230"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1231"/>
         <source>Hypsometric curves</source>
         <translation>Höhenschichtenkurven</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1231"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1232"/>
         <source>Feature {0} does not intersect raster or entirely located in NODATA area</source>
         <translation>Objekt {0} schneidet das Raster nicht oder ist komplett im leeren Bereich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1232"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1233"/>
         <source>Feature {0} is smaller than raster cell size</source>
         <translation>Objekt {0} ist kleiner als Rasterzellengröße</translation>
     </message>
@@ -15241,12 +15258,12 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
         <translation type="vanished">Objekt %d schneidet das Raster nicht oder ist komplett im leeren Bereich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1233"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1234"/>
         <source>Area</source>
         <translation>Fläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1234"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1235"/>
         <source>Elevation</source>
         <translation>Geländehöhe</translation>
     </message>
@@ -15258,47 +15275,47 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>IdwInterpolation</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1238"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1239"/>
         <source>Interpolation</source>
         <translation>Interpolation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1239"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1240"/>
         <source>Input layer(s)</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1240"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1241"/>
         <source>Distance coefficient P</source>
         <translation>Abstandskoeffizient P</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1241"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1242"/>
         <source>Number of columns</source>
         <translation>Spaltenanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1242"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1243"/>
         <source>Number of rows</source>
         <translation>Zeilenanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1243"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1244"/>
         <source>Extent</source>
         <translation>Ausmaße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1244"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1245"/>
         <source>Interpolated</source>
         <translation>Interpoliert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1245"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1246"/>
         <source>IDW interpolation</source>
         <translation>IDW-Interpolation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1246"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1247"/>
         <source>You need to specify at least one input layer.</source>
         <translation>Es muß mindestens ein Eingabelayer angeben werden.</translation>
     </message>
@@ -15347,77 +15364,77 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1250"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1251"/>
         <source>Database</source>
         <translation>Datenbank</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1251"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1252"/>
         <source>Layer to import</source>
         <translation>Zu importierender Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1252"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1253"/>
         <source>Database (connection name)</source>
         <translation>Datenbank (Verbindungsname)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1253"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1254"/>
         <source>Schema (schema name)</source>
         <translation>Schema (Schemaname)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1254"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1255"/>
         <source>Table to import to (leave blank to use layer name)</source>
         <translation>Importieren in Tabelle (leer lassen um den Layername zu verwenden)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1255"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1256"/>
         <source>Primary key field</source>
         <translation>Primärschlüsselfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1256"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1257"/>
         <source>Geometry column</source>
         <translation>Geometriespalte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1257"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1258"/>
         <source>Encoding</source>
         <translation>Kodierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1258"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1259"/>
         <source>Overwrite</source>
         <translation>Überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1259"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1260"/>
         <source>Create spatial index</source>
         <translation>Räumlichen Index erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1260"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1261"/>
         <source>Convert field names to lowercase</source>
         <translation>Feldnamen in Kleinschreibung umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1261"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1262"/>
         <source>Drop length constraints on character fields</source>
         <translation>Längenbeschränkungen auf Textfeld verwerfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1262"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1263"/>
         <source>Create single-part geometries instead of multi-part</source>
         <translation>Einteilige statt mehrteiliger Geometrien erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1263"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1264"/>
         <source>Import into PostGIS</source>
         <translation>In PostGIS importieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1264"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1265"/>
         <source>Error importing to PostGIS
 {0}</source>
         <translation>Fehler beim PostGIS-Import
@@ -15427,72 +15444,72 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>ImportIntoSpatialite</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1268"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1269"/>
         <source>Database</source>
         <translation>Datenbank</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1269"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1270"/>
         <source>Layer to import</source>
         <translation>Zu importierender Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1270"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1271"/>
         <source>File database</source>
         <translation>File-Database</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1271"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1272"/>
         <source>Table to import to (leave blank to use layer name)</source>
         <translation>Importieren in Tabelle (leer lassen um den Layername zu verwenden)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1272"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1273"/>
         <source>Primary key field</source>
         <translation>Primärschlüsselfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1273"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1274"/>
         <source>Geometry column</source>
         <translation>Geometriespalte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1274"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1275"/>
         <source>Encoding</source>
         <translation>Kodierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1275"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1276"/>
         <source>Overwrite</source>
         <translation>Überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1276"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1277"/>
         <source>Create spatial index</source>
         <translation>Räumlichen Index erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1277"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1278"/>
         <source>Convert field names to lowercase</source>
         <translation>Feldnamen in Kleinschreibung umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1278"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1279"/>
         <source>Drop length constraints on character fields</source>
         <translation>Längenbeschränkungen auf Textfeld verwerfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1279"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1280"/>
         <source>Create single-part geometries instead of multi-part</source>
         <translation>Einteilige statt mehrteiliger Geometrien erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1280"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1281"/>
         <source>Import into Spatialite</source>
         <translation>In SpatiaLite importieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1281"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1282"/>
         <source>Error importing to Spatialite
 {0}</source>
         <translation>Fehler beim Importieren in SpatiaLite
@@ -15556,17 +15573,17 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>InterpolationDataWidget</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1285"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1286"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1286"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1287"/>
         <source>Structure lines</source>
         <translation>Strukturlinien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1287"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1288"/>
         <source>Break lines</source>
         <translation>Bruchkanten</translation>
     </message>
@@ -15574,27 +15591,27 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>Intersection</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1291"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1292"/>
         <source>Vector overlay</source>
         <translation>Vektorlayerüberlagerung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1293"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1294"/>
         <source>Intersection layer</source>
         <translation>Schnittlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1294"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1295"/>
         <source>Input fields to keep (leave empty to keep all fields)</source>
         <translation>Beizubehaltendes Eingabefelder (leer belassen, wenn alle Felder beibehalten werden sollen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1295"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1296"/>
         <source>Intersect fields to keep (leave empty to keep all fields)</source>
         <translation>Beizubehaltendes Schnittfelder (leer belassen, wenn alle Felder beibehalten werden sollen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1298"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1299"/>
         <source>Feature geometry error: One or more output features ignored due to invalid geometry.</source>
         <translation>Objektgeometriefehler: Ein oder mehrere Objekte wegen ungültiger Geometrie ignoriert.</translation>
     </message>
@@ -15603,7 +15620,7 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
         <translation type="vanished">Vektorlayerüberlagerungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1292"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1293"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
@@ -15612,12 +15629,12 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
         <translation type="vanished">Layer schneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1297"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1298"/>
         <source>GEOS geoprocessing error: One or more input features have invalid geometry.</source>
         <translation>GEOS-Verarbeitungsfehler: Ein oder mehrere Eingabeobjekte haben ungültige Geometrien.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1296"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1297"/>
         <source>Intersection</source>
         <translation>Verschneidung</translation>
     </message>
@@ -15656,27 +15673,27 @@ hoverlay darf nicht negativ sein.  hoverlay erhöhen.</translation>
 <context>
     <name>KeepNBiggestParts</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1302"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1303"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1303"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1304"/>
         <source>Polygons</source>
         <translation>Polygone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1304"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1305"/>
         <source>Parts to keep</source>
         <translation>Zu erhaltende Teile</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1305"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1306"/>
         <source>Parts</source>
         <translation>Teile</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1306"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1307"/>
         <source>Keep N biggest parts</source>
         <translation>Die N größten Teile erhalten</translation>
     </message>
@@ -16086,27 +16103,27 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
         <translation type="vanished">Polygon aus Linien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1310"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1311"/>
         <source>line,polygon,convert</source>
         <translation>line,polygon,convert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1311"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1312"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1312"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1313"/>
         <source>Lines to polygons</source>
         <translation>Linien zu Polygonen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1313"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1314"/>
         <source>Polygons</source>
         <translation>Polygone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1314"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1315"/>
         <source>One or more line ignored due to geometry not having a minimum of three vertices.</source>
         <translation>Eine oder mehrere Zeilen ignoriert, weil sie nicht mindestens drei Stützpunkte hatte.</translation>
     </message>
@@ -16169,7 +16186,7 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="240"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1348"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1349"/>
         <source>Vect&or</source>
         <translation>&Vektor</translation>
     </message>
@@ -16184,102 +16201,102 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1318"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1319"/>
         <source>Script editor</source>
         <translation>Skript-Editor</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="39"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1319"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1320"/>
         <source>Case sensitive</source>
         <translation>Groß-/Kleinschreibung beachten</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="46"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1320"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1321"/>
         <source>Whole word</source>
         <translation>Ganzes Wort</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="53"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1321"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1322"/>
         <source>Replace</source>
         <translation>Ersetzen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="60"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1322"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1323"/>
         <source>Find what:</source>
         <translation>Suchen nach:</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="67"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1323"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1324"/>
         <source>Replace with:</source>
         <translation>Ersetzen durch:</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="77"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1324"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1325"/>
         <source>Find</source>
         <translation>Suchen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="98"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1325"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1326"/>
         <source>toolBar</source>
         <translation>toolBar</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="127"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1326"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1327"/>
         <source>Open script...</source>
         <translation>Skript öffnen…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="130"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1327"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1328"/>
         <source>Open script</source>
         <translation>Skript öffnen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="133"/>
         <location filename="../src/ui/qgisapp.ui" line="681"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1328"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1329"/>
         <source>Ctrl+O</source>
         <translation>Strg+O</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="138"/>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="141"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1329"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1330"/>
         <source>Save script...</source>
         <translation>Skript speichern…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="144"/>
         <location filename="../src/ui/qgisapp.ui" line="693"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1330"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1331"/>
         <source>Ctrl+S</source>
         <translation>Strg+S</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="149"/>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="152"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1331"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1332"/>
         <source>Save script as...</source>
         <translation>Skript speichern als…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="155"/>
         <location filename="../src/ui/qgisapp.ui" line="705"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1332"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1333"/>
         <source>Ctrl+Shift+S</source>
         <translation>Strg+Umschalt+S</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="245"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1347"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1348"/>
         <source>Find & replace</source>
         <translation>Suchen & Ersetzen</translation>
     </message>
@@ -16290,56 +16307,56 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="160"/>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="163"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1333"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1334"/>
         <source>Run script</source>
         <translation>Skript ausführen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="171"/>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="174"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1335"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1336"/>
         <source>Cut</source>
         <translation>Ausschneiden</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="182"/>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="185"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1337"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1338"/>
         <source>Copy</source>
         <translation>Kopieren</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="193"/>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="196"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1339"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1340"/>
         <source>Paste</source>
         <translation>Einfügen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="204"/>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="207"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1341"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1342"/>
         <source>Undo</source>
         <translation>Rückgängig</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="215"/>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="218"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1343"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1344"/>
         <source>Redo</source>
         <translation>Wiederholen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="226"/>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="229"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1345"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1346"/>
         <source>Increase font size</source>
         <translation>Fontgröße erhöhen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="234"/>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="237"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1346"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1347"/>
         <source>Decrease font size</source>
         <translation>Fontgröße verkleinern</translation>
     </message>
@@ -16348,7 +16365,7 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
         <translation type="vanished">SuchenErsetzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2947"/>
+        <location filename="../src/ui/qgisapp.ui" line="2953"/>
         <source>Ctrl+P</source>
         <translation>Strg+P</translation>
     </message>
@@ -16505,7 +16522,7 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="210"/>
         <location filename="../src/ui/qgisapp.ui" line="765"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1342"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1343"/>
         <source>Ctrl+Z</source>
         <translation>Strg+Z</translation>
     </message>
@@ -16517,7 +16534,7 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="221"/>
         <location filename="../src/ui/qgisapp.ui" line="777"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1344"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1345"/>
         <source>Ctrl+Shift+Z</source>
         <translation>Strg+Umschalt+Z</translation>
     </message>
@@ -16529,7 +16546,7 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="177"/>
         <location filename="../src/ui/qgisapp.ui" line="789"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1336"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1337"/>
         <source>Ctrl+X</source>
         <translation>Strg+X</translation>
     </message>
@@ -16541,7 +16558,7 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="188"/>
         <location filename="../src/ui/qgisapp.ui" line="801"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1338"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1339"/>
         <source>Ctrl+C</source>
         <translation>Strg+C</translation>
     </message>
@@ -16553,7 +16570,7 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="199"/>
         <location filename="../src/ui/qgisapp.ui" line="813"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1340"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1341"/>
         <source>Ctrl+V</source>
         <translation>Strg+V</translation>
     </message>
@@ -16717,7 +16734,7 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="1170"/>
         <location filename="../src/ui/qgisapp.ui" line="1449"/>
-        <location filename="../src/ui/qgisapp.ui" line="2920"/>
+        <location filename="../src/ui/qgisapp.ui" line="2926"/>
         <source>Ctrl+Shift+M</source>
         <translation>Strg+Umschalt+M</translation>
     </message>
@@ -16852,11 +16869,17 @@ Bitte vor der Ausführung von LAStools-Algorithmen einstellen.</translation>
         <translation>Tastenkürzel…</translation>
     </message>
     <message>
+        <location filename="../src/ui/qgisapp.ui" line="1777"/>
+        <location filename="../src/ui/qgisapp.ui" line="1780"/>
+        <source>Move Label and Diagram</source>
+        <translation>Beschriftungen und Diagramm verschieben</translation>
+    </message>
+    <message>
         <location filename="../src/ui/qgisapp.ui" line="1795"/>
         <source>Rotate Label
 Ctrl (Cmd) increments by 15 deg.</source>
         <translation>Layer drehen
-Strg (Cmd) erhöht um 15°</translation>
+Strg (Cmd) erhöht um 15°.</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="1867"/>
@@ -16894,319 +16917,366 @@ Strg (Cmd) erhöht um 15°</translation>
         <translation>Maßstab</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2018"/>
+        <location filename="../src/ui/qgisapp.ui" line="1991"/>
+        <location filename="../src/ui/qgisapp.ui" line="1994"/>
+        <source>Copy Style</source>
+        <translation>Stil kopieren</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2003"/>
+        <location filename="../src/ui/qgisapp.ui" line="2006"/>
+        <source>Paste Style</source>
+        <translation>Stil einfügen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2024"/>
         <source>&Grid…</source>
         <translation>&Gitter…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2039"/>
+        <location filename="../src/ui/qgisapp.ui" line="2732"/>
+        <source>&Add Circle by a Center Point and Another Point</source>
+        <translation>Kreis mit Mittelpunkt und einem weiteren Punkt hinzufügen (&a)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2807"/>
+        <source>&Add Rectangle from Extent</source>
+        <translation>Rechteck mit den Ausmaßen hinzufügen (&a)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2822"/>
+        <source>Add &Rectangle from Center and a Point</source>
+        <translation>&Rechteck mit Mittelpunkt und einem weiteren Punkt hinzufügen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2837"/>
+        <source>&Add Regular Polygon from Center and a Point</source>
+        <translation>Regelmäßiges Polygon aus Mittelpunkt und einem weiteren Punkt hinzufüen (&a)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2852"/>
+        <source>Add &Regular Polygon from 2 Points</source>
+        <translation>&Regelmäßiges Polygon aus zwei Punkten hinzufügen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2882"/>
+        <source>Add Rectangle &from 3 Points</source>
+        <translation>Rechteck aus drei Punkten hinzu&fügen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2897"/>
+        <source>Add Circle &from 2 Tangents and a Point</source>
+        <translation>Kreis aus zwei Tangenten und einem Punkt erzeugen (&f)</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2912"/>
+        <source>Add Regular &Polygon from Center and a Corner</source>
+        <translation>Regelmäßiges &Polygon aus Mittel- und einem Eckpunkt</translation>
+    </message>
+    <message>
         <source>Pin/Unpin Labels And Diagrams
 Click or marquee on label/diagram to pin
 Shift unpins, Ctrl (Cmd) toggles state
 Acts on all editable layers</source>
-        <translation>Beschriftung und Diagramme anpinnen/lösen
+        <translation type="vanished">Beschriftung und Diagramme anpinnen/lösen
 Beschriftung/Diagramm anklicken oder markieren, um sie anzupinnen.
 Umschalt löst, Strg (Cmd) schaltet um
 Funktioniert auf allen änderbaren Layern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2312"/>
+        <location filename="../src/ui/qgisapp.ui" line="2318"/>
         <source>Select Features by Expression...</source>
         <translation>Objekte nach Ausdruck wählen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2318"/>
+        <location filename="../src/ui/qgisapp.ui" line="2324"/>
         <source>Ctrl+F3</source>
         <translation>Strg+F3</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2372"/>
+        <location filename="../src/ui/qgisapp.ui" line="2378"/>
         <source>Temporary Scratch Layer...</source>
         <translation>Temporärlayer…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2385"/>
+        <location filename="../src/ui/qgisapp.ui" line="2391"/>
         <source>DWG/DXF Import...</source>
         <translation>DWG/DXF-Import…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2500"/>
+        <location filename="../src/ui/qgisapp.ui" line="2506"/>
         <source>Hide Deselected Layers</source>
         <translation>Abgewählte Layer verbergen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2591"/>
+        <location filename="../src/ui/qgisapp.ui" line="2597"/>
         <source>Ctrl+Shift+N</source>
         <translation>Strg+Umschalt+N</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2654"/>
-        <location filename="../src/ui/qgisapp.ui" line="2657"/>
+        <location filename="../src/ui/qgisapp.ui" line="2645"/>
+        <source>Select Features by Value</source>
+        <translation>Objekte nach Wert wählen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2660"/>
+        <location filename="../src/ui/qgisapp.ui" line="2663"/>
         <source>Copy and Move Feature(s)</source>
         <translation>Objekt(e) kopieren und verschieben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2666"/>
+        <location filename="../src/ui/qgisapp.ui" line="2672"/>
         <source>&Layout Extents…</source>
         <translation>&Layoutausmaße…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2669"/>
+        <location filename="../src/ui/qgisapp.ui" line="2675"/>
         <source>Layout Extents</source>
         <translation>Layoutausmaße</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2678"/>
+        <location filename="../src/ui/qgisapp.ui" line="2684"/>
         <source>&Data Source Manager</source>
         <translation>&Datenquellenverwaltung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2681"/>
+        <location filename="../src/ui/qgisapp.ui" line="2687"/>
         <source>Open Data Source Manager</source>
         <translation>Datenquellenverwaltung öffnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2684"/>
+        <location filename="../src/ui/qgisapp.ui" line="2690"/>
         <source>Ctrl+L</source>
         <translation>Strg+L</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2696"/>
+        <location filename="../src/ui/qgisapp.ui" line="2702"/>
         <source>Add Circle from &2 Points</source>
         <translation>Kreis aus &2 Punkten hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2699"/>
+        <location filename="../src/ui/qgisapp.ui" line="2705"/>
         <source>Add circle from 2 points</source>
         <translation>Kreis aus &2 Punkten hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2711"/>
+        <location filename="../src/ui/qgisapp.ui" line="2717"/>
         <source>Add Circle from &3 Points</source>
         <translation>Kreis aus &3 Punkten hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2714"/>
+        <location filename="../src/ui/qgisapp.ui" line="2720"/>
         <source>Add circle from 3 points</source>
         <translation>Kreis aus drei Punkten hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2726"/>
         <source>&Add Circle by a center point and another point</source>
-        <translation>Kreis mit Mittel- und einem &anderen Punkt hinzufügen</translation>
+        <translation type="vanished">Kreis mit Mittel- und einem &anderen Punkt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2729"/>
+        <location filename="../src/ui/qgisapp.ui" line="2735"/>
         <source>Add Circle by a center point and another point</source>
         <translation>Kreise mit Mittel- und einem anderen Punkt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2741"/>
+        <location filename="../src/ui/qgisapp.ui" line="2747"/>
         <source>&Add Ellipse from Center and 2 Points</source>
         <translation>Ellipse mit einem Mittelpunkt und zwei Punkten hinzufügen (&a)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2744"/>
+        <location filename="../src/ui/qgisapp.ui" line="2750"/>
         <source>Add Ellipse from center and 2 points</source>
         <translation>Ellipse mit einem Mittel- und zwei Punkten hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2756"/>
+        <location filename="../src/ui/qgisapp.ui" line="2762"/>
         <source>Add Ellipse from &Center and a Point</source>
         <translation>Ellipse mit Mittel- und einem Punkt hinzufügen (&c)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2759"/>
+        <location filename="../src/ui/qgisapp.ui" line="2765"/>
         <source>Add Ellipse from center and a point</source>
         <translation>Ellipse vom Mittelpunkt mit einem Punkt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2771"/>
+        <location filename="../src/ui/qgisapp.ui" line="2777"/>
         <source>Add Ellipse from &Extent</source>
         <translation>&Ellipse nach Maßen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2774"/>
+        <location filename="../src/ui/qgisapp.ui" line="2780"/>
         <source>Add Ellipse from extent</source>
         <translation>Ellipse nach Maßen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2786"/>
+        <location filename="../src/ui/qgisapp.ui" line="2792"/>
         <source>Add Ellipse from &Foci</source>
         <translation>Ellipse aus Brennpunkten angeben (&f)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2789"/>
+        <location filename="../src/ui/qgisapp.ui" line="2795"/>
         <source>Add Ellipse from foci</source>
         <translation>Ellipse aus Brennpunkten hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2801"/>
         <source>&Add Rectangle From Extent</source>
-        <translation>Rechteck nach M&aßen hinzufügen</translation>
+        <translation type="vanished">Rechteck nach M&aßen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2804"/>
+        <location filename="../src/ui/qgisapp.ui" line="2810"/>
         <source>Add rectangle from extent</source>
         <translation>Rechteck nach Maßen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2816"/>
         <source>Add &Rectangle From Center and a Point</source>
-        <translation>&Rechteck mit Mittel- und einem Punkt hinzufügen</translation>
+        <translation type="vanished">&Rechteck mit Mittel- und einem Punkt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2819"/>
+        <location filename="../src/ui/qgisapp.ui" line="2825"/>
         <source>Add rectangle from center and a point</source>
         <translation>Rechteck aus Mittel- und eine Punkt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2831"/>
         <source>&Add Regular Polygon From Center and a Point</source>
-        <translation>Regelmäßiges Polygon &aus Mittel- und einem Punkt hinzufügen</translation>
+        <translation type="vanished">Regelmäßiges Polygon &aus Mittel- und einem Punkt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2834"/>
+        <location filename="../src/ui/qgisapp.ui" line="2840"/>
         <source>Add regular polygon from center and a point</source>
         <translation>Regelmäßiges Polygon aus Mittel- und einem Punkt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2846"/>
         <source>Add &Regular Polygon From 2 Points</source>
-        <translation>&Regelmäßiges Polygon aus zwei Punkten hinzufügen</translation>
+        <translation type="vanished">&Regelmäßiges Polygon aus zwei Punkten hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2849"/>
+        <location filename="../src/ui/qgisapp.ui" line="2855"/>
         <source>Add regular polygon from 2 points</source>
         <translation>Regelmäßiges Polygon aus 2 Punkten hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2861"/>
+        <location filename="../src/ui/qgisapp.ui" line="2867"/>
         <source>Add &Circle from 3 Tangents</source>
         <translation>Kreis aus drei Tangenten hinzufügen (&c)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2864"/>
+        <location filename="../src/ui/qgisapp.ui" line="2870"/>
         <source>Add circle from 3 tangents</source>
         <translation>Kreis aus drei Tangenten hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2876"/>
         <source>Add Rectangle &From 3 Points</source>
-        <translation>Rechteck aus 3 Punkten (&f) hinzufügen</translation>
+        <translation type="vanished">Rechteck aus 3 Punkten (&f) hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2879"/>
+        <location filename="../src/ui/qgisapp.ui" line="2885"/>
         <source>Add rectangle from 3 points</source>
         <translation>Rechteck aus drei Punkten hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2891"/>
         <source>Add Circle &from 2 Tangents and a point</source>
-        <translation>Kreis aus 2 Tangenten und einem Punkt (&f) hinzufügen</translation>
+        <translation type="vanished">Kreis aus 2 Tangenten und einem Punkt (&f) hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2894"/>
+        <location filename="../src/ui/qgisapp.ui" line="2900"/>
         <source>Add circle from 2 tangents and a point</source>
         <translation>Kreis aus zwei Tangenten und einem Punkt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2906"/>
         <source>Add Regular &Polygon From Center and a Corner</source>
-        <translation>Regelmäßiges &Polygon aus Mittel- und Eckpunkt</translation>
+        <translation type="vanished">Regelmäßiges &Polygon aus Mittel- und Eckpunkt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2909"/>
+        <location filename="../src/ui/qgisapp.ui" line="2915"/>
         <source>Add regular polygon from center and a corner</source>
         <translation>Regelmäßiges Polygon aus Mittel- und Eckpunkt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2914"/>
+        <location filename="../src/ui/qgisapp.ui" line="2920"/>
         <source>New &3D Map View</source>
         <translation>Neue &3D-Kartenansicht</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2917"/>
+        <location filename="../src/ui/qgisapp.ui" line="2923"/>
         <source>New 3D Map View</source>
         <translation>Neue 3D-Kartenansicht</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2929"/>
+        <location filename="../src/ui/qgisapp.ui" line="2935"/>
         <source>Layout Manager…</source>
         <translation>Layout-Verwaltung…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2932"/>
+        <location filename="../src/ui/qgisapp.ui" line="2938"/>
         <source>Show Layout Manager</source>
         <translation>Layout-Verwaltung anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2941"/>
+        <location filename="../src/ui/qgisapp.ui" line="2947"/>
         <source>New &Print Layout</source>
         <translation>Neues Drucklayout (&p)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2944"/>
+        <location filename="../src/ui/qgisapp.ui" line="2950"/>
         <source>New Print Layout</source>
         <translation>Neues Drucklayout</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2956"/>
+        <location filename="../src/ui/qgisapp.ui" line="2962"/>
         <source>New &Report</source>
         <translation>Neuer Be&richt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2959"/>
+        <location filename="../src/ui/qgisapp.ui" line="2965"/>
         <source>New Report</source>
         <translation>Neuer Bericht</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2544"/>
+        <location filename="../src/ui/qgisapp.ui" line="2550"/>
         <source>Add Circular String</source>
         <translation>Kreisbogen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2559"/>
+        <location filename="../src/ui/qgisapp.ui" line="2565"/>
         <source>Add Circular String by Radius</source>
         <translation>Kreisbogen über Radius hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2576"/>
+        <location filename="../src/ui/qgisapp.ui" line="2582"/>
         <source>Diagram Options</source>
         <translation>Diagrammoptionen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2579"/>
+        <location filename="../src/ui/qgisapp.ui" line="2585"/>
         <source>Layer Diagram Options</source>
         <translation>Layerdiagrammoptionen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2588"/>
+        <location filename="../src/ui/qgisapp.ui" line="2594"/>
         <source>New GeoPackage Layer...</source>
         <translation>Neuer GeoPackage-Layer…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2600"/>
+        <location filename="../src/ui/qgisapp.ui" line="2606"/>
         <source>Modify Attributes of Selected Features</source>
         <translation>Attribute der gewählten Objekte ändern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2603"/>
+        <location filename="../src/ui/qgisapp.ui" line="2609"/>
         <source>Modify the Attributes of all Selected Features Simultaneously</source>
         <translation>Attribute von allen gewählten Objekten gleichzeitig ändern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2636"/>
+        <location filename="../src/ui/qgisapp.ui" line="2642"/>
         <source>Select Features by Value...</source>
         <translation>Objekte nach Wert wählen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2639"/>
         <source>Select Features By Value</source>
-        <translation>Objekte nach Wert wählen</translation>
+        <translation type="vanished">Objekte nach Wert wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2642"/>
+        <location filename="../src/ui/qgisapp.ui" line="2648"/>
         <source>F3</source>
         <translation>F3</translation>
     </message>
@@ -17394,10 +17464,8 @@ Funktioniert auf allen änderbaren Layern</translation>
         <translation>API-Dokumentation</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1777"/>
-        <location filename="../src/ui/qgisapp.ui" line="1780"/>
         <source>Move Label And Diagram</source>
-        <translation>Beschriftungen und Diagramm verschieben</translation>
+        <translation type="vanished">Beschriftungen und Diagramm verschieben</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="1841"/>
@@ -17409,9 +17477,8 @@ Funktioniert auf allen änderbaren Layern</translation>
         <translation type="vanished">Zoomen und Verschieben durch Berührung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2036"/>
         <source>Pin/Unpin Labels And Diagrams</source>
-        <translation>Beschriftungen anpinnen/lösen</translation>
+        <translation type="vanished">Beschriftungen anpinnen/lösen</translation>
     </message>
     <message>
         <source>Pin/Unpin Labels And Diagrams
@@ -17428,18 +17495,15 @@ Funktioniert auf allen änderbaren Layern</translation>
         <translation type="vanished">Angepinnte Beschriftungen und Diagramme hervorheben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2054"/>
-        <location filename="../src/ui/qgisapp.ui" line="2057"/>
         <source>Highlight Pinned Labels And Diagrams</source>
-        <translation>Angepinnte Beschriftungen und Diagramme hervorheben</translation>
+        <translation type="vanished">Angepinnte Beschriftungen und Diagramme hervorheben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2105"/>
         <source>Show/Hide Labels And Diagrams</source>
-        <translation>Beschriftungen und Diagramme anzeigen/ausblenden</translation>
+        <translation type="vanished">Beschriftungen und Diagramme anzeigen/ausblenden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2108"/>
+        <location filename="../src/ui/qgisapp.ui" line="2114"/>
         <source>Show/Hide Labels And Diagrams
 Click or marquee on feature to show label and diagram
 Shift+click or marquee on label or diagram to hide it
@@ -17450,13 +17514,13 @@ Umschalt+Klick auf Beschriftung/Diagramm auszublenden
 Funktioniert auf allen änderbaren Layern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2123"/>
-        <location filename="../src/ui/qgisapp.ui" line="2126"/>
+        <location filename="../src/ui/qgisapp.ui" line="2129"/>
+        <location filename="../src/ui/qgisapp.ui" line="2132"/>
         <source>HTML Annotation</source>
         <translation>HTML-Beschriftung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2150"/>
+        <location filename="../src/ui/qgisapp.ui" line="2156"/>
         <source>SVG Annotation</source>
         <translation>SVG-Anmerkung</translation>
     </message>
@@ -17473,22 +17537,22 @@ Funktioniert auf allen änderbaren Layern</translation>
         <translation type="vanished">Topologie nach SpatiaLite &exportieren…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2276"/>
+        <location filename="../src/ui/qgisapp.ui" line="2282"/>
         <source>Increase Brightness</source>
         <translation>Helligkeit erhöhen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2285"/>
+        <location filename="../src/ui/qgisapp.ui" line="2291"/>
         <source>Decrease Brightness</source>
         <translation>Helligkeit vermindern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2294"/>
+        <location filename="../src/ui/qgisapp.ui" line="2300"/>
         <source>Increase Contrast</source>
         <translation>Kontrast erhöhen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2303"/>
+        <location filename="../src/ui/qgisapp.ui" line="2309"/>
         <source>Decrease Contrast</source>
         <translation>Kontrast vermindern</translation>
     </message>
@@ -17497,127 +17561,127 @@ Funktioniert auf allen änderbaren Layern</translation>
         <translation type="vanished">Objekte über Ausdruck wählen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2323"/>
+        <location filename="../src/ui/qgisapp.ui" line="2329"/>
         <source>Need Commercial Support?</source>
         <translation>Brauchen Sie professionelle Unterstützung?</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2332"/>
+        <location filename="../src/ui/qgisapp.ui" line="2338"/>
         <source>Open Field Calculator...</source>
         <translation>Feldrechner öffnen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2364"/>
+        <location filename="../src/ui/qgisapp.ui" line="2370"/>
         <source>New Vector Layer...</source>
         <translation>Neuer Vektorlayer…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2375"/>
+        <location filename="../src/ui/qgisapp.ui" line="2381"/>
         <source>Paste features in clipboard into a new temporary scratch layer.</source>
         <translation>Objekte in der Zwischenablage als neuen Temporärlayer einfügen.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2405"/>
+        <location filename="../src/ui/qgisapp.ui" line="2411"/>
         <source>Add from Layer Definition File...</source>
         <translation>Aus Layerdefinitionsdatei hinzufügen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2410"/>
+        <location filename="../src/ui/qgisapp.ui" line="2416"/>
         <source>Save As Layer Definition File...</source>
         <translation>Als Layerdefinitionsdatei speichern…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2421"/>
+        <location filename="../src/ui/qgisapp.ui" line="2427"/>
         <source>Normal</source>
         <translation>Normal</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2424"/>
+        <location filename="../src/ui/qgisapp.ui" line="2430"/>
         <source>Normal preview mode</source>
         <translation>Normaler Voransichtsmodus</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2432"/>
+        <location filename="../src/ui/qgisapp.ui" line="2438"/>
         <source>Simulate Photocopy (Grayscale)</source>
         <translation>Fotokopie simulieren (Graustufen)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2435"/>
+        <location filename="../src/ui/qgisapp.ui" line="2441"/>
         <source>Simulate photocopy (grayscale)</source>
         <translation>Fotokopie simulieren (Graustufen)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2443"/>
+        <location filename="../src/ui/qgisapp.ui" line="2449"/>
         <source>Simulate Fax (Mono)</source>
         <translation>Fax simulieren (Mono)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2446"/>
+        <location filename="../src/ui/qgisapp.ui" line="2452"/>
         <source>Simulate fax (mono)</source>
         <translation>Fax simulieren (Mono)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2454"/>
+        <location filename="../src/ui/qgisapp.ui" line="2460"/>
         <source>Simulate Color Blindness (Protanope)</source>
         <translation>Farbblindheit simulieren (Rotblinde)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2457"/>
+        <location filename="../src/ui/qgisapp.ui" line="2463"/>
         <source>Simulate color blindness (protanope)</source>
         <translation>Farbblindheit simulieren (Rotblinde)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2465"/>
+        <location filename="../src/ui/qgisapp.ui" line="2471"/>
         <source>Simulate Color Blindness (Deuteranope)</source>
         <translation>Farbblindheit simulieren (Grünblinde)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2468"/>
+        <location filename="../src/ui/qgisapp.ui" line="2474"/>
         <source>Simulate color blindness (deuteranope)</source>
         <translation>Farbblindheit simulieren (Grünblinde)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2473"/>
+        <location filename="../src/ui/qgisapp.ui" line="2479"/>
         <source>Set Scale Visibility of Layer(s)</source>
         <translation>Maßstabsabhängige Sichtbarkeit des/der Layer setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2482"/>
+        <location filename="../src/ui/qgisapp.ui" line="2488"/>
         <source>Show Selected Layers</source>
         <translation>Zeige gewählte Layer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2491"/>
+        <location filename="../src/ui/qgisapp.ui" line="2497"/>
         <source>Hide Selected Layers</source>
         <translation>Ausblenden von gewählten Layern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2524"/>
+        <location filename="../src/ui/qgisapp.ui" line="2530"/>
         <source>Statistical Summary</source>
         <translation>Statistische Zusammenfassung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2527"/>
+        <location filename="../src/ui/qgisapp.ui" line="2533"/>
         <source>Show statistical summary</source>
         <translation>Statistische Zusammenfassung anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2532"/>
+        <location filename="../src/ui/qgisapp.ui" line="2538"/>
         <source>Align Rasters...</source>
         <translation>Raster ausrichten…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2547"/>
+        <location filename="../src/ui/qgisapp.ui" line="2553"/>
         <source>Add circular string</source>
         <translation>Kreisbogen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2562"/>
+        <location filename="../src/ui/qgisapp.ui" line="2568"/>
         <source>Add circular string by radius</source>
         <translation>Kreisbogen über Radius hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2567"/>
+        <location filename="../src/ui/qgisapp.ui" line="2573"/>
         <source>Report an issue</source>
         <translation>Ein Problem melden</translation>
     </message>
@@ -17706,22 +17770,22 @@ Funktioniert auf allen änderbaren Layern</translation>
         <translation>Erweiterungen verwalten und installieren…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2335"/>
+        <location filename="../src/ui/qgisapp.ui" line="2341"/>
         <source>Open Field Calculator</source>
         <translation>Feldrechner öffnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2344"/>
+        <location filename="../src/ui/qgisapp.ui" line="2350"/>
         <source>Add Delimited Text Layer...</source>
         <translation>Textdatei als Layer importieren…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2347"/>
+        <location filename="../src/ui/qgisapp.ui" line="2353"/>
         <source>Add Delimited Text Layer</source>
         <translation>Textdatei als Layer importieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2367"/>
+        <location filename="../src/ui/qgisapp.ui" line="2373"/>
         <source>Paste features in clipboard into a new OGR vector layer.</source>
         <translation>Objekte in der Zwischenablage als neuen OGR-Vektorlayer einfügen.</translation>
     </message>
@@ -17764,7 +17828,7 @@ Funktioniert auf allen änderbaren Layern</translation>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="166"/>
         <location filename="../src/ui/qgisapp.ui" line="1314"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1334"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1335"/>
         <source>F5</source>
         <translation>F5</translation>
     </message>
@@ -17927,7 +17991,7 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="1931"/>
-        <location filename="../src/ui/qgisapp.ui" line="2024"/>
+        <location filename="../src/ui/qgisapp.ui" line="2030"/>
         <source>Creates a scale bar that is displayed on the map canvas</source>
         <translation>Erzeugt eine Maßstabsleiste, die im Kartenbild angezeigt wird</translation>
     </message>
@@ -17967,17 +18031,15 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
         <translation>Linie versetzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="1991"/>
         <source>Copy style</source>
-        <translation>Stil kopieren</translation>
+        <translation type="vanished">Stil kopieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2000"/>
         <source>Paste style</source>
-        <translation>Stil einfügen</translation>
+        <translation type="vanished">Stil einfügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2009"/>
+        <location filename="../src/ui/qgisapp.ui" line="2015"/>
         <source>Add WCS Layer...</source>
         <translation>WCS-Layer hinzufügen…</translation>
     </message>
@@ -17986,133 +18048,160 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
         <translation type="vanished">&Gitter</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2021"/>
+        <location filename="../src/ui/qgisapp.ui" line="2027"/>
         <source>Grid</source>
         <translation>Gitter</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2066"/>
-        <location filename="../src/ui/qgisapp.ui" line="2069"/>
+        <location filename="../src/ui/qgisapp.ui" line="2042"/>
+        <source>Pin/Unpin Labels and Diagrams</source>
+        <translation>Beschriftungen und Diagramme anpinnen/lösen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2045"/>
+        <source>Pin/Unpin Labels and Diagrams
+Click or marquee on label/diagram to pin
+Shift unpins, Ctrl (Cmd) toggles state
+Acts on all editable layers</source>
+        <translation>Beschriftung und Diagramme anpinnen/lösen
+Beschriftung/Diagramm anklicken oder markieren, um sie anzupinnen.
+Umschalt löst, Strg (Cmd) schaltet um
+Funktioniert auf allen änderbaren Layern</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2060"/>
+        <location filename="../src/ui/qgisapp.ui" line="2063"/>
+        <source>Highlight Pinned Labels and Diagrams</source>
+        <translation>Angepinnte Beschriftungen und Diagramme hervorheben</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2072"/>
+        <location filename="../src/ui/qgisapp.ui" line="2075"/>
         <source>New Blank Project</source>
         <translation>Neues leeres Projekt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2078"/>
+        <location filename="../src/ui/qgisapp.ui" line="2084"/>
         <source>Local Cumulative Cut Stretch</source>
         <translation>Lokale kumulative Schnittstreckung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2081"/>
+        <location filename="../src/ui/qgisapp.ui" line="2087"/>
         <source>Local cumulative cut stretch using current extent, default limits and estimated values.</source>
         <translation>Lokale kumulative Schnittstreckung mit aktueller Ausdehnung, Vorgabegrenzen und geschätzten Werten.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2090"/>
+        <location filename="../src/ui/qgisapp.ui" line="2096"/>
         <source>Full Dataset Cumulative Cut Stretch</source>
         <translation>Kumulative Schnittstreckung über Gesamtdatensatz</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2093"/>
+        <location filename="../src/ui/qgisapp.ui" line="2099"/>
         <source>Cumulative cut stretch using full dataset extent, default limits and estimated values.</source>
         <translation>Kumulative Schnittstreckung über gesamten Datensatzausdehnung, Vorgabegrenzen und geschätzten Werten.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2135"/>
-        <location filename="../src/ui/qgisapp.ui" line="2138"/>
+        <location filename="../src/ui/qgisapp.ui" line="2111"/>
+        <source>Show/Hide Labels and Diagrams</source>
+        <translation>Beschriftungen und Diagramme anzeigen/ausblenden</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgisapp.ui" line="2141"/>
+        <location filename="../src/ui/qgisapp.ui" line="2144"/>
         <source>Duplicate Layer(s)</source>
         <translation>Layer duplizieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2159"/>
-        <location filename="../src/ui/qgisapp.ui" line="2162"/>
+        <location filename="../src/ui/qgisapp.ui" line="2165"/>
+        <location filename="../src/ui/qgisapp.ui" line="2168"/>
         <source>Save for All Layers</source>
         <translation>Alle Layer speichern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2174"/>
-        <location filename="../src/ui/qgisapp.ui" line="2177"/>
+        <location filename="../src/ui/qgisapp.ui" line="2180"/>
+        <location filename="../src/ui/qgisapp.ui" line="2183"/>
         <source>Rollback for All Layers</source>
         <translation>Alle Layeränderungen verwerfen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2189"/>
-        <location filename="../src/ui/qgisapp.ui" line="2192"/>
+        <location filename="../src/ui/qgisapp.ui" line="2195"/>
+        <location filename="../src/ui/qgisapp.ui" line="2198"/>
         <source>Cancel for All Layers</source>
         <translation>Abbruch für alle Layer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2204"/>
-        <location filename="../src/ui/qgisapp.ui" line="2207"/>
+        <location filename="../src/ui/qgisapp.ui" line="2210"/>
+        <location filename="../src/ui/qgisapp.ui" line="2213"/>
         <source>Rollback for Selected Layer(s)</source>
         <translation>Verwerfen für gewählte Layer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2219"/>
-        <location filename="../src/ui/qgisapp.ui" line="2222"/>
+        <location filename="../src/ui/qgisapp.ui" line="2225"/>
+        <location filename="../src/ui/qgisapp.ui" line="2228"/>
         <source>Current Edits</source>
         <translation>Aktuelle Änderungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2234"/>
-        <location filename="../src/ui/qgisapp.ui" line="2237"/>
+        <location filename="../src/ui/qgisapp.ui" line="2240"/>
+        <location filename="../src/ui/qgisapp.ui" line="2243"/>
         <source>Cancel for Selected Layer(s)</source>
         <translation>Abbruch für gewählte Layer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2249"/>
-        <location filename="../src/ui/qgisapp.ui" line="2252"/>
+        <location filename="../src/ui/qgisapp.ui" line="2255"/>
+        <location filename="../src/ui/qgisapp.ui" line="2258"/>
         <source>Save Layer Edits</source>
         <translation>Layeränderungen speichern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2264"/>
-        <location filename="../src/ui/qgisapp.ui" line="2267"/>
+        <location filename="../src/ui/qgisapp.ui" line="2270"/>
+        <location filename="../src/ui/qgisapp.ui" line="2273"/>
         <source>Rotate Feature(s)</source>
         <translation>Objekt(e) drehen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2315"/>
+        <location filename="../src/ui/qgisapp.ui" line="2321"/>
         <source>Select features using an expression</source>
         <translation>Objekte über Ausdruck wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2356"/>
+        <location filename="../src/ui/qgisapp.ui" line="2362"/>
         <source>Add/Edit Virtual Layer...</source>
         <translation>Virtuellen Layer hinzufügen/bearbeiten…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2359"/>
+        <location filename="../src/ui/qgisapp.ui" line="2365"/>
         <source>Add/Edit Virtual Layer</source>
         <translation>Virtuellen Layer hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2380"/>
+        <location filename="../src/ui/qgisapp.ui" line="2386"/>
         <source>DXF Export...</source>
         <translation>DXF-Export…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2397"/>
-        <location filename="../src/ui/qgisapp.ui" line="2400"/>
+        <location filename="../src/ui/qgisapp.ui" line="2403"/>
+        <location filename="../src/ui/qgisapp.ui" line="2406"/>
         <source>Fill Ring</source>
         <translation>Ring füllen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2612"/>
+        <location filename="../src/ui/qgisapp.ui" line="2618"/>
         <source>Add Arc&GIS MapServer Layer...</source>
         <translation>ArcGIS-MapServer-Layer hinzufügen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2615"/>
+        <location filename="../src/ui/qgisapp.ui" line="2621"/>
         <source>Add ArcGIS MapServer Layer</source>
         <translation>ArcGIS-MapServer-Layer hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2624"/>
+        <location filename="../src/ui/qgisapp.ui" line="2630"/>
         <source>Add Ar&cGIS FeatureServer Layer...</source>
         <translation>Ar&cGIS-FeatureServer-Layer hinzufügen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2627"/>
+        <location filename="../src/ui/qgisapp.ui" line="2633"/>
         <source>Add ArcGIS FeatureServer Layer</source>
         <translation>ArcGIS-FeatureServer-Layer hinzufügen</translation>
     </message>
@@ -18185,12 +18274,12 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
         <translation>Strg+Alt+P</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2509"/>
+        <location filename="../src/ui/qgisapp.ui" line="2515"/>
         <source>New Temporary Scratch Layer...</source>
         <translation>Neuer Temporärlayer…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgisapp.ui" line="2512"/>
+        <location filename="../src/ui/qgisapp.ui" line="2518"/>
         <source>New temporary scratch layer</source>
         <translation>Neuen Temporärlayer anlegen</translation>
     </message>
@@ -18366,7 +18455,7 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 <context>
     <name>MapLayerWidgetWrapper</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1352"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1353"/>
         <source>Select file</source>
         <translation>Datei wählen</translation>
     </message>
@@ -18374,22 +18463,22 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 <context>
     <name>MeanAndStdDevPlot</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1356"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1357"/>
         <source>Graphics</source>
         <translation>Grafik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1357"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1358"/>
         <source>Input table</source>
         <translation>Tabelle eingeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1358"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1359"/>
         <source>Category name field</source>
         <translation>Kategorienamesfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1359"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1360"/>
         <source>Value field</source>
         <translation>Wertfeld</translation>
     </message>
@@ -18402,17 +18491,17 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
         <translation type="vanished">Standardabweichung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1360"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1361"/>
         <source>Plot</source>
         <translation>Plot</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1361"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1362"/>
         <source>HTML files (*.html)</source>
         <translation>HTML-Dateien (*.html)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1362"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1363"/>
         <source>Mean and standard deviation plot</source>
         <translation>Mittel- und Standardabweichungsplott</translation>
     </message>
@@ -18497,12 +18586,12 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 <context>
     <name>MessageBarProgress</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1366"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1367"/>
         <source>Executing algorithm <i>{0}</i></source>
         <translation>Führe Algorithmus aus <i>{0}</i></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1367"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1368"/>
         <source>Problem executing algorithm</source>
         <translation>Problem bei Algorithmus-Ausführung</translation>
     </message>
@@ -19040,57 +19129,57 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 <context>
     <name>MinimumBoundingGeometry</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1371"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1372"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1372"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1373"/>
         <source>Envelope (Bounding Box)</source>
         <translation>Einhüllende (Bounding Box)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1373"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1374"/>
         <source>Minimum Oriented Rectangle</source>
         <translation>Minimales gerichtetes Rechteck</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1374"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1375"/>
         <source>Minimum Enclosing Circle</source>
         <translation>Minimaler unschließender Kreis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1375"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1376"/>
         <source>Convex Hull</source>
         <translation>Konvexe Hülle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1376"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1377"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1377"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1378"/>
         <source>Field (optional, set if features should be grouped by class)</source>
         <translation>Feld (optional gesetzt, wenn Objekte nach Klasse gruppiert werden sollen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1378"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1379"/>
         <source>Geometry type</source>
         <translation>Geometrietyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1379"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1380"/>
         <source>Bounding geometry</source>
         <translation>Begrenzende Geometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1380"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1381"/>
         <source>Minimum bounding geometry</source>
         <translation>Minimale begrenzende Geometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1381"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1382"/>
         <source>bounding,box,bounds,envelope,minimum,oriented,rectangle,enclosing,circle,convex,hull,generalization</source>
         <translation>bounding,box,bounds,envelope,minimum,oriented,rectangle,enclosing,circle,convex,hull,generalization</translation>
     </message>
@@ -19161,30 +19250,30 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1385"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1386"/>
         <source>Models folder</source>
         <comment>ModelerAlgorithmProvider</comment>
         <translation>Modellverzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1386"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1387"/>
         <source>Models</source>
         <comment>ModelerAlgorithmProvider</comment>
         <translation>Modelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1387"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1388"/>
         <source>Could not load model {0}</source>
         <comment>ModelerAlgorithmProvider</comment>
         <translation>Konnte Modell  {0} nicht laden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1388"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1389"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1389"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1390"/>
         <source>Could not load model {0}
 {1}</source>
         <comment>ModelerAlgorithmProvider</comment>
@@ -19211,83 +19300,113 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
         <translation type="vanished">Leeres Modell</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1393"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1394"/>
         <source>Search…</source>
         <translation>Suchen…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1394"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1395"/>
         <source>Enter model name here</source>
         <translation>Modellnamen hier eingeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1395"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1396"/>
         <source>Enter group name here</source>
         <translation>Gruppenname eingeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1396"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1397"/>
         <source>Save Model?</source>
         <translation>Speichere Modell?</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1397"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1398"/>
         <source>There are unsaved changes in this model. Do you want to keep those?</source>
         <translation>Es gibt ungesicherte Änderung am Modell. Sollen diese erhalten bleiben?</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1398"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1399"/>
+        <source>Model doesn't contain any algorithm and/or parameter and can't be executed</source>
+        <translation>Model beinhaltet keine Algorithmen und/oder Parameter und kann deshalb nicht ausgeführt werden</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1400"/>
         <source>Save Model As Image</source>
         <translation>Modell als Bild speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1399"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1401"/>
         <source>PNG files (*.png *.PNG)</source>
         <translation>PNG-Dateien (*.png *.PNG)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1400"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1402"/>
+        <source>Model was correctly exported as image</source>
+        <translation>Modell wurde korrekt als Bild exportiert</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1403"/>
         <source>Save Model As PDF</source>
         <translation>Modell als PDF speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1401"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1404"/>
         <source>PDF files (*.pdf *.PDF)</source>
         <translation>PDF-Dateien (*.pdf *.PDF)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1402"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1405"/>
+        <source>Model was correctly exported as PDF</source>
+        <translation>Modell wurde korrekt als PDF exportiert</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1406"/>
         <source>Save Model As SVG</source>
         <translation>Modell als SVG speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1403"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1407"/>
         <source>SVG files (*.svg *.SVG)</source>
         <translation>SVG-Dateien (*.svg *.SVG)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1404"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1408"/>
+        <source>Model was correctly exported as SVG</source>
+        <translation>Modell wurde korrekt als SVG exportiert</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1409"/>
         <source>Save Model As Python Script</source>
         <translation>Modell als Pythonskript speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1405"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1410"/>
         <source>Python files (*.py *.PY)</source>
         <translation>Python-Dateien (*.py *.PY)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1409"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1411"/>
+        <source>Model was correctly exported as python script</source>
+        <translation>Modell wurde korrekt als Python-Skript exportiert</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1415"/>
         <source>Processing models (*.model3)</source>
         <translation>Verarbeitungsmodelle (*.model3)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1411"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1417"/>
         <source>Unable to save edits. Reason:
  {0}</source>
         <translation>Änderungen konnten nicht gespeichert werden. Grund:
 {0}</translation>
     </message>
     <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1419"/>
+        <source>Model was correctly saved</source>
+        <translation>Modell wurde korrekt gespeichert</translation>
+    </message>
+    <message>
         <source>Model exported</source>
         <translation type="vanished">Modell exportiert</translation>
     </message>
@@ -19296,17 +19415,17 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
         <translation type="vanished">Modell wurde korrekt exportiert.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1406"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1412"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1407"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1413"/>
         <source>Please enter group and model names before saving</source>
         <translation>Bitte Gruppen- und Modellnamen vor dem Speichern angeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1408"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1414"/>
         <source>Save Model</source>
         <translation>Modell speichern</translation>
     </message>
@@ -19315,7 +19434,7 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
         <translation type="vanished">Verarbeitungsmodelle (*.model)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1410"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1416"/>
         <source>I/O error</source>
         <translation>E/A-Fehler</translation>
     </message>
@@ -19326,7 +19445,7 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
  %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1412"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1418"/>
         <source>Can't save model</source>
         <translation>Konnte Modell nicht speichern</translation>
     </message>
@@ -19341,7 +19460,7 @@ Strg (Cmd) erhöht um 15 Grad.</translation>
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1417"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1424"/>
         <source>The selected model could not be loaded.
 See the log for more information.</source>
         <translation>Das gewählte Modell konnte nicht geladen werden.
@@ -19364,22 +19483,22 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">Modell wurde korrekt gespeichert.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1413"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1420"/>
         <source>Open Model</source>
         <translation>Modell öffnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1414"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1421"/>
         <source>Processing models (*.model3 *.MODEL3)</source>
         <translation>Verarbeitungsmodelle (*.model3 *.MODEL3)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1415"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1422"/>
         <source>Could not load model {0}</source>
         <translation>Konnte Modell  {0} nicht laden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1416"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1423"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
@@ -19388,7 +19507,7 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">Konnte Modell nicht öffnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1418"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1425"/>
         <source>Parameters</source>
         <translation>Parameter</translation>
     </message>
@@ -19415,17 +19534,17 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">Parameter Definitionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1423"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1430"/>
         <source>Parameter name</source>
         <translation>Parameter Namen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1424"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1431"/>
         <source>Checked</source>
         <translation>Überprüft</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1425"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1432"/>
         <source>Parent layer</source>
         <translation>Übergeordneter Layer</translation>
     </message>
@@ -19446,72 +19565,72 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">Shape Typ</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1426"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1433"/>
         <source>Allowed data type</source>
         <translation>Erlaubter Datentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1427"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1434"/>
         <source>Any</source>
         <translation>Jeder</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1428"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1435"/>
         <source>Number</source>
         <translation>Number</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1429"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1436"/>
         <source>String</source>
         <translation>Zeichenkette</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1430"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1437"/>
         <source>Date/time</source>
         <translation>Datum/Zeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1431"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1438"/>
         <source>Accept multiple fields</source>
         <translation>Mehrere Felder annehmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1433"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1440"/>
         <source>Default field name, or ; separated list of field names for multiple field parameters</source>
         <translation>Vorgabefeldname, oder ; getrennte Liste von Feldnamen für mehrere Feldparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1434"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1441"/>
         <source>Geometry type</source>
         <translation>Geometrietyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1435"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1442"/>
         <source>Geometry Not Required</source>
         <translation>Geometrie nicht erforderlich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1436"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1443"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1437"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1444"/>
         <source>Line</source>
         <translation>Linie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1438"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1445"/>
         <source>Polygon</source>
         <translation>Polygon</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1439"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1446"/>
         <source>Any Geometry Type</source>
         <translation>Jeder Geometrietyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1440"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1447"/>
         <source>Data type</source>
         <translation>Daten Typ</translation>
     </message>
@@ -19532,7 +19651,7 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">Vektor (Polygon)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1447"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1454"/>
         <source>Raster</source>
         <translation>Raster</translation>
     </message>
@@ -19545,97 +19664,97 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">Min/Max Werte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1432"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1439"/>
         <source>Default value</source>
         <translation>Vorgabewert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1451"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1458"/>
         <source>0</source>
         <translation>0</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1453"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1460"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1448"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1455"/>
         <source>File</source>
         <translation>Datei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1422"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1429"/>
         <source>Parameter Definition</source>
         <translation>Parameterdefinition</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1441"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1448"/>
         <source>Any Map Layer</source>
         <translation>Jeder Kartenlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1442"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1449"/>
         <source>Vector (No Geometry Required)</source>
         <translation>Vektor (Keine Geometrie erforderlich)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1443"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1450"/>
         <source>Vector (Point)</source>
         <translation>Vektor (Punkt)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1444"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1451"/>
         <source>Vector (Line)</source>
         <translation>Vektor (Linie)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1445"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1452"/>
         <source>Vector (Polygon)</source>
         <translation>Vektor (Polygon)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1446"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1453"/>
         <source>Vector (Any Geometry Type)</source>
         <translation>Vektor (jeder Geometrietyp)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1449"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1456"/>
         <source>Min value</source>
         <translation>Min. Wert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1450"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1457"/>
         <source>Max value</source>
         <translation>Max. Wert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1452"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1459"/>
         <source>None</source>
         <translation>Keine</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1454"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1461"/>
         <source>Folder</source>
         <translation>Ordner</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1455"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1462"/>
         <source>Mandatory</source>
         <translation>Zwingend</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1456"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1463"/>
         <source>Unable to define parameter</source>
         <translation>Nicht in der Lage Parameter zu definieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1457"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1464"/>
         <source>Invalid parameter name</source>
         <translation>Ungültiger Parameter Name</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1458"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1465"/>
         <source>Wrong or missing parameter values</source>
         <translation>Falsche oder fehlende Parameterwerte</translation>
     </message>
@@ -19643,47 +19762,47 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>ModelerParametersDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1462"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1469"/>
         <source>Description</source>
         <translation>Beschreibung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1463"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1470"/>
         <source>Show advanced parameters</source>
         <translation>Zeige erweiterte Parameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1464"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1471"/>
         <source>(xmin, xmax, ymin, ymax)</source>
         <translation> (xmin, xmax, ymin, ymax)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1465"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1472"/>
         <source>(x, y)</source>
         <translation>(x, y)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1466"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1473"/>
         <source> [optional]</source>
         <translation> [optional]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1467"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1474"/>
         <source>Parent algorithms</source>
         <translation>Übergeordneter Algorithmus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1469"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1476"/>
         <source>'{0}' from algorithm '{1}'</source>
         <translation>'{0}' von Algorithmus '{1}'</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1470"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1477"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1471"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1478"/>
         <source>Wrong or missing value for parameter '{}'</source>
         <translation>Falscher oder fehlender Parameterwert: '{}'</translation>
     </message>
@@ -19704,7 +19823,7 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished"><h2>Keine Hilfe für diesen Algorithmus verfügbar.</h2><p>{}</p></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1468"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1475"/>
         <source>Hide advanced parameters</source>
         <translation>Verstecke erweiterte Parameter</translation>
     </message>
@@ -19720,7 +19839,7 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">Ausdrucksbasierte Eingabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1475"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1482"/>
         <source>Expression Based Input</source>
         <translation>Ausdrucksbasierte Eingabe</translation>
     </message>
@@ -19728,7 +19847,7 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>MultilineTextPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1479"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1486"/>
         <source>[Use text below]</source>
         <translation>[Benutze Text unterhalb]</translation>
     </message>
@@ -19762,27 +19881,27 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>MultipleFileInputDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1487"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1494"/>
         <source>All files (*.*)</source>
         <translation>Alle Dateien (*.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1483"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1490"/>
         <source>Add file</source>
         <translation>Datei hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1484"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1491"/>
         <source>Remove file(s)</source>
         <translation>Datei(en) entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1485"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1492"/>
         <source>Remove all</source>
         <translation>Alle entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1486"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1493"/>
         <source>Select File(s)</source>
         <translation>Datei(en) wählen</translation>
     </message>
@@ -19794,37 +19913,37 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>MultipleInputDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1491"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1498"/>
         <source>Select all</source>
         <translation>Alle wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1492"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1499"/>
         <source>Clear selection</source>
         <translation>Auswahl aufheben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1493"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1500"/>
         <source>Toggle selection</source>
         <translation>Auswahl umschalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1494"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1501"/>
         <source>Add file(s)…</source>
         <translation>Datei(en) hinzufügen…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1495"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1502"/>
         <source>All files (*.*)</source>
         <translation>Alle Dateien (*.*)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1496"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1503"/>
         <source>{0} files (*.{1})</source>
         <translation>{0}-Dateien (*.{1})</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1497"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1504"/>
         <source>Select File(s)</source>
         <translation>Datei(en) wählen</translation>
     </message>
@@ -19836,12 +19955,12 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>MultipleInputPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1501"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1508"/>
         <source>0 elements selected</source>
         <translation>0 Elemente ausgewählt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1502"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1509"/>
         <source>{0} elements selected</source>
         <translation>{0} Elemente ausgewählt</translation>
     </message>
@@ -19861,52 +19980,52 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1506"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1513"/>
         <source>Vector analysis</source>
         <translation>Vektoranalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1507"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1514"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1508"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1515"/>
         <source>Nearest neighbour</source>
         <translation>Nächster Nachbar</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1509"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1516"/>
         <source>HTML files (*.html)</source>
         <translation>HTML-Dateien (*.html)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1510"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1517"/>
         <source>Observed mean distance</source>
         <translation>Beobachtete mittlere Distanz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1511"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1518"/>
         <source>Expected mean distance</source>
         <translation>Erwartete mittlere Distanz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1512"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1519"/>
         <source>Nearest neighbour index</source>
         <translation>Nächster Nachbar Index</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1513"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1520"/>
         <source>Number of points</source>
         <translation>Anzahl von Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1514"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1521"/>
         <source>Z-Score</source>
         <translation>Z-Wertung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1515"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1522"/>
         <source>Nearest neighbour analysis</source>
         <translation>Nächster Nachbaranalyse</translation>
     </message>
@@ -20013,7 +20132,7 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">Vorkonfigurierten Algorithmus erzeugen…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1519"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1526"/>
         <source>Create Preconfigured Algorithm…</source>
         <translation>Vorkonfigurierten Algorithmus anlegen…</translation>
     </message>
@@ -20103,7 +20222,7 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">Ausdrucksbasierte Eingabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1523"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1530"/>
         <source>Not set</source>
         <translation>Nicht gesetzt</translation>
     </message>
@@ -20169,32 +20288,32 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>OffsetCurve</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1527"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1534"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1528"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1535"/>
         <source>Geometry column name</source>
         <translation>Geometriespaltenname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1529"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1536"/>
         <source>Offset distance (left-sided: positive, right-sided: negative)</source>
         <translation>Versatzabstand (linksseitig: positiv, rechtsseitig: negativ)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1530"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1537"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1531"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1538"/>
         <source>Offset curve</source>
         <translation>Linie versetzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1532"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1539"/>
         <source>Vector geoprocessing</source>
         <translation>Vektorgeoverarbeitung</translation>
     </message>
@@ -20202,47 +20321,47 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>OffsetLine</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1536"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1543"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1537"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1544"/>
         <source>Distance</source>
         <translation>Entfernung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1538"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1545"/>
         <source>Segments</source>
         <translation>Segmente</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1539"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1546"/>
         <source>Round</source>
         <translation>Rund</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1540"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1547"/>
         <source>Join style</source>
         <translation>Verbindungsstil</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1541"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1548"/>
         <source>Miter limit</source>
         <translation>Eckengrenze</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1542"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1549"/>
         <source>Offset line</source>
         <translation>Linie versetzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1543"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1550"/>
         <source>Offset</source>
         <translation>Versatz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1544"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1551"/>
         <source>Error calculating line offset</source>
         <translation>Fehler beim Berechnen des Linienversatz</translation>
     </message>
@@ -20511,87 +20630,87 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>Ogr2OgrTableToPostGisList</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1548"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1555"/>
         <source>Database (connection name)</source>
         <translation>Datenbank (Verbindungsname)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1549"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1556"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1550"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1557"/>
         <source>Shape encoding</source>
         <translation>Shapekodierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1551"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1558"/>
         <source>Schema name</source>
         <translation>Schemaname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1552"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1559"/>
         <source>Table name, leave blank to use input name</source>
         <translation>Tabellenname,  leer lassen um Eingabenamen zu verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1553"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1560"/>
         <source>Primary key</source>
         <translation>Primärschlüssel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1554"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1561"/>
         <source>Primary key (existing field, used if the above option is left empty)</source>
         <translation>Primärschlüssel (vorhandene Feld, wird genutzt, wenn obige Option leer gelassen wird)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1556"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1563"/>
         <source>Group N features per transaction (Default: 20000)</source>
         <translation>n Objekte je Transaktion gruppieren (Voreinstellung: 20000)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1557"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1564"/>
         <source>Overwrite existing table</source>
         <translation>Vorhandene Tabelle überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1558"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1565"/>
         <source>Append to existing table</source>
         <translation>An vorhandene Tabelle anhängen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1559"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1566"/>
         <source>Append and add new fields to existing table</source>
         <translation>Anhängen und neue Felder zu vorhandener Tabelle hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1560"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1567"/>
         <source>Do not launder columns/table names</source>
         <translation>Spalten/Tabellennamen nicht bereinigen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1561"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1568"/>
         <source>Continue after a failure, skipping the failed record</source>
         <translation>Nach Fehler fortsetzen und fehlerhaften Datensatz überspringen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1562"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1569"/>
         <source>Keep width and precision of input attributes</source>
         <translation>Breite und Genauigkeit der Eingabeattribute beibehalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1563"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1570"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1564"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1571"/>
         <source>Import layer/table as geometryless table into PostgreSQL database</source>
         <translation>Layer/Tabelle als geometrielose Tabelle in PostgreSQL importieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1565"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1572"/>
         <source>Vector miscellaneous</source>
         <translation>Vektor Verschiedenes</translation>
     </message>
@@ -20600,7 +20719,7 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">[OGR] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1555"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1562"/>
         <source>Select features using a SQL "WHERE" statement (Ex: column='value')</source>
         <translation>Objekte mit SQL "Where"-Klausel auswählen (Bsp: column='value')</translation>
     </message>
@@ -20747,22 +20866,22 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>Ogr2OgrToPostGisList</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1569"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1576"/>
         <source>Database (connection name)</source>
         <translation>Datenbank (Verbindungsname)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1570"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1577"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1571"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1578"/>
         <source>Shape encoding</source>
         <translation>Shapekodierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1572"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1579"/>
         <source>Output geometry type</source>
         <translation>Ausgabegeometrietyp</translation>
     </message>
@@ -20775,82 +20894,82 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">Tabellenname,  leer lassen um Eingabenamen zu verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1580"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1587"/>
         <source>Geometry column name</source>
         <translation>Geometriespalte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1581"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1588"/>
         <source>Vector dimensions</source>
         <translation>Vektordimensionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1582"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1589"/>
         <source>Distance tolerance for simplification</source>
         <translation>Abstandstoleranz für Vereinfachung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1583"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1590"/>
         <source>Maximum distance between 2 nodes (densification)</source>
         <translation>Maximaler Abstand zwischen zwei Knoten (Verdichtung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1584"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1591"/>
         <source>Select features by extent (defined in input layer CRS)</source>
         <translation>Wähle Objekte nach Ausdehnung (definiert in Eingabelayer KBS)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1585"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1592"/>
         <source>Clip the input layer using the above (rectangle) extent</source>
         <translation>Eingabelayer auf obige (rechteckigen) Grenzen zuschneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1587"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1594"/>
         <source>Group N features per transaction (Default: 20000)</source>
         <translation>n Objekte je Transaktion gruppieren (Voreinstellung: 20000)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1588"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1595"/>
         <source>Overwrite existing table</source>
         <translation>Vorhandene Tabelle überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1589"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1596"/>
         <source>Append to existing table</source>
         <translation>An vorhandene Tabelle anhängen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1590"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1597"/>
         <source>Append and add new fields to existing table</source>
         <translation>Anhängen und neue Felder zu vorhandener Tabelle hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1591"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1598"/>
         <source>Do not launder columns/table names</source>
         <translation>Spalten/Tabellennamen nicht bereinigen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1592"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1599"/>
         <source>Do not create spatial index</source>
         <translation>Keinen räumlichen Index erstellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1593"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1600"/>
         <source>Continue after a failure, skipping the failed feature</source>
         <translation>Nach Fehler fortsetzen und fehlerhaftes Objekt überspringen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1596"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1603"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1597"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1604"/>
         <source>Import Vector into PostGIS database (available connections)</source>
         <translation>Vektor in PostGIS-Datenbank importieren (vorhandene Verbindungen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1598"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1605"/>
         <source>Vector miscellaneous</source>
         <translation>Vektor Verschiedenes</translation>
     </message>
@@ -20859,52 +20978,52 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">[OGR] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1573"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1580"/>
         <source>Assign an output CRS</source>
         <translation>Ein Ausgabe-KBS zuweisen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1574"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1581"/>
         <source>Reproject to this CRS on output </source>
         <translation>Bei Ausgabe auf dieses KBS reprojizieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1575"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1582"/>
         <source>Override source CRS</source>
         <translation>Quell-CRS überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1576"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1583"/>
         <source>Schema (schema name)</source>
         <translation>Schema (Schemaname)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1577"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1584"/>
         <source>Table to import to (leave blank to use layer name)</source>
         <translation>Importieren in Tabelle (leer lassen um den Layername zu verwenden)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1578"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1585"/>
         <source>Primary key (new field)</source>
         <translation>Primärschlüssel (Neues Feld)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1579"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1586"/>
         <source>Primary key (existing field, used if the above option is left empty)</source>
         <translation>Primärschlüssel (vorhandene Feld, wird genutzt, wenn obige Option leer gelassen wird)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1594"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1601"/>
         <source>Promote to Multipart</source>
         <translation>In mehrteilige umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1595"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1602"/>
         <source>Keep width and precision of input attributes</source>
         <translation>Breite und Genauigkeit der Eingabeattribute beibehalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1586"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1593"/>
         <source>Select features using a SQL "WHERE" statement (Ex: column='value')</source>
         <translation>Objekte mit SQL "Where"-Klausel auswählen (Bsp: column='value')</translation>
     </message>
@@ -20966,172 +21085,172 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>OgrToPostGis</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1602"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1609"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1603"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1610"/>
         <source>Shape encoding</source>
         <translation>Shapekodierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1604"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1611"/>
         <source>Output geometry type</source>
         <translation>Ausgabegeometrietyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1605"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1612"/>
         <source>Assign an output CRS</source>
         <translation>Ein Ausgabe-KBS zuweisen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1606"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1613"/>
         <source>Reproject to this CRS on output </source>
         <translation>Bei Ausgabe auf dieses KBS reprojizieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1607"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1614"/>
         <source>Override source CRS</source>
         <translation>Quell-KBS überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1608"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1615"/>
         <source>Host</source>
         <translation>Host</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1609"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1616"/>
         <source>Port</source>
         <translation>Port</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1610"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1617"/>
         <source>Username</source>
         <translation>Benutzername</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1611"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1618"/>
         <source>Database name</source>
         <translation>Datenbankname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1612"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1619"/>
         <source>Password</source>
         <translation>Paßwort</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1613"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1620"/>
         <source>Schema name</source>
         <translation>Schemaname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1614"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1621"/>
         <source>Table name, leave blank to use input name</source>
         <translation>Tabellenname,  leer lassen um Eingabenamen zu verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1615"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1622"/>
         <source>Primary key (new field)</source>
         <translation>Primärschlüssel (Neues Feld)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1616"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1623"/>
         <source>Primary key (existing field, used if the above option is left empty)</source>
         <translation>Primärschlüssel (vorhandene Feld, wird genutzt, wenn obige Option leer gelassen wird)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1617"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1624"/>
         <source>Geometry column name</source>
         <translation>Geometriespaltenname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1618"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1625"/>
         <source>Vector dimensions</source>
         <translation>Vektordimensionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1619"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1626"/>
         <source>Distance tolerance for simplification</source>
         <translation>Abstandstoleranz für Vereinfachung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1620"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1627"/>
         <source>Maximum distance between 2 nodes (densification)</source>
         <translation>Maximaler Abstand zwischen zwei Knoten (Verdichtung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1621"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1628"/>
         <source>Select features by extent (defined in input layer CRS)</source>
         <translation>Wähle Objekte nach Ausdehnung (definiert in Eingabelayer KBS)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1622"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1629"/>
         <source>Clip the input layer using the above (rectangle) extent</source>
         <translation>Eingabelayer auf obige (rechteckigen) Grenzen zuschneiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1623"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1630"/>
         <source>Select features using a SQL "WHERE" statement (Ex: column='value')</source>
         <translation>Objekte mit SQL "Where"-Klausel auswählen (Bsp: column='value')</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1624"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1631"/>
         <source>Group N features per transaction (Default: 20000)</source>
         <translation>n Objekte je Transaktion gruppieren (Voreinstellung: 20000)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1625"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1632"/>
         <source>Overwrite existing table</source>
         <translation>Vorhandene Tabelle überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1626"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1633"/>
         <source>Append to existing table</source>
         <translation>An vorhandene Tabelle anhängen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1627"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1634"/>
         <source>Append and add new fields to existing table</source>
         <translation>Anhängen und neue Felder zu vorhandener Tabelle hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1628"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1635"/>
         <source>Do not launder columns/table names</source>
         <translation>Spalten/Tabellennamen nicht bereinigen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1629"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1636"/>
         <source>Do not create spatial index</source>
         <translation>Keinen räumlichen Index erstellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1630"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1637"/>
         <source>Continue after a failure, skipping the failed feature</source>
         <translation>Nach Fehler fortsetzen und fehlerhaftes Objekt überspringen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1631"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1638"/>
         <source>Promote to Multipart</source>
         <translation>In mehrteilige umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1632"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1639"/>
         <source>Keep width and precision of input attributes</source>
         <translation>Breite und Genauigkeit der Eingabeattribute beibehalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1633"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1640"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1634"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1641"/>
         <source>Import Vector into PostGIS database (new connection)</source>
         <translation>Vektor in PostGIS-Datenbank importieren (neue Verbindung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1635"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1642"/>
         <source>Vector miscellaneous</source>
         <translation>Vektor Verschiedenes</translation>
     </message>
@@ -21139,67 +21258,67 @@ Mehr Informationen.im Protokoll.</translation>
 <context>
     <name>OneSideBuffer</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1639"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1646"/>
         <source>Right</source>
         <translation>Rechts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1640"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1647"/>
         <source>Left</source>
         <translation>Links</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1641"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1648"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1642"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1649"/>
         <source>Geometry column name</source>
         <translation>Geometriespaltenname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1643"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1650"/>
         <source>Buffer distance</source>
         <translation>Pufferabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1644"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1651"/>
         <source>Buffer side</source>
         <translation>Pufferseite</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1645"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1652"/>
         <source>Dissolve by attribute</source>
         <translation>Nach Attribute auflösen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1646"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1653"/>
         <source>Dissolve all results</source>
         <translation>Alle Ergebnisse auflösen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1647"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1654"/>
         <source>Produce one feature for each geometry in any kind of geometry collection in the source file</source>
         <translation>Erzeugt ein Objekt für jede Geometries in jeder Art von Geometriesammlung der Quelldatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1648"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1655"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1649"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1656"/>
         <source>One-sided buffer</source>
         <translation>Einseitiger Puffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1650"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1657"/>
         <source>One side buffer</source>
         <translation>Einseitiger Puffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1651"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1658"/>
         <source>Vector geoprocessing</source>
         <translation>Vektorgeoverarbeitung</translation>
     </message>
@@ -21211,23 +21330,23 @@ Mehr Informationen.im Protokoll.</translation>
         <translation type="vanished">Vorhandenes Modell öffnen…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1655"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1662"/>
         <source>Open Existing Model…</source>
         <translation>Vorhandenes Modell öffnen…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1656"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1663"/>
         <source>Tools</source>
         <translation>Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1657"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1664"/>
         <source>Open Model</source>
         <comment>AddModelFromFileAction</comment>
         <translation>Modell öffnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1658"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1665"/>
         <source>Processing model files (*.model3 *.MODEL3)</source>
         <comment>AddModelFromFileAction</comment>
         <translation>Verarbeite Modelldateien (*.model3 *.MODEL3)</translation>
@@ -21350,37 +21469,37 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>Orthogonalize</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1662"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1669"/>
         <source>rectangle,perpendicular,right,angles,square,quadrilateralise</source>
         <translation>rectangle,perpendicular,right,angles,square,quadrilateralise</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1663"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1670"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1664"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1671"/>
         <source>Maximum angle tolerance (degrees)</source>
         <translation>Maximale Winkeltoleranz (°)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1665"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1672"/>
         <source>Maximum algorithm iterations</source>
         <translation>Maximale Algorithmusiterationen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1666"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1673"/>
         <source>Orthogonalize</source>
         <translation>Orthogonalisieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1667"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1674"/>
         <source>Orthogonalized</source>
         <translation>Orthogonalisiert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1668"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1675"/>
         <source>Error orthogonalizing geometry</source>
         <translation>Fehler bei Geometrieorthogonalisierung</translation>
     </message>
@@ -21508,22 +21627,22 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>ParameterAggregates</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1672"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1679"/>
         <source>Aggregates</source>
         <translation>Aggregate</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1673"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1680"/>
         <source>Aggregated</source>
         <translation>Aggregiert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1674"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1681"/>
         <source>Parser error in expression "{}": {}</source>
         <translation>Fehler in Ausdruck "{}": {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1675"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1682"/>
         <source>Evaluation error in expression "{}": {}</source>
         <translation>Auswertungsfehler bei Ausdruck "{}": {}</translation>
     </message>
@@ -21531,27 +21650,27 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>ParameterFieldsMapping</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1679"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1686"/>
         <source>Fields mapping</source>
         <translation>Feldabbildung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1680"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1687"/>
         <source>Refactor fields</source>
         <translation>Felder überarbeiten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1681"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1688"/>
         <source>Refactored</source>
         <translation>Faktoriert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1682"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1689"/>
         <source>Parser error in expression "{}": {}</source>
         <translation>Fehler in Ausdruck "{}": {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1683"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1690"/>
         <source>Evaluation error in expression "{}": {}</source>
         <translation>Auswertungsfehler bei Ausdruck "{}": {}</translation>
     </message>
@@ -21559,47 +21678,47 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>ParameterHeatmapPixelSize</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1687"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1694"/>
         <source>Output raster size</source>
         <translation>Ausgaberastergröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1688"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1695"/>
         <source>Weight from field</source>
         <translation>Gewichtung aus Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1689"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1696"/>
         <source>Kernel shape</source>
         <translation>Kernform</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1690"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1697"/>
         <source>Decay ratio (Triangular kernels only)</source>
         <translation>Verfallrate (nur dreieckige Kerne)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1691"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1698"/>
         <source>Output value scaling</source>
         <translation>Ausgabewertskalierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1692"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1699"/>
         <source>Heatmap</source>
         <translation>Heatmap</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1693"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1700"/>
         <source>Could not create destination layer</source>
         <translation>Konnte Ziellayer nicht erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1694"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1701"/>
         <source>Error adding feature with ID {} to heatmap</source>
         <translation>Fehler beim Hinzufügen von Objekt mit ID {} zur Heatmap</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1695"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1702"/>
         <source>Could not save destination layer</source>
         <translation>Konnte Ziellayer nicht speichern</translation>
     </message>
@@ -21625,47 +21744,47 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>ParameterRasterCalculatorExpression</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1699"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1706"/>
         <source>Expression</source>
         <translation>Ausdruck</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1700"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1707"/>
         <source>Reference layer(s) (used for automated extent, cellsize, and CRS)</source>
         <translation>Layer referenzieren ( für automatische Ausmaße, Zellengröße und KBS verwendet)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1701"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1708"/>
         <source>Cell size (use 0 or empty to set it automatically)</source>
         <translation>Zellengröße (0 oder leer um sie automatisch zu setzen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1702"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1709"/>
         <source>Output extent</source>
         <translation>Ausgabegröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1703"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1710"/>
         <source>Output</source>
         <translation>Ausgabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1704"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1711"/>
         <source>Raster calculator</source>
         <translation>Rasterrechner</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1705"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1712"/>
         <source>No reference layer selected nor CRS provided</source>
         <translation>Kein Referenzlayer oder KBS angegeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1706"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1713"/>
         <source>No reference layer selected nor extent box provided</source>
         <translation>Kein Referenzlayer oder Ausmaßrahmen angegeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1707"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1714"/>
         <source>No reference layer selected nor cellsize value provided</source>
         <translation>Kein Referenzlayer gewählt oder keine Zellengröße angegeben</translation>
     </message>
@@ -21674,7 +21793,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Keine Layer gewählt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1708"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1715"/>
         <source>Error parsing formula</source>
         <translation>Fehler bei Formelinterpretation</translation>
     </message>
@@ -21696,22 +21815,22 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>ParameterVectorVrtDestination</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1712"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1719"/>
         <source>Virtual vector</source>
         <translation>Virtueller Vektor</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1713"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1720"/>
         <source>Virtual string</source>
         <translation>Virtuelle Zeichenkette</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1714"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1721"/>
         <source>Build virtual vector</source>
         <translation>Virtuellen Vektor erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1715"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1722"/>
         <source>Invalid datasource: {}</source>
         <translation>Ungültige Datenquelle: {}</translation>
     </message>
@@ -21719,37 +21838,37 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>ParameterVrtDestination</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1719"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1726"/>
         <source>Input layers</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1720"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1727"/>
         <source>Resolution</source>
         <translation>Auflösung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1721"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1728"/>
         <source>Layer stack</source>
         <translation>Layerstapel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1722"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1729"/>
         <source>Allow projection difference</source>
         <translation>Unterschiedliche Projektionen zulassen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1723"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1730"/>
         <source>Virtual</source>
         <translation>Virtuell</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1724"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1731"/>
         <source>Build Virtual Raster</source>
         <translation>Virtuelles Raster generieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1725"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1732"/>
         <source>Raster miscellaneous</source>
         <translation>Raster Verschiedenes</translation>
     </message>
@@ -21757,27 +21876,27 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>ParametersPanel</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1729"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1736"/>
         <source>[Not selected]</source>
         <translation>[nicht gewählt]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1730"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1737"/>
         <source>Python identifier: ‘{}’</source>
         <translation>Python-Kennung: €˜‘{}’</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1732"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1739"/>
         <source> (x, y)</source>
         <translation> (x, y)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1733"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1740"/>
         <source> [optional]</source>
         <translation> [optional]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1734"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1741"/>
         <source>Iterate over this layer, creating a separate output for every feature in the layer</source>
         <translation>Diesen Layer durchgehen und je Objekt des Layers eine separate Ausgabe erstellen</translation>
     </message>
@@ -21786,7 +21905,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Iteriere über diesen Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1735"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1742"/>
         <source>Open output file after running algorithm</source>
         <translation>Öffne Ausgabedatei nach erfolgreicher Ausführung</translation>
     </message>
@@ -21795,7 +21914,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">[nicht gesetzt]</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1731"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1738"/>
         <source> (xmin, xmax, ymin, ymax)</source>
         <translation> (xmin, xmax, ymin, ymax)</translation>
     </message>
@@ -22008,57 +22127,57 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1739"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1746"/>
         <source>Vector analysis</source>
         <translation>Vektoranalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1740"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1747"/>
         <source>Linear (N*k x 3) distance matrix</source>
         <translation>Lineare (N*k x 3) Distanzmatrix</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1741"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1748"/>
         <source>Standard (N x T) distance matrix</source>
         <translation>Standard (N x T) Distanzmatrix</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1742"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1749"/>
         <source>Summary distance matrix (mean, std. dev., min, max)</source>
         <translation>Zusammenfassende Distanzmatrix (mtl, std.abw., min, max.)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1743"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1750"/>
         <source>Input point layer</source>
         <translation>Eingabepunktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1744"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1751"/>
         <source>Input unique ID field</source>
         <translation>Eindeutiges Schlüsselfeld der Eingabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1745"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1752"/>
         <source>Target point layer</source>
         <translation>Zielpunktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1746"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1753"/>
         <source>Target unique ID field</source>
         <translation>Eindeutiges Schlüsselfeld des Ziels</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1747"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1754"/>
         <source>Output matrix type</source>
         <translation>Typ der Ausgabematrix</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1748"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1755"/>
         <source>Use only the nearest (k) target points</source>
         <translation>Nur (k) nächste Zielpunkte verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1749"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1756"/>
         <source>Distance matrix</source>
         <translation>Distanzmatrix</translation>
     </message>
@@ -22066,22 +22185,22 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PointOnSurface</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1753"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1760"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1754"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1761"/>
         <source>Point on surface</source>
         <translation>Punkt auf Oberfläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1755"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1762"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1756"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1763"/>
         <source>Error calculating point on surface: `{error_message}`</source>
         <translation>Fehler beim Oberflächenpunktberechnung:  `{error_message}`</translation>
     </message>
@@ -22089,42 +22208,42 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PointsAlongGeometry</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1760"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1767"/>
         <source>create,interpolate,points,lines,regular,distance,by</source>
         <translation>create,interpolate,points,lines,regular,distance,by</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1761"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1768"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1762"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1769"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1763"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1770"/>
         <source>Distance</source>
         <translation>Entfernung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1764"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1771"/>
         <source>Start offset</source>
         <translation>Startversatz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1765"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1772"/>
         <source>End offset</source>
         <translation>Endversatz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1766"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1773"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1767"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1774"/>
         <source>Points along geometry</source>
         <translation>Punkte entlang einer Geometrie</translation>
     </message>
@@ -22132,32 +22251,32 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PointsAlongLines</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1771"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1778"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1772"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1779"/>
         <source>Geometry column name</source>
         <translation>Geometriespaltenname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1773"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1780"/>
         <source>Distance from line start represented as fraction of line length</source>
         <translation>Abstand vom Linienanfang als Bruchteil der Linienlänge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1774"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1781"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1775"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1782"/>
         <source>Points along lines</source>
         <translation>Punkte entlang Linien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1776"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1783"/>
         <source>Vector geoprocessing</source>
         <translation>Vektorgeoverarbeitung</translation>
     </message>
@@ -22169,37 +22288,37 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1780"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1787"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1781"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1788"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1782"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1789"/>
         <source>Minimum distance to other points</source>
         <translation>Minimaler Abstand zu anderen Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1783"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1790"/>
         <source>Displacement distance</source>
         <translation>Verlagerungsdistanz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1784"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1791"/>
         <source>Horizontal distribution for two point case</source>
         <translation>Horizontale Verteilung für Zweipunktefall</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1785"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1792"/>
         <source>Displaced</source>
         <translation>Versetzt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1786"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1793"/>
         <source>Points displacement</source>
         <translation>Punktversatz</translation>
     </message>
@@ -22211,22 +22330,22 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1790"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1797"/>
         <source>Vector creation</source>
         <translation>Vektorerzeugung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1791"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1798"/>
         <source>Raster layer</source>
         <translation>Rasterlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1792"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1799"/>
         <source>Vector layer</source>
         <translation>Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1793"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1800"/>
         <source>Points from polygons</source>
         <translation>Punkte aus Polygonen</translation>
     </message>
@@ -22235,7 +22354,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Punkte entlang Linie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1794"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1801"/>
         <source>Generate points (pixel centroids) along line</source>
         <translation>Punkte (Pixelzentren) entlang einer Linie erzeugen</translation>
     </message>
@@ -22247,27 +22366,27 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1798"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1805"/>
         <source>Vector creation</source>
         <translation>Vektorerzeugung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1799"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1806"/>
         <source>Raster layer</source>
         <translation>Rasterlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1800"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1807"/>
         <source>Vector layer</source>
         <translation>Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1801"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1808"/>
         <source>Points from polygons</source>
         <translation>Punkte aus Polygonen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1802"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1809"/>
         <source>Generate points (pixel centroids) inside polygons</source>
         <translation>Punkte (Pixelzentren) in Polygonen erzeugen</translation>
     </message>
@@ -22279,42 +22398,42 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1806"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1813"/>
         <source>Vector analysis</source>
         <translation>Vektoranalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1807"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1814"/>
         <source>Polygons</source>
         <translation>Polygone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1808"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1815"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1809"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1816"/>
         <source>Weight field</source>
         <translation>Gewichtungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1810"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1817"/>
         <source>Class field</source>
         <translation>Klassenfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1811"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1818"/>
         <source>Count field name</source>
         <translation>Zählfeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1812"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1819"/>
         <source>Count</source>
         <translation>Anzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1813"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1820"/>
         <source>Count points in polygon</source>
         <translation>Punkte in Polygon zählen</translation>
     </message>
@@ -22388,52 +22507,52 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1817"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1824"/>
         <source>points,create,values,attributes</source>
         <translation>points,create,values,attributes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1818"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1825"/>
         <source>Vector creation</source>
         <translation>Vektorerzeugung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1819"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1826"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1820"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1827"/>
         <source>X field</source>
         <translation>X-Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1821"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1828"/>
         <source>Y field</source>
         <translation>Y-Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1822"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1829"/>
         <source>Z field</source>
         <translation>Z-Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1823"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1830"/>
         <source>M field</source>
         <translation>M-Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1824"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1831"/>
         <source>Target CRS</source>
         <translation>Ziel KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1825"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1832"/>
         <source>Points from table</source>
         <translation>Punkte aus Tabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1826"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1833"/>
         <source>Create points layer from table</source>
         <translation>Punktlayer aus Tabelle erzeugen</translation>
     </message>
@@ -22449,42 +22568,42 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1832"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1839"/>
         <source>Input point layer</source>
         <translation>Eingabepunktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1834"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1841"/>
         <source>Group field</source>
         <translation>Gruppierungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1833"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1840"/>
         <source>Order field</source>
         <translation>Sortierungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1830"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1837"/>
         <source>Vector creation</source>
         <translation>Vektorerzeugung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1831"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1838"/>
         <source>join,points,lines,connect</source>
         <translation>join,points,lines,connect</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1835"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1842"/>
         <source>Date format (if order field is DateTime)</source>
         <translation>Datumsformat (wenn Sortierungsfeld DateTime ist)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1836"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1843"/>
         <source>Paths</source>
         <translation>Pfade</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1837"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1844"/>
         <source>Directory for text output</source>
         <translation>Verzeichnis für Textausgabe</translation>
     </message>
@@ -22493,7 +22612,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1838"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1845"/>
         <source>Points to path</source>
         <translation>Punkte zu Weg</translation>
     </message>
@@ -22501,7 +22620,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PolarPlot</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1842"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1849"/>
         <source>Graphics</source>
         <translation>Grafik</translation>
     </message>
@@ -22510,27 +22629,27 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Tabelle eingeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1843"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1850"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1844"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1851"/>
         <source>Category name field</source>
         <translation>Kategorienamensfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1845"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1852"/>
         <source>Value field</source>
         <translation>Wertfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1846"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1853"/>
         <source>Polar plot</source>
         <translation>Polarplot</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1847"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1854"/>
         <source>HTML files (*.html)</source>
         <translation>HTML-Dateien (*.html)</translation>
     </message>
@@ -22538,37 +22657,37 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PoleOfInaccessibility</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1851"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1858"/>
         <source>furthest,point,distant,extreme,maximum,centroid,center,centre</source>
         <translation>furthest,point,distant,extreme,maximum,centroid,center,centre</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1852"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1859"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1853"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1860"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1854"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1861"/>
         <source>Tolerance (layer units)</source>
         <translation>Toleranz (Layereinheiten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1855"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1862"/>
         <source>Point</source>
         <translation>Punkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1856"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1863"/>
         <source>Pole of inaccessibility</source>
         <translation>Pol der Unzugänglichkeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1857"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1864"/>
         <source>Error calculating pole of inaccessibility</source>
         <translation>Fehler bei Berechnung des Pols der Unzugänglichkeit</translation>
     </message>
@@ -22695,32 +22814,32 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>Polygonize</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1861"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1868"/>
         <source>create,lines,polygons,convert</source>
         <translation>Erzeugen,Linien,Polygone,Konvertieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1862"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1869"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1867"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1874"/>
         <source>Processing lines…</source>
         <translation>Verarbeite Linien…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1868"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1875"/>
         <source>Noding lines…</source>
         <translation>Bestimme Knoten in Linien…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1869"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1876"/>
         <source>Polygonizing…</source>
         <translation>Polygonbildung…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1871"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1878"/>
         <source>Saving polygons…</source>
         <translation>Speichere Polygone…</translation>
     </message>
@@ -22737,7 +22856,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Polygonisiert…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1870"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1877"/>
         <source>No polygons were created!</source>
         <translation>Es wurden keine Polygone erzeugt!</translation>
     </message>
@@ -22746,12 +22865,12 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1863"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1870"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1864"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1871"/>
         <source>Keep table structure of line layer</source>
         <translation>Tabellenstruktur des Linienlayers beibehalten</translation>
     </message>
@@ -22760,12 +22879,12 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Geometriespalten erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1865"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1872"/>
         <source>Polygons from lines</source>
         <translation>Polygone aus Linien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1866"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1873"/>
         <source>Polygonize</source>
         <translation>Polygonbildung</translation>
     </message>
@@ -22785,22 +22904,22 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Linien aus Polygonen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1875"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1882"/>
         <source>line,polygon,convert</source>
         <translation>line,polygon,convert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1876"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1883"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1877"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1884"/>
         <source>Polygons to lines</source>
         <translation>Polygone zu Linien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1878"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1885"/>
         <source>Lines</source>
         <translation>Linien</translation>
     </message>
@@ -22808,12 +22927,12 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PostGIS</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1882"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1889"/>
         <source>There is no defined database connection "{0}".</source>
         <translation>Keine Datenbankverbindung "{0}" definiert.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1883"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1890"/>
         <source>Action canceled by user</source>
         <translation>Durch Benutzer abgebrochen</translation>
     </message>
@@ -22827,27 +22946,27 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1887"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1894"/>
         <source>Database</source>
         <translation>Datenbank</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1888"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1895"/>
         <source>Database (connection name)</source>
         <translation>Datenbank (Verbindungsname)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1889"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1896"/>
         <source>SQL query</source>
         <translation>SQL-Abfrage</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1890"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1897"/>
         <source>PostGIS execute SQL</source>
         <translation>PostGIS-SQL-Ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1891"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1898"/>
         <source>Error executing SQL:
 {0}</source>
         <translation>Fehler bei SQL-Ausführung:
@@ -22869,22 +22988,22 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>Postprocessing</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1895"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1902"/>
         <source>Loading resulting layers</source>
         <translation>Lade Ergebnis Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1896"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1903"/>
         <source>Error loading result layer:</source>
         <translation>Fehler beim Laden des Ergebnis-layers:</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1897"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1904"/>
         <source>The following layers were not correctly generated.</source>
         <translation>Die folgenden Layer wurden nicht erzeugt.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1898"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1905"/>
         <source>You can check the 'Log Messages Panel' in QGIS main window to find more information about the execution of the algorithm.</source>
         <translation>Im 'Protokoll-Fenster' im QGIS-Hauptfenster sind mehr Informationen zur Ausführung des Algorithmus zu finden.</translation>
     </message>
@@ -22892,17 +23011,17 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 <context>
     <name>PreconfiguredAlgorithmDialog</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1902"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1909"/>
         <source>OK</source>
         <translation>OK</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1903"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1910"/>
         <source>Unable to execute algorithm</source>
         <translation>Konnte Algorithmus nicht ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1904"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1911"/>
         <source>Missing parameter value: {0}</source>
         <translation>Fehlender Parameterwert: {0}</translation>
     </message>
@@ -22911,7 +23030,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished"><b>Fehlender Parameterwert: %s</b></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1905"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1912"/>
         <source>Wrong or missing parameter values</source>
         <translation>Falsche oder fehlende Parameterwerte</translation>
     </message>
@@ -22923,7 +23042,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Vorkonfigurierte Algorithmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1909"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1916"/>
         <source>Preconfigured algorithms</source>
         <comment>PreconfiguredAlgorithmProvider</comment>
         <translation>Vorkonfigurierte Algorithmen</translation>
@@ -22951,14 +23070,14 @@ Bitte die Processing-Einstellung überprüfen.</translation>
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1915"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1922"/>
         <source>Error: Algorithm {0} not found
 </source>
         <translation>Fehler: Algorithmus {0} nicht gefunden
 </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1914"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1921"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
@@ -22971,7 +23090,7 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Fehler in %s. Falscher Parameterwert %s für Parameter %s.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1916"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1923"/>
         <source>Error: Missing parameter value for parameter {0}.</source>
         <translation>Fehler: Fehlender Wert für Parameter {0}.</translation>
     </message>
@@ -22992,21 +23111,21 @@ Bitte die Processing-Einstellung überprüfen.</translation>
         <translation type="vanished">Fehler: Falscher Ausgabewert:</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1917"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1924"/>
         <source>Unable to execute algorithm
 {0}</source>
         <translation>Kann Algorithmus nicht ausführen
 {0}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1918"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1925"/>
         <source>Warning: Not all input layers use the same CRS.
 This can cause unexpected results.</source>
         <translation>Warnung: Nicht alle Eingabelayer verwenden das gleiche KBS.
 Dies kann zu unerwarteten Ergebnissen führen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1920"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1927"/>
         <source>There were errors executing the algorithm.</source>
         <translation>Fehler bei der Ausführung des Algorithmus.</translation>
     </message>
@@ -23021,156 +23140,156 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
 {1}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1913"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1920"/>
         <source>Error: Provider {0} could not be activated
 </source>
         <translation>Fehler: Datenanbieter {0} konnte nicht aktiviert werden
 </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1919"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1926"/>
         <source>Results: {}</source>
         <translation>Ergebnisse: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1921"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1928"/>
         <source>&Analysis Tools</source>
         <translation>&Analyse-Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1922"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1929"/>
         <source>&Research Tools</source>
         <translation>&Forschungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1923"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1930"/>
         <source>&Geoprocessing Tools</source>
         <translation>&Geoverarbeitungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1924"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1931"/>
         <source>G&eometry Tools</source>
         <translation>G&eometrie-Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1925"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1932"/>
         <source>&Data Management Tools</source>
         <translation>&Datenmanagement-Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1926"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1933"/>
         <source>&Raster</source>
         <translation>&Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1927"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1934"/>
         <source>Projections</source>
         <translation>Projektionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1928"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1935"/>
         <source>Conversion</source>
         <translation>Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1929"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1936"/>
         <source>Extraction</source>
         <translation>Extraktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1930"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1937"/>
         <source>Analysis</source>
         <translation>Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1931"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1938"/>
         <source>Miscellaneous</source>
         <translation>Sonstiges</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1932"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1939"/>
         <source>Missing dependency</source>
         <translation>Fehlende Abhängigkeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1933"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1940"/>
         <source><h3>Missing dependency. This algorithm cannot be run :-( </h3>
 {0}</source>
         <translation><h3>Fehlende Abhängigkeit. Dieser Algorithmus kann nicht ausgeführt werden :-( </h3>
 {0}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1934"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1941"/>
         <source>A numeric parameter, including float or integer values.</source>
         <translation>Ein nummerischer Parameter, einschließlich Fließkomma- und ganzen Zahlen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1935"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1942"/>
         <source>A raster layer parameter.</source>
         <translation>Ein Rasterlayerparameter.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1936"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1943"/>
         <source>A vector layer parameter, e.g. for algorithms which change layer styles, edit layers in place, or other operations which affect an entire layer.</source>
         <translation>Ein Vektorlayerparameter, z.B. für Algorithmen, die Layerstile oder Layer insitu ändern oder andere Operationen, die den ganzen Layer beeinflußen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1937"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1944"/>
         <source>A vector feature parameter, e.g. for algorithms which operate on the features within a layer.</source>
         <translation>Ein Vektorobjektparameter, z.B. für Algorithmen, die auf Objekten innerhalb des Layers arbeiten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1938"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1945"/>
         <source>A freeform string parameter.</source>
         <translation>Ein formloser Zeichenkettenparameter.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1939"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1946"/>
         <source>A QGIS expression parameter, which presents an expression builder widget to users.</source>
         <translation>Ein QGIS-Ausdrucksparameter, der dem Benutzer die Ausdrucksbearbeitung anzeigt.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1940"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1947"/>
         <source>A boolean parameter, for true/false values.</source>
         <translation>Ein Boolean-Parameter für wahr/falsch Werte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1941"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1948"/>
         <source>A vector field parameter, for selecting an existing field from a vector source.</source>
         <translation>Ein Vektorfeldparameter zur Auswahl eines Feldes aus einer Vektorquelle.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1942"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1949"/>
         <source>A map extent parameter.</source>
         <translation>Ein Kartenausmaßparameter.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1943"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1950"/>
         <source>A file parameter, for use with non-map layer file sources.</source>
         <translation>Ein Dateiparameter zur Verwendung mit Layerdateiquelle ohne Karte.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1944"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1951"/>
         <source>A geographic point parameter.</source>
         <translation>Eine geografischer Punktparameter.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1945"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1952"/>
         <source>A coordinate reference system (CRS) input parameter.</source>
         <translation>Ein Koordinatenreferenzsystem (KBS) Eingabeparameter.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1946"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1953"/>
         <source>An input allowing selection of multiple sources, including multiple map layers or file sources.</source>
         <translation>Eine Eingabe, die die Auswahl von mehreren Quellen einschließlich mehreren Kartenlayern oder Dateiquellen erlaubt.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1947"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1954"/>
         <source>A raster band parameter, for selecting an existing band from a raster source.</source>
         <translation>Ein Rasterkanalparameter zur Auswahl eines vorhandenen Kanals einer Rasterquelle.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1948"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1955"/>
         <source>A generic map layer parameter, which accepts either vector or raster layers.</source>
         <translation>Ein allgemeiner Kartenlayerparameter, der entweder Vektor- oder Rasterlayer akzeptiert.</translation>
     </message>
@@ -23184,17 +23303,17 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
 <context>
     <name>ProcessingConfig</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1952"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1959"/>
         <source>General</source>
         <translation>Allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1953"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1960"/>
         <source>Show extra info in Log panel</source>
         <translation>Zeige Extrainformation im Protokollfenster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1954"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1961"/>
         <source>Keep dialog open after running an algorithm</source>
         <translation>Behalte Dialog nach Abschluss des Algorithmus offen</translation>
     </message>
@@ -23203,97 +23322,97 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
         <translation type="vanished">Nur gewählte Objekte nutzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1955"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1962"/>
         <source>Use filename as layer name</source>
         <translation>Benutze Dateinamen als Layernamen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1956"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1963"/>
         <source>Show recently executed algorithms</source>
         <translation>Zeige zuletzt ausgeführte Algorithmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1957"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1964"/>
         <source>Show tooltip when there are disabled providers</source>
         <translation>Tooltip anzeigen, wenn es abgeschaltete Anbieter gibt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1958"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1965"/>
         <source>Output folder</source>
         <translation>Ausgabeverzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1959"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1966"/>
         <source>Show layer CRS definition in selection boxes</source>
         <translation>Zeige Layer Koordinatensystem in Auswahlkästen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1960"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1967"/>
         <source>Warn before executing if layer CRS's do not match</source>
         <translation>Zeige Warnung wenn Layer Koordinatensysteme nicht übereinstimmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1961"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1968"/>
         <source>Warn before executing if extent CRS might not match layers CRS</source>
         <translation>Zeige Warnung, wenn KBS des Ausmaßlayers nicht mit dem des Layers übereinstimmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1962"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1969"/>
         <source>Style for raster layers</source>
         <translation>Stil für Rasterlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1963"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1970"/>
         <source>Style for point layers</source>
         <translation>Stil für Punktlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1964"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1971"/>
         <source>Style for line layers</source>
         <translation>Stil für Linienlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1965"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1972"/>
         <source>Style for polygon layers</source>
         <translation>Stil für Polygonlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1966"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1973"/>
         <source>Pre-execution script</source>
         <translation>Skript zur Ausführung vor dem Run</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1967"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1974"/>
         <source>Post-execution script</source>
         <translation>Skript zur Ausführung nach Lauf</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1968"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1975"/>
         <source>Recent algorithms</source>
         <translation>Letzte Algorithmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1969"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1976"/>
         <source>Scripts and models repository</source>
         <translation>Skript- und Modellrepositorium</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1970"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1977"/>
         <source>Do not filter (better performance)</source>
         <translation>Nicht filtern (schneller)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1971"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1978"/>
         <source>Ignore features with invalid geometries</source>
         <translation>Objekte mit ungültiger Geometrie ignorieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1972"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1979"/>
         <source>Stop algorithm execution when a geometry is invalid</source>
         <translation>Algorithmenausführung bei ungültiger Geometrie anhalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1973"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1980"/>
         <source>Invalid features filtering</source>
         <translation>Filterung ungültiger Objekte</translation>
     </message>
@@ -23302,12 +23421,12 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
         <translation type="vanished">Kürzliche verwendete Algorithmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1974"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1981"/>
         <source>Default output vector layer extension</source>
         <translation>Erweiterungsvoreinstellung für Vektorlayerausgaben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1975"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1982"/>
         <source>Default output raster layer extension</source>
         <translation>Erweiterungsvoreinstellung für Rasterlayerausgaben</translation>
     </message>
@@ -23322,37 +23441,37 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
 <context>
     <name>ProcessingPlugin</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1979"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1986"/>
         <source>&Run Model…</source>
         <translation>Modell ausfüh&ren…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1980"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1987"/>
         <source>&Edit Model…</source>
         <translation>Mod&ell bearbeiten…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1981"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1988"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1982"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1989"/>
         <source>Pro&cessing</source>
         <translation>&Verarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1983"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1990"/>
         <source>&Toolbox</source>
         <translation>&Werkzeugkiste</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1984"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1991"/>
         <source>Graphical &Modeler…</source>
         <translation>Grafische &Modellierung…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1985"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1992"/>
         <source>&History…</source>
         <translation>Protokoll... (&h)</translation>
     </message>
@@ -23365,12 +23484,12 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
         <translation type="vanished">&Historie…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1986"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1993"/>
         <source>&Results Viewer</source>
         <translation>&Ergebnisanzeige</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1987"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1994"/>
         <source>Options</source>
         <translation>Optionen</translation>
     </message>
@@ -23395,7 +23514,7 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
     <name>ProcessingToolbox</name>
     <message>
         <location filename="../python/plugins/processing/ui/ProcessingToolbox.ui" line="14"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1991"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1998"/>
         <source>Processing Toolbox</source>
         <translation>Verarbeitungswerkzeuge</translation>
     </message>
@@ -23405,19 +23524,19 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/ProcessingToolbox.ui" line="49"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1992"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="1999"/>
         <source>Enter algorithm name to filter list</source>
         <translation>Algorithmenname eingeben, um Liste zu filtern</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/ProcessingToolbox.ui" line="83"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1993"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2000"/>
         <source>There are disabled providers that contain algorithms including your text string. Click <a href="view">to view them.</a></source>
         <translation>Es gibt deaktivierte Anbieter, die passende Algorithmen enthalten (siehe <a href="view">Anzeige</a>).</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/ProcessingToolbox.ui" line="106"/>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1994"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2001"/>
         <source><html><head/><body><p>You can add more algorithms to the toolbox, <a href="enable"><span style=" text-decoration: underline; color:#0000ff;">enable additional providers.</span></a>&nbsp;&nbsp;&nbsp;<a href="close"><span style=" text-decoration: underline; color:#0000ff;">[close]</span></a></p></body></html></source>
         <translation><html><head/><body><p>Durch <a href="enable"><span style=" text-decoration: underline; color:#0000ff;">Einschalten weiterer Anbieter</span> können der Werkzeugleiste mehr Algorithmen hinzugefügt werden.</a>&nbsp;&nbsp;&nbsp;<a href="close"><span style=" text-decoration: underline; color:#0000ff;">[schließen]</span></a></p></body>< [...]
     </message>
@@ -23426,37 +23545,37 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
         <translation type="vanished">Suchen…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1995"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2002"/>
         <source>Search…</source>
         <translation>Suche…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1996"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2003"/>
         <source>Activate provider</source>
         <translation>Datenanbieter aktivieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1997"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2004"/>
         <source>The provider has been activated, but it might need additional configuration.</source>
         <translation>Der Datenanbieter wurde aktiviert und braucht ggf. zusätzliche Konfiguration.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1998"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2005"/>
         <source>The provider could not be activated.</source>
         <translation>Der Datenanbieter konnte nicht aktiviert werden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="1999"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2006"/>
         <source>Execute…</source>
         <translation>Ausführen…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2000"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2007"/>
         <source>Execute as Batch Process…</source>
         <translation>Als Stapelprozeß ausführen…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2001"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2008"/>
         <source>Edit Rendering Styles for Outputs…</source>
         <translation>Darstellungsstile zur Ausgabe bearbeiten…</translation>
     </message>
@@ -23485,19 +23604,19 @@ Dies kann zu unerwarteten Ergebnissen führen.</translation>
         <translation type="vanished">Darstellungsstile zur Ausgabe bearbeiten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2002"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2009"/>
         <source>Error executing algorithm</source>
         <translation>Fehler bei Algorithmenausführung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2003"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2010"/>
         <source><h3>This algorithm cannot be run :-( </h3>
 {0}</source>
         <translation><h3>Dieser Algorithmus kann nicht ausgeführt werden :-( </h3>
 {0}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2004"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2011"/>
         <source>Recently used</source>
         <translation>Kürzlich verwendet</translation>
     </message>
@@ -24721,12 +24840,12 @@ Fehler(%2): %3</translation>
         <location filename="../src/core/qgscoordinatereferencesystem.cpp" line="1655"/>
         <location filename="../src/core/qgscoordinatetransform.cpp" line="572"/>
         <location filename="../src/core/qgscoordinatetransform.cpp" line="578"/>
-        <location filename="../src/core/qgsmapsettings.cpp" line="417"/>
-        <location filename="../src/core/qgsmapsettings.cpp" line="441"/>
-        <location filename="../src/core/qgsmapsettings.cpp" line="460"/>
-        <location filename="../src/core/qgsmapsettings.cpp" line="477"/>
-        <location filename="../src/core/qgsmapsettings.cpp" line="494"/>
-        <location filename="../src/core/qgsmapsettings.cpp" line="511"/>
+        <location filename="../src/core/qgsmapsettings.cpp" line="425"/>
+        <location filename="../src/core/qgsmapsettings.cpp" line="449"/>
+        <location filename="../src/core/qgsmapsettings.cpp" line="468"/>
+        <location filename="../src/core/qgsmapsettings.cpp" line="485"/>
+        <location filename="../src/core/qgsmapsettings.cpp" line="502"/>
+        <location filename="../src/core/qgsmapsettings.cpp" line="519"/>
         <location filename="../src/core/qgsvectorlayerrenderer.cpp" line="205"/>
         <source>CRS</source>
         <translation>KBS</translation>
@@ -25276,13 +25395,13 @@ Fehler(%2): %3</translation>
     <message>
         <location filename="../src/core/geometry/qgsgeos.cpp" line="36"/>
         <location filename="../src/core/geometry/qgsgeos.cpp" line="43"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="1016"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="2324"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="2543"/>
-        <location filename="../src/core/pal/feature.cpp" line="1614"/>
-        <location filename="../src/core/pal/feature.cpp" line="1633"/>
-        <location filename="../src/core/pal/feature.cpp" line="1663"/>
-        <location filename="../src/core/pal/feature.cpp" line="1703"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="1019"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="2327"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="2546"/>
+        <location filename="../src/core/pal/feature.cpp" line="1619"/>
+        <location filename="../src/core/pal/feature.cpp" line="1638"/>
+        <location filename="../src/core/pal/feature.cpp" line="1668"/>
+        <location filename="../src/core/pal/feature.cpp" line="1708"/>
         <location filename="../src/core/pal/geomfunction.cpp" line="366"/>
         <location filename="../src/core/pal/labelposition.cpp" line="217"/>
         <location filename="../src/core/pal/labelposition.cpp" line="242"/>
@@ -25301,15 +25420,15 @@ Fehler(%2): %3</translation>
     <message>
         <location filename="../src/core/geometry/qgsgeos.cpp" line="36"/>
         <location filename="../src/core/geometry/qgsgeos.cpp" line="43"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="1016"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="1712"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="1774"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="2324"/>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="2543"/>
-        <location filename="../src/core/pal/feature.cpp" line="1614"/>
-        <location filename="../src/core/pal/feature.cpp" line="1633"/>
-        <location filename="../src/core/pal/feature.cpp" line="1663"/>
-        <location filename="../src/core/pal/feature.cpp" line="1703"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="1019"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="1715"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="1777"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="2327"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="2546"/>
+        <location filename="../src/core/pal/feature.cpp" line="1619"/>
+        <location filename="../src/core/pal/feature.cpp" line="1638"/>
+        <location filename="../src/core/pal/feature.cpp" line="1668"/>
+        <location filename="../src/core/pal/feature.cpp" line="1708"/>
         <location filename="../src/core/pal/geomfunction.cpp" line="366"/>
         <location filename="../src/core/pal/labelposition.cpp" line="217"/>
         <location filename="../src/core/pal/labelposition.cpp" line="242"/>
@@ -25326,12 +25445,12 @@ Fehler(%2): %3</translation>
         <translation>GEOS</translation>
     </message>
     <message>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="1712"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="1715"/>
         <source>Could not create coordinate sequence for %1 points in %2 dimensions</source>
         <translation>Konnte Koordinatensequenz für %1 Punkte mit %2 Dimension nicht erzeugen</translation>
     </message>
     <message>
-        <location filename="../src/core/geometry/qgsgeos.cpp" line="1774"/>
+        <location filename="../src/core/geometry/qgsgeos.cpp" line="1777"/>
         <source>Could not create coordinate sequence for point with %1 dimensions</source>
         <translation>Konnte Koordinatensystem für Punkt mit %1 Dimensionen nicht erzeugen</translation>
     </message>
@@ -25677,14 +25796,14 @@ Fehler(%2): %3</translation>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="2216"/>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="2249"/>
         <location filename="../src/providers/ogr/qgscplerrorhandler.h" line="27"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2434"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3001"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3018"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3052"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3081"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3150"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3156"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3174"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2436"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3003"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3020"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3054"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3083"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3152"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3158"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3176"/>
         <source>OGR</source>
         <translation>OGR</translation>
     </message>
@@ -25768,18 +25887,18 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="691"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2446"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2448"/>
         <source>Arc/Info ASCII Coverage</source>
         <translation>Arc/Info ASCII Coverage</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="756"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2451"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2453"/>
         <source>Atlas BNA</source>
         <translation>Atlas BNA</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2456"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2458"/>
         <source>Comma Separated Value</source>
         <translation>Komma-separierte Werte [CSV]</translation>
     </message>
@@ -25790,8 +25909,8 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="919"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2490"/>
         <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2492"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2494"/>
         <source>FMEObjects Gateway</source>
         <translation>FMEObjects Gateway</translation>
     </message>
@@ -25874,7 +25993,7 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="946"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2498"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2500"/>
         <source>GeoJSON</source>
         <translation>GeoJSON</translation>
     </message>
@@ -25929,7 +26048,7 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1041"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2503"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2505"/>
         <source>GeoRSS</source>
         <translation>GeoRSS</translation>
     </message>
@@ -25979,7 +26098,7 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1131"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2508"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2510"/>
         <source>Geography Markup Language [GML]</source>
         <translation>Geography Markup Language [GML]</translation>
     </message>
@@ -26010,7 +26129,7 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1188"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2517"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2519"/>
         <source>Generic Mapping Tools [GMT]</source>
         <translation>Generic Mapping Tools [GMT]</translation>
     </message>
@@ -26046,19 +26165,19 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1251"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2522"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2524"/>
         <source>GPS eXchange Format [GPX]</source>
         <translation>GPS-Austauschformat [GPX]</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1267"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2540"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2542"/>
         <source>INTERLIS 1</source>
         <translation>INTERLIS 1</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1282"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2545"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2547"/>
         <source>INTERLIS 2</source>
         <translation>INTERLIS 2</translation>
     </message>
@@ -26078,7 +26197,7 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1325"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2557"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2559"/>
         <source>Keyhole Markup Language [KML]</source>
         <translation>Keyhole Markup Language [KML]</translation>
     </message>
@@ -26144,7 +26263,7 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1445"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2570"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2572"/>
         <source>Microstation DGN</source>
         <translation>Microstation DGN</translation>
     </message>
@@ -26183,13 +26302,13 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1517"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2605"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2607"/>
         <source>S-57 Base file</source>
         <translation>S-57 Base-Datei</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1532"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2611"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2613"/>
         <source>Spatial Data Transfer Standard [SDTS]</source>
         <translation>Spatial Data Transfer Standard [SDTS]</translation>
     </message>
@@ -26393,7 +26512,7 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1713"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2657"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2659"/>
         <source>AutoCAD DXF</source>
         <translation>AutoCAD DXF</translation>
     </message>
@@ -26408,7 +26527,7 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1752"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2652"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2654"/>
         <source>Geoconcept</source>
         <translation>Geoconcept</translation>
     </message>
@@ -26429,7 +26548,7 @@ Nur %1 von %2 Objekten geschrieben.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1783"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2469"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2471"/>
         <source>ESRI FileGDB</source>
         <translation>ESRI-FileGDB</translation>
     </message>
@@ -26764,7 +26883,7 @@ Nur %1 von %2 Objekten geschrieben.</translation>
         <location filename="../src/plugins/coordinate_capture/coordinatecapture.cpp" line="50"/>
         <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="53"/>
         <location filename="../src/plugins/topology/topol.cpp" line="35"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5822"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5829"/>
         <source>Vector</source>
         <translation>Vektor</translation>
     </message>
@@ -26835,57 +26954,57 @@ Nur %1 von %2 Objekten geschrieben.</translation>
         <translation>Überschreibe existierendes GeoPackage</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="56"/>
+        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="55"/>
         <source>Layers within new package</source>
         <translation>Layer in neuem Paket</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="61"/>
+        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="60"/>
         <source>This algorithm collects a number of existing layers and packages them together into a single GeoPackage database.</source>
         <translation>Diese Algorithums sammelt einige der vorhandenen Layer und läd sie zusammen in eine einzelne GeoPackage-Datenbank.</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="74"/>
+        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="73"/>
         <source>No output file specified.</source>
         <translation>Keine Ausgabedatei angegeben</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="79"/>
+        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="78"/>
         <source>Removing existing file '%1'</source>
         <translation>Lösche vorhandene Datei '%1'</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="82"/>
+        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="81"/>
         <source>Could not remove existing file '%1'</source>
         <translation>Konnte vorhandene Datei '%1' nicht löschen</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="89"/>
+        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="88"/>
         <source>GeoPackage driver not found.</source>
         <translation>GeoPackage-Treiber nicht gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="94"/>
+        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="93"/>
         <source>Creation of database failed (OGR error: %1)</source>
         <translation>Erzeugung der Datenbank gescheitert (OGR-Fehler: %1)</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="136"/>
+        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="135"/>
         <source>Raster layers are not currently supported.</source>
         <translation>Rasterlayer sind derzeit nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="143"/>
+        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="142"/>
         <source>Packaging plugin layers is not supported.</source>
         <translation>Erweiterungslayer zu paketieren ist derzeit nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="150"/>
+        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="149"/>
         <source>Error obtained while packaging one or more layers.</source>
         <translation>Fehler beim Paketieren ein oder mehrerer Layer aufgetreten.</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="171"/>
+        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="170"/>
         <source>Packaging layer failed: %1</source>
         <translation>Layerpaketieren schlug fehl: %1</translation>
     </message>
@@ -26929,7 +27048,7 @@ Nur %1 von %2 Objekten geschrieben.</translation>
         <location filename="../src/core/raster/qgsrasterlayerrenderer.cpp" line="114"/>
         <location filename="../src/core/raster/qgsrasterlayerrenderer.cpp" line="125"/>
         <location filename="../src/plugins/georeferencer/qgsgeorefplugin.cpp" line="64"/>
-        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3311"/>
+        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3318"/>
         <source>Raster</source>
         <translation>Raster</translation>
     </message>
@@ -27220,58 +27339,58 @@ Nur %1 von %2 Objekten geschrieben.</translation>
         <translation>Kann Bild nicht aufteilen und entzerren: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="2301"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2816"/>
+        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="2308"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2818"/>
         <source>GDAL/OGR VSIFileHandler</source>
         <translation>GDAL/OGR-VSI-Dateihandler</translation>
     </message>
     <message>
-        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="2349"/>
+        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="2356"/>
         <source>This raster file has no bands and is invalid as a raster layer.</source>
         <translation>Diese Rasterdatei hat keine Kanäle und ist als Rasterlayer ungültig.</translation>
     </message>
     <message>
-        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="2733"/>
+        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="2740"/>
         <source>Cannot get GDAL raster band: %1</source>
         <translation>Konnte GDAL-Rasterkanal nicht bestimmen: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3283"/>
+        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3290"/>
         <source>Nearest Neighbour</source>
         <translation>Nächster Nachbar</translation>
     </message>
     <message>
-        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3284"/>
+        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3291"/>
         <source>Average</source>
         <translation>Mittel</translation>
     </message>
     <message>
-        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3285"/>
+        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3292"/>
         <source>Gauss</source>
         <translation>Gauß</translation>
     </message>
     <message>
-        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3286"/>
+        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3293"/>
         <source>Cubic</source>
         <translation>Kubisch</translation>
     </message>
     <message>
-        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3287"/>
+        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3294"/>
         <source>Cubic Spline</source>
         <translation>Kubisches Spline</translation>
     </message>
     <message>
-        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3288"/>
+        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3295"/>
         <source>Lanczos</source>
         <translation>Lanczos</translation>
     </message>
     <message>
-        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3289"/>
+        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3296"/>
         <source>Mode</source>
         <translation>Modus</translation>
     </message>
     <message>
-        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3290"/>
+        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="3297"/>
         <source>None</source>
         <translation>Keine</translation>
     </message>
@@ -27416,14 +27535,14 @@ stderr: %4</translation>
         <location filename="../src/providers/db2/qgsdb2provider.cpp" line="1441"/>
         <location filename="../src/providers/mssql/qgsmssqlprovider.cpp" line="1912"/>
         <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2921"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3987"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3986"/>
         <source>Unsupported type for field %1</source>
         <translation>Nicht unterstützter Typ für Feld %1</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlprovider.cpp" line="1926"/>
         <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2940"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4007"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4005"/>
         <source>Creation of fields failed</source>
         <translation>Erzeugung der Felder gescheitert</translation>
     </message>
@@ -27438,33 +27557,33 @@ stderr: %4</translation>
         <translation>Konnte die Datenquelle nicht erzeugen. %1 bereits vorhanden und Überschreiben ist aus.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2434"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2436"/>
         <source>Unable to get driver %1</source>
         <translation>Konnte Treiber %1 nicht laden</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2442"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2444"/>
         <source>Arc/Info Binary Coverage</source>
         <translation>Arc/Info-Binär-Coverage</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2459"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2461"/>
         <source>DODS</source>
         <translation>DODS</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2463"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2465"/>
         <source>CouchDB</source>
         <translation>CouchDB</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2595"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2597"/>
         <source>OpenFileGDB</source>
         <translation>OpenFileGDB</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2475"/>
         <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2477"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2479"/>
         <source>ESRI Personal GeoDatabase</source>
         <translation>ESRI-Personal-GeoDatabase</translation>
     </message>
@@ -27474,336 +27593,335 @@ stderr: %4</translation>
         <translation>Layer %2 von %1 vorhanden und die Überschreibungsoption ist aus.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2483"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2485"/>
         <source>ESRI ArcSDE</source>
         <translation>ESRI-ArcSDE</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2487"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2489"/>
         <source>ESRI Shapefiles</source>
         <translation>ESRI-Shapedateien</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="55"/>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1172"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2527"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5838"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5843"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2529"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5845"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5850"/>
         <source>GeoPackage</source>
         <translation>GeoPackage</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2532"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2534"/>
         <source>Grass Vector</source>
         <translation>GRASS-Vektor</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2536"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2538"/>
         <source>Informix DataBlade</source>
         <translation>Informix-DataBlade</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2550"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2552"/>
         <source>Ingres</source>
         <translation>Ingres</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2562"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2564"/>
         <source>Mapinfo File</source>
         <translation>Mapinfo-Datei</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2575"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2577"/>
         <source>MySQL</source>
         <translation>MySQL</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlprovider.cpp" line="2330"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2579"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2581"/>
         <source>MSSQL</source>
         <translation>MSSQL</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2583"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2585"/>
         <source>Oracle Spatial</source>
         <translation>Oracle Spatial</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2587"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2589"/>
         <source>ODBC</source>
         <translation>ODBC</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2591"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2593"/>
         <source>OGDI Vectors</source>
         <translation>OGDI-Vektoren</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2601"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4916"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2603"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4914"/>
         <source>PostgreSQL</source>
         <translation>PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2617"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2619"/>
         <source>Systematic Organization of Spatial Information [SOSI]</source>
         <translation>Systematic Organization of Spatial Information [SOSI]</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2622"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2624"/>
         <source>SQLite/SpatiaLite</source>
         <translation>SQLite/SpatiaLite</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2627"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2629"/>
         <source>Storage and eXchange Format</source>
         <translation>Storage and eXchange Format</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2632"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2634"/>
         <source>UK. NTF2</source>
         <translation>UK. NTF2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2636"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2638"/>
         <source>U.S. Census TIGER/Line</source>
         <translation>U.S. Census TIGER/Line</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2640"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2642"/>
         <source>VRT - Virtual Datasource</source>
         <translation>VRT - Virtuelle Datenquellen</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2646"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2648"/>
         <source>X-Plane/Flightgear</source>
         <translation>X-Plane/Flightgear</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1863"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2662"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2664"/>
         <source>Open Document Spreadsheet</source>
         <translation>Open-Dokument-Tabelle</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1823"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2667"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2669"/>
         <source>MS Office Open XML spreadsheet</source>
         <translation>MS-Office-Open-XML-Tabelle</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2672"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2674"/>
         <source>MS Excel format</source>
         <translation>MS-Excel-Format</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2677"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2679"/>
         <source>EDIGEO</source>
         <translation>EDIGEO</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2682"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2684"/>
         <source>NAS - ALKIS</source>
         <translation>NAS - ALKIS</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2687"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2689"/>
         <source>WAsP</source>
         <translation>WAsP</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2692"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2694"/>
         <source>PCI Geomatics Database File</source>
         <translation>PCI Geomatics-Datenbankdatei</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2697"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2699"/>
         <source>GPSTrackMaker</source>
         <translation>GPSTrackMaker</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2702"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2704"/>
         <source>Czech Cadastral Exchange Data Format</source>
         <translation>Tschechische Katasteraustauschdatenformat</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2707"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2709"/>
         <source>OpenStreetMap</source>
         <translation>OpenStreetMap</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2712"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2714"/>
         <source>Special Use Airspace Format</source>
         <translation>Special Use Airspace-Format</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2717"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2719"/>
         <source>OpenAir Special Use Airspace Format</source>
         <translation>OpenAir Special Use Airspace-Format</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2722"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2724"/>
         <source>Planetary Data Systems TABLE</source>
         <translation>Planetary Data Systems TABLE</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2727"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2729"/>
         <source>Hydrographic Transfer Format</source>
         <translation>Hydrographisches Transfer-Format</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2732"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2734"/>
         <source>Scalable Vector Graphics</source>
         <translation>Skalierbare Vektorgrafik</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2737"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2739"/>
         <source>Arc/Info Generate</source>
         <translation>Arc/Info Generate</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2742"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2744"/>
         <source>Geospatial PDF</source>
         <translation>Geospatial-PDF</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2747"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2749"/>
         <source>SEG-Y</source>
         <translation>SEG-Y</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2752"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2754"/>
         <source>SEG-P1</source>
         <translation>SEG-P1</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2753"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2755"/>
         <source>UKOOA P1/90</source>
         <translation>UKOOA P1/90</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5439"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5446"/>
         <source>Error updating style</source>
         <translation>Fehler bei Stilaktualisierung</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5470"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5477"/>
         <source>Cannot find layer_styles layer</source>
         <translation>Kann Layer layer_styles nicht finden</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5688"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5695"/>
         <source>Invalid style identifier</source>
         <translation>Ungültige Stilkennung</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5695"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5702"/>
         <source>No style corresponding to style identifier</source>
         <translation>Kein zur Kennung passenden Stil gefunden</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5774"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5781"/>
         <source>Not enough data to deserialize</source>
         <translation>Nicht genug Daten zum Entpacken</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5777"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5784"/>
         <source>Not enough memory</source>
         <translation>Speicher erschöpft</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5780"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5787"/>
         <source>Unsupported geometry type</source>
         <translation>Geometrietyp nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5783"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5790"/>
         <source>Unsupported operation</source>
         <translation>Nicht unterstützte Operation</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5786"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5793"/>
         <source>Corrupt data</source>
         <translation>Fehlerhafte Daten</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5789"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5796"/>
         <source>Failure</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5792"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5799"/>
         <source>Unsupported SRS</source>
         <translation>KBS nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5795"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5802"/>
         <source>Invalid handle</source>
         <translation>Ungültiges Handle</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5798"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5805"/>
         <source>Non existing feature</source>
         <translation>Nicht existierendes Objekt</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5802"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5809"/>
         <source>Success</source>
         <translation>Erfolg</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5805"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5812"/>
         <source>GDAL result code: %1</source>
         <translation>GDAL-Ergebniscode: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5810"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5817"/>
         <source>Layer not found: %1</source>
         <translation>Layer nicht gefunden: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5843"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5850"/>
         <source>GeoPackage Database (*.gpkg)</source>
         <translation>GeoPackage-Datenbank (*.gpkg)</translation>
     </message>
     <message>
-        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="2306"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2822"/>
+        <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="2313"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2824"/>
         <source>All files</source>
         <translation>Alle Dateien</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3001"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3003"/>
         <source>Duplicate field (10 significant characters): %1</source>
         <translation>Doppeltes Feld (10 signifikante Zeichen): %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3018"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3020"/>
         <source>Creating the data source %1 failed: %2</source>
         <translation>Erzeugung der Datenquelle %1 gescheitert: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3052"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3054"/>
         <source>Unknown vector type of %1</source>
         <translation>Unbekannter Vektortyp %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3081"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3083"/>
         <source>Creation of OGR data source %1 failed: %2</source>
         <translation>Erzeugung der OGR-Datenquelle %1 gescheitert: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3150"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3152"/>
         <source>field %1 with unsupported type %2 skipped</source>
         <translation>Feld %1 wegen nicht unterstütztem Typ %2 übersprungen</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3156"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3158"/>
         <source>creation of field %1 failed</source>
         <translation>Erzeugung des Feld %1 gescheitert</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3174"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3176"/>
         <source>Couldn't create file %1.qpj</source>
         <translation>Konnte Datei %1.qpj nicht erzeugen</translation>
     </message>
@@ -27836,10 +27954,10 @@ Fehler: %2</translation>
         <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="2618"/>
         <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3106"/>
         <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="3738"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4474"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4540"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4571"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4721"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4471"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4537"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4568"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4718"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="158"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5442"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5564"/>
@@ -28009,22 +28127,22 @@ Datenbankfehler: %2</translation>
         <translation>Unendliches Filterrechteck angegeben</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4489"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4517"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4486"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4514"/>
         <source>Unable to delete layer %1: 
 %2</source>
         <translation>Konnte Ebene %1 nicht löschen: 
 %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4551"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4548"/>
         <source>Unable to delete schema %1: 
 %2</source>
         <translation>Konnte Schema %1 nicht löschen: 
 %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4594"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4591"/>
         <source>Unable to save layer style. It's not possible to create the destination table on the database. Maybe this is due to table permissions (user=%1). Please contact your database admin</source>
         <translation>Kann den Layerstil nicht speichern. Es ist nicht möglich die Zieltabelle in der Datenbank anzulegen.  Dies kann mit den Tabellenberechtigungen (Benutzer=%1) zusammenhängen. Wenden Sie sich bitte an den Datenbankadministrator</translation>
     </message>
@@ -28035,18 +28153,18 @@ Datenbankfehler: %2</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlprovider.cpp" line="2105"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5380"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5387"/>
         <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3316"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4653"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4650"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5671"/>
         <source>Save style in database</source>
         <translation>Stil in Datenbank speichern</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlprovider.cpp" line="2106"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5381"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5388"/>
         <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3317"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4654"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4651"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5672"/>
         <source>A style named "%1" already exists in the database for this layer. Do you want to overwrite it?</source>
         <translation>Ein Stil "%1" für diesen Layer ist bereits in der Datenbank vorhanden. Soll er überschrieben werden?</translation>
@@ -28054,7 +28172,7 @@ Datenbankfehler: %2</translation>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlprovider.cpp" line="2110"/>
         <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="3321"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4658"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4655"/>
         <source>Operation aborted. No changes were made in the database</source>
         <translation>Vorgang abgebrochen. Es wurden keine Datenbankänderungen vorgenommen</translation>
     </message>
@@ -28069,22 +28187,22 @@ Datenbankfehler: %2</translation>
         <translation>Keine Stile in der Datenbank oder es konnte keine Verbindung dazu aufgenommen werden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4706"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4703"/>
         <source>Unable to save layer style. It's not possible to insert a new record into the style table. Maybe this is due to table permissions (user=%1). Please contact your database administrator.</source>
         <translation>Kann den Layerstil nicht speichern. Es ist nicht möglich Datensätze in die Stiltabelle einzufügen.  Dies kann mit den Tabellenberechtigungen (Benutzer=%1) zusammenhängen. Wenden Sie sich bitte an den Datenbankadministrator.</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4764"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4839"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4872"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4762"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4837"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4870"/>
         <source>Connection to database failed using username: %1</source>
         <translation>Verbindung zur Datenbank mit Benutzername %1 fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4787"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4813"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4852"/>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4888"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4785"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4811"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4850"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4886"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5581"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5663"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5719"/>
@@ -28095,29 +28213,29 @@ Datenbankfehler: %2</translation>
         <translation>Fehler bei Abfrageausführung: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4788"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4786"/>
         <source>Error executing the select query for related styles. The query was logged</source>
         <translation>Fehler beim Abfragen von zusammenhängenden Stilen.  Die Abfragen wurde protokolliert</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4814"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4812"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5870"/>
         <source>Error executing the select query for unrelated styles. The query was logged</source>
         <translation>Fehler beim Abfragen von unzusammenhängenden Stilen.  Die Abfragen wurde protokolliert</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4853"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4851"/>
         <source>Error executing the delete query. The query was logged</source>
         <translation>Fehler bei Ausführung der Löschabfrage. Die Abfrage wurde protokolliert</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4889"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4887"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5920"/>
         <source>Error executing the select query. The query was logged</source>
         <translation>Fehler bei Abfrage.  Die Abfrage wurde protokolliert</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4884"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4882"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5915"/>
         <source>Consistency error in table '%1'. Style id should be unique</source>
         <translation>Konsistenzfehler in Tabelle '%1'. Stilkennung sollte eindeutig sein</translation>
@@ -28191,7 +28309,7 @@ SQL: %1</translation>
         <translation type="vanished">Konnte Tabelle %1 nicht löschen:</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5440"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5447"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5582"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5664"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5720"/>
@@ -28200,32 +28318,32 @@ SQL: %1</translation>
         <translation>Fehler bei der Stilsuche. Die Abfrage wurde protokolliert</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5266"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5329"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5273"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5336"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5617"/>
         <source>Unable to save layer style. It's not possible to create the destination table on the database.</source>
         <translation>Konnte Layerstil nicht speichern. Es war nicht möglich die Zieltabelle in der Datenbank anzulegen.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4259"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4311"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4330"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4379"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4781"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4807"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4836"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4266"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4318"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4337"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4386"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4788"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4814"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4843"/>
         <source>Cannot find layer %1.</source>
         <translation>Kann Layer %1 nicht finden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4321"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4797"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4827"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4328"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4804"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4834"/>
         <source>Cannot open %1.</source>
         <translation>Kann %1 nicht öffnen.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5385"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5392"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5677"/>
         <source>Operation aborted</source>
         <translation>Operation abgebrochen</translation>
@@ -28236,10 +28354,10 @@ SQL: %1</translation>
         <translation>Fehler beim Laden des Stils. Die Abfrage wurde protokolliert</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5581"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5582"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5595"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5596"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5588"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5589"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5602"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="5603"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5824"/>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="5825"/>
         <source>No styles available on DB</source>
@@ -28956,7 +29074,7 @@ Antwort war:
     </message>
     <message>
         <location filename="../src/analysis/processing/qgsalgorithmextractbyattribute.cpp" line="63"/>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="177"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="175"/>
         <location filename="../src/gui/qgshistogramwidget.cpp" line="46"/>
         <location filename="../src/gui/qgslistwidget.cpp" line="85"/>
         <source>Value</source>
@@ -29609,20 +29727,43 @@ Soll das Schema inkl. dieser Objekte wirklich gelöscht werden?</translation>
     </message>
     <message>
         <location filename="../src/core/auth/qgsauthcertutils.cpp" line="1153"/>
-        <source>Unable To Get Issuer Certificate</source>
+        <source>Unable to Get Issuer Certificate</source>
         <translation>Kann Ausstellerzertifikat nicht holen</translation>
     </message>
     <message>
         <location filename="../src/core/auth/qgsauthcertutils.cpp" line="1155"/>
-        <source>Unable To Decrypt Certificate Signature</source>
-        <translation>Kann Zertifikatssignatur nicht entschlüsseln</translation>
+        <source>Unable to Decrypt Certificate Signature</source>
+        <translation>
+Kann Zertifikatssignatur nicht entschlüsseln</translation>
     </message>
     <message>
         <location filename="../src/core/auth/qgsauthcertutils.cpp" line="1157"/>
-        <source>Unable To Decode Issuer Public Key</source>
+        <source>Unable to Decode Issuer Public Key</source>
         <translation>Kann öffentlichen Ausstellerschlüssel nicht dekodieren</translation>
     </message>
     <message>
+        <location filename="../src/core/auth/qgsauthcertutils.cpp" line="1173"/>
+        <source>Unable to Get Local Issuer Certificate</source>
+        <translation>Kann lokales Ausstellerzertifikat nicht holen</translation>
+    </message>
+    <message>
+        <location filename="../src/core/auth/qgsauthcertutils.cpp" line="1175"/>
+        <source>Unable to Verify First Certificate</source>
+        <translation>Kann erstes Zertifikat nicht überprüfen</translation>
+    </message>
+    <message>
+        <source>Unable To Get Issuer Certificate</source>
+        <translation type="vanished">Kann Ausstellerzertifikat nicht holen</translation>
+    </message>
+    <message>
+        <source>Unable To Decrypt Certificate Signature</source>
+        <translation type="vanished">Kann Zertifikatssignatur nicht entschlüsseln</translation>
+    </message>
+    <message>
+        <source>Unable To Decode Issuer Public Key</source>
+        <translation type="vanished">Kann öffentlichen Ausstellerschlüssel nicht dekodieren</translation>
+    </message>
+    <message>
         <location filename="../src/core/auth/qgsauthcertutils.cpp" line="1159"/>
         <source>Certificate Signature Failed</source>
         <translation>Zertifikatssignierung gescheitert</translation>
@@ -29658,14 +29799,12 @@ Soll das Schema inkl. dieser Objekte wirklich gelöscht werden?</translation>
         <translation>Selbstsigniertes Zertifikat in Kette</translation>
     </message>
     <message>
-        <location filename="../src/core/auth/qgsauthcertutils.cpp" line="1173"/>
         <source>Unable To Get Local Issuer Certificate</source>
-        <translation>Kann lokales Ausstellerzertifikat nicht holen</translation>
+        <translation type="vanished">Kann lokales Ausstellerzertifikat nicht holen</translation>
     </message>
     <message>
-        <location filename="../src/core/auth/qgsauthcertutils.cpp" line="1175"/>
         <source>Unable To Verify First Certificate</source>
-        <translation>Kann erstes Zertifikat nicht überprüfen</translation>
+        <translation type="vanished">Kann erstes Zertifikat nicht überprüfen</translation>
     </message>
     <message>
         <location filename="../src/core/auth/qgsauthcertutils.cpp" line="1177"/>
@@ -30146,7 +30285,7 @@ Nur verfügbar wenn der Layer klassifiziert dargestellt wird.</translation>
         <location filename="../src/core/qgsgml.cpp" line="132"/>
         <location filename="../src/core/qgsgml.cpp" line="179"/>
         <location filename="../src/core/qgsgml.cpp" line="436"/>
-        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1741"/>
+        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1748"/>
         <source>WFS</source>
         <translation>WFS</translation>
     </message>
@@ -30815,8 +30954,8 @@ Das Parameter Eckgrenze gilt nur für Eckstile und steuert den maximalen Abstand
         <location filename="../src/core/processing/qgsprocessingalgorithm.cpp" line="386"/>
         <location filename="../src/core/processing/qgsprocessingalgorithm.cpp" line="412"/>
         <location filename="../src/core/processing/qgsprocessingalgorithm.cpp" line="497"/>
-        <location filename="../src/core/processing/qgsprocessingalgrunnertask.cpp" line="57"/>
-        <location filename="../src/core/processing/qgsprocessingprovider.cpp" line="84"/>
+        <location filename="../src/core/processing/qgsprocessingalgrunnertask.cpp" line="61"/>
+        <location filename="../src/core/processing/qgsprocessingprovider.cpp" line="87"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
@@ -31022,8 +31161,8 @@ Zusammengehörende räumlich getrennte Geometrien werden zu Multigeometrien zusa
         <location filename="../src/analysis/processing/qgsalgorithmextenttolayer.cpp" line="29"/>
         <location filename="../src/analysis/processing/qgsalgorithmextenttolayer.cpp" line="30"/>
         <location filename="../src/analysis/processing/qgsalgorithmextractbyextent.cpp" line="49"/>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="58"/>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="170"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="56"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="168"/>
         <source>Extent</source>
         <translation>Ausmaße</translation>
     </message>
@@ -31254,7 +31393,7 @@ Wahlweise können die Geometrien auch auf die Grenzen abgeschnitten werden. Wenn
     <message>
         <location filename="../src/analysis/processing/qgsalgorithmfiledownloader.cpp" line="67"/>
         <location filename="../src/core/processing/qgsprocessingparameters.cpp" line="3328"/>
-        <location filename="../src/core/processing/qgsprocessingparameters.cpp" line="3394"/>
+        <location filename="../src/core/processing/qgsprocessingparameters.cpp" line="3401"/>
         <source>All files (*.*)</source>
         <translation>Alle Dateien (*.*)</translation>
     </message>
@@ -31563,7 +31702,7 @@ Optional kann das Ziel-KBS für den Ausgabelayer gesetzt werden. Wenn es nicht a
     </message>
     <message>
         <location filename="../src/analysis/processing/qgsalgorithmmergevector.cpp" line="95"/>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="116"/>
+        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="115"/>
         <source>Error retrieving map layer.</source>
         <translation>Konnte Kartenlayer nicht laden.</translation>
     </message>
@@ -31609,7 +31748,7 @@ Optional kann das Ziel-KBS für den Ausgabelayer gesetzt werden. Wenn es nicht a
     </message>
     <message>
         <location filename="../src/analysis/processing/qgsalgorithmmergevector.cpp" line="196"/>
-        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="111"/>
+        <location filename="../src/analysis/processing/qgsalgorithmpackage.cpp" line="110"/>
         <source>Packaging layer %1/%2: %3</source>
         <translation>Layer %1/%2 wird paketiert: %3</translation>
     </message>
@@ -31766,7 +31905,6 @@ Optional kann das Ziel-KBS für den Ausgabelayer gesetzt werden. Wenn es nicht a
     </message>
     <message>
         <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="54"/>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="56"/>
         <source>Unique values report</source>
         <translation>Bericht eindeutiger Werte</translation>
     </message>
@@ -31776,91 +31914,91 @@ Optional kann das Ziel-KBS für den Ausgabelayer gesetzt werden. Wenn es nicht a
         <translation>HTML-Dateien (*.html)</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="59"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="57"/>
         <source>CRS authority identifier</source>
         <translation>CRS-Autoritätskennung</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="60"/>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="172"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="58"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="170"/>
         <source>Width in pixels</source>
         <translation>Breite in Pixeln</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="61"/>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="173"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="59"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="171"/>
         <source>Height in pixels</source>
         <translation>Höhe in Pixeln</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="62"/>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="174"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="60"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="172"/>
         <source>Total pixel count</source>
         <translation>Gesamtpixelzahl</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="63"/>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="176"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="61"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="174"/>
         <source>NODATA pixel count</source>
         <translation>Leerpixelanzahl</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="68"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="66"/>
         <source>This algorithm returns the count and area of each unique value in a given raster layer.</source>
         <translation>Dieser Algorithmus liefert die Anzahl und Fläche jedes eindeutigen Werts in einem gegebenen Rasterlayer.</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="169"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="167"/>
         <source>Analyzed file</source>
         <translation>Analysierte Datei</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="169"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="167"/>
         <source>band</source>
         <translation>Kanal</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="170"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="168"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="172"/>
         <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="174"/>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="176"/>
         <source><p>%1: %2</p>
 </source>
         <translation><p>%1: %2</p>
 </translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="171"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="169"/>
         <source><p>%1: %2 (%3)</p>
 </source>
         <translation><p>%1: %2 (%3)</p>
 </translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="171"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="169"/>
         <source>Projection</source>
         <translation>Projektion</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="172"/>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="173"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="170"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="171"/>
         <source><p>%1: %2 (%3 %4)</p>
 </source>
         <translation><p>%1: %2 (%3 %4)</p>
 </translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="172"/>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="173"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="170"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="171"/>
         <source>units per pixel</source>
         <translation>Einheiten je Pixel</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="177"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="175"/>
         <source>Pixel count</source>
         <translation>Pixelanzahl</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="177"/>
+        <location filename="../src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp" line="175"/>
         <source>Area</source>
         <translation>Fläche</translation>
     </message>
@@ -33186,12 +33324,12 @@ Fehler: %2</translation>
         <translation>Liste von durch '|' getrennten Layernamen</translation>
     </message>
     <message>
-        <location filename="../src/core/layout/qgscompositionconverter.cpp" line="905"/>
+        <location filename="../src/core/layout/qgscompositionconverter.cpp" line="928"/>
         <source>Grid %1</source>
         <translation>Gitter %1</translation>
     </message>
     <message>
-        <location filename="../src/core/layout/qgscompositionconverter.cpp" line="1368"/>
+        <location filename="../src/core/layout/qgscompositionconverter.cpp" line="1391"/>
         <source>No matching records</source>
         <translation>Keine passenden Datensätze</translation>
     </message>
@@ -33788,64 +33926,64 @@ Fehler: %2</translation>
         <translation>Vorgabewert: %1</translation>
     </message>
     <message>
-        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="384"/>
+        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="385"/>
         <source>Could not create memory layer</source>
         <translation>Konnte Speicherlayer nicht erzeugen</translation>
     </message>
     <message>
-        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="415"/>
-        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="426"/>
+        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="416"/>
+        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="427"/>
         <source>Could not create layer %1: %2</source>
         <translation>Konnte Layer %1 nicht erzeugen: %2</translation>
     </message>
     <message>
-        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="554"/>
+        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="555"/>
         <source><html><body><h2>Algorithm description</h2>
 </source>
         <translation><html><body><h2>Algorithmenbeschreibung</h2>
 </translation>
     </message>
     <message>
-        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="556"/>
+        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="557"/>
         <source><h2>Input parameters</h2>
 </source>
         <translation><h2>Eingabeparameter</h2>
 </translation>
     </message>
     <message>
-        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="563"/>
+        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="564"/>
         <source><h2>Outputs</h2>
 </source>
         <translation><h2>Ausgaben</h2>
 </translation>
     </message>
     <message>
-        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="570"/>
+        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="571"/>
         <source><p align="right">Algorithm author: %1</p></source>
         <translation><p align="right">Algorithmsautor: %1</p></translation>
     </message>
     <message>
-        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="571"/>
+        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="572"/>
         <source><p align="right">Help author: %1</p></source>
         <translation><p align="right">Hilfeautor: %1</p></translation>
     </message>
     <message>
-        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="572"/>
+        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="573"/>
         <source><p align="right">Algorithm version: %1</p></source>
         <translation><p align="right">Algorithmusversion: %1</p></translation>
     </message>
     <message>
-        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="775"/>
+        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="776"/>
         <source>Feature could not be written to %1</source>
         <translation>Objekt konnte nicht in %1 geschrieben werden</translation>
     </message>
     <message>
-        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="783"/>
+        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="784"/>
         <source>%1 feature(s) could not be written to %2</source>
         <translation>%1 Objekt(e) konnten nicht in %2 geschrieben werden</translation>
     </message>
     <message>
-        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="791"/>
+        <location filename="../src/core/processing/qgsprocessingutils.cpp" line="792"/>
         <source>Features could not be written to %2</source>
         <translation>Objekte konnte nicht in %2 geschrieben werden</translation>
     </message>
@@ -35743,12 +35881,12 @@ Optional kann eine separate Tabelle ausgegeben werden, die die Abbildung der Kla
         <translation>Kann referenzierten Layer nicht finden</translation>
     </message>
     <message>
-        <location filename="../src/core/qgsmapsettings.cpp" line="417"/>
-        <location filename="../src/core/qgsmapsettings.cpp" line="441"/>
-        <location filename="../src/core/qgsmapsettings.cpp" line="460"/>
-        <location filename="../src/core/qgsmapsettings.cpp" line="477"/>
-        <location filename="../src/core/qgsmapsettings.cpp" line="494"/>
-        <location filename="../src/core/qgsmapsettings.cpp" line="511"/>
+        <location filename="../src/core/qgsmapsettings.cpp" line="425"/>
+        <location filename="../src/core/qgsmapsettings.cpp" line="449"/>
+        <location filename="../src/core/qgsmapsettings.cpp" line="468"/>
+        <location filename="../src/core/qgsmapsettings.cpp" line="485"/>
+        <location filename="../src/core/qgsmapsettings.cpp" line="502"/>
+        <location filename="../src/core/qgsmapsettings.cpp" line="519"/>
         <source>Transform error caught: %1</source>
         <translation>Transformationsfehler abgefangen: %1</translation>
     </message>
@@ -36028,59 +36166,59 @@ Optional kann eine separate Tabelle ausgegeben werden, die die Abbildung der Kla
         <translation>Attributtabelle öffnen (sichtbare Objekte)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2036"/>
+        <location filename="../src/app/qgisapp.cpp" line="2039"/>
         <source>Minimize</source>
         <translation>Minimieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2037"/>
+        <location filename="../src/app/qgisapp.cpp" line="2040"/>
         <source>Ctrl+M</source>
         <comment>Minimize Window</comment>
         <translation>Strg+M</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2038"/>
+        <location filename="../src/app/qgisapp.cpp" line="2041"/>
         <source>Minimizes the active window to the dock</source>
         <translation>Minimiert das aktive Fenster ins Dock</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2041"/>
+        <location filename="../src/app/qgisapp.cpp" line="2044"/>
         <source>Zoom</source>
         <translation>Zoom</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2042"/>
+        <location filename="../src/app/qgisapp.cpp" line="2045"/>
         <source>Toggles between a predefined size and the window size set by the user</source>
         <translation>Schaltet zwischen voreingestellter und vom Benutzer bestimmten Fenstergröße um</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2045"/>
+        <location filename="../src/app/qgisapp.cpp" line="2048"/>
         <source>Bring All to Front</source>
         <translation>Alle in den Vordergrund bringen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2046"/>
+        <location filename="../src/app/qgisapp.cpp" line="2049"/>
         <source>Bring forward all open windows</source>
         <translation>Alle geöffneten Fenster vorholen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2054"/>
+        <location filename="../src/app/qgisapp.cpp" line="2057"/>
         <source>Current Edits</source>
         <translation>Aktuelle Änderungen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2137"/>
-        <location filename="../src/app/qgisapp.cpp" line="8661"/>
-        <location filename="../src/app/qgisapp.cpp" line="8741"/>
-        <location filename="../src/app/qgisapp.cpp" line="10291"/>
-        <location filename="../src/app/qgisapp.cpp" line="10297"/>
-        <location filename="../src/app/qgisapp.cpp" line="12013"/>
+        <location filename="../src/app/qgisapp.cpp" line="2140"/>
+        <location filename="../src/app/qgisapp.cpp" line="8663"/>
+        <location filename="../src/app/qgisapp.cpp" line="8743"/>
+        <location filename="../src/app/qgisapp.cpp" line="10295"/>
+        <location filename="../src/app/qgisapp.cpp" line="10301"/>
+        <location filename="../src/app/qgisapp.cpp" line="12017"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2131"/>
-        <location filename="../src/app/qgisapp.cpp" line="2137"/>
+        <location filename="../src/app/qgisapp.cpp" line="2134"/>
+        <location filename="../src/app/qgisapp.cpp" line="2140"/>
         <source>Failed to open Python console:</source>
         <translation>Konnte Python-Konsole nicht öffnen:</translation>
     </message>
@@ -36102,29 +36240,29 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         <translation>QGIS - %1 ('%2')</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2260"/>
-        <location filename="../src/app/qgisapp.cpp" line="13109"/>
+        <location filename="../src/app/qgisapp.cpp" line="2263"/>
+        <location filename="../src/app/qgisapp.cpp" line="13113"/>
         <source>Panels</source>
         <translation>Bedienfelder</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2262"/>
-        <location filename="../src/app/qgisapp.cpp" line="13128"/>
+        <location filename="../src/app/qgisapp.cpp" line="2265"/>
+        <location filename="../src/app/qgisapp.cpp" line="13132"/>
         <source>Toolbars</source>
         <translation>Werkzeugkästen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2309"/>
+        <location filename="../src/app/qgisapp.cpp" line="2312"/>
         <source>Window</source>
         <translation>Fenster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2324"/>
+        <location filename="../src/app/qgisapp.cpp" line="2327"/>
         <source>&Database</source>
         <translation>Da&tenbank</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2328"/>
+        <location filename="../src/app/qgisapp.cpp" line="2331"/>
         <source>&Web</source>
         <translation>&Web</translation>
     </message>
@@ -36133,17 +36271,17 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         <translation type="vanished">Fortschrittsanzeige für das Zeichnen von Layern und andere zeitintensive Operationen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2868"/>
+        <location filename="../src/app/qgisapp.cpp" line="2871"/>
         <source>Render</source>
         <translation>Zeichnen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2872"/>
+        <location filename="../src/app/qgisapp.cpp" line="2875"/>
         <source>When checked, the map layers are rendered in response to map navigation commands and other events. When not checked, no rendering is done. This allows you to add a large number of layers and symbolize them before rendering.</source>
         <translation>Wenn angewählt, werden die Kartenlayer abhängig von der Bedienung der Navigationsinstrumente, gezeichnet. Anderenfalls werden die Layer nicht gezeichnet. Dies erlaubt es, eine große Layeranzahl hinzuzufügen und das Aussehen der Layer vor dem Zeichnen zu setzen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2876"/>
+        <location filename="../src/app/qgisapp.cpp" line="2879"/>
         <source>Toggle map rendering</source>
         <translation>Zeichnen der Karte einschalten</translation>
     </message>
@@ -36152,17 +36290,17 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         <translation type="vanished">Diese Icon zeigt an, ob Spontantransformation des Koordinatenbezugssystem aktiv ist. Anklicken, um dies in den Projektionseigenschaften zu ändern.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2893"/>
+        <location filename="../src/app/qgisapp.cpp" line="2896"/>
         <source>CRS status - Click to open coordinate reference system dialog</source>
         <translation>KBS-Status - Klicken um den Dialog zum Koordinatenbezugssystem zu öffnen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2898"/>
+        <location filename="../src/app/qgisapp.cpp" line="2901"/>
         <source>Ready</source>
         <translation>Fertig</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3382"/>
+        <location filename="../src/app/qgisapp.cpp" line="3385"/>
         <source>Map overview canvas. This canvas can be used to display a locator map that shows the current extent of the map canvas. The current extent is shown as a red rectangle. Any layer on the map can be added to the overview canvas.</source>
         <translation>Übersichtsfenster. Dieses Fenster kann benutzt werden um die momentane Ausdehnung des Kartenfensters darzustellen. Der momentane Ausschnitt ist als rotes Rechteck dargestellt. Jeder Layer in der Karte kann zum Übersichtsfenster hinzugefügt werden.</translation>
     </message>
@@ -36171,7 +36309,7 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         <translation type="vanished">Legende, die alle im Kartenfenster angezeigten Layer enthält. Bitte auf die Kontrollkästchen klicken, um einen Layer an- oder auszuschalten. Mit einem Doppelklick in der Legende kann die Erscheinung und sonstige Eigenschaften eines Layers festgelegt werden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3718"/>
+        <location filename="../src/app/qgisapp.cpp" line="3721"/>
         <source>Map layer list that displays all layers in drawing order.</source>
         <translation>Layerliste, die alle Layer in Zeichenreihenfolge anzeigt.</translation>
     </message>
@@ -36187,7 +36325,7 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="906"/>
-        <location filename="../src/app/qgisapp.cpp" line="3673"/>
+        <location filename="../src/app/qgisapp.cpp" line="3676"/>
         <source>Layer Styling</source>
         <translation>Layergestaltung</translation>
     </message>
@@ -36216,129 +36354,133 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         <translation type="vanished">Voreinstellungen…</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2339"/>
+        <location filename="../src/app/qgisapp.cpp" line="2342"/>
         <source>&User Profiles</source>
         <translation>&Benutzerprofile</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2368"/>
         <source>Open active profile folder</source>
-        <translation>Aktuelles Profilverzeichnis öffnen</translation>
+        <translation type="vanished">Aktuelles Profilverzeichnis öffnen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2374"/>
         <source>New profile</source>
-        <translation>Neue Profil</translation>
+        <translation type="vanished">Neue Profil</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2857"/>
+        <location filename="../src/app/qgisapp.cpp" line="2860"/>
         <source> °</source>
         <translation> °</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2889"/>
+        <location filename="../src/app/qgisapp.cpp" line="2892"/>
         <source>This icon shows whether on the fly coordinate reference system transformation is enabled or not. Click the icon to bring up the project properties dialog to alter this behavior.</source>
         <translation>Diese Icon zeigt an, ob Spontantransformation des Koordinatenbezugssystem aktiv ist. Anklicken, um dies in den Projektionseigenschaften zu ändern.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2912"/>
+        <location filename="../src/app/qgisapp.cpp" line="2915"/>
         <source>Ctrl+K</source>
         <translation>Strg+K</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2915"/>
+        <location filename="../src/app/qgisapp.cpp" line="2918"/>
         <source>Trigger Locator</source>
         <translation>Suche auslösen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3175"/>
+        <location filename="../src/app/qgisapp.cpp" line="3178"/>
         <source>Transforms are not installed: %1 </source>
         <translation>Transformationen nicht installiert: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3176"/>
+        <location filename="../src/app/qgisapp.cpp" line="3179"/>
         <source>Missing datum transforms</source>
         <translation>Fehlende Datumtransformationen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3389"/>
+        <location filename="../src/app/qgisapp.cpp" line="3392"/>
         <source>Overview</source>
         <translation>Übersicht</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3485"/>
-        <location filename="../src/app/qgisapp.cpp" line="10360"/>
+        <location filename="../src/app/qgisapp.cpp" line="3488"/>
+        <location filename="../src/app/qgisapp.cpp" line="10364"/>
         <source>A map canvas with name '%1' already exists!</source>
         <translation>Eine Kartenansicht namens '%1' ist bereits vorhanden!</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3620"/>
+        <location filename="../src/app/qgisapp.cpp" line="3623"/>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the checkbox to turn a layer on or off. Double-click on a layer in the legend to customize its appearance and set other properties.</source>
         <translation>Legende, die alle im Kartenfenster angezeigten Layer enthält. Bitte auf die Kontrollkästchen klicken, um einen Layer an- oder auszuschalten. Mit einem Doppelklick in der Legende kann die Erscheinung und sonstige Eigenschaften eines Layers festgelegt werden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3622"/>
+        <location filename="../src/app/qgisapp.cpp" line="3625"/>
         <source>Layers</source>
         <translation>Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3657"/>
+        <location filename="../src/app/qgisapp.cpp" line="3660"/>
         <source>Manage Map Themes</source>
         <translation>Kartenthemen verwalten</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3675"/>
+        <location filename="../src/app/qgisapp.cpp" line="3666"/>
+        <location filename="../src/app/qgisapp.cpp" line="3668"/>
+        <source>Filter Legend by Map Content</source>
+        <translation>Legende nach Karteninhalt filtern</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="3678"/>
         <source>Open the layer styling dock</source>
         <translation>Kartengestaltungsdock öffen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3719"/>
+        <location filename="../src/app/qgisapp.cpp" line="3722"/>
         <source>Layer Order</source>
         <translation>Layerreihenfolge</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4018"/>
-        <location filename="../src/app/qgisapp.cpp" line="5274"/>
+        <location filename="../src/app/qgisapp.cpp" line="4021"/>
+        <location filename="../src/app/qgisapp.cpp" line="5277"/>
         <source>< Blank ></source>
         <translation>< Leer ></translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4063"/>
+        <location filename="../src/app/qgisapp.cpp" line="4066"/>
         <source>http://qgis.org/en/site/about/sponsorship.html</source>
         <translation>http://qgis.org/de/site/about/sponsorship.html</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4077"/>
+        <location filename="../src/app/qgisapp.cpp" line="4080"/>
         <source>QGIS version</source>
         <translation>QGIS-Version</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4087"/>
+        <location filename="../src/app/qgisapp.cpp" line="4090"/>
         <source>QGIS code revision</source>
         <translation>QGIS-Codeversion</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4092"/>
+        <location filename="../src/app/qgisapp.cpp" line="4095"/>
         <source>Compiled against Qt</source>
         <translation>Kompiliert gegen Qt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4093"/>
+        <location filename="../src/app/qgisapp.cpp" line="4096"/>
         <source>Running against Qt</source>
         <translation>Laufendes Qt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4097"/>
+        <location filename="../src/app/qgisapp.cpp" line="4100"/>
         <source>Compiled against GDAL/OGR</source>
         <translation>Kompiliert mit GDAL/OGR</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4098"/>
+        <location filename="../src/app/qgisapp.cpp" line="4101"/>
         <source>Running against GDAL/OGR</source>
         <translation>Läuft mit GDAL/OGR</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4107"/>
+        <location filename="../src/app/qgisapp.cpp" line="4110"/>
         <source>PostgreSQL Client Version</source>
         <translation>PostgreSQL-Client-Version</translation>
     </message>
@@ -36347,27 +36489,27 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         <translation type="vanished">Keine Unterstützung.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4115"/>
+        <location filename="../src/app/qgisapp.cpp" line="4118"/>
         <source>SpatiaLite Version</source>
         <translation>SpatiaLite-Version</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4121"/>
+        <location filename="../src/app/qgisapp.cpp" line="4124"/>
         <source>QWT Version</source>
         <translation>QWT-Version</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4131"/>
+        <location filename="../src/app/qgisapp.cpp" line="4134"/>
         <source>PROJ.4 Version</source>
         <translation>PROJ.4-Version</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4122"/>
+        <location filename="../src/app/qgisapp.cpp" line="4125"/>
         <source>QScintilla2 Version</source>
         <translation>QScintilla2-Version</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4135"/>
+        <location filename="../src/app/qgisapp.cpp" line="4138"/>
         <source>This copy of QGIS writes debugging output.</source>
         <translation>Diese QGIS-Kopie schreibt Debugausgaben.</translation>
     </message>
@@ -36376,19 +36518,19 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         <translation type="vanished">%1 hat keine Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4290"/>
-        <location filename="../src/app/qgisapp.cpp" line="4297"/>
-        <location filename="../src/app/qgisapp.cpp" line="4726"/>
+        <location filename="../src/app/qgisapp.cpp" line="4293"/>
+        <location filename="../src/app/qgisapp.cpp" line="4300"/>
+        <location filename="../src/app/qgisapp.cpp" line="4729"/>
         <source>Invalid Data Source</source>
         <translation>Ungültige Datenquelle</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4725"/>
+        <location filename="../src/app/qgisapp.cpp" line="4728"/>
         <source>%1 is not a valid or recognized data source</source>
         <translation>%1 ist keine gültige Datenquelle oder wird nicht erkannt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4402"/>
+        <location filename="../src/app/qgisapp.cpp" line="4405"/>
         <source>Vector</source>
         <translation>Vektor</translation>
     </message>
@@ -36397,29 +36539,29 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         <translation type="vanished">PostgreSQL</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4761"/>
+        <location filename="../src/app/qgisapp.cpp" line="4764"/>
         <source>Cannot get PostgreSQL select dialog from provider.</source>
         <translation>Kann PostgreSQL-Auswahldialog des Datenanbieters nicht bestimmen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4819"/>
+        <location filename="../src/app/qgisapp.cpp" line="4822"/>
         <source>%1 is an invalid layer - not loaded</source>
         <translation>%1 ist ein ungültiger Layer - nicht geladen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4820"/>
+        <location filename="../src/app/qgisapp.cpp" line="4823"/>
         <source>%1 is an invalid layer and cannot be loaded. Please check the <a href="#messageLog">message log</a> for further info.</source>
         <translation>%1 ist ein ungültiger Layer und kann nicht geladen werden. Bitte untersuchen Sie das <a href="#messageLog">Protokoll</a> auf weitere Informationen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5419"/>
-        <location filename="../src/app/qgisapp.cpp" line="5604"/>
-        <location filename="../src/app/qgisapp.cpp" line="5690"/>
+        <location filename="../src/app/qgisapp.cpp" line="5422"/>
+        <location filename="../src/app/qgisapp.cpp" line="5607"/>
+        <location filename="../src/app/qgisapp.cpp" line="5693"/>
         <source>QGIS files</source>
         <translation>QGIS-Dateien</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6674"/>
+        <location filename="../src/app/qgisapp.cpp" line="6680"/>
         <source>Diagram Properties</source>
         <translation>Diagrammeigenschaften</translation>
     </message>
@@ -36432,27 +36574,27 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         <translation type="vanished">Beim Zusammenführen trat ein Fehler auf</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8283"/>
+        <location filename="../src/app/qgisapp.cpp" line="8285"/>
         <source>New temporary scratch layer name</source>
         <translation>Name des neuen Temporärlayer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8375"/>
+        <location filename="../src/app/qgisapp.cpp" line="8377"/>
         <source>Cannot create new layer.</source>
         <translation>Kann  neuen Layer nicht erzeugen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8441"/>
+        <location filename="../src/app/qgisapp.cpp" line="8443"/>
         <source>Cannot copy style</source>
         <translation>Kann Stil nicht kopieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8472"/>
+        <location filename="../src/app/qgisapp.cpp" line="8474"/>
         <source>Cannot parse style</source>
         <translation>Kann Stil nicht interpretieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8487"/>
+        <location filename="../src/app/qgisapp.cpp" line="8489"/>
         <source>Cannot paste style</source>
         <translation>Kann Stil nicht einfügen</translation>
     </message>
@@ -36461,22 +36603,22 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         <translation type="vanished">Filter auf verknüpften Feldern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9115"/>
+        <location filename="../src/app/qgisapp.cpp" line="9117"/>
         <source>No legend entries selected</source>
         <translation>Keine Einträge der Legende gewählt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9116"/>
+        <location filename="../src/app/qgisapp.cpp" line="9118"/>
         <source>Select the layers and groups you want to remove in the legend.</source>
         <translation>Zu löschende Layer oder Gruppen in der Legende wählen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9133"/>
+        <location filename="../src/app/qgisapp.cpp" line="9135"/>
         <source>Remove layers and groups</source>
         <translation>Layer und Gruppen löschen</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/app/qgisapp.cpp" line="9133"/>
+        <location filename="../src/app/qgisapp.cpp" line="9135"/>
         <source>Remove %n legend entries?</source>
         <comment>number of legend items to remove</comment>
         <translation>
@@ -36485,7 +36627,7 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/app/qgisapp.cpp" line="9145"/>
+        <location filename="../src/app/qgisapp.cpp" line="9147"/>
         <source>%n legend entries removed.</source>
         <comment>number of removed legend entries</comment>
         <translation>
@@ -36494,44 +36636,44 @@ Bitte nehmen Sie Kontakt zu den Entwicklern auf.</translation>
         </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9223"/>
+        <location filename="../src/app/qgisapp.cpp" line="9225"/>
         <source>%1 (%2 type unsupported)</source>
         <translation>%1 (Typ %2 nicht unterstützt)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9257"/>
+        <location filename="../src/app/qgisapp.cpp" line="9261"/>
         <source>Cannot copy style to duplicated layer.</source>
         <translation>Kann Stil nicht in kopierten Layer anwenden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9915"/>
+        <location filename="../src/app/qgisapp.cpp" line="9919"/>
         <source>https://qgis.org/en/site/getinvolved/development/bugreporting.html</source>
         <translation>https://qgis.org/de/site/getinvolved/development/bugreporting.html</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10119"/>
+        <location filename="../src/app/qgisapp.cpp" line="10123"/>
         <source>The layer %1 is not a valid layer and can not be added to the map. Reason: %2</source>
         <translation>Der Layer %1 ist kein gültiger Layer und kann nicht zur Karte hinzugefügt.  Grund: %2</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10229"/>
+        <location filename="../src/app/qgisapp.cpp" line="10233"/>
         <source>Map %1</source>
         <translation>Karte %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10291"/>
+        <location filename="../src/app/qgisapp.cpp" line="10295"/>
         <source>Project extent is not valid.</source>
         <translation>Projektausdehnung ist ungültig.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10297"/>
+        <location filename="../src/app/qgisapp.cpp" line="10301"/>
         <source>3D view currently does not support unprojected coordinate reference systems (CRS).
 Please switch project's CRS to a projected CRS.</source>
         <translation>3D-Ansichten erlauben derzeit keine unprojizierten Koordinatenbezugssysteme (KBS).
 Bitte das Projekt KBS auf eine projiziertes umstellen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10308"/>
+        <location filename="../src/app/qgisapp.cpp" line="10312"/>
         <source>3D Map %1</source>
         <translation>3D-Karte %1</translation>
     </message>
@@ -36540,14 +36682,14 @@ Bitte das Projekt KBS auf eine projiziertes umstellen.</translation>
         <translation type="vanished">Projekt speichern?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10439"/>
+        <location filename="../src/app/qgisapp.cpp" line="10443"/>
         <source>Do you want to save the current project? %1</source>
         <translation>Wollen Sie das aktuelle Projekt speichern? %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4983"/>
-        <location filename="../src/app/qgisapp.cpp" line="9105"/>
-        <location filename="../src/app/qgisapp.cpp" line="10475"/>
+        <location filename="../src/app/qgisapp.cpp" line="4986"/>
+        <location filename="../src/app/qgisapp.cpp" line="9107"/>
+        <location filename="../src/app/qgisapp.cpp" line="10479"/>
         <source>Active Tasks</source>
         <translation>Aktive Tasks</translation>
     </message>
@@ -36587,62 +36729,72 @@ Bitte das Projekt KBS auf eine projiziertes umstellen.</translation>
         <translation>QGIS startet…</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2301"/>
+        <location filename="../src/app/qgisapp.cpp" line="2304"/>
         <source>Preferences…</source>
         <translation>Voreinstellungen…</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4128"/>
+        <location filename="../src/app/qgisapp.cpp" line="2371"/>
+        <source>Open Active Profile Folder</source>
+        <translation>Aktuelles Profilverzeichnis öffnen</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="2377"/>
+        <source>New Profile…</source>
+        <translation>Neues Profil…</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="4131"/>
         <source>Compiled against PROJ</source>
         <translation>Kompiliert mit PROJ</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4129"/>
+        <location filename="../src/app/qgisapp.cpp" line="4132"/>
         <source>Running against PROJ</source>
         <translation>Läuft mit PROJ</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4761"/>
+        <location filename="../src/app/qgisapp.cpp" line="4764"/>
         <source>Add PostgreSQL Layer</source>
         <translation>PostgreSQL-Layer hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4854"/>
+        <location filename="../src/app/qgisapp.cpp" line="4857"/>
         <source>Add SpatiaLite Layer</source>
         <translation>SpatiaLite-Layer hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4869"/>
+        <location filename="../src/app/qgisapp.cpp" line="4872"/>
         <source>Add Delimited Text Layer</source>
         <translation>Textdatei als Layer importieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4884"/>
+        <location filename="../src/app/qgisapp.cpp" line="4887"/>
         <source>Add Virtual Layer</source>
         <translation>Virtuellen Layer hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4925"/>
+        <location filename="../src/app/qgisapp.cpp" line="4928"/>
         <source>Add MSSQL Layer</source>
         <translation>MSSQL-Layer hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4941"/>
+        <location filename="../src/app/qgisapp.cpp" line="4944"/>
         <source>Add DB2 Layer</source>
         <translation>DB2-Layer hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4957"/>
+        <location filename="../src/app/qgisapp.cpp" line="4960"/>
         <source>Add Oracle Layer</source>
         <translation>Oracle-Layer hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6873"/>
+        <location filename="../src/app/qgisapp.cpp" line="6879"/>
         <source>Save Raster</source>
         <translation>Raster speichern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6874"/>
+        <location filename="../src/app/qgisapp.cpp" line="6880"/>
         <source>Cannot write raster. Error code: %1</source>
         <translation>Konnte Raster nicht schreiben. Fehlercode: %1</translation>
     </message>
@@ -36651,22 +36803,22 @@ Bitte das Projekt KBS auf eine projiziertes umstellen.</translation>
         <translation type="vanished">Objekte löschen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7237"/>
+        <location filename="../src/app/qgisapp.cpp" line="7243"/>
         <source>Merging features…</source>
         <translation>Objekte werden zusammengeführt…</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7312"/>
+        <location filename="../src/app/qgisapp.cpp" line="7318"/>
         <source>Create %1 Title</source>
         <translation>Erzeuge %1-Titel</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8630"/>
+        <location filename="../src/app/qgisapp.cpp" line="8632"/>
         <source>Stop Editing</source>
         <translation>Bearbeitung beenden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10476"/>
+        <location filename="../src/app/qgisapp.cpp" line="10480"/>
         <source>The following tasks are currently running which depend on layers in this project:
 
 %1
@@ -36679,47 +36831,47 @@ Please cancel these tasks and retry.</source>
 Bitte abbrechen und nocheinmal versuchen. </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11096"/>
+        <location filename="../src/app/qgisapp.cpp" line="11100"/>
         <source>Current CRS: %1</source>
         <translation>Aktuelles KBS: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11102"/>
+        <location filename="../src/app/qgisapp.cpp" line="11106"/>
         <source>No projection</source>
         <translation>Keine Projektion</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11644"/>
+        <location filename="../src/app/qgisapp.cpp" line="11648"/>
         <source>Add Point Feature</source>
         <translation>Punktobjekt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11674"/>
+        <location filename="../src/app/qgisapp.cpp" line="11678"/>
         <source>Add Line Feature</source>
         <translation>Linienobjekt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11691"/>
+        <location filename="../src/app/qgisapp.cpp" line="11695"/>
         <source>Add Polygon Feature</source>
         <translation>Polygonobjekt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11707"/>
+        <location filename="../src/app/qgisapp.cpp" line="11711"/>
         <source>Add Record</source>
         <translation>Datensatz hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11873"/>
+        <location filename="../src/app/qgisapp.cpp" line="11877"/>
         <source>Map Views</source>
         <translation>Kartenansichten</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11876"/>
+        <location filename="../src/app/qgisapp.cpp" line="11880"/>
         <source>A view with this name already exists</source>
         <translation>Eine Ansicht mit diesem Namen ist bereits vorhanden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11993"/>
+        <location filename="../src/app/qgisapp.cpp" line="11997"/>
         <source>Invalid Layer</source>
         <translation>Ungültiger Layer</translation>
     </message>
@@ -36728,7 +36880,7 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">SpatiaLite</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4854"/>
+        <location filename="../src/app/qgisapp.cpp" line="4857"/>
         <source>Cannot get SpatiaLite select dialog from provider.</source>
         <translation>Kann SpatiaLite-Auswahldialog nicht vom Datenanbieter holen.</translation>
     </message>
@@ -36737,7 +36889,7 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Getrennte Texte</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4869"/>
+        <location filename="../src/app/qgisapp.cpp" line="4872"/>
         <source>Cannot get Delimited Text select dialog from provider.</source>
         <translation>Konnte Auswahldialog für getrennte Texte nicht vom Datenanbieter holen.</translation>
     </message>
@@ -36746,7 +36898,7 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">MSSQL</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4925"/>
+        <location filename="../src/app/qgisapp.cpp" line="4928"/>
         <source>Cannot get MSSQL select dialog from provider.</source>
         <translation>Konnte den MSSQL-Auswahldialog nicht vom Datenanbieter holen.</translation>
     </message>
@@ -36755,7 +36907,7 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Oracle</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4957"/>
+        <location filename="../src/app/qgisapp.cpp" line="4960"/>
         <source>Cannot get Oracle select dialog from provider.</source>
         <translation>Konnte den Oracle-Auswahldialog nicht vom Datenanbieter holen.</translation>
     </message>
@@ -36784,47 +36936,47 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Konnte WFS-Auswahldialog nicht vom Datenanbieter holen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5138"/>
+        <location filename="../src/app/qgisapp.cpp" line="5141"/>
         <source>Default failed to open: %1</source>
         <translation>Öffnen der Vorgabe fehlgeschlagen: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5142"/>
+        <location filename="../src/app/qgisapp.cpp" line="5145"/>
         <source>Default not found: %1</source>
         <translation>Vorgabe nicht gefunden: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5144"/>
+        <location filename="../src/app/qgisapp.cpp" line="5147"/>
         <source>Open Template Project</source>
         <translation>Vorlageprojekt öffnen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5169"/>
+        <location filename="../src/app/qgisapp.cpp" line="5172"/>
         <source>Auto-open Project</source>
         <translation>Automatisch zu öffnendes Projekt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5208"/>
+        <location filename="../src/app/qgisapp.cpp" line="5211"/>
         <source>Failed to open: %1</source>
         <translation>Öffnen gescheitert: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5231"/>
+        <location filename="../src/app/qgisapp.cpp" line="5234"/>
         <source>Not valid project file: %1</source>
         <translation>Ungültige Projektdatei: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5244"/>
+        <location filename="../src/app/qgisapp.cpp" line="5247"/>
         <source>Project failed to open: %1</source>
         <translation>Projektöffnen fehlgeschlagen: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5251"/>
+        <location filename="../src/app/qgisapp.cpp" line="5254"/>
         <source>Default template has been reopened: %1</source>
         <translation>Vorgabevorlage wurde wiedergeöffnet: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5258"/>
+        <location filename="../src/app/qgisapp.cpp" line="5261"/>
         <source>File not found: %1</source>
         <translation>Datei nicht gefunden: %1</translation>
     </message>
@@ -36841,49 +36993,49 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">QGIS-Projektdatei zum Öffnen wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5456"/>
+        <location filename="../src/app/qgisapp.cpp" line="5459"/>
         <source>Loading project: %1</source>
         <translation>Lade Projekt: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5483"/>
+        <location filename="../src/app/qgisapp.cpp" line="5486"/>
         <source>Unable to open project</source>
         <translation>Kann das Projekt nicht öffnen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5551"/>
+        <location filename="../src/app/qgisapp.cpp" line="5554"/>
         <source>Security warning</source>
         <translation>Sicherheitswarnung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5552"/>
+        <location filename="../src/app/qgisapp.cpp" line="5555"/>
         <source>project macros have been disabled.</source>
         <translation>Projektmakros wurden abgeschaltet.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5545"/>
+        <location filename="../src/app/qgisapp.cpp" line="5548"/>
         <source>Enable macros</source>
         <translation>Makros aktivieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5586"/>
+        <location filename="../src/app/qgisapp.cpp" line="5589"/>
         <source>Project loaded</source>
         <translation>Projekt geladen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5609"/>
+        <location filename="../src/app/qgisapp.cpp" line="5612"/>
         <source>Choose a QGIS project file</source>
         <translation>Eine QGIS-Projektdatei wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5660"/>
-        <location filename="../src/app/qgisapp.cpp" line="5720"/>
+        <location filename="../src/app/qgisapp.cpp" line="5663"/>
+        <location filename="../src/app/qgisapp.cpp" line="5723"/>
         <source>Saved project to: %1</source>
         <translation>Projekt in %1 gespeichert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5670"/>
-        <location filename="../src/app/qgisapp.cpp" line="5728"/>
+        <location filename="../src/app/qgisapp.cpp" line="5673"/>
+        <location filename="../src/app/qgisapp.cpp" line="5731"/>
         <source>Unable to save project %1</source>
         <translation>Konnte Projekt %1 nicht speichern</translation>
     </message>
@@ -36892,7 +37044,7 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Name für zu speichernden QGIS-Projektdatei wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5950"/>
+        <location filename="../src/app/qgisapp.cpp" line="5953"/>
         <source>Unable to load %1</source>
         <translation>%1 kann nicht geladen werden</translation>
     </message>
@@ -36905,22 +37057,22 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Kartenabbild als %1 gespeichert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6549"/>
+        <location filename="../src/app/qgisapp.cpp" line="6555"/>
         <source>Default system font substituted.</source>
         <translation>Durch voreingestellten Systemfont ersetzt.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6568"/>
+        <location filename="../src/app/qgisapp.cpp" line="6574"/>
         <source>Labeling</source>
         <translation>Beschriftung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6569"/>
+        <location filename="../src/app/qgisapp.cpp" line="6575"/>
         <source>Font for layer <b><u>%1</u></b> was not found (<i>%2</i>). %3</source>
         <translation>Schriftart <i>%2</i> für Layer <b><u>%1</u></b> nicht gefunden. %3</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6560"/>
+        <location filename="../src/app/qgisapp.cpp" line="6566"/>
         <source>Open labeling dialog</source>
         <translation>Beschriftungseinstelllungen öffnen</translation>
     </message>
@@ -36965,7 +37117,7 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Protokoll-Fenster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2843"/>
+        <location filename="../src/app/qgisapp.cpp" line="2846"/>
         <source>Rotation</source>
         <translation>Drehung</translation>
     </message>
@@ -36978,8 +37130,8 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Layerfenster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3649"/>
-        <location filename="../src/app/qgisapp.cpp" line="3651"/>
+        <location filename="../src/app/qgisapp.cpp" line="3652"/>
+        <location filename="../src/app/qgisapp.cpp" line="3654"/>
         <source>Add Group</source>
         <translation>Gruppe hinzufügen</translation>
     </message>
@@ -36988,25 +37140,23 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Layersichtbarkeit verwalten</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3663"/>
-        <location filename="../src/app/qgisapp.cpp" line="3665"/>
         <source>Filter Legend By Map Content</source>
-        <translation>Legende nach Karteninhalt filtern</translation>
+        <translation type="vanished">Legende nach Karteninhalt filtern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3670"/>
+        <location filename="../src/app/qgisapp.cpp" line="3673"/>
         <source>Filter legend by expression</source>
         <translation>Legende nach Ausdruck filtern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3681"/>
-        <location filename="../src/app/qgisapp.cpp" line="3683"/>
+        <location filename="../src/app/qgisapp.cpp" line="3684"/>
+        <location filename="../src/app/qgisapp.cpp" line="3686"/>
         <source>Expand All</source>
         <translation>Alle ausklappen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="3685"/>
-        <location filename="../src/app/qgisapp.cpp" line="3687"/>
+        <location filename="../src/app/qgisapp.cpp" line="3688"/>
+        <location filename="../src/app/qgisapp.cpp" line="3690"/>
         <source>Collapse All</source>
         <translation>Alle einklappen</translation>
     </message>
@@ -37015,37 +37165,37 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Layerreihenfolgefenster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4082"/>
+        <location filename="../src/app/qgisapp.cpp" line="4085"/>
         <source>QGIS code branch</source>
         <translation>QGIS-Codezweig</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4102"/>
+        <location filename="../src/app/qgisapp.cpp" line="4105"/>
         <source>Compiled against GEOS</source>
         <translation>Kompiliert mit GEOS</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4103"/>
+        <location filename="../src/app/qgisapp.cpp" line="4106"/>
         <source>Running against GEOS</source>
         <translation>Läuft mit GEOS</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4111"/>
+        <location filename="../src/app/qgisapp.cpp" line="4114"/>
         <source>No support</source>
         <translation>Keine Unterstützung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4289"/>
+        <location filename="../src/app/qgisapp.cpp" line="4292"/>
         <source>%1 doesn't have any layers.</source>
         <translation>%1 hat keine Layer.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4296"/>
+        <location filename="../src/app/qgisapp.cpp" line="4299"/>
         <source>%1 is not a valid or recognized data source.</source>
         <translation>%1 ist keine gültige Datenquelle oder wird nicht erkannt.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4398"/>
+        <location filename="../src/app/qgisapp.cpp" line="4401"/>
         <source>Raster</source>
         <translation>Raster</translation>
     </message>
@@ -37054,7 +37204,7 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Virtueller Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4884"/>
+        <location filename="../src/app/qgisapp.cpp" line="4887"/>
         <source>Cannot get virtual layer select dialog from provider.</source>
         <translation>Kann Auswahldialog für virtuelle Layer nicht vom  Datenanbieter holen.</translation>
     </message>
@@ -37063,7 +37213,7 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">DB2</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4941"/>
+        <location filename="../src/app/qgisapp.cpp" line="4944"/>
         <source>Cannot get DB2 select dialog from provider.</source>
         <translation>Konnte den DB2-Auswahldialog nicht vom Datenanbieter holen.</translation>
     </message>
@@ -37084,56 +37234,56 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Konnte ArcGIS-Map-Server-Auswahldialog nicht vom Anbieter holen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5303"/>
+        <location filename="../src/app/qgisapp.cpp" line="5306"/>
         <source>Layer creation failed. Please check the <a href="#messageLog">message log</a> for further information.</source>
         <translation>Layererzeugung fehlgeschlagen. Bitte untersuchen Sie das <a href="#messageLog">Protokoll</a> auf weitere Informationen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5347"/>
+        <location filename="../src/app/qgisapp.cpp" line="5350"/>
         <source>Calculating…</source>
         <translation>Berechne…</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5361"/>
-        <location filename="../src/app/qgisapp.cpp" line="5367"/>
-        <location filename="../src/app/qgisapp.cpp" line="5373"/>
-        <location filename="../src/app/qgisapp.cpp" line="5382"/>
-        <location filename="../src/app/qgisapp.cpp" line="5388"/>
+        <location filename="../src/app/qgisapp.cpp" line="5364"/>
+        <location filename="../src/app/qgisapp.cpp" line="5370"/>
+        <location filename="../src/app/qgisapp.cpp" line="5376"/>
+        <location filename="../src/app/qgisapp.cpp" line="5385"/>
+        <location filename="../src/app/qgisapp.cpp" line="5391"/>
         <source>Raster calculator</source>
         <translation>Rasterrechner</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5362"/>
+        <location filename="../src/app/qgisapp.cpp" line="5365"/>
         <source>Calculation complete.</source>
         <translation>Berechnung beendet.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5368"/>
+        <location filename="../src/app/qgisapp.cpp" line="5371"/>
         <source>Could not create destination file.</source>
         <translation>Kann die Zieldatei nicht erzeugen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5374"/>
+        <location filename="../src/app/qgisapp.cpp" line="5377"/>
         <source>Could not read input layer.</source>
         <translation>Konnte Eingabelayer nicht lesen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5383"/>
+        <location filename="../src/app/qgisapp.cpp" line="5386"/>
         <source>Could not parse raster formula.</source>
         <translation>Rasterformel konnte nicht interpretiert werden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5389"/>
+        <location filename="../src/app/qgisapp.cpp" line="5392"/>
         <source>Insufficient memory available for operation.</source>
         <translation>Nicht genug Speicher für Operation verfügbar.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5417"/>
+        <location filename="../src/app/qgisapp.cpp" line="5420"/>
         <source>Choose a QGIS Project File to Open</source>
         <translation>QGIS-Projektdatei zum Öffnen wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5471"/>
+        <location filename="../src/app/qgisapp.cpp" line="5474"/>
         <source>Do you want to open the backup file
 %1
 instead?</source>
@@ -37142,18 +37292,18 @@ instead?</source>
 geöffnet werden?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5605"/>
-        <location filename="../src/app/qgisapp.cpp" line="5691"/>
+        <location filename="../src/app/qgisapp.cpp" line="5608"/>
+        <location filename="../src/app/qgisapp.cpp" line="5694"/>
         <source>QGZ files</source>
         <translation>QGZ-Dateien</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5638"/>
+        <location filename="../src/app/qgisapp.cpp" line="5641"/>
         <source>Open a Project</source>
         <translation>Ein Projekt öffnen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5639"/>
+        <location filename="../src/app/qgisapp.cpp" line="5642"/>
         <source>The loaded project file on disk was meanwhile changed. Do you want to overwrite the changes?
 
 Last modification date on load was: %1
@@ -37164,92 +37314,92 @@ Letztes Änderungsdatum beim Laden war: %1
 Aktuelles letztes Änderungsdatum ist: %2</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5650"/>
+        <location filename="../src/app/qgisapp.cpp" line="5653"/>
         <source>Insufficient permissions</source>
         <translation>Ungenügende Zugriffsrechte</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5651"/>
+        <location filename="../src/app/qgisapp.cpp" line="5654"/>
         <source>The project file is not writable.</source>
         <translation>Die Projektdatei ist schreibgeschützt.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5694"/>
+        <location filename="../src/app/qgisapp.cpp" line="5697"/>
         <source>Choose a File Name to Save the QGIS Project File as</source>
         <translation>Name für zu speichernden QGIS-Projektdatei wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5774"/>
+        <location filename="../src/app/qgisapp.cpp" line="5777"/>
         <source>DXF export completed</source>
         <translation>DXF-Export abgeschlossen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5778"/>
+        <location filename="../src/app/qgisapp.cpp" line="5781"/>
         <source>DXF export failed</source>
         <translation>DXF-Export fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5808"/>
-        <location filename="../src/app/qgisapp.cpp" line="5821"/>
-        <location filename="../src/app/qgisapp.cpp" line="5836"/>
+        <location filename="../src/app/qgisapp.cpp" line="5811"/>
+        <location filename="../src/app/qgisapp.cpp" line="5824"/>
+        <location filename="../src/app/qgisapp.cpp" line="5839"/>
         <source>Load template</source>
         <translation>Vorlage laden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5808"/>
+        <location filename="../src/app/qgisapp.cpp" line="5811"/>
         <source>Could not read template file</source>
         <translation>Kann die Vorlagendatei nicht lesen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5821"/>
+        <location filename="../src/app/qgisapp.cpp" line="5824"/>
         <source>Could not create print layout</source>
         <translation>Konnte Drucklayout nicht erzeugen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5836"/>
+        <location filename="../src/app/qgisapp.cpp" line="5839"/>
         <source>Could not load template file</source>
         <translation>Konnte die Vorlagendatei nicht laden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6413"/>
+        <location filename="../src/app/qgisapp.cpp" line="6416"/>
         <source>No action selected</source>
         <translation>Keine Aktion gewählt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6428"/>
-        <location filename="../src/app/qgisapp.cpp" line="6444"/>
+        <location filename="../src/app/qgisapp.cpp" line="6431"/>
+        <location filename="../src/app/qgisapp.cpp" line="6447"/>
         <source>Run feature action<br><b>%1</b></source>
         <translation>Objektaktion ausführen<br><b>%1</b></translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6580"/>
+        <location filename="../src/app/qgisapp.cpp" line="6586"/>
         <source>Commit Errors</source>
         <translation>Fehler beim Festschreiben</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6601"/>
+        <location filename="../src/app/qgisapp.cpp" line="6607"/>
         <source>Commit errors</source>
         <translation>Fehler beim Festschreiben</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6581"/>
-        <location filename="../src/app/qgisapp.cpp" line="6602"/>
+        <location filename="../src/app/qgisapp.cpp" line="6587"/>
+        <location filename="../src/app/qgisapp.cpp" line="6608"/>
         <source>Could not commit changes to layer %1</source>
         <translation>Konnte Änderungen am Layer %1 nicht festschreiben</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6583"/>
+        <location filename="../src/app/qgisapp.cpp" line="6589"/>
         <source>Errors: %1
 </source>
         <translation>Fehler: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6590"/>
+        <location filename="../src/app/qgisapp.cpp" line="6596"/>
         <source>Show more</source>
         <translation>Mehr zeigen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6675"/>
+        <location filename="../src/app/qgisapp.cpp" line="6681"/>
         <source>Please select a vector layer first</source>
         <translation>Bitte wählen zur zuvor einen Layer</translation>
     </message>
@@ -37282,67 +37432,67 @@ Aktuelles letztes Änderungsdatum ist: %2</translation>
         <translation type="vanished">Fehler beim Speichern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7079"/>
+        <location filename="../src/app/qgisapp.cpp" line="7085"/>
         <source>Export to vector file failed.
 Error: %1</source>
         <translation>Export in Vektordatei schlug fehl.
 Fehler: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7110"/>
-        <location filename="../src/app/qgisapp.cpp" line="9790"/>
-        <location filename="../src/app/qgisapp.cpp" line="9799"/>
-        <location filename="../src/app/qgisapp.cpp" line="9860"/>
-        <location filename="../src/app/qgisapp.cpp" line="9869"/>
+        <location filename="../src/app/qgisapp.cpp" line="7116"/>
+        <location filename="../src/app/qgisapp.cpp" line="9794"/>
+        <location filename="../src/app/qgisapp.cpp" line="9803"/>
+        <location filename="../src/app/qgisapp.cpp" line="9864"/>
+        <location filename="../src/app/qgisapp.cpp" line="9873"/>
         <source>No Layer Selected</source>
         <translation>Keinen Layer ausgewählt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7111"/>
+        <location filename="../src/app/qgisapp.cpp" line="7117"/>
         <source>To delete features, you must select a vector layer in the legend</source>
         <translation>Zum Löschen von Objekte zu muss ein Vektorlayer in der Legende gewählt werden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7119"/>
+        <location filename="../src/app/qgisapp.cpp" line="7125"/>
         <source>No Vector Layer Selected</source>
         <translation>Es wurde kein Vektorlayer gewählt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7120"/>
+        <location filename="../src/app/qgisapp.cpp" line="7126"/>
         <source>Deleting features only works on vector layers</source>
         <translation>Löschen von Objekten ist nur von Vektorlayern möglich</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7127"/>
+        <location filename="../src/app/qgisapp.cpp" line="7133"/>
         <source>Provider does not support deletion</source>
         <translation>Datenanbieter unterstützt keine Löschoperationen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7128"/>
+        <location filename="../src/app/qgisapp.cpp" line="7134"/>
         <source>Data provider does not support deleting features</source>
         <translation>Der Datenanbieter hat nicht die Möglichkeit Objekte zu löschen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7135"/>
-        <location filename="../src/app/qgisapp.cpp" line="7685"/>
-        <location filename="../src/app/qgisapp.cpp" line="7694"/>
-        <location filename="../src/app/qgisapp.cpp" line="7792"/>
-        <location filename="../src/app/qgisapp.cpp" line="7833"/>
+        <location filename="../src/app/qgisapp.cpp" line="7141"/>
+        <location filename="../src/app/qgisapp.cpp" line="7687"/>
+        <location filename="../src/app/qgisapp.cpp" line="7696"/>
+        <location filename="../src/app/qgisapp.cpp" line="7794"/>
+        <location filename="../src/app/qgisapp.cpp" line="7835"/>
         <source>Layer not editable</source>
         <translation>Der Layer kann nicht bearbeitet werden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7136"/>
+        <location filename="../src/app/qgisapp.cpp" line="7142"/>
         <source>The current layer is not editable. Choose 'Start editing' in the digitizing toolbar.</source>
         <translation>Der aktuelle Layer kann nicht bearbeitet werden. Bitte 'Bearbeitungsstatus umschalten' aus der Digitalisierwerkzeugleiste wählen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7145"/>
+        <location filename="../src/app/qgisapp.cpp" line="7151"/>
         <source>No Features Selected</source>
         <translation>Keine Objekte gewählt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7170"/>
+        <location filename="../src/app/qgisapp.cpp" line="7176"/>
         <source>Delete features</source>
         <translation>Objekte löschen</translation>
     </message>
@@ -37355,22 +37505,22 @@ Fehler: %1</translation>
         </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7178"/>
+        <location filename="../src/app/qgisapp.cpp" line="7184"/>
         <source>Features deleted</source>
         <translation>Objekt gelöscht</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7182"/>
+        <location filename="../src/app/qgisapp.cpp" line="7188"/>
         <source>Problem deleting features</source>
         <translation>Problem beim Löschen der Objekte</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7183"/>
+        <location filename="../src/app/qgisapp.cpp" line="7189"/>
         <source>A problem occurred during deletion of %1 feature(s)</source>
         <translation>Ein Problem trat bei der Löschung von %1 Objekt(en) auf</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/app/qgisapp.cpp" line="7188"/>
+        <location filename="../src/app/qgisapp.cpp" line="7194"/>
         <source>%n feature(s) deleted.</source>
         <comment>number of features deleted</comment>
         <translation>
@@ -37383,8 +37533,8 @@ Fehler: %1</translation>
         <translation type="vanished">Objekte werden verschmolzen…</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5347"/>
-        <location filename="../src/app/qgisapp.cpp" line="7237"/>
+        <location filename="../src/app/qgisapp.cpp" line="5350"/>
+        <location filename="../src/app/qgisapp.cpp" line="7243"/>
         <source>Abort</source>
         <translation>Abbrechen</translation>
     </message>
@@ -37401,12 +37551,12 @@ Fehler: %1</translation>
         <translation type="vanished">Titel der Druckzusammenstellung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7326"/>
+        <location filename="../src/app/qgisapp.cpp" line="7332"/>
         <source>Title can not be empty!</source>
         <translation>Titel kann nicht leer sein!</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7337"/>
+        <location filename="../src/app/qgisapp.cpp" line="7343"/>
         <source>Title already exists!</source>
         <translation>Titel bereits vorhanden!</translation>
     </message>
@@ -37423,32 +37573,32 @@ Fehler: %1</translation>
         <translation type="vanished">Lade Zusammenstellung %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7675"/>
-        <location filename="../src/app/qgisapp.cpp" line="7774"/>
-        <location filename="../src/app/qgisapp.cpp" line="7816"/>
+        <location filename="../src/app/qgisapp.cpp" line="7677"/>
+        <location filename="../src/app/qgisapp.cpp" line="7776"/>
+        <location filename="../src/app/qgisapp.cpp" line="7818"/>
         <source>No active layer</source>
         <translation>Kein aktiver Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7676"/>
+        <location filename="../src/app/qgisapp.cpp" line="7678"/>
         <source>No active layer found. Please select a layer in the layer list</source>
         <translation>Keinen aktiven Layer gefunden. Bitte einen Layer aus der Liste wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7706"/>
-        <location filename="../src/app/qgisapp.cpp" line="7845"/>
-        <location filename="../src/app/qgisapp.cpp" line="7880"/>
+        <location filename="../src/app/qgisapp.cpp" line="7708"/>
+        <location filename="../src/app/qgisapp.cpp" line="7847"/>
+        <location filename="../src/app/qgisapp.cpp" line="7882"/>
         <source>Not enough features selected</source>
         <translation>Nicht genug Objekte gewählt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7846"/>
-        <location filename="../src/app/qgisapp.cpp" line="7881"/>
+        <location filename="../src/app/qgisapp.cpp" line="7848"/>
+        <location filename="../src/app/qgisapp.cpp" line="7883"/>
         <source>The merge tool requires at least two selected features</source>
         <translation>Das Verschmelzungswerkzeug erfordert mindestens zwei gewählte Objekte</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7724"/>
+        <location filename="../src/app/qgisapp.cpp" line="7726"/>
         <source>Merged feature attributes</source>
         <translation>Objektattribute vereinen</translation>
     </message>
@@ -37457,9 +37607,9 @@ Fehler: %1</translation>
         <translation type="vanished">Layergestaltungsfenster</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4979"/>
-        <location filename="../src/app/qgisapp.cpp" line="9098"/>
-        <location filename="../src/app/qgisapp.cpp" line="10468"/>
+        <location filename="../src/app/qgisapp.cpp" line="4982"/>
+        <location filename="../src/app/qgisapp.cpp" line="9100"/>
+        <location filename="../src/app/qgisapp.cpp" line="10472"/>
         <source> • %1</source>
         <translation> • %1</translation>
     </message>
@@ -37468,7 +37618,7 @@ Fehler: %1</translation>
         <translation type="vanished">Aktive Tasks</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="4984"/>
+        <location filename="../src/app/qgisapp.cpp" line="4987"/>
         <source>The following tasks are currently running in the background:
 
 %1
@@ -37481,58 +37631,58 @@ Do you want to try canceling these active tasks?</source>
 Sollen versucht werden diese anzubrechen?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6682"/>
+        <location filename="../src/app/qgisapp.cpp" line="6688"/>
         <source>Layer Diagram Properties</source>
         <translation>Layerdiagrammeigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6863"/>
-        <location filename="../src/app/qgisapp.cpp" line="7066"/>
+        <location filename="../src/app/qgisapp.cpp" line="6869"/>
+        <location filename="../src/app/qgisapp.cpp" line="7072"/>
         <source>Saving Done</source>
         <translation>Speicherung abgeschlossen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6864"/>
+        <location filename="../src/app/qgisapp.cpp" line="6870"/>
         <source>Successfully saved raster layer to <a href="%1">%2</a></source>
         <translation>Rasterlayer erfolgreich in <a href="%1">%2</a> gespeichert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="6913"/>
+        <location filename="../src/app/qgisapp.cpp" line="6919"/>
         <source>Error saving layer definition file</source>
         <translation>Fehler beim Speichern der Layerdefinitionsdatei</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7067"/>
+        <location filename="../src/app/qgisapp.cpp" line="7073"/>
         <source>Successfully saved vector layer to <a href="%1">%2</a></source>
         <translation>Vektorlayer erfolgreich in <a href="%1">%2</a> gespeichert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7078"/>
+        <location filename="../src/app/qgisapp.cpp" line="7084"/>
         <source>Save Error</source>
         <translation>Fehler speichern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7171"/>
+        <location filename="../src/app/qgisapp.cpp" line="7177"/>
         <source>Some of the selected features are outside of the current map view. Would you still like to continue?</source>
         <translation>Einige der gewählten Objekte sind außerhalb der aktuellen Kartenanzeige. Soll wirklich fortgefahren werden?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7288"/>
+        <location filename="../src/app/qgisapp.cpp" line="7294"/>
         <source>print layout</source>
         <translation>Drucklayout</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7291"/>
+        <location filename="../src/app/qgisapp.cpp" line="7297"/>
         <source>report</source>
         <translation>Bericht</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7295"/>
+        <location filename="../src/app/qgisapp.cpp" line="7301"/>
         <source>Enter a unique %1 title</source>
         <translation>Eindeutigen %1-Titel eingeben</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7298"/>
+        <location filename="../src/app/qgisapp.cpp" line="7304"/>
         <source>(a title will be automatically generated if left empty)</source>
         <translation>(falls Titel leer gelassen wird, wird einer generiert)</translation>
     </message>
@@ -37541,79 +37691,79 @@ Sollen versucht werden diese anzubrechen?</translation>
         <translation type="vanished">Erzeuge %1-Titel</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7419"/>
+        <location filename="../src/app/qgisapp.cpp" line="7425"/>
         <source>%1 copy</source>
         <translation>%1 Kopie</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7456"/>
-        <location filename="../src/app/qgisapp.cpp" line="7535"/>
+        <location filename="../src/app/qgisapp.cpp" line="7462"/>
+        <location filename="../src/app/qgisapp.cpp" line="7537"/>
         <source>Set as atlas feature for %1</source>
         <translation>Als Atlas-Objekt für %1 setzen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7498"/>
+        <location filename="../src/app/qgisapp.cpp" line="7501"/>
         <source>Duplicate feature</source>
         <translation>Objekt duplizieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7509"/>
+        <location filename="../src/app/qgisapp.cpp" line="7512"/>
         <source>Duplicate feature and digitize</source>
         <translation>Objekt duplizieren und digitalisieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7707"/>
+        <location filename="../src/app/qgisapp.cpp" line="7709"/>
         <source>The merge tool requires at least two selected features.</source>
         <translation>Das Verschmelzungswerkzeug erfordert mindestens zwei gewählte Objekte.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7750"/>
-        <location filename="../src/app/qgisapp.cpp" line="7923"/>
+        <location filename="../src/app/qgisapp.cpp" line="7752"/>
+        <location filename="../src/app/qgisapp.cpp" line="7925"/>
         <source>Invalid result</source>
         <translation>Ungültiges Ergebnis</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7751"/>
+        <location filename="../src/app/qgisapp.cpp" line="7753"/>
         <source>Could not store value '%1' in field of type %2</source>
         <translation>Konnte Wert '%1' nicht im Feld des Typs %2 speichern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7793"/>
+        <location filename="../src/app/qgisapp.cpp" line="7795"/>
         <source>Modifying features can only be done for layers in editing mode.</source>
         <translation>Objektänderungen können nur im Bearbeitungsmodus vorgenommen werden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7861"/>
-        <location filename="../src/app/qgisapp.cpp" line="7897"/>
+        <location filename="../src/app/qgisapp.cpp" line="7863"/>
+        <location filename="../src/app/qgisapp.cpp" line="7899"/>
         <source>Merge failed</source>
         <translation>Zusammenführung fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7862"/>
-        <location filename="../src/app/qgisapp.cpp" line="7898"/>
+        <location filename="../src/app/qgisapp.cpp" line="7864"/>
+        <location filename="../src/app/qgisapp.cpp" line="7900"/>
         <source>An error occurred during the merge operation.</source>
         <translation>Beim Zusammenführen trat ein Fehler auf.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7905"/>
+        <location filename="../src/app/qgisapp.cpp" line="7907"/>
         <source>Merged features</source>
         <translation>Objekte verschmelzen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7924"/>
+        <location filename="../src/app/qgisapp.cpp" line="7926"/>
         <source>Could not store value '%1' in field of type %2.</source>
         <translation>Konnte Wert '%1' nicht im Feld des Typs %2 speichern.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8037"/>
-        <location filename="../src/app/qgisapp.cpp" line="8053"/>
-        <location filename="../src/app/qgisapp.cpp" line="8069"/>
-        <location filename="../src/app/qgisapp.cpp" line="8089"/>
+        <location filename="../src/app/qgisapp.cpp" line="8039"/>
+        <location filename="../src/app/qgisapp.cpp" line="8055"/>
+        <location filename="../src/app/qgisapp.cpp" line="8071"/>
+        <location filename="../src/app/qgisapp.cpp" line="8091"/>
         <source>No active vector layer</source>
         <translation>Kein aktiver Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8038"/>
+        <location filename="../src/app/qgisapp.cpp" line="8040"/>
         <source>To invert selection, choose a vector layer in the legend</source>
         <translation>Um die Objektauswahl umzukehren einen Vektorlayer in der Legende wählen</translation>
     </message>
@@ -37626,73 +37776,73 @@ Sollen versucht werden diese anzubrechen?</translation>
         <translation type="vanished">Um Objekte zu wählen einen Vektorlayer in der Legende wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8137"/>
+        <location filename="../src/app/qgisapp.cpp" line="8139"/>
         <source>Features cut</source>
         <translation>Objekte ausgeschnitten</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8163"/>
+        <location filename="../src/app/qgisapp.cpp" line="8165"/>
         <source>Features pasted</source>
         <translation>Objekte eingefügt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8244"/>
-        <location filename="../src/app/qgisapp.cpp" line="8251"/>
-        <location filename="../src/app/qgisapp.cpp" line="8257"/>
-        <location filename="../src/app/qgisapp.cpp" line="8357"/>
-        <location filename="../src/app/qgisapp.cpp" line="8365"/>
-        <location filename="../src/app/qgisapp.cpp" line="8374"/>
-        <location filename="../src/app/qgisapp.cpp" line="8386"/>
+        <location filename="../src/app/qgisapp.cpp" line="8246"/>
+        <location filename="../src/app/qgisapp.cpp" line="8253"/>
+        <location filename="../src/app/qgisapp.cpp" line="8259"/>
+        <location filename="../src/app/qgisapp.cpp" line="8359"/>
+        <location filename="../src/app/qgisapp.cpp" line="8367"/>
+        <location filename="../src/app/qgisapp.cpp" line="8376"/>
+        <location filename="../src/app/qgisapp.cpp" line="8388"/>
         <source>Paste features</source>
         <translation>Objekte einfügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8245"/>
+        <location filename="../src/app/qgisapp.cpp" line="8247"/>
         <source>no features could be successfully pasted.</source>
         <translation>Es wurden keine Objekte erfolgreich eingefügt.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8252"/>
+        <location filename="../src/app/qgisapp.cpp" line="8254"/>
         <source>%1 features were successfully pasted.</source>
         <translation>%1 Objekte wurden erfolgreich eingefügt.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8258"/>
+        <location filename="../src/app/qgisapp.cpp" line="8260"/>
         <source>%1 of %2 features could be successfully pasted.</source>
         <translation>%1 von %2 Objekte konnte erfolgreich eingefügt werden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8282"/>
+        <location filename="../src/app/qgisapp.cpp" line="8284"/>
         <source>Pasted</source>
         <translation>Eingefügt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8284"/>
+        <location filename="../src/app/qgisapp.cpp" line="8286"/>
         <source>Layer name</source>
         <translation>Layername</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8358"/>
+        <location filename="../src/app/qgisapp.cpp" line="8360"/>
         <source>No features in clipboard.</source>
         <translation>Keine Objekte in der Zwischenablage.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8366"/>
+        <location filename="../src/app/qgisapp.cpp" line="8368"/>
         <source>Multiple geometry types found, features with geometry different from %1 will be created without geometry.</source>
         <translation>Mehrere Geometriearten gefunden, Objekte mit einer anderen Geometrieart als %1 werden ohne Geometrie erzeugt.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8387"/>
+        <location filename="../src/app/qgisapp.cpp" line="8389"/>
         <source>Cannot create field %1 (%2,%3)</source>
         <translation>Konnte Feld %1 (%2,%3) nicht anlegen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8604"/>
+        <location filename="../src/app/qgisapp.cpp" line="8606"/>
         <source>Start editing failed</source>
         <translation>Bearbeitungsbeginn schlug fehl</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8605"/>
+        <location filename="../src/app/qgisapp.cpp" line="8607"/>
         <source>Provider cannot be opened for editing</source>
         <translation>Datenanbieter kann nicht zum Bearbeiten geöffnet werden</translation>
     </message>
@@ -37701,17 +37851,17 @@ Sollen versucht werden diese anzubrechen?</translation>
         <translation type="vanished">Bearbeitung beenden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8631"/>
+        <location filename="../src/app/qgisapp.cpp" line="8633"/>
         <source>Do you want to save the changes to layer %1?</source>
         <translation>Sollen die Änderungen am Layer %1 gespeichert werden?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8662"/>
+        <location filename="../src/app/qgisapp.cpp" line="8664"/>
         <source>Problems during roll back</source>
         <translation>Probleme beim Zurücknehmen der Änderungen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8742"/>
+        <location filename="../src/app/qgisapp.cpp" line="8744"/>
         <source>Could not %1 changes to layer %2
 
 Errors: %3
@@ -37722,69 +37872,69 @@ Fehler: %3
 </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8743"/>
+        <location filename="../src/app/qgisapp.cpp" line="8745"/>
         <source>rollback</source>
         <translation>verworfen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8743"/>
+        <location filename="../src/app/qgisapp.cpp" line="8745"/>
         <source>cancel</source>
         <translation>abgebrochen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8773"/>
+        <location filename="../src/app/qgisapp.cpp" line="8775"/>
         <source>Save</source>
         <translation>Speichern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8773"/>
-        <location filename="../src/app/qgisapp.cpp" line="8799"/>
-        <location filename="../src/app/qgisapp.cpp" line="8825"/>
+        <location filename="../src/app/qgisapp.cpp" line="8775"/>
+        <location filename="../src/app/qgisapp.cpp" line="8801"/>
+        <location filename="../src/app/qgisapp.cpp" line="8827"/>
         <source>all</source>
         <translation>Alle</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8799"/>
+        <location filename="../src/app/qgisapp.cpp" line="8801"/>
         <source>Rollback</source>
         <translation>Verwerfen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8825"/>
+        <location filename="../src/app/qgisapp.cpp" line="8827"/>
         <source>Cancel</source>
         <translation>Abbrechen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8841"/>
+        <location filename="../src/app/qgisapp.cpp" line="8843"/>
         <source>Current edits</source>
         <translation>Aktuelle Änderungen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8842"/>
+        <location filename="../src/app/qgisapp.cpp" line="8844"/>
         <source>%1 current changes for %2 layer(s)?</source>
         <translation>Aktuelle Änderungen für %2 Layer %1?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8940"/>
+        <location filename="../src/app/qgisapp.cpp" line="8942"/>
         <source>Filter on Joined Fields</source>
         <translation>Filter auf verknüpften Feldern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8941"/>
+        <location filename="../src/app/qgisapp.cpp" line="8943"/>
         <source>You are about to set a subset filter on a layer that has joined fields. Joined fields cannot be filtered, unless you convert the layer to a virtual layer first. Would you like to create a virtual layer out of this layer first?</source>
         <translation>Es soll eine Filter auf einen Layer mit verknüpften Feldern gesetzt werden. Verknüpfte Felder können nur gefiltert werden, wenn sie zuvor in einen virtuellen Layer umgewandelt werden.  Soll aus diesem Layer ein virtueller Layer erzeugt werden?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9047"/>
+        <location filename="../src/app/qgisapp.cpp" line="9049"/>
         <source>Datum transforms</source>
         <translation>Datumtransformationen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9048"/>
+        <location filename="../src/app/qgisapp.cpp" line="9050"/>
         <source>Project CRS changed and datum transforms might need to be adapted.</source>
         <translation>Projekt-KBS geändert und Datumtransformationen müssen evtl. angepaßt werden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9106"/>
+        <location filename="../src/app/qgisapp.cpp" line="9108"/>
         <source>The following tasks are currently running which depend on this layer:
 
 %1
@@ -37797,134 +37947,140 @@ Please cancel these tasks and retry.</source>
 Bitte abbrechen und nocheinmal versuchen. </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9172"/>
+        <location filename="../src/app/qgisapp.cpp" line="9174"/>
         <source>copy</source>
         <translation>Kopie</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9176"/>
+        <location filename="../src/app/qgisapp.cpp" line="9178"/>
         <source>Plugin layer</source>
         <translation>Erweiterungslayer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9188"/>
+        <location filename="../src/app/qgisapp.cpp" line="9190"/>
         <source>Memory layer</source>
         <translation>Speicherlayer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9211"/>
-        <location filename="../src/app/qgisapp.cpp" line="9222"/>
+        <location filename="../src/app/qgisapp.cpp" line="9213"/>
+        <location filename="../src/app/qgisapp.cpp" line="9224"/>
         <source>Duplicate layer: </source>
         <translation>Layerduplizierung:</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9212"/>
+        <location filename="../src/app/qgisapp.cpp" line="9214"/>
         <source>%1 (duplication resulted in invalid layer)</source>
         <translation>%1 (Kopieren führt zu ungültigem Layer)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9282"/>
+        <location filename="../src/app/qgisapp.cpp" line="9286"/>
         <source>Set scale visibility for selected layers</source>
         <translation>Maßstabsabhängige Sichtbarkeit der gewählten Layer setzen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9602"/>
+        <location filename="../src/app/qgisapp.cpp" line="9606"/>
         <source>Couldn't load Python support library: %1</source>
         <translation>Konnte Python-Unterstützungsbibliothek nicht laden: %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9615"/>
+        <location filename="../src/app/qgisapp.cpp" line="9619"/>
         <source>Couldn't resolve python support library's instance() symbol.</source>
         <translation>Konnte Symbol instance() nicht in Python-Unterstützungsbibliothek finden.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9633"/>
+        <location filename="../src/app/qgisapp.cpp" line="9637"/>
         <source>Python support ENABLED :-) </source>
         <translation>Python-Unterstützung aktiviert :-) </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9660"/>
+        <location filename="../src/app/qgisapp.cpp" line="9664"/>
         <source>There is a new version of QGIS available</source>
         <translation>Eine neue Version von QGIS ist verfügbar</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9664"/>
+        <location filename="../src/app/qgisapp.cpp" line="9668"/>
         <source>You are running a development version of QGIS</source>
         <translation>Sie verwenden eine Entwicklungsversion von QGIS</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9668"/>
+        <location filename="../src/app/qgisapp.cpp" line="9672"/>
         <source>You are running the current version of QGIS</source>
         <translation>Sie verwenden die aktuelle Version von QGIS</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9675"/>
-        <location filename="../src/app/qgisapp.cpp" line="9681"/>
+        <location filename="../src/app/qgisapp.cpp" line="9679"/>
+        <location filename="../src/app/qgisapp.cpp" line="9685"/>
         <source>QGIS Version Information</source>
         <translation>QGIS-Versionsinformationen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9681"/>
+        <location filename="../src/app/qgisapp.cpp" line="9685"/>
         <source>Unable to get current version information from server</source>
         <translation>Kann Informationen zu aktuellen Version nicht vom Server holen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9791"/>
-        <location filename="../src/app/qgisapp.cpp" line="9800"/>
+        <location filename="../src/app/qgisapp.cpp" line="9795"/>
+        <location filename="../src/app/qgisapp.cpp" line="9804"/>
         <source>To perform a full histogram stretch, you need to have a raster layer selected.</source>
         <translation>Um eine volle Histogrammstreckung durchzuführen, muß ein Rasterlayer gewählt sein.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9861"/>
-        <location filename="../src/app/qgisapp.cpp" line="9870"/>
+        <location filename="../src/app/qgisapp.cpp" line="9865"/>
+        <location filename="../src/app/qgisapp.cpp" line="9874"/>
         <source>To change brightness or contrast, you need to have a raster layer selected.</source>
         <translation>Um Helligkeit oder Kontrast zu ändern, muß ein Rasterlayer gewählt sein.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10438"/>
+        <location filename="../src/app/qgisapp.cpp" line="10442"/>
         <source>Save Project</source>
         <translation>Projekt speichern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12991"/>
+        <location filename="../src/app/qgisapp.cpp" line="12995"/>
         <source>QGIS Authentication</source>
         <translation>QGIS-Authentifizierung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="13121"/>
+        <location filename="../src/app/qgisapp.cpp" line="13125"/>
         <source>%1 Panel</source>
         <translation>Feld %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="13197"/>
+        <location filename="../src/app/qgisapp.cpp" line="13201"/>
         <source>Transaction</source>
         <translation>Transaktionen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="13238"/>
-        <location filename="../src/app/qgisapp.cpp" line="13282"/>
+        <location filename="../src/app/qgisapp.cpp" line="13214"/>
+        <location filename="../src/app/qgisapp.cpp" line="13268"/>
+        <source>Cannot duplicate feature in not editable mode on layer %1</source>
+        <translation>Zum Duplizieren von Objekte muß der Layer %1 im Bearbeitungsmodus sein</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgisapp.cpp" line="13248"/>
+        <location filename="../src/app/qgisapp.cpp" line="13298"/>
         <source>%1 children on layer %2 duplicated</source>
         <translation>%1 Kinder auf Layer %2 dupliziert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="13242"/>
+        <location filename="../src/app/qgisapp.cpp" line="13252"/>
         <source>%1 features on layer %2 duplicated
 %3</source>
         <translation>%1 Objekt des Layers %2 dupliziert
 %3</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="13264"/>
+        <location filename="../src/app/qgisapp.cpp" line="13280"/>
         <source>Digitize the duplicate on layer %1</source>
         <translation>Duplikat auf Layer %1 digitalisieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="13269"/>
+        <location filename="../src/app/qgisapp.cpp" line="13285"/>
         <source>Duplicate digitized</source>
         <translation>Duplikat digitalisiert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="13285"/>
+        <location filename="../src/app/qgisapp.cpp" line="13301"/>
         <source>Feature on layer %2 duplicated
 %3</source>
         <translation>Objekt auf Layer %2 dupliziert
@@ -37936,13 +38092,13 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">de</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="9923"/>
+        <location filename="../src/app/qgisapp.cpp" line="9927"/>
         <source>https://qgis.org/en/site/forusers/commercial_support.html</source>
         <translation>https://qgis.org/de/site/forusers/commercial_support.html</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10120"/>
-        <location filename="../src/app/qgisapp.cpp" line="10163"/>
+        <location filename="../src/app/qgisapp.cpp" line="10124"/>
+        <location filename="../src/app/qgisapp.cpp" line="10167"/>
         <source>Layer is not valid</source>
         <translation>Layer ist ungültig</translation>
     </message>
@@ -37955,7 +38111,7 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Aktuelles KBS: %1 (SRP aus)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="13164"/>
+        <location filename="../src/app/qgisapp.cpp" line="13168"/>
         <source>Layer %1</source>
         <translation>Layer %1</translation>
     </message>
@@ -37964,48 +38120,48 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Der Layer %1 ist ungültig und kann der Karte nicht hinzugefügt werden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7686"/>
-        <location filename="../src/app/qgisapp.cpp" line="7785"/>
-        <location filename="../src/app/qgisapp.cpp" line="7826"/>
+        <location filename="../src/app/qgisapp.cpp" line="7688"/>
+        <location filename="../src/app/qgisapp.cpp" line="7787"/>
+        <location filename="../src/app/qgisapp.cpp" line="7828"/>
         <source>The merge features tool only works on vector layers.</source>
         <translation>Das Verschmeldungswerkzeug funktioniert nur mit Vektorlayern.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7695"/>
-        <location filename="../src/app/qgisapp.cpp" line="7834"/>
+        <location filename="../src/app/qgisapp.cpp" line="7697"/>
+        <location filename="../src/app/qgisapp.cpp" line="7836"/>
         <source>Merging features can only be done for layers in editing mode.</source>
         <translation>Verschmelzung von Objekten kann nur auf Layern im Bearbeitungsmodus erfolgen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7775"/>
-        <location filename="../src/app/qgisapp.cpp" line="7817"/>
+        <location filename="../src/app/qgisapp.cpp" line="7777"/>
+        <location filename="../src/app/qgisapp.cpp" line="7819"/>
         <source>Please select a layer in the layer list</source>
         <translation>Einen Layer in der Liste wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7784"/>
-        <location filename="../src/app/qgisapp.cpp" line="7825"/>
+        <location filename="../src/app/qgisapp.cpp" line="7786"/>
+        <location filename="../src/app/qgisapp.cpp" line="7827"/>
         <source>Invalid layer</source>
         <translation>Ungültiger Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8054"/>
+        <location filename="../src/app/qgisapp.cpp" line="8056"/>
         <source>To select all, choose a vector layer in the legend.</source>
         <translation>Um alle Objekte zu wählen einen Vektorlayer in der Legende wählen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="8070"/>
-        <location filename="../src/app/qgisapp.cpp" line="8090"/>
+        <location filename="../src/app/qgisapp.cpp" line="8072"/>
+        <location filename="../src/app/qgisapp.cpp" line="8092"/>
         <source>To select features, choose a vector layer in the legend.</source>
         <translation>Um Objekte zu wählen einen Vektorlayer in der Legende wählen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10162"/>
+        <location filename="../src/app/qgisapp.cpp" line="10166"/>
         <source>The layer is not a valid layer and can not be added to the map</source>
         <translation>Der Layer ist ungültig und kann daher nicht zum Kartenfenster hinzugefügt werden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="10414"/>
+        <location filename="../src/app/qgisapp.cpp" line="10418"/>
         <source>Project has layer(s) in edit mode with unsaved edits, which will NOT be saved!</source>
         <translation>Projekt hat Layer im Bearbeitungsmodus mit nicht gespeicherten Bearbeitungen, die NICHT gespeichert werden!</translation>
     </message>
@@ -38018,7 +38174,7 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">Kartentipps erfordern einen aktuellen Layer</translation>
     </message>
     <message numerus="yes">
-        <location filename="../src/app/qgisapp.cpp" line="11333"/>
+        <location filename="../src/app/qgisapp.cpp" line="11337"/>
         <source>%n feature(s) selected on layer %1.</source>
         <comment>number of selected features</comment>
         <translation>
@@ -38027,87 +38183,87 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="11903"/>
+        <location filename="../src/app/qgisapp.cpp" line="11907"/>
         <source>Open a GDAL Supported Raster Data Source</source>
         <translation>Öffnen einer GDAL-Rasterdatenquelle</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12011"/>
+        <location filename="../src/app/qgisapp.cpp" line="12015"/>
         <source>Error adding valid layer to map canvas</source>
         <translation>Fehler beim Hinzufügen eines gültigen Layers zur Karte</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12012"/>
+        <location filename="../src/app/qgisapp.cpp" line="12016"/>
         <source>Raster layer</source>
         <translation>Raster-Layer</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12132"/>
+        <location filename="../src/app/qgisapp.cpp" line="12136"/>
         <source>%1 is not a supported raster data source</source>
         <translation>%1 ist keine unterstützte Rasterdatenquelle</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12136"/>
+        <location filename="../src/app/qgisapp.cpp" line="12140"/>
         <source>Unsupported Data Source</source>
         <translation>Nicht unterstütztes Datenformat</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12193"/>
+        <location filename="../src/app/qgisapp.cpp" line="12197"/>
         <source>Exit QGIS</source>
         <translation>QGIS beenden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12194"/>
+        <location filename="../src/app/qgisapp.cpp" line="12198"/>
         <source>Do you really want to quit QGIS?</source>
         <translation>Soll QGIS wirklich beendet werden?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12242"/>
+        <location filename="../src/app/qgisapp.cpp" line="12246"/>
         <source>New profile name</source>
         <translation>Neuer Profilname</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12257"/>
+        <location filename="../src/app/qgisapp.cpp" line="12261"/>
         <source>Task complete</source>
         <translation>Task abgeschlossen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12332"/>
+        <location filename="../src/app/qgisapp.cpp" line="12336"/>
         <source>This project file was saved by an older version of QGIS. When saving this project file, QGIS will update it to the latest version, possibly rendering it useless for older versions of QGIS.</source>
         <translation>Dieses Projekt wurde mit einer älteren Version von QGIS gespeichert. Erneutes Speichern der Projektdatei bringt die Datei auf den aktuellen Stand, verursacht u.U. das es mit älteren Versionen von QGIS nicht mehr verwendet werden kann.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12336"/>
+        <location filename="../src/app/qgisapp.cpp" line="12340"/>
         <source>Project file is older</source>
         <translation>Projektdatei ist älter</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12935"/>
+        <location filename="../src/app/qgisapp.cpp" line="12939"/>
         <source> Please check the <a href="#messageLog">message log</a> for further info.</source>
         <translation> Bitte untersuchen Sie das <a href="#messageLog">Protokoll</a> auf weitere Informationen.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12934"/>
+        <location filename="../src/app/qgisapp.cpp" line="12938"/>
         <source>A network request timed out, any data received is likely incomplete.</source>
         <translation>Zeitüberschreitung bei Netzwerkanfrage, empfangene Daten wahrscheinlich nicht vollständig.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12706"/>
+        <location filename="../src/app/qgisapp.cpp" line="12710"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12707"/>
+        <location filename="../src/app/qgisapp.cpp" line="12711"/>
         <source>This layer doesn't have a properties dialog.</source>
         <translation>Dieser Layer hat keine Eigenschaftendialog.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12764"/>
+        <location filename="../src/app/qgisapp.cpp" line="12768"/>
         <source>Authentication required</source>
         <translation>Authentifikation erforderlich</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="12819"/>
+        <location filename="../src/app/qgisapp.cpp" line="12823"/>
         <source>Proxy authentication required</source>
         <translation>Proxy-Authentifikation erforderlich</translation>
     </message>
@@ -38120,23 +38276,23 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         </translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5865"/>
+        <location filename="../src/app/qgisapp.cpp" line="5868"/>
         <source>Failed to run Python script:</source>
         <translation>Konnte Python-Skript nicht ausführen:</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="7146"/>
+        <location filename="../src/app/qgisapp.cpp" line="7152"/>
         <source>The current layer has no selected features</source>
         <translation>Der aktuelle Layer hat keine gewählten Objekte</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2844"/>
-        <location filename="../src/app/qgisapp.cpp" line="2861"/>
+        <location filename="../src/app/qgisapp.cpp" line="2847"/>
+        <location filename="../src/app/qgisapp.cpp" line="2864"/>
         <source>Current clockwise map rotation in degrees</source>
         <translation>Derzeitge Kartendrehung in Grad im Uhrzeigersinn</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2858"/>
+        <location filename="../src/app/qgisapp.cpp" line="2861"/>
         <source>Shows the current map clockwise rotation in degrees. It also allows editing to set the rotation</source>
         <translation>Zeigt die aktuelle Karte im einen Winkel in Grad im Uhrzeigersinn gedreht an.  Der Winkel kann auch eingegeben werden</translation>
     </message>
@@ -38145,13 +38301,13 @@ Bitte abbrechen und nocheinmal versuchen. </translation>
         <translation type="vanished">%1 (SRP)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="2903"/>
-        <location filename="../src/app/qgisapp.cpp" line="2904"/>
+        <location filename="../src/app/qgisapp.cpp" line="2906"/>
+        <location filename="../src/app/qgisapp.cpp" line="2907"/>
         <source>Messages</source>
         <translation>Meldungen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgisapp.cpp" line="5797"/>
+        <location filename="../src/app/qgisapp.cpp" line="5800"/>
         <source>Error loading layer definition</source>
         <translation>Fehler beim Laden der Layerdefinition</translation>
     </message>
@@ -38351,7 +38507,12 @@ Aktuelles letztes Änderungsdateum ist: %2</translation>
         <translation>Dateiname zum Speichern des 3D-Kartenausschnitt in einem Bild</translation>
     </message>
     <message>
-        <location filename="../src/app/3d/qgs3dmapcanvasdockwidget.cpp" line="164"/>
+        <location filename="../src/app/3d/qgs3dmapcanvasdockwidget.cpp" line="117"/>
+        <source>3D Configuration</source>
+        <translation>3D-Konfiguration</translation>
+    </message>
+    <message>
+        <location filename="../src/app/3d/qgs3dmapcanvasdockwidget.cpp" line="166"/>
         <source>Loading %1 tiles</source>
         <translation>Lade %1 Kacheln</translation>
     </message>
@@ -38513,7 +38674,7 @@ p, li { white-space: pre-wrap; }
         <translation>&Aktionen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsactionmenu.cpp" line="121"/>
+        <location filename="../src/gui/qgsactionmenu.cpp" line="136"/>
         <source>Not supported on your platform</source>
         <translation>Auf Ihrer Plattform nicht unterstützt</translation>
     </message>
@@ -40181,32 +40342,32 @@ Ausdruckfehler:
 <context>
     <name>QgsAttributeActionDialog</name>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="236"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="243"/>
         <source>Generic</source>
         <translation>Allgemein</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="238"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="245"/>
         <source>Python</source>
         <translation>Python</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="240"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="247"/>
         <source>Mac</source>
         <translation>Mac</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="242"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="249"/>
         <source>Windows</source>
         <translation>Windows</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="244"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="251"/>
         <source>Unix</source>
         <translation>Unix</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="246"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="253"/>
         <source>Open URL</source>
         <translation>URL öffnen</translation>
     </message>
@@ -40215,92 +40376,92 @@ Ausdruckfehler:
         <translation type="vanished">Neue Aktion hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="275"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="282"/>
         <source>Add New Action</source>
         <translation>Neue Aktion hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="308"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="315"/>
         <source>Echo attribute's value</source>
         <translation>Attributwert anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="308"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="315"/>
         <source>Attribute Value</source>
         <translation>Attributwert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="309"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="316"/>
         <source>Run an application</source>
         <translation>Eine Anwendung ausführen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="309"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="316"/>
         <source>Run application</source>
         <translation>Applikation ausführen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="310"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="317"/>
         <source>Get feature id</source>
         <translation>Objektkennung bestimmen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="310"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="317"/>
         <source>Feature ID</source>
         <translation>Objektkennung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="311"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="318"/>
         <source>Selected field's value (Identify features tool)</source>
         <translation>Gewählter Feldwert (Werkzeug "Objekte abfragen")</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="311"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="318"/>
         <source>Field Value</source>
         <translation>Feldwert</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="312"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="319"/>
         <source>Clicked coordinates (Run feature actions tool)</source>
         <translation>Angeklickte Koordinate (Werkzeug "Objektaktion ausführen")</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="312"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="319"/>
         <source>Clicked Coordinate</source>
         <translation>Geklickte Koordinate</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="313"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="320"/>
         <source>Open file</source>
         <translation>Datei öffnen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="314"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="321"/>
         <source>Search on web based on attribute's value</source>
         <translation>Websuche nach dem Attributwert durchführen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="314"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="321"/>
         <source>Search Web</source>
         <translation>Websuche</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="315"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="322"/>
         <source>List feature ids</source>
         <translation>Objektkennung auflisten</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="316"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="323"/>
         <source>Duplicate selected features</source>
         <translation>Gewählte Objekte duplizieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="316"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="323"/>
         <source>Duplicate selected</source>
         <translation>Duplikat gewählt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactiondialog.cpp" line="336"/>
+        <location filename="../src/app/qgsattributeactiondialog.cpp" line="344"/>
         <source>Edit Action</source>
         <translation>Aktion bearbeiten</translation>
     </message>
@@ -40362,31 +40523,36 @@ Ausdruckfehler:
         <translation><html><head/><body><p>Wenn nicht leer, schaltet dies das Abhören von Anbieterbenachrichtigung ein und die Aktion wird bei einer passenden Nachricht ausgeführt.</p></body></html></translation>
     </message>
     <message>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="191"/>
+        <source>Only when editable</source>
+        <translation>Nur wenn bearbeitbar</translation>
+    </message>
+    <message>
         <source>Show In Attribute Table</source>
         <translation type="vanished">In Attributtabelle anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="207"/>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="212"/>
         <source>Add a new action</source>
         <translation>Neue Aktion hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="224"/>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="229"/>
         <source>Show in Attribute Table</source>
         <translation>In Attributetablle anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="233"/>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="238"/>
         <source>Layout</source>
         <translation>Anordnung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="241"/>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="246"/>
         <source>Separate Buttons</source>
         <translation>Einzelne Knöpfe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="246"/>
+        <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="251"/>
         <source>Combo Box</source>
         <translation>Kombinationsfeld</translation>
     </message>
@@ -40419,18 +40585,18 @@ Ausdruckfehler:
 <context>
     <name>QgsAttributeActionPropertiesDialog</name>
     <message>
-        <location filename="../src/app/qgsattributeactionpropertiesdialog.cpp" line="138"/>
+        <location filename="../src/app/qgsattributeactionpropertiesdialog.cpp" line="143"/>
         <source>Select an action</source>
         <comment>File dialog window title</comment>
         <translation>Eine Aktion wählen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactionpropertiesdialog.cpp" line="162"/>
+        <location filename="../src/app/qgsattributeactionpropertiesdialog.cpp" line="167"/>
         <source>Images( %1 ); All( *.* )</source>
         <translation>Bilder (%1); Alle ( *.* )</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactionpropertiesdialog.cpp" line="163"/>
+        <location filename="../src/app/qgsattributeactionpropertiesdialog.cpp" line="168"/>
         <source>Choose Icon…</source>
         <translation>Icon wählen…</translation>
     </message>
@@ -40439,7 +40605,7 @@ Ausdruckfehler:
         <translation type="vanished">Icon wählen…</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributeactionpropertiesdialog.cpp" line="199"/>
+        <location filename="../src/app/qgsattributeactionpropertiesdialog.cpp" line="204"/>
         <source>Additional variables</source>
         <translation>Zusätzliche Variablen</translation>
     </message>
@@ -40461,37 +40627,37 @@ Ausdruckfehler:
         <translation>Aktionstext</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="60"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="78"/>
         <source>Inserts the selected field into the action</source>
         <translation>Fügt das gewählte Feld in die Aktion ein</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="63"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="81"/>
         <source>Insert</source>
         <translation>Einfügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="84"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="102"/>
         <source>Browse for action</source>
         <translation>Aktionen durchsuchen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="87"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="105"/>
         <source>Click to browse for an action</source>
         <translation>Zum Aktionen durchsuchen anklicken</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="90"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="108"/>
         <source>Clicking the button will let you select an application to use as the action</source>
         <translation>Mit diesem Knopf kann man eine Anwendung für diese Aktion wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="104"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="122"/>
         <source><html><head/><body><p>The action text defines what happens if the action is triggered.<br/>The content depends on the type.<br/>For the type <span style=" font-style:italic;">Python</span> the content should be python code<br/>For other types it should be a file or application with optional parameters</p></body></html></source>
         <translation><html><head/><body><p>Der Aktionstext legt fest was passiert wenn die Aktion ausgelöst wird.<br/>Der Inhalt hängt vom Typ ab.<br/>Für den Typ <span style=" font-style:italic;">Python</span> sollte der Inhalt Python-Code sein<br/>Für andere Typen sollte es eine Datei oder eine Anwendung mit optionalen Paameters sein</p></body></html></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="188"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="195"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
@@ -40505,99 +40671,104 @@ Ausdruckfehler:
         <translation>Beschreibung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="144"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="151"/>
         <source>Icon</source>
         <translation>Icon</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="266"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="273"/>
         <source>Short Name</source>
         <translation>Kurzname</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="205"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="212"/>
         <source>Generic</source>
         <translation>Allgemein</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="20"/>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="256"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="263"/>
         <source>Enter the name of an action here. The name should be unique (QGIS will make it unique if necessary).</source>
         <translation>Bitte Namen der Aktion eingeben. Der Name sollte eindeutig sein (QGIS macht ihn eindeutig, falls notwendig). </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="93"/>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="175"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="111"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="182"/>
         <source>…</source>
         <translation>…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="118"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="47"/>
         <source>Execute if notification matches</source>
         <translation>Bei passender Benachrichtung ausführen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="125"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="54"/>
         <source><html><head/><body><p>If specified, listen to data source notification and performs action if notification message matches the specified value.</p><p>E.g. to match message beginning with <span style=" font-weight:600;">whatever </span>use <span style=" font-weight:600;">^whatever</span></p></body></html></source>
         <translation><html><head/><body><p>Wenn angegeben werden Anbieterbenachrichtigungen abgehört und eine Aktion ausgeführt, wenn die Benachrichtigung dem gegebenen Wert entspricht.</p><p>Z.B. um Nachricht die mit <span style=" font-weight:600;">irgendwas </span>beginnen <span style=" font-weight:600;">^irgendwas</span> verwenden.</p></body></html></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="210"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="134"/>
+        <source>Enable only when editable</source>
+        <translation>Nur aktiv wenn bearbeitbar</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="217"/>
         <source>Python</source>
         <translation>Python</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="215"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="222"/>
         <source>Mac</source>
         <translation>Mac</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="220"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="227"/>
         <source>Windows</source>
         <translation>Windows</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="225"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="232"/>
         <source>Unix</source>
         <translation>Unix</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="230"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="237"/>
         <source>Open</source>
         <translation>Öffnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="241"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="248"/>
         <source>Action Scopes</source>
         <translation>Aktionsbereich</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="280"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="287"/>
         <source>Captures any output from the action</source>
         <translation>Ausgaben der Aktion aufzeichnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="283"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="290"/>
         <source>Captures the standard output or error generated by the action and displays it in a dialog box</source>
         <translation>Nimmt Ausgaben oder Aktion auf Standardausgabe- oder -fehlerkanal auf und zeigt ihn in einem Dialog an</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="286"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="293"/>
         <source>Capture output</source>
         <translation>Ausgaben aufzeichnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="253"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="260"/>
         <source>Enter the action name here</source>
         <translation>Namen der Aktion hier eingeben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="259"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="266"/>
         <source>Mandatory description</source>
         <translation>Zwingende Beschreibung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="273"/>
+        <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="280"/>
         <source>Leave empty to use only icon</source>
         <translation>Leer lassen um nur den Icon zu benutzen</translation>
     </message>
@@ -40609,7 +40780,7 @@ Ausdruckfehler:
 <context>
     <name>QgsAttributeDialog</name>
     <message>
-        <location filename="../src/gui/qgsattributedialog.cpp" line="79"/>
+        <location filename="../src/gui/qgsattributedialog.cpp" line="92"/>
         <source>%1 - Feature Attributes</source>
         <translation>%1 - Objektattribute</translation>
     </message>
@@ -40631,22 +40802,22 @@ Ausdruckfehler:
         <translation>Änderungen an bearbeiteten Objekten anwenden?</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="456"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="466"/>
         <source>%1 matching %2 selected</source>
         <translation>%1 passend zu %2 gewählt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="457"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="467"/>
         <source>feature</source>
         <translation>Objekt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="457"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="467"/>
         <source>features</source>
         <translation>Objekte</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="464"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="474"/>
         <source>No matching features found</source>
         <translation>Keine passenden Objekte gefunden</translation>
     </message>
@@ -40655,7 +40826,7 @@ Ausdruckfehler:
         <translation type="vanished">Änderungen werden auf alle gewählten Objekte angewendet</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="542"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="552"/>
         <source>Updated multiple feature attributes</source>
         <translation>Mehrere Objektattribute geändert</translation>
     </message>
@@ -40668,32 +40839,32 @@ Ausdruckfehler:
         <translation type="vanished">Änderungen konnten nicht angewendet werden</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="709"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="722"/>
         <source>Unsaved multiedit changes: <a href="#apply">apply changes</a> or <a href="#reset">reset changes</a>.</source>
         <translation>Nicht angewandte Mehrfachänderungen: <a href="#apply">anwenden</a> oder <a href="#reset">zurücksetzen</a>.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1538"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1552"/>
         <source>The python init function (<code>%1</code>) does not accept three arguments as expected!<br>Please check the function name in the <b>Fields</b> tab of the layer properties.</source>
         <translation>Die Python-Init-Funktion (<code>%1</code>) akzeptiert wider Erwarten keine drei Argumente!<br>Bitte den Funktionsnamen im Reiter <b>Felder</b> in den Layereigenschaften überprüfen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1997"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="2012"/>
         <source>No feature joined</source>
         <translation>Keine Objekte zusammengefaßt</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="2094"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="2109"/>
         <source>Join settings do not allow editing</source>
         <translation>Verknüpfungseinstellungen verbieten Bearbeitung</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="2100"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="2115"/>
         <source>Join settings do not allow upsert on edit</source>
         <translation>Verknüpfungseinstellungen verbieten Einfügung/Änderung bei Bearbeitung nicht</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="2106"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="2121"/>
         <source>Joined layer is not toggled editable</source>
         <translation>Bearbeitung des verknüpften Layers ist nicht eingeschaltet</translation>
     </message>
@@ -40714,88 +40885,88 @@ Ausdruckfehler:
         <translation type="vanished">Einschränkung:</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1349"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1363"/>
         <source>&Reset form</source>
         <translation>Formular &zurücksetzen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1368"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1382"/>
         <source>&Select features</source>
         <translation>&Objekte wählen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1374"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1388"/>
         <source>Select features</source>
         <translation>Objekt wählen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1378"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1392"/>
         <source>Add to current selection</source>
         <translation>Zu aktuellen Auswahl hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1386"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1400"/>
         <source>Filter current selection</source>
         <translation>Mit aktueller Auswahl filtern</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1382"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1396"/>
         <source>Remove from current selection</source>
         <translation>Aus aktueller Auswahl entfernen</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsattributeform.cpp" line="132"/>
-        <location filename="../src/gui/qgsattributeform.cpp" line="533"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="543"/>
         <source>Multiedit Attributes</source>
         <translation>Attributmehrfachbearbeitung</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="534"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="544"/>
         <source>Edits will be applied to all selected features.</source>
         <translation>Änderungen werden auf alle gewählten Objekte angewendet.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="560"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="570"/>
         <source>Attribute changes for multiple features applied.</source>
         <translation>Attributänderung für mehrere Objekt angewendet.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="565"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="575"/>
         <source>Changes could not be applied.</source>
         <translation>Änderungen konnten nicht angewendet werden.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1281"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1295"/>
         <source>Failed to create widget with type '%1'</source>
         <translation>Konnte Bedienelement vom Typ '%1' nicht erstellen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1356"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1370"/>
         <source>&Flash features</source>
         <translation>Objekte au&fleuchten lassen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1362"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1376"/>
         <source>&Zoom to features</source>
         <translation>Zum Objekten &zoomen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1396"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1410"/>
         <source>Filter features</source>
         <translation>Objekt filtern</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1401"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1415"/>
         <source>Filter within ("AND")</source>
         <translation>Filter innerhalb ("AND")</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1404"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1418"/>
         <source>Extend filter ("OR")</source>
         <translation>Filter erweitern ("OR")</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1412"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1426"/>
         <source>Close</source>
         <translation>Schließen</translation>
     </message>
@@ -40804,7 +40975,7 @@ Ausdruckfehler:
         <translation type="vanished">Die Python-Init-Funktion (<code>%1</code>) akzeptiert wider Erwarten keine drei Argumente!<br>Bitte den Funktionsnamen im Reiter <b>Felder</b> in den Layereigenschaften überprüfen.</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsattributeform.cpp" line="1554"/>
+        <location filename="../src/gui/qgsattributeform.cpp" line="1568"/>
         <source>The python init function (<code>%1</code>) could not be found!<br>Please check the function name in the <b>Fields</b> tab of the layer properties.</source>
         <translation>Die Python-Init-Funktion (<code>%1</code>) wurde nicht gefunden!<br>Bitte den Funktionsnamen im Reiter <b>Felder</b> der Layereigenschaften überprüfen.</translation>
     </message>
@@ -41062,7 +41233,7 @@ Ausdruckfehler:
     </message>
     <message>
         <location filename="../src/ui/qgsattributetabledialog.ui" line="252"/>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="385"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="366"/>
         <source>Update All</source>
         <translation>Alle aktualisieren</translation>
     </message>
@@ -41278,30 +41449,30 @@ Ausdruckfehler:
         </translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="377"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="358"/>
         <source> %1 :: Features Total: %2, Filtered: %3, Selected: %4</source>
         <translation>%1 :: Objekte gesamt:%2, gefiltert: %3, gewählt: %4</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="502"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="483"/>
         <source>An error occurred while trying to update the field %1</source>
         <translation>Ein Fehler trat bei der Aktualisierung des Felds %1 auf</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="561"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="542"/>
         <source>An error occurred while evaluating the calculation string:
 %1</source>
         <translation>Ein Fehler trat bei der Auswertung des Rechenausdrucks auf:
 %1</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="502"/>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="561"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="483"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="542"/>
         <source>Update Attributes</source>
         <translation>Attribute ändern</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="638"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="619"/>
         <source>Expression Based Filter</source>
         <translation>Ausdrucksbasierter Filter</translation>
     </message>
@@ -41310,27 +41481,27 @@ Ausdruckfehler:
         <translation type="vanished">Konnte Feld nicht hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="882"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="886"/>
         <source>Failed to add field '%1' of type '%2'. Is the field name unique?</source>
         <translation>Konnte Feld '%1' vom Typ '%2' nicht hinzufügen. Ist der Feldname eindeutig?</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="1015"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="1019"/>
         <source>Parsing error</source>
         <translation>Parsingfehler</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="1023"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="1027"/>
         <source>Evaluation error</source>
         <translation>Auswertungsfehler</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="1079"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="1083"/>
         <source>Delete feature</source>
         <translation>Objekt löschen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="387"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="368"/>
         <source>Update Filtered</source>
         <translation>Aktualisierung gefiltert</translation>
     </message>
@@ -41366,37 +41537,37 @@ Ausdruckfehler:
         <translation type="vanished">Ausdrucksbasierter Filter</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="874"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="878"/>
         <source>Attribute added</source>
         <translation>Attribut hinzugefügt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="882"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="886"/>
         <source>Add Field</source>
         <translation>Feld hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="910"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="914"/>
         <source>Deleted attribute</source>
         <translation>Attribut gelöscht</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="917"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="921"/>
         <source>The attribute(s) could not be deleted</source>
         <translation>Attribut(e) konnte(n) nicht gelöscht werden</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="917"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="921"/>
         <source>Attribute error</source>
         <translation>Attributfehler</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="1062"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="1066"/>
         <source>Error filtering</source>
         <translation>Fehlerfilterung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsattributetabledialog.cpp" line="744"/>
+        <location filename="../src/app/qgsattributetabledialog.cpp" line="725"/>
         <source>Geometryless feature added</source>
         <translation>Geometrieloses Objekt hinzugefügt</translation>
     </message>
@@ -41443,7 +41614,7 @@ Ausdruckfehler:
 <context>
     <name>QgsAttributeTableView</name>
     <message>
-        <location filename="../src/gui/attributetable/qgsattributetableview.cpp" line="333"/>
+        <location filename="../src/gui/attributetable/qgsattributetableview.cpp" line="340"/>
         <source>Select All</source>
         <translation>Alle wählen</translation>
     </message>
@@ -45741,35 +45912,59 @@ Sollen die vorhandenen Klassen vor der Klassifizierung gelöscht werden?</transl
     </message>
     <message>
         <location filename="../src/gui/qgscolorbutton.cpp" line="436"/>
-        <source>Clear color</source>
+        <source>Clear Color</source>
         <translation>Farbe leeren</translation>
     </message>
     <message>
         <location filename="../src/gui/qgscolorbutton.cpp" line="445"/>
-        <source>Default color</source>
+        <source>Default Color</source>
         <translation>Vorgabefarbe</translation>
     </message>
     <message>
         <location filename="../src/gui/qgscolorbutton.cpp" line="497"/>
-        <source>Copy color</source>
+        <source>Copy Color</source>
         <translation>Farbe kopieren</translation>
     </message>
     <message>
         <location filename="../src/gui/qgscolorbutton.cpp" line="501"/>
-        <source>Paste color</source>
+        <source>Paste Color</source>
         <translation>Farbe einfügen</translation>
     </message>
     <message>
         <location filename="../src/gui/qgscolorbutton.cpp" line="519"/>
-        <source>Pick color</source>
+        <source>Pick Color</source>
         <translation>Farbe abgreifen</translation>
     </message>
     <message>
         <location filename="../src/gui/qgscolorbutton.cpp" line="523"/>
-        <source>Choose color…</source>
+        <source>Choose Color…</source>
         <translation>Farbe auswählen…</translation>
     </message>
     <message>
+        <source>Clear color</source>
+        <translation type="vanished">Farbe leeren</translation>
+    </message>
+    <message>
+        <source>Default color</source>
+        <translation type="vanished">Vorgabefarbe</translation>
+    </message>
+    <message>
+        <source>Copy color</source>
+        <translation type="vanished">Farbe kopieren</translation>
+    </message>
+    <message>
+        <source>Paste color</source>
+        <translation type="vanished">Farbe einfügen</translation>
+    </message>
+    <message>
+        <source>Pick color</source>
+        <translation type="vanished">Farbe abgreifen</translation>
+    </message>
+    <message>
+        <source>Choose color…</source>
+        <translation type="vanished">Farbe auswählen…</translation>
+    </message>
+    <message>
         <source>Choose color...</source>
         <translation type="vanished">Farbe auswählen…</translation>
     </message>
@@ -45978,29 +46173,24 @@ Sollen die vorhandenen Klassen vor der Klassifizierung gelöscht werden?</transl
         <translation>Verlauf bearbeiten</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscolorrampbutton.cpp" line="233"/>
         <source>Invert color ramp</source>
-        <translation>Farbverlauf invertieren</translation>
+        <translation type="vanished">Farbverlauf invertieren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscolorrampbutton.cpp" line="240"/>
         <source>Clear current ramp</source>
-        <translation>Aktuellen Farbverlauf leeren</translation>
+        <translation type="vanished">Aktuellen Farbverlauf leeren</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscolorrampbutton.cpp" line="250"/>
         <source>Default color ramp</source>
-        <translation>Farbverlaufsvorgabe</translation>
+        <translation type="vanished">Farbverlaufsvorgabe</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscolorrampbutton.cpp" line="258"/>
         <source>Random color ramp</source>
-        <translation>Zufälliger Farbverlauf</translation>
+        <translation type="vanished">Zufälliger Farbverlauf</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscolorrampbutton.cpp" line="266"/>
         <source>Shuffle random colors</source>
-        <translation>Zufällige Farben mischen</translation>
+        <translation type="vanished">Zufällige Farben mischen</translation>
     </message>
     <message>
         <source>Create new color ramp...</source>
@@ -46015,18 +46205,55 @@ Sollen die vorhandenen Klassen vor der Klassifizierung gelöscht werden?</transl
         <translation type="vanished">Farbverlauf speichern…</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgscolorrampbutton.cpp" line="312"/>
         <source>Create new color ramp…</source>
+        <translation type="vanished">Erzeuge neuen Farbverlauf…</translation>
+    </message>
+    <message>
+        <source>Edit color ramp…</source>
+        <translation type="vanished">Farbverlauf bearbeiten…</translation>
+    </message>
+    <message>
+        <source>Save color ramp…</source>
+        <translation type="vanished">Farbverlauf speichern…</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgscolorrampbutton.cpp" line="233"/>
+        <source>Invert Color Ramp</source>
+        <translation>Farbverlauf invertieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgscolorrampbutton.cpp" line="240"/>
+        <source>Clear Current Ramp</source>
+        <translation>Aktuellen Farbverlauf leeren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgscolorrampbutton.cpp" line="250"/>
+        <source>Default Color Ramp</source>
+        <translation>Farbverlaufsvorgabe</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgscolorrampbutton.cpp" line="258"/>
+        <source>Random Color Ramp</source>
+        <translation>Zufälliger Farbverlauf</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgscolorrampbutton.cpp" line="266"/>
+        <source>Shuffle Random Colors</source>
+        <translation>Zufällige Farben mischen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgscolorrampbutton.cpp" line="312"/>
+        <source>Create New Color Ramp…</source>
         <translation>Erzeuge neuen Farbverlauf…</translation>
     </message>
     <message>
         <location filename="../src/gui/qgscolorrampbutton.cpp" line="316"/>
-        <source>Edit color ramp…</source>
+        <source>Edit Color Ramp…</source>
         <translation>Farbverlauf bearbeiten…</translation>
     </message>
     <message>
         <location filename="../src/gui/qgscolorrampbutton.cpp" line="321"/>
-        <source>Save color ramp…</source>
+        <source>Save Color Ramp…</source>
         <translation>Farbverlauf speichern…</translation>
     </message>
     <message>
@@ -53243,7 +53470,7 @@ und aktuelle Datei ist [%3]</translation>
 <context>
     <name>QgsDateTimeEdit</name>
     <message>
-        <location filename="../src/gui/editorwidgets/qgsdatetimeedit.cpp" line="33"/>
+        <location filename="../src/gui/editorwidgets/qgsdatetimeedit.cpp" line="35"/>
         <source>clear</source>
         <translation>leeren</translation>
     </message>
@@ -56619,54 +56846,43 @@ Parser-Fehler:
 %2</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="548"/>
         <source>Copy cell content</source>
-        <translation>Zelleninhalt kopieren</translation>
+        <translation type="vanished">Zelleninhalt kopieren</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="557"/>
         <source>Zoom to feature</source>
-        <translation>Zum Objekt zoomen</translation>
+        <translation type="vanished">Zum Objekt zoomen</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="558"/>
         <source>Pan to feature</source>
-        <translation>Zum Objekt bewegen</translation>
+        <translation type="vanished">Zum Objekt bewegen</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="559"/>
         <source>Flash feature</source>
-        <translation>Objekt aufleuchten lassen</translation>
+        <translation type="vanished">Objekt aufleuchten lassen</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="566"/>
         <source>Run layer action</source>
-        <translation>Layeraktion ausführen</translation>
+        <translation type="vanished">Layeraktion ausführen</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="602"/>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="604"/>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="606"/>
         <source>Open form</source>
-        <translation>Formular öffnen</translation>
+        <translation type="vanished">Formular öffnen</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="624"/>
         <source>&Hide column</source>
-        <translation>&Spalte verbergen</translation>
+        <translation type="vanished">&Spalte verbergen</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="628"/>
         <source>&Set width…</source>
-        <translation>Breite &setzen…</translation>
+        <translation type="vanished">Breite &setzen…</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="638"/>
         <source>&Organize columns…</source>
-        <translation>Spalten an&ordnen…</translation>
+        <translation type="vanished">Spalten an&ordnen…</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="641"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="644"/>
         <source>&Sort…</source>
         <translation>&Sortieren…</translation>
     </message>
@@ -56675,7 +56891,7 @@ Parser-Fehler:
         <translation type="vanished">&Breite setzen…</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="632"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="635"/>
         <source>&Autosize</source>
         <translation>&Autogröße</translation>
     </message>
@@ -56688,27 +56904,74 @@ Parser-Fehler:
         <translation type="vanished">&Sortieren…</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="699"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="548"/>
+        <source>Copy Cell Content</source>
+        <translation>Zelleninhalt kopieren</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="557"/>
+        <source>Zoom to Feature</source>
+        <translation>Zum Objekt zoomen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="558"/>
+        <source>Pan to Feature</source>
+        <translation>Zum Objekt bewegen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="559"/>
+        <source>Flash Feature</source>
+        <translation>Objekt aufleuchten lassen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="566"/>
+        <source>Run Layer Action</source>
+        <translation>Layeraktion ausführen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="605"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="607"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="609"/>
+        <source>Open Form</source>
+        <translation>Formular öffnen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="627"/>
+        <source>&Hide Column</source>
+        <translation>&Spalte verbergen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="631"/>
+        <source>&Set Width…</source>
+        <translation>Breite &setzen…</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="641"/>
+        <source>&Organize Columns…</source>
+        <translation>Spalten an&ordnen…</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="702"/>
         <source>Set column width</source>
         <translation>Spaltenbreite setzen</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="699"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="702"/>
         <source>Enter column width</source>
         <translation>Spaltenbreite eingeben</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="725"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="728"/>
         <source>Configure Attribute Table Sort Order</source>
         <translation>Attributsortierreihenfolge einstellen</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="935"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="938"/>
         <source>Loading features…</source>
         <translation>Lade Objekte…</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="936"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="939"/>
         <source>Attribute Table</source>
         <translation>Attributtabelle</translation>
     </message>
@@ -56717,12 +56980,12 @@ Parser-Fehler:
         <translation type="vanished">Attributsortierreihenfolge einstellen</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="733"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="736"/>
         <source>Defined sort order in attribute table</source>
         <translation>Definierte Sortierreihenfolge in Attributtabelle</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="749"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="752"/>
         <source>Sort ascending</source>
         <translation>Absteigend sortieren</translation>
     </message>
@@ -56731,7 +56994,7 @@ Parser-Fehler:
         <translation type="vanished">Lade Objekte…</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="935"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="938"/>
         <source>Abort</source>
         <translation>Abbrechen</translation>
     </message>
@@ -56740,7 +57003,7 @@ Parser-Fehler:
         <translation type="vanished">Attributtabelle</translation>
     </message>
     <message>
-        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="941"/>
+        <location filename="../src/gui/attributetable/qgsdualview.cpp" line="944"/>
         <source>%1 features loaded.</source>
         <translation>%1 Objekte geladen.</translation>
     </message>
@@ -57705,107 +57968,107 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>$area</source>
-        <translation type="vanished">$area</translation>
+        <translation>$area</translation>
     </message>
     <message>
         <source>42</source>
-        <translation type="vanished">42</translation>
+        <translation>42</translation>
     </message>
     <message>
         <source>In atlas generation, returns the current feature that is iterated over on the coverage layer. This can be used with the 'attribute' function to return attribute values from the current atlas feature.</source>
-        <translation type="vanished">Liefert bei einer Atlas-Erzeugung das aktuelle Objekt des Abdeckungslayers. Dies kann mit der Funktion 'attribute' verwendet werden um Attributwerte des aktuellen Atlas-Objekts zu bestimmen.</translation>
+        <translation>Liefert bei einer Atlas-Erzeugung das aktuelle Objekt des Abdeckungslayers. Dies kann mit der Funktion 'attribute' verwendet werden um Attributwerte des aktuellen Atlas-Objekts zu bestimmen.</translation>
     </message>
     <message>
         <source>$atlasfeature</source>
-        <translation type="vanished">$atlasfeature</translation>
+        <translation>$atlasfeature</translation>
     </message>
     <message>
         <source>attribute( $atlasfeature, 'name' )</source>
-        <translation type="vanished">attribute( $atlasfeature, 'name' )</translation>
+        <translation>attribute( $atlasfeature, 'name' )</translation>
     </message>
     <message>
         <source>value stored in 'name' attribute for the current atlas feature</source>
-        <translation type="vanished">Wert des Attributs 'name' des aktuellen Atlas-Objekts</translation>
+        <translation>Wert des Attributs 'name' des aktuellen Atlas-Objekts</translation>
     </message>
     <message>
         <source>Returns the feature id of the current row while using atlas. This enables you to use features of atlas in rules and for example show or hide features based on their id.</source>
-        <translation type="vanished">Liefert bei der Atlas-Erzeugung die Kennung des aktuellen Atlas-Objekts. Dies ermöglicht die Verwendung von Atlas-Objekten in Regeln und z.B. um Objekte nach Ihrer Objektkennung ein- und auszublenden.</translation>
+        <translation>Liefert bei der Atlas-Erzeugung die Kennung des aktuellen Atlas-Objekts. Dies ermöglicht die Verwendung von Atlas-Objekten in Regeln und z.B. um Objekte nach Ihrer Objektkennung ein- und auszublenden.</translation>
     </message>
     <message>
         <source>$atlasfeatureid</source>
-        <translation type="vanished">$atlasfeatureid</translation>
+        <translation>$atlasfeatureid</translation>
     </message>
     <message>
         <source>$atlasfeatureid = $id</source>
-        <translation type="vanished">$atlasfeatureid = $id</translation>
+        <translation>$atlasfeatureid = $id</translation>
     </message>
     <message>
         <source>true</source>
-        <translation type="vanished">true</translation>
+        <translation>true</translation>
     </message>
     <message>
         <source>Returns the geometry of the current feature iterated in atlas. Can be used for rule based display of geometry when using atlas. For example to only show geometries of other layers when their geometry intersects the iterated geometry of features using atlas.</source>
-        <translation type="vanished">Liefert bei Atlas-Erzeugung die Geometrie des aktuellen Atlas-Objektes. Kann zur regelbasierter Anzeige von Geometrie bei der Verwendung von Atlas verwendet werden. Z.B. um nur Geometrien anderer Layer anzuzeigen deren Geometrie die Geometrie des aktuellen Atlas-Objektes schneiden.</translation>
+        <translation>Liefert bei Atlas-Erzeugung die Geometrie des aktuellen Atlas-Objektes. Kann zur regelbasierter Anzeige von Geometrie bei der Verwendung von Atlas verwendet werden. Z.B. um nur Geometrien anderer Layer anzuzeigen deren Geometrie die Geometrie des aktuellen Atlas-Objektes schneiden.</translation>
     </message>
     <message>
         <source>$atlasgeometry</source>
-        <translation type="vanished">$atlasgeometry</translation>
+        <translation>$atlasgeometry</translation>
     </message>
     <message>
         <source>intersects( $atlasgeometry, $geometry )</source>
-        <translation type="vanished">intersects( $atlasgeometry, $geometry )</translation>
+        <translation>intersects( $atlasgeometry, $geometry )</translation>
     </message>
     <message>
         <source>Returns the current feature being evaluated. This can be used with the 'attribute' function to evaluate attribute values from the current feature.</source>
-        <translation type="vanished">Liefert das aktuellen Objekt. Dies kann mit der Funktion 'attribute' verwendet werde um Attributwerte des aktuellen objekts zu bestimmen.</translation>
+        <translation>Liefert das aktuellen Objekt. Dies kann mit der Funktion 'attribute' verwendet werde um Attributwerte des aktuellen objekts zu bestimmen.</translation>
     </message>
     <message>
         <source>$currentfeature</source>
-        <translation type="vanished">$currentfeature</translation>
+        <translation>$currentfeature</translation>
     </message>
     <message>
         <source>attribute( $currentfeature, 'name' )</source>
-        <translation type="vanished">attribute( $currentfeature, 'name' )</translation>
+        <translation>attribute( $currentfeature, 'name' )</translation>
     </message>
     <message>
         <source>value stored in 'name' attribute for the current feature</source>
-        <translation type="vanished">Wert des Attributs 'name' des aktuellen Atlas-Objekts</translation>
+        <translation>Wert des Attributs 'name' des aktuellen Atlas-Objekts</translation>
     </message>
     <message>
         <source>In atlas generation, returns the current feature number that is iterated over on the coverage layer.</source>
-        <translation type="vanished">Liefert bei Atlas-Erzeugung die aktuelle Objektnummer des Abdeckungslayers.</translation>
+        <translation>Liefert bei Atlas-Erzeugung die aktuelle Objektnummer des Abdeckungslayers.</translation>
     </message>
     <message>
         <source>$feature</source>
-        <translation type="vanished">$feature</translation>
+        <translation>$feature</translation>
     </message>
     <message>
         <source>2</source>
-        <translation type="vanished">2</translation>
+        <translation>2</translation>
     </message>
     <message>
         <source>Returns the geometry of the current feature. Can be used for processing with other functions.</source>
-        <translation type="vanished">Liefert die Geometrie des aktuellen Objekts. Kann zur Verarbeitung mit anderen Funktionen verwendet werden.</translation>
+        <translation>Liefert die Geometrie des aktuellen Objekts. Kann zur Verarbeitung mit anderen Funktionen verwendet werden.</translation>
     </message>
     <message>
         <source>$geometry</source>
-        <translation type="vanished">$geometry</translation>
+        <translation>$geometry</translation>
     </message>
     <message>
         <source>geomToWKT( $geometry )</source>
-        <translation type="vanished">geomToWKT( $geometry )</translation>
+        <translation>geomToWKT( $geometry )</translation>
     </message>
     <message>
         <source>POINT(6 50)</source>
-        <translation type="vanished">POINT(6 50)</translation>
+        <translation>POINT(6 50)</translation>
     </message>
     <message>
         <source>Returns the feature id of the current row.</source>
-        <translation type="vanished">Liefert die Objektkennung der aktuellen Zeile.</translation>
+        <translation>Liefert die Objektkennung der aktuellen Zeile.</translation>
     </message>
     <message>
         <source>$id</source>
-        <translation type="vanished">$id</translation>
+        <translation>$id</translation>
     </message>
     <message>
         <source>Returns the length of a linestring. If you need the length of a border of a polygon, use $perimeter instead. The length calculated by this function respects both the current project's ellipsoid setting and distance unit settings. Eg, if an ellipsoid has been set for the project then the calculated length will be ellipsoidal, and if no ellipsoid is set then the calculated length will be planimetric.</source>
@@ -57813,51 +58076,51 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>$length</source>
-        <translation type="vanished">$length</translation>
+        <translation>$length</translation>
     </message>
     <message>
         <source>42.4711</source>
-        <translation type="vanished">42.4711</translation>
+        <translation>42.4711</translation>
     </message>
     <message>
         <source>Returns the id of the current map item if the map is being drawn in a composition, or "canvas" if the map is being drawn within the main QGIS window.</source>
-        <translation type="vanished">Liefert die Kennung des aktuellen Kartenelements, wenn die Karte in einer Zusammenstellung oder "canvas", wenn die Karte im QGIS-Kartenfenster gezeichnet wird.</translation>
+        <translation>Liefert die Kennung des aktuellen Kartenelements, wenn die Karte in einer Zusammenstellung oder "canvas", wenn die Karte im QGIS-Kartenfenster gezeichnet wird.</translation>
     </message>
     <message>
         <source>$map</source>
-        <translation type="vanished">$map</translation>
+        <translation>$map</translation>
     </message>
     <message>
         <source>"overview_map"</source>
-        <translation type="vanished">"overview_map"</translation>
+        <translation>"overview_map"</translation>
     </message>
     <message>
         <source>"canvas"</source>
-        <translation type="vanished">"canvas"</translation>
+        <translation>"canvas"</translation>
     </message>
     <message>
         <source>In atlas generation, returns the total number of features within the coverage layer.</source>
-        <translation type="vanished">Liefert bei Atlas-Erzeugung die Gesamtzahl der Objekte im Abdeckungslayer.</translation>
+        <translation>Liefert bei Atlas-Erzeugung die Gesamtzahl der Objekte im Abdeckungslayer.</translation>
     </message>
     <message>
         <source>$numfeatures</source>
-        <translation type="vanished">$numfeatures</translation>
+        <translation>$numfeatures</translation>
     </message>
     <message>
         <source>Returns the total number of pages in the composition.</source>
-        <translation type="vanished">Liefert die Gesamtseitenzahl einer Zusammenstellung.</translation>
+        <translation>Liefert die Gesamtseitenzahl einer Zusammenstellung.</translation>
     </message>
     <message>
         <source>$numpages</source>
-        <translation type="vanished">$numpages</translation>
+        <translation>$numpages</translation>
     </message>
     <message>
         <source>Returns the current page number within a composition.</source>
-        <translation type="vanished">Liefert die aktuelle Seitennummer in einer Zusammenstellung.</translation>
+        <translation>Liefert die aktuelle Seitennummer in einer Zusammenstellung.</translation>
     </message>
     <message>
         <source>$page</source>
-        <translation type="vanished">$page</translation>
+        <translation>$page</translation>
     </message>
     <message>
         <source>Returns the perimeter length of the current feature. The perimeter calculated by this function respects both the current project's ellipsoid setting and distance unit settings. Eg, if an ellipsoid has been set for the project then the calculated perimeter will be ellipsoidal, and if no ellipsoid is set then the calculated perimeter will be planimetric.</source>
@@ -57865,83 +58128,83 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>$perimeter</source>
-        <translation type="vanished">$perimeter</translation>
+        <translation>$perimeter</translation>
     </message>
     <message>
         <source>Returns the number of the current row.</source>
-        <translation type="vanished">Liefert die aktuelle Zeilennummer.</translation>
+        <translation>Liefert die aktuelle Zeilennummer.</translation>
     </message>
     <message>
         <source>$rownum</source>
-        <translation type="vanished">$rownum</translation>
+        <translation>$rownum</translation>
     </message>
     <message>
         <source>4711</source>
-        <translation type="vanished">4711</translation>
+        <translation>4711</translation>
     </message>
     <message>
         <source>$scale</source>
-        <translation type="vanished">$scale</translation>
+        <translation>$scale</translation>
     </message>
     <message>
         <source>10000</source>
-        <translation type="vanished">10000</translation>
+        <translation>10000</translation>
     </message>
     <message>
         <source>Returns the x coordinate of the current feature.</source>
-        <translation type="vanished">Liefert die X-Koordinate des aktuellen Objekts.</translation>
+        <translation>Liefert die X-Koordinate des aktuellen Objekts.</translation>
     </message>
     <message>
         <source>$x</source>
-        <translation type="vanished">$x</translation>
+        <translation>$x</translation>
     </message>
     <message>
         <source>Retrieves a x coordinate of the current feature's geometry.</source>
-        <translation type="vanished">Liefert eine X-Koordinate der Geometrie des aktuellen Objekts.</translation>
+        <translation>Liefert eine X-Koordinate der Geometrie des aktuellen Objekts.</translation>
     </message>
     <message>
         <source>$x_at</source>
-        <translation type="vanished">$x_at</translation>
+        <translation>$x_at</translation>
     </message>
     <message>
         <source>index of point of a line (indices start at 0; negative values apply from the last index)</source>
-        <translation type="vanished">Linienpunktindex (Indizes beginnen bei 0; negative Werte beziehen sich auf den letzten Index)</translation>
+        <translation>Linienpunktindex (Indizes beginnen bei 0; negative Werte beziehen sich auf den letzten Index)</translation>
     </message>
     <message>
         <source>$x_at(1)</source>
-        <translation type="vanished">$x_at(1)</translation>
+        <translation>$x_at(1)</translation>
     </message>
     <message>
         <source>5</source>
-        <translation type="vanished">5</translation>
+        <translation>5</translation>
     </message>
     <message>
         <source>Returns the y coordinate of the current feature.</source>
-        <translation type="vanished">Liefert die Y-Koordinate des aktuellen Objekts.</translation>
+        <translation>Liefert die Y-Koordinate des aktuellen Objekts.</translation>
     </message>
     <message>
         <source>$y</source>
-        <translation type="vanished">$y</translation>
+        <translation>$y</translation>
     </message>
     <message>
         <source>Retrieves a y coordinate of the current feature's geometry.</source>
-        <translation type="vanished">Liefert eine Y-Koordinate der Geometrie des aktuellen Objekts.</translation>
+        <translation>Liefert eine Y-Koordinate der Geometrie des aktuellen Objekts.</translation>
     </message>
     <message>
         <source>$y_at</source>
-        <translation type="vanished">$y_at</translation>
+        <translation>$y_at</translation>
     </message>
     <message>
         <source>$y_at(1)</source>
-        <translation type="vanished">$y_at(1)</translation>
+        <translation>$y_at(1)</translation>
     </message>
     <message>
         <source>Returns 1 when condition a and b are true.</source>
-        <translation type="vanished">Liefert 1, wenn die Bedingungen a und b erfüllt sind.</translation>
+        <translation>Liefert 1, wenn die Bedingungen a und b erfüllt sind.</translation>
     </message>
     <message>
         <source>AND</source>
-        <translation type="vanished">AND</translation>
+        <translation>AND</translation>
     </message>
     <message>
         <source>condition</source>
@@ -57949,67 +58212,67 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>TRUE AND TRUE</source>
-        <translation type="vanished">TRUE AND TRUE</translation>
+        <translation>TRUE AND TRUE</translation>
     </message>
     <message>
         <source>1</source>
-        <translation type="vanished">1</translation>
+        <translation>1</translation>
     </message>
     <message>
         <source>TRUE AND FALSE</source>
-        <translation type="vanished">TRUE AND FALSE</translation>
+        <translation>TRUE AND FALSE</translation>
     </message>
     <message>
         <source>0</source>
-        <translation type="vanished">0</translation>
+        <translation>0</translation>
     </message>
     <message>
         <source>4 = 2+2 AND 1 = 1</source>
-        <translation type="vanished">4 = 2+2 AND 1 = 1</translation>
+        <translation>4 = 2+2 AND 1 = 1</translation>
     </message>
     <message>
         <source>4 = 2+2 AND 1 = 2</source>
-        <translation type="vanished">4 = 2+2 AND 1 = 1</translation>
+        <translation>4 = 2+2 AND 1 = 1</translation>
     </message>
     <message>
         <source><pre><br>CASE<br>WHEN <i>condition</i> THEN <i>result</i><br>[ ...n ]<br>[ ELSE <i>result</i> ]<br>END<br></pre>[ ] marks optional components<br><h4>Arguments</h4><br><i>  WHEN condition</i> - The condition expression to evaluate. <br><br><i>  THEN result</i> - If <i>condition</i> evaluates to True then <i>result [...]
-        <translation type="vanished"><pre><br>CASE<br>WHEN <i>bedingung</i> THEN <i>ergebnis</i><br>[ …n ]<br>[ ELSE <i>ergebnis</i> ]<br>END<br></pre><br>[ ] bezeichnet optionale Elemente<br><h4>Argumente</h4><br><div class="arguments"><br><table><br><tr><td class="argument">WHEN bedingung</td><td>Der auszuw [...]
+        <translation><pre><br>CASE<br>WHEN <i>bedingung</i> THEN <i>ergebnis</i><br>[ …n ]<br>[ ELSE <i>ergebnis</i> ]<br>END<br></pre><br>[ ] bezeichnet optionale Elemente<br><h4>Argumente</h4><br><div class="arguments"><br><table><br><tr><td class="argument">WHEN bedingung</td><td>Der auszuwertende Bedingun [...]
     </message>
     <message>
         <source>CASE</source>
-        <translation type="vanished">CASE</translation>
+        <translation>CASE</translation>
     </message>
     <message>
         <source>This group contains functions for manipulating colors</source>
-        <translation type="vanished">Diese Gruppe enthält Funktionen zur Farbmanipulation</translation>
+        <translation>Diese Gruppe enthält Funktionen zur Farbmanipulation</translation>
     </message>
     <message>
         <source>This group contains functions to handle conditional checks in expressions.</source>
-        <translation type="vanished">Diese Gruppe enthält Funktionen um bedingte Prüfungen in Ausdrücken zu handhaben.</translation>
+        <translation>Diese Gruppe enthält Funktionen um bedingte Prüfungen in Ausdrücken zu handhaben.</translation>
     </message>
     <message>
         <source>This group contains functions that operate on condition.</source>
-        <translation type="vanished">Diese Gruppe enthält Funktion für Bedingungen.</translation>
+        <translation>Diese Gruppe enthält Funktion für Bedingungen.</translation>
     </message>
     <message>
         <source>Conditions</source>
-        <translation type="vanished">Bedingungen</translation>
+        <translation>Bedingungen</translation>
     </message>
     <message>
         <source>This group contains functions to convert on data type to another e.g string to integer, integer to string.</source>
-        <translation type="vanished">Diese Gruppe enthält Funktionen, die einen Datentypen in einen anderen umwandeln (z.B. Zeichenketten zu Ganzzahlen oder zurück).</translation>
+        <translation>Diese Gruppe enthält Funktionen, die einen Datentypen in einen anderen umwandeln (z.B. Zeichenketten zu Ganzzahlen oder zurück).</translation>
     </message>
     <message>
         <source>This group contains custom user-created Python functions.</source>
-        <translation type="vanished">Diese Gruppe enthält benutzerdefinierte Python-Funktionen.</translation>
+        <translation>Diese Gruppe enthält benutzerdefinierte Python-Funktionen.</translation>
     </message>
     <message>
         <source>Custom</source>
-        <translation type="vanished">Angepaßt</translation>
+        <translation>Angepaßt</translation>
     </message>
     <message>
         <source>This group contains functions for handling date and time data.</source>
-        <translation type="vanished">Diese Gruppe enthält Funktionen die auf Datums- und Zeitdaten angewendet werden können.</translation>
+        <translation>Diese Gruppe enthält Funktionen die auf Datums- und Zeitdaten angewendet werden können.</translation>
     </message>
     <message>
         <source>Double click to add field name to expression string.<br>Right-Click on field name to open context menu sample value loading options.</source>
@@ -58017,41 +58280,41 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Field</source>
-        <translation type="vanished">Feld</translation>
+        <translation>Feld</translation>
     </message>
     <message>
         <source>Loading field values from WFS layers isn't supported, before the layer is actually inserted, ie. when building queries.</source>
-        <translation type="vanished">Das Laden von Werten aus noch nicht eingefügten WFS-Layern ist nicht unterstützt, z.B. beim Erstellen von Abfragen.</translation>
+        <translation>Das Laden von Werten aus noch nicht eingefügten WFS-Layern ist nicht unterstützt, z.B. beim Erstellen von Abfragen.</translation>
     </message>
     <message>
         <source>Contains a list of fields from the layer.  Sample values can also be accessed via right-click.<br>Select the field name from the list then right-click to access context menu with options to load sample values from the selected field.</source>
-        <translation type="vanished">Enthält eine Liste von Feldern des Layers.  Beispielwerte können auch über Rechtsklick erreicht werden.<br>Einen Feldnamen aus der Liste wählen und dann Rechtklicken, um über das Kontextmenü Beispielwerten aus dem gewählten Felds zu laden.</translation>
+        <translation>Enthält eine Liste von Feldern des Layers.  Beispielwerte können auch über Rechtsklick erreicht werden.<br>Einen Feldnamen aus der Liste wählen und dann Rechtklicken, um über das Kontextmenü Beispielwerten aus dem gewählten Felds zu laden.</translation>
     </message>
     <message>
         <source>This group contains functions for fuzzy comparisons between values.</source>
-        <translation type="vanished">Diese Gruppe enthält unscharfe Vergleichsfunktionen zwischen Werten.</translation>
+        <translation>Diese Gruppe enthält unscharfe Vergleichsfunktionen zwischen Werten.</translation>
     </message>
     <message>
         <source>This group contains general assorted functions.</source>
-        <translation type="vanished">Diese Gruppe enthält allgemeine Funktionen.
+        <translation>Diese Gruppe enthält allgemeine Funktionen.
 </translation>
     </message>
     <message>
         <source>This group contains functions that operate on geometry objects e.g length, area.</source>
-        <translation type="vanished">Diese Gruppe enthält Funktionen für Geometrieobjekte (z.B. Länge und Flächeninhalt).
+        <translation>Diese Gruppe enthält Funktionen für Geometrieobjekte (z.B. Länge und Flächeninhalt).
 </translation>
     </message>
     <message>
         <source>GeometryGroup</source>
-        <translation type="vanished">GeometryGroup</translation>
+        <translation>GeometryGroup</translation>
     </message>
     <message>
         <source>Returns 1 if the first parameter matches case-insensitive the supplied pattern. LIKE can be used instead of ILIKE to make the match case-sensitive. Works with numbers also.</source>
-        <translation type="vanished">Liefert 1, wenn der erste Parameter ohne Berücksichtung der Groß-/Kleinschreibung zum gegebenen Muster paßt. LIKE kann statt ILIKE benutzt werden ,damit die Groß-/Kleinschreibung berücksichtigt wird.  Funktioniert auch mit Zahlen.</translation>
+        <translation>Liefert 1, wenn der erste Parameter ohne Berücksichtung der Groß-/Kleinschreibung zum gegebenen Muster paßt. LIKE kann statt ILIKE benutzt werden ,damit die Groß-/Kleinschreibung berücksichtigt wird.  Funktioniert auch mit Zahlen.</translation>
     </message>
     <message>
         <source>ILIKE</source>
-        <translation type="vanished">ILIKE</translation>
+        <translation>ILIKE</translation>
     </message>
     <message>
         <source>string to search</source>
@@ -58063,23 +58326,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>'A' ILIKE 'A'</source>
-        <translation type="vanished">'A' ILIKE 'A'</translation>
+        <translation>'A' ILIKE 'A'</translation>
     </message>
     <message>
         <source>'A' ILIKE 'a'</source>
-        <translation type="vanished">'A' ILIKE 'a'</translation>
+        <translation>'A' ILIKE 'a'</translation>
     </message>
     <message>
         <source>'A' ILIKE 'B'</source>
-        <translation type="vanished">'A' ILIKE 'B'</translation>
+        <translation>'A' ILIKE 'B'</translation>
     </message>
     <message>
         <source>'ABC' ILIKE 'b'</source>
-        <translation type="vanished">'ABC' ILIKE 'b'</translation>
+        <translation>'ABC' ILIKE 'b'</translation>
     </message>
     <message>
         <source>'ABC' ILIKE 'B'</source>
-        <translation type="vanished">'ABC' ILIKE 'B'</translation>
+        <translation>'ABC' ILIKE 'B'</translation>
     </message>
     <message>
         <source>'ABC' ILIKE '%b%'</source>
@@ -58091,15 +58354,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Returns 1 if value is found within a list of values.</source>
-        <translation type="vanished">Liefert 1, wenn der Wert in der Werteliste vorkommt.</translation>
+        <translation>Liefert 1, wenn der Wert in der Werteliste vorkommt.</translation>
     </message>
     <message>
         <source>IN</source>
-        <translation type="vanished">IN</translation>
+        <translation>IN</translation>
     </message>
     <message>
         <source>value</source>
-        <translation type="vanished">Wert</translation>
+        <translation>Wert</translation>
     </message>
     <message>
         <source>list of values</source>
@@ -58107,19 +58370,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>'A' IN ('A','B')</source>
-        <translation type="vanished">'A' IN ('A','B')</translation>
+        <translation>'A' IN ('A','B')</translation>
     </message>
     <message>
         <source>'A' IN ('C','B')</source>
-        <translation type="vanished">'A' IN ('C','B')</translation>
+        <translation>'A' IN ('C','B')</translation>
     </message>
     <message>
         <source>Returns 1 if a is the same as b.</source>
-        <translation type="vanished">Liefert 1, wenn a b entspricht.</translation>
+        <translation>Liefert 1, wenn a b entspricht.</translation>
     </message>
     <message>
         <source>IS</source>
-        <translation type="vanished">IS</translation>
+        <translation>IS</translation>
     </message>
     <message>
         <source>any value</source>
@@ -58127,59 +58390,59 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>'A' IS 'A'</source>
-        <translation type="vanished">'A' IS 'A'</translation>
+        <translation>'A' IS 'A'</translation>
     </message>
     <message>
         <source>'A' IS 'a'</source>
-        <translation type="vanished">'A' IS 'a'</translation>
+        <translation>'A' IS 'a'</translation>
     </message>
     <message>
         <source>4 IS 4</source>
-        <translation type="vanished">4 IS 4</translation>
+        <translation>4 IS 4</translation>
     </message>
     <message>
         <source>4 IS 2+2</source>
-        <translation type="vanished">4 IS 2+2</translation>
+        <translation>4 IS 2+2</translation>
     </message>
     <message>
         <source>4 IS 2</source>
-        <translation type="vanished">4 IS 2</translation>
+        <translation>4 IS 2</translation>
     </message>
     <message>
         <source>$geometry IS NULL</source>
-        <translation type="vanished">$geometry IS NULL</translation>
+        <translation>$geometry IS NULL</translation>
     </message>
     <message>
         <source>0, if your geometry is not NULL</source>
-        <translation type="vanished">0, wenn die Geometrie nicht NULL ist</translation>
+        <translation>0, wenn die Geometrie nicht NULL ist</translation>
     </message>
     <message>
         <source>Returns 1 if a is not the same as b.</source>
-        <translation type="vanished">Liefert 1, wenn a nicht gleich b ist.</translation>
+        <translation>Liefert 1, wenn a nicht gleich b ist.</translation>
     </message>
     <message>
         <source>IS NOT</source>
-        <translation type="vanished">IS NOT</translation>
+        <translation>IS NOT</translation>
     </message>
     <message>
         <source>'a' IS NOT 'b'</source>
-        <translation type="vanished">'a' IS NOT 'b'</translation>
+        <translation>'a' IS NOT 'b'</translation>
     </message>
     <message>
         <source>'a' IS NOT 'a'</source>
-        <translation type="vanished">'a' IS NOT 'a'</translation>
+        <translation>'a' IS NOT 'a'</translation>
     </message>
     <message>
         <source>4 IS NOT 2+2</source>
-        <translation type="vanished">4 IS NOT 2+2</translation>
+        <translation>4 IS NOT 2+2</translation>
     </message>
     <message>
         <source>Returns 1 if the first parameter matches the supplied pattern. Works with numbers also.</source>
-        <translation type="vanished">Liefert 1, wenn der erste Parameter zum gegebenen Muster paßt. Funktioniert auch mit Zahlen.</translation>
+        <translation>Liefert 1, wenn der erste Parameter zum gegebenen Muster paßt. Funktioniert auch mit Zahlen.</translation>
     </message>
     <message>
         <source>LIKE</source>
-        <translation type="vanished">LIKE</translation>
+        <translation>LIKE</translation>
     </message>
     <message>
         <source>pattern to compare value with</source>
@@ -58187,19 +58450,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>'A' LIKE 'A'</source>
-        <translation type="vanished">'A' LIKE 'A'</translation>
+        <translation>'A' LIKE 'A'</translation>
     </message>
     <message>
         <source>'A' LIKE 'a'</source>
-        <translation type="vanished">'A' LIKE 'a'</translation>
+        <translation>'A' LIKE 'a'</translation>
     </message>
     <message>
         <source>'A' LIKE 'B'</source>
-        <translation type="vanished">'A' LIKE 'B'</translation>
+        <translation>'A' LIKE 'B'</translation>
     </message>
     <message>
         <source>'ABC' LIKE 'B'</source>
-        <translation type="vanished">'ABC' LIKE 'B'</translation>
+        <translation>'ABC' LIKE 'B'</translation>
     </message>
     <message>
         <source>'ABC' LIKE '%B%'</source>
@@ -58207,473 +58470,473 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This group contains math functions e.g square root, sin and cos</source>
-        <translation type="vanished">Die Gruppe enthält mathematische Funktionen (z.B. Quadratwurzel, Sinus und Cosinus)
+        <translation>Die Gruppe enthält mathematische Funktionen (z.B. Quadratwurzel, Sinus und Cosinus)
 </translation>
     </message>
     <message>
         <source>Negates a condition.</source>
-        <translation type="vanished">Negiert eine Bedingung.</translation>
+        <translation>Negiert eine Bedingung.</translation>
     </message>
     <message>
         <source>NOT</source>
-        <translation type="vanished">NOT</translation>
+        <translation>NOT</translation>
     </message>
     <message>
         <source>NOT 1</source>
-        <translation type="vanished">NOT 1</translation>
+        <translation>NOT 1</translation>
     </message>
     <message>
         <source>NOT 0</source>
-        <translation type="vanished">NOT 0</translation>
+        <translation>NOT 0</translation>
     </message>
     <message>
         <source>Equates to a null value.</source>
-        <translation type="vanished">entspricht dem Nullwert.</translation>
+        <translation>entspricht dem Nullwert.</translation>
     </message>
     <message>
         <source>NULL</source>
-        <translation type="vanished">NULL</translation>
+        <translation>NULL</translation>
     </message>
     <message>
         <source>a null value</source>
-        <translation type="vanished">ein Nullwert</translation>
+        <translation>ein Nullwert</translation>
     </message>
     <message>
         <source>To test for NULL use an <pre>IS NULL</pre> or <pre>IS NOT NULL</pre> expression.</source>
-        <translation type="vanished">Um auf NULL zu prüfen <pre>IS NULL</pre> oder <pre>IS NOT NULL</pre> verwenden.</translation>
+        <translation>Um auf NULL zu prüfen <pre>IS NULL</pre> oder <pre>IS NOT NULL</pre> verwenden.</translation>
     </message>
     <message>
         <source>Returns 1 when condition a or b is true.</source>
-        <translation type="vanished">Liefert 1, wenn die Bedingung a oder b erfüllt ist.</translation>
+        <translation>Liefert 1, wenn die Bedingung a oder b erfüllt ist.</translation>
     </message>
     <message>
         <source>OR</source>
-        <translation type="vanished">OR</translation>
+        <translation>OR</translation>
     </message>
     <message>
         <source>4 = 2+2 OR 1 = 1</source>
-        <translation type="vanished">4 = 2+2 OR 1 = 1</translation>
+        <translation>4 = 2+2 OR 1 = 1</translation>
     </message>
     <message>
         <source>4 = 2+2 OR 1 = 2</source>
-        <translation type="vanished">4 = 2+2 OR 1 = 2</translation>
+        <translation>4 = 2+2 OR 1 = 2</translation>
     </message>
     <message>
         <source>4 = 2   OR 1 = 2</source>
-        <translation type="vanished">4 = 2   OR 1 = 2</translation>
+        <translation>4 = 2   OR 1 = 2</translation>
     </message>
     <message>
         <source>This group contains operators e.g + - *</source>
-        <translation type="vanished">Die Gruppe enthält Operatoren (z.B. +, - und *)
+        <translation>Die Gruppe enthält Operatoren (z.B. +, - und *)
 </translation>
     </message>
     <message>
         <source>This group contains recently used expressions.</source>
-        <translation type="vanished">Diese Gruppe enthält kürzlich verwendete Ausdrücke.</translation>
+        <translation>Diese Gruppe enthält kürzlich verwendete Ausdrücke.</translation>
     </message>
     <message>
         <source>Recent (Selection)</source>
-        <translation type="vanished">Kürzlich verwendet (Auswahl)</translation>
+        <translation>Kürzlich verwendet (Auswahl)</translation>
     </message>
     <message>
         <source>This group contains functions that operate on record identifiers.</source>
-        <translation type="vanished">Diese Gruppe enthält Funktionen die sich auf datensatzbezeichner beziehen.</translation>
+        <translation>Diese Gruppe enthält Funktionen die sich auf datensatzbezeichner beziehen.</translation>
     </message>
     <message>
         <source>This group contains functions that operate on strings e.g replace, convert to upper case.</source>
-        <translation type="vanished">Dies Gruppen enthält Funktionen für Zeichenketten (z.B. Ersetzen und in Großbuchstaben umwandeln).</translation>
+        <translation>Dies Gruppen enthält Funktionen für Zeichenketten (z.B. Ersetzen und in Großbuchstaben umwandeln).</translation>
     </message>
     <message>
         <source>This group contains dynamic variables which can be inserted into your expressions.</source>
-        <translation type="vanished">Diese Gruppe enthält dynamische Variablen, die in Ausdrücken verwendet werden können.</translation>
+        <translation>Diese Gruppe enthält dynamische Variablen, die in Ausdrücken verwendet werden können.</translation>
     </message>
     <message>
         <source>Returns the absolute value of a number.</source>
-        <translation type="vanished">Liefert den Betrag einer Zahl.</translation>
+        <translation>Liefert den Betrag einer Zahl.</translation>
     </message>
     <message>
         <source>abs</source>
-        <translation type="vanished">abs</translation>
+        <translation>abs</translation>
     </message>
     <message>
         <source>a number</source>
-        <translation type="vanished">eine Zahl</translation>
+        <translation>eine Zahl</translation>
     </message>
     <message>
         <source>abs(-2)</source>
-        <translation type="vanished">abs(-2)</translation>
+        <translation>abs(-2)</translation>
     </message>
     <message>
         <source>Returns the inverse cosine of a value in radians.</source>
-        <translation type="vanished">Liefert den inversen Kosinus eines Wert im Bogenmaß.</translation>
+        <translation>Liefert den inversen Kosinus eines Wert im Bogenmaß.</translation>
     </message>
     <message>
         <source>acos</source>
-        <translation type="vanished">acos</translation>
+        <translation>acos</translation>
     </message>
     <message>
         <source>cosine of an angle in radians</source>
-        <translation type="vanished">Kosinus eines Winkels im Bogenmaß</translation>
+        <translation>Kosinus eines Winkels im Bogenmaß</translation>
     </message>
     <message>
         <source>acos(0.5)</source>
-        <translation type="vanished">acos(0.5)</translation>
+        <translation>acos(0.5)</translation>
     </message>
     <message>
         <source>1.0471975511966</source>
-        <translation type="vanished">1.0471975511966</translation>
+        <translation>1.0471975511966</translation>
     </message>
     <message>
         <source>Returns the difference between two dates or datetimes.<br>The difference is returned as a <code>Interval</code> and needs to be used with one of the following functions in order to extract useful information:<br /><ul><li><code>year</code><li><code>month</code><li><code>week</code><li><code>day</code><li><code>hour</code><li><code>minute</ [...]
-        <translation type="vanished">Liefert die Differenz zwischen zwei Daten oder Zeitpunkten.<br>Die Differenz wird als <code>Intervall</code> zurückgegeben und muß mit einer der folgenden Funktionen dekodiert werden, um brauchbare Informationen zu erhalten:<br/><ul><li><code>year</code><li><code>month</code><li><code>week</code><li><code>day</code><li><code>hour</code& [...]
+        <translation>Liefert die Differenz zwischen zwei Daten oder Zeitpunkten.<br>Die Differenz wird als <code>Intervall</code> zurückgegeben und muß mit einer der folgenden Funktionen dekodiert werden, um brauchbare Informationen zu erhalten:<br/><ul><li><code>year</code><li><code>month</code><li><code>week</code><li><code>day</code><li><code>hour</code><li>&lt [...]
     </message>
     <message>
         <source>age</source>
-        <translation type="vanished">age</translation>
+        <translation>age</translation>
     </message>
     <message>
         <source>a string, date or datetime representing the later date</source>
-        <translation type="vanished">Intervallende als Zeichenkette, Datum oder Zeitpunkt</translation>
+        <translation>Intervallende als Zeichenkette, Datum oder Zeitpunkt</translation>
     </message>
     <message>
         <source>a string, date or datetime representing the earlier date</source>
-        <translation type="vanished">Intervallbeginn als Zeichenkette, Datum oder Zeitpunkt</translation>
+        <translation>Intervallbeginn als Zeichenkette, Datum oder Zeitpunkt</translation>
     </message>
     <message>
         <source>age('2012-05-12','2012-05-2')</source>
-        <translation type="vanished">age('2012-05-12','2012-05-2')</translation>
+        <translation>age('2012-05-12','2012-05-2')</translation>
     </message>
     <message>
         <source>interval</source>
-        <translation type="vanished">Intervall</translation>
+        <translation>Intervall</translation>
     </message>
     <message>
         <source>use <code>day</code> to extract number of days</source>
-        <translation type="vanished"><code>day</code> verwenden um die Anzahl der Tage zu erhalten</translation>
+        <translation><code>day</code> verwenden um die Anzahl der Tage zu erhalten</translation>
     </message>
     <message>
         <source>day(age('2012-05-12','2012-05-2'))</source>
-        <translation type="vanished">day(age('2012-05-12','2012-05-2'))</translation>
+        <translation>day(age('2012-05-12','2012-05-2'))</translation>
     </message>
     <message>
         <source>10</source>
-        <translation type="vanished">10</translation>
+        <translation>10</translation>
     </message>
     <message>
         <source>Returns the area of a geometry polygon object. Calculations are always planimetric in the Spatial Reference System (SRS) of this geometry, and the units of the returned area will match the units for the SRS. This differs from the calculations performed by the $area function, which will perform ellipsoidal calculations based on the project's ellipsoid and area unit settings.</source>
-        <translation type="vanished">Liefert die Fläche einer Polygongeometrie. Die Berechnungen sind immer planimetrisch im räumlichen Bezugssystem der Geometrie und die Einheiten der zurückgegebenen Fläche paßt zur Einheit des Bezugssystems. Dies unterscheidet sich von den für die Funktion $area durchgeführten Berechnungen.  Diese werden auf Basis der Ellipsiod- und Flächeneinheitseinstellungen des Projekts vorgenommen.</translation>
+        <translation>Liefert die Fläche einer Polygongeometrie. Die Berechnungen sind immer planimetrisch im räumlichen Bezugssystem der Geometrie und die Einheiten der zurückgegebenen Fläche paßt zur Einheit des Bezugssystems. Dies unterscheidet sich von den für die Funktion $area durchgeführten Berechnungen.  Diese werden auf Basis der Ellipsiod- und Flächeneinheitseinstellungen des Projekts vorgenommen.</translation>
     </message>
     <message>
         <source>area</source>
-        <translation type="vanished">area</translation>
+        <translation>area</translation>
     </message>
     <message>
         <source>geometry</source>
-        <translation type="vanished">geometry</translation>
+        <translation>geometry</translation>
     </message>
     <message>
         <source>polygon geometry object</source>
-        <translation type="vanished">Polygongeometrieobjekt</translation>
+        <translation>Polygongeometrieobjekt</translation>
     </message>
     <message>
         <source>area(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'))</source>
-        <translation type="vanished">area(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'))</translation>
+        <translation>area(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'))</translation>
     </message>
     <message>
         <source>8.0</source>
-        <translation type="vanished">8.0</translation>
+        <translation>8.0</translation>
     </message>
     <message>
         <source>Returns the inverse sine of a value in radians.</source>
-        <translation type="vanished">Liefert den inversen Sinus eines Wert im Bogenmaß.</translation>
+        <translation>Liefert den inversen Sinus eines Wert im Bogenmaß.</translation>
     </message>
     <message>
         <source>asin</source>
-        <translation type="vanished">asin</translation>
+        <translation>asin</translation>
     </message>
     <message>
         <source>sine of an angle in radians</source>
-        <translation type="vanished">Sinus eines Winkels im Bogenmaß</translation>
+        <translation>Sinus eines Winkels im Bogenmaß</translation>
     </message>
     <message>
         <source>asin(1.0)</source>
-        <translation type="vanished">asin(1.0)</translation>
+        <translation>asin(1.0)</translation>
     </message>
     <message>
         <source>1.5707963267949</source>
-        <translation type="vanished">1.5707963267949</translation>
+        <translation>1.5707963267949</translation>
     </message>
     <message>
         <source>Returns the inverse tangent of a value in radians.</source>
-        <translation type="vanished">Liefert den inversen Tagens eines Wert im Bogenmaß.</translation>
+        <translation>Liefert den inversen Tagens eines Wert im Bogenmaß.</translation>
     </message>
     <message>
         <source>atan</source>
-        <translation type="vanished">atan</translation>
+        <translation>atan</translation>
     </message>
     <message>
         <source>tan of an angle in radians</source>
-        <translation type="vanished">Tanges eines Winkels im Bogenmaß</translation>
+        <translation>Tanges eines Winkels im Bogenmaß</translation>
     </message>
     <message>
         <source>atan(0.5)</source>
-        <translation type="vanished">atan(0.5)</translation>
+        <translation>atan(0.5)</translation>
     </message>
     <message>
         <source>0.463647609000806</source>
-        <translation type="vanished">0.463647609000806</translation>
+        <translation>0.463647609000806</translation>
     </message>
     <message>
         <source>Returns the inverse tangent of dy/dx by using the signs of the two arguments to determine the quadrant of the result.</source>
-        <translation type="vanished">Liefert den inversen Tangens von dy/dx durch Verwendung des Vorzeichens der beiden Argumente um den Quadranten des Ergebnisses festzustellen.</translation>
+        <translation>Liefert den inversen Tangens von dy/dx durch Verwendung des Vorzeichens der beiden Argumente um den Quadranten des Ergebnisses festzustellen.</translation>
     </message>
     <message>
         <source>atan2</source>
-        <translation type="vanished">atan2</translation>
+        <translation>atan2</translation>
     </message>
     <message>
         <source>y coordinate difference</source>
-        <translation type="vanished">Y-Koordinatendifferenz</translation>
+        <translation>Y-Koordinatendifferenz</translation>
     </message>
     <message>
         <source>x coordinate difference</source>
-        <translation type="vanished">X-Koordinatendifferenz</translation>
+        <translation>X-Koordinatendifferenz</translation>
     </message>
     <message>
         <source>atan2(1.0, 1.732)</source>
-        <translation type="vanished">atan2(1.0, 1.732)</translation>
+        <translation>atan2(1.0, 1.732)</translation>
     </message>
     <message>
         <source>0.523611477769969</source>
-        <translation type="vanished">0.523611477769969</translation>
+        <translation>0.523611477769969</translation>
     </message>
     <message>
         <source>Returns the value of a specified attribute from a feature.</source>
-        <translation type="vanished">Liefert das angegeben Attribut eines Objekts.</translation>
+        <translation>Liefert das angegeben Attribut eines Objekts.</translation>
     </message>
     <message>
         <source>attribute</source>
-        <translation type="vanished">Attribut</translation>
+        <translation>Attribut</translation>
     </message>
     <message>
         <source>a feature</source>
-        <translation type="vanished">Ein Objekt</translation>
+        <translation>Ein Objekt</translation>
     </message>
     <message>
         <source>name of attribute to be returned</source>
-        <translation type="vanished">Name des zurückzugebenden Attributs</translation>
+        <translation>Name des zurückzugebenden Attributs</translation>
     </message>
     <message>
         <source>azimuth</source>
-        <translation type="vanished">azimuth</translation>
+        <translation>azimuth</translation>
     </message>
     <message>
         <source>point geometry</source>
-        <translation type="vanished">Punktgeometrie</translation>
+        <translation>Punktgeometrie</translation>
     </message>
     <message>
         <source>degrees( azimuth( make_point(25, 45), make_point(75, 100) ) )</source>
-        <translation type="vanished">degrees( azimuth( make_point(25, 45), make_point(75, 100) ) )</translation>
+        <translation>degrees( azimuth( make_point(25, 45), make_point(75, 100) ) )</translation>
     </message>
     <message>
         <source>42.273689</source>
-        <translation type="vanished">42.273689</translation>
+        <translation>42.273689</translation>
     </message>
     <message>
         <source>degrees( azimuth( make_point(75, 100), make_point(25,45) ) )</source>
-        <translation type="vanished">degrees( azimuth( make_point(75, 100), make_point(25,45) ) )</translation>
+        <translation>degrees( azimuth( make_point(75, 100), make_point(25,45) ) )</translation>
     </message>
     <message>
         <source>222.273689</source>
-        <translation type="vanished">222.273689</translation>
+        <translation>222.273689</translation>
     </message>
     <message>
         <source>Returns a geometry which represents the bounding box of an input geometry. Calculations are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Liefert die Geometrie der Ausmaße einer Eingabegeometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie.</translation>
+        <translation>Liefert die Geometrie der Ausmaße einer Eingabegeometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie.</translation>
     </message>
     <message>
         <source>bounds</source>
-        <translation type="vanished">bounds</translation>
+        <translation>bounds</translation>
     </message>
     <message>
         <source>a geometry</source>
-        <translation type="vanished">eine Geometrie</translation>
+        <translation>eine Geometrie</translation>
     </message>
     <message>
         <source>bounds($geometry)</source>
-        <translation type="vanished">bounds($geometry)</translation>
+        <translation>bounds($geometry)</translation>
     </message>
     <message>
         <source>bounding box of $geometry</source>
-        <translation type="vanished">Ausdehnung von $geometry</translation>
+        <translation>Ausdehnung von $geometry</translation>
     </message>
     <message>
         <source>Returns the height of the bounding box of a geometry. Calculations are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Liefert die Höhe der Abmessung einer Geometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie.</translation>
+        <translation>Liefert die Höhe der Abmessung einer Geometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie.</translation>
     </message>
     <message>
         <source>bounds_height</source>
-        <translation type="vanished">bounds_height</translation>
+        <translation>bounds_height</translation>
     </message>
     <message>
         <source>bounds_height($geometry)</source>
-        <translation type="vanished">bounds_height($geometry)</translation>
+        <translation>bounds_height($geometry)</translation>
     </message>
     <message>
         <source>height of bounding box of $geometry</source>
-        <translation type="vanished">Höhe der Abmessung der $geometry</translation>
+        <translation>Höhe der Abmessung der $geometry</translation>
     </message>
     <message>
         <source>Returns the width of the bounding box of a geometry. Calculations are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Liefert die Breite der Abmessung einer Geometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie.</translation>
+        <translation>Liefert die Breite der Abmessung einer Geometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie.</translation>
     </message>
     <message>
         <source>bounds_width</source>
-        <translation type="vanished">bounds_width</translation>
+        <translation>bounds_width</translation>
     </message>
     <message>
         <source>bounds_width($geometry)</source>
-        <translation type="vanished">bounds_width($geometry)</translation>
+        <translation>bounds_width($geometry)</translation>
     </message>
     <message>
         <source>width of bounding box of $geometry</source>
-        <translation type="vanished">Breite der Abmessung der $geometry</translation>
+        <translation>Breite der Abmessung der $geometry</translation>
     </message>
     <message>
         <source>Returns a geometry that represents all points whose distance from this geometry is less than or equal to distance. Calculations are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Liefert eine Geometrie, die alle Punkte enthält deren Abstand von dieser Geometrie kleiner oder gleich dem gegeben Wert ist.  Berechnungen im Bezugssystem der Geometrie.</translation>
+        <translation>Liefert eine Geometrie, die alle Punkte enthält deren Abstand von dieser Geometrie kleiner oder gleich dem gegeben Wert ist.  Berechnungen im Bezugssystem der Geometrie.</translation>
     </message>
     <message>
         <source>buffer</source>
-        <translation type="vanished">buffer</translation>
+        <translation>buffer</translation>
     </message>
     <message>
         <source>distance</source>
-        <translation type="vanished">distance</translation>
+        <translation>distance</translation>
     </message>
     <message>
         <source>buffer distance in layer units</source>
-        <translation type="vanished">Pufferabstand in Karteneinheiten</translation>
+        <translation>Pufferabstand in Karteneinheiten</translation>
     </message>
     <message>
         <source>buffer($geometry, 10.5)</source>
-        <translation type="vanished">buffer($geometry, 10.5)</translation>
+        <translation>buffer($geometry, 10.5)</translation>
     </message>
     <message>
         <source>polygon of $geometry buffered by 10.5 units</source>
-        <translation type="vanished">Polygon der $geometry gepuffert mit 10.5 Einheiten</translation>
+        <translation>Polygon der $geometry gepuffert mit 10.5 Einheiten</translation>
     </message>
     <message>
         <source>Rounds a number upwards.</source>
-        <translation type="vanished">rundet eine Zahl auf.</translation>
+        <translation>rundet eine Zahl auf.</translation>
     </message>
     <message>
         <source>ceil</source>
-        <translation type="vanished">ceil</translation>
+        <translation>ceil</translation>
     </message>
     <message>
         <source>ceil(4.9)</source>
-        <translation type="vanished">ceil(4.9)</translation>
+        <translation>ceil(4.9)</translation>
     </message>
     <message>
         <source>ceil(-4.9)</source>
-        <translation type="vanished">ceil(-4.9)</translation>
+        <translation>ceil(-4.9)</translation>
     </message>
     <message>
         <source>-4</source>
-        <translation type="vanished">-4</translation>
+        <translation>-4</translation>
     </message>
     <message>
         <source>Returns the geometric center of a geometry.</source>
-        <translation type="vanished">Liefert das geometrische Zentrum einer Geometrie.</translation>
+        <translation>Liefert das geometrische Zentrum einer Geometrie.</translation>
     </message>
     <message>
         <source>centroid</source>
-        <translation type="vanished">centroid</translation>
+        <translation>centroid</translation>
     </message>
     <message>
         <source>centroid($geometry)</source>
-        <translation type="vanished">centroid($geometry)</translation>
+        <translation>centroid($geometry)</translation>
     </message>
     <message>
         <source>a point geometry</source>
-        <translation type="vanished">Eine Punktgeometrie</translation>
+        <translation>Eine Punktgeometrie</translation>
     </message>
     <message>
         <source>Restricts an input value to a specified range.</source>
-        <translation type="vanished">Beschränke eine Eingabenwert auf einen gegebenen Bereichen.</translation>
+        <translation>Beschränke eine Eingabenwert auf einen gegebenen Bereichen.</translation>
     </message>
     <message>
         <source>clamp</source>
-        <translation type="vanished">clamp</translation>
+        <translation>clamp</translation>
     </message>
     <message>
         <source>the smallest value <i>input</i> is allowed to take.</source>
-        <translation type="vanished">der kleineste erlaubte <i>eingabe</i>-Wert.</translation>
+        <translation>der kleineste erlaubte <i>eingabe</i>-Wert.</translation>
     </message>
     <message>
         <source>a value which will be restricted to the range specified by <i>minimum</i> and <i>maximum</i></source>
-        <translation type="vanished">Der Wert wird auf den Bereich zwischen <i>minimum</i> und <i>maximum</i> beschränkt</translation>
+        <translation>Der Wert wird auf den Bereich zwischen <i>minimum</i> und <i>maximum</i> beschränkt</translation>
     </message>
     <message>
         <source>the largest value <i>input</i> is allowed to take</source>
-        <translation type="vanished">der größte erlaubte <i>eingabe</i>-Wert</translation>
+        <translation>der größte erlaubte <i>eingabe</i>-Wert</translation>
     </message>
     <message>
         <source>clamp(1,5,10)</source>
-        <translation type="vanished">clamp(1,5,10)</translation>
+        <translation>clamp(1,5,10)</translation>
     </message>
     <message>
         <source><i>input</i> is between 1 and 10 so is returned unchanged</source>
-        <translation type="vanished"><i>eingabe</i> ist zwischen 1 und 10 und wird daher unverändert zurückgegeben</translation>
+        <translation><i>eingabe</i> ist zwischen 1 und 10 und wird daher unverändert zurückgegeben</translation>
     </message>
     <message>
         <source>clamp(1,0,10)</source>
-        <translation type="vanished">clamp(1,0,10)</translation>
+        <translation>clamp(1,0,10)</translation>
     </message>
     <message>
         <source><i>input</i> is less than minimum value of 1, so function returns 1</source>
-        <translation type="vanished"><i>input</i> ist kleiner als der Minimalwert von 1, daher wird 1 zurückgegeben</translation>
+        <translation><i>input</i> ist kleiner als der Minimalwert von 1, daher wird 1 zurückgegeben</translation>
     </message>
     <message>
         <source>clamp(1,11,10)</source>
-        <translation type="vanished">clamp(1,11,10)</translation>
+        <translation>clamp(1,11,10)</translation>
     </message>
     <message>
         <source><i>input</i> is greater than maximum value of 10, so function returns 10</source>
-        <translation type="vanished"><i>input</i> ist kleiner als der Minimalwert von 1, daher wird 1 zurückgegeben</translation>
+        <translation><i>input</i> ist kleiner als der Minimalwert von 1, daher wird 1 zurückgegeben</translation>
     </message>
     <message>
         <source>Returns the point on geometry 1 that is closest to geometry 2.</source>
-        <translation type="vanished">Liefert einen Punkt in der Geometrie 1, der der Geometrie 2 am nächsten liegt.</translation>
+        <translation>Liefert einen Punkt in der Geometrie 1, der der Geometrie 2 am nächsten liegt.</translation>
     </message>
     <message>
         <source>closest_point</source>
-        <translation type="vanished">closest_point</translation>
+        <translation>closest_point</translation>
     </message>
     <message>
         <source>geometry to find closest point on</source>
-        <translation type="vanished">Geometrie auf der der nächste Punkt gefunden werden soll</translation>
+        <translation>Geometrie auf der der nächste Punkt gefunden werden soll</translation>
     </message>
     <message>
         <source>geometry to find closest point to</source>
-        <translation type="vanished">Geometrie auf der der nächste Punkt gefunden werden soll</translation>
+        <translation>Geometrie auf der der nächste Punkt gefunden werden soll</translation>
     </message>
     <message>
         <source>geom_to_wkt(closest_point(geom_from_wkt('LINESTRING (20 80, 98 190, 110 180, 50 75 )'),geom_from_wkt('POINT(100 100)')))</source>
-        <translation type="vanished">geom_to_wkt(closest_point(geom_from_wkt('LINESTRING (20 80, 98 190, 110 180, 50 75 )'),geom_from_wkt('POINT(100 100)')))</translation>
+        <translation>geom_to_wkt(closest_point(geom_from_wkt('LINESTRING (20 80, 98 190, 110 180, 50 75 )'),geom_from_wkt('POINT(100 100)')))</translation>
     </message>
     <message>
         <source>Point(73.0769 115.384)</source>
-        <translation type="vanished">Point(73.0769 115.384)</translation>
+        <translation>Point(73.0769 115.384)</translation>
     </message>
     <message>
         <source>Returns the first non-NULL value from the expression list.<br>This function can take any number of arguments.</source>
-        <translation type="vanished">Liefert den ersten nicht-NULL-wert der Ausdrucksliste.<br>Diese Funktion akzeptiert jede Argumentanzahl.</translation>
+        <translation>Liefert den ersten nicht-NULL-wert der Ausdrucksliste.<br>Diese Funktion akzeptiert jede Argumentanzahl.</translation>
     </message>
     <message>
         <source>coalesce</source>
-        <translation type="vanished">coalesce</translation>
+        <translation>coalesce</translation>
     </message>
     <message>
         <source>any valid expression or value, irregardless of type.</source>
@@ -58681,163 +58944,163 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>coalesce(NULL, 2)</source>
-        <translation type="vanished">coalesce(NULL, 2)</translation>
+        <translation>coalesce(NULL, 2)</translation>
     </message>
     <message>
         <source>coalesce(NULL, 2, 3)</source>
-        <translation type="vanished">coalesce(NULL, 2, 3)</translation>
+        <translation>coalesce(NULL, 2, 3)</translation>
     </message>
     <message>
         <source>coalesce(7, NULL, 3*2)</source>
-        <translation type="vanished">coalesce(7, NULL, 3*2)</translation>
+        <translation>coalesce(7, NULL, 3*2)</translation>
     </message>
     <message>
         <source>7</source>
-        <translation type="vanished">7</translation>
+        <translation>7</translation>
     </message>
     <message>
         <source>coalesce("fieldA", "fallbackField", 'ERROR')</source>
-        <translation type="vanished">coalesce("fieldA", "fallbackField", 'ERROR')</translation>
+        <translation>coalesce("fieldA", "fallbackField", 'ERROR')</translation>
     </message>
     <message>
         <source>value of fieldA if it is non-NULL else the value of "fallbackField" or the string 'ERROR' if both are NULL</source>
-        <translation type="vanished">Wert von FeldA, wenn es nicht NULL ist und sonst den Wert ders 'fallbackFeld' oder die Zeichenkette 'ERROR', wenn beide NULL sind</translation>
+        <translation>Wert von FeldA, wenn es nicht NULL ist und sonst den Wert ders 'fallbackFeld' oder die Zeichenkette 'ERROR', wenn beide NULL sind</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its cyan, magenta, yellow and black components</source>
-        <translation type="vanished">Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Cyan-, Magenta-, Gelb- und Schwarzkomponenten</translation>
+        <translation>Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Cyan-, Magenta-, Gelb- und Schwarzkomponenten</translation>
     </message>
     <message>
         <source>color_cmyk</source>
-        <translation type="vanished">color_cmyk</translation>
+        <translation>color_cmyk</translation>
     </message>
     <message>
         <source>cyan component of the color, as a percentage integer value from 0 to 100</source>
-        <translation type="vanished">Cyan-Komponente der Farbe als ganzzahliger Prozentwert zwischen 0 und 100</translation>
+        <translation>Cyan-Komponente der Farbe als ganzzahliger Prozentwert zwischen 0 und 100</translation>
     </message>
     <message>
         <source>magenta component of the color, as a percentage integer value from 0 to 100</source>
-        <translation type="vanished">Magenta-Komponente der Farbe. als ganze Prozentzahl zwischen 0 und 100</translation>
+        <translation>Magenta-Komponente der Farbe. als ganze Prozentzahl zwischen 0 und 100</translation>
     </message>
     <message>
         <source>yellow component of the color, as a percentage integer value from 0 to 100</source>
-        <translation type="vanished">gelbe Komponente der Farbe. als ganze Prozentzahl zwischen 0 und 100</translation>
+        <translation>gelbe Komponente der Farbe. als ganze Prozentzahl zwischen 0 und 100</translation>
     </message>
     <message>
         <source>black component of the color, as a percentage integer value from 0 to 100</source>
-        <translation type="vanished">schwarze Komponente der Farbe. als ganze Prozentzahl zwischen 0 und 100</translation>
+        <translation>schwarze Komponente der Farbe. als ganze Prozentzahl zwischen 0 und 100</translation>
     </message>
     <message>
         <source>color_cmyk(100,50,0,10)</source>
-        <translation type="vanished">color_cmyk(100,50,0,10)</translation>
+        <translation>color_cmyk(100,50,0,10)</translation>
     </message>
     <message>
         <source>0,115,230</source>
-        <translation type="vanished">0,115,230</translation>
+        <translation>0,115,230</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its cyan, magenta, yellow, black and alpha (transparency) components</source>
-        <translation type="vanished">Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Cyan-, Magenta-, Gelb-, Schwarz- und Alpha-(Transparenz-)komponenten</translation>
+        <translation>Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Cyan-, Magenta-, Gelb-, Schwarz- und Alpha-(Transparenz-)komponenten</translation>
     </message>
     <message>
         <source>color_cmyka</source>
-        <translation type="vanished">color_cmyka</translation>
+        <translation>color_cmyka</translation>
     </message>
     <message>
         <source>alpha component as an integer value from 0 (completely transparent) to 255 (opaque).</source>
-        <translation type="vanished">Alpha-Komponente der Farbe. als ganze Prozentzahl zwischen 0 (volltransparent) und 100 (volldeckend).</translation>
+        <translation>Alpha-Komponente der Farbe. als ganze Prozentzahl zwischen 0 (volltransparent) und 100 (volldeckend).</translation>
     </message>
     <message>
         <source>color_cmyk(100,50,0,10,200)</source>
-        <translation type="vanished">color_cmyk(100,50,0,10,200)</translation>
+        <translation>color_cmyk(100,50,0,10,200)</translation>
     </message>
     <message>
         <source>0,115,230,200</source>
-        <translation type="vanished">0,115,230,200</translation>
+        <translation>0,115,230,200</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its hue, saturation, and lightness attributes.</source>
-        <translation type="vanished">Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs- und Helligkeitsattributen.</translation>
+        <translation>Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs- und Helligkeitsattributen.</translation>
     </message>
     <message>
         <source>color_hsl</source>
-        <translation type="vanished">color_hsl</translation>
+        <translation>color_hsl</translation>
     </message>
     <message>
         <source>hue of the color, as an integer value from 0 to 360</source>
-        <translation type="vanished">Farbton der Fabre als ganzzahligem Wert zwischen 0 und 360</translation>
+        <translation>Farbton der Fabre als ganzzahligem Wert zwischen 0 und 360</translation>
     </message>
     <message>
         <source>saturation percentage of the color as an integer value from 0 to 100</source>
-        <translation type="vanished">Sättigungsprozenzwert der Farbe als ganze Zahl zwischen 0 und 100</translation>
+        <translation>Sättigungsprozenzwert der Farbe als ganze Zahl zwischen 0 und 100</translation>
     </message>
     <message>
         <source>lightness percentage of the color as an integer value from 0 to 100</source>
-        <translation type="vanished">Helligkeitsprozenzwert der Farbe als ganze Zahl zwischen 0 und 100</translation>
+        <translation>Helligkeitsprozenzwert der Farbe als ganze Zahl zwischen 0 und 100</translation>
     </message>
     <message>
         <source>color_hsl(100,50,70)</source>
-        <translation type="vanished">color_hsl(100,50,70)</translation>
+        <translation>color_hsl(100,50,70)</translation>
     </message>
     <message>
         <source>166,217,140</source>
-        <translation type="vanished">166,217,140</translation>
+        <translation>166,217,140</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its hue, saturation, lightness and alpha (transparency) attributes</source>
-        <translation type="vanished">Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs-, Helligkeits- und Alpha-(Transparenz-)Attributen</translation>
+        <translation>Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs-, Helligkeits- und Alpha-(Transparenz-)Attributen</translation>
     </message>
     <message>
         <source>color_hsla</source>
-        <translation type="vanished">color_hsla</translation>
+        <translation>color_hsla</translation>
     </message>
     <message>
         <source>color_hsla(100,50,70,200)</source>
-        <translation type="vanished">color_hsla(100,50,70,200)</translation>
+        <translation>color_hsla(100,50,70,200)</translation>
     </message>
     <message>
         <source>166,217,140,200</source>
-        <translation type="vanished">166,217,140,200</translation>
+        <translation>166,217,140,200</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its hue, saturation, and value attributes.</source>
-        <translation type="vanished">Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs- und Helligkeitsattributen.</translation>
+        <translation>Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs- und Helligkeitsattributen.</translation>
     </message>
     <message>
         <source>color_hsv</source>
-        <translation type="vanished">color_hsv</translation>
+        <translation>color_hsv</translation>
     </message>
     <message>
         <source>value percentage of the color as an integer from 0 to 100</source>
-        <translation type="vanished">Prozentsatz der Farbe als ganze Zahl zwischen 0 und 100</translation>
+        <translation>Prozentsatz der Farbe als ganze Zahl zwischen 0 und 100</translation>
     </message>
     <message>
         <source>color_hsv(40,100,100)</source>
-        <translation type="vanished">color_hsv(40,100,100)</translation>
+        <translation>color_hsv(40,100,100)</translation>
     </message>
     <message>
         <source>255,170,0</source>
-        <translation type="vanished">255,170,0</translation>
+        <translation>255,170,0</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its hue, saturation, value and alpha (transparency) attributes.</source>
-        <translation type="vanished">Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs-, Helligkeits- und Alpha-(Transparenz-)Attributen.</translation>
+        <translation>Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs-, Helligkeits- und Alpha-(Transparenz-)Attributen.</translation>
     </message>
     <message>
         <source>color_hsva</source>
-        <translation type="vanished">color_hsva</translation>
+        <translation>color_hsva</translation>
     </message>
     <message>
         <source>alpha component as an integer value from 0 (completely transparent) to 255 (opaque)</source>
-        <translation type="vanished">Alpha-Komponente der Farbe. als ganze Zahl zwischen 0 (volltransparent) und 255 (volldeckend)</translation>
+        <translation>Alpha-Komponente der Farbe. als ganze Zahl zwischen 0 (volltransparent) und 255 (volldeckend)</translation>
     </message>
     <message>
         <source>color_hsva(40,100,100,200)</source>
-        <translation type="vanished">color_hsva(40,100,100,200)</translation>
+        <translation>color_hsva(40,100,100,200)</translation>
     </message>
     <message>
         <source>255,170,0,200</source>
-        <translation type="vanished">255,170,0,200</translation>
+        <translation>255,170,0,200</translation>
     </message>
     <message>
         <source>Returns a specific component from a color string, eg the red component or alpha component.</source>
@@ -58845,1352 +59108,1352 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>color_part</source>
-        <translation type="vanished">color_part</translation>
+        <translation>color_part</translation>
     </message>
     <message>
         <source>a color string</source>
-        <translation type="vanished">eine Farbzeichenkette</translation>
+        <translation>eine Farbzeichenkette</translation>
     </message>
     <message>
         <source>a string corresponding to the color component to return. Valid options are:<br /><ul><li>red: RGB red component (0-255)</li><li>green: RGB green component (0-255)</li><li>blue: RGB blue component (0-255)</li><li>alpha: alpha (transparency) value (0-255)</li><li>hue: HSV hue (0-360)</li><li>saturation: HSV saturation (0-100)</li><li>value: HSV value (0-100)</li><li>hsl_hue [...]
-        <translation type="vanished">eine mit der gewünschten Komponente korrespondierende Zeichenkette. Gültige Werte sind:<br /><ul><li>red: RGB-Rotkomponente (0-255)</li><li>green: RGB-Grünkomponente (0-255)</li><li>blue: RGB-Blaukomponente (0-255)</li><li>alpha: Alpha-(Transparenz)-Wert (0-255)</li><li>hue: HSV-Farbton (0-360)</li><li>saturation: HSV-Sättigung (0-100)</li><li>value: HSV-Wert (0- [...]
+        <translation>eine mit der gewünschten Komponente korrespondierende Zeichenkette. Gültige Werte sind:<br /><ul><li>red: RGB-Rotkomponente (0-255)</li><li>green: RGB-Grünkomponente (0-255)</li><li>blue: RGB-Blaukomponente (0-255)</li><li>alpha: Alpha-(Transparenz)-Wert (0-255)</li><li>hue: HSV-Farbton (0-360)</li><li>saturation: HSV-Sättigung (0-100)</li><li>value: HSV-Wert (0-100)</li>& [...]
     </message>
     <message>
         <source>color_part('200,10,30','green')</source>
-        <translation type="vanished">color_part('200,10,30','green')</translation>
+        <translation>color_part('200,10,30','green')</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its red, green, and blue components.</source>
-        <translation type="vanished">Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Rot-, Grün- und Blau-Komponenten.</translation>
+        <translation>Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Rot-, Grün- und Blau-Komponenten.</translation>
     </message>
     <message>
         <source>color_rgb</source>
-        <translation type="vanished">color_rgb</translation>
+        <translation>color_rgb</translation>
     </message>
     <message>
         <source>red component as an integer value from 0 to 255</source>
-        <translation type="vanished">Rot-Komponente der Farbe als ganzzahligem Wert zwischen 0 und 255</translation>
+        <translation>Rot-Komponente der Farbe als ganzzahligem Wert zwischen 0 und 255</translation>
     </message>
     <message>
         <source>green component as an integer value from 0 to 255</source>
-        <translation type="vanished">Grün-Komponente der Farbe als ganzzahligem Wert zwischen 0 und 255</translation>
+        <translation>Grün-Komponente der Farbe als ganzzahligem Wert zwischen 0 und 255</translation>
     </message>
     <message>
         <source>blue component as an integer value from 0 to 255</source>
-        <translation type="vanished">Blau-Komponente der Farbe als ganzzahligem Wert zwischen 0 und 255</translation>
+        <translation>Blau-Komponente der Farbe als ganzzahligem Wert zwischen 0 und 255</translation>
     </message>
     <message>
         <source>color_rgb(255,127,0)</source>
-        <translation type="vanished">color_rgb(255,127,0)</translation>
+        <translation>color_rgb(255,127,0)</translation>
     </message>
     <message>
         <source>255,127,0</source>
-        <translation type="vanished">255,127,0</translation>
+        <translation>255,127,0</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its red, green, blue, and alpha (transparency) components.</source>
-        <translation type="vanished">Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Rot-, Grün-, Blau- und Alpha-(Transparenz-)Komponenten.</translation>
+        <translation>Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Rot-, Grün-, Blau- und Alpha-(Transparenz-)Komponenten.</translation>
     </message>
     <message>
         <source>color_rgba</source>
-        <translation type="vanished">color_rgba</translation>
+        <translation>color_rgba</translation>
     </message>
     <message>
         <source>color_rgba(255,127,0,200)</source>
-        <translation type="vanished">color_rgba(255,127,0,200)</translation>
+        <translation>color_rgba(255,127,0,200)</translation>
     </message>
     <message>
         <source>255,127,0,200</source>
-        <translation type="vanished">255,127,0,200</translation>
+        <translation>255,127,0,200</translation>
     </message>
     <message>
         <source>Returns the combination of two geometries.</source>
-        <translation type="vanished">Liefert die Kombination von zwei Geometrien.</translation>
+        <translation>Liefert die Kombination von zwei Geometrien.</translation>
     </message>
     <message>
         <source>combine</source>
-        <translation type="vanished">combine</translation>
+        <translation>combine</translation>
     </message>
     <message>
         <source>geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 2 1)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 2 1)' ) ) )</translation>
+        <translation>geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 2 1)' ) ) )</translation>
     </message>
     <message>
         <source>MULTILINESTRING((4 4, 2 1), (3 3, 4 4), (4 4, 5 5))</source>
-        <translation type="vanished">MULTILINESTRING((4 4, 2 1), (3 3, 4 4), (4 4, 5 5))</translation>
+        <translation>MULTILINESTRING((4 4, 2 1), (3 3, 4 4), (4 4, 5 5))</translation>
     </message>
     <message>
         <source>geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 6 6, 2 1)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 6 6, 2 1)' ) ) )</translation>
+        <translation>geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 6 6, 2 1)' ) ) )</translation>
     </message>
     <message>
         <source>LINESTRING(3 3, 4 4, 6 6, 2 1)</source>
-        <translation type="vanished">LINESTRING(3 3, 4 4, 6 6, 2 1)</translation>
+        <translation>LINESTRING(3 3, 4 4, 6 6, 2 1)</translation>
     </message>
     <message>
         <source>Concatenates several strings to one. NULL values are converted to empty strings. Other values (like numbers) are converted to strings.</source>
-        <translation type="vanished">Hängt zwei Zeichenketten aneineder. NULL-Wert werden in leere Zeichenketten konvertiert. Andere Wert (wie Zahlen) werden in Zeichenketten verwandelt.</translation>
+        <translation>Hängt zwei Zeichenketten aneineder. NULL-Wert werden in leere Zeichenketten konvertiert. Andere Wert (wie Zahlen) werden in Zeichenketten verwandelt.</translation>
     </message>
     <message>
         <source>concat</source>
-        <translation type="vanished">concat</translation>
+        <translation>concat</translation>
     </message>
     <message>
         <source>a string value</source>
-        <translation type="vanished">Eine Zeichenkette</translation>
+        <translation>Eine Zeichenkette</translation>
     </message>
     <message>
         <source>concat('sun', 'set')</source>
-        <translation type="vanished">concat('sun', 'set')</translation>
+        <translation>concat('sun', 'set')</translation>
     </message>
     <message>
         <source>'sunset'</source>
-        <translation type="vanished">'sunset'</translation>
+        <translation>'sunset'</translation>
     </message>
     <message>
         <source>concat('a','b','c','d','e')</source>
-        <translation type="vanished">concat('a','b','c','d','e')</translation>
+        <translation>concat('a','b','c','d','e')</translation>
     </message>
     <message>
         <source>'abcde'</source>
-        <translation type="vanished">'abcde'</translation>
+        <translation>'abcde'</translation>
     </message>
     <message>
         <source>concat('Anno ', 1984)</source>
-        <translation type="vanished">concat('Anno ', 1984)</translation>
+        <translation>concat('Anno ', 1984)</translation>
     </message>
     <message>
         <source>'Anno 1984'</source>
-        <translation type="vanished">'Anno 1984'</translation>
+        <translation>'Anno 1984'</translation>
     </message>
     <message>
         <source>concat('The Wall', NULL)</source>
-        <translation type="vanished">concat('The Wall', NULL)</translation>
+        <translation>concat('The Wall', NULL)</translation>
     </message>
     <message>
         <source>'The Wall'</source>
-        <translation type="vanished">'The Wall'</translation>
+        <translation>'The Wall'</translation>
     </message>
     <message>
         <source>Tests whether a geometry contains another. Returns true if and only if no points of geometry b lie in the exterior of geometry a, and at least one point of the interior of b lies in the interior of a.</source>
-        <translation type="vanished">Prüft, ob eine Geometrie in einer anderen enthalten ist.  Liefert true dann und nur dann wenn kein Punkt der Geometrie b außerhalb der Geometrie a liegt und mindestens ein Punkt von b in a liegt.</translation>
+        <translation>Prüft, ob eine Geometrie in einer anderen enthalten ist.  Liefert true dann und nur dann wenn kein Punkt der Geometrie b außerhalb der Geometrie a liegt und mindestens ein Punkt von b in a liegt.</translation>
     </message>
     <message>
         <source>contains</source>
-        <translation type="vanished">contains</translation>
+        <translation>contains</translation>
     </message>
     <message>
         <source>contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'POINT(0.5 0.5 )' ) )</source>
-        <translation type="vanished">contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'POINT(0.5 0.5 )' ) )</translation>
+        <translation>contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'POINT(0.5 0.5 )' ) )</translation>
     </message>
     <message>
         <source>contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>false</source>
-        <translation type="vanished">false</translation>
+        <translation>false</translation>
     </message>
     <message>
         <source>Returns the convex hull of a geometry. It represents the minimum convex geometry that encloses all geometries within the set.</source>
-        <translation type="vanished">Liefert die konvexe Hülle einer Geometrie. Es stellt die minimale konvexe Geometrie dar, die alle Geometrien der Menge enthält.</translation>
+        <translation>Liefert die konvexe Hülle einer Geometrie. Es stellt die minimale konvexe Geometrie dar, die alle Geometrien der Menge enthält.</translation>
     </message>
     <message>
         <source>convex_hull</source>
-        <translation type="vanished">convex_hull</translation>
+        <translation>convex_hull</translation>
     </message>
     <message>
         <source>geom_to_wkt( convex_hull( geom_from_wkt( 'LINESTRING(3 3, 4 4, 4 10)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( convex_hull( geom_from_wkt( 'LINESTRING(3 3, 4 4, 4 10)' ) ) )</translation>
+        <translation>geom_to_wkt( convex_hull( geom_from_wkt( 'LINESTRING(3 3, 4 4, 4 10)' ) ) )</translation>
     </message>
     <message>
         <source>POLYGON((3 3,4 10,4 4,3 3))</source>
-        <translation type="vanished">POLYGON((3 3,4 10,4 4,3 3))</translation>
+        <translation>POLYGON((3 3,4 10,4 4,3 3))</translation>
     </message>
     <message>
         <source>Returns cosine of an angle.</source>
-        <translation type="vanished">Liefert den Kosinus eines Winkels.</translation>
+        <translation>Liefert den Kosinus eines Winkels.</translation>
     </message>
     <message>
         <source>cos</source>
-        <translation type="vanished">cos</translation>
+        <translation>cos</translation>
     </message>
     <message>
         <source>angle in radians</source>
-        <translation type="vanished">Winkel im Bogenmaß</translation>
+        <translation>Winkel im Bogenmaß</translation>
     </message>
     <message>
         <source>cos(1.571)</source>
-        <translation type="vanished">cos(1.571)</translation>
+        <translation>cos(1.571)</translation>
     </message>
     <message>
         <source>0.000796326710733263</source>
-        <translation type="vanished">0.000796326710733263</translation>
+        <translation>0.000796326710733263</translation>
     </message>
     <message>
         <source>Tests whether a geometry crosses another. Returns true if the supplied geometries have some, but not all, interior points in common.</source>
-        <translation type="vanished">Prüft, ob eine Geometrie eine andere kreuzt. Liefert true, wenn die Geometrie einige aber nicht alle innere Punkte gemeinsam haben.</translation>
+        <translation>Prüft, ob eine Geometrie eine andere kreuzt. Liefert true, wenn die Geometrie einige aber nicht alle innere Punkte gemeinsam haben.</translation>
     </message>
     <message>
         <source>crosses</source>
-        <translation type="vanished">crosses</translation>
+        <translation>crosses</translation>
     </message>
     <message>
         <source>crosses( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">crosses( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>crosses( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>crosses( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">crosses( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>crosses( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>Returns a darker (or lighter) color string</source>
-        <translation type="vanished">Liefert eine dunklere (oder hellere) Farbzeichenkette</translation>
+        <translation>Liefert eine dunklere (oder hellere) Farbzeichenkette</translation>
     </message>
     <message>
         <source>darker</source>
-        <translation type="vanished">darker</translation>
+        <translation>darker</translation>
     </message>
     <message>
         <source>a integer number corresponding to the darkening factor:<ul><li>if the factor is greater than 100, this functions returns a darker color (for e.g., setting factor to 300 returns a color that has one-third the brightness);</li><li>if the factor is less than 100, the return color is lighter, but using the lighter() function for this purpose is recommended;</li><li>if the factor is 0 or negative, the return value is unspecified.</li>& [...]
-        <translation type="vanished">Eine ganze Zahl die mit dem Dunklungsfaktor korrespondiert: <ul><li>wenn der Faktor größer als 100 ist, wird einer dunklere Farbe geliefert (z.B. wird für den Faktor 300 eine Farbe mit einem Drittel der Helligkeit geliefert);</li><li>wenn der Faktor kleiner als 100 ist, wird die Farbe heller, wofür eigentlich die Funktion lighter() empfohlen wird;</li><li>wenn der Faktor 0 oder negativ ist, ist der Wert undefiniert. [...]
+        <translation>Eine ganze Zahl die mit dem Dunklungsfaktor korrespondiert: <ul><li>wenn der Faktor größer als 100 ist, wird einer dunklere Farbe geliefert (z.B. wird für den Faktor 300 eine Farbe mit einem Drittel der Helligkeit geliefert);</li><li>wenn der Faktor kleiner als 100 ist, wird die Farbe heller, wofür eigentlich die Funktion lighter() empfohlen wird;</li><li>wenn der Faktor 0 oder negativ ist, ist der Wert undefiniert.</li></ [...]
     </message>
     <message>
         <source>darker('200,10,30',300)</source>
-        <translation type="vanished">darker('200,10,30',300)</translation>
+        <translation>darker('200,10,30',300)</translation>
     </message>
     <message>
         <source>'66,3,10,255'</source>
-        <translation type="vanished">'66,3,10,255'</translation>
+        <translation>'66,3,10,255'</translation>
     </message>
     <message>
         <source>Extract the day from a date, or the number of days from an interval.</source>
-        <translation type="vanished">Bestimmt den Tag aus einem Datum oder die Anzahl der Tage aus einem Intervall.</translation>
+        <translation>Bestimmt den Tag aus einem Datum oder die Anzahl der Tage aus einem Intervall.</translation>
     </message>
     <message>
         <source>Date variant</source>
-        <translation type="vanished">Variante Datum</translation>
+        <translation>Variante Datum</translation>
     </message>
     <message>
         <source>Extract the day from a date or datetime.</source>
-        <translation type="vanished">Bestimmt den Tag aus einem Datum oder ein Zeitpunkt.</translation>
+        <translation>Bestimmt den Tag aus einem Datum oder ein Zeitpunkt.</translation>
     </message>
     <message>
         <source>a date or datetime value</source>
-        <translation type="vanished">ein Datum- oder Zeitpunktwert</translation>
+        <translation>ein Datum- oder Zeitpunktwert</translation>
     </message>
     <message>
         <source>day('2012-05-12')</source>
-        <translation type="vanished">day('2012-05-12')</translation>
+        <translation>day('2012-05-12')</translation>
     </message>
     <message>
         <source>12</source>
-        <translation type="vanished">12</translation>
+        <translation>12</translation>
     </message>
     <message>
         <source>Interval variant</source>
-        <translation type="vanished">Variante Intervall</translation>
+        <translation>Variante Intervall</translation>
     </message>
     <message>
         <source>Calculate the length in days of an interval.</source>
-        <translation type="vanished">Berechnet die Länge eines Intervalls in Tagen.</translation>
+        <translation>Berechnet die Länge eines Intervalls in Tagen.</translation>
     </message>
     <message>
         <source>interval value to return number of days from</source>
-        <translation type="vanished">Intervallwert aus dem die Tagesanzahl bestimmt werden soll</translation>
+        <translation>Intervallwert aus dem die Tagesanzahl bestimmt werden soll</translation>
     </message>
     <message>
         <source>day(tointerval('3 days'))</source>
-        <translation type="vanished">day(tointerval('3 days'))</translation>
+        <translation>day(tointerval('3 days'))</translation>
     </message>
     <message>
         <source>3</source>
-        <translation type="vanished">3</translation>
+        <translation>3</translation>
     </message>
     <message>
         <source>day(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">day(age('2012-01-01','2010-01-01'))</translation>
+        <translation>day(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>730</source>
-        <translation type="vanished">730</translation>
+        <translation>730</translation>
     </message>
     <message>
         <source>Returns the day of the week for a specified date or datetime. The returned value ranges from 0 to 6, where 0 corresponds to a Sunday and 6 to a Saturday.</source>
-        <translation type="vanished">Liefert den Tag der Wocke für eine angegebenes Datum oder einen Zeitpunkt. Das Ergebnis liegt im Bereich 0 bis 6, wobei 0 dem Sonntag und 6 dem Samstag entspricht.</translation>
+        <translation>Liefert den Tag der Wocke für eine angegebenes Datum oder einen Zeitpunkt. Das Ergebnis liegt im Bereich 0 bis 6, wobei 0 dem Sonntag und 6 dem Samstag entspricht.</translation>
     </message>
     <message>
         <source>day_of_week</source>
-        <translation type="vanished">day_of_week</translation>
+        <translation>day_of_week</translation>
     </message>
     <message>
         <source>date or datetime value</source>
-        <translation type="vanished">Datum- oder Zeitpunktwert</translation>
+        <translation>Datum- oder Zeitpunktwert</translation>
     </message>
     <message>
         <source>day_of_week(todate('2015-09-21'))</source>
-        <translation type="vanished">day_of_week(todate('2015-09-21'))</translation>
+        <translation>day_of_week(todate('2015-09-21'))</translation>
     </message>
     <message>
         <source>Converts from radians to degrees.</source>
-        <translation type="vanished">Wandelt Bogenmaß in Grad um.</translation>
+        <translation>Wandelt Bogenmaß in Grad um.</translation>
     </message>
     <message>
         <source>degrees</source>
-        <translation type="vanished">Grad</translation>
+        <translation>Grad</translation>
     </message>
     <message>
         <source>radians</source>
-        <translation type="vanished">Bogenmaß</translation>
+        <translation>Bogenmaß</translation>
     </message>
     <message>
         <source>numeric value</source>
-        <translation type="vanished">numerischer Wert</translation>
+        <translation>numerischer Wert</translation>
     </message>
     <message>
         <source>degrees(3.14159)</source>
-        <translation type="vanished">degrees(3.14159)</translation>
+        <translation>degrees(3.14159)</translation>
     </message>
     <message>
         <source>180</source>
-        <translation type="vanished">180</translation>
+        <translation>180</translation>
     </message>
     <message>
         <source>degrees(1)</source>
-        <translation type="vanished">degrees(1)</translation>
+        <translation>degrees(1)</translation>
     </message>
     <message>
         <source>57.2958</source>
-        <translation type="vanished">57.2958</translation>
+        <translation>57.2958</translation>
     </message>
     <message>
         <source>Returns a geometry that represents that part of geometry_a that does not intersect with geometry_b.</source>
-        <translation type="vanished">Liefert die Geometrie, die den Teil der geometrie_a darstellt, der sich nicht mit geometrie_b scheidet.</translation>
+        <translation>Liefert die Geometrie, die den Teil der geometrie_a darstellt, der sich nicht mit geometrie_b scheidet.</translation>
     </message>
     <message>
         <source>difference</source>
-        <translation type="vanished">difference</translation>
+        <translation>difference</translation>
     </message>
     <message>
         <source>geom_to_wkt( difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) )</translation>
+        <translation>geom_to_wkt( difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) )</translation>
     </message>
     <message>
         <source>LINESTRING(4 4, 5 5)</source>
-        <translation type="vanished">LINESTRING(4 4, 5 5)</translation>
+        <translation>LINESTRING(4 4, 5 5)</translation>
     </message>
     <message>
         <source>Tests whether geometries do not spatially intersect. Returns true if the geometries do not share any space together.</source>
-        <translation type="vanished">Prüft, ob Geometrien sich nicht räumlich schneidet. Liefert true, wenn die Geometrie keinen Raum teilen.</translation>
+        <translation>Prüft, ob Geometrien sich nicht räumlich schneidet. Liefert true, wenn die Geometrie keinen Raum teilen.</translation>
     </message>
     <message>
         <source>disjoint</source>
-        <translation type="vanished">disjoint</translation>
+        <translation>disjoint</translation>
     </message>
     <message>
         <source>disjoint( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">disjoint( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>disjoint( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>disjoint( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'POINT(4 4)' ))</source>
-        <translation type="vanished">disjoint( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'POINT(4 4)' ))</translation>
+        <translation>disjoint( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'POINT(4 4)' ))</translation>
     </message>
     <message>
         <source>Returns the minimum distance (based on spatial ref) between two geometries in projected units.</source>
-        <translation type="vanished">Liefert den kleinsten Abstand zwischen zwei Geometrien in projizierten Einheiten.</translation>
+        <translation>Liefert den kleinsten Abstand zwischen zwei Geometrien in projizierten Einheiten.</translation>
     </message>
     <message>
         <source>distance( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(4 8)' ) )</source>
-        <translation type="vanished">distance( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(4 8)' ) )</translation>
+        <translation>distance( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(4 8)' ) )</translation>
     </message>
     <message>
         <source>4</source>
-        <translation type="vanished">4</translation>
+        <translation>4</translation>
     </message>
     <message>
         <source>Returns the last node from a geometry.</source>
-        <translation type="vanished">Liefert den letzten Knoten einer Geometrie.</translation>
+        <translation>Liefert den letzten Knoten einer Geometrie.</translation>
     </message>
     <message>
         <source>end_point</source>
-        <translation type="vanished">end_point</translation>
+        <translation>end_point</translation>
     </message>
     <message>
         <source>geometry object</source>
-        <translation type="vanished">Geometrieobjekt</translation>
+        <translation>Geometrieobjekt</translation>
     </message>
     <message>
         <source>geom_to_wkt(end_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</source>
-        <translation type="vanished">geom_to_wkt(end_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</translation>
+        <translation>geom_to_wkt(end_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</translation>
     </message>
     <message>
         <source>'Point (0 2)'</source>
-        <translation type="vanished">'Point (0 2)'</translation>
+        <translation>'Point (0 2)'</translation>
     </message>
     <message>
         <source>Evaluates an expression which is passed in a string. Useful to expand dynamic parameters passed as context variables or fields.</source>
-        <translation type="vanished">Werte einen Ausdruck aus, der als Zeichenkette übergeben wird.  Nützlich um als Kontextvariablen oder Felder übergebene dynamische Parameter zu expandieren.</translation>
+        <translation>Werte einen Ausdruck aus, der als Zeichenkette übergeben wird.  Nützlich um als Kontextvariablen oder Felder übergebene dynamische Parameter zu expandieren.</translation>
     </message>
     <message>
         <source>eval</source>
-        <translation type="vanished">eval</translation>
+        <translation>eval</translation>
     </message>
     <message>
         <source>an expression string</source>
-        <translation type="vanished">eine Ausdruckszeichenkette</translation>
+        <translation>eine Ausdruckszeichenkette</translation>
     </message>
     <message>
         <source>eval(''nice'')</source>
-        <translation type="vanished">eval(''nett'')</translation>
+        <translation>eval(''nett'')</translation>
     </message>
     <message>
         <source>'nice'</source>
-        <translation type="vanished">'nett'</translation>
+        <translation>'nett'</translation>
     </message>
     <message>
         <source>eval(@expression_var)</source>
-        <translation type="vanished">eval(@expression_var)</translation>
+        <translation>eval(@expression_var)</translation>
     </message>
     <message>
         <source>[whatever the result of evaluating @expression_var might be...]</source>
-        <translation type="vanished">[was auch immer das Ergebnis der Auswertung von @expression_var sein mag…]</translation>
+        <translation>[was auch immer das Ergebnis der Auswertung von @expression_var sein mag…]</translation>
     </message>
     <message>
         <source>Returns exponential of an value.</source>
-        <translation type="vanished">Liefert den Exponential eines Wert.</translation>
+        <translation>Liefert den Exponential eines Wert.</translation>
     </message>
     <message>
         <source>exp</source>
-        <translation type="vanished">exp</translation>
+        <translation>exp</translation>
     </message>
     <message>
         <source>number to return exponent of</source>
-        <translation type="vanished">Zahl deren Exponent geliefert werden soll</translation>
+        <translation>Zahl deren Exponent geliefert werden soll</translation>
     </message>
     <message>
         <source>exp(1.0)</source>
-        <translation type="vanished">exp(1.0)</translation>
+        <translation>exp(1.0)</translation>
     </message>
     <message>
         <source>2.71828182845905</source>
-        <translation type="vanished">2.71828182845905</translation>
+        <translation>2.71828182845905</translation>
     </message>
     <message>
         <source>Returns a line string representing the exterior ring of a polygon geometry. If the geometry is not a polygon then the result will be null.</source>
-        <translation type="vanished">Liefert den äußeren Ring eines Polygons als Linestring. Wenn die Geometrie kein Polygon ist, ist das Ergebnis null.</translation>
+        <translation>Liefert den äußeren Ring eines Polygons als Linestring. Wenn die Geometrie kein Polygon ist, ist das Ergebnis null.</translation>
     </message>
     <message>
         <source>exterior_ring</source>
-        <translation type="vanished">exterior_ring</translation>
+        <translation>exterior_ring</translation>
     </message>
     <message>
         <source>a polygon geometry</source>
-        <translation type="vanished">eine Polygongeometrie</translation>
+        <translation>eine Polygongeometrie</translation>
     </message>
     <message>
         <source>geom_to_wkt(exterior_ring(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),( 0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2, 0.1, 0.1 0.1))')))</source>
-        <translation type="vanished">geom_to_wkt(exterior_ring(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),( 0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2, 0.1, 0.1 0.1))')))</translation>
+        <translation>geom_to_wkt(exterior_ring(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),( 0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2, 0.1, 0.1 0.1))')))</translation>
     </message>
     <message>
         <source>'LineString (-1 -1, 4 0, 4 2, 0 2, -1 -1)'</source>
-        <translation type="vanished">'LineString (-1 -1, 4 0, 4 2, 0 2, -1 -1)'</translation>
+        <translation>'LineString (-1 -1, 4 0, 4 2, 0 2, -1 -1)'</translation>
     </message>
     <message>
         <source>Returns an extruded version of the input (Multi-)Curve or (Multi-)Linestring geometry with an extension specified by x and y.</source>
-        <translation type="vanished">Liefert eine extruierte Version der Eingabe (Multi-)Kurven- oder (Multi-)Liniengeometrie mit einer durch x und y angegebenen Erweiterung.</translation>
+        <translation>Liefert eine extruierte Version der Eingabe (Multi-)Kurven- oder (Multi-)Liniengeometrie mit einer durch x und y angegebenen Erweiterung.</translation>
     </message>
     <message>
         <source>extrude</source>
-        <translation type="vanished">extrude</translation>
+        <translation>extrude</translation>
     </message>
     <message>
         <source>Returns a point projected from a start point using a distance and bearing (azimuth) in radians.</source>
-        <translation type="vanished">Liefert einen von einem Startpunkt, einem Abstand und einer Richtung im Bogenmaß (Azimuth) projizierten Punkt.</translation>
+        <translation>Liefert einen von einem Startpunkt, einem Abstand und einer Richtung im Bogenmaß (Azimuth) projizierten Punkt.</translation>
     </message>
     <message>
         <source>project</source>
-        <translation type="vanished">Projekt</translation>
+        <translation>Projekt</translation>
     </message>
     <message>
         <source>start point</source>
-        <translation type="vanished">Startpunkt</translation>
+        <translation>Startpunkt</translation>
     </message>
     <message>
         <source>distance to project</source>
-        <translation type="vanished">zu projizierender Abstand</translation>
+        <translation>zu projizierender Abstand</translation>
     </message>
     <message>
         <source>bearing in radians clockwise, where 0 corresponds to north</source>
-        <translation type="vanished">Richtung im Uhrzeigersinn im Bogenmaß, beginnend im Norden</translation>
+        <translation>Richtung im Uhrzeigersinn im Bogenmaß, beginnend im Norden</translation>
     </message>
     <message>
         <source>project(make_point(1, 2), 3, radians(270))</source>
-        <translation type="vanished">project(make_point(1, 2), 3, radians(270))</translation>
+        <translation>project(make_point(1, 2), 3, radians(270))</translation>
     </message>
     <message>
         <source>Point(-2, 2)</source>
-        <translation type="vanished">Point(-2, 2)</translation>
+        <translation>Point(-2, 2)</translation>
     </message>
     <message>
         <source>Saved ramp variant</source>
-        <translation type="vanished">Gespeicherte Verlaufvariante</translation>
+        <translation>Gespeicherte Verlaufvariante</translation>
     </message>
     <message>
         <source>Returns a string representing a color from a saved ramp</source>
-        <translation type="vanished">Liefert eine Zeichenkette, die die Farbe eines gespeicherten Verlaufs darstellt.</translation>
+        <translation>Liefert eine Zeichenkette, die die Farbe eines gespeicherten Verlaufs darstellt.</translation>
     </message>
     <message>
         <source>Expression-created ramp variant</source>
-        <translation type="vanished">Ausdruckserzeugte Farbverlaufvariante</translation>
+        <translation>Ausdruckserzeugte Farbverlaufvariante</translation>
     </message>
     <message>
         <source>Returns a string representing a color from an expression-created ramp</source>
-        <translation type="vanished">Liefert eine Zeichenkette, die die Farbe eines ausdruckserzeugten Verlaufs darstellt.</translation>
+        <translation>Liefert eine Zeichenkette, die die Farbe eines ausdruckserzeugten Verlaufs darstellt.</translation>
     </message>
     <message>
         <source>the color ramp</source>
-        <translation type="vanished">der Farbverlauf</translation>
+        <translation>der Farbverlauf</translation>
     </message>
     <message>
         <source>Returns statistics from a raster layer.</source>
-        <translation type="vanished">Rasterlayer-Statistik zurückgegeben.</translation>
+        <translation>Rasterlayer-Statistik zurückgegeben.</translation>
     </message>
     <message>
         <source>raster_statistic</source>
-        <translation type="vanished">raster_statistic</translation>
+        <translation>raster_statistic</translation>
     </message>
     <message>
         <source>a string, representing either a raster layer name or layer ID</source>
-        <translation type="vanished">eine Zeichenkette, die Rasterlayernamen oder -kennung enthält</translation>
+        <translation>eine Zeichenkette, die Rasterlayernamen oder -kennung enthält</translation>
     </message>
     <message>
         <source>integer representing the band number from the raster layer, starting at 1</source>
-        <translation type="vanished">ganze Zahl, die die Kanalnummer des Rasterlayers enthält, beginnt ab 1</translation>
+        <translation>ganze Zahl, die die Kanalnummer des Rasterlayers enthält, beginnt ab 1</translation>
     </message>
     <message>
         <source>a string corresponding to the property to return. Valid options are:<br /><ul><li>min: minimum value</li><li>max: maximum value</li><li>avg: average (mean) value</li><li>stdev: standard deviation of values</li><li>range: range of values (max - min)</li><li>sum: sum of all values from raster</li></ul></source>
-        <translation type="vanished">Eine Zeichenkette die mit zu liefernden Eigenschaft korrespondiert. Gültige Optionen sind:<br/><ul><li>min: Minmalwert</li><li>max: Maximalwert</li><li>avg: Durchschnittswert</li><li>stddev: Standardabweichung der Werte</li><li>range: Wertebereich (max - min)</li><li>sum: Summe aller Werte des Rasters</li><ul> </translation>
+        <translation>Eine Zeichenkette die mit zu liefernden Eigenschaft korrespondiert. Gültige Optionen sind:<br/><ul><li>min: Minmalwert</li><li>max: Maximalwert</li><li>avg: Durchschnittswert</li><li>stddev: Standardabweichung der Werte</li><li>range: Wertebereich (max - min)</li><li>sum: Summe aller Werte des Rasters</li><ul> </translation>
     </message>
     <message>
         <source>raster_statistic('lc',1,'avg')</source>
-        <translation type="vanished">raster_statistic('lc',1,'avg')</translation>
+        <translation>raster_statistic('lc',1,'avg')</translation>
     </message>
     <message>
         <source>Average value from band 1 from 'lc' raster layer</source>
-        <translation type="vanished">Durchschnittswert aus Band 1 des Rasterlayers 'lc'</translation>
+        <translation>Durchschnittswert aus Band 1 des Rasterlayers 'lc'</translation>
     </message>
     <message>
         <source>raster_statistic('ac2010',3,'min')</source>
-        <translation type="vanished">raster_statistic('ac2010',3,'min')</translation>
+        <translation>raster_statistic('ac2010',3,'min')</translation>
     </message>
     <message>
         <source>Minimum value from band 3 from 'ac2010' raster layer</source>
-        <translation type="vanished">Minimalwert aus Band 3 des Rasterlayers 'ac2010'</translation>
+        <translation>Minimalwert aus Band 3 des Rasterlayers 'ac2010'</translation>
     </message>
     <message>
         <source>Return the first matching position matching a regular expression within a string, or 0 if the substring is not found.</source>
-        <translation type="vanished">Liefert die Position der ersten Fundstelle eines regulären Ausdrucks in einer Zeichenkette oder 0, wenn die Teilzeichenkette nicht gefunden wurde.</translation>
+        <translation>Liefert die Position der ersten Fundstelle eines regulären Ausdrucks in einer Zeichenkette oder 0, wenn die Teilzeichenkette nicht gefunden wurde.</translation>
     </message>
     <message>
         <source>The regular expression to test against. Backslash characters must be double escaped (e.g., "\\s" to match a white space character).</source>
-        <translation type="vanished">Zu vergleichender regulärer Ausdruck.  Rückschrägstrich müssen doppelt ausgenommen werden (z.B. "\\s" paßt auf ein Leerzeichen).</translation>
+        <translation>Zu vergleichender regulärer Ausdruck.  Rückschrägstrich müssen doppelt ausgenommen werden (z.B. "\\s" paßt auf ein Leerzeichen).</translation>
     </message>
     <message>
         <source>regexp_match('QGIS ROCKS','\\sROCKS')</source>
-        <translation type="vanished">regexp_match('QGIS ROCKS','\\sROCKS')</translation>
+        <translation>regexp_match('QGIS ROCKS','\\sROCKS')</translation>
     </message>
     <message>
         <source>Returns an array of all strings captured by capturing groups, in the order the groups themselves appear in the supplied regular expression against a string.</source>
-        <translation type="vanished">Liefert eine Feld aller Zeichenketten der aufgezeichneten Treffergruppen in der gleichen Reihenfolge wie sie im regulären Ausdruck auftauchen.</translation>
+        <translation>Liefert eine Feld aller Zeichenketten der aufgezeichneten Treffergruppen in der gleichen Reihenfolge wie sie im regulären Ausdruck auftauchen.</translation>
     </message>
     <message>
         <source>regexp_matches</source>
-        <translation type="vanished">regexp_matches</translation>
+        <translation>regexp_matches</translation>
     </message>
     <message>
         <source>the string to capture groups from against the regular expression</source>
-        <translation type="vanished">Zeichenkette in der Treffergruppen gefunden werden sollen</translation>
+        <translation>Zeichenkette in der Treffergruppen gefunden werden sollen</translation>
     </message>
     <message>
         <source>the regular expression used to capture groups</source>
-        <translation type="vanished">Regulärer Ausdruck mit Treffergruppen </translation>
+        <translation>Regulärer Ausdruck mit Treffergruppen </translation>
     </message>
     <message>
         <source>regexp_matches('QGIS=>rocks','(.*)=>(.*)')</source>
-        <translation type="vanished">regexp_matches('QGIS=>rocks','(.*)=>(.*)')</translation>
+        <translation>regexp_matches('QGIS=>rocks','(.*)=>(.*)')</translation>
     </message>
     <message>
         <source>array: 'QGIS', 'rocks'</source>
-        <translation type="vanished">Feld: 'QGIS', 'rocks'</translation>
+        <translation>Feld: 'QGIS', 'rocks'</translation>
     </message>
     <message>
         <source>regexp_matches('key=>','(.*)=>(.*)','empty value')</source>
-        <translation type="vanished">regexp_matches('key=>','(.*)=>(.*)','empty value')</translation>
+        <translation>regexp_matches('key=>','(.*)=>(.*)','empty value')</translation>
     </message>
     <message>
         <source>array: 'key', 'empty value'</source>
-        <translation type="vanished">Feld: 'key', 'empty value'</translation>
+        <translation>Feld: 'key', 'empty value'</translation>
     </message>
     <message>
         <source>The regular expression to replace. Backslash characters must be double escaped (e.g., "\\s" to match a white space character).</source>
-        <translation type="vanished">Zu ersetzender regulärer Ausdruck.  Rückschrägstrich müssen doppelt ausgenommen werden (z.B. "\\s" paßt auf ein Leerzeichen).</translation>
+        <translation>Zu ersetzender regulärer Ausdruck.  Rückschrägstrich müssen doppelt ausgenommen werden (z.B. "\\s" paßt auf ein Leerzeichen).</translation>
     </message>
     <message>
         <source>The string that will replace any matching occurrences of the supplied regular expression. Captured groups can be inserted into the replacement string using \\1, \\2, etc.</source>
-        <translation type="vanished">Die Zeichenkette, die Treffer des regulären Ausdrucks ersetzt.  Treffergruppen können in die Zeichenkette mit \\1, \\2 usw. eingefügt werden.</translation>
+        <translation>Die Zeichenkette, die Treffer des regulären Ausdrucks ersetzt.  Treffergruppen können in die Zeichenkette mit \\1, \\2 usw. eingefügt werden.</translation>
     </message>
     <message>
         <source>regexp_replace('QGIS SHOULD ROCK','\\sSHOULD\\s',' DOES ')</source>
-        <translation type="vanished">regexp_replace('QGIS SHOULD ROCK','\\sSHOULD\\s',' DOES ')</translation>
+        <translation>regexp_replace('QGIS SHOULD ROCK','\\sSHOULD\\s',' DOES ')</translation>
     </message>
     <message>
         <source>The regular expression to match against. Backslash characters must be double escaped (e.g., "\\s" to match a white space character).</source>
-        <translation type="vanished">Zu vergleichender regulärer Ausdruck.  Rückschrägstrich müssen doppelt ausgenommen werden (z.B. "\\s" paßt auf ein Leerzeichen).</translation>
+        <translation>Zu vergleichender regulärer Ausdruck.  Rückschrägstrich müssen doppelt ausgenommen werden (z.B. "\\s" paßt auf ein Leerzeichen).</translation>
     </message>
     <message>
         <source>regexp_substr('abc123','(\\d+)')</source>
-        <translation type="vanished">regexp_substr('abc123','(\\d+)')</translation>
+        <translation>regexp_substr('abc123','(\\d+)')</translation>
     </message>
     <message>
         <source>Returns a string with the supplied string, array, or map of strings replaced.</source>
-        <translation type="vanished">Liefert eine Zeichenkette in der die angegebene Zeichenkette, das Feld oder die Abbildungszeichenkette ersetzt wurde.</translation>
+        <translation>Liefert eine Zeichenkette in der die angegebene Zeichenkette, das Feld oder die Abbildungszeichenkette ersetzt wurde.</translation>
     </message>
     <message>
         <source>String & array variant</source>
-        <translation type="vanished">Zeichenkette & Feldvariante</translation>
+        <translation>Zeichenkette & Feldvariante</translation>
     </message>
     <message>
         <source>Returns a string with the supplied string or array of strings replaced by a string or an array of strings.</source>
-        <translation type="vanished">Liefert eine Zeichenkette in der die angegebene Zeichenkette oder das Zeichenkettenfeld durch eine Zeichenkette oder ein Zeichenkettenfeld ersetzt wurde.</translation>
+        <translation>Liefert eine Zeichenkette in der die angegebene Zeichenkette oder das Zeichenkettenfeld durch eine Zeichenkette oder ein Zeichenkettenfeld ersetzt wurde.</translation>
     </message>
     <message>
         <source>the string or array of strings to replace</source>
-        <translation type="vanished">Die zuersetzende Zeichenkette oder das Zeichenkettenfeld</translation>
+        <translation>Die zuersetzende Zeichenkette oder das Zeichenkettenfeld</translation>
     </message>
     <message>
         <source>the string or array of strings to use as a replacement</source>
-        <translation type="vanished">die Zeichenkette oder das Zeichenkettenfeld zur Ersetzung</translation>
+        <translation>die Zeichenkette oder das Zeichenkettenfeld zur Ersetzung</translation>
     </message>
     <message>
         <source>replace('QGIS ABC',array('A','B','C'),array('X','Y','Z'))</source>
-        <translation type="vanished">replace('QGIS ABC',array('A','B','C'),array('X','Y','Z'))</translation>
+        <translation>replace('QGIS ABC',array('A','B','C'),array('X','Y','Z'))</translation>
     </message>
     <message>
         <source>'QGIS XYZ'</source>
-        <translation type="vanished">'QGIS XYZ'</translation>
+        <translation>'QGIS XYZ'</translation>
     </message>
     <message>
         <source>replace('QGIS',array('Q','S'),'')</source>
-        <translation type="vanished">replace('QGIS',array('Q','S'),'')</translation>
+        <translation>replace('QGIS',array('Q','S'),'')</translation>
     </message>
     <message>
         <source>'GI'</source>
-        <translation type="vanished">'GI'</translation>
+        <translation>'GI'</translation>
     </message>
     <message>
         <source>Map variant</source>
-        <translation type="vanished">Kartenvariante</translation>
+        <translation>Kartenvariante</translation>
     </message>
     <message>
         <source>Returns a string with the supplied map keys replaced by paired values.</source>
-        <translation type="vanished">Liefert eine Zeichenkette mit dem durch Paare ersetzten gegebenen Mapsschlüsseln. </translation>
+        <translation>Liefert eine Zeichenkette mit dem durch Paare ersetzten gegebenen Mapsschlüsseln. </translation>
     </message>
     <message>
         <source>the map containing keys and values</source>
-        <translation type="vanished">Die Map mit den Schlüsseln und Werten</translation>
+        <translation>Die Map mit den Schlüsseln und Werten</translation>
     </message>
     <message>
         <source>replace('APP SHOULD ROCK',map('APP','QGIS','SHOULD','DOES'))</source>
-        <translation type="vanished">replace('APP SHOULD ROCK',map('APP','QGIS','SHOULD','DOES'))</translation>
+        <translation>replace('APP SHOULD ROCK',map('APP','QGIS','SHOULD','DOES'))</translation>
     </message>
     <message>
         <source>Returns the configured representation value for a field value. It depends on the configured widget type. Often, this is useful for 'Value Map' widgets.</source>
-        <translation type="vanished">Liefert den konfigurierten Darstellungswert für einen Feldwert. Es hängt von einem konfigurierten Widgettyp ab. Dies ist oft für Wertabbildungen nützlich.</translation>
+        <translation>Liefert den konfigurierten Darstellungswert für einen Feldwert. Es hängt von einem konfigurierten Widgettyp ab. Dies ist oft für Wertabbildungen nützlich.</translation>
     </message>
     <message>
         <source>represent_value</source>
-        <translation type="vanished">represent_value</translation>
+        <translation>represent_value</translation>
     </message>
     <message>
         <source>The value which should be resolved. Most likely a field.</source>
-        <translation type="vanished">Der Wert der aufgelöst werden soll. Höchstwahrscheinlich ein Feld.</translation>
+        <translation>Der Wert der aufgelöst werden soll. Höchstwahrscheinlich ein Feld.</translation>
     </message>
     <message>
         <source>The field name for which the widget configuration should be loaded. (Optional)</source>
-        <translation type="vanished">Der Feldname für den die Widgetkonfiguration geladen werden soll (Optional).</translation>
+        <translation>Der Feldname für den die Widgetkonfiguration geladen werden soll (Optional).</translation>
     </message>
     <message>
         <source>represent_value("field_with_value_map")</source>
-        <translation type="vanished">represent_value("field_with_value_map")</translation>
+        <translation>represent_value("field_with_value_map")</translation>
     </message>
     <message>
         <source>Description for value</source>
-        <translation type="vanished">Wertbeschreibung</translation>
+        <translation>Wertbeschreibung</translation>
     </message>
     <message>
         <source>represent_value('static value', 'field_name')</source>
-        <translation type="vanished">represent_value('static value', 'field_name')</translation>
+        <translation>represent_value('static value', 'field_name')</translation>
     </message>
     <message>
         <source>Description for static value</source>
-        <translation type="vanished">Beschreibung für statischen Wert</translation>
+        <translation>Beschreibung für statischen Wert</translation>
     </message>
     <message>
         <source>Returns a string padded on the right to the specified width, using a fill character. If the target width is smaller than the string's length, the string is truncated.</source>
-        <translation type="vanished">Liefert einem rechts auf die gegebene Länge mit dem Füllzeichen aufgefüllte Zeichenkette. Wenn die Zielbreite kleiner ist als die Zeichenkettenlänge wird sie abgeschnitten.</translation>
+        <translation>Liefert einem rechts auf die gegebene Länge mit dem Füllzeichen aufgefüllte Zeichenkette. Wenn die Zielbreite kleiner ist als die Zeichenkettenlänge wird sie abgeschnitten.</translation>
     </message>
     <message>
         <source>rpad('Hello', 3, 'x')</source>
-        <translation type="vanished">rpad('Hallo', 10, 'x')</translation>
+        <translation>rpad('Hallo', 10, 'x')</translation>
     </message>
     <message>
         <source>Sets a specific color component for a color string, e.g., the red component or alpha component.</source>
-        <translation type="vanished">Setzt eine bestimmte Komponente einer Farbzeichenkette, z.B. rote oder Alpha-Komponente</translation>
+        <translation>Setzt eine bestimmte Komponente einer Farbzeichenkette, z.B. rote oder Alpha-Komponente</translation>
     </message>
     <message>
         <source>Simplifies a geometry by removing nodes using a distance based threshold (ie, the Douglas Peucker algorithm). The algorithm preserves large deviations in geometries and reduces the number of vertices in nearly straight segments.</source>
-        <translation type="vanished">Vereinfacht die Geometrie durch entfernen von Punkte mit einer entfernungsbasierten Schwelle (d.h. Douglas-Peuker-Algorithmus). Der Algorithmus entfernt große Abweichungen in Geometrien und reduziert die Anzahl von Stützpunkten in fast geraden Segmenten.</translation>
+        <translation>Vereinfacht die Geometrie durch entfernen von Punkte mit einer entfernungsbasierten Schwelle (d.h. Douglas-Peuker-Algorithmus). Der Algorithmus entfernt große Abweichungen in Geometrien und reduziert die Anzahl von Stützpunkten in fast geraden Segmenten.</translation>
     </message>
     <message>
         <source>simplify</source>
-        <translation type="vanished">simplify</translation>
+        <translation>simplify</translation>
     </message>
     <message>
         <source>maximum deviation from straight segments for points to be removed</source>
-        <translation type="vanished">Maximale Abweichung von graden Segmenten damit Punkte entfernt werden</translation>
+        <translation>Maximale Abweichung von graden Segmenten damit Punkte entfernt werden</translation>
     </message>
     <message>
         <source>geom_to_wkt(simplify(geometry:=geom_from_wkt('LineString(0 0, 5 0.1, 10 0)'),tolerance:=5))</source>
-        <translation type="vanished">geom_to_wkt(simplify(geometry:=geom_from_wkt('LineString(0 0, 5 0.1, 10 0)'),tolerance:=5))</translation>
+        <translation>geom_to_wkt(simplify(geometry:=geom_from_wkt('LineString(0 0, 5 0.1, 10 0)'),tolerance:=5))</translation>
     </message>
     <message>
         <source>'LineString(0 0, 10 0)'</source>
-        <translation type="vanished">'LineString(0 0, 10 0)'</translation>
+        <translation>'LineString(0 0, 10 0)'</translation>
     </message>
     <message>
         <source>Simplifies a geometry by removing nodes using an area based threshold (ie, the Visvalingam-Whyatt algorithm). The algorithm removes vertices which create small areas in geometries, e.g., narrow spikes or nearly straight segments.</source>
-        <translation type="vanished">Vereinfacht die Geometrie durch entfernen von Punkte mit einer flächenbasierten Schwelle (d.h. Visvalingam-Whyatt-Algorithmus). Der Algorithmus entfernt Stützpunkte die kleine Flächen in Geometrien erzeugen (z.B. kleine Ausreisser oder fast gerade Segmente).</translation>
+        <translation>Vereinfacht die Geometrie durch entfernen von Punkte mit einer flächenbasierten Schwelle (d.h. Visvalingam-Whyatt-Algorithmus). Der Algorithmus entfernt Stützpunkte die kleine Flächen in Geometrien erzeugen (z.B. kleine Ausreisser oder fast gerade Segmente).</translation>
     </message>
     <message>
         <source>simplify_vw</source>
-        <translation type="vanished">simplify_vw</translation>
+        <translation>simplify_vw</translation>
     </message>
     <message>
         <source>a measure of the maximum area created by a node for the node to be removed</source>
-        <translation type="vanished">Ein Maß für die maximale von einem zu entfernenden Stützpunkt erzeugte Fläche</translation>
+        <translation>Ein Maß für die maximale von einem zu entfernenden Stützpunkt erzeugte Fläche</translation>
     </message>
     <message>
         <source>geom_to_wkt(simplify_vw(geometry:=geom_from_wkt('LineString(0 0, 5 0, 5.01 10, 5.02 0, 10 0)'),tolerance:=5))</source>
-        <translation type="vanished">geom_to_wkt(simplify_vw(geometry:=geom_from_wkt('LineString(0 0, 5 0, 5.01 10, 5.02 0, 10 0)'),tolerance:=5))</translation>
+        <translation>geom_to_wkt(simplify_vw(geometry:=geom_from_wkt('LineString(0 0, 5 0, 5.01 10, 5.02 0, 10 0)'),tolerance:=5))</translation>
     </message>
     <message>
         <source>Returns a geometry formed by buffering out just one side of a linestring geometry. Distances are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Liefert eine seitlich gepufferten Liniengeometrie.  Abstände sind im räumlichen Bezugssystem der Geometrie anzugeben.</translation>
+        <translation>Liefert eine seitlich gepufferten Liniengeometrie.  Abstände sind im räumlichen Bezugssystem der Geometrie anzugeben.</translation>
     </message>
     <message>
         <source>single_sided_buffer</source>
-        <translation type="vanished">single_sided_buffer</translation>
+        <translation>single_sided_buffer</translation>
     </message>
     <message>
         <source>buffer distance. Positive values will be buffered to the left of lines, negative values to the right</source>
-        <translation type="vanished">Pufferabstand. Positive Werte deuten links Linien und negative rechts</translation>
+        <translation>Pufferabstand. Positive Werte deuten links Linien und negative rechts</translation>
     </message>
     <message>
         <source>number of segments to use to represent a quarter circle when a round join style is used. A larger number results in a smoother buffer with more nodes.</source>
-        <translation type="vanished">Anzahl der zur Darstellung eines Vierteilkreises zu verwendenden Segmente, wenn der runde Verbindungsstil genutzt wird. Eine größere Zahl führt zu einem glattere Puffer mit mehr Stützpunkten. </translation>
+        <translation>Anzahl der zur Darstellung eines Vierteilkreises zu verwendenden Segmente, wenn der runde Verbindungsstil genutzt wird. Eine größere Zahl führt zu einem glattere Puffer mit mehr Stützpunkten. </translation>
     </message>
     <message>
         <source>single_sided_buffer($geometry, 10.5)</source>
-        <translation type="vanished">single_sided_buffer($geometry, 10.5)</translation>
+        <translation>single_sided_buffer($geometry, 10.5)</translation>
     </message>
     <message>
         <source>line buffered to the left by 10.5 units</source>
-        <translation type="vanished">Linienbuffer nach links mit 10.5 Einheiten</translation>
+        <translation>Linienbuffer nach links mit 10.5 Einheiten</translation>
     </message>
     <message>
         <source>single_sided_buffer($geometry, -10.5)</source>
-        <translation type="vanished">single_sided_buffer($geometry, -10.5)</translation>
+        <translation>single_sided_buffer($geometry, -10.5)</translation>
     </message>
     <message>
         <source>line buffered to the right by 10.5 units</source>
-        <translation type="vanished">Linienbuffer nach rechts mit 10.5 Einheiten</translation>
+        <translation>Linienbuffer nach rechts mit 10.5 Einheiten</translation>
     </message>
     <message>
         <source>single_sided_buffer($geometry, 10.5, segments=16, join=1)</source>
-        <translation type="vanished">single_sided_buffer($geometry, 10.5, segments=16, join=1)</translation>
+        <translation>single_sided_buffer($geometry, 10.5, segments=16, join=1)</translation>
     </message>
     <message>
         <source>line buffered to the left by 10.5 units, using more segments to result in a smoother buffer</source>
-        <translation type="vanished">Linienbuffer nach Links mit 10.5 Einheiten für eine glattere Linie mit mehr Segmenten</translation>
+        <translation>Linienbuffer nach Links mit 10.5 Einheiten für eine glattere Linie mit mehr Segmenten</translation>
     </message>
     <message>
         <source>single_sided_buffer($geometry, 10.5, join=3)</source>
-        <translation type="vanished">single_sided_buffer($geometry, 10.5, join=3)</translation>
+        <translation>single_sided_buffer($geometry, 10.5, join=3)</translation>
     </message>
     <message>
         <source>line buffered to the left by 10.5 units, using a beveled join</source>
-        <translation type="vanished">Linienbuffer nach links mit 10.5 Einheiten mit abgerundeten Verbindungen</translation>
+        <translation>Linienbuffer nach links mit 10.5 Einheiten mit abgerundeten Verbindungen</translation>
     </message>
     <message>
         <source>Smooths a geometry by adding extra nodes which round off corners in the geometry.</source>
-        <translation type="vanished">Glättet eine Geometrie durch hinzufügen von mehr Stützpunkten die die Ecken der Geometrie abrunden.</translation>
+        <translation>Glättet eine Geometrie durch hinzufügen von mehr Stützpunkten die die Ecken der Geometrie abrunden.</translation>
     </message>
     <message>
         <source>smooth</source>
-        <translation type="vanished">smooth</translation>
+        <translation>smooth</translation>
     </message>
     <message>
         <source>number of smoothing iterations to apply. Larger numbers result in smoother but more complex geometries.</source>
-        <translation type="vanished">Anzahl der anzuwendenden Glättungsdurchgängen. Hohe Zahlen führen zu glätteren jedoch komplexeren Geometrien. </translation>
+        <translation>Anzahl der anzuwendenden Glättungsdurchgängen. Hohe Zahlen führen zu glätteren jedoch komplexeren Geometrien. </translation>
     </message>
     <message>
         <source>value between 0 and 0.5 which controls how tightly the smoothed geometry follow the original geometry. Smaller values result in a tighter smoothing, larger values result in looser smoothing.</source>
-        <translation type="vanished">Wert zwischen 0 und 0.5 der steuert wie eng die geglättete der ursprünglichen Geometrie folgt. Kleinere Werte führen zur engerer Glättung, größere Werte zu loserer Glättung.</translation>
+        <translation>Wert zwischen 0 und 0.5 der steuert wie eng die geglättete der ursprünglichen Geometrie folgt. Kleinere Werte führen zur engerer Glättung, größere Werte zu loserer Glättung.</translation>
     </message>
     <message>
         <source>minimum length of segments to apply smoothing to. This parameter can be used to avoid placing excessive additional nodes in shorter segments of the geometry.</source>
-        <translation type="vanished">Minimallänge von Segmenten die glättet werden sollen. Dieser Parameter kann dazu verwendet werden. das extensive Hinzufügen von Stützpunkt in kürzeren Segmenten einer Geometrie zu vermeiden.</translation>
+        <translation>Minimallänge von Segmenten die glättet werden sollen. Dieser Parameter kann dazu verwendet werden. das extensive Hinzufügen von Stützpunkt in kürzeren Segmenten einer Geometrie zu vermeiden.</translation>
     </message>
     <message>
         <source>maximum angle at node for smoothing to be applied (0-180). By lowering the maximum angle intentionally sharp corners in the geometry can be preserved. For instance, a value of 80 degrees will retain right angles in the geometry.</source>
-        <translation type="vanished">Minimalwinkel am Stützpunkt damit geglättet wird (0-180°). Durch niederigere Werte können scharfe Ecken in der Geometrie erhalten werden. Z.B. sorgt ein Wert von 80° dafür das rechte Winkel in der Geometrie erhalten bleiben.</translation>
+        <translation>Minimalwinkel am Stützpunkt damit geglättet wird (0-180°). Durch niederigere Werte können scharfe Ecken in der Geometrie erhalten werden. Z.B. sorgt ein Wert von 80° dafür das rechte Winkel in der Geometrie erhalten bleiben.</translation>
     </message>
     <message>
         <source>geom_to_wkt(smooth(geometry:=geom_from_wkt('LineString(0 0, 5 0, 5 5)'),iterations:=1,offset:=0.2,min_length:=-1,max_angle:=180))</source>
-        <translation type="vanished">geom_to_wkt(smooth(geometry:=geom_from_wkt('LineString(0 0, 5 0, 5 5)'),iterations:=1,offset:=0.2,min_length:=-1,max_angle:=180))</translation>
+        <translation>geom_to_wkt(smooth(geometry:=geom_from_wkt('LineString(0 0, 5 0, 5 5)'),iterations:=1,offset:=0.2,min_length:=-1,max_angle:=180))</translation>
     </message>
     <message>
         <source>'LineString (0 0, 4 0, 5 1, 5 5)'</source>
-        <translation type="vanished">'LineString (2 4, 3 5, 9 7)' {0 0, 4 0, 5 1, 5 5)?}</translation>
+        <translation>'LineString (2 4, 3 5, 9 7)' {0 0, 4 0, 5 1, 5 5)?}</translation>
     </message>
     <message>
         <source>Splits string into an array using supplied delimiter and optional string for empty values.</source>
-        <translation type="vanished">Teilt eine Zeichenkette durch die gegebene Trennung in ein Feld, ggf. mit optionaler Zeichenkette für leere Werte. </translation>
+        <translation>Teilt eine Zeichenkette durch die gegebene Trennung in ein Feld, ggf. mit optionaler Zeichenkette für leere Werte. </translation>
     </message>
     <message>
         <source>string_to_array</source>
-        <translation type="vanished">string_to_array</translation>
+        <translation>string_to_array</translation>
     </message>
     <message>
         <source>the string delimiter used to split the input string</source>
-        <translation type="vanished">die Trennzeichenkette zum Teilen der Eingabezeichenkette</translation>
+        <translation>die Trennzeichenkette zum Teilen der Eingabezeichenkette</translation>
     </message>
     <message>
         <source>string_to_array('1,2,3',',')</source>
-        <translation type="vanished">string_to_array('1,2,3',',')</translation>
+        <translation>string_to_array('1,2,3',',')</translation>
     </message>
     <message>
         <source>array: '1', '2', '3'</source>
-        <translation type="vanished">array: '1', '2', '3'</translation>
+        <translation>array: '1', '2', '3'</translation>
     </message>
     <message>
         <source>string_to_array('1,,3',',','0')</source>
-        <translation type="vanished">string_to_array('1,,3',',','0')</translation>
+        <translation>string_to_array('1,,3',',','0')</translation>
     </message>
     <message>
         <source>array: '1', '0', '3'</source>
-        <translation type="vanished">array: '1', '0', '3'</translation>
+        <translation>array: '1', '0', '3'</translation>
     </message>
     <message>
         <source>integer representing start position to extract from; if start is negative, the return string will begin at the end of the string minus the start value</source>
-        <translation type="vanished">Ganze Zahl die die Startposition von der extrahiert werden soll; negative Werte beziehen sich auf das Ende minus den Startwert.</translation>
+        <translation>Ganze Zahl die die Startposition von der extrahiert werden soll; negative Werte beziehen sich auf das Ende minus den Startwert.</translation>
     </message>
     <message>
         <source>integer representing length of string to extract; if length is negative, the return string will omit the given length of characters from the end of the string</source>
-        <translation type="vanished">Ganze Zahl der die Länge der zu extrahierenden Zeichenkette angibt; negative Werte geben stattdessen an wieviel Zeichen am Ende abgeschnitten werden sollen </translation>
+        <translation>Ganze Zahl der die Länge der zu extrahierenden Zeichenkette angibt; negative Werte geben stattdessen an wieviel Zeichen am Ende abgeschnitten werden sollen </translation>
     </message>
     <message>
         <source>x</source>
-        <translation type="vanished">x</translation>
+        <translation>x</translation>
     </message>
     <message>
         <source>x extension, numeric value</source>
-        <translation type="vanished">X-Ausdehnung, numerischer Wert</translation>
+        <translation>X-Ausdehnung, numerischer Wert</translation>
     </message>
     <message>
         <source>y</source>
-        <translation type="vanished">y</translation>
+        <translation>y</translation>
     </message>
     <message>
         <source>y extension, numeric value</source>
-        <translation type="vanished">Y-Ausdehnung, numerischer Wert</translation>
+        <translation>Y-Ausdehnung, numerischer Wert</translation>
     </message>
     <message>
         <source>extrude(geom_from_wkt('LineString(1 2, 3 2, 4 3)'), 1, 2)</source>
-        <translation type="vanished">extrude(geom_from_wkt('LineString(1 2, 3 2, 4 3)'), 1, 2)</translation>
+        <translation>extrude(geom_from_wkt('LineString(1 2, 3 2, 4 3)'), 1, 2)</translation>
     </message>
     <message>
         <source>Polygon ((1 2, 3 2, 4 3, 5 5, 4 4, 2 4, 1 2))</source>
-        <translation type="vanished">Polygon ((1 2, 3 2, 4 3, 5 5, 4 4, 2 4, 1 2))</translation>
+        <translation>Polygon ((1 2, 3 2, 4 3, 5 5, 4 4, 2 4, 1 2))</translation>
     </message>
     <message>
         <source>extrude(geom_from_wkt('MultiLineString((1 2, 3 2), (4 3, 8 3)'), 1, 2)</source>
-        <translation type="vanished">extrude(geom_from_wkt('MultiLineString((1 2, 3 2), (4 3, 8 3)'), 1, 2)</translation>
+        <translation>extrude(geom_from_wkt('MultiLineString((1 2, 3 2), (4 3, 8 3)'), 1, 2)</translation>
     </message>
     <message>
         <source>MultiPolygon (((1 2, 3 2, 4 4, 2 4, 1 2)),((4 3, 8 3, 9 5, 5 5, 4 3)))</source>
-        <translation type="vanished">MultiPolygon (((1 2, 3 2, 4 4, 2 4, 1 2)),((4 3, 8 3, 9 5, 5 5, 4 3)))</translation>
+        <translation>MultiPolygon (((1 2, 3 2, 4 4, 2 4, 1 2)),((4 3, 8 3, 9 5, 5 5, 4 3)))</translation>
     </message>
     <message>
         <source>Rounds a number downwards.</source>
-        <translation type="vanished">Rundet eine Zahl ab.</translation>
+        <translation>Rundet eine Zahl ab.</translation>
     </message>
     <message>
         <source>floor</source>
-        <translation type="vanished">floor</translation>
+        <translation>floor</translation>
     </message>
     <message>
         <source>floor(4.9)</source>
-        <translation type="vanished">floor(4.9)</translation>
+        <translation>floor(4.9)</translation>
     </message>
     <message>
         <source>floor(-4.9)</source>
-        <translation type="vanished">floor(-4.9)</translation>
+        <translation>floor(-4.9)</translation>
     </message>
     <message>
         <source>-5</source>
-        <translation type="vanished">-5</translation>
+        <translation>-5</translation>
     </message>
     <message>
         <source>Format a string using supplied arguments.</source>
-        <translation type="vanished">Formatiert eine Zeichenkette mit den gegebenen Argumenten.</translation>
+        <translation>Formatiert eine Zeichenkette mit den gegebenen Argumenten.</translation>
     </message>
     <message>
         <source>format</source>
-        <translation type="vanished">format</translation>
+        <translation>format</translation>
     </message>
     <message>
         <source>A string with place holders for the arguments. Use %1, %2, etc for placeholders. Placeholders can be repeated.</source>
-        <translation type="vanished">Eine Zeichenkette mit Platzhaltern für die Argumente. %1, %2 usw. als Platzhalter verwenden.  Platzhalter können wiederholt werden.</translation>
+        <translation>Eine Zeichenkette mit Platzhaltern für die Argumente. %1, %2 usw. als Platzhalter verwenden.  Platzhalter können wiederholt werden.</translation>
     </message>
     <message>
         <source>any type. Any number of arguments.</source>
-        <translation type="vanished">Beliebiger Typ. Beliebige Anzahl von Argumenten.</translation>
+        <translation>Beliebiger Typ. Beliebige Anzahl von Argumenten.</translation>
     </message>
     <message>
         <source>format('This %1 a %2','is', 'test')</source>
-        <translation type="vanished">format('Dies %1 ein %2','ist', 'Test')</translation>
+        <translation>format('Dies %1 ein %2','ist', 'Test')</translation>
     </message>
     <message>
         <source>'This is a test''</source>
-        <translation type="vanished">'Dies ist ein Test'</translation>
+        <translation>'Dies ist ein Test'</translation>
     </message>
     <message>
         <source>Format a date type or string into a custom string format. Uses Qt date/time format strings.  See <a href='http://qt-project.org/doc/qt-4.8/qdatetime.html#toString'>QDateTime::toString</a>.</source>
-        <translation type="vanished">Formatiert einen Datumstyp oder eine Zeichenkette in ein benutzerdefiniertes Format. Nutzt Qt-Datum-/Zeitformatszeichenkette.  Siehe <a href='http://qt-project.org/doc/qt-4.8/qdatetime.html#toString'>QDateTime::toString</a>.</translation>
+        <translation>Formatiert einen Datumstyp oder eine Zeichenkette in ein benutzerdefiniertes Format. Nutzt Qt-Datum-/Zeitformatszeichenkette.  Siehe <a href='http://qt-project.org/doc/qt-4.8/qdatetime.html#toString'>QDateTime::toString</a>.</translation>
     </message>
     <message>
         <source>format_date</source>
-        <translation type="vanished">format_date</translation>
+        <translation>format_date</translation>
     </message>
     <message>
         <source>date, time or datetime value</source>
-        <translation type="vanished">Datum, Zeit oder Zeitpunktwert</translation>
+        <translation>Datum, Zeit oder Zeitpunktwert</translation>
     </message>
     <message>
         <source>String template used to format the string. <table><thead><tr><th>Expression</th><th>Output</th></tr></thead><tr valign="top"><td>d</td><td>the day as number without a leading zero (1 to 31)</td></tr><tr valign="top"><td>dd</td><td>the day as number with a leading zero (01 to 31)</td></tr><tr valign="top"><td&g [...]
-        <translation type="vanished">Zeichenkettenvorlagen zur Formatierung. <table><thead><tr><th>Ausdruck</th><th>Ausgabe</th></tr></thead><tr valign="top"><td>d</td><td>der Tag als Zahl ohne führende Null (1 to 31)</td></tr><tr valign="top"><td>dd</td><td>der Tag als Zahl mit führender Null (01 to 31)</td></tr><tr valign="top"&g [...]
+        <translation>Zeichenkettenvorlagen zur Formatierung. <table><thead><tr><th>Ausdruck</th><th>Ausgabe</th></tr></thead><tr valign="top"><td>d</td><td>der Tag als Zahl ohne führende Null (1 to 31)</td></tr><tr valign="top"><td>dd</td><td>der Tag als Zahl mit führender Null (01 to 31)</td></tr><tr valign="top"><td>ddd& [...]
 valign="top"><td>dddd</td><td>der lange lokale Wochentagsname (e.g. 'Montag' bis 'Sonntag')</td></tr><tr valign="top"><td>M</td><td>der Monat als Zahl ohne führende Null (1-12)</td></tr><tr valign="top"><td>MM</td><td>der Monat als Zahl mit führender Null (01-12)</td></tr><tr valign="top"><td>MMM</td><td& [...]
     </message>
     <message>
         <source>format_date('2012-05-15','dd.MM.yyyy')</source>
-        <translation type="vanished">format_date('2012-05-15','dd.MM.yyyy')</translation>
+        <translation>format_date('2012-05-15','dd.MM.yyyy')</translation>
     </message>
     <message>
         <source>'15.05.2012'</source>
-        <translation type="vanished">'15.05.2012'</translation>
+        <translation>'15.05.2012'</translation>
     </message>
     <message>
         <source>Returns a number formatted with the locale separator for thousands. Also truncates the number to the number of supplied places.</source>
-        <translation type="vanished">Liefert eine Zahl formatiert mit den lokalen Tausendertrennern. Schneidet die Zahl auch auf die angegebene Stellenanzahl.</translation>
+        <translation>Liefert eine Zahl formatiert mit den lokalen Tausendertrennern. Schneidet die Zahl auch auf die angegebene Stellenanzahl.</translation>
     </message>
     <message>
         <source>format_number</source>
-        <translation type="vanished">format_number</translation>
+        <translation>format_number</translation>
     </message>
     <message>
         <source>number to be formatted</source>
-        <translation type="vanished">zu formatierende Zahl</translation>
+        <translation>zu formatierende Zahl</translation>
     </message>
     <message>
         <source>integer representing the number of decimal places to truncate the string to.</source>
-        <translation type="vanished">ganze Zahl, die die Anzahl der Dezimalstellen angibt auf die die Zeichenkette abgeschnitten werden soll.</translation>
+        <translation>ganze Zahl, die die Anzahl der Dezimalstellen angibt auf die die Zeichenkette abgeschnitten werden soll.</translation>
     </message>
     <message>
         <source>format_number(10000000.332,2)</source>
-        <translation type="vanished">format_number(10000000.332,2)</translation>
+        <translation>format_number(10000000.332,2)</translation>
     </message>
     <message>
         <source>'10,000,000.33'</source>
-        <translation type="vanished">'10,000,000.33'</translation>
+        <translation>'10,000,000.33'</translation>
     </message>
     <message>
         <source>Returns a geometry from a GML representation of geometry.</source>
-        <translation type="vanished">Liefert eine Geometrie aus einer GML-Darstellung der Geometrie.</translation>
+        <translation>Liefert eine Geometrie aus einer GML-Darstellung der Geometrie.</translation>
     </message>
     <message>
         <source>geom_from_gml</source>
-        <translation type="vanished">geom_from_gml</translation>
+        <translation>geom_from_gml</translation>
     </message>
     <message>
         <source>GML representation of a geometry as a string</source>
-        <translation type="vanished">GML-Darstellung einer Geometrie als Zeichenkette</translation>
+        <translation>GML-Darstellung einer Geometrie als Zeichenkette</translation>
     </message>
     <message>
         <source>geom_from_gml( '<gml:LineString srsName="EPSG:4326"><gml:coordinates>4,4 5,5 6,6</gml:coordinates></gml:LineString>')</source>
-        <translation type="vanished">geom_from_gml( '<gml:LineString srsName="EPSG:4326"><gml:coordinates>4,4 5,5 6,6</gml:coordinates></gml:LineString>')</translation>
+        <translation>geom_from_gml( '<gml:LineString srsName="EPSG:4326"><gml:coordinates>4,4 5,5 6,6</gml:coordinates></gml:LineString>')</translation>
     </message>
     <message>
         <source>a geometry object</source>
-        <translation type="vanished">ein Geometrieobjekt</translation>
+        <translation>ein Geometrieobjekt</translation>
     </message>
     <message>
         <source>Returns a geometry created from a Well-Known Text (WKT) representation.</source>
-        <translation type="vanished">Liefert eine Geometrie aus einer Well-Known-Text (WKT)-Darstellung.</translation>
+        <translation>Liefert eine Geometrie aus einer Well-Known-Text (WKT)-Darstellung.</translation>
     </message>
     <message>
         <source>geom_from_wkt</source>
-        <translation type="vanished">geom_from_wkt</translation>
+        <translation>geom_from_wkt</translation>
     </message>
     <message>
         <source>Well-Known Text (WKT) representation of a geometry</source>
-        <translation type="vanished">Well-Knoten-Text (WKT)-Darstellung einer Geometrie</translation>
+        <translation>Well-Knoten-Text (WKT)-Darstellung einer Geometrie</translation>
     </message>
     <message>
         <source>geom_from_wkt( 'POINT(4 5)' )</source>
-        <translation type="vanished">geom_from_wkt( 'POINT(4 5)' )</translation>
+        <translation>geom_from_wkt( 'POINT(4 5)' )</translation>
     </message>
     <message>
         <source>Returns the Well-Known Text (WKT) representation of the geometry without SRID metadata.</source>
-        <translation type="vanished">Liefert eine Well-Known-Text (WKT)-Darstellung einer Geometrie ohne SRID-Metadaten.</translation>
+        <translation>Liefert eine Well-Known-Text (WKT)-Darstellung einer Geometrie ohne SRID-Metadaten.</translation>
     </message>
     <message>
         <source>geom_to_wkt</source>
-        <translation type="vanished">geom_to_wkt</translation>
+        <translation>geom_to_wkt</translation>
     </message>
     <message>
         <source>geom_to_wkt( $geometry )</source>
-        <translation type="vanished">geom_to_wkt( $geometry )</translation>
+        <translation>geom_to_wkt( $geometry )</translation>
     </message>
     <message>
         <source>Returns a feature's geometry.</source>
-        <translation type="vanished">Liefert die Geometrie eines Objekts.</translation>
+        <translation>Liefert die Geometrie eines Objekts.</translation>
     </message>
     <message>
         <source>a feature object</source>
-        <translation type="vanished">Ein Objekt</translation>
+        <translation>Ein Objekt</translation>
     </message>
     <message>
         <source>geom_to_wkt( geometry( get_feature( layer, attributeField, value ) ) )</source>
-        <translation type="vanished">geom_to_wkt( geometry( get_feature( layer, attributeField, value ) ) )</translation>
+        <translation>geom_to_wkt( geometry( get_feature( layer, attributeField, value ) ) )</translation>
     </message>
     <message>
         <source>'POINT(6 50)'</source>
-        <translation type="vanished">'POINT(6 50)'</translation>
+        <translation>'POINT(6 50)'</translation>
     </message>
     <message>
         <source>intersects( $geometry, geometry( get_feature( layer, attributeField, value ) ) )</source>
-        <translation type="vanished">intersects( $geometry, geometry( get_feature( layer, attributeField, value ) ) )</translation>
+        <translation>intersects( $geometry, geometry( get_feature( layer, attributeField, value ) ) )</translation>
     </message>
     <message>
         <source>Returns a specific geometry from a geometry collection, or null if the input geometry is not a collection.</source>
-        <translation type="vanished">Liefert eine bestimmte Geometrie aus einer Geometriecollection oder NULL wenn die Eingabe keine Collection ist.</translation>
+        <translation>Liefert eine bestimmte Geometrie aus einer Geometriecollection oder NULL wenn die Eingabe keine Collection ist.</translation>
     </message>
     <message>
         <source>geometry_n</source>
-        <translation type="vanished">geometry_n</translation>
+        <translation>geometry_n</translation>
     </message>
     <message>
         <source>geometry collection</source>
-        <translation type="vanished">Geometrycollection</translation>
+        <translation>Geometrycollection</translation>
     </message>
     <message>
         <source>index of geometry to return, where 1 is the first geometry in the collection</source>
-        <translation type="vanished">Index der zurückzugebenden Geometrie wobei 1 die erste Geometrie der Collection ist</translation>
+        <translation>Index der zurückzugebenden Geometrie wobei 1 die erste Geometrie der Collection ist</translation>
     </message>
     <message>
         <source>geom_to_wkt(geometry_n(geom_from_wkt('GEOMETRYCOLLECTION(POINT(0 1), POINT(0 0), POINT(1 0), POINT(1 1))'),3))</source>
-        <translation type="vanished">geom_to_wkt(geometry_n(geom_from_wkt('GEOMETRYCOLLECTION(POINT(0 1), POINT(0 0), POINT(1 0), POINT(1 1))'),3))</translation>
+        <translation>geom_to_wkt(geometry_n(geom_from_wkt('GEOMETRYCOLLECTION(POINT(0 1), POINT(0 0), POINT(1 0), POINT(1 1))'),3))</translation>
     </message>
     <message>
         <source>'Point (1 0)'</source>
-        <translation type="vanished">'Point (1 0)'</translation>
+        <translation>'Point (1 0)'</translation>
     </message>
     <message>
         <source>Returns the first feature of a layer matching a given attribute value.</source>
-        <translation type="vanished">Liefert das erste Objekts eines Layers eines gegebenen Attributwert.</translation>
+        <translation>Liefert das erste Objekts eines Layers eines gegebenen Attributwert.</translation>
     </message>
     <message>
         <source>get_feature</source>
-        <translation type="vanished">get_feature</translation>
+        <translation>get_feature</translation>
     </message>
     <message>
         <source>layer name or ID</source>
-        <translation type="vanished">Layername oder ID</translation>
+        <translation>Layername oder ID</translation>
     </message>
     <message>
         <source>attribute name</source>
-        <translation type="vanished">Attributname</translation>
+        <translation>Attributname</translation>
     </message>
     <message>
         <source>attribute value to match</source>
-        <translation type="vanished">Passender Attributwert</translation>
+        <translation>Passender Attributwert</translation>
     </message>
     <message>
         <source>get_feature('streets','name','main st')</source>
-        <translation type="vanished">get_feature('streets','name','main st')</translation>
+        <translation>get_feature('streets','name','main st')</translation>
     </message>
     <message>
         <source>first feature found in "streets" layer with "main st" value in the "name" field</source>
-        <translation type="vanished">Erstes im Layer "streets" gefundenes Objekt mit dem Wert "main st" im Feld "name"</translation>
+        <translation>Erstes im Layer "streets" gefundenes Objekt mit dem Wert "main st" im Feld "name"</translation>
     </message>
     <message>
         <source>Returns the Hamming distance between two strings. This equates to the number of characters at corresponding positions within the input strings where the characters are different. The input strings must be the same length, and the comparison is case-sensitive.</source>
-        <translation type="vanished">Liefert den Hamming-Abstand zwischen zwei Zeichenketten. Dies entspricht der Anzahl von Zeichen an korrespondieren Positionen innerhalb der Eingabezeichenketten an dem die Zeichen unterschiedliche sind. Die Eingabezeichenketten mssen die gleiche Länge habnee und der Vergleich berücksichtig Groß-/Kleinschreibung.</translation>
+        <translation>Liefert den Hamming-Abstand zwischen zwei Zeichenketten. Dies entspricht der Anzahl von Zeichen an korrespondieren Positionen innerhalb der Eingabezeichenketten an dem die Zeichen unterschiedliche sind. Die Eingabezeichenketten mssen die gleiche Länge habnee und der Vergleich berücksichtig Groß-/Kleinschreibung.</translation>
     </message>
     <message>
         <source>hamming_distance</source>
-        <translation type="vanished">hamming_distance</translation>
+        <translation>hamming_distance</translation>
     </message>
     <message>
         <source>a string</source>
-        <translation type="vanished">Eine Zeichenkette</translation>
+        <translation>Eine Zeichenkette</translation>
     </message>
     <message>
         <source>hamming_distance('abc','xec')</source>
-        <translation type="vanished">hamming_distance('abc','xec')</translation>
+        <translation>hamming_distance('abc','xec')</translation>
     </message>
     <message>
         <source>hamming_distance('abc','ABc')</source>
-        <translation type="vanished">hamming_distance('abc','ABc')</translation>
+        <translation>hamming_distance('abc','ABc')</translation>
     </message>
     <message>
         <source>hamming_distance(upper('abc'),upper('ABC'))</source>
-        <translation type="vanished">hamming_distance(upper('abc'),upper('ABC'))</translation>
+        <translation>hamming_distance(upper('abc'),upper('ABC'))</translation>
     </message>
     <message>
         <source>Extract the hour part from a datetime or time, or the number of hours from an interval.</source>
-        <translation type="vanished">Bestimmt den Stundenteil aus einem Datum oder die Stundenzahl aus einem Intervall.</translation>
+        <translation>Bestimmt den Stundenteil aus einem Datum oder die Stundenzahl aus einem Intervall.</translation>
     </message>
     <message>
         <source>Time variant</source>
-        <translation type="vanished">Variante Zeit</translation>
+        <translation>Variante Zeit</translation>
     </message>
     <message>
         <source>Extract the hour part from a time or datetime.</source>
-        <translation type="vanished">Bestimmt den Stundenteil aus einem Datum oder ein Zeitpunkt.</translation>
+        <translation>Bestimmt den Stundenteil aus einem Datum oder ein Zeitpunkt.</translation>
     </message>
     <message>
         <source>a time or datetime value</source>
-        <translation type="vanished">ein Datum- oder Zeitpunktwert</translation>
+        <translation>ein Datum- oder Zeitpunktwert</translation>
     </message>
     <message>
         <source>hour('2012-07-22T13:24:57')</source>
-        <translation type="vanished">hour('2012-07-22T13:24:57')</translation>
+        <translation>hour('2012-07-22T13:24:57')</translation>
     </message>
     <message>
         <source>13</source>
-        <translation type="vanished">13</translation>
+        <translation>13</translation>
     </message>
     <message>
         <source>Calculate the length in hours of an interval.</source>
-        <translation type="vanished">Berechnet die Länge eines Intervalls in Stunden.</translation>
+        <translation>Berechnet die Länge eines Intervalls in Stunden.</translation>
     </message>
     <message>
         <source>interval value to return number of hours from</source>
-        <translation type="vanished">Intervallwert aus dem die Stundenzahl bestimmt werden soll</translation>
+        <translation>Intervallwert aus dem die Stundenzahl bestimmt werden soll</translation>
     </message>
     <message>
         <source>hour(tointerval('3 hours'))</source>
-        <translation type="vanished">hour(tointerval('3 hours'))</translation>
+        <translation>hour(tointerval('3 hours'))</translation>
     </message>
     <message>
         <source>hour(age('2012-07-22T13:00:00','2012-07-22T10:00:00'))</source>
-        <translation type="vanished">hour(age('2012-07-22T13:00:00','2012-07-22T10:00:00'))</translation>
+        <translation>hour(age('2012-07-22T13:00:00','2012-07-22T10:00:00'))</translation>
     </message>
     <message>
         <source>hour(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">hour(age('2012-01-01','2010-01-01'))</translation>
+        <translation>hour(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>17520</source>
-        <translation type="vanished">17520</translation>
+        <translation>17520</translation>
     </message>
     <message>
         <source>Tests a condition and returns a different result depending on the conditional check.</source>
-        <translation type="vanished">Prüft eine Bedingung und liefert unterschiedliche Ergebnisse je nach deren Ausgang.</translation>
+        <translation>Prüft eine Bedingung und liefert unterschiedliche Ergebnisse je nach deren Ausgang.</translation>
     </message>
     <message>
         <source>if</source>
-        <translation type="vanished">if</translation>
+        <translation>if</translation>
     </message>
     <message>
         <source>the condition which should be checked</source>
-        <translation type="vanished">die zu prüfende Bedingung</translation>
+        <translation>die zu prüfende Bedingung</translation>
     </message>
     <message>
         <source>'One'</source>
-        <translation type="vanished">'One'</translation>
+        <translation>'One'</translation>
     </message>
     <message>
         <source>the result which will be returned when the condition is true or another value that does not convert to false.</source>
-        <translation type="vanished">Das zurückzugebende Ergebnisse, wenn die Bedingung  erfüllt ist oder einen anderen Wert, wenn sie nicht erfüllt ist.</translation>
+        <translation>Das zurückzugebende Ergebnisse, wenn die Bedingung  erfüllt ist oder einen anderen Wert, wenn sie nicht erfüllt ist.</translation>
     </message>
     <message>
         <source>the result which will be returned when the condition is false or another value that converts to false like 0 or ''. NULL will also be converted to false.</source>
-        <translation type="vanished">das Ergebnis, das zurückgegeben wird, wenn die Bedingung nicht erfüllt ist oder ein anderer Wert wie 0 oder '', der zu unwahr umgewandelt wird. NULL wird auch als unwahr betrachtet.</translation>
+        <translation>das Ergebnis, das zurückgegeben wird, wenn die Bedingung nicht erfüllt ist oder ein anderer Wert wie 0 oder '', der zu unwahr umgewandelt wird. NULL wird auch als unwahr betrachtet.</translation>
     </message>
     <message>
         <source>if( 1+1=2, 'Yes', 'No' )</source>
-        <translation type="vanished">if( 1+1=2, 'Ja', 'Nein' )</translation>
+        <translation>if( 1+1=2, 'Ja', 'Nein' )</translation>
     </message>
     <message>
         <source>'Yes'</source>
-        <translation type="vanished">'Ja'</translation>
+        <translation>'Ja'</translation>
     </message>
     <message>
         <source>if( 1+1=3, 'Yes', 'No' )</source>
-        <translation type="vanished">if( 1+1=3, 'Ja', 'Nein' )</translation>
+        <translation>if( 1+1=3, 'Ja', 'Nein' )</translation>
     </message>
     <message>
         <source>'No'</source>
-        <translation type="vanished">'Nein'</translation>
+        <translation>'Nein'</translation>
     </message>
     <message>
         <source>if( 5 > 3, 1, 0)</source>
-        <translation type="vanished">if( 5 > 3, 1, 0)</translation>
+        <translation>if( 5 > 3, 1, 0)</translation>
     </message>
     <message>
         <source>if( '', 'It is true (not empty)', 'It is false (empty)' )</source>
-        <translation type="vanished">if( '', 'Ist wahr (nicht leer)', 'ist unwahr  (leer)' )</translation>
+        <translation>if( '', 'Ist wahr (nicht leer)', 'ist unwahr  (leer)' )</translation>
     </message>
     <message>
         <source>'It is false (empty)'</source>
-        <translation type="vanished">'ist unwahr (leer)'</translation>
+        <translation>'ist unwahr (leer)'</translation>
     </message>
     <message>
         <source>if( ' ', 'It is true (not empty)', 'It is false (empty)' )</source>
-        <translation type="vanished">if( ' ', 'ist wahr (nicht leer)', 'ist unwahr (leer)' )</translation>
+        <translation>if( ' ', 'ist wahr (nicht leer)', 'ist unwahr (leer)' )</translation>
     </message>
     <message>
         <source>'It is true (not empty)'</source>
-        <translation type="vanished">'ist wahr (nicht leer)'</translation>
+        <translation>'ist wahr (nicht leer)'</translation>
     </message>
     <message>
         <source>if( 0, 'One', 'Zero' )</source>
-        <translation type="vanished">if( 0, 'Eins', 'Null' )</translation>
+        <translation>if( 0, 'Eins', 'Null' )</translation>
     </message>
     <message>
         <source>'Zero'</source>
-        <translation type="vanished">'Null'</translation>
+        <translation>'Null'</translation>
     </message>
     <message>
         <source>if( 10, 'One', 'Zero' )</source>
-        <translation type="vanished">if( 10, 'Eins', 'Null' )</translation>
+        <translation>if( 10, 'Eins', 'Null' )</translation>
     </message>
     <message>
         <source>Returns a specific interior ring from a polygon geometry, or null if the geometry is not a polygon.</source>
-        <translation type="vanished">Liefert einen bestimmten inneren Ring eines Polygons oder null, falls die Geometrie kein Polygon ist.</translation>
+        <translation>Liefert einen bestimmten inneren Ring eines Polygons oder null, falls die Geometrie kein Polygon ist.</translation>
     </message>
     <message>
         <source>interior_ring_n</source>
-        <translation type="vanished">interior_ring_n</translation>
+        <translation>interior_ring_n</translation>
     </message>
     <message>
         <source>polygon geometry</source>
-        <translation type="vanished">Polygon-Geometrie</translation>
+        <translation>Polygon-Geometrie</translation>
     </message>
     <message>
         <source>index of interior to return, where 1 is the first interior ring</source>
-        <translation type="vanished">Index des zurückzugebenden inneren Ring, wobei 1 der erste innere Ring ist</translation>
+        <translation>Index des zurückzugebenden inneren Ring, wobei 1 der erste innere Ring ist</translation>
     </message>
     <message>
         <source>geom_to_wkt(interior_ring_n(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),(-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1),(-1 -1, 4 0, 4 2, 0 2, -1 -1))'),1))</source>
-        <translation type="vanished">geom_to_wkt(interior_ring_n(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),(-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1),(-1 -1, 4 0, 4 2, 0 2, -1 -1))'),1))</translation>
+        <translation>geom_to_wkt(interior_ring_n(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),(-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1),(-1 -1, 4 0, 4 2, 0 2, -1 -1))'),1))</translation>
     </message>
     <message>
         <source>'LineString (-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1))'</source>
-        <translation type="vanished">'LineString (-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1))'</translation>
+        <translation>'LineString (-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1))'</translation>
     </message>
     <message>
         <source>Returns a geometry that represents the shared portion of two geometries.</source>
-        <translation type="vanished">Liefert eine Geometrie, die die gemeinsamen Teile von zwei Geometrien repräsentiert.</translation>
+        <translation>Liefert eine Geometrie, die die gemeinsamen Teile von zwei Geometrien repräsentiert.</translation>
     </message>
     <message>
         <source>intersection</source>
-        <translation type="vanished">intersection</translation>
+        <translation>intersection</translation>
     </message>
     <message>
         <source>geom_to_wkt( intersection( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( intersection( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) )</translation>
+        <translation>geom_to_wkt( intersection( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) )</translation>
     </message>
     <message>
         <source>LINESTRING(3 3, 4 4)</source>
-        <translation type="vanished">LINESTRING(3 3, 4 4)</translation>
+        <translation>LINESTRING(3 3, 4 4)</translation>
     </message>
     <message>
         <source>Tests whether a geometry intersects another. Returns true if the geometries spatially intersect (share any portion of space) and false if they do not.</source>
-        <translation type="vanished">Prüft, ob sich zwei Geometrien schneiden. Liefert wahr, wenn sich die Geometrien räumlich schneiden (einen beliebigen gemeinsamen Raum haben) und falsch, wenn nicht. </translation>
+        <translation>Prüft, ob sich zwei Geometrien schneiden. Liefert wahr, wenn sich die Geometrien räumlich schneiden (einen beliebigen gemeinsamen Raum haben) und falsch, wenn nicht. </translation>
     </message>
     <message>
         <source>intersects</source>
-        <translation type="vanished">intersects</translation>
+        <translation>intersects</translation>
     </message>
     <message>
         <source>intersects( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">intersects( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>intersects( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>intersects( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'POINT(5 5)' ) )</source>
-        <translation type="vanished">intersects( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'POINT(5 5)' ) )</translation>
+        <translation>intersects( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'POINT(5 5)' ) )</translation>
     </message>
     <message>
         <source>Tests whether a geometry's bounding box overlaps another geometry's bounding box. Returns true if the geometries spatially intersect the bounding box defined and false if they do not.</source>
-        <translation type="vanished">Prüft ob sich der Geometrierahmen sich mit dem Rahmen einer anderen Geometrie überlappt.  Liefert wahr, wenn sich die Geometrierahmen überschneinden und anderenfalls falsch.</translation>
+        <translation>Prüft ob sich der Geometrierahmen sich mit dem Rahmen einer anderen Geometrie überlappt.  Liefert wahr, wenn sich die Geometrierahmen überschneinden und anderenfalls falsch.</translation>
     </message>
     <message>
         <source>intersects_bbox</source>
-        <translation type="vanished">intersects_bbox</translation>
+        <translation>intersects_bbox</translation>
     </message>
     <message>
         <source>intersects_bbox( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">intersects_bbox( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>intersects_bbox( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>intersects_bbox( geom_from_wkt( 'POINT(6 5)' ), geom_from_wkt( 'POLYGON((3 3, 4 4, 5 5, 3 3))' ) )</source>
-        <translation type="vanished">intersects_bbox( geom_from_wkt( 'POINT(6 5)' ), geom_from_wkt( 'POLYGON((3 3, 4 4, 5 5, 3 3))' ) )</translation>
+        <translation>intersects_bbox( geom_from_wkt( 'POINT(6 5)' ), geom_from_wkt( 'POLYGON((3 3, 4 4, 5 5, 3 3))' ) )</translation>
     </message>
     <message>
         <source>Returns true if a line string is closed (start and end points are coincident), or false if a line string is not closed. If the geometry is not a line string then the result will be null.</source>
-        <translation type="vanished">Liefert wahr, wenn ein Linestring geschlossen ist (Start- und Endpunkt sind gleich) oder falsch, wenn er nicht geschlossen ist.  Wenn eine Geometrie kein Linestring ist, ist das Ergebnis null.</translation>
+        <translation>Liefert wahr, wenn ein Linestring geschlossen ist (Start- und Endpunkt sind gleich) oder falsch, wenn er nicht geschlossen ist.  Wenn eine Geometrie kein Linestring ist, ist das Ergebnis null.</translation>
     </message>
     <message>
         <source>is_closed</source>
-        <translation type="vanished">is_closed</translation>
+        <translation>is_closed</translation>
     </message>
     <message>
         <source>a line string geometry</source>
-        <translation type="vanished">eine LineString-Geometrie</translation>
+        <translation>eine LineString-Geometrie</translation>
     </message>
     <message>
         <source>is_closed(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)'))</source>
-        <translation type="vanished">is_closed(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)'))</translation>
+        <translation>is_closed(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)'))</translation>
     </message>
     <message>
         <source>is_closed(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2, 0 0)'))</source>
-        <translation type="vanished">is_closed(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2, 0 0)'))</translation>
+        <translation>is_closed(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2, 0 0)'))</translation>
     </message>
     <message>
         <source>Returns a matching layer property or metadata value.</source>
-        <translation type="vanished">Liefert die passende Layereigenschaft oder das passende -metadatum.</translation>
+        <translation>Liefert die passende Layereigenschaft oder das passende -metadatum.</translation>
     </message>
     <message>
         <source>layer_property</source>
-        <translation type="vanished">layer_property</translation>
+        <translation>layer_property</translation>
     </message>
     <message>
         <source>a string, representing either a layer name or layer ID</source>
-        <translation type="vanished">eine Zeichenkette, die Layernamen oder -kennung enthält</translation>
+        <translation>eine Zeichenkette, die Layernamen oder -kennung enthält</translation>
     </message>
     <message>
         <source>a string corresponding to the property to return. Valid options are:<br /><ul><li>name: layer name</li><li>id: layer ID</li><li>title: metadata title string</li><li>abstract: metadata abstract string</li><li>keywords: metadata keywords</li><li>data_url: metadata URL</li><li>attribution: metadata attribution string</li><li>attribution_url: metadata attribution URL</li&g [...]
@@ -60198,179 +60461,179 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>layer_property('streets','title')</source>
-        <translation type="vanished">layer_property('streets','title')</translation>
+        <translation>layer_property('streets','title')</translation>
     </message>
     <message>
         <source>'Basemap Streets'</source>
-        <translation type="vanished">'Basemap Streets'</translation>
+        <translation>'Basemap Streets'</translation>
     </message>
     <message>
         <source>layer_property('airports','feature_count')</source>
-        <translation type="vanished">layer_property('airports','feature_count')</translation>
+        <translation>layer_property('airports','feature_count')</translation>
     </message>
     <message>
         <source>120</source>
-        <translation type="vanished">120</translation>
+        <translation>120</translation>
     </message>
     <message>
         <source>layer_property('landsat','crs')</source>
-        <translation type="vanished">layer_property('landsat','crs')</translation>
+        <translation>layer_property('landsat','crs')</translation>
     </message>
     <message>
         <source>'EPSG:4326'</source>
-        <translation type="vanished">'EPSG:4326'</translation>
+        <translation>'EPSG:4326'</translation>
     </message>
     <message>
         <source>Returns a substring that contains the <i>n</i> leftmost characters of the string.</source>
-        <translation type="vanished">Liefert einen Teilstring mit den ersten <i>n</i> Zeichen der Zeichenkette.</translation>
+        <translation>Liefert einen Teilstring mit den ersten <i>n</i> Zeichen der Zeichenkette.</translation>
     </message>
     <message>
         <source>left</source>
-        <translation type="vanished">left</translation>
+        <translation>left</translation>
     </message>
     <message>
         <source>integer. The number of characters from the left of the string to return.</source>
-        <translation type="vanished">ganze Zahl.  Die Anzahl der zurückzugebenden Zeichen.</translation>
+        <translation>ganze Zahl.  Die Anzahl der zurückzugebenden Zeichen.</translation>
     </message>
     <message>
         <source>left('Hello World',5)</source>
-        <translation type="vanished">left('Hallo Welt',5)</translation>
+        <translation>left('Hallo Welt',5)</translation>
     </message>
     <message>
         <source>'Hello'</source>
-        <translation type="vanished">'Hallo'</translation>
+        <translation>'Hallo'</translation>
     </message>
     <message>
         <source>Returns the number of characters in a string or the length of a geometry linestring.</source>
-        <translation type="vanished">Liefert die Anzahl der Zeichen einer Zeichenkette oder die Länge einer Linie.</translation>
+        <translation>Liefert die Anzahl der Zeichen einer Zeichenkette oder die Länge einer Linie.</translation>
     </message>
     <message>
         <source>String variant</source>
-        <translation type="vanished">Variante Zeichenkette</translation>
+        <translation>Variante Zeichenkette</translation>
     </message>
     <message>
         <source>Returns the number of characters in a string.</source>
-        <translation type="vanished">Liefert die Anzahl der Zeichen einer Zeichenkette.</translation>
+        <translation>Liefert die Anzahl der Zeichen einer Zeichenkette.</translation>
     </message>
     <message>
         <source>string to count length of</source>
-        <translation type="vanished">Zeichenkette der Länge bestimmt werden soll</translation>
+        <translation>Zeichenkette der Länge bestimmt werden soll</translation>
     </message>
     <message>
         <source>length('hello')</source>
-        <translation type="vanished">length('hallo')</translation>
+        <translation>length('hallo')</translation>
     </message>
     <message>
         <source>Geometry variant</source>
-        <translation type="vanished">Variante Geometrie</translation>
+        <translation>Variante Geometrie</translation>
     </message>
     <message>
         <source>Calculate the length of a geometry line object. Calculations are always planimetric in the Spatial Reference System (SRS) of this geometry, and the units of the returned length will match the units for the SRS. This differs from the calculations performed by the $length function, which will perform ellipsoidal calculations based on the project's ellipsoid and distance unit settings.</source>
-        <translation type="vanished">Liefert den Länge einer Liniengeometrie. Die Berechnungen sind immer planimetrisch im räumlichen Bezugssystem der Geometrie und die Einheiten der zurückgegebene Länge paßt zur Einheit des Bezugssystems. Dies unterscheidet sich von den für die Funktion $length durchgeführten Berechnungen.  Diese werden auf Basis der Ellipsiod- und Abstandseinheitseinstellungen des Projekts vorgenommen.</translation>
+        <translation>Liefert den Länge einer Liniengeometrie. Die Berechnungen sind immer planimetrisch im räumlichen Bezugssystem der Geometrie und die Einheiten der zurückgegebene Länge paßt zur Einheit des Bezugssystems. Dies unterscheidet sich von den für die Funktion $length durchgeführten Berechnungen.  Diese werden auf Basis der Ellipsiod- und Abstandseinheitseinstellungen des Projekts vorgenommen.</translation>
     </message>
     <message>
         <source>line geometry object</source>
-        <translation type="vanished">Liniengeometrieobjekt</translation>
+        <translation>Liniengeometrieobjekt</translation>
     </message>
     <message>
         <source>length(geom_from_wkt('LINESTRING(0 0, 4 0)'))</source>
-        <translation type="vanished">length(geom_from_wkt('LINESTRING(0 0, 4 0)'))</translation>
+        <translation>length(geom_from_wkt('LINESTRING(0 0, 4 0)'))</translation>
     </message>
     <message>
         <source>4.0</source>
-        <translation type="vanished">4.0</translation>
+        <translation>4.0</translation>
     </message>
     <message>
         <source>Returns the Levenshtein edit distance between two strings. This equates to the minimum number of character edits (insertions, deletions or substitutions) required to change one string to another.<br />The Levenshtein distance is a measure of the similarity between two strings. Smaller distances mean the strings are more similar, and larger distances indicate more different strings. The distance is case sensitive.</source>
-        <translation type="vanished">Liefert den Levenshtein-Abstand zwischen zwei Zeichenketten. Dies entspricht der minimalen Anzahl von benötigten Zeichenänderungen (Einfügungen, Löschungen und Ersetzungen) um die eine in den andere Zeichenkette zu überführen.<br/> Der Levenshtein-Abstand ist Maß für die Ähnlichkeit von Zeichenketten. Kleinere Abstände bedeuten, dass die Zeichenketten ähnlicher sind und größere Abstände bedeuten größere Unterschiede. Beim Abstand werden Groß-/Kl [...]
+        <translation>Liefert den Levenshtein-Abstand zwischen zwei Zeichenketten. Dies entspricht der minimalen Anzahl von benötigten Zeichenänderungen (Einfügungen, Löschungen und Ersetzungen) um die eine in den andere Zeichenkette zu überführen.<br/> Der Levenshtein-Abstand ist Maß für die Ähnlichkeit von Zeichenketten. Kleinere Abstände bedeuten, dass die Zeichenketten ähnlicher sind und größere Abstände bedeuten größere Unterschiede. Beim Abstand werden Groß-/Kleinschreibung be [...]
     </message>
     <message>
         <source>levenshtein</source>
-        <translation type="vanished">levenshtein</translation>
+        <translation>levenshtein</translation>
     </message>
     <message>
         <source>levenshtein('kittens','mitten')</source>
-        <translation type="vanished">levenshtein('kittens','mitten')</translation>
+        <translation>levenshtein('kittens','mitten')</translation>
     </message>
     <message>
         <source>levenshtein('Kitten','kitten')</source>
-        <translation type="vanished">levenshtein('Kitten','kitten')</translation>
+        <translation>levenshtein('Kitten','kitten')</translation>
     </message>
     <message>
         <source>levenshtein(upper('Kitten'),upper('kitten'))</source>
-        <translation type="vanished">levenshtein(upper('Kitten'),upper('kitten'))</translation>
+        <translation>levenshtein(upper('Kitten'),upper('kitten'))</translation>
     </message>
     <message>
         <source>Returns a lighter (or darker) color string</source>
-        <translation type="vanished">Liefert eine hellere (oder dunklere) Farbzeichenkette</translation>
+        <translation>Liefert eine hellere (oder dunklere) Farbzeichenkette</translation>
     </message>
     <message>
         <source>lighter</source>
-        <translation type="vanished">lighter</translation>
+        <translation>lighter</translation>
     </message>
     <message>
         <source>a integer number corresponding to the lightening factor:<ul><li>if the factor is greater than 100, this functions returns a lighter color (for e.g., setting factor to 150 returns a color that is 50% brighter);</li><li>if the factor is less than 100, the return color is darker, but using the darker() function for this purpose is recommended;</li><li>if the factor is 0 or negative, the return value is unspecified.</li></ul></source>
-        <translation type="vanished">Eine ganze Zahl die mit dem Erhellungsfaktor korrespondiert: <ul><li>wenn der Faktor größer als 100 ist, wird einer hellere Farbe geliefert (z.B. wird für den Faktor 150 eine 50% hellere Farbe geliefert);</li><li>wenn der Faktor kleiner als 100 ist, wird die Farbe dunkler, wofür eigentlich die Funktion darker() empfohlen wird;</li><li>wenn der Faktor 0 oder negativ ist, ist der Wert undefiniert.</li></ul&gt [...]
+        <translation>Eine ganze Zahl die mit dem Erhellungsfaktor korrespondiert: <ul><li>wenn der Faktor größer als 100 ist, wird einer hellere Farbe geliefert (z.B. wird für den Faktor 150 eine 50% hellere Farbe geliefert);</li><li>wenn der Faktor kleiner als 100 ist, wird die Farbe dunkler, wofür eigentlich die Funktion darker() empfohlen wird;</li><li>wenn der Faktor 0 oder negativ ist, ist der Wert undefiniert.</li></ul></translation>
     </message>
     <message>
         <source>lighter('200,10,30',200)</source>
-        <translation type="vanished">lighter('200,10,30',200)</translation>
+        <translation>lighter('200,10,30',200)</translation>
     </message>
     <message>
         <source>'255,158,168,255'</source>
-        <translation type="vanished">'255,158,168,255'</translation>
+        <translation>'255,158,168,255'</translation>
     </message>
     <message>
         <source>Returns the natural logarithm of a value.</source>
-        <translation type="vanished">Liefert den natürlichen Logarithmus eines Werts.</translation>
+        <translation>Liefert den natürlichen Logarithmus eines Werts.</translation>
     </message>
     <message>
         <source>ln</source>
-        <translation type="vanished">ln</translation>
+        <translation>ln</translation>
     </message>
     <message>
         <source>ln(1)</source>
-        <translation type="vanished">ln(1)</translation>
+        <translation>ln(1)</translation>
     </message>
     <message>
         <source>ln(2.7182818284590452354)</source>
-        <translation type="vanished">ln(2.7182818284590452354)</translation>
+        <translation>ln(2.7182818284590452354)</translation>
     </message>
     <message>
         <source>Returns the value of the logarithm of the passed value and base.</source>
-        <translation type="vanished">Liefert den Wert des Logarithmus des gegebenen Werts und der Basis.</translation>
+        <translation>Liefert den Wert des Logarithmus des gegebenen Werts und der Basis.</translation>
     </message>
     <message>
         <source>log</source>
-        <translation type="vanished">log</translation>
+        <translation>log</translation>
     </message>
     <message>
         <source>any positive number</source>
-        <translation type="vanished">beliebige positive Zahl</translation>
+        <translation>beliebige positive Zahl</translation>
     </message>
     <message>
         <source>log(2, 32)</source>
-        <translation type="vanished">log(2, 32)</translation>
+        <translation>log(2, 32)</translation>
     </message>
     <message>
         <source>log(0.5, 32)</source>
-        <translation type="vanished">log(0.5, 32)</translation>
+        <translation>log(0.5, 32)</translation>
     </message>
     <message>
         <source>Returns the value of the base 10 logarithm of the passed expression.</source>
-        <translation type="vanished">Liefert den 10er-Logarithmus des gegebenen Ausdrucks.</translation>
+        <translation>Liefert den 10er-Logarithmus des gegebenen Ausdrucks.</translation>
     </message>
     <message>
         <source>log10</source>
-        <translation type="vanished">log10</translation>
+        <translation>log10</translation>
     </message>
     <message>
         <source>log10(1)</source>
-        <translation type="vanished">log10(1)</translation>
+        <translation>log10(1)</translation>
     </message>
     <message>
         <source>log10(100)</source>
-        <translation type="vanished">log10(100)</translation>
+        <translation>log10(100)</translation>
     </message>
     <message>
         <source>Returns the longest common substring between two strings. This substring is the longest string that is a substring of the two input strings. Eg, the longest common substring of "ABABC" and "BABCA" is "ABC". The substring is case sensitive.</source>
@@ -60378,51 +60641,51 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>longest_common_substring</source>
-        <translation type="vanished">longest_common_substring</translation>
+        <translation>longest_common_substring</translation>
     </message>
     <message>
         <source>longest_common_substring('ABABC','BABCA')</source>
-        <translation type="vanished">longest_common_substring('ABABC','BABCA')</translation>
+        <translation>longest_common_substring('ABABC','BABCA')</translation>
     </message>
     <message>
         <source>'ABC'</source>
-        <translation type="vanished">'ABC'</translation>
+        <translation>'ABC'</translation>
     </message>
     <message>
         <source>longest_common_substring('abcDeF','abcdef')</source>
-        <translation type="vanished">longest_common_substring('abcDeF','abcdef')</translation>
+        <translation>longest_common_substring('abcDeF','abcdef')</translation>
     </message>
     <message>
         <source>'abc'</source>
-        <translation type="vanished">abc</translation>
+        <translation>abc</translation>
     </message>
     <message>
         <source>longest_common_substring(upper('abcDeF'),upper('abcdex'))</source>
-        <translation type="vanished">longest_common_substring(upper('abcDeF'),upper('abcdex'))</translation>
+        <translation>longest_common_substring(upper('abcDeF'),upper('abcdex'))</translation>
     </message>
     <message>
         <source>'ABCDE'</source>
-        <translation type="vanished">'ABCDE'</translation>
+        <translation>'ABCDE'</translation>
     </message>
     <message>
         <source>Converts a string to lower case letters.</source>
-        <translation type="vanished">Wandelt eine Zeichenkette in Kleinschreibung.</translation>
+        <translation>Wandelt eine Zeichenkette in Kleinschreibung.</translation>
     </message>
     <message>
         <source>lower</source>
-        <translation type="vanished">lower</translation>
+        <translation>lower</translation>
     </message>
     <message>
         <source>the string to convert to lower case</source>
-        <translation type="vanished">Die umzuwandelnde Zeichenkette</translation>
+        <translation>Die umzuwandelnde Zeichenkette</translation>
     </message>
     <message>
         <source>lower('HELLO World')</source>
-        <translation type="vanished">lower('HALLO Welt')</translation>
+        <translation>lower('HALLO Welt')</translation>
     </message>
     <message>
         <source>'hello world'</source>
-        <translation type="vanished">'Hallo Welt'</translation>
+        <translation>'Hallo Welt'</translation>
     </message>
     <message>
         <source>Returns a string padded to supplied width using a fill character.</source>
@@ -60430,2575 +60693,2611 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>lpad</source>
-        <translation type="vanished">lpad</translation>
+        <translation>lpad</translation>
     </message>
     <message>
         <source>string to pad</source>
-        <translation type="vanished">aufzufüllende Zeichenkette</translation>
+        <translation>aufzufüllende Zeichenkette</translation>
     </message>
     <message>
         <source>length of new string</source>
-        <translation type="vanished">Länge der neuen Zeichenkette</translation>
+        <translation>Länge der neuen Zeichenkette</translation>
     </message>
     <message>
         <source>character to pad the remaining space with</source>
-        <translation type="vanished">Zeichen zum Auffüllen des verbleibenden Raums</translation>
+        <translation>Zeichen zum Auffüllen des verbleibenden Raums</translation>
     </message>
     <message>
         <source>lpad('Hello', 10, 'x')</source>
-        <translation type="vanished">lpad('Hallo', 10, 'x')</translation>
+        <translation>lpad('Hallo', 10, 'x')</translation>
     </message>
     <message>
         <source>'xxxxxHello'</source>
-        <translation type="vanished">'xxxxxHallo'</translation>
+        <translation>'xxxxxHallo'</translation>
     </message>
     <message>
         <source>Returns the m value of a point geometry.</source>
-        <translation type="vanished">Liefert die M-Koordinate einer Punktgeometrie.</translation>
+        <translation>Liefert die M-Koordinate einer Punktgeometrie.</translation>
     </message>
     <message>
         <source>m</source>
-        <translation type="vanished">m</translation>
+        <translation>m</translation>
     </message>
     <message>
         <source>m( geom_from_wkt( 'POINTM(2 5 4)' ) )</source>
-        <translation type="vanished">m( geom_from_wkt( 'POINTM(2 5 4)' ) )</translation>
+        <translation>m( geom_from_wkt( 'POINTM(2 5 4)' ) )</translation>
     </message>
     <message>
         <source>Creates a line geometry from a series of point geometries.</source>
-        <translation type="vanished">Erzeugt eine Liniengeometrie aus  einer Reihe von Punktgeometrien</translation>
+        <translation>Erzeugt eine Liniengeometrie aus  einer Reihe von Punktgeometrien</translation>
     </message>
     <message>
         <source>make_line</source>
-        <translation type="vanished">make_line</translation>
+        <translation>make_line</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_line(make_point(2,4),make_point(3,5)))</source>
-        <translation type="vanished">geom_to_wkt(make_line(make_point(2,4),make_point(3,5)))</translation>
+        <translation>geom_to_wkt(make_line(make_point(2,4),make_point(3,5)))</translation>
     </message>
     <message>
         <source>'LineString (2 4, 3 5)'</source>
-        <translation type="vanished">'LineString (2 4, 3 5)'</translation>
+        <translation>'LineString (2 4, 3 5)'</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_line(make_point(2,4),make_point(3,5),make_point(9,7)))</source>
-        <translation type="vanished">geom_to_wkt(make_line(make_point(2,4),make_point(3,5),make_point(9,7)))</translation>
+        <translation>geom_to_wkt(make_line(make_point(2,4),make_point(3,5),make_point(9,7)))</translation>
     </message>
     <message>
         <source>'LineString (2 4, 3 5, 9 7)'</source>
-        <translation type="vanished">'LineString (2 4, 3 5, 9 7)'</translation>
+        <translation>'LineString (2 4, 3 5, 9 7)'</translation>
     </message>
     <message>
         <source>Creates a point geometry from an x and y (and optional z and m) value.</source>
-        <translation type="vanished">Erzeugt eine Punktgeometrie aus einem X- und Y-Wert und ggf. Z- und M-Wert)</translation>
+        <translation>Erzeugt eine Punktgeometrie aus einem X- und Y-Wert und ggf. Z- und M-Wert)</translation>
     </message>
     <message>
         <source>make_point</source>
-        <translation type="vanished">make_point</translation>
+        <translation>make_point</translation>
     </message>
     <message>
         <source>x coordinate of point</source>
-        <translation type="vanished">X-Koordinate des Punkts</translation>
+        <translation>X-Koordinate des Punkts</translation>
     </message>
     <message>
         <source>y coordinate of point</source>
-        <translation type="vanished">Y-Koordinate des Punkts</translation>
+        <translation>Y-Koordinate des Punkts</translation>
     </message>
     <message>
         <source>z</source>
-        <translation type="vanished">z</translation>
+        <translation>z</translation>
     </message>
     <message>
         <source>optional z coordinate of point</source>
-        <translation type="vanished">Optionale Z-Koordinate des Punkts</translation>
+        <translation>Optionale Z-Koordinate des Punkts</translation>
     </message>
     <message>
         <source>Returns the current scale denominator of the map canvas.<br><br>Note: This function is only available in some contexts and will be 0 otherwise.</source>
-        <translation type="vanished">Liefert den aktuellen Maßstabsnenne des Kartenfensters.<br><br>Hinweis: Die Funktion ist nur in manchen Kontexten verfügbar und ansonsten 0.</translation>
+        <translation>Liefert den aktuellen Maßstabsnenne des Kartenfensters.<br><br>Hinweis: Die Funktion ist nur in manchen Kontexten verfügbar und ansonsten 0.</translation>
     </message>
     <message>
         <source>Returns an aggregate value calculated using features from another layer.</source>
-        <translation type="vanished">Liefert einen mit Objekten eines anderen Layers berechneten Aggregatwert.</translation>
+        <translation>Liefert einen mit Objekten eines anderen Layers berechneten Aggregatwert.</translation>
     </message>
     <message>
         <source>aggregate</source>
-        <translation type="vanished">Aggregat</translation>
+        <translation>Aggregat</translation>
     </message>
     <message>
         <source>a string corresponding to the aggregate to calculate. Valid options are:<br /><ul><li>count</li><li>count_distinct</li><li>count_missing</li><li>min</li><li>max</li><li>sum</li><li>mean</li><li>median</li><li>stdev</li><li>stdevsample</li><li>range</li><li>minority</li><li>majority</li><li>q1: first q [...]
-        <translation type="vanished">Zeichenkette die das zu berechnende Aggregat angibt. Gültige Angaben sind:<br /><ul><li>count</li><li>count_distinct</li><li>count_missing</li><li>min</li><li>max</li><li>sum</li><li>mean</li><li>median</li><li>stdev</li><li>stdevsample</li><li>range</li><li>minority</li><li>majority</li&g [...]
+        <translation>Zeichenkette die das zu berechnende Aggregat angibt. Gültige Angaben sind:<br /><ul><li>count</li><li>count_distinct</li><li>count_missing</li><li>min</li><li>max</li><li>sum</li><li>mean</li><li>median</li><li>stdev</li><li>stdevsample</li><li>range</li><li>minority</li><li>majority</li><li>q1:  [...]
     </message>
     <message>
         <source>sub expression or field name to aggregate</source>
-        <translation type="vanished">Unterausdruck oder zu aggregierender Feldname</translation>
+        <translation>Unterausdruck oder zu aggregierender Feldname</translation>
     </message>
     <message>
         <source>optional string to use to join values for 'concatenate' aggregate</source>
-        <translation type="vanished">Optionale Zeichenkette zum Verbinden der Werte des Aggregats 'concatenate'</translation>
+        <translation>Optionale Zeichenkette zum Verbinden der Werte des Aggregats 'concatenate'</translation>
     </message>
     <message>
         <source>aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers")</source>
-        <translation type="vanished">aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers")</translation>
+        <translation>aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers")</translation>
     </message>
     <message>
         <source>sum of all values from the passengers field in the rail_stations layer</source>
-        <translation type="vanished">Summe aller Werte des Felds passengeers im Layer rail_stations</translation>
+        <translation>Summe aller Werte des Felds passengeers im Layer rail_stations</translation>
     </message>
     <message>
         <source>aggregate('rail_stations','sum', "passengers"/7)</source>
-        <translation type="vanished">aggregate('rail_stations','sum', "passengers"/7)</translation>
+        <translation>aggregate('rail_stations','sum', "passengers"/7)</translation>
     </message>
     <message>
         <source>calculates a daily average of "passengers" by dividing the "passengers" field by 7 before summing the values</source>
-        <translation type="vanished">berechnet den täglichen Durchschnitt von "passengers" durch Teilen des Felds "passengers" durch 7 vor Summierung der Werte</translation>
+        <translation>berechnet den täglichen Durchschnitt von "passengers" durch Teilen des Felds "passengers" durch 7 vor Summierung der Werte</translation>
     </message>
     <message>
         <source>aggregate(layer:='rail_stations',calculation:='sum',expression:="passengers",filter:="class">3)</source>
-        <translation type="vanished">aggregate(layer:='rail_stations',calculation:='sum',expression:="passengers",filter:="class">3)</translation>
+        <translation>aggregate(layer:='rail_stations',calculation:='sum',expression:="passengers",filter:="class">3)</translation>
     </message>
     <message>
         <source>sums up all values from the "passengers" field from features where the "class" attribute is greater than 3 only</source>
-        <translation type="vanished">summiert nur der Werte des Felds "passengers" von Objekten deren Attribut "class" größer als 3 ist</translation>
+        <translation>summiert nur der Werte des Felds "passengers" von Objekten deren Attribut "class" größer als 3 ist</translation>
     </message>
     <message>
         <source>aggregate(layer:='rail_stations',calculation:='concatenate', expression:="name", concatenator:=',')</source>
-        <translation type="vanished">aggregate(layer:='rail_stations',calculation:='concatenate', expression:="name", concatenator:=',')</translation>
+        <translation>aggregate(layer:='rail_stations',calculation:='concatenate', expression:="name", concatenator:=',')</translation>
     </message>
     <message>
         <source>comma separated list of the name field for all features in the rail_stations layer</source>
-        <translation type="vanished">Kommagetrennte Liste des Feld name für alle Objekte im Layer rail_stations</translation>
+        <translation>Kommagetrennte Liste des Feld name für alle Objekte im Layer rail_stations</translation>
     </message>
     <message>
         <source>Returns the north-based azimuth as the angle in radians measured clockwise from the vertical on point_a to point_b.</source>
-        <translation type="vanished">Liefert auf Norden bezogenen Azimuth als Winkel im Bogenmaß im Uhrzeigersinn gemessen von der Vertikalen von punkt_a zu punkt_b.</translation>
+        <translation>Liefert auf Norden bezogenen Azimuth als Winkel im Bogenmaß im Uhrzeigersinn gemessen von der Vertikalen von punkt_a zu punkt_b.</translation>
     </message>
     <message>
         <source>Returns the all aggregated strings from a field or expression joined by a delimiter.</source>
-        <translation type="vanished">Liefert alle durch ein Trennzeichen verbundene aggregierten Zeichenketten eines Felds oder Ausdruck</translation>
+        <translation>Liefert alle durch ein Trennzeichen verbundene aggregierten Zeichenketten eines Felds oder Ausdruck</translation>
     </message>
     <message>
         <source>concatenate</source>
-        <translation type="vanished">Verkettung</translation>
+        <translation>Verkettung</translation>
     </message>
     <message>
         <source>sub expression of field to aggregate</source>
-        <translation type="vanished">Unterausdruck des zu aggregierenden Felds</translation>
+        <translation>Unterausdruck des zu aggregierenden Felds</translation>
     </message>
     <message>
         <source>Returns the area of the current feature. The area calculated by this function respects both the current project's ellipsoid setting and area unit settings. For example, if an ellipsoid has been set for the project then the calculated area will be ellipsoidal, and if no ellipsoid is set then the calculated area will be planimetric.</source>
-        <translation type="vanished">Liefert den Fläche des aktuellen Objekts. Die durch diese Funktion berechnete Fläche berücksichtigt die aktuellen Ellipsoid- und Flächeneinheiteneinstellung.  Z.B., wenn ein Ellipsoid für das Projekt eingestellt ist, ist der Umfang ellipsoidal und anderenfalls planimetrisch berechnet.</translation>
+        <translation>Liefert den Fläche des aktuellen Objekts. Die durch diese Funktion berechnete Fläche berücksichtigt die aktuellen Ellipsoid- und Flächeneinheiteneinstellung.  Z.B., wenn ein Ellipsoid für das Projekt eingestellt ist, ist der Umfang ellipsoidal und anderenfalls planimetrisch berechnet.</translation>
     </message>
     <message>
         <source>Returns the length of a linestring. If you need the length of a border of a polygon, use $perimeter instead. The length calculated by this function respects both the current project's ellipsoid setting and distance unit settings. For example, if an ellipsoid has been set for the project then the calculated length will be ellipsoidal, and if no ellipsoid is set then the calculated length will be planimetric.</source>
-        <translation type="vanished">Liefert die Länge eines Linienobjekts.  Für die Länge der Grenze eines Polygons ist die Funktion $perimeter zu verwenden.  Die durch diese Funktion berechnete Umfang berücksichtigt die aktuellen Ellipsoid- und Abstandseinheiteneinstellung.  Z.B., wenn ein Ellipsoid für das Projekt eingestellt ist, ist die Länge ellipsoidal und anderenfalls planimetrisch berechnet.</translation>
+        <translation>Liefert die Länge eines Linienobjekts.  Für die Länge der Grenze eines Polygons ist die Funktion $perimeter zu verwenden.  Die durch diese Funktion berechnete Umfang berücksichtigt die aktuellen Ellipsoid- und Abstandseinheiteneinstellung.  Z.B., wenn ein Ellipsoid für das Projekt eingestellt ist, ist die Länge ellipsoidal und anderenfalls planimetrisch berechnet.</translation>
     </message>
     <message>
         <source>Returns the perimeter length of the current feature. The perimeter calculated by this function respects both the current project's ellipsoid setting and distance unit settings. For example, if an ellipsoid has been set for the project then the calculated perimeter will be ellipsoidal, and if no ellipsoid is set then the calculated perimeter will be planimetric.</source>
-        <translation type="vanished">Liefert den Umfang des aktuellen Objekts. Der durch die Funktion berechnete Umfang berücksichtigt die aktuellen Ellipsoid- und Abstandseinheiteneinstellung.  Z.B., wenn ein Ellipsoid für das Projekt eingestellt ist, ist der Umfang ellipsoidal und anderenfalls planimetrisch berechnet.</translation>
+        <translation>Liefert den Umfang des aktuellen Objekts. Der durch die Funktion berechnete Umfang berücksichtigt die aktuellen Ellipsoid- und Abstandseinheiteneinstellung.  Z.B., wenn ein Ellipsoid für das Projekt eingestellt ist, ist der Umfang ellipsoidal und anderenfalls planimetrisch berechnet.</translation>
     </message>
     <message>
         <source>Contains functions which aggregate values over layers and fields.</source>
-        <translation type="vanished">Enthält Funktion die Werte über Layer und Felder aggregieren </translation>
+        <translation>Enthält Funktion die Werte über Layer und Felder aggregieren </translation>
     </message>
     <message>
         <source>Aggregates</source>
-        <translation type="vanished">Aggregate</translation>
+        <translation>Aggregate</translation>
     </message>
     <message>
         <source>This group contains expression functions for the creation and manipulation of arrays (also known as list data structures). The order of values within the array matters, in contrary to the 'map' data structure, where the order of key-value pairs is irrelevant and values are identified by their keys.</source>
-        <translation type="vanished">Die Gruppe enthält Ausdrucksfunktionen zur Erzeugung und Manipulation von Arrays (auch als Listen bekannt). Die Reihenfolge der Werte in eine Array ist im Gegensatz zu den Maps relevant, bei denen die Reihenfolge irrelevant ist und die Werte durch ihre Schlüssel identifiziert werden.</translation>
+        <translation>Die Gruppe enthält Ausdrucksfunktionen zur Erzeugung und Manipulation von Arrays (auch als Listen bekannt). Die Reihenfolge der Werte in eine Array ist im Gegensatz zu den Maps relevant, bei denen die Reihenfolge irrelevant ist und die Werte durch ihre Schlüssel identifiziert werden.</translation>
     </message>
     <message>
         <source>Arrays</source>
-        <translation type="vanished">Arrays</translation>
+        <translation>Arrays</translation>
     </message>
     <message>
         <source>Double-click to add field name to expression string.<br>Right-Click on field name to open context menu sample value loading options.</source>
-        <translation type="vanished">Doppelklicken um ein Feldnamen in den Ausdruck einzufügen.<br>Rechtklick auf einen Feldnamen öffnet ein Kontextmenü mit Beispielwertladeoptionen.</translation>
+        <translation>Doppelklicken um ein Feldnamen in den Ausdruck einzufügen.<br>Rechtklick auf einen Feldnamen öffnet ein Kontextmenü mit Beispielwertladeoptionen.</translation>
     </message>
     <message>
         <source>'ABC' ILIKE '_b_'</source>
-        <translation type="vanished">'ABC' ILIKE '_b_'</translation>
+        <translation>'ABC' ILIKE '_b_'</translation>
     </message>
     <message>
         <source>'ABC' ILIKE '_B_'</source>
-        <translation type="vanished">'ABC' ILIKE '_B_'</translation>
+        <translation>'ABC' ILIKE '_B_'</translation>
     </message>
     <message>
         <source>'ABCD' ILIKE '_b_'</source>
-        <translation type="vanished">'ABCD' ILIKE '_b_'</translation>
+        <translation>'ABCD' ILIKE '_b_'</translation>
     </message>
     <message>
         <source>'ABCD' ILIKE '_B_'</source>
-        <translation type="vanished">'ABCD' ILIKE '_B_'</translation>
+        <translation>'ABCD' ILIKE '_B_'</translation>
     </message>
     <message>
         <source>'ABCD' ILIKE '_b%'</source>
-        <translation type="vanished">'ABCD' ILIKE '_b%'</translation>
+        <translation>'ABCD' ILIKE '_b%'</translation>
     </message>
     <message>
         <source>'ABCD' ILIKE '_B%'</source>
-        <translation type="vanished">'ABCD' ILIKE '_B%'</translation>
+        <translation>'ABCD' ILIKE '_B%'</translation>
     </message>
     <message>
         <source>'ABCD' ILIKE '%b%'</source>
-        <translation type="vanished">'ABCD' ILIKE '%b%'</translation>
+        <translation>'ABCD' ILIKE '%b%'</translation>
     </message>
     <message>
         <source>'ABCD' ILIKE '%B%'</source>
-        <translation type="vanished">'ABCD' ILIKE '%B%'</translation>
+        <translation>'ABCD' ILIKE '%B%'</translation>
     </message>
     <message>
         <source>'ABC' LIKE '_B_'</source>
-        <translation type="vanished">'ABC' LIKE '_B_'</translation>
+        <translation>'ABC' LIKE '_B_'</translation>
     </message>
     <message>
         <source>'ABCD' LIKE '_B_'</source>
-        <translation type="vanished">'ABCD' LIKE '_B_'</translation>
+        <translation>'ABCD' LIKE '_B_'</translation>
     </message>
     <message>
         <source>'ABCD' LIKE '_B%'</source>
-        <translation type="vanished">'ABCD' LIKE '_B%'</translation>
+        <translation>'ABCD' LIKE '_B%'</translation>
     </message>
     <message>
         <source>'ABCD' LIKE '%B%'</source>
-        <translation type="vanished">'ABCD' LIKE '%B%'</translation>
+        <translation>'ABCD' LIKE '%B%'</translation>
     </message>
     <message>
         <source>'1%' LIKE '1\%'</source>
-        <translation type="vanished">'1%' LIKE '1\%'</translation>
+        <translation>'1%' LIKE '1\%'</translation>
     </message>
     <message>
         <source>'1_' LIKE '1\%'</source>
-        <translation type="vanished">'1_' LIKE '1\%'</translation>
+        <translation>'1_' LIKE '1\%'</translation>
     </message>
     <message>
         <source>Contains a list of map layers available in the current project.</source>
-        <translation type="vanished">Layerdefinition der geladenen Layer des aktuellen Projekts importieren</translation>
+        <translation>Layerdefinition der geladenen Layer des aktuellen Projekts importieren</translation>
     </message>
     <message>
         <source>Map Layers</source>
-        <translation type="vanished">Kartenlayer</translation>
+        <translation>Kartenlayer</translation>
     </message>
     <message>
         <source>This group contains expression functions for the creation and manipulation of 'map' data structures (also known as dictionary objects, key-value pairs, or associative arrays). One can assign values to given keys. The order of the key-value pairs in the map object is not relevant.</source>
-        <translation type="vanished">Die Gruppe enthält Ausdrucksfunktionen zur Erzeugung und Manipulation von Arrays (auch als Listen bekannt). Die Reihenfolge der Werte in eine Array ist im Gegensatz zu den Maps relevant, bei denen die Reihenfolge irrelevant ist und die Werte durch ihre Schlüssel identifiziert werden.</translation>
+        <translation>Die Gruppe enthält Ausdrucksfunktionen zur Erzeugung und Manipulation von Arrays (auch als Listen bekannt). Die Reihenfolge der Werte in eine Array ist im Gegensatz zu den Maps relevant, bei denen die Reihenfolge irrelevant ist und die Werte durch ihre Schlüssel identifiziert werden.</translation>
     </message>
     <message>
         <source>Maps</source>
-        <translation type="vanished">Maps</translation>
+        <translation>Maps</translation>
     </message>
     <message>
         <source>Contains a list of relations available in the current project.</source>
-        <translation type="vanished">Layerdefinition der geladenen Layer des aktuellen Projekts importieren</translation>
+        <translation>Layerdefinition der geladenen Layer des aktuellen Projekts importieren</translation>
     </message>
     <message>
         <source>Relations</source>
-        <translation type="vanished">Beziehungen</translation>
+        <translation>Beziehungen</translation>
     </message>
     <message>
         <source>a string corresponding to the aggregate to calculate. Valid options are:<br /><ul><li>count</li><li>count_distinct</li><li>count_missing</li><li>min</li><li>max</li><li>sum</li><li>mean</li><li>median</li><li>stdev</li><li>stdevsample</li><li>range</li><li>minority</li><li>majority</li><li>q1: first q [...]
-        <translation type="vanished">Zeichenkette die das zu berechnende Aggregat angibt. Gültige Angaben sind:<br /><ul><li>count</li><li>count_distinct</li><li>count_missing</li><li>min</li><li>max</li><li>sum</li><li>mean</li><li>median</li><li>stdev</li><li>stdevsample</li><li>range</li><li>minority</li><li>majority</li&g [...]
+        <translation>Zeichenkette die das zu berechnende Aggregat angibt. Gültige Angaben sind:<br /><ul><li>count</li><li>count_distinct</li><li>count_missing</li><li>min</li><li>max</li><li>sum</li><li>mean</li><li>median</li><li>stdev</li><li>stdevsample</li><li>range</li><li>minority</li><li>majority</li><li>q1:  [...]
     </message>
     <message>
         <source>optional filter expression to limit the features used for calculating the aggregate. Fields and geometry are from the features on the joined layer. The source feature can be accessed with the variable @parent.</source>
-        <translation type="vanished">Optionaler Filterausdruck der die zu aggregierende Objekte begrenzt. Felder und Geometrien kommen von den Objekten des verknüpften Layers. Auf das Quellobjekt kann über die Variable @parent zugegriffen werden.</translation>
+        <translation>Optionaler Filterausdruck der die zu aggregierende Objekte begrenzt. Felder und Geometrien kommen von den Objekten des verknüpften Layers. Auf das Quellobjekt kann über die Variable @parent zugegriffen werden.</translation>
     </message>
     <message>
         <source>aggregate(layer:='countries', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry(@parent) ) )</source>
-        <translation type="vanished">aggregate(layer:='countries', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry(@parent) ) )</translation>
+        <translation>aggregate(layer:='countries', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry(@parent) ) )</translation>
     </message>
     <message>
         <source>The country code of an intersecting country on the layer 'countries'</source>
-        <translation type="vanished">Die Landeskennung eines überschneidenden Landes auf dem Layer 'countries'</translation>
+        <translation>Die Landeskennung eines überschneidenden Landes auf dem Layer 'countries'</translation>
     </message>
     <message>
         <source>Returns the bisector angle (average angle) to the geometry for a specified vertex on a linestring geometry. Angles are in degrees clockwise from north.</source>
-        <translation type="vanished">Liefert den Winkelhalbierende einer Geometrie an einem gegebene Stützpunkt einer Liniengeometrie. Winkel in Grad im Uhrzeigersinn aus Norden.</translation>
+        <translation>Liefert den Winkelhalbierende einer Geometrie an einem gegebene Stützpunkt einer Liniengeometrie. Winkel in Grad im Uhrzeigersinn aus Norden.</translation>
     </message>
     <message>
         <source>angle_at_vertex</source>
-        <translation type="vanished">angle_at_vertex</translation>
+        <translation>angle_at_vertex</translation>
     </message>
     <message>
         <source>a linestring geometry</source>
-        <translation type="vanished">eine Liniengeometrie</translation>
+        <translation>eine Liniengeometrie</translation>
     </message>
     <message>
         <source>vertex index, starting from 0</source>
-        <translation type="vanished">Stützpunktindex, beginnt bei 0</translation>
+        <translation>Stützpunktindex, beginnt bei 0</translation>
     </message>
     <message>
         <source>angle_at_vertex(geometry:=geom_from_wkt('LineString(0 0, 10 0, 10 10)'),vertex:=1)</source>
-        <translation type="vanished">angle_at_vertex(geometry:=geom_from_wkt('LineString(0 0, 10 0, 10 10)'),vertex:=1)</translation>
+        <translation>angle_at_vertex(geometry:=geom_from_wkt('LineString(0 0, 10 0, 10 10)'),vertex:=1)</translation>
     </message>
     <message>
         <source>45.0</source>
-        <translation type="vanished">45.0</translation>
+        <translation>45.0</translation>
     </message>
     <message>
         <source>Returns an array containing all the values passed as parameter.</source>
-        <translation type="vanished">Liefert ein Array mit allen zum Parameter passenden Werten.</translation>
+        <translation>Liefert ein Array mit allen zum Parameter passenden Werten.</translation>
     </message>
     <message>
         <source>array</source>
-        <translation type="vanished">array</translation>
+        <translation>array</translation>
     </message>
     <message>
         <source>a value</source>
-        <translation type="vanished">ein Wert</translation>
+        <translation>ein Wert</translation>
     </message>
     <message>
         <source>array(2,10)</source>
-        <translation type="vanished">array(2,10)</translation>
+        <translation>array(2,10)</translation>
     </message>
     <message>
         <source>array: 2, 10</source>
-        <translation type="vanished">array: 2, 10</translation>
+        <translation>array: 2, 10</translation>
     </message>
     <message>
         <source>Returns an array of aggregated values from a field or expression.</source>
-        <translation type="vanished">Liefert ein Array der aggregierten Werte eines Feldes oder Ausdrucks.</translation>
+        <translation>Liefert ein Array der aggregierten Werte eines Feldes oder Ausdrucks.</translation>
     </message>
     <message>
         <source>array_agg</source>
-        <translation type="vanished">array_agg</translation>
+        <translation>array_agg</translation>
     </message>
     <message>
         <source>optional expression to use to group aggregate calculations</source>
-        <translation type="vanished">Optionaler für Gruppenaggregierungsberechnungen zu verwendender Ausdruck </translation>
+        <translation>Optionaler für Gruppenaggregierungsberechnungen zu verwendender Ausdruck </translation>
     </message>
     <message>
         <source>optional expression to use to filter features used to calculate aggregate</source>
-        <translation type="vanished">Optionaler Ausdruck zum Filtern der zu aggregierenden Objekte verwendet wird</translation>
+        <translation>Optionaler Ausdruck zum Filtern der zu aggregierenden Objekte verwendet wird</translation>
     </message>
     <message>
         <source>array_agg("name",group_by:="state")</source>
-        <translation type="vanished">array_agg("name",group_by:="state")</translation>
+        <translation>array_agg("name",group_by:="state")</translation>
     </message>
     <message>
         <source>list of name values, grouped by state field</source>
-        <translation type="vanished">List von Namenswerten, gruppiert nach Feld state</translation>
+        <translation>List von Namenswerten, gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Returns an array with the given value added at the end.</source>
-        <translation type="vanished">Liefert ein Array mit am Ende angehängten gegebenen Wert.</translation>
+        <translation>Liefert ein Array mit am Ende angehängten gegebenen Wert.</translation>
     </message>
     <message>
         <source>array_append</source>
-        <translation type="vanished">array_append</translation>
+        <translation>array_append</translation>
     </message>
     <message>
         <source>an array</source>
-        <translation type="vanished">ein Array</translation>
+        <translation>ein Array</translation>
     </message>
     <message>
         <source>the value to add</source>
-        <translation type="vanished">der anzuhängende Wert</translation>
+        <translation>der anzuhängende Wert</translation>
     </message>
     <message>
         <source>array_append(array(1,2,3),4)</source>
-        <translation type="vanished">array_append(array(1,2,3),4)</translation>
+        <translation>array_append(array(1,2,3),4)</translation>
     </message>
     <message>
         <source>array: 1,2,3,4</source>
-        <translation type="vanished">array: 1,2,3,4</translation>
+        <translation>array: 1,2,3,4</translation>
     </message>
     <message>
         <source>Returns an array containing all the given arrays concatenated.</source>
-        <translation type="vanished">Liefert ein Array mit allen zum Parameter passenden Werten.</translation>
+        <translation>Liefert ein Array mit allen zum Parameter passenden Werten.</translation>
     </message>
     <message>
         <source>array_cat</source>
-        <translation type="vanished">array_cat</translation>
+        <translation>array_cat</translation>
     </message>
     <message>
         <source>array_cat(array(1,2),array(2,3))</source>
-        <translation type="vanished">array_cat(array(1,2),array(2,3))</translation>
+        <translation>array_cat(array(1,2),array(2,3))</translation>
     </message>
     <message>
         <source>array: 1,2,2,3</source>
-        <translation type="vanished">array: 1,2,2,3</translation>
+        <translation>array: 1,2,2,3</translation>
     </message>
     <message>
         <source>Returns true if an array contains the given value.</source>
-        <translation type="vanished">Liefert Wahr, wenn ein Array den gegebenen Wert enthält.</translation>
+        <translation>Liefert Wahr, wenn ein Array den gegebenen Wert enthält.</translation>
     </message>
     <message>
         <source>array_contains</source>
-        <translation type="vanished">array_contains</translation>
+        <translation>array_contains</translation>
     </message>
     <message>
         <source>the value to search</source>
-        <translation type="vanished">Zu suchender Wert</translation>
+        <translation>Zu suchender Wert</translation>
     </message>
     <message>
         <source>array_contains(array(1,2,3),2)</source>
-        <translation type="vanished">array_contains(array(1,2,3),2)</translation>
+        <translation>array_contains(array(1,2,3),2)</translation>
     </message>
     <message>
         <source>Returns an array containing distinct values of the given array.</source>
-        <translation type="vanished">Liefert ein Feld mit den eindeutigen Werten des gegebenen Feldes.</translation>
+        <translation>Liefert ein Feld mit den eindeutigen Werten des gegebenen Feldes.</translation>
     </message>
     <message>
         <source>array_distinct</source>
-        <translation type="vanished">array_distinct</translation>
+        <translation>array_distinct</translation>
     </message>
     <message>
         <source>array_distinct(array(1,2,3,2,1))</source>
-        <translation type="vanished">array_distinct(array(1,2,3,2,1))</translation>
+        <translation>array_distinct(array(1,2,3,2,1))</translation>
     </message>
     <message>
         <source>array: 1,2,3</source>
-        <translation type="vanished">Feld: 1,2,3</translation>
+        <translation>Feld: 1,2,3</translation>
     </message>
     <message>
         <source>Returns the index (0 for the first one) of a value within an array. Returns -1 if the value is not found.</source>
-        <translation type="vanished">Liefert den Index (0 für den ersten) eines Wertes in einem Array.  Liefert -1, wenn der Wert nicht enthalten ist.</translation>
+        <translation>Liefert den Index (0 für den ersten) eines Wertes in einem Array.  Liefert -1, wenn der Wert nicht enthalten ist.</translation>
     </message>
     <message>
         <source>array_find</source>
-        <translation type="vanished">array_find</translation>
+        <translation>array_find</translation>
     </message>
     <message>
         <source>array_find(array(1,2,3),2)</source>
-        <translation type="vanished">array_find(array(1,2,3),2)</translation>
+        <translation>array_find(array(1,2,3),2)</translation>
     </message>
     <message>
         <source>Returns the first value of an array.</source>
-        <translation type="vanished">Liefert alle Werte einer Map als Array.</translation>
+        <translation>Liefert alle Werte einer Map als Array.</translation>
     </message>
     <message>
         <source>array_first</source>
-        <translation type="vanished">array_first</translation>
+        <translation>array_first</translation>
     </message>
     <message>
         <source>array_first(array('a','b','c'))</source>
-        <translation type="vanished">array_first(array('a','b','c'))</translation>
+        <translation>array_first(array('a','b','c'))</translation>
     </message>
     <message>
         <source>'a'</source>
-        <translation type="vanished">'a'</translation>
+        <translation>'a'</translation>
     </message>
     <message>
         <source>Returns the Nth value (0 for the first one) of an array.</source>
-        <translation type="vanished">Liefert den n-ten Wert eines Array (0 für den ersten).</translation>
+        <translation>Liefert den n-ten Wert eines Array (0 für den ersten).</translation>
     </message>
     <message>
         <source>array_get</source>
-        <translation type="vanished">array_get</translation>
+        <translation>array_get</translation>
     </message>
     <message>
         <source>the index to get (0 based)</source>
-        <translation type="vanished">der zu holende Index (0 basiert)</translation>
+        <translation>der zu holende Index (0 basiert)</translation>
     </message>
     <message>
         <source>array_get(array('a','b','c'),1)</source>
-        <translation type="vanished">array_get(array('a','b','c'),1)</translation>
+        <translation>array_get(array('a','b','c'),1)</translation>
     </message>
     <message>
         <source>'b'</source>
-        <translation type="vanished">'b'</translation>
+        <translation>'b'</translation>
     </message>
     <message>
         <source>Returns an array with the given value added at the given position.</source>
-        <translation type="vanished">Liefert ein Array in das der gegebene Wert an der gegebenen Position eingefügt wurde.</translation>
+        <translation>Liefert ein Array in das der gegebene Wert an der gegebenen Position eingefügt wurde.</translation>
     </message>
     <message>
         <source>array_insert</source>
-        <translation type="vanished">array_insert</translation>
+        <translation>array_insert</translation>
     </message>
     <message>
         <source>the position where to add (0 based)</source>
-        <translation type="vanished">Die Position an der eingefügt werden soll (0 basiert)</translation>
+        <translation>Die Position an der eingefügt werden soll (0 basiert)</translation>
     </message>
     <message>
         <source>array_insert(array(1,2,3),1,100)</source>
-        <translation type="vanished">array_insert(array(1,2,3),1,100)</translation>
+        <translation>array_insert(array(1,2,3),1,100)</translation>
     </message>
     <message>
         <source>array: 1,100,2,3</source>
-        <translation type="vanished">array: 1,100,2,3</translation>
+        <translation>array: 1,100,2,3</translation>
     </message>
     <message>
         <source>Returns true if any element of array1 exists in array2.</source>
-        <translation type="vanished">Liefert whar, wenn ein Element des array1 im array2 vorhanden ist.</translation>
+        <translation>Liefert whar, wenn ein Element des array1 im array2 vorhanden ist.</translation>
     </message>
     <message>
         <source>array_intersect</source>
-        <translation type="vanished">array_intersect</translation>
+        <translation>array_intersect</translation>
     </message>
     <message>
         <source>another array</source>
-        <translation type="vanished">ein anderes Array</translation>
+        <translation>ein anderes Array</translation>
     </message>
     <message>
         <source>array_intersect(array(1,2,3,4),array(4,0,2,5))</source>
-        <translation type="vanished">array_intersect(array(1,2,3,4),array(4,0,2,5))</translation>
+        <translation>array_intersect(array(1,2,3,4),array(4,0,2,5))</translation>
     </message>
     <message>
         <source>Returns the last value of an array.</source>
-        <translation type="vanished">Liefert den letzten Wert eines Arrays.</translation>
+        <translation>Liefert den letzten Wert eines Arrays.</translation>
     </message>
     <message>
         <source>array_last</source>
-        <translation type="vanished">array_last</translation>
+        <translation>array_last</translation>
     </message>
     <message>
         <source>array_last(array('a','b','c'))</source>
-        <translation type="vanished">array_last(array('a','b','c'))</translation>
+        <translation>array_last(array('a','b','c'))</translation>
     </message>
     <message>
         <source>'c'</source>
-        <translation type="vanished">'c'</translation>
+        <translation>'c'</translation>
     </message>
     <message>
         <source>Returns the number of elements of an array.</source>
-        <translation type="vanished">Liefert die Anzahl der Elemente eines Arrays.</translation>
+        <translation>Liefert die Anzahl der Elemente eines Arrays.</translation>
     </message>
     <message>
         <source>array_length</source>
-        <translation type="vanished">array_length</translation>
+        <translation>array_length</translation>
     </message>
     <message>
         <source>array_length(array(1,2,3))</source>
-        <translation type="vanished">array_length(array(1,2,3))</translation>
+        <translation>array_length(array(1,2,3))</translation>
     </message>
     <message>
         <source>Returns an array with the given value added at the beginning.</source>
-        <translation type="vanished">Liefert ein Array mit dem am Anfang eingefügten gebenene Wert.</translation>
+        <translation>Liefert ein Array mit dem am Anfang eingefügten gebenene Wert.</translation>
     </message>
     <message>
         <source>array_prepend</source>
-        <translation type="vanished">array_prepend</translation>
+        <translation>array_prepend</translation>
     </message>
     <message>
         <source>array_prepend(array(1,2,3),0)</source>
-        <translation type="vanished">array_prepend(array(1,2,3),0)</translation>
+        <translation>array_prepend(array(1,2,3),0)</translation>
     </message>
     <message>
         <source>array: 0,1,2,3</source>
-        <translation type="vanished">array: 0,1,2,3</translation>
+        <translation>array: 0,1,2,3</translation>
     </message>
     <message>
         <source>Returns an array with all the entries of the given value removed.</source>
-        <translation type="vanished">Liefert ein Array aus dem alle dem gegebene Wert entsprechende Elemente entfernt wurden.</translation>
+        <translation>Liefert ein Array aus dem alle dem gegebene Wert entsprechende Elemente entfernt wurden.</translation>
     </message>
     <message>
         <source>array_remove_all</source>
-        <translation type="vanished">array_remove_all</translation>
+        <translation>array_remove_all</translation>
     </message>
     <message>
         <source>the values to remove</source>
-        <translation type="vanished">Der zu entfernende Wert</translation>
+        <translation>Der zu entfernende Wert</translation>
     </message>
     <message>
         <source>array_remove_all(array('a','b','c','b'),'b')</source>
-        <translation type="vanished">array_remove_all(array('a','b','c','b'),'b')</translation>
+        <translation>array_remove_all(array('a','b','c','b'),'b')</translation>
     </message>
     <message>
         <source>array: 'a','c'</source>
-        <translation type="vanished">array: 'a','c'</translation>
+        <translation>array: 'a','c'</translation>
     </message>
     <message>
         <source>Returns an array with the given index removed.</source>
-        <translation type="vanished">Liefert ein Array aus dem das Element mit dem gegebenen Index entfert wurde.</translation>
+        <translation>Liefert ein Array aus dem das Element mit dem gegebenen Index entfert wurde.</translation>
     </message>
     <message>
         <source>array_remove_at</source>
-        <translation type="vanished">array_remove_at</translation>
+        <translation>array_remove_at</translation>
     </message>
     <message>
         <source>the position to remove (0 based)</source>
-        <translation type="vanished">Position an der entfernt werden soll (0 basiert)</translation>
+        <translation>Position an der entfernt werden soll (0 basiert)</translation>
     </message>
     <message>
         <source>array_remove_at(array(1,2,3),1)</source>
-        <translation type="vanished">array_remove_at(array(1,2,3),1)</translation>
+        <translation>array_remove_at(array(1,2,3),1)</translation>
     </message>
     <message>
         <source>array: 1,3</source>
-        <translation type="vanished">array: 1,3</translation>
+        <translation>array: 1,3</translation>
     </message>
     <message>
         <source>Returns the given array with array values in reversed order.</source>
-        <translation type="vanished">Liefert das gegebene Array in umgekehrter Reihenfolge zurück.</translation>
+        <translation>Liefert das gegebene Array in umgekehrter Reihenfolge zurück.</translation>
     </message>
     <message>
         <source>array_reverse</source>
-        <translation type="vanished">array_reverse</translation>
+        <translation>array_reverse</translation>
     </message>
     <message>
         <source>array_reverse(array(2,4,0,10))</source>
-        <translation type="vanished">array_reverse(array(2,4,0,10))</translation>
+        <translation>array_reverse(array(2,4,0,10))</translation>
     </message>
     <message>
         <source>array: 10,0,4,2</source>
-        <translation type="vanished">array: 10,0,4,2</translation>
+        <translation>array: 10,0,4,2</translation>
     </message>
     <message>
         <source>Returns a portion of the array. The slice is defined by the start_pos and end_pos arguments.</source>
-        <translation type="vanished">Liefert einen Teil eines Arrays. Der Teil wird definiert durch die Argumente start_pos und end_pos.</translation>
+        <translation>Liefert einen Teil eines Arrays. Der Teil wird definiert durch die Argumente start_pos und end_pos.</translation>
     </message>
     <message>
         <source>array_slice</source>
-        <translation type="vanished">array_slice</translation>
+        <translation>array_slice</translation>
     </message>
     <message>
         <source>the index of the start position of the slice (0 based). The start_pos index is included in the slice. If you use a negative start_pos, the index is counted from the end of the list (-1 based).</source>
-        <translation type="vanished">Der Index der Anfangsposition des Teiles (0 basierend).  Der Index start_pos ist im Teil enthalten. Negative Werte für start_pos beziehen sich auf das Ende der Liste (-1 basierend).</translation>
+        <translation>Der Index der Anfangsposition des Teiles (0 basierend).  Der Index start_pos ist im Teil enthalten. Negative Werte für start_pos beziehen sich auf das Ende der Liste (-1 basierend).</translation>
     </message>
     <message>
         <source>the index of the end position of the slice (0 based). The end_pos index is included in the slice. If you use a negative end_pos, the index is counted from the end of the list (-1 based).</source>
-        <translation type="vanished">Der Index der Endposition des Teils (0 basierend). Der Index end_pos ist im Teil enthalten. Negative Werte für end_pos beziehen sich auf das Ende der Liste (-1 basierend).</translation>
+        <translation>Der Index der Endposition des Teils (0 basierend). Der Index end_pos ist im Teil enthalten. Negative Werte für end_pos beziehen sich auf das Ende der Liste (-1 basierend).</translation>
     </message>
     <message>
         <source>array_slice(array(1,2,3,4,5),0,3)</source>
-        <translation type="vanished">array_slice(array(1,2,3,4,5),0,3)</translation>
+        <translation>array_slice(array(1,2,3,4,5),0,3)</translation>
     </message>
     <message>
         <source>array_slice(array(1,2,3,4,5),0,-1)</source>
-        <translation type="vanished">array_slice(array(1,2,3,4,5),0,-1)</translation>
+        <translation>array_slice(array(1,2,3,4,5),0,-1)</translation>
     </message>
     <message>
         <source>array: 1,2,3,4,5</source>
-        <translation type="vanished">array: 1,2,3,4,5</translation>
+        <translation>array: 1,2,3,4,5</translation>
     </message>
     <message>
         <source>array_slice(array(1,2,3,4,5),-5,-1)</source>
-        <translation type="vanished">array_slice(array(1,2,3,4,5),-5,-1)</translation>
+        <translation>array_slice(array(1,2,3,4,5),-5,-1)</translation>
     </message>
     <message>
         <source>array_slice(array(1,2,3,4,5),0,0)</source>
-        <translation type="vanished">array_slice(array(1,2,3,4,5),0,0)</translation>
+        <translation>array_slice(array(1,2,3,4,5),0,0)</translation>
     </message>
     <message>
         <source>array: 1</source>
-        <translation type="vanished">array: 1</translation>
+        <translation>array: 1</translation>
     </message>
     <message>
         <source>array_slice(array(1,2,3,4,5),-2,-1)</source>
-        <translation type="vanished">array_slice(array(1,2,3,4,5),-2,-1)</translation>
+        <translation>array_slice(array(1,2,3,4,5),-2,-1)</translation>
     </message>
     <message>
         <source>array: 4,5</source>
-        <translation type="vanished">array: 4,5</translation>
+        <translation>array: 4,5</translation>
     </message>
     <message>
         <source>array_slice(array(1,2,3,4,5),-1,-1)</source>
-        <translation type="vanished">array_slice(array(1,2,3,4,5),-1,-1)</translation>
+        <translation>array_slice(array(1,2,3,4,5),-1,-1)</translation>
     </message>
     <message>
         <source>array: 5</source>
-        <translation type="vanished">array: 5</translation>
+        <translation>array: 5</translation>
     </message>
     <message>
         <source>array_slice(array('Dufour','Valmiera','Chugiak','Brighton'),1,2)</source>
-        <translation type="vanished">array_slice(array('Dufour','Valmiera','Chugiak','Brighton'),1,2)</translation>
+        <translation>array_slice(array('Dufour','Valmiera','Chugiak','Brighton'),1,2)</translation>
     </message>
     <message>
         <source>array: 'Valmiera','Chugiak'</source>
-        <translation type="vanished">array: 'Valmiera','Chugiak'</translation>
+        <translation>array: 'Valmiera','Chugiak'</translation>
     </message>
     <message>
         <source>array_slice(array_slice(array('Dufour','Valmiera','Chugiak','Brighton'),-2,-1)</source>
-        <translation type="vanished">array_slice(array_slice(array('Dufour','Valmiera','Chugiak','Brighton'),-2,-1)</translation>
+        <translation>array_slice(array_slice(array('Dufour','Valmiera','Chugiak','Brighton'),-2,-1)</translation>
     </message>
     <message>
         <source>array: 'Chugiak','Brighton'</source>
-        <translation type="vanished">array: 'Chugiak','Brighton'</translation>
+        <translation>array: 'Chugiak','Brighton'</translation>
     </message>
     <message>
         <source>Concatenates array elements into a string separated by a delimiter using and optional string for empty values.</source>
-        <translation type="vanished">Verbindet die Feldelemente mit einem Trennzeichen zu einer Zeichenkette mit einem optionalen Wert für leere Werte.</translation>
+        <translation>Verbindet die Feldelemente mit einem Trennzeichen zu einer Zeichenkette mit einem optionalen Wert für leere Werte.</translation>
     </message>
     <message>
         <source>array_to_string</source>
-        <translation type="vanished">array_to_string</translation>
+        <translation>array_to_string</translation>
     </message>
     <message>
         <source>the input array</source>
-        <translation type="vanished">Ein Eingabefeld</translation>
+        <translation>Ein Eingabefeld</translation>
     </message>
     <message>
         <source>the string delimiter used to separate concatenated array elements</source>
-        <translation type="vanished">Die zwischen den Werten des Felds zur verwendende Trennzeichenkette</translation>
+        <translation>Die zwischen den Werten des Felds zur verwendende Trennzeichenkette</translation>
     </message>
     <message>
         <source>the optional string to use as replacement for empty (zero length) matches</source>
-        <translation type="vanished">die optionale Zeichenkette, die als Ersatz für leere Treffer (Länge 0) verwendet werden soll.</translation>
+        <translation>die optionale Zeichenkette, die als Ersatz für leere Treffer (Länge 0) verwendet werden soll.</translation>
     </message>
     <message>
         <source>array_to_string(array('1','2','3'),',')</source>
-        <translation type="vanished">array_to_string(array('1','2','3'),',')</translation>
+        <translation>array_to_string(array('1','2','3'),',')</translation>
     </message>
     <message>
         <source>'1,2,3'</source>
-        <translation type="vanished">'2.12' {1,2,3'?}</translation>
+        <translation>'2.12' {1,2,3'?}</translation>
     </message>
     <message>
         <source>array_to_string(array('1','','3'),',','0')</source>
-        <translation type="vanished">array_to_string(array('1','','3'),',','0')</translation>
+        <translation>array_to_string(array('1','','3'),',','0')</translation>
     </message>
     <message>
         <source>'1,0,3'</source>
-        <translation type="vanished">'2.12' {1,0,3'?}</translation>
+        <translation>'2.12' {1,0,3'?}</translation>
     </message>
     <message>
         <source>Returns the closure of the combinatorial boundary of the geometry (ie the topological boundary of the geometry). For instance, a polygon geometry will have a boundary consisting of the linestrings for each ring in the polygon. Some geometry types do not have a defined boundary, e.g., points or geometry collections, and will return null.</source>
-        <translation type="vanished">Liefert die topologische Umgrenzung.  Z.B. hat eine Polygongeometrie eine Umgrenzung, die aus den Linien eines jeden Rings besteht. Einige Geometriearten haben keine definierte Umgrenzung, z.B. Punkte oder Geometriesammungen und geben Null zurück.</translation>
+        <translation>Liefert die topologische Umgrenzung.  Z.B. hat eine Polygongeometrie eine Umgrenzung, die aus den Linien eines jeden Rings besteht. Einige Geometriearten haben keine definierte Umgrenzung, z.B. Punkte oder Geometriesammungen und geben Null zurück.</translation>
     </message>
     <message>
         <source>boundary</source>
-        <translation type="vanished">boundary</translation>
+        <translation>boundary</translation>
     </message>
     <message>
         <source>geom_to_wkt(boundary(geom_from_wkt('Polygon((1 1, 0 0, -1 1, 1 1))')))</source>
-        <translation type="vanished">geom_to_wkt(boundary(geom_from_wkt('Polygon((1 1, 0 0, -1 1, 1 1))')))</translation>
+        <translation>geom_to_wkt(boundary(geom_from_wkt('Polygon((1 1, 0 0, -1 1, 1 1))')))</translation>
     </message>
     <message>
         <source>'LineString(1 1,0 0,-1 1,1 1)'</source>
-        <translation type="vanished">'LineString(1 1,0 0,-1 1,1 1)'</translation>
+        <translation>'LineString(1 1,0 0,-1 1,1 1)'</translation>
     </message>
     <message>
         <source>Returns the character associated with a unicode code.</source>
-        <translation type="vanished">Liefert das zu einem Unicode-Kode gehörende Zeichen.</translation>
+        <translation>Liefert das zu einem Unicode-Kode gehörende Zeichen.</translation>
     </message>
     <message>
         <source>char</source>
-        <translation type="vanished">char</translation>
+        <translation>char</translation>
     </message>
     <message>
         <source>a unicode code number</source>
-        <translation type="vanished">Eine Unicode-Kodezahl</translation>
+        <translation>Eine Unicode-Kodezahl</translation>
     </message>
     <message>
         <source>char(81)</source>
-        <translation type="vanished">char(81)</translation>
+        <translation>char(81)</translation>
     </message>
     <message>
         <source>'Q'</source>
-        <translation type="vanished">'Q'</translation>
+        <translation>'Q'</translation>
     </message>
     <message>
         <source>any valid expression or value, regardless of type.</source>
-        <translation type="vanished">jeder gültige Ausdruck oder Wert, unabhängig vom Typ.</translation>
+        <translation>jeder gültige Ausdruck oder Wert, unabhängig vom Typ.</translation>
     </message>
     <message>
         <source>Returns the multipart geometry of aggregated geometries from an expression</source>
-        <translation type="vanished">Liefert eine mehrteilige Geometie der aggregierten Geometrien des Ausdrucks</translation>
+        <translation>Liefert eine mehrteilige Geometie der aggregierten Geometrien des Ausdrucks</translation>
     </message>
     <message>
         <source>collect</source>
-        <translation type="vanished">collect</translation>
+        <translation>collect</translation>
     </message>
     <message>
         <source>geometry expression to aggregate</source>
-        <translation type="vanished">Zu aggregierender Geometrieausdruck</translation>
+        <translation>Zu aggregierender Geometrieausdruck</translation>
     </message>
     <message>
         <source>collect( $geometry )</source>
-        <translation type="vanished">collect( $geometry )</translation>
+        <translation>collect( $geometry )</translation>
     </message>
     <message>
         <source>multipart geometry of aggregated geometries</source>
-        <translation type="vanished">Mehrteilige Geometrie von aggregierten Geometrien</translation>
+        <translation>Mehrteilige Geometrie von aggregierten Geometrien</translation>
     </message>
     <message>
         <source>Returns a specific component from a color string, e.g., the red component or alpha component.</source>
-        <translation type="vanished">Gibt eine bestimmte Komponente einer Farbzeichnekette zurück, z.B. rote oder Alpha-Komponente</translation>
+        <translation>Gibt eine bestimmte Komponente einer Farbzeichnekette zurück, z.B. rote oder Alpha-Komponente</translation>
     </message>
     <message>
         <source>optional string to use to join values</source>
-        <translation type="vanished">Optionale Zeichenkette um Werte zu verbinden</translation>
+        <translation>Optionale Zeichenkette um Werte zu verbinden</translation>
     </message>
     <message>
         <source>concatenate("town_name",group_by:="state",concatenator:=',')</source>
-        <translation type="vanished">concatenate("town_name",group_by:="state",concatenator:=',')</translation>
+        <translation>concatenate("town_name",group_by:="state",concatenator:=',')</translation>
     </message>
     <message>
         <source>comma separated list of town_names, grouped by state field</source>
-        <translation type="vanished">Kommagetrennte Liste von town_names, gruppiert nach Feld state</translation>
+        <translation>Kommagetrennte Liste von town_names, gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Returns the count of matching features.</source>
-        <translation type="vanished">Liefert die Anzahl der passenden Objekte.</translation>
+        <translation>Liefert die Anzahl der passenden Objekte.</translation>
     </message>
     <message>
         <source>count</source>
-        <translation type="vanished">Anzahl</translation>
+        <translation>Anzahl</translation>
     </message>
     <message>
         <source>count("stations",group_by:="state")</source>
-        <translation type="vanished">count("stations",group_by:="state")</translation>
+        <translation>count("stations",group_by:="state")</translation>
     </message>
     <message>
         <source>count of stations, grouped by state field</source>
-        <translation type="vanished">Stationen zählen, gruppiert nach Feld Staat</translation>
+        <translation>Stationen zählen, gruppiert nach Feld Staat</translation>
     </message>
     <message>
         <source>Returns the count of distinct values.</source>
-        <translation type="vanished">Liefert die Anzahl von eindeutigen Werten.</translation>
+        <translation>Liefert die Anzahl von eindeutigen Werten.</translation>
     </message>
     <message>
         <source>count_distinct</source>
-        <translation type="vanished">count_distinct</translation>
+        <translation>count_distinct</translation>
     </message>
     <message>
         <source>count_distinct("stations",group_by:="state")</source>
-        <translation type="vanished">count_distinct("stations",group_by:="state")</translation>
+        <translation>count_distinct("stations",group_by:="state")</translation>
     </message>
     <message>
         <source>count of distinct stations values, grouped by state field</source>
-        <translation type="vanished">Anzahl der unterschiedlichen Wert für station, gruppiert nach Feld state</translation>
+        <translation>Anzahl der unterschiedlichen Wert für station, gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Returns the count of missing (null) values.</source>
-        <translation type="vanished">Liefert die Anzahl von fehlenden Werten (NULL).</translation>
+        <translation>Liefert die Anzahl von fehlenden Werten (NULL).</translation>
     </message>
     <message>
         <source>count_missing</source>
-        <translation type="vanished">count_missing</translation>
+        <translation>count_missing</translation>
     </message>
     <message>
         <source>count_missing("stations",group_by:="state")</source>
-        <translation type="vanished">count_missing("stations",group_by:="state")</translation>
+        <translation>count_missing("stations",group_by:="state")</translation>
     </message>
     <message>
         <source>count of missing (null) station values, grouped by state field</source>
-        <translation type="vanished">Anzahl der fehlenden Stationswerte (NULL), gruppiert nach Feld Staat</translation>
+        <translation>Anzahl der fehlenden Stationswerte (NULL), gruppiert nach Feld Staat</translation>
     </message>
     <message>
         <source>Returns a gradient ramp from a map of color strings and steps.</source>
-        <translation type="vanished">Liefert einen Farbverlauf aus einer Map von Farbzeichenketten und -schritten.</translation>
+        <translation>Liefert einen Farbverlauf aus einer Map von Farbzeichenketten und -schritten.</translation>
     </message>
     <message>
         <source>create_ramp</source>
-        <translation type="vanished">create_ramp</translation>
+        <translation>create_ramp</translation>
     </message>
     <message>
         <source>a map of color strings and steps</source>
-        <translation type="vanished">Eine Map von Farbzeichenketten und -schritten</translation>
+        <translation>Eine Map von Farbzeichenketten und -schritten</translation>
     </message>
     <message>
         <source>declare whether the color ramp is discrete</source>
-        <translation type="vanished">Festlegen, dass ein Farbverlauf diskret ist</translation>
+        <translation>Festlegen, dass ein Farbverlauf diskret ist</translation>
     </message>
     <message>
         <source>ramp_color(create_array(map(0,'0,0,0',1,'255,0,0')),1)</source>
-        <translation type="vanished">ramp_color(create_array(map(0,'0,0,0',1,'255,0,0')),1)</translation>
+        <translation>ramp_color(create_array(map(0,'0,0,0',1,'255,0,0')),1)</translation>
     </message>
     <message>
         <source>'255,0,0,255'</source>
-        <translation type="vanished">'2.12' {255,0,0,255'?}</translation>
+        <translation>'2.12' {255,0,0,255'?}</translation>
     </message>
     <message>
         <source>Returns the distance along the geometry to a specified vertex.</source>
-        <translation type="vanished">Liefert den Abstand einer Geometrie zu einem gegebenen Stützpunkt.</translation>
+        <translation>Liefert den Abstand einer Geometrie zu einem gegebenen Stützpunkt.</translation>
     </message>
     <message>
         <source>distance_to_vertex</source>
-        <translation type="vanished">distance_to_vertex</translation>
+        <translation>distance_to_vertex</translation>
     </message>
     <message>
         <source>distance_to_vertex(geometry:=geom_from_wkt('LineString(0 0, 10 0, 10 10)'),vertex:=1)</source>
-        <translation type="vanished">distance_to_vertex(geometry:=geom_from_wkt('LineString(0 0, 10 0, 10 10)'),vertex:=1)</translation>
+        <translation>distance_to_vertex(geometry:=geom_from_wkt('LineString(0 0, 10 0, 10 10)'),vertex:=1)</translation>
     </message>
     <message>
         <source>10.0</source>
-        <translation type="vanished">10.0</translation>
+        <translation>10.0</translation>
     </message>
     <message>
         <source>Gets an environment variable and returns its content as a string. If the variable is not found, `NULL` will be returned. This is handy to inject system specific configuration like drive letters or path prefixes. Definition of environment variables depends on the operating system, please check with your system administrator or the operating system documentation how this can be set.</source>
-        <translation type="vanished">Liefert eine Umgebungsvariable als Zeichenkette oder `NULL`, wenn die Variable nicht vorhanden ist. Dies ist für für systemspezifische Einstellungen wie Laufwerksbuchstaben oder Verzeichnispräfix praktisch. Wie Umgebungsvariablen eingestellt werden hängt vom Betriebssystem ab und ist in der Systemdokumentation zu finden. </translation>
+        <translation>Liefert eine Umgebungsvariable als Zeichenkette oder `NULL`, wenn die Variable nicht vorhanden ist. Dies ist für für systemspezifische Einstellungen wie Laufwerksbuchstaben oder Verzeichnispräfix praktisch. Wie Umgebungsvariablen eingestellt werden hängt vom Betriebssystem ab und ist in der Systemdokumentation zu finden. </translation>
     </message>
     <message>
         <source>env</source>
-        <translation type="vanished">env</translation>
+        <translation>env</translation>
     </message>
     <message>
         <source>The name of the environment variable which should be retrieved.</source>
-        <translation type="vanished">Der Name der zu bestimmenden Umgebungsvariable</translation>
+        <translation>Der Name der zu bestimmenden Umgebungsvariable</translation>
     </message>
     <message>
         <source>env( 'LANG' )</source>
-        <translation type="vanished">env('LANG')</translation>
+        <translation>env('LANG')</translation>
     </message>
     <message>
         <source>'en_US.UTF-8'</source>
-        <translation type="vanished">'de_DE.UTF-8'</translation>
+        <translation>'de_DE.UTF-8'</translation>
     </message>
     <message>
         <source>env( 'MY_OWN_PREFIX_VAR' )</source>
-        <translation type="vanished">env('LAUFWERK')</translation>
+        <translation>env('LAUFWERK')</translation>
     </message>
     <message>
         <source>'Z:'</source>
-        <translation type="vanished">'Z:'</translation>
+        <translation>'Z:'</translation>
     </message>
     <message>
         <source>env( 'I_DO_NOT_EXIST' )</source>
-        <translation type="vanished">env('MICH_GIBTS_NICHT')</translation>
+        <translation>env('MICH_GIBTS_NICHT')</translation>
     </message>
     <message>
         <source>Return the interval in milliseconds between the unix epoch and a given date value.</source>
-        <translation type="vanished">Liefert ein Intervall in Millisekunden zwischen Unix-Epoch und einem gegebenem Datum.</translation>
+        <translation>Liefert ein Intervall in Millisekunden zwischen Unix-Epoch und einem gegebenem Datum.</translation>
     </message>
     <message>
         <source>epoch</source>
-        <translation type="vanished">epoch</translation>
+        <translation>epoch</translation>
     </message>
     <message>
         <source>epoch(to_date('2017-01-01'))</source>
-        <translation type="vanished">epoch(to_date('2017-01-01'))</translation>
+        <translation>epoch(to_date('2017-01-01'))</translation>
     </message>
     <message>
         <source>1483203600000</source>
-        <translation type="vanished">1483203600000</translation>
+        <translation>1483203600000</translation>
     </message>
     <message>
         <source>Extends the start and end of a linestring geometry by a specified amount. Lines are extended using the bearing of the first and last segment in the line. Distances are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Verlängert den Anfang und das Ende eine Liniengeometrie um einen gegebenen Betrag. Linien werden in der Richtung des ersten und letzten Segments verlängert. Abstände sind im Bezugssystem der Geometrie.</translation>
+        <translation>Verlängert den Anfang und das Ende eine Liniengeometrie um einen gegebenen Betrag. Linien werden in der Richtung des ersten und letzten Segments verlängert. Abstände sind im Bezugssystem der Geometrie.</translation>
     </message>
     <message>
         <source>extend</source>
-        <translation type="vanished">extend</translation>
+        <translation>extend</translation>
     </message>
     <message>
         <source>a (multi)linestring geometry</source>
-        <translation type="vanished">eine (mehrteilige) Liniengeometrie</translation>
+        <translation>eine (mehrteilige) Liniengeometrie</translation>
     </message>
     <message>
         <source>distance to extend the start of the line</source>
-        <translation type="vanished">Betrag um den die Linie am Anfang verlängert werden soll</translation>
+        <translation>Betrag um den die Linie am Anfang verlängert werden soll</translation>
     </message>
     <message>
         <source>distance to extend the end of the line.</source>
-        <translation type="vanished">Betrag um den die Linien am Ende verlängert werden soll.</translation>
+        <translation>Betrag um den die Linien am Ende verlängert werden soll.</translation>
     </message>
     <message>
         <source>geom_to_wkt(extend(geom_from_wkt('LineString(0 0, 1 0, 1 1)'),1,2))</source>
-        <translation type="vanished">geom_to_wkt(extend(geom_from_wkt('LineString(0 0, 1 0, 1 1)'),1,2))</translation>
+        <translation>geom_to_wkt(extend(geom_from_wkt('LineString(0 0, 1 0, 1 1)'),1,2))</translation>
     </message>
     <message>
         <source>LineString (-1 0, 1 0, 1 3)</source>
-        <translation type="vanished">LineString (-1 0, 1 0, 1 3)</translation>
+        <translation>LineString (-1 0, 1 0, 1 3)</translation>
     </message>
     <message>
         <source>Returns the feature with an id on a layer.</source>
-        <translation type="vanished">Liefert ein Objekt einer Kennung von einem Layer</translation>
+        <translation>Liefert ein Objekt einer Kennung von einem Layer</translation>
     </message>
     <message>
         <source>get_feature_by_id</source>
-        <translation type="vanished">get_feature_by_id</translation>
+        <translation>get_feature_by_id</translation>
     </message>
     <message>
         <source>layer, layer name or layer id</source>
-        <translation type="vanished">Layer, Layername oder Layerkennung</translation>
+        <translation>Layer, Layername oder Layerkennung</translation>
     </message>
     <message>
         <source>the id of the feature which should be returned</source>
-        <translation type="vanished">Die Kennung des Objekts das geliefert werden soll</translation>
+        <translation>Die Kennung des Objekts das geliefert werden soll</translation>
     </message>
     <message>
         <source>get_feature('streets', 1)</source>
-        <translation type="vanished">get_feature('streets', 1)</translation>
+        <translation>get_feature('streets', 1)</translation>
     </message>
     <message>
         <source>the feature with the id 1 on the layer "streets"</source>
-        <translation type="vanished">Das Objekt mit der Kennung 1 des Layers 'streets'</translation>
+        <translation>Das Objekt mit der Kennung 1 des Layers 'streets'</translation>
     </message>
     <message>
         <source>Returns the Hausdorff distance between two geometries. This is basically a measure of how similar or dissimilar 2 geometries are, with a lower distance indicating more similar geometries.<br>The function can be executed with an optional densify fraction argument. If not specified, an approximation to the standard Hausdorff distance is used. This approximation is exact or close enough for a large subset of useful cases. Examples of these are:<br><br><l [...]
-        <translation type="vanished">Gibt den Hausdorff-Abstand zwischen zwei Geometrien zurück. Dies ist grundsätzlich ein Maß dafür, wie ähnlich oder unähnlich 2 Geometrien sind.  Je geringer der Abstand, desto ähnlicher ist die Geometrien. Die Funktion kann mit einem optionalen Verdichtungsargument ausgeführt werden. Wenn nicht angegeben, wird eine Approximation zur Standard-Hausdorff-Distanz verwendet. Diese Annäherung ist genau oder nahe genug für einen großen Teil sinnvoller Fälle. [...]
+        <translation>Gibt den Hausdorff-Abstand zwischen zwei Geometrien zurück. Dies ist grundsätzlich ein Maß dafür, wie ähnlich oder unähnlich 2 Geometrien sind.  Je geringer der Abstand, desto ähnlicher ist die Geometrien. Die Funktion kann mit einem optionalen Verdichtungsargument ausgeführt werden. Wenn nicht angegeben, wird eine Approximation zur Standard-Hausdorff-Distanz verwendet. Diese Annäherung ist genau oder nahe genug für einen großen Teil sinnvoller Fälle. Beispiele hierf [...]
     </message>
     <message>
         <source>hausdorff_distance</source>
-        <translation type="vanished">hausdorff_distance</translation>
+        <translation>hausdorff_distance</translation>
     </message>
     <message>
         <source>densify fraction amount</source>
-        <translation type="vanished">Verdichtungsparameter</translation>
+        <translation>Verdichtungsparameter</translation>
     </message>
     <message>
         <source>hausdorff_distance( geometry1:= geom_from_wkt('LINESTRING (0 0, 2 1)'),geometry2:=geom_from_wkt('LINESTRING (0 0, 2 0)'))</source>
-        <translation type="vanished">hausdorff_distance( geometry1:= geom_from_wkt('LINESTRING (0 0, 2 1)'),geometry2:=geom_from_wkt('LINESTRING (0 0, 2 0)'))</translation>
+        <translation>hausdorff_distance( geometry1:= geom_from_wkt('LINESTRING (0 0, 2 1)'),geometry2:=geom_from_wkt('LINESTRING (0 0, 2 0)'))</translation>
     </message>
     <message>
         <source>hausdorff_distance( geom_from_wkt('LINESTRING (130 0, 0 0, 0 150)'),geom_from_wkt('LINESTRING (10 10, 10 150, 130 10)'))</source>
-        <translation type="vanished">hausdorff_distance( geom_from_wkt('LINESTRING (130 0, 0 0, 0 150)'),geom_from_wkt('LINESTRING (10 10, 10 150, 130 10)'))</translation>
+        <translation>hausdorff_distance( geom_from_wkt('LINESTRING (130 0, 0 0, 0 150)'),geom_from_wkt('LINESTRING (10 10, 10 150, 130 10)'))</translation>
     </message>
     <message>
         <source>14.142135623</source>
-        <translation type="vanished">14.142135623</translation>
+        <translation>14.142135623</translation>
     </message>
     <message>
         <source>hausdorff_distance( geom_from_wkt('LINESTRING (130 0, 0 0, 0 150)'),geom_from_wkt('LINESTRING (10 10, 10 150, 130 10)'),0.5)</source>
-        <translation type="vanished">hausdorff_distance( geom_from_wkt('LINESTRING (130 0, 0 0, 0 150)'),geom_from_wkt('LINESTRING (10 10, 10 150, 130 10)'),0.5)</translation>
+        <translation>hausdorff_distance( geom_from_wkt('LINESTRING (130 0, 0 0, 0 150)'),geom_from_wkt('LINESTRING (10 10, 10 150, 130 10)'),0.5)</translation>
     </message>
     <message>
         <source>70.0</source>
-        <translation type="vanished">70.0</translation>
+        <translation>70.0</translation>
     </message>
     <message>
         <source>Returns the inclination measured from the zenith (0) to the nadir (180) on point_a to point_b.</source>
-        <translation type="vanished">Liefert die Inklination gemessen vom Zenith (0) zum Fußpunkt (180) von point_a zu point_b.</translation>
+        <translation>Liefert die Inklination gemessen vom Zenith (0) zum Fußpunkt (180) von point_a zu point_b.</translation>
     </message>
     <message>
         <source>inclination</source>
-        <translation type="vanished">inclination</translation>
+        <translation>inclination</translation>
     </message>
     <message>
         <source>inclination( make_point( 5, 10, 0 ), make_point( 5, 10, 5 ) )</source>
-        <translation type="vanished">inclination( make_point( 5, 10, 0 ), make_point( 5, 10, 5 ) )</translation>
+        <translation>inclination( make_point( 5, 10, 0 ), make_point( 5, 10, 5 ) )</translation>
     </message>
     <message>
         <source>0.0</source>
-        <translation type="vanished">0.0</translation>
+        <translation>0.0</translation>
     </message>
     <message>
         <source>inclination( make_point( 5, 10, 0 ), make_point( 5, 10, 0 ) )</source>
-        <translation type="vanished">inclination( make_point( 5, 10, 0 ), make_point( 5, 10, 0 ) )</translation>
+        <translation>inclination( make_point( 5, 10, 0 ), make_point( 5, 10, 0 ) )</translation>
     </message>
     <message>
         <source>90.0</source>
-        <translation type="vanished">90.0</translation>
+        <translation>90.0</translation>
     </message>
     <message>
         <source>inclination( make_point( 5, 10, 0 ), make_point( 50, 100, 0 ) )</source>
-        <translation type="vanished">inclination( make_point( 5, 10, 0 ), make_point( 50, 100, 0 ) )</translation>
+        <translation>inclination( make_point( 5, 10, 0 ), make_point( 50, 100, 0 ) )</translation>
     </message>
     <message>
         <source>inclination( make_point( 5, 10, 0 ), make_point( 5, 10, -5 ) )</source>
-        <translation type="vanished">inclination( make_point( 5, 10, 0 ), make_point( 5, 10, -5 ) )</translation>
+        <translation>inclination( make_point( 5, 10, 0 ), make_point( 5, 10, -5 ) )</translation>
     </message>
     <message>
         <source>180.0</source>
-        <translation type="vanished">180.0</translation>
+        <translation>180.0</translation>
     </message>
     <message>
         <source>Returns the calculated inter quartile range from a field or expression.</source>
-        <translation type="vanished">Liefert den berechneten Interquartilebereich eines Felds oder Ausdrucks</translation>
+        <translation>Liefert den berechneten Interquartilebereich eines Felds oder Ausdrucks</translation>
     </message>
     <message>
         <source>iqr</source>
-        <translation type="vanished">iqr</translation>
+        <translation>iqr</translation>
     </message>
     <message>
         <source>iqr("population",group_by:="state")</source>
-        <translation type="vanished">iqr("population",group_by:="state")</translation>
+        <translation>iqr("population",group_by:="state")</translation>
     </message>
     <message>
         <source>inter quartile range of population value, grouped by state field</source>
-        <translation type="vanished">Interquartilbereich des Werts population, gruppiert nach Feld state</translation>
+        <translation>Interquartilbereich des Werts population, gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Returns true if a specified layer is visible.</source>
-        <translation type="vanished">Liefert wahr, wenn der Layer sichtbar ist.</translation>
+        <translation>Liefert wahr, wenn der Layer sichtbar ist.</translation>
     </message>
     <message>
         <source>is_layer_visible</source>
-        <translation type="vanished">is_layer_visible</translation>
+        <translation>is_layer_visible</translation>
     </message>
     <message>
         <source>is_layer_visible('baseraster')</source>
-        <translation type="vanished">is_layer_visible('baseraster')</translation>
+        <translation>is_layer_visible('baseraster')</translation>
     </message>
     <message>
         <source>Returns if a feature is selected. If called with no parameters checks the current feature.</source>
-        <translation type="vanished">Liefert, ob ein Objekt gewählt ist.  Ohne Parameter wird das aktuelle Objekt abgefragt.</translation>
+        <translation>Liefert, ob ein Objekt gewählt ist.  Ohne Parameter wird das aktuelle Objekt abgefragt.</translation>
     </message>
     <message>
         <source>is_selected</source>
-        <translation type="vanished">is_selected</translation>
+        <translation>is_selected</translation>
     </message>
     <message>
         <source>The feature which should be checked for selection.</source>
-        <translation type="vanished">Das Objekt dessen Auswahl überprüft werden soll.</translation>
+        <translation>Das Objekt dessen Auswahl überprüft werden soll.</translation>
     </message>
     <message>
         <source>The layer (or its id or name) on which the selection will be checked.</source>
-        <translation type="vanished">Der Layer (oder die Kennung oder Name) deren Auswahl überprüft werden soll.</translation>
+        <translation>Der Layer (oder die Kennung oder Name) deren Auswahl überprüft werden soll.</translation>
     </message>
     <message>
         <source>is_selected()</source>
-        <translation type="vanished">is_selected()</translation>
+        <translation>is_selected()</translation>
     </message>
     <message>
         <source>True if the current feature is selected.</source>
-        <translation type="vanished">Wahr, wenn das aktuelle Objekt gewählt ist</translation>
+        <translation>Wahr, wenn das aktuelle Objekt gewählt ist</translation>
     </message>
     <message>
         <source>is_selected(get_feature('streets', 'name', "street_name"), 'streets')</source>
-        <translation type="vanished">is_selected(get_feature('streets', 'name', "street_name"), 'streets')</translation>
+        <translation>is_selected(get_feature('streets', 'name', "street_name"), 'streets')</translation>
     </message>
     <message>
         <source>True if the current building's street is selected.</source>
-        <translation type="vanished">Whar, wenn die Straße des aktuellen Gebäudes gewählt ist.</translation>
+        <translation>Whar, wenn die Straße des aktuellen Gebäudes gewählt ist.</translation>
     </message>
     <message>
         <source>Returns a map of variables from a composer item inside this composition.</source>
-        <translation type="vanished">Liefert eine Map von Variablen eines Elements in dieser Zusammenstellung</translation>
+        <translation>Liefert eine Map von Variablen eines Elements in dieser Zusammenstellung</translation>
     </message>
     <message>
         <source>item_variables</source>
-        <translation type="vanished">item_variables</translation>
+        <translation>item_variables</translation>
     </message>
     <message>
         <source>composer item ID</source>
-        <translation type="vanished">Zusammenstellungselement-ID</translation>
+        <translation>Zusammenstellungselement-ID</translation>
     </message>
     <message>
         <source>map_get(item_variables('main_map'), 'map_scale')</source>
-        <translation type="vanished">map_get(item_variables('main_map'), 'map_scale')</translation>
+        <translation>map_get(item_variables('main_map'), 'map_scale')</translation>
     </message>
     <message>
         <source>2000</source>
-        <translation type="vanished">2000</translation>
+        <translation>2000</translation>
     </message>
     <message>
         <source>a string corresponding to the property to return. Valid options are:<br /><ul><li>name: layer name</li><li>id: layer ID</li><li>title: metadata title string</li><li>abstract: metadata abstract string</li><li>keywords: metadata keywords</li><li>data_url: metadata URL</li><li>attribution: metadata attribution string</li><li>attribution_url: metadata attribution URL</li&g [...]
-        <translation type="vanished">Eine Zeichenkette die der zurückzugebenden Layereigenschaft entspricht. Gültige Optionen sind:<br /><ul><li>name: Layername</li><li>id: Layerkennung</li><li>title: Metadaten-Titelzeichenkette</li><li>abstract: Metadaten-Zusammenfassungszeichenkette</li><li>keywords: Metadaten-Schlüsselworte</li><li>data_url: Metadaten-URL</li><li>attribution: Metadaten-Attributie [...]
+        <translation>Eine Zeichenkette die der zurückzugebenden Layereigenschaft entspricht. Gültige Optionen sind:<br /><ul><li>name: Layername</li><li>id: Layerkennung</li><li>title: Metadaten-Titelzeichenkette</li><li>abstract: Metadaten-Zusammenfassungszeichenkette</li><li>keywords: Metadaten-Schlüsselworte</li><li>data_url: Metadaten-URL</li><li>attribution: Metadaten-Attributierung</li>& [...]
     </message>
     <message>
         <source>Returns the angle parallel to the geometry at a specified distance along a linestring geometry. Angles are in degrees clockwise from north.</source>
-        <translation type="vanished">Liefert den parallelen Winkel zur Geometrie bei einem bestimmten Punkt entlang einer Liniengeometrie. </translation>
+        <translation>Liefert den parallelen Winkel zur Geometrie bei einem bestimmten Punkt entlang einer Liniengeometrie. </translation>
     </message>
     <message>
         <source>line_interpolate_angle</source>
-        <translation type="vanished">line_interpolate_angle</translation>
+        <translation>line_interpolate_angle</translation>
     </message>
     <message>
         <source>distance along line to interpolate angle at</source>
-        <translation type="vanished">Abstand entlang der Linien am zu berechnenden Winkel</translation>
+        <translation>Abstand entlang der Linien am zu berechnenden Winkel</translation>
     </message>
     <message>
         <source>line_interpolate_angle(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),distance:=5)</source>
-        <translation type="vanished">line_interpolate_angle(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),distance:=5)</translation>
+        <translation>line_interpolate_angle(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),distance:=5)</translation>
     </message>
     <message>
         <source>Returns the point interpolated by a specified distance along a linestring geometry.</source>
-        <translation type="vanished">Liefert den Punkt am gegebene Abstand entlang einer Linie.</translation>
+        <translation>Liefert den Punkt am gegebene Abstand entlang einer Linie.</translation>
     </message>
     <message>
         <source>line_interpolate_point</source>
-        <translation type="vanished">line_interpolate_point</translation>
+        <translation>line_interpolate_point</translation>
     </message>
     <message>
         <source>distance along line to interpolate</source>
-        <translation type="vanished">Abstand entlang der Linien</translation>
+        <translation>Abstand entlang der Linien</translation>
     </message>
     <message>
         <source>geom_to_wkt(line_interpolate_point(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),distance:=5))</source>
-        <translation type="vanished">geom_to_wkt(line_interpolate_point(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),distance:=5))</translation>
+        <translation>geom_to_wkt(line_interpolate_point(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),distance:=5))</translation>
     </message>
     <message>
         <source>'Point (5 0)'</source>
-        <translation type="vanished">'Point (4 0)' {5 0)?}</translation>
+        <translation>'Point (4 0)' {5 0)?}</translation>
     </message>
     <message>
         <source>Returns the distance along a linestring corresponding to the closest position the linestring comes to a specified point geometry.</source>
-        <translation type="vanished">Liefert den Abstand des nächsten Punkts auf der Linie zu einem gegebenen Punkt.</translation>
+        <translation>Liefert den Abstand des nächsten Punkts auf der Linie zu einem gegebenen Punkt.</translation>
     </message>
     <message>
         <source>line_locate_point</source>
-        <translation type="vanished">line_locate_point</translation>
+        <translation>line_locate_point</translation>
     </message>
     <message>
         <source>point geometry to locate closest position on linestring to</source>
-        <translation type="vanished">Punkt zu dem die nächste Position auf der Linien berechnet werden soll</translation>
+        <translation>Punkt zu dem die nächste Position auf der Linien berechnet werden soll</translation>
     </message>
     <message>
         <source>line_locate_point(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),point:=geom_from_wkt('Point(5 0)'))</source>
-        <translation type="vanished">line_locate_point(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),point:=geom_from_wkt('Point(5 0)'))</translation>
+        <translation>line_locate_point(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),point:=geom_from_wkt('Point(5 0)'))</translation>
     </message>
     <message>
         <source>5.0</source>
-        <translation type="vanished">5.0</translation>
+        <translation>5.0</translation>
     </message>
     <message>
         <source>Returns a LineString or MultiLineString geometry, where any connected LineStrings from the input geometry have been merged into a single linestring. This function will return null if passed a geometry which is not a LineString/MultiLineString.</source>
-        <translation type="vanished">Liefert eine Einzel- oder Mehrfachliniengeometrie in der die verbundenen Linien einer Eingabegeometrie in einzelne Linien zusammengefaßt wurden. Diese Funktion liefert null, wenn die gegebene Geometrie keine Linie ist. </translation>
+        <translation>Liefert eine Einzel- oder Mehrfachliniengeometrie in der die verbundenen Linien einer Eingabegeometrie in einzelne Linien zusammengefaßt wurden. Diese Funktion liefert null, wenn die gegebene Geometrie keine Linie ist. </translation>
     </message>
     <message>
         <source>line_merge</source>
-        <translation type="vanished">line_merge</translation>
+        <translation>line_merge</translation>
     </message>
     <message>
         <source>a LineString/MultiLineString geometry</source>
-        <translation type="vanished">Eine Einzel-/Mehrliniengeometrie</translation>
+        <translation>Eine Einzel-/Mehrliniengeometrie</translation>
     </message>
     <message>
         <source>geom_to_wkt(line_merge(geom_from_wkt('MULTILINESTRING((0 0, 1 1),(1 1, 2 2))')))</source>
-        <translation type="vanished">geom_to_wkt(line_merge(geom_from_wkt('MULTILINESTRING((0 0, 1 1),(1 1, 2 2))')))</translation>
+        <translation>geom_to_wkt(line_merge(geom_from_wkt('MULTILINESTRING((0 0, 1 1),(1 1, 2 2))')))</translation>
     </message>
     <message>
         <source>'LineString(0 0,1 1,2 2)'</source>
-        <translation type="vanished">'LineString(0 0,1 1,2 2)'</translation>
+        <translation>'LineString(0 0,1 1,2 2)'</translation>
     </message>
     <message>
         <source>geom_to_wkt(line_merge(geom_from_wkt('MULTILINESTRING((0 0, 1 1),(11 1, 21 2))')))</source>
-        <translation type="vanished">geom_to_wkt(line_merge(geom_from_wkt('MULTILINESTRING((0 0, 1 1),(11 1, 21 2))')))</translation>
+        <translation>geom_to_wkt(line_merge(geom_from_wkt('MULTILINESTRING((0 0, 1 1),(11 1, 21 2))')))</translation>
     </message>
     <message>
         <source>'MultiLineString((0 0, 1 1),(11 1, 21 2)'</source>
-        <translation type="vanished">'MultiLineString((0 0, 1 1),(11 1, 21 2)'</translation>
+        <translation>'MultiLineString((0 0, 1 1),(11 1, 21 2)'</translation>
     </message>
     <message>
         <source>Returns the longest common substring between two strings. This substring is the longest string that is a substring of the two input strings. For example, the longest common substring of "ABABC" and "BABCA" is "ABC". The substring is case sensitive.</source>
-        <translation type="vanished">Liefert den längste gemeinsamen Teil von zwei Zeichenketten.  Z.B. ist "ABC" der längste gemeinsame Teil der Zeichenketten "ABABC" and "BABCA". Der Vergleich berücksichtigt Groß-/Kleinschreibung.</translation>
+        <translation>Liefert den längste gemeinsamen Teil von zwei Zeichenketten.  Z.B. ist "ABC" der längste gemeinsame Teil der Zeichenketten "ABABC" and "BABCA". Der Vergleich berücksichtigt Groß-/Kleinschreibung.</translation>
     </message>
     <message>
         <source>Returns a string padded on the left to the specified width, using a fill character. If the target width is smaller than the string's length, the string is truncated.</source>
-        <translation type="vanished">Liefert einem links auf die gegebene Länge mit dem Füllzeichen aufgefüllte Zeichenkette. Wenn die Zielbreite kleiner ist als die Zeichenkettenlänge wird sie abgeschnitten.</translation>
+        <translation>Liefert einem links auf die gegebene Länge mit dem Füllzeichen aufgefüllte Zeichenkette. Wenn die Zielbreite kleiner ist als die Zeichenkettenlänge wird sie abgeschnitten.</translation>
     </message>
     <message>
         <source>lpad('Hello', 3, 'x')</source>
-        <translation type="vanished">lpad('Hallo', 10, 'x')</translation>
+        <translation>lpad('Hallo', 10, 'x')</translation>
     </message>
     <message>
         <source>'Hel'</source>
-        <translation type="vanished">'Hel'</translation>
+        <translation>'Hel'</translation>
     </message>
     <message>
         <source>Returns the aggregate majority of values (most commonly occurring value) from a field or expression.</source>
-        <translation type="vanished">Liefert den aggregierten Mehrheitswert (am häufigsten auftretender Wert) eines Felds oder Ausdrucks</translation>
+        <translation>Liefert den aggregierten Mehrheitswert (am häufigsten auftretender Wert) eines Felds oder Ausdrucks</translation>
     </message>
     <message>
         <source>majority</source>
-        <translation type="vanished">majority</translation>
+        <translation>majority</translation>
     </message>
     <message>
         <source>majority("class",group_by:="state")</source>
-        <translation type="vanished">majority("class",group_by:="state")</translation>
+        <translation>majority("class",group_by:="state")</translation>
     </message>
     <message>
         <source>most commonly occurring class value, grouped by state field</source>
-        <translation type="vanished">häufigster auftretender Klassenwert, gruppiert nach Feld state</translation>
+        <translation>häufigster auftretender Klassenwert, gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Creates a circular polygon.</source>
-        <translation type="vanished">Erzeugt ein Polygon mit Kreisbögen.</translation>
+        <translation>Erzeugt ein Polygon mit Kreisbögen.</translation>
     </message>
     <message>
         <source>make_circle</source>
-        <translation type="vanished">make_circle</translation>
+        <translation>make_circle</translation>
     </message>
     <message>
         <source>center point of the circle</source>
-        <translation type="vanished">Zentrum des Kreises</translation>
+        <translation>Zentrum des Kreises</translation>
     </message>
     <message>
         <source>radius of the circle</source>
-        <translation type="vanished">Kreisradius</translation>
+        <translation>Kreisradius</translation>
     </message>
     <message>
         <source>optional argument for polygon segmentation. By default this value is 36</source>
-        <translation type="vanished">Optionales Argument für Polygonsegmentierung. Der Vorgabewert ist 36</translation>
+        <translation>Optionales Argument für Polygonsegmentierung. Der Vorgabewert ist 36</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_circle(make_point(10,10), 5, 4))</source>
-        <translation type="vanished">geom_to_wkt(make_circle(make_point(10,10), 5, 4))</translation>
+        <translation>geom_to_wkt(make_circle(make_point(10,10), 5, 4))</translation>
     </message>
     <message>
         <source>'Polygon ((10 15, 15 10, 10 5, 5 10, 10 15))'</source>
-        <translation type="vanished">'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))' {10 15, 15 10, 10 5, 5 10, 10 15)?}</translation>
+        <translation>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))' {10 15, 15 10, 10 5, 5 10, 10 15)?}</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_circle(make_point(10,10,5), 5, 4))</source>
-        <translation type="vanished">geom_to_wkt(make_circle(make_point(10,10,5), 5, 4))</translation>
+        <translation>geom_to_wkt(make_circle(make_point(10,10,5), 5, 4))</translation>
     </message>
     <message>
         <source>'Polygon ((10 15 5, 15 10 5, 10 5 5, 5 10 5, 10 15 5))'</source>
-        <translation type="vanished">'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))' {10 15 5, 15 10 5, 10 5 5, 5 10 5, 10 15 5)</translation>
+        <translation>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))' {10 15 5, 15 10 5, 10 5 5, 5 10 5, 10 15 5)</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_circle(make_point(10,10,5,30), 5, 4))</source>
-        <translation type="vanished">geom_to_wkt(make_circle(make_point(10,10,5,30), 5, 4))</translation>
+        <translation>geom_to_wkt(make_circle(make_point(10,10,5,30), 5, 4))</translation>
     </message>
     <message>
         <source>'Polygon ((10 15 5 30, 15 10 5 30, 10 5 5 30, 5 10 5 30, 10 15 5 30))'</source>
-        <translation type="vanished">'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</translation>
+        <translation>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</translation>
     </message>
     <message>
         <source>Creates an elliptical polygon.</source>
-        <translation type="vanished">Erzeugt ein elliptisches Polygon.</translation>
+        <translation>Erzeugt ein elliptisches Polygon.</translation>
     </message>
     <message>
         <source>make_ellipse</source>
-        <translation type="vanished">make_ellipse</translation>
+        <translation>make_ellipse</translation>
     </message>
     <message>
         <source>center point of the ellipse</source>
-        <translation type="vanished">Mittelpunkt der Ellipse</translation>
+        <translation>Mittelpunkt der Ellipse</translation>
     </message>
     <message>
         <source>semi-major axis of the ellipse</source>
-        <translation type="vanished">Große Hauptachse der Ellipse</translation>
+        <translation>Große Hauptachse der Ellipse</translation>
     </message>
     <message>
         <source>semi-minor axis of the ellipse</source>
-        <translation type="vanished">Kleine Hauptachse der Ellipse</translation>
+        <translation>Kleine Hauptachse der Ellipse</translation>
     </message>
     <message>
         <source>orientation of the ellipse</source>
-        <translation type="vanished">Orientierung der Ellipse</translation>
+        <translation>Orientierung der Ellipse</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_ellipse(make_point(10,10), 5, 2, 90, 4))</source>
-        <translation type="vanished">geom_to_wkt(make_ellipse(make_point(10,10), 5, 2, 90, 4))</translation>
+        <translation>geom_to_wkt(make_ellipse(make_point(10,10), 5, 2, 90, 4))</translation>
     </message>
     <message>
         <source>'Polygon ((15 10, 10 8, 5 10, 10 12, 15 10))'</source>
-        <translation type="vanished">'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</translation>
+        <translation>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_circle(make_point(10,10,5), 5, 2, 90, 4))</source>
-        <translation type="vanished">geom_to_wkt(make_circle(make_point(10,10,5), 5, 2, 90, 4))</translation>
+        <translation>geom_to_wkt(make_circle(make_point(10,10,5), 5, 2, 90, 4))</translation>
     </message>
     <message>
         <source>'Polygon ((15 10 5, 10 8 5, 5 10 5, 10 12 5, 15 10 5))'</source>
-        <translation type="vanished">'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</translation>
+        <translation>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_circle(make_point(10,10,5,30), 5, 2, 90, 4))</source>
-        <translation type="vanished">geom_to_wkt(make_circle(make_point(10,10,5,30), 5, 2, 90, 4))</translation>
+        <translation>geom_to_wkt(make_circle(make_point(10,10,5,30), 5, 2, 90, 4))</translation>
     </message>
     <message>
         <source>'Polygon ((15 10 5 30, 10 8 5 30, 5 10 5 30, 10 12 5 30, 15 10 5 30))'</source>
-        <translation type="vanished">'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</translation>
+        <translation>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</translation>
     </message>
     <message>
         <source>optional m value of point</source>
-        <translation type="vanished">Optionaler M-Wert des Punkts</translation>
+        <translation>Optionaler M-Wert des Punkts</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_point(2,4))</source>
-        <translation type="vanished">geom_to_wkt(make_point(2,4))</translation>
+        <translation>geom_to_wkt(make_point(2,4))</translation>
     </message>
     <message>
         <source>'Point (2 4)'</source>
-        <translation type="vanished">'Point (2 4)'</translation>
+        <translation>'Point (2 4)'</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_point(2,4,6))</source>
-        <translation type="vanished">geom_to_wkt(make_point_m(2,4,6))</translation>
+        <translation>geom_to_wkt(make_point_m(2,4,6))</translation>
     </message>
     <message>
         <source>'PointZ (2 4 6)'</source>
-        <translation type="vanished">'PointZ (2 4 6)'</translation>
+        <translation>'PointZ (2 4 6)'</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_point(2,4,6,8))</source>
-        <translation type="vanished">geom_to_wkt(make_point_m(2,4,6))</translation>
+        <translation>geom_to_wkt(make_point_m(2,4,6))</translation>
     </message>
     <message>
         <source>'PointZM (2 4 6 8)'</source>
-        <translation type="vanished">'PointZM (2 4 6 8)'</translation>
+        <translation>'PointZM (2 4 6 8)'</translation>
     </message>
     <message>
         <source>Creates a point geometry from an x, y coordinate and m value.</source>
-        <translation type="vanished">Erzeugt eine Punktgeometrie aus einem X-, Y- und M-Wert.</translation>
+        <translation>Erzeugt eine Punktgeometrie aus einem X-, Y- und M-Wert.</translation>
     </message>
     <message>
         <source>make_point_m</source>
-        <translation type="vanished">make_point_m</translation>
+        <translation>make_point_m</translation>
     </message>
     <message>
         <source>m value of point</source>
-        <translation type="vanished">M-Wert des Punkts</translation>
+        <translation>M-Wert des Punkts</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_point_m(2,4,6))</source>
-        <translation type="vanished">geom_to_wkt(make_point_m(2,4,6))</translation>
+        <translation>geom_to_wkt(make_point_m(2,4,6))</translation>
     </message>
     <message>
         <source>'PointM (2 4 6)'</source>
-        <translation type="vanished">'PointM (2 4 6)'</translation>
+        <translation>'PointM (2 4 6)'</translation>
     </message>
     <message>
         <source>Creates a polygon geometry from an outer ring and optional series of inner ring geometries.</source>
-        <translation type="vanished">Erzeugt eine Polygongeometrie aus einem äußeren Ring und einer optionalen Liste von inneren Ringen.</translation>
+        <translation>Erzeugt eine Polygongeometrie aus einem äußeren Ring und einer optionalen Liste von inneren Ringen.</translation>
     </message>
     <message>
         <source>make_polygon</source>
-        <translation type="vanished">make_polygon</translation>
+        <translation>make_polygon</translation>
     </message>
     <message>
         <source>closed line geometry for polygon's outer ring</source>
-        <translation type="vanished">Geschlossene Liniengeometrie des äußeren Rings des Polygons.</translation>
+        <translation>Geschlossene Liniengeometrie des äußeren Rings des Polygons.</translation>
     </message>
     <message>
         <source>optional closed line geometry for inner ring</source>
-        <translation type="vanished">optionale geschlossene Geometrie für inneren Ring</translation>
+        <translation>optionale geschlossene Geometrie für inneren Ring</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )')))</source>
-        <translation type="vanished">geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )')))</translation>
+        <translation>geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )')))</translation>
     </message>
     <message>
         <source>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</source>
-        <translation type="vanished">'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</translation>
+        <translation>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )'),geom_from_wkt('LINESTRING( 0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1 )'),geom_from_wkt('LINESTRING( 0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8 )')))</source>
-        <translation type="vanished">geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )'),geom_from_wkt('LINESTRING( 0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1 )'),geom_from_wkt('LINESTRING( 0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8 )')))</translation>
+        <translation>geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )'),geom_from_wkt('LINESTRING( 0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1 )'),geom_from_wkt('LINESTRING( 0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8 )')))</translation>
     </message>
     <message>
         <source>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0),(0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1),(0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8))'</source>
-        <translation type="vanished">'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0),(0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1),(0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8))'</translation>
+        <translation>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0),(0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1),(0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8))'</translation>
     </message>
     <message>
         <source>Creates a regular polygon.</source>
-        <translation type="vanished">Erzeugt ein regelmäßiges Polygon.</translation>
+        <translation>Erzeugt ein regelmäßiges Polygon.</translation>
     </message>
     <message>
         <source>make_regular_polygon</source>
-        <translation type="vanished">make_regular_polygon</translation>
+        <translation>make_regular_polygon</translation>
     </message>
     <message>
         <source>center of the regular polygon</source>
-        <translation type="vanished">Zentrum des regelmäßigen Polygon</translation>
+        <translation>Zentrum des regelmäßigen Polygon</translation>
     </message>
     <message>
         <source>second point. The first if the regular polygon is inscribed. The midpoint of the first side if the regular polygon is circumscribed.</source>
-        <translation type="vanished">Zweiter Punkt. Der erste, wenn der Innenkreis angegeben wird. Der Mittelpunkt der ersten Seite, wenn der Umkreis angegeben wird.</translation>
+        <translation>Zweiter Punkt. Der erste, wenn der Innenkreis angegeben wird. Der Mittelpunkt der ersten Seite, wenn der Umkreis angegeben wird.</translation>
     </message>
     <message>
         <source>Number of sides/edges of the regular polygon</source>
-        <translation type="vanished">Anzahl der Seiten/Kanten des regulären Polygons</translation>
+        <translation>Anzahl der Seiten/Kanten des regulären Polygons</translation>
     </message>
     <message>
         <source>Optional argument to construct the regular polygon. By default this value is 0. Value can be 0 (inscribed) or 1 (circumscribed)</source>
-        <translation type="vanished">Optionales Argument zur Erzeugung des regelmäßigen Polygons. Vorgegeben ist 0.  Der Wert kann 0 (Innenkreis) oder 1 (Umkreis) sein</translation>
+        <translation>Optionales Argument zur Erzeugung des regelmäßigen Polygons. Vorgegeben ist 0.  Der Wert kann 0 (Innenkreis) oder 1 (Umkreis) sein</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_regular_polygon(make_point(0,0), make_point(0,5), 5))</source>
-        <translation type="vanished">geom_to_wkt(make_regular_polygon(make_point(0,0), make_point(0,5), 5))</translation>
+        <translation>geom_to_wkt(make_regular_polygon(make_point(0,0), make_point(0,5), 5))</translation>
     </message>
     <message>
         <source>'Polygon ((0 5, 4.76 1.55, 2.94 -4.05, -2.94 -4.05, -4.76 1.55, 0 5))'</source>
-        <translation type="vanished">'Polygon ((0 5, 4.76 1.55, 2.94 -4.05, -2.94 -4.05, -4.76 1.55, 0 5))'</translation>
+        <translation>'Polygon ((0 5, 4.76 1.55, 2.94 -4.05, -2.94 -4.05, -4.76 1.55, 0 5))'</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_regular_polygon(make_point(0,0), project(make_point(0,0), 4.0451, radians(36)), 5))</source>
-        <translation type="vanished">geom_to_wkt(make_regular_polygon(make_point(0,0), project(make_point(0,0), 4.0451, radians(36)), 5))</translation>
+        <translation>geom_to_wkt(make_regular_polygon(make_point(0,0), project(make_point(0,0), 4.0451, radians(36)), 5))</translation>
+    </message>
+    <message>
+        <source>Creates a triangle polygon.</source>
+        <translation>Erzeugt ein Dreieckspolygon.</translation>
+    </message>
+    <message>
+        <source>make_triangle</source>
+        <translation>make_triangle</translation>
+    </message>
+    <message>
+        <source>first point of the triangle</source>
+        <translation>erste Dreieckspunkt</translation>
+    </message>
+    <message>
+        <source>second point of the triangle</source>
+        <translation>zweiter Dreieckspunkt</translation>
+    </message>
+    <message>
+        <source>third point of the triangle</source>
+        <translation>Dritter Dreieckspunkt</translation>
+    </message>
+    <message>
+        <source>geom_to_wkt(make_triangle(make_point(0,0), make_point(5,5), make_point(0,10)))</source>
+        <translation>geom_to_wkt(make_triangle(make_point(0,0), make_point(5,5), make_point(0,10)))</translation>
+    </message>
+    <message>
+        <source>'Triangle ((0 0, 5 5, 0 10, 0 0))'</source>
+        <translation>'Triangle ((0 0, 5 5, 0 10, 0 0))'</translation>
+    </message>
+    <message>
+        <source>geom_to_wkt(boundary(make_triangle(make_point(0,0), make_point(5,5), make_point(0,10))))</source>
+        <translation>geom_to_wkt(boundary(make_triangle(make_point(0,0), make_point(5,5), make_point(0,10))))</translation>
+    </message>
+    <message>
+        <source>'LineString (0 0, 5 5, 0 10, 0 0)'</source>
+        <translation>'LineString (2 4, 3 5, 9 7)' {0 0, 5 5, 0 10, 0 0)?}</translation>
     </message>
     <message>
         <source>Returns a map containing all the keys and values passed as pair of parameters.</source>
-        <translation type="vanished">Liefert eine Map mit allen Schlüsseln und Werten, die als Parameterpaare übergeben wurden.</translation>
+        <translation>Liefert eine Map mit allen Schlüsseln und Werten, die als Parameterpaare übergeben wurden.</translation>
     </message>
     <message>
         <source>map</source>
-        <translation type="vanished">map</translation>
+        <translation>map</translation>
     </message>
     <message>
         <source>a key (string)</source>
-        <translation type="vanished">Eine Zeichenkette</translation>
+        <translation>Eine Zeichenkette</translation>
     </message>
     <message>
         <source>map('1','one','2', 'two')</source>
-        <translation type="vanished">map('1','one','2', 'two')</translation>
+        <translation>map('1','one','2', 'two')</translation>
     </message>
     <message>
         <source>map: 1: 'one', 2: 'two'</source>
-        <translation type="vanished">map: 1: 'one', 2: 'two'</translation>
+        <translation>map: 1: 'one', 2: 'two'</translation>
     </message>
     <message>
         <source>Returns all the keys of a map as an array.</source>
-        <translation type="vanished">Liefert alle Schlüssel einer Map als Array.</translation>
+        <translation>Liefert alle Schlüssel einer Map als Array.</translation>
     </message>
     <message>
         <source>map_akeys</source>
-        <translation type="vanished">map_akeys</translation>
+        <translation>map_akeys</translation>
     </message>
     <message>
         <source>a map</source>
-        <translation type="vanished">eine Map</translation>
+        <translation>eine Map</translation>
     </message>
     <message>
         <source>map_akeys(map('1','one','2','two'))</source>
-        <translation type="vanished">map_akeys(map('1','one','2','two'))</translation>
+        <translation>map_akeys(map('1','one','2','two'))</translation>
     </message>
     <message>
         <source>array: '1', '2'</source>
-        <translation type="vanished">array: '1', '2'</translation>
+        <translation>array: '1', '2'</translation>
     </message>
     <message>
         <source>Returns all the values of a map as an array.</source>
-        <translation type="vanished">Liefert alle Werte eine Map als Array.</translation>
+        <translation>Liefert alle Werte eine Map als Array.</translation>
     </message>
     <message>
         <source>map_avals</source>
-        <translation type="vanished">map_avals</translation>
+        <translation>map_avals</translation>
     </message>
     <message>
         <source>map_avals(map('1','one','2','two'))</source>
-        <translation type="vanished">map_avals(map('1','one','2','two'))</translation>
+        <translation>map_avals(map('1','one','2','two'))</translation>
     </message>
     <message>
         <source>array: 'one', 'two'</source>
-        <translation type="vanished">array: 'one', 'two'</translation>
+        <translation>array: 'one', 'two'</translation>
     </message>
     <message>
         <source>Returns a map containing all the entries of the given maps. If two maps contain the same key, the value of the second map is taken.</source>
-        <translation type="vanished">Liefert eine Map mit allen Elemente der gegebene Maps. Wenn zwei Maps den gleichen Schlüssel enthalten wird der zeite Schlüssel genommen.</translation>
+        <translation>Liefert eine Map mit allen Elemente der gegebene Maps. Wenn zwei Maps den gleichen Schlüssel enthalten wird der zeite Schlüssel genommen.</translation>
     </message>
     <message>
         <source>map_concat</source>
-        <translation type="vanished">map_concat</translation>
+        <translation>map_concat</translation>
     </message>
     <message>
         <source>map_concat(map('1','one', '2','overridden'),map('2','two', '3','three'))</source>
-        <translation type="vanished">map_concat(map('1','one', '2','overridden'),map('2','two', '3','three'))</translation>
+        <translation>map_concat(map('1','one', '2','overridden'),map('2','two', '3','three'))</translation>
     </message>
     <message>
         <source>map: 1: 'one, 2: 'two', 3: 'three'</source>
-        <translation type="vanished">map: 1: 'one, 2: 'two', 3: 'three'</translation>
+        <translation>map: 1: 'one, 2: 'two', 3: 'three'</translation>
     </message>
     <message>
         <source>Returns a map with the given key and its corresponding value deleted.</source>
-        <translation type="vanished">Liefert eine Map ohne die Einträge des gegebenen Schlüssels.</translation>
+        <translation>Liefert eine Map ohne die Einträge des gegebenen Schlüssels.</translation>
     </message>
     <message>
         <source>map_delete</source>
-        <translation type="vanished">map_delete</translation>
+        <translation>map_delete</translation>
     </message>
     <message>
         <source>the key to delete</source>
-        <translation type="vanished">zu löschender Schlüssel</translation>
+        <translation>zu löschender Schlüssel</translation>
     </message>
     <message>
         <source>map_delete(map('1','one','2','two'),'2')</source>
-        <translation type="vanished">map_delete(map('1','one','2','two'),'2')</translation>
+        <translation>map_delete(map('1','one','2','two'),'2')</translation>
     </message>
     <message>
         <source>map: 1: 'one'</source>
-        <translation type="vanished">map: 1: 'one'</translation>
+        <translation>map: 1: 'one'</translation>
     </message>
     <message>
         <source>Returns true if the given key exists in the map.</source>
-        <translation type="vanished">Liefert Wahr, wenn eine Map ein gegebenen Schlüssel enthält.</translation>
+        <translation>Liefert Wahr, wenn eine Map ein gegebenen Schlüssel enthält.</translation>
     </message>
     <message>
         <source>map_exist</source>
-        <translation type="vanished">map_exist</translation>
+        <translation>map_exist</translation>
     </message>
     <message>
         <source>the key to lookup</source>
-        <translation type="vanished">zu suchenden Schlüssel</translation>
+        <translation>zu suchenden Schlüssel</translation>
     </message>
     <message>
         <source>map_exist(map('1','one','2','two'),'3')</source>
-        <translation type="vanished">map_exist(map('1','one','2','two'),'3')</translation>
+        <translation>map_exist(map('1','one','2','two'),'3')</translation>
     </message>
     <message>
         <source>Returns the value of a map, given it's key.</source>
-        <translation type="vanished">Liefert den zum gegebenen Schlüssel passenden Wert einer Map.</translation>
+        <translation>Liefert den zum gegebenen Schlüssel passenden Wert einer Map.</translation>
     </message>
     <message>
         <source>map_get</source>
-        <translation type="vanished">map_get</translation>
+        <translation>map_get</translation>
     </message>
     <message>
         <source>map_get(map('1','one','2','two'),'2')</source>
-        <translation type="vanished">map_get(map('1','one','2','two'),'2')</translation>
+        <translation>map_get(map('1','one','2','two'),'2')</translation>
     </message>
     <message>
         <source>'two'</source>
-        <translation type="vanished">'two'</translation>
+        <translation>'two'</translation>
     </message>
     <message>
         <source>Returns a map with an added key/value.</source>
-        <translation type="vanished">Liefert eine Map mit einem hinzugefügten Schlüssel/Wert.</translation>
+        <translation>Liefert eine Map mit einem hinzugefügten Schlüssel/Wert.</translation>
     </message>
     <message>
         <source>map_insert</source>
-        <translation type="vanished">map_insert</translation>
+        <translation>map_insert</translation>
     </message>
     <message>
         <source>the key to add</source>
-        <translation type="vanished">Hinzufügender Schlüssel</translation>
+        <translation>Hinzufügender Schlüssel</translation>
     </message>
     <message>
         <source>map_insert(map('1','one'),'3','three')</source>
-        <translation type="vanished">map_insert(map('1','one'),'3','three')</translation>
+        <translation>map_insert(map('1','one'),'3','three')</translation>
     </message>
     <message>
         <source>map: 1: 'one', 3: 'three'</source>
-        <translation type="vanished">map: 1: 'one', 3: 'three'</translation>
+        <translation>map: 1: 'one', 3: 'three'</translation>
     </message>
     <message>
         <source>Returns the largest value in a set of values.</source>
-        <translation type="vanished">Liefert den größten Wert einer Wertemenge.</translation>
+        <translation>Liefert den größten Wert einer Wertemenge.</translation>
     </message>
     <message>
         <source>max</source>
-        <translation type="vanished">max</translation>
+        <translation>max</translation>
     </message>
     <message>
         <source>max(2,10.2,5.5)</source>
-        <translation type="vanished">max(2,10.2,5.5)</translation>
+        <translation>max(2,10.2,5.5)</translation>
     </message>
     <message>
         <source>10.2</source>
-        <translation type="vanished">10.2</translation>
+        <translation>10.2</translation>
     </message>
     <message>
         <source>max(20.5,NULL,6.2)</source>
-        <translation type="vanished">max(20.5,NULL,6.2)</translation>
+        <translation>max(20.5,NULL,6.2)</translation>
     </message>
     <message>
         <source>20.5</source>
-        <translation type="vanished">20.5</translation>
+        <translation>20.5</translation>
     </message>
     <message>
         <source>Returns the maximum length of strings from a field or expression.</source>
-        <translation type="vanished">Liefert die maximale Zeichenkettenlängen eines Felds oder Ausdrucks</translation>
+        <translation>Liefert die maximale Zeichenkettenlängen eines Felds oder Ausdrucks</translation>
     </message>
     <message>
         <source>max_length</source>
-        <translation type="vanished">max_length</translation>
+        <translation>max_length</translation>
     </message>
     <message>
         <source>max_length("town_name",group_by:="state")</source>
-        <translation type="vanished">max_length("town_name",group_by:="state")</translation>
+        <translation>max_length("town_name",group_by:="state")</translation>
     </message>
     <message>
         <source>maximum length of town_name, grouped by state field</source>
-        <translation type="vanished">Maximale Länge von town_name, gruppiert nach Feld Staat</translation>
+        <translation>Maximale Länge von town_name, gruppiert nach Feld Staat</translation>
     </message>
     <message>
         <source>Returns the aggregate maximum value from a field or expression.</source>
-        <translation type="vanished">Liefert den aggregierten Maximalwert eines Felds oder Ausdrucks.</translation>
+        <translation>Liefert den aggregierten Maximalwert eines Felds oder Ausdrucks.</translation>
     </message>
     <message>
         <source>maximum("population",group_by:="state")</source>
-        <translation type="vanished">maximum("population",group_by:="state")</translation>
+        <translation>maximum("population",group_by:="state")</translation>
     </message>
     <message>
         <source>maximum population value, grouped by state field</source>
-        <translation type="vanished">Maximaler Bevölkerungswert, gruppiert nach Feld Staat</translation>
+        <translation>Maximaler Bevölkerungswert, gruppiert nach Feld Staat</translation>
     </message>
     <message>
         <source>Returns the aggregate mean value from a field or expression.</source>
-        <translation type="vanished">Liefert den aggregierten Mittelwert eines Felds oder Ausdrucks</translation>
+        <translation>Liefert den aggregierten Mittelwert eines Felds oder Ausdrucks</translation>
     </message>
     <message>
         <source>mean</source>
-        <translation type="vanished">Durchschnitt</translation>
+        <translation>Durchschnitt</translation>
     </message>
     <message>
         <source>mean("population",group_by:="state")</source>
-        <translation type="vanished">mean("population",group_by:="state")</translation>
+        <translation>mean("population",group_by:="state")</translation>
     </message>
     <message>
         <source>mean population value, grouped by state field</source>
-        <translation type="vanished">Mittlerer Wert von population, gruppiert nach Feld state</translation>
+        <translation>Mittlerer Wert von population, gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Returns the aggregate median value from a field or expression.</source>
-        <translation type="vanished">Liefert den aggegierten Medianwert aus einem Feld oder Ausdruck</translation>
+        <translation>Liefert den aggegierten Medianwert aus einem Feld oder Ausdruck</translation>
     </message>
     <message>
         <source>median</source>
-        <translation type="vanished">median</translation>
+        <translation>median</translation>
     </message>
     <message>
         <source>median("population",group_by:="state")</source>
-        <translation type="vanished">median("population",group_by:="state")</translation>
+        <translation>median("population",group_by:="state")</translation>
     </message>
     <message>
         <source>median population value, grouped by state field</source>
-        <translation type="vanished">Bevölkerungsmedianwert, gruppiert nach Feld state</translation>
+        <translation>Bevölkerungsmedianwert, gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Returns the smallest value in a set of values.</source>
-        <translation type="vanished">Liefert den kleinsten Wert einer Wertemenge.</translation>
+        <translation>Liefert den kleinsten Wert einer Wertemenge.</translation>
     </message>
     <message>
         <source>min</source>
-        <translation type="vanished">min</translation>
+        <translation>min</translation>
     </message>
     <message>
         <source>min(20.5,10,6.2)</source>
-        <translation type="vanished">min(20.5,10,6.2)</translation>
+        <translation>min(20.5,10,6.2)</translation>
     </message>
     <message>
         <source>6.2</source>
-        <translation type="vanished">6.2</translation>
+        <translation>6.2</translation>
     </message>
     <message>
         <source>min(2,-10.3,NULL)</source>
-        <translation type="vanished">min(2,-10.3,NULL)</translation>
+        <translation>min(2,-10.3,NULL)</translation>
     </message>
     <message>
         <source>-10.3</source>
-        <translation type="vanished">-10.3</translation>
+        <translation>-10.3</translation>
     </message>
     <message>
         <source>Returns the minimum length of strings from a field or expression.</source>
-        <translation type="vanished">Liefert die minimale Zeichenkettenlänge eines Felds oder Ausdrucks.</translation>
+        <translation>Liefert die minimale Zeichenkettenlänge eines Felds oder Ausdrucks.</translation>
     </message>
     <message>
         <source>min_length</source>
-        <translation type="vanished">min_length</translation>
+        <translation>min_length</translation>
     </message>
     <message>
         <source>min_length("town_name",group_by:="state")</source>
-        <translation type="vanished">min_length("town_name",group_by:="state")</translation>
+        <translation>min_length("town_name",group_by:="state")</translation>
     </message>
     <message>
         <source>minimum length of town_name, grouped by state field</source>
-        <translation type="vanished">Minimale Länger von town_name, gruppiert nach Feld Staat</translation>
+        <translation>Minimale Länger von town_name, gruppiert nach Feld Staat</translation>
     </message>
     <message>
         <source>Returns the minimal enclosing circle of a geometry. It represents the minimum circle that encloses all geometries within the set.</source>
-        <translation type="vanished">Liefert den minimalen einhüllenden Kreis einer einer Geometrie. Es stellt die minimale Kreis dar, die alle Geometrien der Menge enthält.</translation>
+        <translation>Liefert den minimalen einhüllenden Kreis einer einer Geometrie. Es stellt die minimale Kreis dar, die alle Geometrien der Menge enthält.</translation>
     </message>
     <message>
         <source>minimal_circle</source>
-        <translation type="vanished">minimal_circle</translation>
+        <translation>minimal_circle</translation>
     </message>
     <message>
         <source>geom_to_wkt( minimal_circle( geom_from_wkt( 'LINESTRING(0 5, 0 -5, 2 1)' ), 4 ) )</source>
-        <translation type="vanished">geom_to_wkt( minimal_circle( geom_from_wkt( 'LINESTRING(0 5, 0 -5, 2 1)' ), 4 ) )</translation>
+        <translation>geom_to_wkt( minimal_circle( geom_from_wkt( 'LINESTRING(0 5, 0 -5, 2 1)' ), 4 ) )</translation>
     </message>
     <message>
         <source>Polygon ((0 5, 5 -0, -0 -5, -5 0, 0 5))</source>
-        <translation type="vanished">Polygon ((0 5, 5 -0, -0 -5, -5 0, 0 5))</translation>
+        <translation>Polygon ((0 5, 5 -0, -0 -5, -5 0, 0 5))</translation>
     </message>
     <message>
         <source>geom_to_wkt( minimal_circle( geom_from_wkt( 'MULTIPOINT(1 2, 3 4, 3 2)' ), 4 ) )</source>
-        <translation type="vanished">geom_to_wkt( minimal_circle( geom_from_wkt( 'MULTIPOINT(1 2, 3 4, 3 2)' ), 4 ) )</translation>
+        <translation>geom_to_wkt( minimal_circle( geom_from_wkt( 'MULTIPOINT(1 2, 3 4, 3 2)' ), 4 ) )</translation>
     </message>
     <message>
         <source>Polygon ((3 4, 3 2, 1 2, 1 4, 3 4))</source>
-        <translation type="vanished">Polygon ((1 2, 3 2, 4 3, 5 5, 4 4, 2 4, 1 2))</translation>
+        <translation>Polygon ((1 2, 3 2, 4 3, 5 5, 4 4, 2 4, 1 2))</translation>
     </message>
     <message>
         <source>Returns the aggregate minimum value from a field or expression.</source>
-        <translation type="vanished">Liefert den aggregierte minimalen Wert eines Feldes oder eines Ausdrucks.</translation>
+        <translation>Liefert den aggregierte minimalen Wert eines Feldes oder eines Ausdrucks.</translation>
     </message>
     <message>
         <source>minimum("population",group_by:="state")</source>
-        <translation type="vanished">minimum("population",group_by:="state")</translation>
+        <translation>minimum("population",group_by:="state")</translation>
     </message>
     <message>
         <source>minimum population value, grouped by state field</source>
-        <translation type="vanished">minimaler Wert von population, gruppiert nach Feld state</translation>
+        <translation>minimaler Wert von population, gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Returns the aggregate minority of values (least occurring value) from a field or expression.</source>
-        <translation type="vanished">Liefert den aggregierte Minderheitswert (am wenigstens auftretende Wert) eines Feldes oder eines Ausdrucks.</translation>
+        <translation>Liefert den aggregierte Minderheitswert (am wenigstens auftretende Wert) eines Feldes oder eines Ausdrucks.</translation>
     </message>
     <message>
         <source>minority</source>
-        <translation type="vanished">minority</translation>
+        <translation>minority</translation>
     </message>
     <message>
         <source>minority("class",group_by:="state")</source>
-        <translation type="vanished">minority("class",group_by:="state")</translation>
+        <translation>minority("class",group_by:="state")</translation>
     </message>
     <message>
         <source>least occurring class value, grouped by state field</source>
-        <translation type="vanished">am wenigsten auftretender Klassenwert, gruppiert nach Feld state</translation>
+        <translation>am wenigsten auftretender Klassenwert, gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Extract the minutes part from a datetime or time, or the number of minutes from an interval.</source>
-        <translation type="vanished">Bestimmt den Minutenteil aus einem Datum oder die Minutenzahl aus einem Intervall.</translation>
+        <translation>Bestimmt den Minutenteil aus einem Datum oder die Minutenzahl aus einem Intervall.</translation>
     </message>
     <message>
         <source>Extract the minutes part from a time or datetime.</source>
-        <translation type="vanished">Bestimmt den Minutenteil aus einem Datum oder ein Zeitpunkt.</translation>
+        <translation>Bestimmt den Minutenteil aus einem Datum oder ein Zeitpunkt.</translation>
     </message>
     <message>
         <source>minute('2012-07-22T13:24:57')</source>
-        <translation type="vanished">minute('2012-07-22T13:24:57')</translation>
+        <translation>minute('2012-07-22T13:24:57')</translation>
     </message>
     <message>
         <source>24</source>
-        <translation type="vanished">24</translation>
+        <translation>24</translation>
     </message>
     <message>
         <source>Calculate the length in minutes of an interval.</source>
-        <translation type="vanished">Berechnet die Länge eines Intervalls in Minuten.</translation>
+        <translation>Berechnet die Länge eines Intervalls in Minuten.</translation>
     </message>
     <message>
         <source>interval value to return number of minutes from</source>
-        <translation type="vanished">Intervallwert aus dem die Minutenzahl bestimmt werden soll</translation>
+        <translation>Intervallwert aus dem die Minutenzahl bestimmt werden soll</translation>
     </message>
     <message>
         <source>minute(tointerval('3 minutes'))</source>
-        <translation type="vanished">minute(tointerval('3 minutes'))</translation>
+        <translation>minute(tointerval('3 minutes'))</translation>
     </message>
     <message>
         <source>minute(age('2012-07-22T00:20:00','2012-07-22T00:00:00'))</source>
-        <translation type="vanished">minute(age('2012-07-22T00:20:00','2012-07-22T00:00:00'))</translation>
+        <translation>minute(age('2012-07-22T00:20:00','2012-07-22T00:00:00'))</translation>
     </message>
     <message>
         <source>20</source>
-        <translation type="vanished">20</translation>
+        <translation>20</translation>
     </message>
     <message>
         <source>minute(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">minute(age('2012-01-01','2010-01-01'))</translation>
+        <translation>minute(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>1051200</source>
-        <translation type="vanished">1051200</translation>
+        <translation>1051200</translation>
     </message>
     <message>
         <source>Extract the month part from a date, or the number of months from an interval.</source>
-        <translation type="vanished">Bestimmt den Monat aus einem Datum oder die Anzahl der Monate aus einem Intervall.</translation>
+        <translation>Bestimmt den Monat aus einem Datum oder die Anzahl der Monate aus einem Intervall.</translation>
     </message>
     <message>
         <source>Extract the month part from a date or datetime.</source>
-        <translation type="vanished">Bestimmt den Monatsteil aus einem Datum oder ein Zeitpunkt.</translation>
+        <translation>Bestimmt den Monatsteil aus einem Datum oder ein Zeitpunkt.</translation>
     </message>
     <message>
         <source>month('2012-05-12')</source>
-        <translation type="vanished">month('2012-05-12')</translation>
+        <translation>month('2012-05-12')</translation>
     </message>
     <message>
         <source>05</source>
-        <translation type="vanished">05</translation>
+        <translation>05</translation>
     </message>
     <message>
         <source>Calculate the length in months of an interval.</source>
-        <translation type="vanished">Berechnet die Länge eines Intervalls in Monaten.</translation>
+        <translation>Berechnet die Länge eines Intervalls in Monaten.</translation>
     </message>
     <message>
         <source>interval value to return number of months from</source>
-        <translation type="vanished">Intervallwert aus dem die Monatsanzahl bestimmt werden soll</translation>
+        <translation>Intervallwert aus dem die Monatsanzahl bestimmt werden soll</translation>
     </message>
     <message>
         <source>month(to_interval('3 months'))</source>
-        <translation type="vanished">month(to_interval('3 months'))</translation>
+        <translation>month(to_interval('3 months'))</translation>
     </message>
     <message>
         <source>month(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">month(age('2012-01-01','2010-01-01'))</translation>
+        <translation>month(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>4.03333</source>
-        <translation type="vanished">4.03333</translation>
+        <translation>4.03333</translation>
     </message>
     <message>
         <source>Returns a multipoint geometry consisting of every node in the input geometry.</source>
-        <translation type="vanished">Liefert eine aus allen Punkte der Eingabegeometrie bestehende Multipunktgeometrie.</translation>
+        <translation>Liefert eine aus allen Punkte der Eingabegeometrie bestehende Multipunktgeometrie.</translation>
     </message>
     <message>
         <source>nodes_to_points</source>
-        <translation type="vanished">nodes_to_points</translation>
+        <translation>nodes_to_points</translation>
     </message>
     <message>
         <source>optional argument specifying whether to include duplicate nodes which close lines or polygons rings. Defaults to false, set to true to avoid including these duplicate nodes in the output collection.</source>
-        <translation type="vanished">Optionale Argumente geben an, ob doppelte Punkte, die Linien oder Polygonringe schließen eingeschlossen sein sollen. Vorgegeben ist false, auf 'true' setzen um die doppelten Punkte auszuschließen.</translation>
+        <translation>Optionale Argumente geben an, ob doppelte Punkte, die Linien oder Polygonringe schließen eingeschlossen sein sollen. Vorgegeben ist false, auf 'true' setzen um die doppelten Punkte auszuschließen.</translation>
     </message>
     <message>
         <source>geom_to_wkt(nodes_to_points(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)')))</source>
-        <translation type="vanished">geom_to_wkt(nodes_to_points(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)')))</translation>
+        <translation>geom_to_wkt(nodes_to_points(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)')))</translation>
     </message>
     <message>
         <source>'MultiPoint ((0 0),(1 1),(2 2))'</source>
-        <translation type="vanished">'MultiPoint ((0 0),(1 1),(2 2))'</translation>
+        <translation>'MultiPoint ((0 0),(1 1),(2 2))'</translation>
     </message>
     <message>
         <source>geom_to_wkt(nodes_to_points(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1))'),true))</source>
-        <translation type="vanished">geom_to_wkt(nodes_to_points(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1))'),true))</translation>
+        <translation>geom_to_wkt(nodes_to_points(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1))'),true))</translation>
     </message>
     <message>
         <source>'MultiPoint ((-1 -1),(4 0),(4 2),(0 2))'</source>
-        <translation type="vanished">'MultiPoint ((-1 -1),(4 0),(4 2),(0 2))'</translation>
+        <translation>'MultiPoint ((-1 -1),(4 0),(4 2),(0 2))'</translation>
     </message>
     <message>
         <source>Returns the current date and time.</source>
-        <translation type="vanished">Liefert aktuelles Datum und Zeit.</translation>
+        <translation>Liefert aktuelles Datum und Zeit.</translation>
     </message>
     <message>
         <source>now</source>
-        <translation type="vanished">now</translation>
+        <translation>now</translation>
     </message>
     <message>
         <source>now()</source>
-        <translation type="vanished">now()</translation>
+        <translation>now()</translation>
     </message>
     <message>
         <source>2012-07-22T13:24:57</source>
-        <translation type="vanished">2012-07-22T13:24:57</translation>
+        <translation>2012-07-22T13:24:57</translation>
     </message>
     <message>
         <source>Returns the number of geometries in a geometry collection, or null if the input geometry is not a collection.</source>
-        <translation type="vanished">Liefert die Anzahl von Geometrien in Geometrycollections, oder null, wenn die Eingabegeometrie keine Collection ist.</translation>
+        <translation>Liefert die Anzahl von Geometrien in Geometrycollections, oder null, wenn die Eingabegeometrie keine Collection ist.</translation>
     </message>
     <message>
         <source>num_geometries</source>
-        <translation type="vanished">num_geometries</translation>
+        <translation>num_geometries</translation>
     </message>
     <message>
         <source>num_geometries(geom_from_wkt('GEOMETRYCOLLECTION(POINT(0 1), POINT(0 0), POINT(1 0), POINT(1 1))'))'),3))</source>
-        <translation type="vanished">num_geometries(geom_from_wkt('GEOMETRYCOLLECTION(POINT(0 1), POINT(0 0), POINT(1 0), POINT(1 1))'))'),3))</translation>
+        <translation>num_geometries(geom_from_wkt('GEOMETRYCOLLECTION(POINT(0 1), POINT(0 0), POINT(1 0), POINT(1 1))'))'),3))</translation>
     </message>
     <message>
         <source>Returns the number of interior rings in a polygon or geometry collection, or null if the input geometry is not a polygon or collection.</source>
-        <translation type="vanished">Liefert die Anzahl innerer Ringe eines Polygons oder einer Geometrycollection oder null, falls die Geometrie kein Polygon und keine Collection ist.</translation>
+        <translation>Liefert die Anzahl innerer Ringe eines Polygons oder einer Geometrycollection oder null, falls die Geometrie kein Polygon und keine Collection ist.</translation>
     </message>
     <message>
         <source>num_interior_rings</source>
-        <translation type="vanished">num_interior_rings</translation>
+        <translation>num_interior_rings</translation>
     </message>
     <message>
         <source>input geometry</source>
-        <translation type="vanished">Eingabegeometrie</translation>
+        <translation>Eingabegeometrie</translation>
     </message>
     <message>
         <source>num_interior_rings(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),(-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1))'))</source>
-        <translation type="vanished">num_interior_rings(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),(-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1))'))</translation>
+        <translation>num_interior_rings(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),(-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1))'))</translation>
     </message>
     <message>
         <source>Returns the number of vertices in a geometry.</source>
-        <translation type="vanished">Liefert die Anzahl von Stützpunkten einer Geometrie.</translation>
+        <translation>Liefert die Anzahl von Stützpunkten einer Geometrie.</translation>
     </message>
     <message>
         <source>num_points</source>
-        <translation type="vanished">num_points</translation>
+        <translation>num_points</translation>
     </message>
     <message>
         <source>num_points($geometry)</source>
-        <translation type="vanished">num_points($geometry)</translation>
+        <translation>num_points($geometry)</translation>
     </message>
     <message>
         <source>number of vertices in $geometry</source>
-        <translation type="vanished">Anzahl von Stützpunkten in $geometry</translation>
+        <translation>Anzahl von Stützpunkten in $geometry</translation>
     </message>
     <message>
         <source>Returns the number of rings (including exterior rings) in a polygon or geometry collection, or null if the input geometry is not a polygon or collection.</source>
-        <translation type="vanished">Liefert die Ringanzahl (ohne äußere Ringe) in einem Polygon oder einer Geometrycollection oder null, wenn die Eingabegeometrie weder Polygon noch Collection ist.</translation>
+        <translation>Liefert die Ringanzahl (ohne äußere Ringe) in einem Polygon oder einer Geometrycollection oder null, wenn die Eingabegeometrie weder Polygon noch Collection ist.</translation>
     </message>
     <message>
         <source>num_rings</source>
-        <translation type="vanished">num_rings</translation>
+        <translation>num_rings</translation>
     </message>
     <message>
         <source>num_rings(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),(-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1))'))</source>
-        <translation type="vanished">num_rings(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),(-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1))'))</translation>
+        <translation>num_rings(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),(-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1))'))</translation>
     </message>
     <message>
         <source>Returns the number of selected features on a given layer. By default works on the layer on which the expression is evaluated.</source>
-        <translation type="vanished">Liefert die Anzahl der gewählten Objekte auf einem gebenen Layer. Voreingestellt ist der Layer auf dem der Ausdruck ausgewertet wird.</translation>
+        <translation>Liefert die Anzahl der gewählten Objekte auf einem gebenen Layer. Voreingestellt ist der Layer auf dem der Ausdruck ausgewertet wird.</translation>
     </message>
     <message>
         <source>num_selected</source>
-        <translation type="vanished">num_selected</translation>
+        <translation>num_selected</translation>
     </message>
     <message>
         <source>num_selected()</source>
-        <translation type="vanished">num_selected()</translation>
+        <translation>num_selected()</translation>
     </message>
     <message>
         <source>The number of selected features on the current layer.</source>
-        <translation type="vanished">Die Anzahl der gewählten Objekte auf dem aktuellen Layer.</translation>
+        <translation>Die Anzahl der gewählten Objekte auf dem aktuellen Layer.</translation>
     </message>
     <message>
         <source>num_selected('streets')</source>
-        <translation type="vanished">num_selected('streets')</translation>
+        <translation>num_selected('streets')</translation>
     </message>
     <message>
         <source>The number of selected features on the layer streets</source>
-        <translation type="vanished">Die Anzahl der gewählten Objekte auf dem Layer 'streets'</translation>
+        <translation>Die Anzahl der gewählten Objekte auf dem Layer 'streets'</translation>
     </message>
     <message>
         <source>Returns a geometry formed by offsetting a linestring geometry to the side. Distances are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Liefert eine zur Seite versetzte Geometrie.  Abstände sind im räumlichen Bezugssystem der Geometrie anzugeben.</translation>
+        <translation>Liefert eine zur Seite versetzte Geometrie.  Abstände sind im räumlichen Bezugssystem der Geometrie anzugeben.</translation>
     </message>
     <message>
         <source>offset_curve</source>
-        <translation type="vanished">offset_curve</translation>
+        <translation>offset_curve</translation>
     </message>
     <message>
         <source>offset distance. Positive values will be buffered to the left of lines, negative values to the right</source>
-        <translation type="vanished">Versatzabstand. Positive Werte deuten links der Linie und negative rechts der Linie.</translation>
+        <translation>Versatzabstand. Positive Werte deuten links der Linie und negative rechts der Linie.</translation>
     </message>
     <message>
         <source>number of segments to use to represent a quarter circle when a round join style is used. A larger number results in a smoother line with more nodes.</source>
-        <translation type="vanished">Anzahl der zur Darstellung eines Vierteilkreises zu verwendenden Segmente, wenn der runde Verbindungsstil genutzt wird. Eine größere Zahl führt zu einer glatteren Linie mit mehr Stützpunkten. </translation>
+        <translation>Anzahl der zur Darstellung eines Vierteilkreises zu verwendenden Segmente, wenn der runde Verbindungsstil genutzt wird. Eine größere Zahl führt zu einer glatteren Linie mit mehr Stützpunkten. </translation>
     </message>
     <message>
         <source>join style for corners, where 1 = round, 2 = miter and 3 = bevel</source>
-        <translation type="vanished">Verbindungstil für Ecken (1 = rund, 2 = eckig und 3 = abgerundet)</translation>
+        <translation>Verbindungstil für Ecken (1 = rund, 2 = eckig und 3 = abgerundet)</translation>
     </message>
     <message>
         <source>limit on the miter ratio used for very sharp corners (when using miter joins only)</source>
-        <translation type="vanished">Begrenzung zur Eckenrate für sehr spitze Ecken (bei Verwendung der Modus Eckig)</translation>
+        <translation>Begrenzung zur Eckenrate für sehr spitze Ecken (bei Verwendung der Modus Eckig)</translation>
     </message>
     <message>
         <source>offset_curve($geometry, 10.5)</source>
-        <translation type="vanished">offset_curve($geometry, 10.5)</translation>
+        <translation>offset_curve($geometry, 10.5)</translation>
     </message>
     <message>
         <source>line offset to the left by 10.5 units</source>
-        <translation type="vanished">Linienversatz nach links um 10.5 Einheiten</translation>
+        <translation>Linienversatz nach links um 10.5 Einheiten</translation>
     </message>
     <message>
         <source>offset_curve($geometry, -10.5)</source>
-        <translation type="vanished">offset_curve($geometry, -10.5)</translation>
+        <translation>offset_curve($geometry, -10.5)</translation>
     </message>
     <message>
         <source>line offset to the right by 10.5 units</source>
-        <translation type="vanished">Linienversatz nach rechts um 10.5 Einheiten</translation>
+        <translation>Linienversatz nach rechts um 10.5 Einheiten</translation>
     </message>
     <message>
         <source>offset_curve($geometry, 10.5, segments=16, join=1)</source>
-        <translation type="vanished">offset_curve($geometry, 10.5, segments=16, join=1)</translation>
+        <translation>offset_curve($geometry, 10.5, segments=16, join=1)</translation>
     </message>
     <message>
         <source>line offset to the left by 10.5 units, using more segments to result in a smoother curve</source>
-        <translation type="vanished">Linienversatz nach Links um 10.5 Einheiten für eine glattere Linie mit mehr Segmenten  </translation>
+        <translation>Linienversatz nach Links um 10.5 Einheiten für eine glattere Linie mit mehr Segmenten  </translation>
     </message>
     <message>
         <source>offset_curve($geometry, 10.5, join=3)</source>
-        <translation type="vanished">offset_curve($geometry, 10.5, join=3)</translation>
+        <translation>offset_curve($geometry, 10.5, join=3)</translation>
     </message>
     <message>
         <source>line offset to the left by 10.5 units, using a beveled join</source>
-        <translation type="vanished">Linienversatz nach links um 10.5 Einheiten mit abgerundeten Verbindungen</translation>
+        <translation>Linienversatz nach links um 10.5 Einheiten mit abgerundeten Verbindungen</translation>
     </message>
     <message>
         <source>Multiplication of two values</source>
-        <translation type="vanished">Multiplikation zweier Werte</translation>
+        <translation>Multiplikation zweier Werte</translation>
     </message>
     <message>
         <source>*</source>
-        <translation type="vanished">*</translation>
+        <translation>*</translation>
     </message>
     <message>
         <source>5 * 4</source>
-        <translation type="vanished">5 * 4</translation>
+        <translation>5 * 4</translation>
     </message>
     <message>
         <source>5 * NULL</source>
-        <translation type="vanished">5 * NULL</translation>
+        <translation>5 * NULL</translation>
     </message>
     <message>
         <source>Joins two values together into a string.<br><br>If one of the values is NULL the result will be NULL. See the CONCAT function for a different behavior.</source>
-        <translation type="vanished">Fügt zwei Werte zu einer Zeichenkette zusammen.<br><br>Wenn einer der Werte NULL ist, ist auch das Ergebnis NULL.  Siehe Funktion CONCAT für anderes Verhalten.</translation>
+        <translation>Fügt zwei Werte zu einer Zeichenkette zusammen.<br><br>Wenn einer der Werte NULL ist, ist auch das Ergebnis NULL.  Siehe Funktion CONCAT für anderes Verhalten.</translation>
     </message>
     <message>
         <source>||</source>
-        <translation type="vanished">||</translation>
+        <translation>||</translation>
     </message>
     <message>
         <source>'Here' || ' and ' || 'there'</source>
-        <translation type="vanished">'Hier' || ' und ' || 'dort'</translation>
+        <translation>'Hier' || ' und ' || 'dort'</translation>
     </message>
     <message>
         <source>'Here and there'</source>
-        <translation type="vanished">'Hier und dort'</translation>
+        <translation>'Hier und dort'</translation>
     </message>
     <message>
         <source>'Nothing' || NULL</source>
-        <translation type="vanished">'Nichts' || NULL</translation>
+        <translation>'Nichts' || NULL</translation>
     </message>
     <message>
         <source>'Dia: ' || "Diameter"</source>
-        <translation type="vanished">'DM: ' || "Diameter"</translation>
+        <translation>'DM: ' || "Diameter"</translation>
     </message>
     <message>
         <source>'Dia: 25'</source>
-        <translation type="vanished">'DM: 25'</translation>
+        <translation>'DM: 25'</translation>
     </message>
     <message>
         <source>1 || 2</source>
-        <translation type="vanished">1 || 2</translation>
+        <translation>1 || 2</translation>
     </message>
     <message>
         <source>'12'</source>
-        <translation type="vanished">'12'</translation>
+        <translation>'12'</translation>
     </message>
     <message>
         <source>Division of two values</source>
-        <translation type="vanished">Division zweier Werte</translation>
+        <translation>Division zweier Werte</translation>
     </message>
     <message>
         <source>/</source>
-        <translation type="vanished">/</translation>
+        <translation>/</translation>
     </message>
     <message>
         <source>5 / 4</source>
-        <translation type="vanished">5 / 4</translation>
+        <translation>5 / 4</translation>
     </message>
     <message>
         <source>1.25</source>
-        <translation type="vanished">1.25</translation>
+        <translation>1.25</translation>
     </message>
     <message>
         <source>5 / NULL</source>
-        <translation type="vanished">5 / NULL</translation>
+        <translation>5 / NULL</translation>
     </message>
     <message>
         <source>Compares two values and evaluates to 1 if they are equal.</source>
-        <translation type="vanished">Vergleicht zwei Werte und ergibt 1, wenn sie gleich sind.</translation>
+        <translation>Vergleicht zwei Werte und ergibt 1, wenn sie gleich sind.</translation>
     </message>
     <message>
         <source>=</source>
-        <translation type="vanished">=</translation>
+        <translation>=</translation>
     </message>
     <message>
         <source>5 = 4</source>
-        <translation type="vanished">5 = 4</translation>
+        <translation>5 = 4</translation>
     </message>
     <message>
         <source>4 = 4</source>
-        <translation type="vanished">4 = 4</translation>
+        <translation>4 = 4</translation>
     </message>
     <message>
         <source>5 = NULL</source>
-        <translation type="vanished">5 = NULL</translation>
+        <translation>5 = NULL</translation>
     </message>
     <message>
         <source>NULL = NULL</source>
-        <translation type="vanished">NULL = NULL</translation>
+        <translation>NULL = NULL</translation>
     </message>
     <message>
         <source>Power of two values.</source>
-        <translation type="vanished">Potenz zweier Werte.</translation>
+        <translation>Potenz zweier Werte.</translation>
     </message>
     <message>
         <source>^</source>
-        <translation type="vanished">^</translation>
+        <translation>^</translation>
     </message>
     <message>
         <source>5 ^ 4</source>
-        <translation type="vanished">5 ^ 4</translation>
+        <translation>5 ^ 4</translation>
     </message>
     <message>
         <source>625</source>
-        <translation type="vanished">625</translation>
+        <translation>625</translation>
     </message>
     <message>
         <source>5 ^ NULL</source>
-        <translation type="vanished">5 ^ NULL</translation>
+        <translation>5 ^ NULL</translation>
     </message>
     <message>
         <source>Compares two values and evaluates to 1 if the left value is greater or equal than the right value.</source>
-        <translation type="vanished">Vergleicht zwei Werte und ergibt 1, wenn der linke größer oder gleich dem rechten Wert ist.</translation>
+        <translation>Vergleicht zwei Werte und ergibt 1, wenn der linke größer oder gleich dem rechten Wert ist.</translation>
     </message>
     <message>
         <source>>=</source>
-        <translation type="vanished">>=</translation>
+        <translation>>=</translation>
     </message>
     <message>
         <source>5 &gt;= 4</source>
-        <translation type="vanished">5 &gt;= 4</translation>
+        <translation>5 &gt;= 4</translation>
     </message>
     <message>
         <source>5 &gt;= 5</source>
-        <translation type="vanished">5 &gt;= 5</translation>
+        <translation>5 &gt;= 5</translation>
     </message>
     <message>
         <source>4 &gt;= 5</source>
-        <translation type="vanished">4 &gt;= 5</translation>
+        <translation>4 &gt;= 5</translation>
     </message>
     <message>
         <source>Compares two values and evaluates to 1 if the left value is greater than the right value.</source>
-        <translation type="vanished">Vergleicht zwei Werte und ergibt 1, wenn der linke größer dem rechten Wert ist.</translation>
+        <translation>Vergleicht zwei Werte und ergibt 1, wenn der linke größer dem rechten Wert ist.</translation>
     </message>
     <message>
         <source>></source>
-        <translation type="vanished">></translation>
+        <translation>></translation>
     </message>
     <message>
         <source>5 &gt; 4</source>
-        <translation type="vanished">5 &gt; 4</translation>
+        <translation>5 &gt; 4</translation>
     </message>
     <message>
         <source>5 &gt; 5</source>
-        <translation type="vanished">5 &gt; 5</translation>
+        <translation>5 &gt; 5</translation>
     </message>
     <message>
         <source>4 &gt; 5</source>
-        <translation type="vanished">4 &gt; 5</translation>
+        <translation>4 &gt; 5</translation>
     </message>
     <message>
         <source>Compares two values and evaluates to 1 if the left value is less or equal than the right value.</source>
-        <translation type="vanished">Vergleicht zwei Werte und ergibt 1, wenn der linke kleiner oder gleich dem rechten Wert ist.</translation>
+        <translation>Vergleicht zwei Werte und ergibt 1, wenn der linke kleiner oder gleich dem rechten Wert ist.</translation>
     </message>
     <message>
         <source><=</source>
-        <translation type="vanished"><=</translation>
+        <translation><=</translation>
     </message>
     <message>
         <source>5 &lt;= 4</source>
-        <translation type="vanished">5 &lt;= 4</translation>
+        <translation>5 &lt;= 4</translation>
     </message>
     <message>
         <source>5 &lt;= 5</source>
-        <translation type="vanished">5 &lt;= 5</translation>
+        <translation>5 &lt;= 5</translation>
     </message>
     <message>
         <source>4 &lt;= 5</source>
-        <translation type="vanished">4 &lt;= 5</translation>
+        <translation>4 &lt;= 5</translation>
     </message>
     <message>
         <source>Compares two values and evaluates to 1 if the left value is less than the right value.</source>
-        <translation type="vanished">Vergleicht zwei Werte und ergibt 1, wenn der linke kleiner dem rechten Wert ist.</translation>
+        <translation>Vergleicht zwei Werte und ergibt 1, wenn der linke kleiner dem rechten Wert ist.</translation>
     </message>
     <message>
         <source><</source>
-        <translation type="vanished"><</translation>
+        <translation><</translation>
     </message>
     <message>
         <source>5 &lt; 4</source>
-        <translation type="vanished">5 &lt; 4</translation>
+        <translation>5 &lt; 4</translation>
     </message>
     <message>
         <source>5 &lt; 5</source>
-        <translation type="vanished">5 &lt; 5</translation>
+        <translation>5 &lt; 5</translation>
     </message>
     <message>
         <source>4 &lt; 5</source>
-        <translation type="vanished">4 &lt; 5</translation>
+        <translation>4 &lt; 5</translation>
     </message>
     <message>
         <source>Subtraction of two values. If one of the values is NULL the result will be NULL.</source>
-        <translation type="vanished">Zieht zwei Werte voneinander ab. Wenn einer der beiden Werte NULL ist, ist das Ergebnis auch NULL.</translation>
+        <translation>Zieht zwei Werte voneinander ab. Wenn einer der beiden Werte NULL ist, ist das Ergebnis auch NULL.</translation>
     </message>
     <message>
         <source>-</source>
-        <translation type="vanished">-</translation>
+        <translation>-</translation>
     </message>
     <message>
         <source>5 - 4</source>
-        <translation type="vanished">5 - 4</translation>
+        <translation>5 - 4</translation>
     </message>
     <message>
         <source>5 - NULL</source>
-        <translation type="vanished">5 - NULL</translation>
+        <translation>5 - NULL</translation>
     </message>
     <message>
         <source>Remainder of division</source>
-        <translation type="vanished">Rest einer Division</translation>
+        <translation>Rest einer Division</translation>
     </message>
     <message>
         <source>%</source>
-        <translation type="vanished">%</translation>
+        <translation>%</translation>
     </message>
     <message>
         <source>5 % 4</source>
-        <translation type="vanished">5 % 4</translation>
+        <translation>5 % 4</translation>
     </message>
     <message>
         <source>5 % NULL</source>
-        <translation type="vanished">5 % NULL</translation>
+        <translation>5 % NULL</translation>
     </message>
     <message>
         <source>Compares two values and evaluates to 1 if they are not equal.</source>
-        <translation type="vanished">Vergleicht zwei Werte und ergibt 1, wenn sie nicht gleich sind.</translation>
+        <translation>Vergleicht zwei Werte und ergibt 1, wenn sie nicht gleich sind.</translation>
     </message>
     <message>
         <source><></source>
-        <translation type="vanished"><></translation>
+        <translation><></translation>
     </message>
     <message>
         <source>5 &lt;&gt; 4</source>
-        <translation type="vanished">5 &lt;&gt; 4</translation>
+        <translation>5 &lt;&gt; 4</translation>
     </message>
     <message>
         <source>4 &lt;&gt; 4</source>
-        <translation type="vanished">4 &lt;&gt; 4</translation>
+        <translation>4 &lt;&gt; 4</translation>
     </message>
     <message>
         <source>5 &lt;&gt; NULL</source>
-        <translation type="vanished">5 &lt;&gt; NULL</translation>
+        <translation>5 &lt;&gt; NULL</translation>
     </message>
     <message>
         <source>NULL &lt;&gt; NULL</source>
-        <translation type="vanished">NULL &lt;&gt; NULL</translation>
+        <translation>NULL &lt;&gt; NULL</translation>
     </message>
     <message>
         <source>Addition of two values. If one of the values is NULL the result will be NULL.</source>
-        <translation type="vanished">Addiert zwei Werte. Wenn einer der beiden Werte NULL ist, ist das Ergebnis auch NULL.</translation>
+        <translation>Addiert zwei Werte. Wenn einer der beiden Werte NULL ist, ist das Ergebnis auch NULL.</translation>
     </message>
     <message>
         <source>+</source>
-        <translation type="vanished">+</translation>
+        <translation>+</translation>
     </message>
     <message>
         <source>5 + 4</source>
-        <translation type="vanished">5 + 4</translation>
+        <translation>5 + 4</translation>
     </message>
     <message>
         <source>9</source>
-        <translation type="vanished">9</translation>
+        <translation>9</translation>
     </message>
     <message>
         <source>5 + NULL</source>
-        <translation type="vanished">5 + NULL</translation>
+        <translation>5 + NULL</translation>
     </message>
     <message>
         <source>Performs a regular expression match on a string value.</source>
-        <translation type="vanished">Wendet eine regulären Ausdruck auf eine Zeichenkette an.</translation>
+        <translation>Wendet eine regulären Ausdruck auf eine Zeichenkette an.</translation>
     </message>
     <message>
         <source>~</source>
-        <translation type="vanished">~</translation>
+        <translation>~</translation>
     </message>
     <message>
         <source>'hello' ~ 'll'</source>
-        <translation type="vanished">'hello' ~ 'll'</translation>
+        <translation>'hello' ~ 'll'</translation>
     </message>
     <message>
         <source>'hello' ~ '^ll'</source>
-        <translation type="vanished">'hello' ~ '^ll'</translation>
+        <translation>'hello' ~ '^ll'</translation>
     </message>
     <message>
         <source>'hello' ~ 'llo$'</source>
-        <translation type="vanished">'hello' ~ 'llo$'</translation>
+        <translation>'hello' ~ 'llo$'</translation>
     </message>
     <message>
         <source>Orders the parts of a MultiGeometry by a given criteria</source>
-        <translation type="vanished">Sortiert die Teile eine Multigeometrie nach gegebenem Kriterium</translation>
+        <translation>Sortiert die Teile eine Multigeometrie nach gegebenem Kriterium</translation>
     </message>
     <message>
         <source>order_parts</source>
-        <translation type="vanished">order_parts</translation>
+        <translation>order_parts</translation>
     </message>
     <message>
         <source>a multi-type geometry</source>
-        <translation type="vanished">Eine Mehrtypgeometrie</translation>
+        <translation>Eine Mehrtypgeometrie</translation>
     </message>
     <message>
         <source>an expression string defining the order criteria</source>
-        <translation type="vanished">ein Ausdruckstext, der das Sortierkriterium festlegt</translation>
+        <translation>ein Ausdruckstext, der das Sortierkriterium festlegt</translation>
     </message>
     <message>
         <source>boolean, True for ascending, False for descending</source>
-        <translation type="vanished">boolean, True für aufsteigend, False für absteigend</translation>
+        <translation>boolean, True für aufsteigend, False für absteigend</translation>
     </message>
     <message>
         <source>order_parts(geom_from_wkt('MultiPolygon (((1 1, 5 1, 5 5, 1 5, 1 1)),((1 1, 9 1, 9 9, 1 9, 1 1)))'), 'area($geometry)', False)</source>
-        <translation type="vanished">order_parts(geom_from_wkt('MultiPolygon (((1 1, 5 1, 5 5, 1 5, 1 1)),((1 1, 9 1, 9 9, 1 9, 1 1)))'), 'area($geometry)', False)</translation>
+        <translation>order_parts(geom_from_wkt('MultiPolygon (((1 1, 5 1, 5 5, 1 5, 1 1)),((1 1, 9 1, 9 9, 1 9, 1 1)))'), 'area($geometry)', False)</translation>
     </message>
     <message>
         <source>MultiPolygon (((1 1, 9 1, 9 9, 1 9, 1 1)),((1 1, 5 1, 5 5, 1 5, 1 1)))</source>
-        <translation type="vanished">MultiPolygon (((1 1, 9 1, 9 9, 1 9, 1 1)),((1 1, 5 1, 5 5, 1 5, 1 1)))</translation>
+        <translation>MultiPolygon (((1 1, 9 1, 9 9, 1 9, 1 1)),((1 1, 5 1, 5 5, 1 5, 1 1)))</translation>
     </message>
     <message>
         <source>order_parts(geom_from_wkt('LineString(1 2, 3 2, 4 3)'), '1', True)</source>
-        <translation type="vanished">order_parts(geom_from_wkt('LineString(1 2, 3 2, 4 3)'), '1', True)</translation>
+        <translation>order_parts(geom_from_wkt('LineString(1 2, 3 2, 4 3)'), '1', True)</translation>
     </message>
     <message>
         <source>LineString(1 2, 3 2, 4 3)</source>
-        <translation type="vanished">LineString(1 2, 3 2, 4 3)</translation>
+        <translation>LineString(1 2, 3 2, 4 3)</translation>
     </message>
     <message>
         <source>Returns a geometry which represents the minimal oriented bounding box of an input geometry.</source>
-        <translation type="vanished">Liefert das minimale gerichtete einhüllende Rechteck (Bounding Box) einer Eingabegeometrie.</translation>
+        <translation>Liefert das minimale gerichtete einhüllende Rechteck (Bounding Box) einer Eingabegeometrie.</translation>
     </message>
     <message>
         <source>oriented_bbox</source>
-        <translation type="vanished">oriented_bbox</translation>
+        <translation>oriented_bbox</translation>
     </message>
     <message>
         <source>geom_to_wkt( oriented_bbox( geom_from_wkt( 'MULTIPOINT(1 2, 3 4, 3 2)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( oriented_bbox( geom_from_wkt( 'MULTIPOINT(1 2, 3 4, 3 2)' ) ) )</translation>
+        <translation>geom_to_wkt( oriented_bbox( geom_from_wkt( 'MULTIPOINT(1 2, 3 4, 3 2)' ) ) )</translation>
     </message>
     <message>
         <source>Polygon ((1 4, 1 2, 3 2, 3 4, 1 4))</source>
-        <translation type="vanished">Polygon ((1 2, 3 2, 4 3, 5 5, 4 4, 2 4, 1 2))</translation>
+        <translation>Polygon ((1 2, 3 2, 4 3, 5 5, 4 4, 2 4, 1 2))</translation>
     </message>
     <message>
         <source>Tests whether a geometry overlaps another. Returns true if the geometries share space, are of the same dimension, but are not completely contained by each other.</source>
-        <translation type="vanished">Prüft, ob sich zwei Geometrien überlappen. Liefert wahr, wenn sich die Geometrien Raum teilen, die gleiche Dimension haben, aber nicht komplett ineinander enthalten sind.</translation>
+        <translation>Prüft, ob sich zwei Geometrien überlappen. Liefert wahr, wenn sich die Geometrien Raum teilen, die gleiche Dimension haben, aber nicht komplett ineinander enthalten sind.</translation>
     </message>
     <message>
         <source>overlaps</source>
-        <translation type="vanished">overlaps</translation>
+        <translation>overlaps</translation>
     </message>
     <message>
         <source>overlaps( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 5, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">overlaps( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 5, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>overlaps( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 5, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>overlaps( geom_from_wkt( 'LINESTRING(0 0, 1 1)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">overlaps( geom_from_wkt( 'LINESTRING(0 0, 1 1)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>overlaps( geom_from_wkt( 'LINESTRING(0 0, 1 1)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>Returns the value of a processing algorithm input parameter.</source>
-        <translation type="vanished">Liefert den Wert eines Eingabeparameters für einen Verarbeitungsalgorithmus.</translation>
+        <translation>Liefert den Wert eines Eingabeparameters für einen Verarbeitungsalgorithmus.</translation>
     </message>
     <message>
         <source>parameter</source>
-        <translation type="vanished">Parameter</translation>
+        <translation>Parameter</translation>
     </message>
     <message>
         <source>name of the corresponding input parameter</source>
-        <translation type="vanished">Name des korrespondierenden Eingabeparameters</translation>
+        <translation>Name des korrespondierenden Eingabeparameters</translation>
     </message>
     <message>
         <source>parameter('BUFFER_SIZE')</source>
-        <translation type="vanished">parameter('BUFFER_SIZE')</translation>
+        <translation>parameter('BUFFER_SIZE')</translation>
     </message>
     <message>
         <source>5.6</source>
-        <translation type="vanished">5.6</translation>
+        <translation>5.6</translation>
     </message>
     <message>
         <source>Returns the perimeter of a geometry polygon object. Calculations are always planimetric in the Spatial Reference System (SRS) of this geometry, and the units of the returned perimeter will match the units for the SRS. This differs from the calculations performed by the $perimeter function, which will perform ellipsoidal calculations based on the project's ellipsoid and distance unit settings.</source>
-        <translation type="vanished">Liefert den Umfang einer Polygongeometrie. Die Berechnungen sind immer planimetrisch im räumlichen Bezugssystem der Geometrie und die Einheiten des zurückgegebenen Umfangs paßt zur Einheit des Bezugssystems. Dies unterscheidet sich von den für die Funktion $perimeter durchgeführten Berechnungen.  Diese werden auf Basis der Ellipsiod- und Abstandseinheitseinstellungen des Projekts vorgenommen.</translation>
+        <translation>Liefert den Umfang einer Polygongeometrie. Die Berechnungen sind immer planimetrisch im räumlichen Bezugssystem der Geometrie und die Einheiten des zurückgegebenen Umfangs paßt zur Einheit des Bezugssystems. Dies unterscheidet sich von den für die Funktion $perimeter durchgeführten Berechnungen.  Diese werden auf Basis der Ellipsiod- und Abstandseinheitseinstellungen des Projekts vorgenommen.</translation>
     </message>
     <message>
         <source>perimeter</source>
-        <translation type="vanished">perimeter</translation>
+        <translation>perimeter</translation>
     </message>
     <message>
         <source>perimeter(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'))</source>
-        <translation type="vanished">perimeter(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'))</translation>
+        <translation>perimeter(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'))</translation>
     </message>
     <message>
         <source>12.0</source>
-        <translation type="vanished">12.0</translation>
+        <translation>12.0</translation>
     </message>
     <message>
         <source>Returns value of pi for calculations.</source>
-        <translation type="vanished">Liefert den Wert von pi für Berechnungen.</translation>
+        <translation>Liefert den Wert von pi für Berechnungen.</translation>
     </message>
     <message>
         <source>pi</source>
-        <translation type="vanished">pi</translation>
+        <translation>pi</translation>
     </message>
     <message>
         <source>pi()</source>
-        <translation type="vanished">pi()</translation>
+        <translation>pi()</translation>
     </message>
     <message>
         <source>3.14159265358979</source>
-        <translation type="vanished">3.14159265358979</translation>
+        <translation>3.14159265358979</translation>
     </message>
     <message>
         <source>Returns a specific node from a geometry.</source>
-        <translation type="vanished">Liefert einen bestimmten Knoten einer Geometrie.</translation>
+        <translation>Liefert einen bestimmten Knoten einer Geometrie.</translation>
     </message>
     <message>
         <source>point_n</source>
-        <translation type="vanished">point_n</translation>
+        <translation>point_n</translation>
     </message>
     <message>
         <source>index of node to return, where 1 is the first node</source>
-        <translation type="vanished">Index des zurückzugebenden Knotens (1 ist der erste Knoten)</translation>
+        <translation>Index des zurückzugebenden Knotens (1 ist der erste Knoten)</translation>
     </message>
     <message>
         <source>geom_to_wkt(point_n(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'),2))</source>
-        <translation type="vanished">geom_to_wkt(point_n(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'),2))</translation>
+        <translation>geom_to_wkt(point_n(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'),2))</translation>
     </message>
     <message>
         <source>'Point (4 0)'</source>
-        <translation type="vanished">'Point (4 0)'</translation>
+        <translation>'Point (4 0)'</translation>
     </message>
     <message>
         <source>Returns a point guaranteed to lie on the surface of a geometry.</source>
-        <translation type="vanished">Liefert einen Punkt der sicht in der Fläche der Geometrie liegt.</translation>
+        <translation>Liefert einen Punkt der sicht in der Fläche der Geometrie liegt.</translation>
     </message>
     <message>
         <source>point_on_surface</source>
-        <translation type="vanished">point_on_surface</translation>
+        <translation>point_on_surface</translation>
     </message>
     <message>
         <source>point_on_surface($geometry)</source>
-        <translation type="vanished">point_on_surface($geometry)</translation>
+        <translation>point_on_surface($geometry)</translation>
     </message>
     <message>
         <source>Calculates the approximate pole of inaccessibility for a surface, which is the most distant internal point from the boundary of the surface. This function uses the 'polylabel' algorithm (Vladimir Agafonkin, 2016), which is an iterative approach guaranteed to find the true pole of inaccessibility within a specified tolerance. More precise tolerances require more iterations and will take longer to calculate.</source>
-        <translation type="vanished">Berechnet den angenähten Pol der Unzugänglichkeit für eine Fläche, der am weitesten entfernte interne Punkt der Umgrenzung der Fläche ist.  Diese Funktion benutzt den Algorithmus `polylabel` (Vladimir Agafonkin, 2016), der eine iterativer Ansatz der garantiert die wahren Pol der Unzugänglichkeit in einer gegebenen Toleranz findet. Kleinere Toleranzen erfordern mehr Iteration und führen zu längeren Berechnungen. </translation>
+        <translation>Berechnet den angenähten Pol der Unzugänglichkeit für eine Fläche, der am weitesten entfernte interne Punkt der Umgrenzung der Fläche ist.  Diese Funktion benutzt den Algorithmus `polylabel` (Vladimir Agafonkin, 2016), der eine iterativer Ansatz der garantiert die wahren Pol der Unzugänglichkeit in einer gegebenen Toleranz findet. Kleinere Toleranzen erfordern mehr Iteration und führen zu längeren Berechnungen. </translation>
     </message>
     <message>
         <source>pole_of_inaccessibility</source>
-        <translation type="vanished">pole_of_inaccessibility</translation>
+        <translation>pole_of_inaccessibility</translation>
     </message>
     <message>
         <source>maximum distance between the returned point and the true pole location</source>
-        <translation type="vanished">Maximaler Abstand zwischen dem gelieferten Punkt und der wahren Polposition</translation>
+        <translation>Maximaler Abstand zwischen dem gelieferten Punkt und der wahren Polposition</translation>
     </message>
     <message>
         <source>geom_to_wkt(pole_of_inaccessibility( geom_from_wkt('POLYGON((0 1,0 9,3 10,3 3, 10 3, 10 1, 0 1))'), 0.1))</source>
-        <translation type="vanished">geom_to_wkt(pole_of_inaccessibility( geom_from_wkt('POLYGON((0 1,0 9,3 10,3 3, 10 3, 10 1, 0 1))'), 0.1))</translation>
+        <translation>geom_to_wkt(pole_of_inaccessibility( geom_from_wkt('POLYGON((0 1,0 9,3 10,3 3, 10 3, 10 1, 0 1))'), 0.1))</translation>
     </message>
     <message>
         <source>Point(1.55, 1.55)</source>
-        <translation type="vanished">Point(73.0769 115.384) {1.55, 1.55)?}</translation>
+        <translation>Point(73.0769 115.384) {1.55, 1.55)?}</translation>
     </message>
     <message>
         <source>Returns a color from the project's color scheme.</source>
-        <translation type="vanished">Liefert eine Farbe aus dem Farbschema des Projekts.</translation>
+        <translation>Liefert eine Farbe aus dem Farbschema des Projekts.</translation>
     </message>
     <message>
         <source>project_color</source>
-        <translation type="vanished">project_color</translation>
+        <translation>project_color</translation>
     </message>
     <message>
         <source>a color name</source>
-        <translation type="vanished">ein Farbname</translation>
+        <translation>ein Farbname</translation>
     </message>
     <message>
         <source>project_color('Logo color')</source>
-        <translation type="vanished">project_color('Logo color')</translation>
+        <translation>project_color('Logo color')</translation>
     </message>
     <message>
         <source>20,140,50</source>
-        <translation type="vanished">20,140,50</translation>
+        <translation>20,140,50</translation>
     </message>
     <message>
         <source>Returns the calculated first quartile from a field or expression.</source>
-        <translation type="vanished">Liefert das berechnete erste Quartil eines Feld oder Ausdrucks.</translation>
+        <translation>Liefert das berechnete erste Quartil eines Feld oder Ausdrucks.</translation>
     </message>
     <message>
         <source>q1</source>
-        <translation type="vanished">q1</translation>
+        <translation>q1</translation>
     </message>
     <message>
         <source>q1("population",group_by:="state")</source>
-        <translation type="vanished">q1("population",group_by:="state")</translation>
+        <translation>q1("population",group_by:="state")</translation>
     </message>
     <message>
         <source>first quartile of population value, grouped by state field</source>
-        <translation type="vanished">Erstes Quartil des Werts population, gruppiert nach Feld state</translation>
+        <translation>Erstes Quartil des Werts population, gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Returns the calculated third quartile from a field or expression.</source>
-        <translation type="vanished">Liefert das berechnete dritte Quartil eines Feld oder Ausdrucks.</translation>
+        <translation>Liefert das berechnete dritte Quartil eines Feld oder Ausdrucks.</translation>
     </message>
     <message>
         <source>q3</source>
-        <translation type="vanished">q3</translation>
+        <translation>q3</translation>
     </message>
     <message>
         <source>q3("population",group_by:="state")</source>
-        <translation type="vanished">q3("population",group_by:="state")</translation>
+        <translation>q3("population",group_by:="state")</translation>
     </message>
     <message>
         <source>third quartile of population value, grouped by state field</source>
-        <translation type="vanished">Drittes Quartil des Werts population, gruppiert nach Feld state</translation>
+        <translation>Drittes Quartil des Werts population, gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Converts from degrees to radians.</source>
-        <translation type="vanished">Wandelt Grad in Bogenmaß um.</translation>
+        <translation>Wandelt Grad in Bogenmaß um.</translation>
     </message>
     <message>
         <source>radians(180)</source>
-        <translation type="vanished">radians(180)</translation>
+        <translation>radians(180)</translation>
     </message>
     <message>
         <source>3.14159</source>
-        <translation type="vanished">3.14159</translation>
+        <translation>3.14159</translation>
     </message>
     <message>
         <source>radians(57.2958)</source>
-        <translation type="vanished">radians(57.2958)</translation>
+        <translation>radians(57.2958)</translation>
     </message>
     <message>
         <source>Returns a string representing a color from a color ramp.</source>
-        <translation type="vanished">Liefert eine Farbe aus einem Verlaufs als Zeichenkette.</translation>
+        <translation>Liefert eine Farbe aus einem Verlaufs als Zeichenkette.</translation>
     </message>
     <message>
         <source>ramp_color</source>
@@ -63006,87 +63305,87 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>the name of the color ramp as a string, for example 'Spectral'</source>
-        <translation type="vanished">Der Name des Farbverlaufs as Zeichenkette, z.B.' Spectral'</translation>
+        <translation>Der Name des Farbverlaufs as Zeichenkette, z.B.' Spectral'</translation>
     </message>
     <message>
         <source>the position on the ramp to select the color from as a real number between 0 and 1</source>
-        <translation type="vanished">Die Position auf dem Verlauf als Fließkommazahl zwischen 0 und 1</translation>
+        <translation>Die Position auf dem Verlauf als Fließkommazahl zwischen 0 und 1</translation>
     </message>
     <message>
         <source>ramp_color('Spectral',0.3)</source>
-        <translation type="vanished">ramp_color('Spectral',0.3)</translation>
+        <translation>ramp_color('Spectral',0.3)</translation>
     </message>
     <message>
         <source>'253,190,115,255'</source>
-        <translation type="vanished">'253,190,115,255'</translation>
+        <translation>'253,190,115,255'</translation>
     </message>
     <message>
         <source>The color ramps available vary between QGIS installations. This function may not give the expected results if you move your QGIS project between installations.</source>
-        <translation type="vanished">Die verfügbaren Farbverläufe unterscheiden sich zwischen QGIS-Installationen. Die Funktion könnte andere Werte liefern, wenn das Projekt zwischen Installationen bewegt wird.</translation>
+        <translation>Die verfügbaren Farbverläufe unterscheiden sich zwischen QGIS-Installationen. Die Funktion könnte andere Werte liefern, wenn das Projekt zwischen Installationen bewegt wird.</translation>
     </message>
     <message>
         <source>Returns a random integer within the range specified by the minimum and maximum argument (inclusive).</source>
-        <translation type="vanished">Liefert eine zufällige Zahl aus dem durch Minimum und Maximum festgegelegten Bereichs (inklusiv).</translation>
+        <translation>Liefert eine zufällige Zahl aus dem durch Minimum und Maximum festgegelegten Bereichs (inklusiv).</translation>
     </message>
     <message>
         <source>rand</source>
-        <translation type="vanished">rand</translation>
+        <translation>rand</translation>
     </message>
     <message>
         <source>an integer representing the smallest possible random number desired</source>
-        <translation type="vanished">kleinste mögliche Zufallszahl als ganze Zahl</translation>
+        <translation>kleinste mögliche Zufallszahl als ganze Zahl</translation>
     </message>
     <message>
         <source>an integer representing the largest possible random number desired</source>
-        <translation type="vanished">größte mögliche Zufallszahl als ganze Zahl</translation>
+        <translation>größte mögliche Zufallszahl als ganze Zahl</translation>
     </message>
     <message>
         <source>rand(1, 10)</source>
-        <translation type="vanished">rand(1, 10)</translation>
+        <translation>rand(1, 10)</translation>
     </message>
     <message>
         <source>8</source>
-        <translation type="vanished">8</translation>
+        <translation>8</translation>
     </message>
     <message>
         <source>Returns a random float within the range specified by the minimum and maximum argument (inclusive).</source>
-        <translation type="vanished">Liefert eine zufällige Fließkommazahl aus einem durch Minimum und Maximum gegebenen Bereichs (inklusiv).</translation>
+        <translation>Liefert eine zufällige Fließkommazahl aus einem durch Minimum und Maximum gegebenen Bereichs (inklusiv).</translation>
     </message>
     <message>
         <source>randf</source>
-        <translation type="vanished">randf</translation>
+        <translation>randf</translation>
     </message>
     <message>
         <source>an float representing the smallest possible random number desired</source>
-        <translation type="vanished">kleinste mögliche Zufallszahl als Fließkommazahl</translation>
+        <translation>kleinste mögliche Zufallszahl als Fließkommazahl</translation>
     </message>
     <message>
         <source>an float representing the largest possible random number desired</source>
-        <translation type="vanished">größte mögliche Zufallszahl als Fließkommazahl</translation>
+        <translation>größte mögliche Zufallszahl als Fließkommazahl</translation>
     </message>
     <message>
         <source>randf(1, 10)</source>
-        <translation type="vanished">randf(1, 10)</translation>
+        <translation>randf(1, 10)</translation>
     </message>
     <message>
         <source>4.59258286403147</source>
-        <translation type="vanished">4.59258286403147</translation>
+        <translation>4.59258286403147</translation>
     </message>
     <message>
         <source>Returns the aggregate range of values (maximum - minimum) from a field or expression.</source>
-        <translation type="vanished">Liefert den aggregierten Wertnbereich (maximum - minimum) eines Felds oder Ausdrucks.</translation>
+        <translation>Liefert den aggregierten Wertnbereich (maximum - minimum) eines Felds oder Ausdrucks.</translation>
     </message>
     <message>
         <source>range</source>
-        <translation type="vanished">Bereich</translation>
+        <translation>Bereich</translation>
     </message>
     <message>
         <source>range("population",group_by:="state")</source>
-        <translation type="vanished">range("population",group_by:="state")</translation>
+        <translation>range("population",group_by:="state")</translation>
     </message>
     <message>
         <source>range of population values, grouped by state field</source>
-        <translation type="vanished">Wertebereich population, gruppiert nach Feld state</translation>
+        <translation>Wertebereich population, gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Returns true if any part of a string matches the supplied regular expression.</source>
@@ -63094,11 +63393,11 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>regexp_match</source>
-        <translation type="vanished">regexp_match</translation>
+        <translation>regexp_match</translation>
     </message>
     <message>
         <source>the string to test against the regular expression</source>
-        <translation type="vanished">Mit dem regulären Ausdruck zu vergleichende Zeichenkette</translation>
+        <translation>Mit dem regulären Ausdruck zu vergleichende Zeichenkette</translation>
     </message>
     <message>
         <source>The regular expression to test against. Backslash characters must be double escaped (eg "\s" to match a white space character). Non-greedy regular expressions are not supported.</source>
@@ -63110,15 +63409,15 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>Returns a string with the supplied regular expression replaced.</source>
-        <translation type="vanished">Liefert eine Zeichenkette in der ein regulärer Ausdruck ersetzt wurde.</translation>
+        <translation>Liefert eine Zeichenkette in der ein regulärer Ausdruck ersetzt wurde.</translation>
     </message>
     <message>
         <source>regexp_replace</source>
-        <translation type="vanished">regexp_replace</translation>
+        <translation>regexp_replace</translation>
     </message>
     <message>
         <source>the string to replace matches in</source>
-        <translation type="vanished">Zeichenkette in der ersetzt werden soll</translation>
+        <translation>Zeichenkette in der ersetzt werden soll</translation>
     </message>
     <message>
         <source>The regular expression to replace. Backslash characters must be double escaped (eg "\s" to match a white space character). Non-greedy regular expressions are not supported.</source>
@@ -63134,19 +63433,19 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>'QGIS DOES ROCK'</source>
-        <translation type="vanished">'QGIS DOES ROCK'</translation>
+        <translation>'QGIS DOES ROCK'</translation>
     </message>
     <message>
         <source>Returns the portion of a string which matches a supplied regular expression.</source>
-        <translation type="vanished">Liefert den Teil der Zeichenkette, die dem gegebenen regulären Ausdrucks entspricht.</translation>
+        <translation>Liefert den Teil der Zeichenkette, die dem gegebenen regulären Ausdrucks entspricht.</translation>
     </message>
     <message>
         <source>regexp_substr</source>
-        <translation type="vanished">regexp_substr</translation>
+        <translation>regexp_substr</translation>
     </message>
     <message>
         <source>the string to find matches in</source>
-        <translation type="vanished">Zeichenkette in der Treffer gesucht werden sollen</translation>
+        <translation>Zeichenkette in der Treffer gesucht werden sollen</translation>
     </message>
     <message>
         <source>The regular expression to match against. Backslash characters must be double escaped (eg "\s" to match a white space character). Non-greedy regular expressions are not supported.</source>
@@ -63158,83 +63457,83 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>'123'</source>
-        <translation type="vanished">'123'</translation>
+        <translation>'123'</translation>
     </message>
     <message>
         <source>Tests the Dimensional Extended 9 Intersection Model (DE-9IM) representation of the relationship between two geometries.</source>
-        <translation type="vanished">Liefert die Dimensional Extended 9 Intersection Model (DE-9IM) Darstellung der Beziehungen zwischen zwei Geometrien.</translation>
+        <translation>Liefert die Dimensional Extended 9 Intersection Model (DE-9IM) Darstellung der Beziehungen zwischen zwei Geometrien.</translation>
     </message>
     <message>
         <source>Relationship variant</source>
-        <translation type="vanished">Beziehungsvariante</translation>
+        <translation>Beziehungsvariante</translation>
     </message>
     <message>
         <source>Returns the Dimensional Extended 9 Intersection Model (DE-9IM) representation of the relationship between two geometries.</source>
-        <translation type="vanished">Liefert die Dimensional Extended 9 Intersection Model (DE-9IM) Darstellung der Beziehungen zwischen zwei Geometrien.</translation>
+        <translation>Liefert die Dimensional Extended 9 Intersection Model (DE-9IM) Darstellung der Beziehungen zwischen zwei Geometrien.</translation>
     </message>
     <message>
         <source>relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ) )</source>
-        <translation type="vanished">relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ) )</translation>
+        <translation>relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ) )</translation>
     </message>
     <message>
         <source>'FF1F00102'</source>
-        <translation type="vanished">'FF1F00102'</translation>
+        <translation>'FF1F00102'</translation>
     </message>
     <message>
         <source>Pattern match variant</source>
-        <translation type="vanished">Passendes Muster-Variante</translation>
+        <translation>Passendes Muster-Variante</translation>
     </message>
     <message>
         <source>Tests whether the DE-9IM relationship between two geometries matches a specified pattern.</source>
-        <translation type="vanished">Prüft, ob die DE-9IM-Beziehung zwischen zwei Geometrien einem gegebenen Muster entspricht.</translation>
+        <translation>Prüft, ob die DE-9IM-Beziehung zwischen zwei Geometrien einem gegebenen Muster entspricht.</translation>
     </message>
     <message>
         <source>DE-9IM pattern to match</source>
-        <translation type="vanished">Zuvergleichendes DE-9IM-Muster </translation>
+        <translation>Zuvergleichendes DE-9IM-Muster </translation>
     </message>
     <message>
         <source>relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ), '**1F001**' )</source>
-        <translation type="vanished">relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ), '**1F001**' )</translation>
+        <translation>relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ), '**1F001**' )</translation>
     </message>
     <message>
         <source>True</source>
-        <translation type="vanished">true</translation>
+        <translation>true</translation>
     </message>
     <message>
         <source>Returns an aggregate value calculated using all matching child features from a layer relation.</source>
-        <translation type="vanished">Liefert einen aus allen passenden Kindobjekten aggregierten Wert einer Layerbeziehung.</translation>
+        <translation>Liefert einen aus allen passenden Kindobjekten aggregierten Wert einer Layerbeziehung.</translation>
     </message>
     <message>
         <source>relation_aggregate</source>
-        <translation type="vanished">relation_aggregate</translation>
+        <translation>relation_aggregate</translation>
     </message>
     <message>
         <source>a string, representing a relation ID</source>
-        <translation type="vanished">eine Zeichenkette, die die Verknüpfungskennung angibt</translation>
+        <translation>eine Zeichenkette, die die Verknüpfungskennung angibt</translation>
     </message>
     <message>
         <source>relation_aggregate(relation:='my_relation',aggregate:='mean',expression:="passengers")</source>
-        <translation type="vanished">relation_aggregate(relation:='my_relation',aggregate:='mean',expression:="passengers")</translation>
+        <translation>relation_aggregate(relation:='my_relation',aggregate:='mean',expression:="passengers")</translation>
     </message>
     <message>
         <source>mean value of all matching child features using the 'my_relation' relation</source>
-        <translation type="vanished">Mittelwert aller passenden Kindobjekte zur 'my_relation' Beziehung</translation>
+        <translation>Mittelwert aller passenden Kindobjekte zur 'my_relation' Beziehung</translation>
     </message>
     <message>
         <source>relation_aggregate('my_relation','sum', "passengers"/7)</source>
-        <translation type="vanished">relation_aggregate('my_relation','sum', "passengers"/7)</translation>
+        <translation>relation_aggregate('my_relation','sum', "passengers"/7)</translation>
     </message>
     <message>
         <source>sum of the passengers field divided by 7 for all matching child features using the 'my_relation' relation</source>
-        <translation type="vanished">Summe von des Feld passengers geteilt durch 7 für alle  passenden Kindobjekte über die Beziehung 'my_relation'</translation>
+        <translation>Summe von des Feld passengers geteilt durch 7 für alle  passenden Kindobjekte über die Beziehung 'my_relation'</translation>
     </message>
     <message>
         <source>relation_aggregate('my_relation','concatenate', "towns", concatenator:=',')</source>
-        <translation type="vanished">relation_aggregate('my_relation','concatenate', "towns", concatenator:=',')</translation>
+        <translation>relation_aggregate('my_relation','concatenate', "towns", concatenator:=',')</translation>
     </message>
     <message>
         <source>comma separated list of the towns field for all matching child features using the 'my_relation' relation</source>
-        <translation type="vanished">Kommagetrennte Liste des Felds towns für alle passenden Kindobjekte über die Beziehung 'my_relation'</translation>
+        <translation>Kommagetrennte Liste des Felds towns für alle passenden Kindobjekte über die Beziehung 'my_relation'</translation>
     </message>
     <message>
         <source>Returns a string with the the supplied string replaced.</source>
@@ -63246,7 +63545,7 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>the input string</source>
-        <translation type="vanished">Die Eingabezeichenkette</translation>
+        <translation>Die Eingabezeichenkette</translation>
     </message>
     <message>
         <source>the string to replace</source>
@@ -63258,235 +63557,235 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>replace('QGIS SHOULD ROCK','SHOULD','DOES')</source>
-        <translation type="vanished">replace('QGIS SHOULD ROCK','SHOULD','DOES')</translation>
+        <translation>replace('QGIS SHOULD ROCK','SHOULD','DOES')</translation>
     </message>
     <message>
         <source>Reverses the direction of a line string by reversing the order of its vertices.</source>
-        <translation type="vanished">Kehrt die Richtung einer Linien durch die Umkehrung der Stützpunktreihenfolge um</translation>
+        <translation>Kehrt die Richtung einer Linien durch die Umkehrung der Stützpunktreihenfolge um</translation>
     </message>
     <message>
         <source>reverse</source>
-        <translation type="vanished">reverse</translation>
+        <translation>reverse</translation>
     </message>
     <message>
         <source>geom_to_wkt(reverse(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)')))</source>
-        <translation type="vanished">geom_to_wkt(end_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</translation>
+        <translation>geom_to_wkt(end_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</translation>
     </message>
     <message>
         <source>'LINESTRING(2 2, 1 1, 0 0)'</source>
-        <translation type="vanished">LINESTRING(3 3, 4 4, 6 6, 2 1)</translation>
+        <translation>LINESTRING(3 3, 4 4, 6 6, 2 1)</translation>
     </message>
     <message>
         <source>Returns a substring that contains the <i>n</i> rightmost characters of the string.</source>
-        <translation type="vanished">Liefert eine Teilzeichenkette, die die letzten <i>n</i> Zeichen der Kette enthält.</translation>
+        <translation>Liefert eine Teilzeichenkette, die die letzten <i>n</i> Zeichen der Kette enthält.</translation>
     </message>
     <message>
         <source>right</source>
-        <translation type="vanished">right</translation>
+        <translation>right</translation>
     </message>
     <message>
         <source>integer. The number of characters from the right of the string to return.</source>
-        <translation type="vanished">Die zurückzuliefernde Zeichenanzahl als ganze Zahl.</translation>
+        <translation>Die zurückzuliefernde Zeichenanzahl als ganze Zahl.</translation>
     </message>
     <message>
         <source>right('Hello World',5)</source>
-        <translation type="vanished">right('Hallo Welt',4)</translation>
+        <translation>right('Hallo Welt',4)</translation>
     </message>
     <message>
         <source>'World'</source>
-        <translation type="vanished">'Welt'</translation>
+        <translation>'Welt'</translation>
     </message>
     <message>
         <source>Rounds a number to number of decimal places.</source>
-        <translation type="vanished">Rundet eine Zahl auf eine bestimmte Stellenzahl.</translation>
+        <translation>Rundet eine Zahl auf eine bestimmte Stellenzahl.</translation>
     </message>
     <message>
         <source>round</source>
-        <translation type="vanished">round</translation>
+        <translation>round</translation>
     </message>
     <message>
         <source>decimal number to be rounded</source>
-        <translation type="vanished">zu rundende Dezimalzahl</translation>
+        <translation>zu rundende Dezimalzahl</translation>
     </message>
     <message>
         <source>Optional integer representing number of places to round decimals to. Can be negative.</source>
-        <translation type="vanished">Optional ganze Zahl mit der Stellenanzahl auf die gerundet werden soll.  Kann negativ sein.</translation>
+        <translation>Optional ganze Zahl mit der Stellenanzahl auf die gerundet werden soll.  Kann negativ sein.</translation>
     </message>
     <message>
         <source>round(1234.567, 2)</source>
-        <translation type="vanished">round(1234.567, 2)</translation>
+        <translation>round(1234.567, 2)</translation>
     </message>
     <message>
         <source>1234.57</source>
-        <translation type="vanished">1234.57</translation>
+        <translation>1234.57</translation>
     </message>
     <message>
         <source>round(1234.567)</source>
-        <translation type="vanished">round(1234.567)</translation>
+        <translation>round(1234.567)</translation>
     </message>
     <message>
         <source>1235</source>
-        <translation type="vanished">1235</translation>
+        <translation>1235</translation>
     </message>
     <message>
         <source>rpad</source>
-        <translation type="vanished">rpad</translation>
+        <translation>rpad</translation>
     </message>
     <message>
         <source>rpad('Hello', 10, 'x')</source>
-        <translation type="vanished">rpad('Hallo', 10, 'x')</translation>
+        <translation>rpad('Hallo', 10, 'x')</translation>
     </message>
     <message>
         <source>'Helloxxxxx'</source>
-        <translation type="vanished">'Halloxxxxx'</translation>
+        <translation>'Halloxxxxx'</translation>
     </message>
     <message>
         <source>Transforms a given value from an input domain to an output range using an exponential curve. This function can be used to ease values in or out of the specified output range.</source>
-        <translation type="vanished">Transformiert einen gebenen Wert eines Eingabebereichs in einen Ausgabebereich mit einer exponentielle Kurve. Diese Funktion kann die Abbildung in und aus einem gegebenen Ausgabebereich erleichtern.</translation>
+        <translation>Transformiert einen gebenen Wert eines Eingabebereichs in einen Ausgabebereich mit einer exponentielle Kurve. Diese Funktion kann die Abbildung in und aus einem gegebenen Ausgabebereich erleichtern.</translation>
     </message>
     <message>
         <source>scale_exp</source>
-        <translation type="vanished">scale_exp</translation>
+        <translation>scale_exp</translation>
     </message>
     <message>
         <source>A value in the input domain. The function will return a corresponding scaled value in the output range.</source>
-        <translation type="vanished">Eine Wert im Eingabebereich.  Die Funktion liefert einen passend skalierten Wert aus dem Ausgabebereich.</translation>
+        <translation>Eine Wert im Eingabebereich.  Die Funktion liefert einen passend skalierten Wert aus dem Ausgabebereich.</translation>
     </message>
     <message>
         <source>Specifies the minimum value in the input domain, the smallest value the input value should take.</source>
-        <translation type="vanished">Gibt den Minimalwert im Eingabebereich an (kleinster Wert den Eingabewerte haben sollten).</translation>
+        <translation>Gibt den Minimalwert im Eingabebereich an (kleinster Wert den Eingabewerte haben sollten).</translation>
     </message>
     <message>
         <source>Specifies the maximum value in the input domain, the largest value the input value should take.</source>
-        <translation type="vanished">Gibt den Maximumwert im Eingabebereich an (der kleinste Wert, den Eingaben haben sollten).</translation>
+        <translation>Gibt den Maximumwert im Eingabebereich an (der kleinste Wert, den Eingaben haben sollten).</translation>
     </message>
     <message>
         <source>Specifies the minimum value in the output range, the smallest value which should be output by the function.</source>
-        <translation type="vanished">Gibt den Minimalwert im Ausgabebereich an (kleinster Wert der Ausgabe).</translation>
+        <translation>Gibt den Minimalwert im Ausgabebereich an (kleinster Wert der Ausgabe).</translation>
     </message>
     <message>
         <source>Specifies the maximum value in the output range, the largest value which should be output by the function.</source>
-        <translation type="vanished">Gibt den Maximalwert im Ausgabebereich an (größter Wert der Ausgabe).</translation>
+        <translation>Gibt den Maximalwert im Ausgabebereich an (größter Wert der Ausgabe).</translation>
     </message>
     <message>
         <source>A positive value (greater than 0), which dictates the way input values are mapped to the output range. Large exponents will cause the output values to 'ease in', starting slowly before accelerating as the input values approach the domain maximum. Smaller exponents (less than 1) will cause output values to 'ease out', where the mapping starts quickly but slows as it approaches the domain maximum.</source>
-        <translation type="vanished">Ein positiver Wert (größer als 0), der vorgibt wie Eingangswerte auf einen Ausgangsbereich abgebildet werden. Große Exponenten (größer 1) sorgen dafür das die Ausgabewerte 'eingleiten', langsam beginnend und mit zunehmender Nähe zum Bereichsende immer schneller zunehmend. Kleine Exponenten (kleiner 1) sorgen für Ausgabewerte die 'abnehmen' bei der die Abbildung schnell beginnt und sich verlangsamt je näher die sich dem Bereichsende [...]
+        <translation>Ein positiver Wert (größer als 0), der vorgibt wie Eingangswerte auf einen Ausgangsbereich abgebildet werden. Große Exponenten (größer 1) sorgen dafür das die Ausgabewerte 'eingleiten', langsam beginnend und mit zunehmender Nähe zum Bereichsende immer schneller zunehmend. Kleine Exponenten (kleiner 1) sorgen für Ausgabewerte die 'abnehmen' bei der die Abbildung schnell beginnt und sich verlangsamt je näher die sich dem Bereichsende nähert.</translation>
     </message>
     <message>
         <source>scale_exp(5,0,10,0,100,2)</source>
-        <translation type="vanished">scale_exp(5,0,10,0,100,2)</translation>
+        <translation>scale_exp(5,0,10,0,100,2)</translation>
     </message>
     <message>
         <source>25</source>
-        <translation type="vanished">25</translation>
+        <translation>25</translation>
     </message>
     <message>
         <source>easing in, using an exponent of 2</source>
-        <translation type="vanished">einpassen mit einem Exponent von 2</translation>
+        <translation>einpassen mit einem Exponent von 2</translation>
     </message>
     <message>
         <source>scale_exp(3,0,10,0,100,0.5)</source>
-        <translation type="vanished">scale_exp(3,0,10,0,100,0.5)</translation>
+        <translation>scale_exp(3,0,10,0,100,0.5)</translation>
     </message>
     <message>
         <source>54.772</source>
-        <translation type="vanished">54.772</translation>
+        <translation>54.772</translation>
     </message>
     <message>
         <source>easing out, using an exponent of 0.5</source>
-        <translation type="vanished">abnehmend, mit einem Exponent von 0.5</translation>
+        <translation>abnehmend, mit einem Exponent von 0.5</translation>
     </message>
     <message>
         <source>Transforms a given value from an input domain to an output range using linear interpolation.</source>
-        <translation type="vanished">Wandelt einen gegebenen Wert des Eingabe- mit linearer Interpolation in einen Ausgabebereich.</translation>
+        <translation>Wandelt einen gegebenen Wert des Eingabe- mit linearer Interpolation in einen Ausgabebereich.</translation>
     </message>
     <message>
         <source>scale_linear</source>
-        <translation type="vanished">scale_linear</translation>
+        <translation>scale_linear</translation>
     </message>
     <message>
         <source>scale_linear(5,0,10,0,100)</source>
-        <translation type="vanished">scale_linear(5,0,10,0,100)</translation>
+        <translation>scale_linear(5,0,10,0,100)</translation>
     </message>
     <message>
         <source>72</source>
-        <translation type="vanished">72</translation>
+        <translation>72</translation>
     </message>
     <message>
         <source>scale_linear(0.2,0,1,0,360)</source>
-        <translation type="vanished">scale_linear(0.2,0,1,0,360)</translation>
+        <translation>scale_linear(0.2,0,1,0,360)</translation>
     </message>
     <message>
         <source>scaling a value between 0 and 1 to an angle between 0 and 360</source>
-        <translation type="vanished">Skalierung eines Wert zwschen 0 und 1 auf einen Winkel zwischen 0 und 360</translation>
+        <translation>Skalierung eines Wert zwschen 0 und 1 auf einen Winkel zwischen 0 und 360</translation>
     </message>
     <message>
         <source>scale_linear(1500,1000,10000,9,20)</source>
-        <translation type="vanished">scale_linear(1500,1000,10000,9,20)</translation>
+        <translation>scale_linear(1500,1000,10000,9,20)</translation>
     </message>
     <message>
         <source>10.22</source>
-        <translation type="vanished">10.22</translation>
+        <translation>10.22</translation>
     </message>
     <message>
         <source>scaling a population which varies between 1000 and 10000 to a font size between 9 and 20</source>
-        <translation type="vanished">Abbildung einer Bevölkerung die zwischen 1000 und 10000 schwankt auf einen Schriftgröße zwischen 9 und 20</translation>
+        <translation>Abbildung einer Bevölkerung die zwischen 1000 und 10000 schwankt auf einen Schriftgröße zwischen 9 und 20</translation>
     </message>
     <message>
         <source>Extract the seconds part from a datetime or time, or the number of seconds from an interval.</source>
-        <translation type="vanished">Bestimmt den Sekundenteil aus einem Datum oder die Sekundenzahl aus einem Intervall.</translation>
+        <translation>Bestimmt den Sekundenteil aus einem Datum oder die Sekundenzahl aus einem Intervall.</translation>
     </message>
     <message>
         <source>Extract the seconds part from a time or datetime.</source>
-        <translation type="vanished">Bestimmt den Sekundenteil aus einem Datum oder ein Zeitpunkt.</translation>
+        <translation>Bestimmt den Sekundenteil aus einem Datum oder ein Zeitpunkt.</translation>
     </message>
     <message>
         <source>second('2012-07-22T13:24:57')</source>
-        <translation type="vanished">second('2012-07-22T13:24:57')</translation>
+        <translation>second('2012-07-22T13:24:57')</translation>
     </message>
     <message>
         <source>57</source>
-        <translation type="vanished">57</translation>
+        <translation>57</translation>
     </message>
     <message>
         <source>Calculate the length in seconds of an interval.</source>
-        <translation type="vanished">Berechnet die Länge eines Intervalls in Sekunden.</translation>
+        <translation>Berechnet die Länge eines Intervalls in Sekunden.</translation>
     </message>
     <message>
         <source>interval value to return number of seconds from</source>
-        <translation type="vanished">Intervallwert aus dem die Sekundenzahl bestimmt werden soll</translation>
+        <translation>Intervallwert aus dem die Sekundenzahl bestimmt werden soll</translation>
     </message>
     <message>
         <source>second(age('2012-07-22T00:20:00','2012-07-22T00:00:00'))</source>
-        <translation type="vanished">second(age('2012-07-22T00:20:00','2012-07-22T00:00:00'))</translation>
+        <translation>second(age('2012-07-22T00:20:00','2012-07-22T00:00:00'))</translation>
     </message>
     <message>
         <source>1200</source>
-        <translation type="vanished">1200</translation>
+        <translation>1200</translation>
     </message>
     <message>
         <source>second(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">second(age('2012-01-01','2010-01-01'))</translation>
+        <translation>second(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>63072000</source>
-        <translation type="vanished">63072000</translation>
+        <translation>63072000</translation>
     </message>
     <message>
         <source>Returns a multi line geometry consisting of a line for every segment in the input geometry.</source>
-        <translation type="vanished">Liefert einen Multilinegeometry bestehend aus eine Linie für jedes Segment der Eingabegeometrie.</translation>
+        <translation>Liefert einen Multilinegeometry bestehend aus eine Linie für jedes Segment der Eingabegeometrie.</translation>
     </message>
     <message>
         <source>segments_to_lines</source>
-        <translation type="vanished">segments_to_lines</translation>
+        <translation>segments_to_lines</translation>
     </message>
     <message>
         <source>geom_to_wkt(segments_to_lines(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)')))</source>
-        <translation type="vanished">geom_to_wkt(segments_to_lines(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)')))</translation>
+        <translation>geom_to_wkt(segments_to_lines(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)')))</translation>
     </message>
     <message>
         <source>'MultiLineString ((0 0, 1 1),(1 1, 2 2))'</source>
-        <translation type="vanished">'MultiLineString ((0 0, 1 1),(1 1, 2 2))'</translation>
+        <translation>'MultiLineString ((0 0, 1 1),(1 1, 2 2))'</translation>
     </message>
     <message>
         <source>Sets a specific color component for a color string, eg the red component or alpha component.</source>
@@ -63494,167 +63793,167 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>set_color_part</source>
-        <translation type="vanished">set_color_part</translation>
+        <translation>set_color_part</translation>
     </message>
     <message>
         <source>a string corresponding to the color component to set. Valid options are:<br /><ul><li>red: RGB red component (0-255)</li><li>green: RGB green component (0-255)</li><li>blue: RGB blue component (0-255)</li><li>alpha: alpha (transparency) value (0-255)</li><li>hue: HSV hue (0-360)</li><li>saturation: HSV saturation (0-100)</li><li>value: HSV value (0-100)</li><li>hsl_hue: H [...]
-        <translation type="vanished">eine mit der gewünschten Komponente korrespondierende Zeichenkette. Gültige Werte sind:<br /><ul><li>red: RGB-Rotkomponente (0-255)</li><li>green: RGB-Grünkomponente (0-255)</li><li>blue: RGB-Blaukomponente (0-255)</li><li>alpha: Alpha-(Transparenz)-Wert (0-255)</li><li>hue: HSV-Farbton (0-360)</li><li>saturation: HSV-Sättigung (0-100)</li><li>value: HSV-Wert (0- [...]
+        <translation>eine mit der gewünschten Komponente korrespondierende Zeichenkette. Gültige Werte sind:<br /><ul><li>red: RGB-Rotkomponente (0-255)</li><li>green: RGB-Grünkomponente (0-255)</li><li>blue: RGB-Blaukomponente (0-255)</li><li>alpha: Alpha-(Transparenz)-Wert (0-255)</li><li>hue: HSV-Farbton (0-360)</li><li>saturation: HSV-Sättigung (0-100)</li><li>value: HSV-Wert (0-100)</li>& [...]
     </message>
     <message>
         <source>new value for color component, respecting the ranges listed above</source>
-        <translation type="vanished">Neuer Wert für Farbkomponente in den obigen Grenzen</translation>
+        <translation>Neuer Wert für Farbkomponente in den obigen Grenzen</translation>
     </message>
     <message>
         <source>set_color_part('200,10,30','green',50)</source>
-        <translation type="vanished">set_color_part('200,10,30','green',50)</translation>
+        <translation>set_color_part('200,10,30','green',50)</translation>
     </message>
     <message>
         <source>200,50,30</source>
-        <translation type="vanished">200,50,30</translation>
+        <translation>200,50,30</translation>
     </message>
     <message>
         <source>Returns the shortest line joining geometry 1 to geometry 2. The resultant line will start at geometry 1 and end at geometry 2.</source>
-        <translation type="vanished">Liefert die kürzeste Linie, die Geometrie 1 und Geometrie 2 verbindet. Die resultierende Linie beginnt bei Geometrie 1 und endet bei Geometrie 2.</translation>
+        <translation>Liefert die kürzeste Linie, die Geometrie 1 und Geometrie 2 verbindet. Die resultierende Linie beginnt bei Geometrie 1 und endet bei Geometrie 2.</translation>
     </message>
     <message>
         <source>shortest_line</source>
-        <translation type="vanished">shortest_line</translation>
+        <translation>shortest_line</translation>
     </message>
     <message>
         <source>geometry to find shortest line from</source>
-        <translation type="vanished">Geometrie auf der die kürzeste Linie gefunden werden soll</translation>
+        <translation>Geometrie auf der die kürzeste Linie gefunden werden soll</translation>
     </message>
     <message>
         <source>geometry to find shortest line to</source>
-        <translation type="vanished">Geometrie zu der die kürzeste Linie gefunden werden soll</translation>
+        <translation>Geometrie zu der die kürzeste Linie gefunden werden soll</translation>
     </message>
     <message>
         <source>geom_to_wkt(shortest_line(geom_from_wkt('LINESTRING (20 80, 98 190, 110 180, 50 75 )'),geom_from_wkt('POINT(100 100)')))</source>
-        <translation type="vanished">geom_to_wkt(shortest_line(geom_from_wkt('LINESTRING (20 80, 98 190, 110 180, 50 75 )'),geom_from_wkt('POINT(100 100)')))</translation>
+        <translation>geom_to_wkt(shortest_line(geom_from_wkt('LINESTRING (20 80, 98 190, 110 180, 50 75 )'),geom_from_wkt('POINT(100 100)')))</translation>
     </message>
     <message>
         <source>LineString(73.0769 115.384, 100 100)</source>
-        <translation type="vanished">LineString(73.0769 115.384, 100 100)</translation>
+        <translation>LineString(73.0769 115.384, 100 100)</translation>
     </message>
     <message>
         <source>Returns the sine of an angle.</source>
-        <translation type="vanished">Liefert den Sinus eines Winkels.</translation>
+        <translation>Liefert den Sinus eines Winkels.</translation>
     </message>
     <message>
         <source>sin</source>
-        <translation type="vanished">sin</translation>
+        <translation>sin</translation>
     </message>
     <message>
         <source>sin(1.571)</source>
-        <translation type="vanished">sin(1.571)</translation>
+        <translation>sin(1.571)</translation>
     </message>
     <message>
         <source>0.999999682931835</source>
-        <translation type="vanished">0.999999682931835</translation>
+        <translation>0.999999682931835</translation>
     </message>
     <message>
         <source>Returns the Soundex representation of a string. Soundex is a phonetic matching algorithm, so strings with similar sounds should be represented by the same Soundex code.</source>
-        <translation type="vanished">Leifert die Soundex-Darstellung einer Zeichenkette.  Soundex ist ein phonetischer Vergleichsalgorithmus, daher sollten Zeichenketten, die ähnlich klingen, die gleiche Darstellung als Soundex-Code haben.</translation>
+        <translation>Leifert die Soundex-Darstellung einer Zeichenkette.  Soundex ist ein phonetischer Vergleichsalgorithmus, daher sollten Zeichenketten, die ähnlich klingen, die gleiche Darstellung als Soundex-Code haben.</translation>
     </message>
     <message>
         <source>soundex</source>
-        <translation type="vanished">soundex</translation>
+        <translation>soundex</translation>
     </message>
     <message>
         <source>soundex('robert')</source>
-        <translation type="vanished">soundex('robert')</translation>
+        <translation>soundex('robert')</translation>
     </message>
     <message>
         <source>'R163'</source>
-        <translation type="vanished">'R163'</translation>
+        <translation>'R163'</translation>
     </message>
     <message>
         <source>soundex('rupert')</source>
-        <translation type="vanished">soundex('rupert')</translation>
+        <translation>soundex('rupert')</translation>
     </message>
     <message>
         <source>soundex('rubin')</source>
-        <translation type="vanished">soundex('rubin')</translation>
+        <translation>soundex('rubin')</translation>
     </message>
     <message>
         <source>'R150'</source>
-        <translation type="vanished">'R150'</translation>
+        <translation>'R150'</translation>
     </message>
     <message>
         <source>Returns square root of a value.</source>
-        <translation type="vanished">Liefert die Quadratwurzel eines Werts.</translation>
+        <translation>Liefert die Quadratwurzel eines Werts.</translation>
     </message>
     <message>
         <source>sqrt</source>
-        <translation type="vanished">sqrt</translation>
+        <translation>sqrt</translation>
     </message>
     <message>
         <source>sqrt(9)</source>
-        <translation type="vanished">sqrt(9)</translation>
+        <translation>sqrt(9)</translation>
     </message>
     <message>
         <source>Returns the first node from a geometry.</source>
-        <translation type="vanished">Liefert den ersten Knoten einer Geometrie.</translation>
+        <translation>Liefert den ersten Knoten einer Geometrie.</translation>
     </message>
     <message>
         <source>start_point</source>
-        <translation type="vanished">start_point</translation>
+        <translation>start_point</translation>
     </message>
     <message>
         <source>geom_to_wkt(start_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</source>
-        <translation type="vanished">geom_to_wkt(start_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</translation>
+        <translation>geom_to_wkt(start_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</translation>
     </message>
     <message>
         <source>Returns the aggregate standard deviation value from a field or expression.</source>
-        <translation type="vanished">Liefert den aggregierten Standardabweichungswert eines Felds oder Ausdrucks.</translation>
+        <translation>Liefert den aggregierten Standardabweichungswert eines Felds oder Ausdrucks.</translation>
     </message>
     <message>
         <source>stdev</source>
-        <translation type="vanished">stdev</translation>
+        <translation>stdev</translation>
     </message>
     <message>
         <source>stdev("population",group_by:="state")</source>
-        <translation type="vanished">stdev("population",group_by:="state")</translation>
+        <translation>stdev("population",group_by:="state")</translation>
     </message>
     <message>
         <source>standard deviation of population value, grouped by state field</source>
-        <translation type="vanished">Standardabweichung des Feld population gruppiert nach Feld state</translation>
+        <translation>Standardabweichung des Feld population gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Return the first matching position of a substring within another string, or 0 if the substring is not found.</source>
-        <translation type="vanished">Liefert die Position der ersten Fundstelle einer Zeichenkette in einer anderen oder 0, wenn die Teilzeichenkette nicht gefunden wurde.</translation>
+        <translation>Liefert die Position der ersten Fundstelle einer Zeichenkette in einer anderen oder 0, wenn die Teilzeichenkette nicht gefunden wurde.</translation>
     </message>
     <message>
         <source>strpos</source>
-        <translation type="vanished">strpos</translation>
+        <translation>strpos</translation>
     </message>
     <message>
         <source>string that is to be searched</source>
-        <translation type="vanished">zu durchsuchende Zeichenkette</translation>
+        <translation>zu durchsuchende Zeichenkette</translation>
     </message>
     <message>
         <source>string to search for</source>
-        <translation type="vanished">Zu suchende Zeichenkette</translation>
+        <translation>Zu suchende Zeichenkette</translation>
     </message>
     <message>
         <source>strpos('HELLO WORLD','WORLD')</source>
-        <translation type="vanished">strpos('HALLO WELT','WELT')</translation>
+        <translation>strpos('HALLO WELT','WELT')</translation>
     </message>
     <message>
         <source>strpos('HELLO WORLD','GOODBYE')</source>
-        <translation type="vanished">strpos('HALLO WELT','TSCHUESS')</translation>
+        <translation>strpos('HALLO WELT','TSCHUESS')</translation>
     </message>
     <message>
         <source>Returns a part of a string.</source>
-        <translation type="vanished">Liefert eine Teilzeichenkette.</translation>
+        <translation>Liefert eine Teilzeichenkette.</translation>
     </message>
     <message>
         <source>substr</source>
-        <translation type="vanished">substr</translation>
+        <translation>substr</translation>
     </message>
     <message>
         <source>the full input string</source>
-        <translation type="vanished">Die ganze Eingabezeichenkette</translation>
+        <translation>Die ganze Eingabezeichenkette</translation>
     </message>
     <message>
         <source>integer representing start position to extract from</source>
@@ -63666,635 +63965,635 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>substr('HELLO WORLD',3,5)</source>
-        <translation type="vanished">substr('HALLO WELT',3,5)</translation>
+        <translation>substr('HALLO WELT',3,5)</translation>
     </message>
     <message>
         <source>'LLO W'</source>
-        <translation type="vanished">'LLO W'</translation>
+        <translation>'LLO W'</translation>
     </message>
     <message>
         <source>substr('HELLO WORLD',6)</source>
-        <translation type="vanished">substr('HELLO WORLD',3,5) {6)?}</translation>
+        <translation>substr('HELLO WORLD',3,5) {6)?}</translation>
     </message>
     <message>
         <source>'WORLD'</source>
-        <translation type="vanished">'WORLD'</translation>
+        <translation>'WORLD'</translation>
     </message>
     <message>
         <source>substr('HELLO WORLD',-5)</source>
-        <translation type="vanished">substr('HELLO WORLD',-5)</translation>
+        <translation>substr('HELLO WORLD',-5)</translation>
     </message>
     <message>
         <source>substr('HELLO',3,-1)</source>
-        <translation type="vanished">substr('HELLO',3,-1)</translation>
+        <translation>substr('HELLO',3,-1)</translation>
     </message>
     <message>
         <source>'LL'</source>
-        <translation type="vanished">'LL'</translation>
+        <translation>'LL'</translation>
     </message>
     <message>
         <source>substr('HELLO WORLD',-5,2)</source>
-        <translation type="vanished">substr('HELLO WORLD',-5,2)</translation>
+        <translation>substr('HELLO WORLD',-5,2)</translation>
     </message>
     <message>
         <source>'WO'</source>
-        <translation type="vanished">'WO'</translation>
+        <translation>'WO'</translation>
     </message>
     <message>
         <source>substr('HELLO WORLD',-5,-1)</source>
-        <translation type="vanished">substr('HELLO WORLD',-5,-1)</translation>
+        <translation>substr('HELLO WORLD',-5,-1)</translation>
     </message>
     <message>
         <source>'WORL'</source>
-        <translation type="vanished">'WORL'</translation>
+        <translation>'WORL'</translation>
     </message>
     <message>
         <source>Returns the aggregate summed value from a field or expression.</source>
-        <translation type="vanished">Liefert den aggregierte summierten Wert eines Feldes oder eines Ausdrucks.</translation>
+        <translation>Liefert den aggregierte summierten Wert eines Feldes oder eines Ausdrucks.</translation>
     </message>
     <message>
         <source>sum</source>
-        <translation type="vanished">Summe</translation>
+        <translation>Summe</translation>
     </message>
     <message>
         <source>sum("population",group_by:="state")</source>
-        <translation type="vanished">sum("population",group_by:="state")</translation>
+        <translation>sum("population",group_by:="state")</translation>
     </message>
     <message>
         <source>summed population value, grouped by state field</source>
-        <translation type="vanished">summierter Wert von population, gruppiert nach Feld state</translation>
+        <translation>summierter Wert von population, gruppiert nach Feld state</translation>
     </message>
     <message>
         <source>Returns a geometry that represents the portions of two geometries that do not intersect.</source>
-        <translation type="vanished">Liefert eine Geometrie, die die Teile von zwei Geometrien enthält, die sich nicht überschneiden.</translation>
+        <translation>Liefert eine Geometrie, die die Teile von zwei Geometrien enthält, die sich nicht überschneiden.</translation>
     </message>
     <message>
         <source>sym_difference</source>
-        <translation type="vanished">sym_difference</translation>
+        <translation>sym_difference</translation>
     </message>
     <message>
         <source>geom_to_wkt( sym_difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 8 8)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( sym_difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 8 8)' ) ) )</translation>
+        <translation>geom_to_wkt( sym_difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 8 8)' ) ) )</translation>
     </message>
     <message>
         <source>LINESTRING(5 5, 8 8)</source>
-        <translation type="vanished">LINESTRING(5 5, 8 8)</translation>
+        <translation>LINESTRING(5 5, 8 8)</translation>
     </message>
     <message>
         <source>Returns the tangent of an angle.</source>
-        <translation type="vanished">Liefert den Tangens eines Winkels.</translation>
+        <translation>Liefert den Tangens eines Winkels.</translation>
     </message>
     <message>
         <source>tan</source>
-        <translation type="vanished">tan</translation>
+        <translation>tan</translation>
     </message>
     <message>
         <source>tan(1.0)</source>
-        <translation type="vanished">tan(1.0)</translation>
+        <translation>tan(1.0)</translation>
     </message>
     <message>
         <source>1.5574077246549</source>
-        <translation type="vanished">1.5574077246549</translation>
+        <translation>1.5574077246549</translation>
     </message>
     <message>
         <source>Converts all words of a string to title case (all words lower case with leading capital letter).</source>
-        <translation type="vanished">Wandelt alle Wörter einer Zeilenkette ins Titelformat (alle Wörter in Kleinbuchstaben bis auf die Anfangsbuchstaben in Großbuchstaben).</translation>
+        <translation>Wandelt alle Wörter einer Zeilenkette ins Titelformat (alle Wörter in Kleinbuchstaben bis auf die Anfangsbuchstaben in Großbuchstaben).</translation>
     </message>
     <message>
         <source>title</source>
-        <translation type="vanished">title</translation>
+        <translation>title</translation>
     </message>
     <message>
         <source>the string to convert to title case</source>
-        <translation type="vanished">In Titelformat umzuwandelnde Zeichenkette</translation>
+        <translation>In Titelformat umzuwandelnde Zeichenkette</translation>
     </message>
     <message>
         <source>title('hello WOrld')</source>
-        <translation type="vanished">title('hallo WElt')</translation>
+        <translation>title('hallo WElt')</translation>
     </message>
     <message>
         <source>'Hello World'</source>
-        <translation type="vanished">'Hallo Welt'</translation>
+        <translation>'Hallo Welt'</translation>
     </message>
     <message>
         <source>Convert a string into a date object.</source>
-        <translation type="vanished">In eine Datumsobjekt umzuwandelnde Zeichenkette.</translation>
+        <translation>In eine Datumsobjekt umzuwandelnde Zeichenkette.</translation>
     </message>
     <message>
         <source>to_date</source>
-        <translation type="vanished">to_date</translation>
+        <translation>to_date</translation>
     </message>
     <message>
         <source>string representing a date value</source>
-        <translation type="vanished">Datum als Zeichenkette</translation>
+        <translation>Datum als Zeichenkette</translation>
     </message>
     <message>
         <source>to_date('2012-05-04')</source>
-        <translation type="vanished">to_date('2012-05-04')</translation>
+        <translation>to_date('2012-05-04')</translation>
     </message>
     <message>
         <source>2012-05-04</source>
-        <translation type="vanished">2012-05-04</translation>
+        <translation>2012-05-04</translation>
     </message>
     <message>
         <source>Convert a string into a datetime object.</source>
-        <translation type="vanished">In eine Zeitpunktobjekt umzuwandelnde Zeichenkette.</translation>
+        <translation>In eine Zeitpunktobjekt umzuwandelnde Zeichenkette.</translation>
     </message>
     <message>
         <source>to_datetime</source>
-        <translation type="vanished">to_datetime</translation>
+        <translation>to_datetime</translation>
     </message>
     <message>
         <source>string representing a datetime value</source>
-        <translation type="vanished">Zeitpunkt als Zeichenkette</translation>
+        <translation>Zeitpunkt als Zeichenkette</translation>
     </message>
     <message>
         <source>to_datetime('2012-05-04 12:50:00')</source>
-        <translation type="vanished">to_datetime('2012-05-04 12:50:00')</translation>
+        <translation>to_datetime('2012-05-04 12:50:00')</translation>
     </message>
     <message>
         <source>2012-05-04T12:50:00</source>
-        <translation type="vanished">2012-05-04T12:50:00</translation>
+        <translation>2012-05-04T12:50:00</translation>
     </message>
     <message>
         <source>Converts a string to integer number. Nothing is returned if a value cannot be converted to integer (e.g '123asd' is invalid).</source>
-        <translation type="vanished">Wandelt eine Zeichenkette in eine ganze Zahl. Es wird nichts zurückgeben, wenn die Umwandlung fehlschlägt (z.B. ist '123asd' ungültig).</translation>
+        <translation>Wandelt eine Zeichenkette in eine ganze Zahl. Es wird nichts zurückgeben, wenn die Umwandlung fehlschlägt (z.B. ist '123asd' ungültig).</translation>
     </message>
     <message>
         <source>to_int</source>
-        <translation type="vanished">to_int</translation>
+        <translation>to_int</translation>
     </message>
     <message>
         <source>string to convert to integer number</source>
-        <translation type="vanished">in eine ganze Zahl umzuwandelne Zeichenkette</translation>
+        <translation>in eine ganze Zahl umzuwandelne Zeichenkette</translation>
     </message>
     <message>
         <source>to_int('123')</source>
-        <translation type="vanished">to_int('123')</translation>
+        <translation>to_int('123')</translation>
     </message>
     <message>
         <source>123</source>
-        <translation type="vanished">123</translation>
+        <translation>123</translation>
     </message>
     <message>
         <source>Converts a string to a interval type.  Can be used to take days, hours, month, etc of a date.</source>
-        <translation type="vanished">Wandelt eine Zeichenkette in einen Intervalltyp.  Kann für Tage, Stunden, Monate usw. eines Datum verwendet werden.</translation>
+        <translation>Wandelt eine Zeichenkette in einen Intervalltyp.  Kann für Tage, Stunden, Monate usw. eines Datum verwendet werden.</translation>
     </message>
     <message>
         <source>to_interval</source>
-        <translation type="vanished">to_interval</translation>
+        <translation>to_interval</translation>
     </message>
     <message>
         <source>a string representing an interval. Allowable formats include {n} days {n} hours {n} months.</source>
-        <translation type="vanished">Eine Zeichenkette, die das Intervall darstellt. Erlaubte Formate sind {n} days {n} hours {n} months.</translation>
+        <translation>Eine Zeichenkette, die das Intervall darstellt. Erlaubte Formate sind {n} days {n} hours {n} months.</translation>
     </message>
     <message>
         <source>to_datetime('2012-05-05 12:00:00') - to_interval('1 day 2 hours')</source>
-        <translation type="vanished">to_datetime('2012-05-05 12:00:00') - to_interval('1 day 2 hours')</translation>
+        <translation>to_datetime('2012-05-05 12:00:00') - to_interval('1 day 2 hours')</translation>
     </message>
     <message>
         <source>2012-05-04T10:00:00</source>
-        <translation type="vanished">2012-05-04T10:00:00</translation>
+        <translation>2012-05-04T10:00:00</translation>
     </message>
     <message>
         <source>Converts a string to a real number. Nothing is returned if a value cannot be converted to real (e.g '123.56asd' is invalid).  Numbers are rounded after saving changes if the precision is smaller than the result of the conversion.</source>
-        <translation type="vanished">Wandelt eine Zeichenkette in eine Fließkommazahl. Es wird nichts zurückgeben, wenn die Umwandlung fehlschlägt (z.B. ist '123.56asd' ungültig).  Zahlen werden beim Speichern gerundet, wenn die Genauigkeit kleiner als die der Umwandelung ist.</translation>
+        <translation>Wandelt eine Zeichenkette in eine Fließkommazahl. Es wird nichts zurückgeben, wenn die Umwandlung fehlschlägt (z.B. ist '123.56asd' ungültig).  Zahlen werden beim Speichern gerundet, wenn die Genauigkeit kleiner als die der Umwandelung ist.</translation>
     </message>
     <message>
         <source>to_real</source>
-        <translation type="vanished">to_real</translation>
+        <translation>to_real</translation>
     </message>
     <message>
         <source>string to convert to real number</source>
-        <translation type="vanished">in eine Fließkommazahl umzuwandelne Zeichenkette</translation>
+        <translation>in eine Fließkommazahl umzuwandelne Zeichenkette</translation>
     </message>
     <message>
         <source>to_real('123.45')</source>
-        <translation type="vanished">to_real('123.45')</translation>
+        <translation>to_real('123.45')</translation>
     </message>
     <message>
         <source>123.45</source>
-        <translation type="vanished">123.45</translation>
+        <translation>123.45</translation>
     </message>
     <message>
         <source>Converts a number to string.</source>
-        <translation type="vanished">Wandelte eine Zahl in eine Zeichenkette.</translation>
+        <translation>Wandelte eine Zahl in eine Zeichenkette.</translation>
     </message>
     <message>
         <source>to_string</source>
-        <translation type="vanished">to_string</translation>
+        <translation>to_string</translation>
     </message>
     <message>
         <source>Integer or real value. The number to convert to string.</source>
-        <translation type="vanished">ganze oder Fließkommazahl. Die umzuwandelnde Zahl.</translation>
+        <translation>ganze oder Fließkommazahl. Die umzuwandelnde Zahl.</translation>
     </message>
     <message>
         <source>to_string(123)</source>
-        <translation type="vanished">to_string(123)</translation>
+        <translation>to_string(123)</translation>
     </message>
     <message>
         <source>Convert a string into a time object.</source>
-        <translation type="vanished">Wandelt eine Zeichenkette in ein Zeitobjekt.</translation>
+        <translation>Wandelt eine Zeichenkette in ein Zeitobjekt.</translation>
     </message>
     <message>
         <source>to_time</source>
-        <translation type="vanished">to_time</translation>
+        <translation>to_time</translation>
     </message>
     <message>
         <source>string representing a time value</source>
-        <translation type="vanished">Zeitwert als Zeichenkette</translation>
+        <translation>Zeitwert als Zeichenkette</translation>
     </message>
     <message>
         <source>to_time('12:30:01')</source>
-        <translation type="vanished">to_time('12:30:01')</translation>
+        <translation>to_time('12:30:01')</translation>
     </message>
     <message>
         <source>12:30:01</source>
-        <translation type="vanished">12:30:01</translation>
+        <translation>12:30:01</translation>
     </message>
     <message>
         <source>Tests whether a geometry touches another. Returns true if the geometries have at least one point in common, but their interiors do not intersect.</source>
-        <translation type="vanished">Prüft, ob sich zwei Geometrien berühren. Liefert wahr, wenn sich die Geometrien mindestens einen Punkt gemeinsam haben, aber deren Inneres sich nicht überschneidet.</translation>
+        <translation>Prüft, ob sich zwei Geometrien berühren. Liefert wahr, wenn sich die Geometrien mindestens einen Punkt gemeinsam haben, aber deren Inneres sich nicht überschneidet.</translation>
     </message>
     <message>
         <source>touches</source>
-        <translation type="vanished">touches</translation>
+        <translation>touches</translation>
     </message>
     <message>
         <source>touches( geom_from_wkt( 'LINESTRING(5 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">touches( geom_from_wkt( 'LINESTRING(5 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>touches( geom_from_wkt( 'LINESTRING(5 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>touches( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) )</source>
-        <translation type="vanished">touches( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) )</translation>
+        <translation>touches( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) )</translation>
     </message>
     <message>
         <source>Returns the geometry transformed from a source CRS to a destination CRS.</source>
-        <translation type="vanished">Liefert die vom Quell-KBS in das Ziel-KBS transformierte Geometrie.</translation>
+        <translation>Liefert die vom Quell-KBS in das Ziel-KBS transformierte Geometrie.</translation>
     </message>
     <message>
         <source>transform</source>
-        <translation type="vanished">transform</translation>
+        <translation>transform</translation>
     </message>
     <message>
         <source>the source auth CRS ID</source>
-        <translation type="vanished">die Quell-KBS-Kennung</translation>
+        <translation>die Quell-KBS-Kennung</translation>
     </message>
     <message>
         <source>the destination auth CRS ID</source>
-        <translation type="vanished">die Ziel-KBS-Kennung</translation>
+        <translation>die Ziel-KBS-Kennung</translation>
     </message>
     <message>
         <source>geom_to_wkt( transform( $geometry, 'EPSG:2154', 'EPSG:4326' ) )</source>
-        <translation type="vanished">geom_to_wkt( transform( $geometry, 'EPSG:2154', 'EPSG:4326' ) )</translation>
+        <translation>geom_to_wkt( transform( $geometry, 'EPSG:2154', 'EPSG:4326' ) )</translation>
     </message>
     <message>
         <source>POINT(0 51)</source>
-        <translation type="vanished">POINT(0 51)</translation>
+        <translation>POINT(0 51)</translation>
     </message>
     <message>
         <source>Returns a translated version of a geometry. Calculations are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Liefert die verschobenen Version einer Geometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie.</translation>
+        <translation>Liefert die verschobenen Version einer Geometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie.</translation>
     </message>
     <message>
         <source>translate</source>
-        <translation type="vanished">translate</translation>
+        <translation>translate</translation>
     </message>
     <message>
         <source>delta x</source>
-        <translation type="vanished">delta x</translation>
+        <translation>delta x</translation>
     </message>
     <message>
         <source>delta y</source>
-        <translation type="vanished">delta y</translation>
+        <translation>delta y</translation>
     </message>
     <message>
         <source>translate($geometry, 5, 10)</source>
-        <translation type="vanished">translate($geometry, 5, 10)</translation>
+        <translation>translate($geometry, 5, 10)</translation>
     </message>
     <message>
         <source>a geometry of the same type like the original one</source>
-        <translation type="vanished">eine Geometrie des gleichen Typs wie die ursprüngliche</translation>
+        <translation>eine Geometrie des gleichen Typs wie die ursprüngliche</translation>
     </message>
     <message>
         <source>Removes all leading and trailing whitespace (spaces, tabs, etc) from a string.</source>
-        <translation type="vanished">Entfernt Leerzeichen am Anfang und Ende einer Zeichenkette (Leerzeichen, Tabulatoren usw).</translation>
+        <translation>Entfernt Leerzeichen am Anfang und Ende einer Zeichenkette (Leerzeichen, Tabulatoren usw).</translation>
     </message>
     <message>
         <source>trim</source>
-        <translation type="vanished">trim</translation>
+        <translation>trim</translation>
     </message>
     <message>
         <source>string to trim</source>
-        <translation type="vanished">zu kürzende Zeichenkette</translation>
+        <translation>zu kürzende Zeichenkette</translation>
     </message>
     <message>
         <source>trim('   hello world    ')</source>
-        <translation type="vanished">trim('   hallo welt    ')</translation>
+        <translation>trim('   hallo welt    ')</translation>
     </message>
     <message>
         <source>Returns a geometry that represents the point set union of the geometries.</source>
-        <translation type="vanished">Liefert eine Geometrie die alle Punkte der Geometrien umfaßt.</translation>
+        <translation>Liefert eine Geometrie die alle Punkte der Geometrien umfaßt.</translation>
     </message>
     <message>
         <source>union</source>
-        <translation type="vanished">union</translation>
+        <translation>union</translation>
     </message>
     <message>
         <source>geom_to_wkt( union( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( union( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) ) )</translation>
+        <translation>geom_to_wkt( union( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) ) )</translation>
     </message>
     <message>
         <source>MULTIPOINT(4 4, 5 5)</source>
-        <translation type="vanished">MULTIPOINT(4 4, 5 5)</translation>
+        <translation>MULTIPOINT(4 4, 5 5)</translation>
     </message>
     <message>
         <source>Converts a string to upper case letters.</source>
-        <translation type="vanished">Wandelt eine Zeichenkette in Großbuchstaben.</translation>
+        <translation>Wandelt eine Zeichenkette in Großbuchstaben.</translation>
     </message>
     <message>
         <source>upper</source>
-        <translation type="vanished">upper</translation>
+        <translation>upper</translation>
     </message>
     <message>
         <source>the string to convert to upper case</source>
-        <translation type="vanished">die in Großbuchstaben umzuwandelnde Zeichenkette</translation>
+        <translation>die in Großbuchstaben umzuwandelnde Zeichenkette</translation>
     </message>
     <message>
         <source>upper('hello WOrld')</source>
-        <translation type="vanished">upper('hallo WElt')</translation>
+        <translation>upper('hallo WElt')</translation>
     </message>
     <message>
         <source>'HELLO WORLD'</source>
-        <translation type="vanished">'HALLO WELT'</translation>
+        <translation>'HALLO WELT'</translation>
     </message>
     <message>
         <source>Generates a Universally Unique Identifier (UUID) for each row using the Qt <a href='http://qt-project.org/doc/qt-4.8/quuid.html#createUuid'>QUuid::createUuid</a>  method.  Each UUID is 38 characters long.</source>
-        <translation type="vanished">Erzeuge einen Universally Unique Identifier (UUID) für jede Zeile mit Qt-Methdode <a href='http://qt-project.org/doc/qt-4.8/quuid.html#createUuid'>QUuid::createUuid</a>. Jeder UUID ist 38 Zeichen lang.</translation>
+        <translation>Erzeuge einen Universally Unique Identifier (UUID) für jede Zeile mit Qt-Methdode <a href='http://qt-project.org/doc/qt-4.8/quuid.html#createUuid'>QUuid::createUuid</a>. Jeder UUID ist 38 Zeichen lang.</translation>
     </message>
     <message>
         <source>uuid</source>
-        <translation type="vanished">uuid</translation>
+        <translation>uuid</translation>
     </message>
     <message>
         <source>uuid()</source>
-        <translation type="vanished">uuid()</translation>
+        <translation>uuid()</translation>
     </message>
     <message>
         <source>'{0bd2f60f-f157-4a6d-96af-d4ba4cb366a1}'</source>
-        <translation type="vanished">'{0bd2f60f-f157-4a6d-96af-d4ba4cb366a1}'</translation>
+        <translation>'{0bd2f60f-f157-4a6d-96af-d4ba4cb366a1}'</translation>
     </message>
     <message>
         <source>Returns the value stored within a specified variable.</source>
-        <translation type="vanished">Liefert den Wert der angegebenen Variable.</translation>
+        <translation>Liefert den Wert der angegebenen Variable.</translation>
     </message>
     <message>
         <source>var</source>
-        <translation type="vanished">var</translation>
+        <translation>var</translation>
     </message>
     <message>
         <source>a variable name</source>
-        <translation type="vanished">ein Variablenname</translation>
+        <translation>ein Variablenname</translation>
     </message>
     <message>
         <source>var('qgis_version')</source>
-        <translation type="vanished">var('qgis_version')</translation>
+        <translation>var('qgis_version')</translation>
     </message>
     <message>
         <source>'2.12'</source>
-        <translation type="vanished">'2.12'</translation>
+        <translation>'2.12'</translation>
     </message>
     <message>
         <source>Extract the week number from a date, or the number of weeks from an interval.</source>
-        <translation type="vanished">Bestimmt die  Wochennummer aus einem Datum oder die Anzahl der Wochen aus einem Intervall.</translation>
+        <translation>Bestimmt die  Wochennummer aus einem Datum oder die Anzahl der Wochen aus einem Intervall.</translation>
     </message>
     <message>
         <source>Extract the week number from a date or datetime.</source>
-        <translation type="vanished">Bestimmt die Wochennummer aus einem Datum oder ein Zeitpunkt.</translation>
+        <translation>Bestimmt die Wochennummer aus einem Datum oder ein Zeitpunkt.</translation>
     </message>
     <message>
         <source>week('2012-05-12')</source>
-        <translation type="vanished">week('2012-05-12')</translation>
+        <translation>week('2012-05-12')</translation>
     </message>
     <message>
         <source>19</source>
-        <translation type="vanished">19</translation>
+        <translation>19</translation>
     </message>
     <message>
         <source>Calculate the length in weeks of an interval.</source>
-        <translation type="vanished">Berechnet die Länge eines Intervalls in Wochen.</translation>
+        <translation>Berechnet die Länge eines Intervalls in Wochen.</translation>
     </message>
     <message>
         <source>week(tointerval('3 weeks'))</source>
-        <translation type="vanished">week(tointerval('3 weeks'))</translation>
+        <translation>week(tointerval('3 weeks'))</translation>
     </message>
     <message>
         <source>week(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">week(age('2012-01-01','2010-01-01'))</translation>
+        <translation>week(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>104.285</source>
-        <translation type="vanished">104.285</translation>
+        <translation>104.285</translation>
     </message>
     <message>
         <source>This function sets a variable for any expression code that will be provided as 3rd argument. This is only useful for complicated expressions, where the same calculated value needs to be used in different places.</source>
-        <translation type="vanished">Diese Funktion setzt eine Variable für jeden als drittes Argument übergebenen Ausdruckscode. Dies ist nur komplizierte Ausdrücke nützlich, deren berechneter Wert an mehreren Stellen benötigt wird.</translation>
+        <translation>Diese Funktion setzt eine Variable für jeden als drittes Argument übergebenen Ausdruckscode. Dies ist nur komplizierte Ausdrücke nützlich, deren berechneter Wert an mehreren Stellen benötigt wird.</translation>
     </message>
     <message>
         <source>with_variable</source>
-        <translation type="vanished">with_variable</translation>
+        <translation>with_variable</translation>
     </message>
     <message>
         <source>the name of the variable to set</source>
-        <translation type="vanished">Der Name der zusetzenden Variablen</translation>
+        <translation>Der Name der zusetzenden Variablen</translation>
     </message>
     <message>
         <source>the value to set</source>
-        <translation type="vanished">Der zu setzende Wert</translation>
+        <translation>Der zu setzende Wert</translation>
     </message>
     <message>
         <source>the expression for which the variable will be available</source>
-        <translation type="vanished">der Ausdruck für den die Variable verfügbar sein wird</translation>
+        <translation>der Ausdruck für den die Variable verfügbar sein wird</translation>
     </message>
     <message>
         <source>with_variable('my_sum', 1 + 2 + 3, @my_sum * 2 + @my_sum * 5)</source>
-        <translation type="vanished">with_variable('my_sum', 1 + 2 + 3, @my_sum * 2 + @my_sum * 5)</translation>
+        <translation>with_variable('my_sum', 1 + 2 + 3, @my_sum * 2 + @my_sum * 5)</translation>
     </message>
     <message>
         <source>Tests whether a geometry is within another. Returns true if the geometry a is completely within geometry b.</source>
-        <translation type="vanished">Prüft, ob eine Geometrie in einer anderen enthalten ist. Liefert true, wenn die Geometrie komplett innerhalb der Geometrie b liegt.</translation>
+        <translation>Prüft, ob eine Geometrie in einer anderen enthalten ist. Liefert true, wenn die Geometrie komplett innerhalb der Geometrie b liegt.</translation>
     </message>
     <message>
         <source>within</source>
-        <translation type="vanished">within</translation>
+        <translation>within</translation>
     </message>
     <message>
         <source>within( geom_from_wkt( 'POINT( 0.5 0.5)' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ) )</source>
-        <translation type="vanished">within( geom_from_wkt( 'POINT( 0.5 0.5)' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ) )</translation>
+        <translation>within( geom_from_wkt( 'POINT( 0.5 0.5)' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ) )</translation>
     </message>
     <message>
         <source>within( geom_from_wkt( 'POINT( 5 5 )' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ) )</source>
-        <translation type="vanished">within( geom_from_wkt( 'POINT( 5 5 )' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ) )</translation>
+        <translation>within( geom_from_wkt( 'POINT( 5 5 )' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ) )</translation>
     </message>
     <message>
         <source>Returns a string wrapped to a maximum/minimum number of characters.</source>
-        <translation type="vanished">Liefert eine auf eine maximale/minimale Zeichenanzahl umgebrochene Zeichenkette.</translation>
+        <translation>Liefert eine auf eine maximale/minimale Zeichenanzahl umgebrochene Zeichenkette.</translation>
     </message>
     <message>
         <source>wordwrap</source>
-        <translation type="vanished">wordwrap</translation>
+        <translation>wordwrap</translation>
     </message>
     <message>
         <source>the string to be wrapped</source>
-        <translation type="vanished">die umzubrechende Zeichenkette</translation>
+        <translation>die umzubrechende Zeichenkette</translation>
     </message>
     <message>
         <source>an integer. If wrap_length is positive the number represents the ideal maximum number of characters to wrap; if negative, the number represents the minimum number of characters to wrap.</source>
-        <translation type="vanished">Wenn die ganze Zahl wrap_length positiv ist, gibt sie die ideale Maximalzahl und wenn negativ die Minimalzahl der umzuberechenden Zeichen an.</translation>
+        <translation>Wenn die ganze Zahl wrap_length positiv ist, gibt sie die ideale Maximalzahl und wenn negativ die Minimalzahl der umzuberechenden Zeichen an.</translation>
     </message>
     <message>
         <source>the delimiter string to wrap to a new line (optional).</source>
-        <translation type="vanished">Optionale Zeichenkette, die zum Zeilenumbruch verwendet werden soll.</translation>
+        <translation>Optionale Zeichenkette, die zum Zeilenumbruch verwendet werden soll.</translation>
     </message>
     <message>
         <source>wordwrap('UNIVERSITY OF QGIS',13)</source>
-        <translation type="vanished">wordwrap('UNIVERSITY OF QGIS',13)</translation>
+        <translation>wordwrap('UNIVERSITY OF QGIS',13)</translation>
     </message>
     <message>
         <source>'UNIVERSITY OF<br>QGIS'</source>
-        <translation type="vanished">'UNIVERSITY OF<br>QGIS'</translation>
+        <translation>'UNIVERSITY OF<br>QGIS'</translation>
     </message>
     <message>
         <source>wordwrap('UNIVERSITY OF QGIS',-3)</source>
-        <translation type="vanished">wordwrap('UNIVERSITY OF QGIS',-3)</translation>
+        <translation>wordwrap('UNIVERSITY OF QGIS',-3)</translation>
     </message>
     <message>
         <source>'UNIVERSITY<br>OF QGIS'</source>
-        <translation type="vanished">'UNIVERSITY<br>OF QGIS'</translation>
+        <translation>'UNIVERSITY<br>OF QGIS'</translation>
     </message>
     <message>
         <source>Returns the x coordinate of a point geometry, or the x-coordinate of the centroid for a non-point geometry.</source>
-        <translation type="vanished">Liefert die X-Koordinate einer Punktgeometrie oder das Zentrum anderer Geometrien.</translation>
+        <translation>Liefert die X-Koordinate einer Punktgeometrie oder das Zentrum anderer Geometrien.</translation>
     </message>
     <message>
         <source>x( geom_from_wkt( 'POINT(2 5)' ) )</source>
-        <translation type="vanished">x( geom_from_wkt( 'POINT(2 5)' ) )</translation>
+        <translation>x( geom_from_wkt( 'POINT(2 5)' ) )</translation>
     </message>
     <message>
         <source>x( $geometry )</source>
-        <translation type="vanished">x( $geometry )</translation>
+        <translation>x( $geometry )</translation>
     </message>
     <message>
         <source>x coordinate of the current feature's centroid</source>
-        <translation type="vanished">X-Koordinate des Zentroiden des aktuellen Objekts</translation>
+        <translation>X-Koordinate des Zentroiden des aktuellen Objekts</translation>
     </message>
     <message>
         <source>Returns the maximum x coordinate of a geometry. Calculations are in the spatial reference system of this geometry.</source>
-        <translation type="vanished">Liefert die maximale X-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie.</translation>
+        <translation>Liefert die maximale X-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie.</translation>
     </message>
     <message>
         <source>x_max</source>
-        <translation type="vanished">x_max</translation>
+        <translation>x_max</translation>
     </message>
     <message>
         <source>x_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</source>
-        <translation type="vanished">x_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
+        <translation>x_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
     </message>
     <message>
         <source>Returns the minimum x coordinate of a geometry. Calculations are in the spatial reference system of this geometry.</source>
-        <translation type="vanished">Liefert die minimale X-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie.</translation>
+        <translation>Liefert die minimale X-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie.</translation>
     </message>
     <message>
         <source>x_min</source>
-        <translation type="vanished">x_min</translation>
+        <translation>x_min</translation>
     </message>
     <message>
         <source>x_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</source>
-        <translation type="vanished">x_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
+        <translation>x_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
     </message>
     <message>
         <source>Returns the y coordinate of a point geometry, or the y-coordinate of the centroid for a non-point geometry.</source>
-        <translation type="vanished">Liefert die X-Koordinate einer Punktgeometrie oder das Zentrum anderer Geometrien.</translation>
+        <translation>Liefert die X-Koordinate einer Punktgeometrie oder das Zentrum anderer Geometrien.</translation>
     </message>
     <message>
         <source>y( geom_from_wkt( 'POINT(2 5)' ) )</source>
-        <translation type="vanished">y( geom_from_wkt( 'POINT(2 5)' ) )</translation>
+        <translation>y( geom_from_wkt( 'POINT(2 5)' ) )</translation>
     </message>
     <message>
         <source>y( $geometry )</source>
-        <translation type="vanished">y( $geometry )</translation>
+        <translation>y( $geometry )</translation>
     </message>
     <message>
         <source>y coordinate of the current feature's centroid</source>
-        <translation type="vanished">Y-Koordinate des Zentroiden des aktuellen Objekts</translation>
+        <translation>Y-Koordinate des Zentroiden des aktuellen Objekts</translation>
     </message>
     <message>
         <source>Returns the maximum y coordinate of a geometry. Calculations are in the spatial reference system of this geometry.</source>
-        <translation type="vanished">Liefert die maximale Y-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie.</translation>
+        <translation>Liefert die maximale Y-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie.</translation>
     </message>
     <message>
         <source>y_max</source>
-        <translation type="vanished">y_max</translation>
+        <translation>y_max</translation>
     </message>
     <message>
         <source>y_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</source>
-        <translation type="vanished">y_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
+        <translation>y_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
     </message>
     <message>
         <source>Returns the minimum y coordinate of a geometry. Calculations are in the spatial reference system of this geometry.</source>
-        <translation type="vanished">Liefert die minimale Y-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie.</translation>
+        <translation>Liefert die minimale Y-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie.</translation>
     </message>
     <message>
         <source>y_min</source>
-        <translation type="vanished">y_min</translation>
+        <translation>y_min</translation>
     </message>
     <message>
         <source>y_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</source>
-        <translation type="vanished">y_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
+        <translation>y_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
     </message>
     <message>
         <source>Extract the year part from a date, or the number of years from an interval.</source>
-        <translation type="vanished">Bestimmt das Jahr aus einem Datum oder die Anzahl der Jahre aus einem Intervall.</translation>
+        <translation>Bestimmt das Jahr aus einem Datum oder die Anzahl der Jahre aus einem Intervall.</translation>
     </message>
     <message>
         <source>Extract the year part from a date or datetime.</source>
-        <translation type="vanished">Bestimmt das Jahr aus einem Datum oder ein Zeitpunkt.</translation>
+        <translation>Bestimmt das Jahr aus einem Datum oder ein Zeitpunkt.</translation>
     </message>
     <message>
         <source>year('2012-05-12')</source>
-        <translation type="vanished">year('2012-05-12')</translation>
+        <translation>year('2012-05-12')</translation>
     </message>
     <message>
         <source>2012</source>
-        <translation type="vanished">2012</translation>
+        <translation>2012</translation>
     </message>
     <message>
         <source>Calculate the length in years of an interval.</source>
-        <translation type="vanished">Berechnet die Länge eines Intervalls in Jahren.</translation>
+        <translation>Berechnet die Länge eines Intervalls in Jahren.</translation>
     </message>
     <message>
         <source>interval value to return number of years from</source>
-        <translation type="vanished">Intervallwert aus dem die Jahrel bestimmt werden soll</translation>
+        <translation>Intervallwert aus dem die Jahrel bestimmt werden soll</translation>
     </message>
     <message>
         <source>year(to_interval('3 years'))</source>
-        <translation type="vanished">year(to_interval('3 years'))</translation>
+        <translation>year(to_interval('3 years'))</translation>
     </message>
     <message>
         <source>year(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">year(age('2012-01-01','2010-01-01'))</translation>
+        <translation>year(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>1.9986</source>
-        <translation type="vanished">1.9986</translation>
+        <translation>1.9986</translation>
     </message>
     <message>
         <source>Returns the z coordinate of a point geometry.</source>
-        <translation type="vanished">Liefert die Z-Koordinate einer Punktgeometrie.</translation>
+        <translation>Liefert die Z-Koordinate einer Punktgeometrie.</translation>
     </message>
     <message>
         <source>z( geom_from_wkt( 'POINTZ(2 5 7)' ) )</source>
-        <translation type="vanished">z( geom_from_wkt( 'POINTZ(2 5 7)' ) )</translation>
+        <translation>z( geom_from_wkt( 'POINTZ(2 5 7)' ) )</translation>
     </message>
     <message>
         <source>i</source>
@@ -64358,7 +64657,7 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>minimum</source>
-        <translation type="vanished">minimum</translation>
+        <translation>minimum</translation>
     </message>
     <message>
         <source>input</source>
@@ -64366,7 +64665,7 @@ valign="top"><td>dddd</td><td>der lange lokale Wo
     </message>
     <message>
         <source>maximum</source>
-        <translation type="vanished">maximum</translation>
+        <translation>maximum</translation>
     </message>
     <message>
         <source>geometry 1</source>
@@ -65069,8 +65368,12 @@ Name des Skripts ändern und speichern, um QGIS das automatische Laden beim Star
 <context>
     <name>QgsExpressionSelectionDialogBase</name>
     <message>
-        <location filename="../src/ui/qgsexpressionselectiondialogbase.ui" line="14"/>
         <source>Select By Expression</source>
+        <translation type="vanished">Nach Ausdruck wählen</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsexpressionselectiondialogbase.ui" line="14"/>
+        <source>Select by Expression</source>
         <translation>Nach Ausdruck wählen</translation>
     </message>
     <message>
@@ -66234,22 +66537,21 @@ Referenz im Funktionsnamen: my_form_open
     </message>
     <message>
         <location filename="../src/analysis/processing/qgsalgorithmfiledownloader.cpp" line="67"/>
-        <location filename="../src/analysis/processing/qgsalgorithmfiledownloader.cpp" line="68"/>
         <source>File destination</source>
         <translation>Zieldatei</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmfiledownloader.cpp" line="93"/>
+        <location filename="../src/analysis/processing/qgsalgorithmfiledownloader.cpp" line="92"/>
         <source>Output file doesn't exist.</source>
         <translation>Ausgabedatei existiert nicht</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmfiledownloader.cpp" line="111"/>
+        <location filename="../src/analysis/processing/qgsalgorithmfiledownloader.cpp" line="110"/>
         <source>%1 downloaded.</source>
         <translation>%1 heruntergeladen.</translation>
     </message>
     <message>
-        <location filename="../src/analysis/processing/qgsalgorithmfiledownloader.cpp" line="113"/>
+        <location filename="../src/analysis/processing/qgsalgorithmfiledownloader.cpp" line="112"/>
         <source>%1 of %2 downloaded.</source>
         <translation>%1 von %2 heruntergeladen.</translation>
     </message>
@@ -66423,33 +66725,53 @@ Referenz im Funktionsnamen: my_form_open
     </message>
     <message>
         <location filename="../src/gui/qgsfontbutton.cpp" line="585"/>
-        <source>Configure format…</source>
+        <source>Configure Format…</source>
         <translation>Format konfigurieren…</translation>
     </message>
     <message>
-        <source>Configure format...</source>
-        <translation type="vanished">Format konfigurieren…</translation>
-    </message>
-    <message>
         <location filename="../src/gui/qgsfontbutton.cpp" line="589"/>
-        <source>Copy format</source>
+        <source>Copy Format</source>
         <translation>Format kopieren</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsfontbutton.cpp" line="592"/>
-        <source>Paste format</source>
+        <source>Paste Format</source>
         <translation>Format einfügen</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsfontbutton.cpp" line="657"/>
-        <source>Copy color</source>
+        <source>Copy Color</source>
         <translation>Farbe kopieren</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsfontbutton.cpp" line="661"/>
-        <source>Paste color</source>
+        <source>Paste Color</source>
         <translation>Farbe einfügen</translation>
     </message>
+    <message>
+        <source>Configure format…</source>
+        <translation type="vanished">Format konfigurieren…</translation>
+    </message>
+    <message>
+        <source>Configure format...</source>
+        <translation type="vanished">Format konfigurieren…</translation>
+    </message>
+    <message>
+        <source>Copy format</source>
+        <translation type="vanished">Format kopieren</translation>
+    </message>
+    <message>
+        <source>Paste format</source>
+        <translation type="vanished">Format einfügen</translation>
+    </message>
+    <message>
+        <source>Copy color</source>
+        <translation type="vanished">Farbe kopieren</translation>
+    </message>
+    <message>
+        <source>Paste color</source>
+        <translation type="vanished">Farbe einfügen</translation>
+    </message>
 </context>
 <context>
     <name>QgsFontButtonPlugin</name>
@@ -73191,12 +73513,12 @@ Press cancel to abort breaks calculation or OK to continue.</source>
 <context>
     <name>QgsGrassImportItem</name>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="1179"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="1185"/>
         <source>Cancel</source>
         <translation>Abbruch</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="1213"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="1219"/>
         <source>canceling</source>
         <translation>wird abgebrochen</translation>
     </message>
@@ -73690,17 +74012,17 @@ in Zeile %2, Spalte %3</translation>
 <context>
     <name>QgsGrassMapsetItem</name>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="513"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="519"/>
         <source>topology missing</source>
         <translation>Topologie fehlt</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="519"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="525"/>
         <source>topology version not supported</source>
         <translation>Topology-Version nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="523"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="529"/>
         <source>topology version 6</source>
         <translation>Topology-Version 6</translation>
     </message>
@@ -73709,42 +74031,42 @@ in Zeile %2, Spalte %3</translation>
         <translation type="vanished">Topology-Version 7</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="546"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="552"/>
         <source>empty</source>
         <translation>leer</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="695"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="701"/>
         <source>%1 layer type not supported</source>
         <translation>Layertyp %1 nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="750"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="756"/>
         <source>Cannot create provider %1 : %2</source>
         <translation>Kann Datenanbieter %1 nicht erzeugen: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="755"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="761"/>
         <source>Provider is not valid  %1 : %2</source>
         <translation>Anbieter %1 ist ungültig: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="812"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="818"/>
         <source>Cannot get default location region.</source>
         <translation>Kann Region der Vorgabelocation nicht holen.</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="884"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="890"/>
         <source>Cannot delete %1</source>
         <translation>Kann %1 nicht löschen</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="910"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="916"/>
         <source>Import to GRASS mapset</source>
         <translation>In GRASS-Mapset importieren</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="911"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="917"/>
         <source>Failed to import some layers!
 
 </source>
@@ -73753,12 +74075,12 @@ in Zeile %2, Spalte %3</translation>
 </translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="923"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="929"/>
         <source>Import to GRASS mapset failed</source>
         <translation>Import in GRASS-Mapset fehlgeschlagen</translation>
     </message>
     <message>
-        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="924"/>
+        <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="930"/>
         <source>Failed to import %1 to %2: %3</source>
         <translation>Import von %1 nach %2 fehlgeschlagen: %3</translation>
     </message>
@@ -75821,7 +76143,7 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.</
     </message>
     <message>
         <location filename="../src/gui/qgsidentifymenu.cpp" line="127"/>
-        <location filename="../src/gui/qgsidentifymenu.cpp" line="420"/>
+        <location filename="../src/gui/qgsidentifymenu.cpp" line="422"/>
         <source>%1 all (%2)</source>
         <translation>%1 alle (%2)</translation>
     </message>
@@ -75992,7 +76314,7 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.</
     </message>
     <message>
         <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="479"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="847"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="853"/>
         <source>(Derived)</source>
         <translation>(abgeleitet)</translation>
     </message>
@@ -76003,17 +76325,17 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.</
     </message>
     <message>
         <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="503"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="917"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1034"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1400"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="923"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1040"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1412"/>
         <source>Edit feature form</source>
         <translation>Objektformular bearbeiten</translation>
     </message>
     <message>
         <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="503"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="917"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1034"/>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1400"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="923"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1040"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1412"/>
         <source>View feature form</source>
         <translation>Objektformular anzeigen</translation>
     </message>
@@ -76041,87 +76363,87 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.</
         <translation type="vanished">Objektkennung</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="595"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="601"/>
         <source>Title</source>
         <translation>Titel</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="784"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="790"/>
         <source>Format</source>
         <translation>Format</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="834"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="840"/>
         <source>No attributes.</source>
         <translation>Keine Attribute.</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1040"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1046"/>
         <source>Zoom to feature</source>
         <translation>Zum Objekt zoomen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1041"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1047"/>
         <source>Copy feature</source>
         <translation>Objekt kopieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1042"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1048"/>
         <source>Toggle feature selection</source>
         <translation>Auswahl des Objekts umkehren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1045"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1051"/>
         <source>Copy attribute value</source>
         <translation>Attributwert kopieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1046"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1052"/>
         <source>Copy feature attributes</source>
         <translation>Objektattribute kopieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1059"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1065"/>
         <source>Copy GetFeatureInfo request URL</source>
         <translation>GetFeatureInfo-Abfrage-URL kopieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1067"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1073"/>
         <source>Clear results</source>
         <translation>Ergebnisse löschen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1068"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1074"/>
         <source>Clear highlights</source>
         <translation>Hervorhebungen löschen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1069"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1075"/>
         <source>Highlight all</source>
         <translation>Alle hervorheben</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1070"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1076"/>
         <source>Highlight layer</source>
         <translation>Layer hervorheben</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1073"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1079"/>
         <source>Activate layer</source>
         <translation>Layer aktivieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1074"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1080"/>
         <source>Layer properties…</source>
         <translation>Layereigenschaften…</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1841"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1853"/>
         <source>Print HTML Response</source>
         <translation>HTML-Antwort drucken</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1841"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1853"/>
         <source>Cannot print this item.</source>
         <translation>Kann dieses Element nicht drucken.</translation>
     </message>
@@ -76130,17 +76452,17 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.</
         <translation type="vanished">Layereigenschaften…</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1077"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1083"/>
         <source>Expand all</source>
         <translation>Alle ausklappen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1078"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1084"/>
         <source>Collapse all</source>
         <translation>Alle einklappen</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1684"/>
+        <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1696"/>
         <source>Attributes changed</source>
         <translation>Attribute geändert</translation>
     </message>
@@ -78288,66 +78610,86 @@ Die könnte auf ein Netzwerkproblem oder ein Problem des WMS-Server hindeuten.</
     </message>
     <message>
         <location filename="../src/gui/layertree/qgslayertreeviewdefaultactions.cpp" line="132"/>
-        <source>Check and all its children (⌘-click)</source>
+        <source>Check and all its Children (⌘-click)</source>
         <translation>Dies und alle Kinder anhaken (⌘-Klick)</translation>
     </message>
     <message>
         <location filename="../src/gui/layertree/qgslayertreeviewdefaultactions.cpp" line="134"/>
-        <source>Check and all its children (Ctrl-click)</source>
-        <translation>Inklusiver aller Kinder anhaken (Strg+Klick) </translation>
+        <source>Check and all its Children (Ctrl-click)</source>
+        <translation>Inklusiver aller Kinder anhaken (Strg+Klick)</translation>
     </message>
     <message>
         <location filename="../src/gui/layertree/qgslayertreeviewdefaultactions.cpp" line="146"/>
-        <source>Uncheck and all its children (⌘-click)</source>
+        <source>Uncheck and all its Children (⌘-click)</source>
         <translation>Dies und alle Kinder abhaken (⌘-Klick)</translation>
     </message>
     <message>
         <location filename="../src/gui/layertree/qgslayertreeviewdefaultactions.cpp" line="148"/>
-        <source>Uncheck and all its children (Ctrl-click)</source>
+        <source>Uncheck and all its Children (Ctrl-click)</source>
         <translation>Inklusiver aller Kinder abhaken (Strg+Klick)</translation>
     </message>
     <message>
         <location filename="../src/gui/layertree/qgslayertreeviewdefaultactions.cpp" line="159"/>
-        <source>Check and all its parents</source>
+        <source>Check and all its Parents</source>
         <translation>Inkl. aller Elter anhaken</translation>
     </message>
+    <message>
+        <source>Check and all its children (⌘-click)</source>
+        <translation type="vanished">Dies und alle Kinder anhaken (⌘-Klick)</translation>
+    </message>
+    <message>
+        <source>Check and all its children (Ctrl-click)</source>
+        <translation type="vanished">Inklusiver aller Kinder anhaken (Strg+Klick) </translation>
+    </message>
+    <message>
+        <source>Uncheck and all its children (⌘-click)</source>
+        <translation type="vanished">Dies und alle Kinder abhaken (⌘-Klick)</translation>
+    </message>
+    <message>
+        <source>Uncheck and all its children (Ctrl-click)</source>
+        <translation type="vanished">Inklusiver aller Kinder abhaken (Strg+Klick)</translation>
+    </message>
+    <message>
+        <source>Check and all its parents</source>
+        <translation type="vanished">Inkl. aller Elter anhaken</translation>
+    </message>
 </context>
 <context>
     <name>QgsLayout</name>
     <message>
-        <location filename="../src/core/layout/qgslayout.cpp" line="537"/>
+        <location filename="../src/core/layout/qgslayout.cpp" line="538"/>
         <source>Create %1</source>
         <translation>Erzeuge %1</translation>
     </message>
     <message>
-        <location filename="../src/core/layout/qgslayout.cpp" line="541"/>
+        <location filename="../src/core/layout/qgslayout.cpp" line="542"/>
         <source>Create Item</source>
         <translation>Element erzeugen</translation>
     </message>
     <message>
-        <location filename="../src/core/layout/qgslayout.cpp" line="552"/>
+        <location filename="../src/core/layout/qgslayout.cpp" line="553"/>
         <source>Delete Items</source>
         <translation>Elemente löschen</translation>
     </message>
     <message>
-        <location filename="../src/core/layout/qgslayout.cpp" line="553"/>
+        <location filename="../src/core/layout/qgslayout.cpp" line="554"/>
         <source>Delete Item</source>
         <translation>Element löschen</translation>
     </message>
     <message>
-        <location filename="../src/core/layout/qgslayout.cpp" line="727"/>
-        <location filename="../src/core/layout/qgslayout.cpp" line="736"/>
+        <location filename="../src/core/layout/qgslayout.cpp" line="738"/>
+        <location filename="../src/core/layout/qgslayout.cpp" line="747"/>
         <source>Group Items</source>
         <translation>Elemente gruppieren</translation>
     </message>
     <message>
-        <location filename="../src/core/layout/qgslayout.cpp" line="753"/>
-        <location filename="../src/core/layout/qgslayout.cpp" line="756"/>
+        <location filename="../src/core/layout/qgslayout.cpp" line="764"/>
+        <location filename="../src/core/layout/qgslayout.cpp" line="767"/>
         <source>Ungroup Items</source>
         <translation>Elementgruppe auflösen</translation>
     </message>
     <message>
-        <location filename="../src/core/layout/qgslayout.cpp" line="889"/>
+        <location filename="../src/core/layout/qgslayout.cpp" line="900"/>
         <source>Change Item Stacking</source>
         <translation>Elementstapelung ändern</translation>
     </message>
@@ -79336,81 +79678,83 @@ Auswertungsfehler:
         <translation type="vanished">Layout</translation>
     </message>
     <message>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="85"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="88"/>
         <source>Toolbox</source>
-        <translation type="vanished">Werkzeugkiste</translation>
+        <translation>Werkzeugkiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="107"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="190"/>
         <source>&Layout</source>
         <translation>&Anordnung</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="111"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="194"/>
         <source>Layouts</source>
         <translation>Layouts</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="140"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="223"/>
         <source>&Add Item</source>
         <translation>Element hinzufügen (&a)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="145"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="228"/>
         <source>&View</source>
         <translation>&Ansicht</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="149"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="232"/>
         <source>&Toolbars</source>
         <translation>&Werkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="154"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="237"/>
         <source>&Panels</source>
         <translation>&Bedienfelder</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="159"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="242"/>
         <source>&Preview</source>
         <translation>Voransicht (&P)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="196"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="279"/>
         <source>&Edit</source>
         <translation>&Bearbeiten</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="211"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="300"/>
         <source>&Items</source>
         <translation>&Elemente</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="215"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="304"/>
         <source>&Align Items</source>
         <translation>Elemente &ausrichten</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="227"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="316"/>
         <source>&Distribute Items</source>
         <translation>Elemente verteilen (&d)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="239"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="328"/>
         <source>Re&size</source>
         <translation>Größe ändern (&s)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="266"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="355"/>
         <source>Atlas</source>
         <translation>Atlas</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="284"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="373"/>
         <source>Report</source>
         <translation>Bericht</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="294"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="383"/>
         <source>Settings</source>
         <translation>Einstellungen</translation>
     </message>
@@ -79433,1053 +79777,1061 @@ Auswertungsfehler:
     </message>
     <message>
         <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="57"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="60"/>
         <source>Layout Toolbar</source>
         <translation>Layout-Werkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="82"/>
         <source>Toolbox Toolbar</source>
-        <translation>Werkzeugkistenwerkzeugleiste</translation>
+        <translation type="vanished">Werkzeugkistenwerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="309"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="104"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="107"/>
         <source>Navigation Toolbar</source>
         <translation>Navigationswerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="325"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="123"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="126"/>
         <source>Actions Toolbar</source>
         <translation>Aktionswerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="340"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="141"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="144"/>
         <source>Atlas Toolbar</source>
         <translation>Atlas-Werkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="358"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="162"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="165"/>
         <source>Report Toolbar</source>
         <translation>Berichtswerkzeugleiste</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="374"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="398"/>
         <source>&Close</source>
         <translation>&Schließen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="377"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="401"/>
         <source>Close designer</source>
         <translation>Bearbeitung schließen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="380"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="404"/>
         <source>Ctrl+Q</source>
         <translation>Strg+Q</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="392"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="416"/>
         <source>Pan Layout</source>
         <translation>Anordnung verschieben</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="395"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="419"/>
         <source>P</source>
         <translation>P</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="407"/>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="410"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="431"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="434"/>
         <source>Zoom</source>
         <translation>Zoom</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="413"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="437"/>
         <source>Z</source>
         <translation>Z</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="425"/>
         <source>Move &Item</source>
-        <translation>Element versch&ieben</translation>
+        <translation type="vanished">Element versch&ieben</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="428"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="449"/>
+        <source>Select/Move Item</source>
+        <translation>Eintrag wählen/verschieben</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="452"/>
         <source>Select/Move item</source>
         <translation>Eintrag wählen/verschieben</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="431"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="455"/>
         <source>V</source>
         <translation>V</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="440"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="464"/>
         <source>Zoom &Full</source>
         <translation>Volle Ausdehnung (&F)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="443"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="467"/>
         <source>Zoom full</source>
         <translation>Volle Ausdehnung</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="446"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="470"/>
         <source>Ctrl+0</source>
         <translation>Strg+0</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="455"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="479"/>
         <source>Zoom &In</source>
         <translation>Hine&inzoomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="458"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="482"/>
         <source>Zoom in</source>
         <translation>Hineinzoomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="461"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="485"/>
         <source>Ctrl++</source>
         <translation>Strg++</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="470"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="494"/>
         <source>Zoom &Out</source>
         <translation>Hinausz&oomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="473"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="497"/>
         <source>Zoom out</source>
         <translation>Hinauszoomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="476"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="500"/>
         <source>Ctrl+-</source>
         <translation>Strg+-</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="485"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="509"/>
         <source>Zoom to &100%</source>
         <translation>Zoom auf &100%</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="488"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="512"/>
         <source>Zoom to 100%</source>
         <translation>Zoom auf 100%</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="491"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="515"/>
         <source>Ctrl+1</source>
         <translation>Strg+1</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="496"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="520"/>
         <source>Zoom to Width</source>
         <translation>Auf Breite zoomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="504"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="528"/>
         <source>Show Ru&lers</source>
         <translation>&Lineale anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="507"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="531"/>
         <source>Show rulers</source>
         <translation>Lineale anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="510"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="534"/>
         <source>Ctrl+R</source>
         <translation>Strg+R</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="518"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="542"/>
         <source>Toggle Full Scr&een</source>
         <translation>Vollbildmodus umschalt&en</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="521"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="545"/>
         <source>Toggle full screen mode</source>
         <translation>Vollbildmodus umschalten</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="524"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="548"/>
         <source>F11</source>
         <translation>F11</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="533"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="557"/>
         <source>Add Pages…</source>
         <translation>Seiten hinzufügen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="545"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="569"/>
         <source>Show &Grid</source>
         <translation>&Gitter anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="548"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="572"/>
         <source>Show grid</source>
         <translation>Gitter anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="551"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="575"/>
         <source>Ctrl+'</source>
         <translation>Strg+'</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="559"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="583"/>
         <source>S&nap to Grid</source>
         <translation>Am Gitter ausrichte&n</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="562"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="586"/>
         <source>Snap to grid</source>
         <translation>Am Gitter ausrichten</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="565"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="589"/>
         <source>Ctrl+Shift+'</source>
         <translation>Strg+Umschalt+'</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="570"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="594"/>
         <source>Manage Guides…</source>
         <translation>Führungen verwalten…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="578"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="602"/>
         <source>Show G&uides</source>
         <translation>Führun&g anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="581"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="605"/>
         <source>Show guides</source>
         <translation>Führung anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="584"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="608"/>
         <source>Ctrl+;</source>
         <translation>Strg+;</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="592"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="616"/>
         <source>&Snap to Guides</source>
         <translation>An &Führung ausrichten</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="595"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="619"/>
         <source>Snap to guides</source>
         <translation>An Führung ausrichten</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="598"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="622"/>
         <source>Ctrl+Shift+;</source>
         <translation>Strg+Umschalt+;</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="603"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="627"/>
         <source>&Clear Guides</source>
         <translation>Führung l&öschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="606"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="630"/>
         <source>Clear guides</source>
         <translation>Führung löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="611"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="635"/>
         <source>Layout Properties…</source>
         <translation>Layouteigenschaften…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="619"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="643"/>
         <source>Show Bounding Boxes</source>
         <translation>Umgrenzungsrahmen anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="622"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="646"/>
         <source>Show bounding boxes</source>
         <translation>Boundingboxes anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="625"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="649"/>
         <source>Ctrl+Shift+B</source>
         <translation>Strg+Umschalt+B</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="633"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="657"/>
         <source>S&mart Guides</source>
         <translation>Sch&laue Führungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="636"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="660"/>
         <source>Smart guides</source>
         <translation>Schlaue Führungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="639"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="663"/>
         <source>Ctrl+Alt+;</source>
         <translation>Strg+Alt+;</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="648"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="672"/>
         <source>D&eselect All</source>
         <translation>Alle a&bwählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="651"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="675"/>
         <source>Deselect all</source>
         <translation>Alle abwählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="654"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="678"/>
         <source>Ctrl+Shift+A</source>
         <translation>Strg+Umschalt+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="663"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="687"/>
         <source>&Select All</source>
         <translation>&Alles wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="666"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="690"/>
         <source>Select all items</source>
         <translation>Alle Elemente auswählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="669"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="693"/>
         <source>Ctrl+A</source>
         <translation>Strg+A</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="678"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="702"/>
         <source>&Invert Selection</source>
         <translation>Auswahl &umkehren</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="681"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="705"/>
         <source>Invert selection</source>
         <translation>Auswahl umgekehren</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="686"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="710"/>
         <source>Select Next Item &Below</source>
         <translation>Nächstes Element &darunter wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="689"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="713"/>
         <source>Select next item below</source>
         <translation>Nächstes Element darunter wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="692"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="716"/>
         <source>Ctrl+Alt+[</source>
         <translation>Strg+Alt+[</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="697"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="721"/>
         <source>Select Next Item &Above</source>
         <translation>Nächstes Element dar&über wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="700"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="724"/>
         <source>Select next item above</source>
         <translation>Nächstes Element darüber wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="703"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="727"/>
         <source>Ctrl+Alt+]</source>
         <translation>Strg+Alt+]</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="712"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="736"/>
         <source>Loc&k Selected Items</source>
         <translation>Gewählte Elemente fixieren (&k)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="715"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="739"/>
         <source>Ctrl+L</source>
         <translation>Strg+L</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="724"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="748"/>
         <source>Unl&ock All</source>
         <translation>Alle Fixierungen aufheben (&o)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="727"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="751"/>
         <source>Unlock All Items</source>
         <translation>Alle Elemente fixieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="730"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="754"/>
         <source>Ctrl+Shift+L</source>
         <translation>Strg+Umschalt+L</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="738"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="762"/>
         <source>Toggle Panel &Visibility</source>
         <translation>La&yersichtbarkeit umschalten</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="741"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="765"/>
         <source>Hide panels</source>
         <translation>Bedienfelder ausblenden</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="744"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="768"/>
         <source>Ctrl+Tab</source>
         <translation>Strg+Tab</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="753"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="777"/>
         <source>&Raise</source>
         <translation>&Hervorholen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="756"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="780"/>
         <source>Raise selected items</source>
         <translation>Hervorholen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="759"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="783"/>
         <source>Ctrl+]</source>
         <translation>Strg+]</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="768"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="792"/>
         <source>&Lower</source>
         <translation>&Tiefer setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="771"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="795"/>
         <source>Lower selected items</source>
         <translation>Versenken</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="774"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="798"/>
         <source>Ctrl+[</source>
         <translation>Strg+[</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="783"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="807"/>
         <source>Bring to &Front</source>
         <translation>In den &Vordergrund holen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="786"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="810"/>
         <source>Move selected items to top</source>
         <translation>In den Vordergrund holen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="789"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="813"/>
         <source>Ctrl+Shift+]</source>
         <translation>Strg+Umschalt+]</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="798"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="822"/>
         <source>Send to &Back</source>
         <translation>In den &Hintergrund schicken</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="801"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="825"/>
         <source>Move selected items to bottom</source>
         <translation>In den Hintergrund schicken</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="804"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="828"/>
         <source>Ctrl+Shift+[</source>
         <translation>Strg+Umschalt+[</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="813"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="837"/>
         <source>Align &Left</source>
         <translation>&Links ausrichten</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="816"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="840"/>
         <source>Align selected items left</source>
         <translation>Linksbündig</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="825"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="849"/>
         <source>Align &Center</source>
         <translation>Mittig ausrichten (&c)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="828"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="852"/>
         <source>Align center horizontal</source>
         <translation>Horizontal zentrieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="837"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="861"/>
         <source>Align &Right</source>
         <translation>&Rechts ausrichten</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="840"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="864"/>
         <source>Align selected items right</source>
         <translation>Rechtsbündig</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="849"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="873"/>
         <source>Align &Top</source>
         <translation>Oben ausrichten (&t)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="852"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="876"/>
         <source>Align selected items to top</source>
         <translation>Alle gewählten Elemente oben bündig ausrichten</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="861"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="885"/>
         <source>Align Center &Vertical</source>
         <translation>&Vertikal zentriert ausrichten</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="864"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="888"/>
         <source>Align center vertical</source>
         <translation>Vertikal zentrieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="873"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="897"/>
         <source>Align &Bottom</source>
         <translation>Unten ausrichten (&b)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="876"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="900"/>
         <source>Align selected items bottom</source>
         <translation>Unten bündig</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="885"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="909"/>
         <source>Distribute &Left Edges</source>
         <translation>&Linken Rand verteilen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="888"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="912"/>
         <source>Distributes left edges of items equidistantly</source>
         <translation>Linke Kanten der Element gleichmäßig verteilen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="897"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="921"/>
         <source>Distribute &Centers</source>
         <translation>Zentren verteilen (&c)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="900"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="924"/>
         <source>Distributes horizontal centers of items equidistantly</source>
         <translation>Horizontale Mitten gleichmäßig verteilen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="909"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="933"/>
         <source>Distribute &Right Edges</source>
         <translation>&Rechte Kanten verteilen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="912"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="936"/>
         <source>Distributes right edges of items equidistantly</source>
         <translation>Rechte Kanten gleichmäßig verteilen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="921"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="945"/>
         <source>Distribute &Top Edges</source>
         <translation>Oberkan&ten verteilen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="924"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="948"/>
         <source>Distributes top edges of items equidistantly</source>
         <translation>Oberkanten gleichmäßig verteilen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="933"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="957"/>
         <source>Distribute &Vertical Centers</source>
         <translation>Vertikale Zentren verteilen (&v)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="936"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="960"/>
         <source>Distributes vertical centers of items equidistantly</source>
         <translation>Vertikale Zentren der Elemente gleichmäßig verteilen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="945"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="969"/>
         <source>Distribute &Bottom Edges</source>
         <translation>Unterkanten verteilen (&b)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="948"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="972"/>
         <source>Distributes bottom edges of items equidistantly</source>
         <translation>Unterkanten der Elemente gleichmäßig verteilen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="957"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="981"/>
         <source>Resize to &Narrowest</source>
         <translation>Auf schmallste Größe setze&n</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="960"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="984"/>
         <source>Resizes item width to match the narrowest selected item</source>
         <translation>Elementbreite auf die des schmallsten der gewählten Elemente setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="969"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="993"/>
         <source>Resize to &Widest</source>
         <translation>Auf breitesten setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="972"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="996"/>
         <source>Resizes item width to match the widest selected item</source>
         <translation>Elementbreite auf die des breitesten der gewählten Objekte setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="981"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1005"/>
         <source>Resize to &Shortest</source>
         <translation>Auf das kürzeste setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="984"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1008"/>
         <source>Resizes item height to match the shortest selected item</source>
         <translation>Elementhöhe auf den kürzesten der gewählten Objekte setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="993"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1017"/>
         <source>Resize to &Tallest</source>
         <translation>Auf höchstes setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="996"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1020"/>
         <source>Resizes item height to match the tallest selected item</source>
         <translation>Elementhöhe auf das höchste der gewählten Objekte setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1005"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1029"/>
         <source>&Delete</source>
         <translation>&Löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1008"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1032"/>
         <source>Delete selected items</source>
         <translation>Gewählte Elemente löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1011"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1035"/>
         <source>Del</source>
         <translation>Löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1020"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1044"/>
         <source>Resize to S&quare</source>
         <translation>Quadratische Größe</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1023"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1047"/>
         <source>Resizes items to squares</source>
         <translation>Elemente auf quadratische Größe setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1031"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1055"/>
         <source>&Normal</source>
         <translation>&Normal</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1034"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1058"/>
         <source>Normal</source>
         <translation>Normal</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1042"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1066"/>
         <source>Simulate Photocopy (&Grayscale)</source>
         <translation>Fotokopie simulieren (&Graustufen)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1050"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1074"/>
         <source>Simulate Fax (&Mono)</source>
         <translation>Fax simulieren (&Mono)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1058"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1082"/>
         <source>Simulate Color Blindness (&Protanope)</source>
         <translation>Farbblindheit simulieren (&Rotblinde)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1066"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1090"/>
         <source>Simulate Color Blindness (&Deuteranope)</source>
         <translation>Farbblindheit simulieren (G&rünblinde)</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1074"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1098"/>
         <source>Show Pages</source>
         <translation>Seiten anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1077"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1101"/>
         <source>Show pages</source>
         <translation>Seiten anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1086"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1110"/>
         <source>&Group</source>
         <translation>&Gruppen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1089"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1113"/>
         <source>Group items</source>
         <translation>Elemente gruppieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1092"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1116"/>
         <source>Ctrl+G</source>
         <translation>Strg+G</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1101"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1125"/>
         <source>&Ungroup</source>
         <translation>A&uflösen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1104"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1128"/>
         <source>Ungroup items</source>
         <translation>Gruppe auflösen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1107"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1131"/>
         <source>Ctrl+Shift+G</source>
         <translation>Strg+Umschalt+G</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1116"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1140"/>
         <source>&Refresh</source>
         <translation>Aktualisie&ren</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1119"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1143"/>
         <source>Refresh view</source>
         <translation>Ansicht aktualisiere</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1122"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1146"/>
         <source>F5</source>
         <translation>F5</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1134"/>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1137"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1158"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1161"/>
         <source>Edit Nodes Item</source>
         <translation>Knotenelement bearbeiten</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1149"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1173"/>
         <source>Move &Content</source>
         <translation>Inhalt vers&chieben</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1152"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1176"/>
         <source>Move item content</source>
         <translation>Elementinhalt verschieben</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1155"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1179"/>
         <source>C</source>
         <translation>C</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1160"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1184"/>
         <source>Paste in P&lace</source>
         <translation>Durch &Einfügen ersetzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1163"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1187"/>
         <source>Paste in place</source>
         <translation>Durch Einfügen ersetzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1166"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1190"/>
         <source>Ctrl+Shift+V</source>
         <translation>Strg+Umschalt+V</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1175"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1199"/>
         <source>Save as &Template…</source>
         <translation>Als Vorlage speichern (&t)…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1178"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1202"/>
         <source>Save as template</source>
         <translation>Als Vorlage speichern</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1187"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1211"/>
         <source>&Add Items from Template…</source>
         <translation>Elemente zur Vorl&age hinzufügen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1190"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1214"/>
         <source>Add items from template</source>
         <translation>Elemente aus Vorlage hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1199"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1223"/>
         <source>&Duplicate Layout…</source>
         <translation>Layout &duplizieren…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1202"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1226"/>
         <source>Duplicate layout</source>
         <translation>Layout duplizieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1211"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1235"/>
         <source>&Save Project</source>
         <translation>Projekt &speichern</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1214"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1238"/>
         <source>Save project</source>
         <translation>Projekt speichern</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1217"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1241"/>
         <source>Ctrl+S</source>
         <translation>Strg+S</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1226"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1250"/>
         <source>&New Layout…</source>
         <translation>&Neues Layout…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1229"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1253"/>
         <source>New layout</source>
         <translation>Neues Layout</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1232"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1256"/>
         <source>Ctrl+N</source>
         <translation>Strg+N</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1241"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1265"/>
         <source>Layout &Manager...</source>
         <translation>Layout-Verwaltung…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1244"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1268"/>
         <source>Layout manager</source>
         <translation>Layoutverwaltung</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1249"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1273"/>
         <source>Rename Layout…</source>
         <translation>Layout umbenennen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1252"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1276"/>
         <source>Rename layout</source>
         <translation>Layout umbenennen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1261"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1285"/>
         <source>Delete Layout…</source>
         <translation>Layout löschen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1264"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1288"/>
         <source>Delete layout</source>
         <translation>Layout löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1273"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1297"/>
         <source>Export as &Image…</source>
         <translation>Als B&ild exportieren…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1276"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1300"/>
         <source>Export as image</source>
         <translation>Speichern als Rasterbild</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1285"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1309"/>
         <source>&Export as PDF…</source>
         <translation>Als PDF &exportieren…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1294"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1318"/>
         <source>Export as S&VG…</source>
         <translation>Als S&VG exportieren…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1303"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1327"/>
         <source>&First Feature</source>
         <translation>Erstes &Objekt</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1306"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1330"/>
         <source>Ctrl+<</source>
         <translation>Strg+<</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1315"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1339"/>
         <source>P&revious Feature</source>
         <translation>&Vorheriges Objekt</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1318"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1342"/>
         <source>Ctrl+,</source>
         <translation>Strg+,</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1327"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1351"/>
         <source>&Next Feature</source>
         <translation>&Nächstes Objekt</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1330"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1354"/>
         <source>Ctrl+.</source>
         <translation>Strg+.</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1339"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1363"/>
         <source>&Last Feature</source>
         <translation>Letztes &Objekt</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1342"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1366"/>
         <source>Ctrl+></source>
         <translation>Strg+></translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1351"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1375"/>
         <source>&Print Atlas...</source>
         <translation>Atlas &drucken…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1360"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1384"/>
         <source>Export Atlas as &Images...</source>
         <translation>Atlas als Bilder e&xportieren…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1369"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1393"/>
         <source>Export Atlas as S&VG...</source>
         <translation>Atlas als S&VG exportieren…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1378"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1402"/>
         <source>&Export Atlas as PDF...</source>
         <translation>Atlas als &PDF exportieren…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1381"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1405"/>
         <source>Export Atlas as PDF</source>
         <translation>Atlas als PDF exportieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1393"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1417"/>
         <source>Atlas &Settings</source>
         <translation>Atlas-&Einstellungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1405"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1429"/>
         <source>Preview &Atlas</source>
         <translation>Atlas-&Vorschau anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1408"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1432"/>
         <source>Ctrl+Alt+/</source>
         <translation>Strg+Alt+/</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1417"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1441"/>
         <source>Export Report as &Images...</source>
         <translation>Bericht als B&ilder exportieren…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1420"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1444"/>
         <source>Export Report as Images</source>
         <translation>Bericht als Bilder exportieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1429"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1453"/>
         <source>Export Report as S&VG...</source>
         <translation>Bericht als S&VG exportieren…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1432"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1456"/>
         <source>Export Report as SVG</source>
         <translation>Bericht als SVG exportieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1441"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1465"/>
         <source>&Export Report as PDF...</source>
         <translation>Bericht als PDF &exportieren…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1444"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1468"/>
         <source>Export Report as PDF</source>
         <translation>Bericht als PDF exportieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1456"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1480"/>
         <source>Report &Settings</source>
         <translation>Bericht&seinstellungen </translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1459"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1483"/>
         <source>Report Settings</source>
         <translation>Berichtseinstellungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1471"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1495"/>
         <source>&Print...</source>
         <translation>&Drucken…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1474"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1498"/>
         <source>Print Layout</source>
         <translation>Drucklayout</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1477"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1501"/>
         <source>Ctrl+P</source>
         <translation>Strg+P</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1486"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1510"/>
         <source>&Print Report...</source>
         <translation>Bericht drucken (&p)…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1489"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1513"/>
         <source>Print Report</source>
         <translation>Bericht drucken</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1494"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1518"/>
         <source>Pa&ge Setup…</source>
         <translation>Seiteneinstellun&gen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1497"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1521"/>
         <source>Page setup</source>
         <translation>Seiteneinstellungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1500"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1524"/>
         <source>Ctrl+Shift+P</source>
         <translation>Strg+Umschalt+P</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1505"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1529"/>
         <source>dsfg</source>
         <translation>dsfg</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1514"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1538"/>
         <source>Layout &Options…</source>
         <translation>Layout&optionen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1517"/>
+        <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="1541"/>
         <source>Layout Options</source>
         <translation>Layoutoptionen</translation>
     </message>
@@ -82833,8 +83185,12 @@ Bitte mit kleinerer Auflösung oder Papiergröße versuchen.</translation>
         <translation>Objektanzahl für jede Vektorlayerklasse anzeigen.</translation>
     </message>
     <message>
-        <location filename="../src/ui/layout/qgslayoutlegendwidgetbase.ui" line="386"/>
         <source>Filter Legend By Map Content</source>
+        <translation type="vanished">Legende nach Karteninhalt filtern</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/layout/qgslayoutlegendwidgetbase.ui" line="386"/>
+        <source>Filter Legend by Map Content</source>
         <translation>Legende nach Karteninhalt filtern</translation>
     </message>
     <message>
@@ -83979,9 +84335,8 @@ Bitte mit kleinerer Auflösung oder Papiergröße versuchen.</translation>
         <translation>Kartenausmaße ändern</translation>
     </message>
     <message>
-        <location filename="../src/app/layout/qgslayoutmapwidget.cpp" line="599"/>
         <source>Map %1</source>
-        <translation>Karte %1</translation>
+        <translation type="vanished">Karte %1</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutmapwidget.cpp" line="784"/>
@@ -86265,14 +86620,22 @@ Bitte mit kleinerer Auflösung oder Papiergröße versuchen.</translation>
     <name>QgsLegendFilterButton</name>
     <message>
         <location filename="../src/gui/qgslegendfilterbutton.cpp" line="29"/>
+        <source>Edit Filter Expression…</source>
+        <translation>Filterausdruck bearbeiten…</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgslegendfilterbutton.cpp" line="32"/>
+        <source>Clear Filter Fxpression</source>
+        <translation>Filterausdruck leeren</translation>
+    </message>
+    <message>
         <location filename="../src/gui/qgslegendfilterbutton.cpp" line="100"/>
         <source>Edit filter expression</source>
         <translation>Filterausdruck bearbeiten</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgslegendfilterbutton.cpp" line="32"/>
         <source>Clear filter expression</source>
-        <translation>Filterausdruck leeren</translation>
+        <translation type="vanished">Filterausdruck leeren</translation>
     </message>
     <message>
         <location filename="../src/gui/qgslegendfilterbutton.cpp" line="95"/>
@@ -86778,58 +87141,58 @@ Bitte mit kleinerer Auflösung oder Papiergröße versuchen.</translation>
         <translation>Karte</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="78"/>
+        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="60"/>
         <source>Set Map CRS…</source>
         <translation>Karten-KBS setzen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="81"/>
+        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="63"/>
         <source>Set Map CRS</source>
         <translation>Karten-KBS setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="86"/>
+        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="68"/>
         <source>Rename View…</source>
         <translation>Ansicht umbenennen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="89"/>
+        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="71"/>
         <source>Rename View</source>
         <translation>Ansicht umbenennen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="98"/>
+        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="80"/>
         <source>Zoom to &Selection</source>
         <translation>Zu au&sgewählten Objekten zoomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="107"/>
+        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="89"/>
         <source>Zoom to &Layer</source>
         <translation>Auf &Layer zoomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="116"/>
+        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="98"/>
         <source>Zoom &Full</source>
         <translation>Volle Ausdehnung (&F)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="124"/>
-        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="127"/>
+        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="106"/>
+        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="109"/>
         <source>Show Annotations</source>
         <translation>Bemerkungen anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="135"/>
+        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="117"/>
         <source>Show Cursor Position</source>
         <translation>Cursor-Position anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="143"/>
+        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="125"/>
         <source>Show Main Canvas Extent</source>
         <translation>Hauptkartenausmaß anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="151"/>
+        <location filename="../src/ui/qgsmapcanvasdockwidgetbase.ui" line="133"/>
         <source>Show Labels</source>
         <translation>Beschriftungen anzeigen</translation>
     </message>
@@ -89014,8 +89377,12 @@ and re-encrypted using new password</source>
         <translation>Verbleibende Meldungen</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgsmessagebar.cpp" line="72"/>
         <source>Close all</source>
+        <translation type="vanished">Alle schließen</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/qgsmessagebar.cpp" line="72"/>
+        <source>Close All</source>
         <translation>Alle schließen</translation>
     </message>
     <message>
@@ -93354,12 +93721,12 @@ please provide a new name:</source>
         <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="193"/>
         <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="210"/>
         <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1413"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2319"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4010"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4015"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4120"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4140"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4164"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2321"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4017"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4022"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4127"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4147"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4171"/>
         <source>OGR</source>
         <translation>OGR</translation>
     </message>
@@ -93379,7 +93746,7 @@ please provide a new name:</source>
         <translation>OGR-Fehler beim Festschreiben der Transaktion: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4010"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4017"/>
         <source>Data source is invalid (%1)</source>
         <translation>Datenquelle ungültig (%1)</translation>
     </message>
@@ -93497,76 +93864,76 @@ please provide a new name:</source>
         <translation type="vanished">OGR-Fehler bei Objekt %1: ID zu groß</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1805"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1807"/>
         <source>Feature %1 for attribute update not found.</source>
         <translation>Objekt %1 zur Attributaktualisierung nicht gefunden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1821"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1823"/>
         <source>Changing feature id of feature %1 is not allowed.</source>
         <translation>Änderung der Objektkennung des Objekts %1 ist nicht erlaubt.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1834"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1836"/>
         <source>Field %1 of feature %2 doesn't exist.</source>
         <translation>Feld %1 des Objekts %2 nicht vorhanden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1899"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1901"/>
         <source>Type %1 of attribute %2 of feature %3 unknown.</source>
         <translation>Typ %1 des Attributs %2 des Objekte %3 unbekannt.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1907"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1983"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1909"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1985"/>
         <source>OGR error setting feature %1: %2</source>
         <translation>OGR-Fehler beim Setzen des Objekts %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1918"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3713"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1920"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="3715"/>
         <source>OGR error syncing to disk: %1</source>
         <translation>OGR-Fehler beim Syncen auf Festplatte: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1938"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1940"/>
         <source>OGR error changing geometry: feature %1 not found</source>
         <translation>OGR-Fehler beim Ändern der Geometrie: Objekt %1 nicht gefunden</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1955"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1957"/>
         <source>OGR error creating geometry for feature %1: %2</source>
         <translation>OGR-Fehler bei Geometrieerzeugung für Objekt %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1963"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1965"/>
         <source>OGR error in feature %1: geometry is null</source>
         <translation>OGR-Fehler bei Objekt %1: Geometrie ist leer</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1973"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1975"/>
         <source>OGR error setting geometry of feature %1: %2</source>
         <translation>OGR-Fehler beim Setzen der Geometrie des Objekts %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4098"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4105"/>
         <source>Cannot reopen datasource %1</source>
         <translation>Kann Datenquelle %1 nicht neu öffnen</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4120"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4121"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4127"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4128"/>
         <source>Cannot reopen datasource %1 in update mode</source>
         <translation>Kann Datenquelle %1 nicht im Aktualisierungsmodus neu öffnen</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4140"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4147"/>
         <source>Unbalanced call to leaveUpdateMode() w.r.t. enterUpdateMode()</source>
         <translation>Aufrufe von leaveUpdateMode() und enterUpdateMode() passen nicht zusammen</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4164"/>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4165"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4171"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="4172"/>
         <source>Cannot reopen datasource %1 in read-only mode</source>
         <translation>Kann Datenquelle %1 nicht im schreibgeschützten Modus neu öffnen</translation>
     </message>
@@ -93585,12 +93952,12 @@ please provide a new name:</source>
         <translation type="vanished">Ursprüngliche Datenquelle konnte nicht erneut geöffnet werden.</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2119"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2121"/>
         <source>OGR error deleting feature %1: %2</source>
         <translation>OGR-Fehler beim Löschen des Objekts %1: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2319"/>
+        <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2321"/>
         <source>Shapefiles without attribute are considered read-only.</source>
         <translation>Shapedateien ohne Attribute werden als schreibgeschützt betrachtet.</translation>
     </message>
@@ -94246,6 +94613,21 @@ please provide a new name:</source>
         <translation>Benutzeroberflächenvoreinstellungen wiederherstellen?</translation>
     </message>
     <message>
+        <location filename="../src/app/qgsoptions.cpp" line="2167"/>
+        <source>Stretch to MinMax</source>
+        <translation>Strecken auf MinMax</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsoptions.cpp" line="2169"/>
+        <source>Stretch and Clip to MinMax</source>
+        <translation>Auf MinMax strecken und zuschneiden</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgsoptions.cpp" line="2171"/>
+        <source>Clip to MinMax</source>
+        <translation>Auf MinMax zuschneiden</translation>
+    </message>
+    <message>
         <location filename="../src/app/qgsoptions.cpp" line="2259"/>
         <source>Set Scale</source>
         <translation>Maßstab setzen</translation>
@@ -94576,19 +94958,16 @@ please provide a new name:</source>
         <translation>Kein Strecken</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsoptions.cpp" line="2167"/>
         <source>Stretch To MinMax</source>
-        <translation>Strecken auf MinMax</translation>
+        <translation type="vanished">Strecken auf MinMax</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsoptions.cpp" line="2169"/>
         <source>Stretch And Clip To MinMax</source>
-        <translation>Strecken und Zuschneiden auf MinMax</translation>
+        <translation type="vanished">Strecken und Zuschneiden auf MinMax</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsoptions.cpp" line="2171"/>
         <source>Clip To MinMax</source>
-        <translation>Zuschneiden auf MinMax</translation>
+        <translation type="vanished">Zuschneiden auf MinMax</translation>
     </message>
     <message>
         <location filename="../src/app/qgsprojectproperties.cpp" line="68"/>
@@ -94606,7 +94985,7 @@ please provide a new name:</source>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="100"/>
         <location filename="../src/ui/qgsoptionsbase.ui" line="103"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4755"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4758"/>
         <source>General</source>
         <translation>Allgemein</translation>
     </message>
@@ -94737,7 +95116,7 @@ please provide a new name:</source>
         <translation> s</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="688"/>
         <source>Hide splash screen at startup</source>
         <translation>Splashscreen beim Start nicht anzeigen</translation>
     </message>
@@ -94746,27 +95125,27 @@ please provide a new name:</source>
         <translation type="vanished">Tipps beim Starten anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="665"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="668"/>
         <source>QGIS-styled group boxes</source>
         <translation>Gruppenrahmen in QGIS-Stil</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="704"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="707"/>
         <source>Project files</source>
         <translation>Projektdateien</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="734"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="737"/>
         <source>New</source>
         <translation>Neu</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="724"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="727"/>
         <source>Most recent</source>
         <translation>Zuletzt verwendetes</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="729"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="732"/>
         <source>Specific</source>
         <translation>Bestimmtes</translation>
     </message>
@@ -94775,73 +95154,73 @@ please provide a new name:</source>
         <translation type="vanished">…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="813"/>
         <source>Open project on launch</source>
         <translation>Projekt beim Start öffnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="819"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="822"/>
         <source>Create new project from default project</source>
         <translation>Neues Projekt aus Vorgabeprojekt erstellen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="844"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="847"/>
         <source>Set current project as default</source>
         <translation>Aktuelles Projekt als Vorgabe speichern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="851"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="854"/>
         <source>Reset default</source>
         <translation>Vorgabe zurücksetzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="875"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="878"/>
         <source>Template folder</source>
         <translation>Vorlagenverzeichnis</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="903"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1304"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="906"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1307"/>
         <source>Reset</source>
         <translation>Zurücksetzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="919"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="922"/>
         <source>Prompt to save project and data source changes when required</source>
         <translation>Bei Bedarf nachfragen, ob geänderte Projekte und Datenquellen gespeichert werden sollen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="926"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="929"/>
         <source>Prompt for confirmation when a layer is to be removed</source>
         <translation>Beim Löschen von Layern Bestätigung anfordern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="933"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="936"/>
         <source>Warn when opening a project file saved with an older version of QGIS</source>
         <translation>Warnung ausgeben, wenn QGIS-Projekt einer früheren Version geöffnet wird</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="942"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="945"/>
         <source>Enable macros</source>
         <translation>Makros aktivieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="956"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="959"/>
         <source>Never</source>
         <translation>Nie</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="961"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="964"/>
         <source>Ask</source>
         <translation>Fragen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="966"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="969"/>
         <source>For this session only</source>
         <translation>Nur in dieser Sitzung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="971"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="974"/>
         <source>Always (not recommended)</source>
         <translation>Immer (nicht empfohlen)</translation>
     </message>
@@ -94850,62 +95229,62 @@ please provide a new name:</source>
         <translation type="vanished">QSettings</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1334"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1337"/>
         <source>Environment</source>
         <translation>Umgebung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1512"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1515"/>
         <source>Apply</source>
         <translation>Anwenden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1435"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1517"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1438"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1520"/>
         <source>Variable</source>
         <translation>Variable</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1440"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1522"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1443"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1525"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1386"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1389"/>
         <source>Current environment variables (read-only - bold indicates modified at startup)</source>
         <translation>Aktuelle Umgebungsvariablen (schreibgeschützt - Fett bedeutet Änderung beim Start)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1448"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1451"/>
         <source>Show only QGIS-specific variables</source>
         <translation>Nur QGIS-spezifische Variablen anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1458"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1461"/>
         <source>Use custom variables (restart required - include separators)</source>
         <translation>Benutzerdefinierte Umgebungsvariablen verwenden (Neustart erforderlich - Trennzeichen einschließen)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1115"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1118"/>
         <source>Plugin paths</source>
         <translation>Erweiterungspfade</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1121"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1124"/>
         <source>Path(s) to search for additional C++ plugins libraries</source>
         <translation>Nach zusätzlichen C++-Erweiterungsbibliotheken zu durchsuchende Pfad(e)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1048"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1051"/>
         <source>SVG paths</source>
         <translation>SVG-Pfade</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="244"/>
         <location filename="../src/ui/qgsoptionsbase.ui" line="247"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4929"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="5081"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4932"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="5084"/>
         <source>Authentication</source>
         <translation>Authentifizierung</translation>
     </message>
@@ -94942,12 +95321,12 @@ please provide a new name:</source>
         <translation>&Qt-Vorgabe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="672"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="675"/>
         <source>Check QGIS version at startup</source>
         <translation>QGIS-Version beim Start überprüfen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="692"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="695"/>
         <source>Use native color chooser dialogs</source>
         <translation>Native Farbauswahldialoge verwenden</translation>
     </message>
@@ -94956,12 +95335,12 @@ please provide a new name:</source>
         <translation type="vanished">Unterstützung für Kartendrehung (Neustart erforderlich)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="719"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="722"/>
         <source>Welcome Page</source>
         <translation>Willkommensseite</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1054"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1057"/>
         <source>Path(s) to search for Scalable Vector Graphic (SVG) symbols</source>
         <translation>Suchpfad(e) für SVG-Symbole (Scalable Vector Graphic)</translation>
     </message>
@@ -94970,12 +95349,12 @@ please provide a new name:</source>
         <translation type="vanished">Zusammenstellungspfade</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1318"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1321"/>
         <source>Reset user interface to default settings (restart required)</source>
         <translation>Benutzeroberflächeneinstellungen zurücksetzen (Neustart erforderlich)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1751"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1754"/>
         <source>Feature attributes and table</source>
         <translation>Objektattribute und -tabelle</translation>
     </message>
@@ -94988,12 +95367,12 @@ please provide a new name:</source>
         <translation type="vanished">Attributtabellenverhalten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1805"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1808"/>
         <source>Attribute table row cache</source>
         <translation>Attributtabellenzeilencache</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1786"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1789"/>
         <source>Representation for NULL values</source>
         <translation>Repräsentation für NULL-Werte</translation>
     </message>
@@ -95034,151 +95413,156 @@ please provide a new name:</source>
         <translation>Modeless-Datenquellenverwaltungsdialog</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="748"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="661"/>
+        <source>A modeless dialog allows you to interact with QGIS main window and dialogs.</source>
+        <translation>Ein eigenständiger (modeless) Dialog erlaubt die Interaktion mit dem QGIS-Hauptfenster und Dialogen.</translation>
+    </message>
+    <message>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="751"/>
         <source>Select file</source>
         <translation>Datei wählen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="889"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4900"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="892"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4903"/>
         <source>Select folder</source>
         <translation>Wähle Ordner</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1074"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1141"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1222"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4494"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1077"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1144"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1225"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4497"/>
         <source>Add new path</source>
         <translation>Einen neuen Pfad hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1088"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1155"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1236"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2048"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4508"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1091"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1158"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2051"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4511"/>
         <source>Remove path</source>
         <translation>Pfad entfernen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1182"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1185"/>
         <source>Documentation paths</source>
         <translation>Dokumentationspfade</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1188"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1191"/>
         <source>Lower selected path priority</source>
         <translation>Priorität des gewählten Pfads verkleinern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1191"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1271"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3435"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3449"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3463"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3490"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3504"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1194"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1274"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3438"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3452"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3466"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3493"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3507"/>
         <source>…</source>
         <translation>…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1202"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1205"/>
         <source>Path(s) to search for QGIS help</source>
         <translation>Pfad(e) um nach QGIS-Hilfe zu suchen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1268"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1271"/>
         <source>Raise selected path priority</source>
         <translation>Priorität des gewählten Pfad erhöhen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1285"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1288"/>
         <source>Settings</source>
         <translation>Einstellungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1346"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1349"/>
         <source>Remove variable</source>
         <translation>Variable entfernen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1366"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1369"/>
         <source>Add new variable</source>
         <translation>Neue Variable hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1620"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1623"/>
         <source>&Use a default CRS</source>
         <translation>Voreingestelltes KBS verwenden (&u)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1646"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1649"/>
         <source>Enter default datum transformations which will be used in any newly created project</source>
         <translation>Vorgabedatumstransformationen, die für alle neue erzeugen Projekte verwendet werden sollen.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1653"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1656"/>
         <source>Ask for datum transformation if several are available</source>
         <translation>Datumstransformation erfragen, wenn mehrere verfügbar sind</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1757"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1760"/>
         <source>Open attribute table in a dock window</source>
         <translation>Attributtabelle gedockt öffnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1779"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1782"/>
         <source>Attribute table behavior</source>
         <translation>Attributtabellenverhalten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1848"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1851"/>
         <source>Default view</source>
         <translation>Voreingestellte Ansicht</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1855"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1858"/>
         <source>Copy features as</source>
         <translation>Objekte kopieren als</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1865"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1868"/>
         <source>Data source handling</source>
         <translation>Datenquellenbehandlung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1873"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1876"/>
         <source>Scan for valid items in the browser dock</source>
         <translation>Nach gültigen Element im Browser suchen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1900"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1903"/>
         <source>Scan for contents of compressed files (.zip) in browser dock</source>
         <translation>Inhalt komprimierter Dateien (.zip) im Browser durchsuchen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1937"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1940"/>
         <source>Prompt for raster sublayers when opening</source>
         <translation>Beim Öffnen nach Rasterunterlayern fragen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3925"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3928"/>
         <source>Don't update rubber band during vertex editing</source>
         <translation>Gummiband bei Stützpunktbearbeitung nicht aktualisieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4320"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4323"/>
         <source>Layout defaults</source>
         <translation>Layoutvorgaben</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4468"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4471"/>
         <source>Layout Paths</source>
         <translation>Layoutpfade</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="5170"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="5173"/>
         <source><html><head/><body><p>Changes on this page are dangerous and can break your QGIS installation in various ways. Any change you make is applied immediately, without clicking the <span style=" font-style:italic;">OK</span> button.</p></body></html></source>
         <translation><html><head/><body><p>Änderung an dieser Seite sind gefährlich und können die QGIS-Installation auf verschiedenen Weisen stören. Jede Änderung wirkt sofort, auch Klick auf <span style=" font-style:italic;">OK</span>.</p></body></html></translation>
     </message>
@@ -95187,32 +95571,32 @@ please provide a new name:</source>
         <translation type="vanished">PostGIS-Layer per Doppelklick hinzufügen und zur Auswahl den erweiterten Modus verwenden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2012"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2015"/>
         <source>Hidden browser paths</source>
         <translation>Ausgeblendete Browserpfade</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2018"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2021"/>
         <source>Paths hidden from browser panel</source>
         <translation>Im Browserfenster ausgeblendete Pfade</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2119"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2122"/>
         <source>Rendering behavior</source>
         <translation>Zeichenverhalten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2125"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2128"/>
         <source>By default new la&yers added to the map should be displayed</source>
         <translation>Normalerweise werden alle neuen La&yer im Kartenfenster angezeigt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2132"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2135"/>
         <source>Use render caching where possible to speed up redraws</source>
         <translation>Wo möglich den Darstellungscache benutzen, um das Neuzeichnen zu beschleunigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2141"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2144"/>
         <source>Render layers in parallel using many CPU cores</source>
         <translation>Layer mit mehreren CPU-Kernen parallel zeichnen</translation>
     </message>
@@ -95221,7 +95605,7 @@ please provide a new name:</source>
         <translation type="vanished">Max. zu benutzende Kerne:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2220"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2223"/>
         <source>Enable feature si&mplification by default for newly added layers</source>
         <translation>Geo&metrievereinfachung für neue Layer voreinstellen</translation>
     </message>
@@ -95238,260 +95622,260 @@ please provide a new name:</source>
         <translation type="vanished">Größter Maßstab bis zu dem der Layer vereinfacht werden soll (1:1 vereinfacht immer): </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2345"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2348"/>
         <source>Magnification level</source>
         <translation>Vergrößerungsgrad</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2376"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2379"/>
         <source>Rendering quality</source>
         <translation>Zeichenqualität</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2394"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2397"/>
         <source>Make lines appear less jagged at the expense of some drawing performance</source>
         <translation>Linien auf Kosten der Zeichengeschwindigkeit weniger gezackt zeichnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2404"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2407"/>
         <source>Curve segmentation</source>
         <translation>Kurvensegmentierung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2410"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2413"/>
         <source>Segmentation tolerance</source>
         <translation>Segmentierungstoleranz</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2420"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2423"/>
         <source>Tolerance type</source>
         <translation>Toleranztyp</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2433"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2436"/>
         <source>Rasters</source>
         <translation>Raster</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2454"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2457"/>
         <source>RGB band selection</source>
         <translation>RGB Kanalauswahl</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2477"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2480"/>
         <source>Red band</source>
         <translation>Roter Kanal</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2487"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2490"/>
         <source>Green band</source>
         <translation>Grüner Kanal</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2497"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2500"/>
         <source>Blue band</source>
         <translation>Blauer Kanal</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2523"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2526"/>
         <source>Contrast enhancement</source>
         <translation>Kontrastverbesserung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2550"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2553"/>
         <source>Single band gray</source>
         <translation>Einkanalgraustufen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2573"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2576"/>
         <source>Multi band color (byte / band) </source>
         <translation>Multikanalfarbe (Byte/Kanal) </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2580"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2583"/>
         <source>Multi band color (> byte / band) </source>
         <translation>Multikanalfarbe (> Byte/Kanal) </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2557"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2560"/>
         <source>Limits (minimum/maximum)</source>
         <translation>Grenzen (Minimum/Maximum)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1978"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1981"/>
         <source>Add PostGIS layers with double-click and select in extended mode</source>
         <translation>PostGIS-Layer per Doppelklick hinzufügen und zur Auswahl den erweiterten Modus verwenden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1985"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1988"/>
         <source>Add Oracle layers with double-click and select in extended mode</source>
         <translation>Oracle-Layer per Doppelklick hinzufügen und zur Auswahl den erweiterten Modus verwenden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1999"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2002"/>
         <source><html><head/><body><p>When digitizing a new feature, default values are retrieved from the database. With this option turned on, the default values will be evaluated at the time of digitizing. With this option turned off, the default values will be evaluated at the time of saving.</p></body></html></source>
         <translation><html><head/><body<p>Beim Digitalisieren eines neuen Objekts werden die Vorgabewerte aus der Datenbank geladen.  Nach Aktivierung dieser Funktin werden sie bereits zum Zeitpunkt der Digitalisierung und nicht erst beim Speichern auswertet.</p></body></html></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2002"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2005"/>
         <source>Evaluate default values</source>
         <translation>Vorgabewerte auswerten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2155"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2158"/>
         <source>Max cores to use</source>
         <translation>Max. zu benutzende Kerne:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2239"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2242"/>
         <source>Simplification threshold (higher values result in more simplification)</source>
         <translation>Vereinfachungsschwelle (höhere Werte führen zu stärkerer Vereinfachung)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2294"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2297"/>
         <source>This algorithm is only applied to simplify on local side</source>
         <translation>Diese Algorithmus wird nur zur lokalen Vereinfachung verwendet</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2297"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2300"/>
         <source>Simplification algorithm</source>
         <translation>Vereinfachungsalgorithmus</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2317"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2320"/>
         <source>Maximum scale at which the layer should be simplified (1:1 always simplifies)</source>
         <translation>Größter Maßstab bis zu dem der Layer vereinfacht werden soll (1:1 vereinfacht immer)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2537"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2540"/>
         <source>Algorithm</source>
         <translation>Algorithmus</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2671"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2674"/>
         <source>Cumulative pixel count cut limits</source>
         <translation>Kumulative Pixelanzahl-Schnittgrenzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2685"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2688"/>
         <source>-</source>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2699"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3396"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2702"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3399"/>
         <source>%</source>
         <translation>%</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2737"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2740"/>
         <source>Standard deviation multiplier</source>
         <translation>Standardabweichungsfaktor</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2776"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2779"/>
         <source>Debugging</source>
         <translation>Fehlersuche</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2782"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2785"/>
         <source>Show these events in the Log Message panel (under Rendering tab)</source>
         <translation>Diese Ereignisse im Protokoll anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2807"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2810"/>
         <source>Map canvas refresh</source>
         <translation>Kartenaktualisierung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2982"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2985"/>
         <source>Double-click action in legend</source>
         <translation>Doppelklick-Aktion in Legende</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3023"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3026"/>
         <source>Display classification attribute in layer titles</source>
         <translation>Klassifikationsattribute in Layertiteln anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3240"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3243"/>
         <source>Minimum line / stroke width in millimeters.</source>
         <translation>Minimale Linien-/Strichstärke in Millimeter.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3379"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3382"/>
         <source>Zooming</source>
         <translation>Zoomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3392"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3395"/>
         <source>Specifies the change in zoom level with each move of the mouse wheel.
 The bigger the number, the faster zooming with the mouse wheel will be.</source>
         <translation>Gibt die Änderung der Zoomstufe mit jeder Bewegung des Mausrads an.
 Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3446"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3449"/>
         <source>Remove selected scale</source>
         <translation>Gewählten Maßstab löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3577"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3580"/>
         <source>Paste colors</source>
         <translation>Farben einfügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3605"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3608"/>
         <source>Add color</source>
         <translation>Farbe hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3619"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3622"/>
         <source>Remove color</source>
         <translation>Farbe entfernen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3646"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3649"/>
         <source>Copy colors</source>
         <translation>Farben kopieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2870"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2873"/>
         <source>Default map appearance (overridden by project properties)</source>
         <translation>Voreingestelles Kartenaussehen (Projekteigenschaften überschreiben)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2933"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2936"/>
         <source>Selection color</source>
         <translation>Farbe für Auswahlen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3013"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3016"/>
         <source>Open layer styling dock</source>
         <translation>Kartengestaltungsdock öffen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3175"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3178"/>
         <source>Highlight color</source>
         <translation>Hervorhebungsfarbe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3200"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3203"/>
         <source><html><head/><body><p>The color used to highlight identified feature. The alpha channel is only used for polygons fill, lines and outlines are fully opaque.</p></body></html></source>
         <translation><html><head/><body><p>Die Farbe zur Hervorhebung abgefragter Objekte. Der Transparenzkanal wird nur für Polygonfüllungen verwendet, Linien und Ränder sind volldeckend.</p></body></html></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3213"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3216"/>
         <source>Buffer</source>
         <translation>Puffer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3220"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3223"/>
         <source>Lines / outlines buffer in millimeters.</source>
         <translation>Linien- / Ränderpuffer in Millimeter.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3233"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3236"/>
         <source>Minimum width</source>
         <translation>Minimalbreite</translation>
     </message>
@@ -95500,72 +95884,72 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Minimale Linien-/Strichbreiten in Millimeter.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3287"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3290"/>
         <source>If unchecked large numbers will be converted from m. to km. and from ft. to miles</source>
         <translation>Große Zahlen werden von m in km und von Fuß in Meilen umgewandelt, wenn dies deaktiviert ist</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3460"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3463"/>
         <source>Reset to default scales</source>
         <translation>Auf Vorgabemaßstäbe zurücksetzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3771"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3774"/>
         <source>Default Z value</source>
         <translation>Z-Vorgabewert</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3944"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3947"/>
         <source>Enable snapping by default</source>
         <translation>Objektfang voreinstellen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3951"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3954"/>
         <source>Display main dialog as (restart required)</source>
         <translation>Hauptfensters anzeigen in (erfordert Neustart)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3958"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3961"/>
         <source>Snapping marker color</source>
         <translation>Fangmarkierungsfarbe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4092"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4095"/>
         <source>Show snapping tooltips</source>
         <translation>Fanghinweise anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4359"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4362"/>
         <source>Grid color</source>
         <translation>Gitterfarbe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4388"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4391"/>
         <source>Grid and guide defaults</source>
         <translation>Gitter- und Führungsvoreinstellungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4394"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4397"/>
         <source>Grid spacing</source>
         <translation>Gitterabstand</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4455"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4458"/>
         <source> px</source>
         <translation> px</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4474"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4477"/>
         <source>Path(s) to search for extra print templates</source>
         <translation>Pfad(e) um nach zusätzlichen Druckvorlagen zu suchen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3738"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3741"/>
         <source>Suppress attribute form pop-up after feature creation</source>
         <translation>Attributeingabeformular bei der Objekteerstellung unterdrücken</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3893"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3896"/>
         <source>Fill color</source>
         <translation>Füllfarbe</translation>
     </message>
@@ -95574,12 +95958,12 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Gummiband bei Stützpunktbearbeitung nicht aktualisieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1606"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1609"/>
         <source>Pro&mpt for CRS</source>
         <translation>&KBS abfragen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1613"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1616"/>
         <source>Use pro&ject CRS</source>
         <translation>Pro&jekt KBS verwenden</translation>
     </message>
@@ -95596,62 +95980,62 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished"><b>Hinweis:</b> Einschalten/Änderung der Locale-Überschreibung erfordert einen Anwendungsneustart</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4795"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4798"/>
         <source>Default expiration period for WMS capabilities (hours)</source>
         <translation>Verfallszeitraumvorgabe für WMS-Eigenschaften (Stunden)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4831"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4834"/>
         <source>Max retry in case of tile or feature request errors</source>
         <translation>Max. Wiederholung bei Kachel- oder Objektabfragefehlern</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4914"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4917"/>
         <source>Clear cache</source>
         <translation>Cache leeren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4935"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4938"/>
         <source><html><head/><body><p>The connection cache stores all authentication connections data even when the connection fails.<br/>If you make any change to the authentication configurations or to the certification authorities, you should clear the authentication cache or<br/>restart QGIS. <br/>When this option is checked, the authentication cache will be automatically cleared every time an SSL error occurs and you choose to abort the conn [...]
         <translation><html><head/><body><p>Der Verbindungscache speichert alle Authentifizierungsverbindungen selbst wenn die Verbindung fehlschlägt.<br/>Wenn eine Änderungen an den Authentifizierungskonfigurationen oder den Zertifikatsautoritäten vorgenommen werden, sollte der Authentifizierungscache geleert oder<br/>QGIS neugestartet<br/> werden.  Wenn diese Option angehakt ist wir der Authentifizierungscache automatisch geleert wenn eine SSL-F [...]
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4938"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4941"/>
         <source>Automatically clear the connection authentication cache on SSL errors (recommended)</source>
         <translation>Authentifizierungszugriffscache automatisch bei SSL-Fehlern leeren (empfohlen)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4945"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4948"/>
         <source>Clear authentication connection cache</source>
         <translation>Authentifizierungsverbindungscache löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4959"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4962"/>
         <source>Use pro&xy for web access</source>
         <translation>Proxy für Webzugriff benutzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4984"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4987"/>
         <source>Remove selected URL</source>
         <translation>Gewählte URL entfernen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4998"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="5001"/>
         <source>Add URL to exclude</source>
         <translation>Auszuschließende URL hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4695"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4698"/>
         <source>Expression Variables</source>
         <translation>Ausdrucksvariablen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="5150"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="5153"/>
         <source>Locator Filters</source>
         <translation>Suchfilter</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="5161"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="5164"/>
         <source>Advanced Settings Editor</source>
         <translation>Erweiterte Einstellungsbearbeitung</translation>
     </message>
@@ -95660,12 +96044,12 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished"><html><head/><body><p>Änderung an dieser Seite sind gefährlich und können die QGIS-Installation auf verschiedenen Weisen stören. Jede Änderung wirkt sofort, auch Klick auf <span style=" font-style:italic;">Ok</span>.</p></body></html></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="5180"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="5183"/>
         <source>I will be careful, I promise!</source>
         <translation>Ich bin vorsichtig. Bestimmt!</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2920"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2923"/>
         <source>Background color</source>
         <translation>Hintergrundfarbe</translation>
     </message>
@@ -95674,12 +96058,12 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Farbauswahldialoge verwenden, die laufend aktualisieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1971"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1974"/>
         <source>Ignore shapefile encoding declaration</source>
         <translation>Shapedatei-Kodierungsangabe ignorieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1968"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1971"/>
         <source>Disable OGR on-the-fly conversion from declared encoding to UTF-8</source>
         <translation>OGR Spontankonvertierung von angegebene Kodierung zu UTF-8 abschalten</translation>
     </message>
@@ -95692,12 +96076,12 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Oracle-Layer per Doppelklick hinzufügen und zur Auswahl den erweiterten Modus verwenden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1992"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1995"/>
         <source>Execute expressions on server-side if possible</source>
         <translation>Ausdrücke wenn möglich serverseitig ausführen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2232"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2235"/>
         <source><b>Note:</b> Feature simplification may speed up rendering but can result in rendering inconsistencies</source>
         <translation><b>Hinweis:</b> Geometrievereinfachung kann die Darstellung beschleunigen, aber auch zu Darstellungsinkonsistenzen führen</translation>
     </message>
@@ -95706,27 +96090,27 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Vereinfachungsschwelle (höhere Werte führen zu stärkerer Vereinfachung): </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2249"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2252"/>
         <source>Higher values result in more simplification</source>
         <translation>Höhere Werte führen zu mehr Vereinfachung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2310"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2313"/>
         <source>Simplify on provider side if possible</source>
         <translation>Wenn möglich auf Datenanbieterseite vereinfachen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3591"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3594"/>
         <source>Export colors</source>
         <translation>Farben exportieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3660"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3663"/>
         <source>Import colors from file</source>
         <translation>Farben aus Datei importieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2974"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2977"/>
         <source>Layer legend</source>
         <translation>Layerlegende</translation>
     </message>
@@ -95735,12 +96119,12 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Doppelklick-Aktion in Legende</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3003"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3006"/>
         <source>Open layer properties</source>
         <translation>Layereigenschaften öffnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3008"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3011"/>
         <source>Open attribute table</source>
         <translation>Attributtabelle öffnen</translation>
     </message>
@@ -95769,57 +96153,57 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Legendenelementstil</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3032"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3035"/>
         <source>WMS getLegendGraphic Resolution</source>
         <translation>WMS-GetLegendGraphic-Auflösung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3127"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3130"/>
         <source>Identify</source>
         <translation>Abfragen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3135"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3138"/>
         <source>Search radius for identifying features and displaying map tips</source>
         <translation>Suchradius für die Objektidentifikation und zur Anzeige von Kartenhinweisen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3268"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3271"/>
         <source>Measure tool</source>
         <translation>Messwerkzeug</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3274"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3277"/>
         <source>Preferred distance units</source>
         <translation>Bevorzugte Abstandseinheiten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3307"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3310"/>
         <source>Rubberband color</source>
         <translation>Gummibandfarbe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3341"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3344"/>
         <source>Preferred angle units</source>
         <translation>Bevorzugtes Winkelmaß</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2182"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2185"/>
         <source>Map update interval</source>
         <translation>Kartenaktualisierungsinterval</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2189"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2192"/>
         <source> ms</source>
         <translation> ms</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3300"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3303"/>
         <source>Decimal places</source>
         <translation>Dezimalstellen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3290"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3293"/>
         <source>Keep base unit</source>
         <translation>Basiseinheit beibehalten</translation>
     </message>
@@ -95828,17 +96212,17 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Verschieben und Zoomen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3385"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3388"/>
         <source>Zoom factor</source>
         <translation>Zoomfaktor</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3421"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3424"/>
         <source>Predefined scales</source>
         <translation>Vordefinierte Maßstäbe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3432"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3435"/>
         <source>Add predefined scale</source>
         <translation>Vordefinierten Maßstab hinzufügen</translation>
     </message>
@@ -95847,12 +96231,12 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Gewähltes löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3487"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3490"/>
         <source>Import from file</source>
         <translation>Aus Datei importieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3501"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3504"/>
         <source>Export to file</source>
         <translation>In Datei exportieren</translation>
     </message>
@@ -95861,118 +96245,118 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Zusammenstellungsvoreinstellungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4328"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4331"/>
         <source>Default font</source>
         <translation>Vorgabeschriftart</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4343"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4346"/>
         <source>Grid appearance</source>
         <translation>Gitterdarstellung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4349"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4352"/>
         <source>Grid style</source>
         <translation>Gitterstil</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3142"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3223"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3243"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4401"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3145"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3226"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3246"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4404"/>
         <source> mm</source>
         <translation> mm</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4414"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4417"/>
         <source>Grid offset</source>
         <translation>Gitterversatz</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4426"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4429"/>
         <source>x: </source>
         <translation>x: </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4436"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4439"/>
         <source>y: </source>
         <translation>y: </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4448"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4451"/>
         <source>Snap tolerance</source>
         <translation>Fangtoleranz</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3725"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3728"/>
         <source>Feature creation</source>
         <translation>Objekterzeugung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3731"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3734"/>
         <source>Validate geometries</source>
         <translation>Geometrien prüfen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3761"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3764"/>
         <source>Reuse last entered attribute values</source>
         <translation>Letzte Attributwerteingaben wiederverwenden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3807"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3810"/>
         <source>Rubberband</source>
         <translation>Gummiband</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3845"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3848"/>
         <source>Line color</source>
         <translation>Linienfarbe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3852"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3855"/>
         <source>Line width in pixels</source>
         <translation>Linienstärke in Pixel</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3832"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3835"/>
         <source>Line width</source>
         <translation>Linienstärke</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3935"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3938"/>
         <source>Snapping</source>
         <translation>Objektfang</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3965"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3968"/>
         <source>Default snap mode</source>
         <translation>Fangmodusvorgabe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4085"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4088"/>
         <source>Default snapping tolerance</source>
         <translation>Fangtoleranzvorgabe</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4078"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4081"/>
         <source>Search radius for vertex edits</source>
         <translation>Suchradius für Stützpunktbearbeitung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3979"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4029"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3982"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4032"/>
         <source>map units</source>
         <translation>Karteneinheiten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="2271"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3984"/>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4034"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="2274"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3987"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4037"/>
         <source>pixels</source>
         <translation>Pixel</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3327"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3330"/>
         <source>Preferred area units</source>
         <translation>Bevorzugte Flächeneinheiten</translation>
     </message>
@@ -95981,102 +96365,102 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Fangoptionsdialog in einem Dockfenster anzeigen (QGIS-Neustart erforderlich)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4102"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4105"/>
         <source>Vertex markers</source>
         <translation>Stützpunktmarken</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4108"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4111"/>
         <source>Marker style</source>
         <translation>Markierungsstil</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4151"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4154"/>
         <source>Marker size</source>
         <translation>Markierungsgröße</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4171"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4174"/>
         <source>Show markers only for selected features</source>
         <translation>Markierungen nur für gewählte Objekte anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4181"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4184"/>
         <source>Curve offset tool</source>
         <translation>Werkzeug zum Linien versetzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4190"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4193"/>
         <source>Miter limit</source>
         <translation>Eckengrenze</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4197"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4200"/>
         <source>Join style</source>
         <translation>Verbindungsstil</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4214"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4217"/>
         <source>Quadrant segments</source>
         <translation>Quadrantensegmente</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4586"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4589"/>
         <source>GDAL driver options</source>
         <translation>GDAL-Treiberoptionen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4608"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4611"/>
         <source>Edit Pyramids Options</source>
         <translation>Pyramiden-Optionen bearbeiten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4628"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4631"/>
         <source>Edit Create Options</source>
         <translation>Erzeugungsoptionen bearbeiten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4638"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4641"/>
         <source>GDAL drivers</source>
         <translation>GDAL-Treiber</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4644"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4647"/>
         <source>In some cases more than one GDAL driver can be used to load the same raster format. Use the list below to specify which to use.</source>
         <translation>In einigen Fällen können mehrere GDAL-Treiber benutzt werden um bestimmte Rasterformate zu laden.  Im Folgenden können Sie einstellen, welche benutzt werden sollen.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4661"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4664"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4666"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4669"/>
         <source>ext</source>
         <translation>Erw</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4671"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4674"/>
         <source>Flags</source>
         <translation>Flaggen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4676"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4679"/>
         <source>Description</source>
         <translation>Beschreibung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1584"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1587"/>
         <source>CRS for new layers</source>
         <translation>KBS für neue Layer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1596"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1599"/>
         <source>When a new layer is created, or when a layer is loaded that has no CRS</source>
         <translation>Wenn ein neuer Layer erzeugt wird oder ein Layer geladen wird, der kein Koordinatenbezugssystem hat</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1691"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1694"/>
         <source>Default CRS for new projects</source>
         <translation>Vorgabe-KBS für neue Projekte</translation>
     </message>
@@ -96089,7 +96473,7 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Spontan&reprojektion voreinstellen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="3571"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="3574"/>
         <source>Standard colors</source>
         <translation>Standardfarben</translation>
     </message>
@@ -96098,7 +96482,7 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">'Spontanreprojektion' nicht einschalten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="1640"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="1643"/>
         <source>Default datum transformations</source>
         <translation>Datumstransformationsvorgaben</translation>
     </message>
@@ -96136,42 +96520,42 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Festgestellte aktive Spracheinstellung:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4763"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4766"/>
         <source>WMS search address</source>
         <translation>WMS-Suchadresse</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4777"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4780"/>
         <source>Timeout for network requests (ms)</source>
         <translation>Zeitüberschreitung bei Netzwerkanfragen (ms)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4813"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4816"/>
         <source>Default expiration period for WMS-C/WMTS tiles (hours)</source>
         <translation>Verfallszeitraumvorgabe für WMS-C-/WMTS-Kacheln (Stunden)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4849"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4852"/>
         <source>User-Agent</source>
         <translation>User-Agent</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4864"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4867"/>
         <source>Cache settings</source>
         <translation>Cache-Einstellungen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4874"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4877"/>
         <source>Content</source>
         <translation>Inhalt</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4887"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4890"/>
         <source>Directory</source>
         <translation>Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4880"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4883"/>
         <source>Size [KiB]</source>
         <translation>Größe [KiB]</translation>
     </message>
@@ -96180,12 +96564,12 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="5074"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="5077"/>
         <source>Host</source>
         <translation>Host</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="5064"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="5067"/>
         <source>Port</source>
         <translation>Port</translation>
     </message>
@@ -96202,12 +96586,12 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Passwort</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="5023"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="5026"/>
         <source>Proxy type</source>
         <translation>Proxytyp</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="4977"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="4980"/>
         <source>Exclude URLs (starting with)</source>
         <translation>URL ausschließen, die beginnen mit</translation>
     </message>
@@ -96220,7 +96604,7 @@ Je gräßer die Zahl, je schneller wird mit dem Mausrad gezoomt.</translation>
         <translation type="vanished">Projekte immer in diesem KBS beginnen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsoptionsbase.ui" line="5033"/>
+        <location filename="../src/ui/qgsoptionsbase.ui" line="5036"/>
         <source>Default uses system's proxy</source>
         <translation>Vorgabe benutzt Systemproxy</translation>
     </message>
@@ -100992,22 +101376,22 @@ SQL: %2</translation>
         <translation type="vanished">Ändern und Hinzufügen auf 2D+-Layern abgeschaltet (%1; %2)</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4069"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4066"/>
         <source>PostgreSQL version: unknown</source>
         <translation>PostgreSQL-Version: unbekannt</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4070"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4067"/>
         <source>unknown</source>
         <translation>unbekannt</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4090"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4087"/>
         <source>PostgreSQL not connected</source>
         <translation>PostgreSQL nicht verbunden</translation>
     </message>
     <message>
-        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4093"/>
+        <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4090"/>
         <source>PostgreSQL/PostGIS provider
 %1
 PostGIS %2</source>
@@ -101140,7 +101524,7 @@ PostGIS %2</translation>
 <context>
     <name>QgsProcessingProvider</name>
     <message>
-        <location filename="../src/core/processing/qgsprocessingprovider.cpp" line="84"/>
+        <location filename="../src/core/processing/qgsprocessingprovider.cpp" line="87"/>
         <source>Duplicate algorithm name %1 for provider %2</source>
         <translation>Doppelter Algorithmenname %1 für Lieferant %2</translation>
     </message>
@@ -102958,9 +103342,8 @@ Daher wird die Projektionsauswahl nicht funktionieren…</translation>
         <translation type="vanished">Beschreibung…</translation>
     </message>
     <message>
-        <location filename="../src/gui/qgspropertyoverridebutton.cpp" line="74"/>
         <source>Store data in the project</source>
-        <translation>Daten im Projekt speichern</translation>
+        <translation type="vanished">Daten im Projekt speichern</translation>
     </message>
     <message>
         <source>Edit...</source>
@@ -102991,6 +103374,11 @@ Daher wird die Projektionsauswahl nicht funktionieren…</translation>
         <translation>Beschreibung…</translation>
     </message>
     <message>
+        <location filename="../src/gui/qgspropertyoverridebutton.cpp" line="74"/>
+        <source>Store Data in the Project</source>
+        <translation>Daten im Projekt speichern</translation>
+    </message>
+    <message>
         <location filename="../src/gui/qgspropertyoverridebutton.cpp" line="77"/>
         <source>Edit…</source>
         <translation>Bearbeiten…</translation>
@@ -103570,17 +103958,17 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>QgsRasterCalcDialog</name>
     <message>
-        <location filename="../src/app/qgsrastercalcdialog.cpp" line="80"/>
+        <location filename="../src/app/qgsrastercalcdialog.cpp" line="81"/>
         <source>Enter result file</source>
         <translation>Ergebnisdatei angeben</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsrastercalcdialog.cpp" line="302"/>
+        <location filename="../src/app/qgsrastercalcdialog.cpp" line="303"/>
         <source>Expression valid</source>
         <translation>Ausdruck gültig</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsrastercalcdialog.cpp" line="311"/>
+        <location filename="../src/app/qgsrastercalcdialog.cpp" line="312"/>
         <source>Expression invalid</source>
         <translation>Ausdruck ungültig</translation>
     </message>
@@ -104205,22 +104593,22 @@ Auf Hilfeknopf klicken um die gültigen Erzeugungsoptionen diese Formats zu erfa
 <context>
     <name>QgsRasterInterface</name>
     <message>
-        <location filename="../src/core/raster/qgsrasterinterface.cpp" line="584"/>
+        <location filename="../src/core/raster/qgsrasterinterface.cpp" line="585"/>
         <source>Identify</source>
         <translation>Abfragen</translation>
     </message>
     <message>
-        <location filename="../src/core/raster/qgsrasterinterface.cpp" line="599"/>
+        <location filename="../src/core/raster/qgsrasterinterface.cpp" line="600"/>
         <source>Build Pyramids</source>
         <translation>Pyramiden erzeugen</translation>
     </message>
     <message>
-        <location filename="../src/core/raster/qgsrasterinterface.cpp" line="589"/>
+        <location filename="../src/core/raster/qgsrasterinterface.cpp" line="590"/>
         <source>Create Datasources</source>
         <translation>Datenquellen erzeugen</translation>
     </message>
     <message>
-        <location filename="../src/core/raster/qgsrasterinterface.cpp" line="594"/>
+        <location filename="../src/core/raster/qgsrasterinterface.cpp" line="595"/>
         <source>Remove Datasources</source>
         <translation>Datenquellen entfernen</translation>
     </message>
@@ -109832,14 +110220,22 @@ einheitssuffix</translation>
         <translation type="vanished">Fang aktivieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgssnappingwidget.cpp" line="92"/>
         <source>Toggle snapping</source>
+        <translation type="vanished">Fang umschalten</translation>
+    </message>
+    <message>
+        <source>toggle snapping (S)</source>
+        <translation type="vanished">Fang umschalten (S)</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssnappingwidget.cpp" line="92"/>
+        <source>Toggle Snapping</source>
         <translation>Fang umschalten</translation>
     </message>
     <message>
         <location filename="../src/app/qgssnappingwidget.cpp" line="95"/>
-        <source>toggle snapping (S)</source>
-        <translation>Fang umschalten (S)</translation>
+        <source>Enable Snapping (S)</source>
+        <translation>Einrasten aktivieren (S)</translation>
     </message>
     <message>
         <location filename="../src/app/qgssnappingwidget.cpp" line="96"/>
@@ -109875,8 +110271,27 @@ einheitssuffix</translation>
     </message>
     <message>
         <location filename="../src/app/qgssnappingwidget.cpp" line="114"/>
+        <source>Open Snapping Options…</source>
+        <translation>Fangeinstellungen öffnen…</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssnappingwidget.cpp" line="162"/>
+        <source>Topological Editing</source>
+        <translation>Topologisches Editieren</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssnappingwidget.cpp" line="170"/>
+        <source>Snapping on Intersection</source>
+        <translation>Fang auf Schnittpunkte</translation>
+    </message>
+    <message>
+        <location filename="../src/app/qgssnappingwidget.cpp" line="178"/>
+        <source>Enable Tracing</source>
+        <translation>Spurverfolgung einschalten</translation>
+    </message>
+    <message>
         <source>Open snapping options</source>
-        <translation>Fangeinstellungen öffnen</translation>
+        <translation type="vanished">Fangeinstellungen öffnen</translation>
     </message>
     <message>
         <location filename="../src/app/qgssnappingwidget.cpp" line="128"/>
@@ -109914,19 +110329,16 @@ einheitssuffix</translation>
         <translation>Fangeinheitentyp: Pixel (px) oder Karteneinheiten (mu)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgssnappingwidget.cpp" line="162"/>
         <source>Topological editing</source>
-        <translation>Topologisches Editieren</translation>
+        <translation type="vanished">Topologisches Editieren</translation>
     </message>
     <message>
-        <location filename="../src/app/qgssnappingwidget.cpp" line="170"/>
         <source>Snapping on intersection</source>
-        <translation>Fang auf Schnittpunkte</translation>
+        <translation type="vanished">Fang auf Schnittpunkte</translation>
     </message>
     <message>
-        <location filename="../src/app/qgssnappingwidget.cpp" line="178"/>
         <source>Enable tracing</source>
-        <translation>Spurverfolgung einschalten</translation>
+        <translation type="vanished">Spurverfolgung einschalten</translation>
     </message>
     <message>
         <location filename="../src/app/qgssnappingwidget.cpp" line="217"/>
@@ -111101,47 +111513,47 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>QgsStatusBarCoordinatesWidget</name>
     <message>
-        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="207"/>
+        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="208"/>
         <source>Coordinate:</source>
         <translation>Koordinate:</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="48"/>
+        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="49"/>
         <source>Current map coordinate</source>
         <translation>Aktuelle Kartenkoordinate</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="47"/>
+        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="48"/>
         <source>Coordinate</source>
         <translation>Koordinate</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="59"/>
+        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="60"/>
         <source>Shows the map coordinates at the current cursor position. The display is continuously updated as the mouse is moved. It also allows editing to set the canvas center to a given position. The format is longitude,latitude or east,north</source>
         <translation>Zeigt die Kartenkoordinate an der aktuellen Mausposition. Die Anzeige wird laufend aktualisiert während die Maus bewegt wird. Sie kann auch bearbeitet werden, um die Kartenanzeige auf eine gegebene Koordinate zu zentrieren. Das Format ist Breite,Höhe, Höhe, Breite oder Ost,Nord</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="63"/>
+        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="64"/>
         <source>Current map coordinate (longitude,latitude or east,north)</source>
         <translation>Aktuelle Kartenkoordinaten (Breite,Höhe oder Ost,Nord)</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="68"/>
+        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="69"/>
         <source>Toggle extents and mouse position display</source>
         <translation>Ausdehnungs- und Mauspositionsanzeige umschalten</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="197"/>
+        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="198"/>
         <source>Map coordinates for the current view extents</source>
         <translation>Kartenkoordinaten für den aktuell sichtbaren Ausschnitt</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="205"/>
+        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="206"/>
         <source>Map coordinates at mouse cursor position</source>
         <translation>Kartenkoordinaten beim Mauszeiger</translation>
     </message>
     <message>
-        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="244"/>
+        <location filename="../src/app/qgsstatusbarcoordinateswidget.cpp" line="245"/>
         <source>Extents:</source>
         <translation>Ausdehnung:</translation>
     </message>
@@ -111463,13 +111875,21 @@ Ersetzen?</translation>
         <translation>Teilhabemenü</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="85"/>
         <source>Export symbol(s)…</source>
+        <translation type="vanished">Symbol(e) exportieren…</translation>
+    </message>
+    <message>
+        <source>Import symbol(s)…</source>
+        <translation type="vanished">Symbol(e) importieren…</translation>
+    </message>
+    <message>
+        <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="85"/>
+        <source>Export Symbol(s)…</source>
         <translation>Symbol(e) exportieren…</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="88"/>
-        <source>Import symbol(s)…</source>
+        <source>Import Symbol(s)…</source>
         <translation>Symbol(e) importieren…</translation>
     </message>
     <message>
@@ -111628,6 +112048,11 @@ Bitte Gruppe oder schlaue Gruppe zum Löschen wählen.</translation>
         <translation>Es gab ein Problem mit der Symboldatenbank bei der Neugruppierung.</translation>
     </message>
     <message>
+        <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="1393"/>
+        <source>Create New Tag…</source>
+        <translation>Erzeuge neue Marke…</translation>
+    </message>
+    <message>
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="1505"/>
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="1524"/>
         <source>Edit Smart Group</source>
@@ -111827,9 +112252,8 @@ Bitte Gruppe oder schlaue Gruppe zum Löschen wählen.</translation>
         <translation type="vanished">Es gab ein Problem mit der Symboldatenbank bei der Neugruppierung.</translation>
     </message>
     <message>
-        <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="1393"/>
         <source>Create new tag…</source>
-        <translation>Erzeuge neue Marke…</translation>
+        <translation type="vanished">Erzeuge neue Marke…</translation>
     </message>
     <message>
         <source>Invalid Selection</source>
@@ -112959,34 +113383,54 @@ Es gab ein Problem mit Ihrer Symboldatenbank.</translation>
         <translation>Symboleinstellungen</translation>
     </message>
     <message>
-        <source>Configure symbol...</source>
-        <translation type="vanished">Symbol einstellen…</translation>
-    </message>
-    <message>
         <location filename="../src/gui/qgssymbolbutton.cpp" line="310"/>
-        <source>Configure symbol…</source>
+        <source>Configure Symbol…</source>
         <translation>Symbol einstellen…</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssymbolbutton.cpp" line="314"/>
-        <source>Copy symbol</source>
+        <source>Copy Symbol</source>
         <translation>Symbol kopieren</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssymbolbutton.cpp" line="317"/>
-        <source>Paste symbol</source>
+        <source>Paste Symbol</source>
         <translation>Symbol einfügen</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssymbolbutton.cpp" line="372"/>
-        <source>Copy color</source>
+        <source>Copy Color</source>
         <translation>Farbe kopieren</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssymbolbutton.cpp" line="376"/>
-        <source>Paste color</source>
+        <source>Paste Color</source>
         <translation>Farbe einfügen</translation>
     </message>
+    <message>
+        <source>Configure symbol...</source>
+        <translation type="vanished">Symbol einstellen…</translation>
+    </message>
+    <message>
+        <source>Configure symbol…</source>
+        <translation type="vanished">Symbol einstellen…</translation>
+    </message>
+    <message>
+        <source>Copy symbol</source>
+        <translation type="vanished">Symbol kopieren</translation>
+    </message>
+    <message>
+        <source>Paste symbol</source>
+        <translation type="vanished">Symbol einfügen</translation>
+    </message>
+    <message>
+        <source>Copy color</source>
+        <translation type="vanished">Farbe kopieren</translation>
+    </message>
+    <message>
+        <source>Paste color</source>
+        <translation type="vanished">Farbe einfügen</translation>
+    </message>
 </context>
 <context>
     <name>QgsSymbolButtonPlugin</name>
@@ -113194,9 +113638,8 @@ Es gab ein Problem mit Ihrer Symboldatenbank.</translation>
 <context>
     <name>QgsSymbolsListWidget</name>
     <message>
-        <location filename="../src/gui/symbology/qgssymbolslistwidget.cpp" line="71"/>
         <source>Clip features to canvas extent</source>
-        <translation>Objekte auf Kartenausschnitt beschneiden</translation>
+        <translation type="vanished">Objekte auf Kartenausschnitt beschneiden</translation>
     </message>
     <message>
         <source>Size Assistant...</source>
@@ -113211,6 +113654,11 @@ Es gab ein Problem mit Ihrer Symboldatenbank.</translation>
         <translation type="vanished">Farbe wählen</translation>
     </message>
     <message>
+        <location filename="../src/gui/symbology/qgssymbolslistwidget.cpp" line="71"/>
+        <source>Clip Features to Canvas Extent</source>
+        <translation>Objekte auf Kartenausschnitt beschneiden</translation>
+    </message>
+    <message>
         <location filename="../src/gui/symbology/qgssymbolslistwidget.cpp" line="112"/>
         <source>Select Color</source>
         <translation>Farbe wählen</translation>
@@ -116595,36 +117043,36 @@ Datenanbieterfehler:</translation>
         <translation type="vanished">Zwischenspeicher</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1928"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1941"/>
         <source>Description</source>
         <translation>Beschreibung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1994"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2007"/>
         <source>Keyword list</source>
         <translation>Schlüsselwortliste</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1944"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1947"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1957"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1960"/>
         <source>List of keywords separated by comma to help catalog searching.</source>
         <translation>Liste der durch Komma getrennten Schlüsselworte zur Katalogsuche.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2060"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2073"/>
         <source>DataUrl</source>
         <translation>DateURL</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1956"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1959"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1969"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1972"/>
         <source>An URL of the data presentation.</source>
         <translation>Die URL der Datenbeschreibung.</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="101"/>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="104"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1022"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1035"/>
         <source>Information</source>
         <translation>Information</translation>
     </message>
@@ -116694,250 +117142,250 @@ Datenanbieterfehler:</translation>
         <translation>Quellkoordinatensystem setzen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="915"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="928"/>
         <source>Setting</source>
         <translation>Einstellung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="920"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="933"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="930"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="943"/>
         <source>Add new join</source>
         <translation>Neue Verknüpfung hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="944"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="957"/>
         <source>Remove selected join</source>
         <translation>Gewählte Verknüpfung löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="958"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="971"/>
         <source>Edit selected join</source>
         <translation>Gewählte Verknüpfung bearbeiten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1057"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1070"/>
         <source>Features</source>
         <translation>Funktionalitäten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1086"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1099"/>
         <source>Key</source>
         <translation>Schlüssel</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1111"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1124"/>
         <source>Auxiliary Layer</source>
         <translation>Hilfslayer</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1166"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1179"/>
         <source>Add new field</source>
         <translation>Neues Feld hinzufügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1180"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1193"/>
         <source>Remove selected field</source>
         <translation>Gewähltes Feld löschen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1210"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1223"/>
         <source>Target</source>
         <translation>Ziel</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1215"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1228"/>
         <source>Property</source>
         <translation>Eigenschaft</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1220"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1233"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1230"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1243"/>
         <source>Full Name</source>
         <translation>Voller Name</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1241"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1254"/>
         <source>Auxiliary storage tables can contain additional data that should only belong to the project file. For instance, specific location or rotation for labels. Auxiliary data are saved in qgd files. New fields can be added from any data-defined widget when needed. Be aware that this information will NOT be saved in the data source but only in the project file.</source>
         <translation>Hilfsspeichertabellen können zusätzliche Daten enthalten, die nur zur Projektdatei gehören sollten. Zum Beispiel die Position und Winkel von Beschriftungen. Hilfsdaten werden in qgd-Dateien gespeichert. Wenn nötig können neue Felder von jedem datendefinierten Bedienelement hinzugefügt werden. Es ist zu beachten, das die Daten NICHT in der Datenquelle  sondern nur in der Projektdatei gespeichert werden.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1354"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1367"/>
         <source>Display expression</source>
         <translation>Ausgabeausdruck</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1374"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1387"/>
         <source>Map Tip</source>
         <translation>Kartenhinweis</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1386"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1399"/>
         <source>Inserts the selected field or expression into the map tip</source>
         <translation>Fügt das gewählte Feld  oder den Ausdruck in den Kartenhinweis ein</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1389"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1402"/>
         <source>Insert</source>
         <translation>Einfügen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1474"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1487"/>
         <source>Scale dependen&t visibility</source>
         <translation>Maßs&tabsabhängige Sichtbarkeit</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1493"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1506"/>
         <source>Simplify &geometry</source>
         <translation>&Geometrie vereinfachen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1509"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1522"/>
         <source>Simplification threshold (higher values result in more simplification)</source>
         <translation>Vereinfachungsschwelle (höhere Werte führen zu stärkerer Vereinfachung)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1567"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1580"/>
         <source>Simplification algorithm</source>
         <translation>Vereinfachungsalgorithmus</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1587"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1600"/>
         <source>Maximum scale at which the layer should be simplified (1:1 always simplifies)</source>
         <translation>Größter Maßstab bis zu dem der Layer vereinfacht werden soll (1:1 vereinfacht immer)</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1619"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1632"/>
         <source>Refresh layer at interval (seconds)</source>
         <translation>Layeraktualisierungsinterval in Sekunden</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1665"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1678"/>
         <source><html><head/><body><p>Some data providers can notify QGIS (e.g. PostgreSQL) with a message. If this is the case for this layer's data provider, notification will refresh the layer. </p></body></html></source>
         <translation><html><head/><body><p>Einige Datenanbieter können QGIS benachrichtigen (z.B. PostgreSQL). Wenn dies für den Datenanbieter dieses Layers der Fall ist, wird der Layer dabei aktualisiert.</p></body></html></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1668"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1681"/>
         <source>Refresh layer on notification</source>
         <translation>Layer bei Benachrichtigung aktualisieren</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1702"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1715"/>
         <source><html><head/><body><p>Check if only a specific message must refresh the layer (i.e. not all data source notifications)</p></body></html></source>
         <translation><html><head/><body><p>Prüfen, ob nur eine bestimmte Nachricht den Layer aktualisieren soll (d.h. nicht alle Lieferanten benachrichtigen)</p></body></html></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1705"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1718"/>
         <source>Only if message is</source>
         <translation>Nur bei Nachricht</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1715"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1728"/>
         <source><html><head/><body><p>Notification message that will refresh the layer.</p></body></html></source>
         <translation><html><head/><body><p>Benachrichtigung die den Layer aktualisiert.</p></body></html></translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1818"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1831"/>
         <source>Data dependencies</source>
         <translation>Datenabhängigkeiten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1824"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1837"/>
         <source>Features in this layer may be updated when the layers selected below are changed</source>
         <translation>Objekt dieses Layers können aktualisiert werden, wenn ein unten gewähler Layer geändert wird</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1841"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1854"/>
         <source>Selected dependent layers should include any layers which may externally alter the data in this layer. For instance, layers with database triggers or custom PyQGIS scripting which alter this layer should be selected. Correctly specifying dependent layers allows QGIS to invalidate caches for this layer when the dependent layers are altered.</source>
         <translation>Ausgewählte abhängige Layer sollten die Layer umfassen die extern die Daten diese Layers ändern. Z.B. sollten Layer mit Datenbank-Triggern oder Benutzer-PyQGIS-Skripten gewählt werden, die diesen Layer ändern. Richtig angegebene Abhängigkeiten erlauben QGIS Caches ungültig zu machen, wenn abhängige Layer geändert werden.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1966"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2170"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2239"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1979"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2183"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2252"/>
         <source>Format</source>
         <translation>Format</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2001"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2014"/>
         <source>Short name</source>
         <translation>Kurzname</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2070"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2083"/>
         <source>Attribution</source>
         <translation>Beschreibung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2086"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2099"/>
         <source>Attribution's title indicates the provider of the layer.</source>
         <translation>Attributionstitel gibt den Anbieters des Layers an.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2089"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2102"/>
         <source>Attribution's title indicates the provider of the data layer.</source>
         <translation>Attributionstitel gibt den Anbieter des Datenlayers an.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2096"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2125"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2222"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2109"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2138"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2235"/>
         <source>Url</source>
         <translation>URL</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2103"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2106"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2116"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2119"/>
         <source>Attribution's url gives a link to the webpage of the provider of the data layer.</source>
         <translation>Attributions-URL gibt einen Link zur Webseite des Dienstanbieters des Layers an.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2116"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2129"/>
         <source>MetadataUrl</source>
         <translation>Metadaten-URL</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2132"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2135"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2145"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2148"/>
         <source>The URL of the metadata document.</source>
         <translation>Die URL der Metadatendokumentation.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1225"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2144"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1238"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2157"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2214"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2227"/>
         <source>LegendUrl</source>
         <translation>LegendUrl</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2229"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2232"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2242"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2245"/>
         <source>An URL of the legend image.</source>
         <translation>Die URL des Legendenbildes.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2256"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2269"/>
         <source>image/png</source>
         <translation>image/png</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2261"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2274"/>
         <source>image/jpeg</source>
         <translation>image/jpeg</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2266"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2279"/>
         <source>image/jpg</source>
         <translation>image/jpg</translation>
     </message>
@@ -116946,7 +117394,7 @@ Datenanbieterfehler:</translation>
         <translation type="vanished">Eigenschaften</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1870"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1883"/>
         <source>Embedded widgets in legend</source>
         <translation>In Legende eingebettete Bedienelement</translation>
     </message>
@@ -116969,8 +117417,8 @@ Datenanbieterfehler:</translation>
         <translation type="vanished">Beschriftungen anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1050"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1139"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1063"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1152"/>
         <source>Fields</source>
         <translation>Felder</translation>
     </message>
@@ -116998,7 +117446,7 @@ Datenanbieterfehler:</translation>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="254"/>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="257"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1760"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1773"/>
         <source>Variables</source>
         <translation>Variablen</translation>
     </message>
@@ -117039,7 +117487,7 @@ Datenanbieterfehler:</translation>
         <translation type="vanished">Geometrie vereinfachen</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1502"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1515"/>
         <source><b>Note:</b> Feature simplification may speed up rendering but can result in rendering inconsistencies</source>
         <translation><b>Hinweis:</b> Geometrievereinfachung kann die Darstellung beschleunigen, aber auch zu Darstellungsinkonsistenzen führen</translation>
     </message>
@@ -117048,13 +117496,13 @@ Datenanbieterfehler:</translation>
         <translation type="vanished">Vereinfachungsschwelle (höhere Werte führen zu stärkerer Vereinfachung): </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1519"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1626"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1532"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1639"/>
         <source>Higher values result in more simplification</source>
         <translation>Höhere Werte führen zu mehr Vereinfachung</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1541"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1554"/>
         <source>pixels</source>
         <translation>Pixel</translation>
     </message>
@@ -117063,12 +117511,12 @@ Datenanbieterfehler:</translation>
         <translation type="vanished">Vereinfachungsalgorithmus:</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1564"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1577"/>
         <source>This algorithm only is applied to simplify on local side</source>
         <translation>Diese Algorithmus wird nur zur lokalen Vereinfachung verwendet</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1580"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1593"/>
         <source>Simplify on provider side if possible</source>
         <translation>Wenn möglich auf Anbieterseite vereinfachen</translation>
     </message>
@@ -117077,7 +117525,7 @@ Datenanbieterfehler:</translation>
         <translation type="vanished">Größter Maßstab bis zu dem der Layer vereinfacht werden soll (1:1 vereinfacht immer): </translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1610"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1623"/>
         <source>Force layer to render as a raster (may result in smaller export file sizes)</source>
         <translation>Darstellung des Layer als Raster erzwingen (kann zu kleineren Exportdateigrößen führen)</translation>
     </message>
@@ -117090,7 +117538,7 @@ Datenanbieterfehler:</translation>
         <translation type="vanished">Ausdruck einfügen…</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1415"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1428"/>
         <source>The valid attribute names for this layer</source>
         <translation>Die gültigen Attributnamen für diesen Layer</translation>
     </message>
@@ -117111,14 +117559,14 @@ Datenanbieterfehler:</translation>
         <translation type="vanished">Feld</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2053"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2066"/>
         <source>The abstract is a descriptive narrative providing more information about the layer.</source>
         <translation>Die Zusammenfassung ist eine beschreibender Text, der mehr Informationen zum Layer bietet.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1067"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2008"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2017"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1080"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2021"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2030"/>
         <source>A name used to identify the layer. The short name is a text string used for machine-to-machine communication.</source>
         <translation>Name zur Identifikation des Layers. Der Kurzname ist eine Zeichenkette, die für die Kommunikation zwischen Maschinen verwendet wird.</translation>
     </message>
@@ -117138,19 +117586,19 @@ Datenanbieterfehler:</translation>
         <translation>Metadaten</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1937"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2079"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1950"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2092"/>
         <source>Title</source>
         <translation>Titel</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2024"/>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2027"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2037"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2040"/>
         <source>The title is for the benefit of humans to identify layer.</source>
         <translation>Der Titel ist eine Zeichenkette mit der Menschen den Layer identifizieren.</translation>
     </message>
     <message>
-        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2034"/>
+        <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2047"/>
         <source>Abstract</source>
         <translation>Zusammenfassung</translation>
     </message>
@@ -118023,8 +118471,8 @@ Insbesondere können virtuellen Layern mit eingebetteten Layern in eine QLR-Date
         <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1176"/>
         <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1188"/>
         <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1206"/>
-        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1561"/>
-        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1640"/>
+        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1568"/>
+        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1647"/>
         <source>WFS</source>
         <translation>WFS</translation>
     </message>
@@ -118164,22 +118612,22 @@ Insbesondere können virtuellen Layern mit eingebetteten Layern in eine QLR-Date
         <translation>es ist wahrscheinlich eine Schema mit komplexen Objekten.</translation>
     </message>
     <message>
-        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1674"/>
+        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1681"/>
         <source>Empty response</source>
         <translation>Leere Antwort</translation>
     </message>
     <message>
-        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1680"/>
+        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1687"/>
         <source>WFS service exception: %1</source>
         <translation>WFS-Dienstausnahme: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1686"/>
+        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1693"/>
         <source>Unsuccessful service response: %1</source>
         <translation>Nicht erfolgreiche Dienstantwort: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1700"/>
+        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1707"/>
         <source>Unhandled response: %1</source>
         <translation>Nicht behandelte Antwort: %1</translation>
     </message>
@@ -118225,12 +118673,12 @@ Insbesondere können virtuellen Layern mit eingebetteten Layern in eine QLR-Date
         <translation>Kann Attributelemente nicht finden</translation>
     </message>
     <message>
-        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1560"/>
+        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1567"/>
         <source>GetCapabilities failed for url %1: %2</source>
         <translation>GetCapabilities für URL %1 gescheitert: %2</translation>
     </message>
     <message>
-        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1639"/>
+        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1646"/>
         <source>Could not find typename %1 in capabilities for url %2</source>
         <translation>Konnte Namen des Typs %1 in Diensteigenschaften der URL %2 nicht finden</translation>
     </message>
@@ -118247,12 +118695,12 @@ Insbesondere können virtuellen Layern mit eingebetteten Layern in eine QLR-Date
         <translation type="vanished">Nichterfolgreiche Dienstantwort: %1</translation>
     </message>
     <message>
-        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1693"/>
+        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1700"/>
         <source>WFS exception report (code=%1 text=%2)</source>
         <translation>WFS-Ausnahmenbereicht (Code=%1 Text=%2)</translation>
     </message>
     <message>
-        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1694"/>
+        <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1701"/>
         <source>missing</source>
         <translation>fehlt</translation>
     </message>
@@ -121098,52 +121546,52 @@ Bitte vor der Ausführung von R-Skripten einstellen.</translation>
         <translation type="vanished">Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2008"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2015"/>
         <source>Vector selection</source>
         <translation>Vektorauswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2009"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2016"/>
         <source>Number of selected features</source>
         <translation>Anzahl gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2010"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2017"/>
         <source>Percentage of selected features</source>
         <translation>Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2011"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2018"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2012"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2019"/>
         <source>Method</source>
         <translation>Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2013"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2020"/>
         <source>Number/percentage of selected features</source>
         <translation>Anzahl/Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2014"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2021"/>
         <source>Extracted (random)</source>
         <translation>Extrahiert (zufällig)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2016"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2023"/>
         <source>Selected number is greater than feature count. Choose a lower value and try again.</source>
         <translation>Die gewählte Zahl ist größer als die Objektanzahl. Kleineren Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2017"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2024"/>
         <source>Percentage can't be greater than 100. Set a different value and try again.</source>
         <translation>Prozentsatz kann nicht größer 100 sein. Anderen Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2015"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2022"/>
         <source>Random extract</source>
         <translation>Zufälliger Ausschnitt</translation>
     </message>
@@ -121155,57 +121603,57 @@ Bitte vor der Ausführung von R-Skripten einstellen.</translation>
         <translation type="vanished">Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2021"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2028"/>
         <source>Vector selection</source>
         <translation>Vektorauswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2022"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2029"/>
         <source>Number of selected features</source>
         <translation>Anzahl gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2023"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2030"/>
         <source>Percentage of selected features</source>
         <translation>Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2024"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2031"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2025"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2032"/>
         <source>ID field</source>
         <translation>Kennungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2026"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2033"/>
         <source>Method</source>
         <translation>Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2027"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2034"/>
         <source>Number/percentage of selected features</source>
         <translation>Anzahl/Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2028"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2035"/>
         <source>Extracted (random stratified)</source>
         <translation>Extrahiert (zufällig geschichtet)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2030"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2037"/>
         <source>Selected number is greater that feature count. Choose lesser value and try again.</source>
         <translation>Die gewählte Zahl ist größer als die Objektanzahl. Kleineren Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2031"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2038"/>
         <source>Percentage can't be greater than 100. Set correct value and try again.</source>
         <translation>Prozentsatz kann nicht größer 100 sein. Anderen Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2029"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2036"/>
         <source>Random extract within subsets</source>
         <translation>Zufällige Auswahl in Untermengen</translation>
     </message>
@@ -121217,27 +121665,27 @@ Bitte vor der Ausführung von R-Skripten einstellen.</translation>
         <translation type="vanished">Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2035"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2042"/>
         <source>Vector creation</source>
         <translation>Vektorerzeugung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2036"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2043"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2037"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2044"/>
         <source>Number of points</source>
         <translation>Anzahl von Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2038"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2045"/>
         <source>Minimum distance between points</source>
         <translation>Minimaler Abstand zwischen Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2041"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2048"/>
         <source>Could not generate requested number of random points. Maximum number of attempts exceeded.</source>
         <translation>Konnte angeforderte Anzahl von zufälligen Punkte nicht erzeugen. Maximalzahl der Versuche überschritten.</translation>
     </message>
@@ -121246,7 +121694,7 @@ Bitte vor der Ausführung von R-Skripten einstellen.</translation>
         <translation type="vanished">Minimalabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2039"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2046"/>
         <source>Random points</source>
         <translation>Zufällige Punkte</translation>
     </message>
@@ -121256,7 +121704,7 @@ Bitte vor der Ausführung von R-Skripten einstellen.</translation>
 Maximalzahl der Versuche überschritten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2040"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2047"/>
         <source>Random points along line</source>
         <translation>Zufällige Punkte entlang einer Linie</translation>
     </message>
@@ -121268,32 +121716,32 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2045"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2052"/>
         <source>Vector creation</source>
         <translation>Vektorerzeugung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2046"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2053"/>
         <source>Input extent</source>
         <translation>Eingabeabmessungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2047"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2054"/>
         <source>Number of points</source>
         <translation>Anzahl von Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2048"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2055"/>
         <source>Minimum distance between points</source>
         <translation>Minimaler Abstand zwischen Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2049"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2056"/>
         <source>Target CRS</source>
         <translation>Ziel KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2052"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2059"/>
         <source>Could not generate requested number of random points. Maximum number of attempts exceeded.</source>
         <translation>Konnte angeforderte Anzahl von zufälligen Punkte nicht erzeugen. Maximalzahl der Versuche überschritten.</translation>
     </message>
@@ -121306,7 +121754,7 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Minimalabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2050"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2057"/>
         <source>Random points</source>
         <translation>Zufällige Punkte</translation>
     </message>
@@ -121316,7 +121764,7 @@ Maximalzahl der Versuche überschritten.</translation>
 Maximalzahl der Versuche überschritten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2051"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2058"/>
         <source>Random points in extent</source>
         <translation>Zufällige Punkte in Grenzen</translation>
     </message>
@@ -121328,27 +121776,27 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2056"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2063"/>
         <source>Vector creation</source>
         <translation>Vektorerzeugung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2057"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2064"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2058"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2065"/>
         <source>Number of points</source>
         <translation>Anzahl von Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2059"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2066"/>
         <source>Minimum distance between points</source>
         <translation>Minimaler Abstand zwischen Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2062"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2069"/>
         <source>Could not generate requested number of random points. Maximum number of attempts exceeded.</source>
         <translation>Konnte angeforderte Anzahl von zufälligen Punkte nicht erzeugen. Maximalzahl der Versuche überschritten.</translation>
     </message>
@@ -121361,7 +121809,7 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Minimalabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2060"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2067"/>
         <source>Random points</source>
         <translation>Zufällige Punkte</translation>
     </message>
@@ -121371,7 +121819,7 @@ Maximalzahl der Versuche überschritten.</translation>
 Maximalzahl der Versuche überschritten.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2061"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2068"/>
         <source>Random points in layer bounds</source>
         <translation>Zufällige Punkte in den Layergrenzen</translation>
     </message>
@@ -121379,47 +121827,47 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RandomPointsPolygons</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2066"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2073"/>
         <source>Vector creation</source>
         <translation>Vektorerzeugung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2067"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2074"/>
         <source>Points count</source>
         <translation>Punktanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2068"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2075"/>
         <source>Points density</source>
         <translation>Punktdichte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2069"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2076"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2070"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2077"/>
         <source>Sampling strategy</source>
         <translation>Abtaststrategie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2071"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2078"/>
         <source>Expression</source>
         <translation>Ausdruck</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2072"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2079"/>
         <source>Minimum distance between points</source>
         <translation>Minimaler Abstand zwischen Punkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2073"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2080"/>
         <source>Random points</source>
         <translation>Zufällige Punkte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2074"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2081"/>
         <source>Random points inside polygons</source>
         <translation>Zufällige Punkte in Polygonen</translation>
     </message>
@@ -121428,12 +121876,12 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Auswertungsfehler: {0}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2075"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2082"/>
         <source>Evaluation error for feature ID {}: {}</source>
         <translation>Auswertungsfehler für Objektkennung {}: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2076"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2083"/>
         <source>Could not generate requested number of random points. Maximum number of attempts exceeded.</source>
         <translation>Konnte angeforderte Anzahl von zufälligen Punkte nicht erzeugen. Maximalzahl der Versuche überschritten.</translation>
     </message>
@@ -121533,37 +121981,37 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2080"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2087"/>
         <source>Vector selection</source>
         <translation>Vektorauswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2081"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2088"/>
         <source>Number of selected features</source>
         <translation>Anzahl gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2082"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2089"/>
         <source>Percentage of selected features</source>
         <translation>Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2083"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2090"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2084"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2091"/>
         <source>Method</source>
         <translation>Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2085"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2092"/>
         <source>Number/percentage of selected features</source>
         <translation>Anzahl/Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2086"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2093"/>
         <source>Selected (random)</source>
         <translation>Ausgwählt (zufällig)</translation>
     </message>
@@ -121572,17 +122020,17 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Auswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2088"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2095"/>
         <source>Selected number is greater than feature count. Choose a lower value and try again.</source>
         <translation>Die gewählte Zahl ist größer als die Objektanzahl. Kleineren Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2089"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2096"/>
         <source>Percentage can't be greater than 100. Set a different value and try again.</source>
         <translation>Prozentsatz kann nicht größer 100 sein. Anderen Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2087"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2094"/>
         <source>Random selection</source>
         <translation>Zufällige Auswahl</translation>
     </message>
@@ -121594,32 +122042,32 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2093"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2100"/>
         <source>Vector selection</source>
         <translation>Vektorauswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2094"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2101"/>
         <source>Number of selected features</source>
         <translation>Anzahl gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2095"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2102"/>
         <source>Percentage of selected features</source>
         <translation>Prozentsatz gewählter Objekte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2096"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2103"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2097"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2104"/>
         <source>ID field</source>
         <translation>Kennungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2100"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2107"/>
         <source>Selected (stratified random)</source>
         <translation>Gewählt (geschichtet zufällig)</translation>
     </message>
@@ -121628,12 +122076,12 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">ID Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2098"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2105"/>
         <source>Method</source>
         <translation>Methode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2099"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2106"/>
         <source>Number/percentage of selected features</source>
         <translation>Anzahl/Prozentsatz gewählter Objekte</translation>
     </message>
@@ -121642,17 +122090,17 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Geschichtete Auswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2102"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2109"/>
         <source>Selected number is greater that feature count. Choose lesser value and try again.</source>
         <translation>Die gewählte Zahl ist größer als die Objektanzahl. Kleineren Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2103"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2110"/>
         <source>Percentage can't be greater than 100. Set a different value and try again.</source>
         <translation>Prozentsatz kann nicht größer 100 sein. Anderen Wert wählen und wiederholen.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2101"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2108"/>
         <source>Random selection within subsets</source>
         <translation>Zufällige Auswahl in Untermengen</translation>
     </message>
@@ -121660,7 +122108,7 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RasterCalculator</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2107"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2114"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -121707,27 +122155,27 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RasterLayerHistogram</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2111"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2118"/>
         <source>Graphics</source>
         <translation>Grafik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2112"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2119"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2113"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2120"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2114"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2121"/>
         <source>number of bins</source>
         <translation>Anzahl von bins</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2116"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2123"/>
         <source>HTML files (*.html)</source>
         <translation>HTML-Dateien (*.html)</translation>
     </message>
@@ -121736,7 +122184,7 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Anzahl von bins</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2115"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2122"/>
         <source>Histogram</source>
         <translation>Histogramm</translation>
     </message>
@@ -121745,7 +122193,7 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Tabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2117"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2124"/>
         <source>Raster layer histogram</source>
         <translation>Rasterlayerhistogramm</translation>
     </message>
@@ -121757,92 +122205,92 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Rasterwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2121"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2128"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2122"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2129"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2123"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2130"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2124"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2131"/>
         <source>Statistics</source>
         <translation>Statistik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2125"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2132"/>
         <source>HTML files (*.html)</source>
         <translation>HTML-Dateien (*.html)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2126"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2133"/>
         <source>Minimum value</source>
         <translation>Minimalwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2127"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2134"/>
         <source>Maximum value</source>
         <translation>Maximalwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2128"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2135"/>
         <source>Range</source>
         <translation>Bereich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2129"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2136"/>
         <source>Sum</source>
         <translation>Summe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2130"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2137"/>
         <source>Mean value</source>
         <translation>Mittelwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2134"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2141"/>
         <source>Analyzed file: {} (band {})</source>
         <translation>Analysiertes Feld: {} (Kanal {})</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2135"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2142"/>
         <source>Minimum value: {}</source>
         <translation>Minimalwert: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2136"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2143"/>
         <source>Maximum value: {}</source>
         <translation>Maximalwert: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2137"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2144"/>
         <source>Range: {}</source>
         <translation>Bereich: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2138"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2145"/>
         <source>Sum: {}</source>
         <translation>Summe: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2139"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2146"/>
         <source>Mean value: {}</source>
         <translation>Mittelwert: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2140"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2147"/>
         <source>Standard deviation: {}</source>
         <translation>Standardabweichung: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2141"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2148"/>
         <source>Sum of the squares: {}</source>
         <translation>Summe der Quadrate: {}</translation>
     </message>
@@ -121855,17 +122303,17 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Anzahl von NoData Zellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2131"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2138"/>
         <source>Standard deviation</source>
         <translation>Standardabweichung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2132"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2139"/>
         <source>Sum of the squares</source>
         <translation>Summe der Quadrate: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2133"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2140"/>
         <source>Raster layer statistics</source>
         <translation>Rasterlayerstatistik</translation>
     </message>
@@ -121873,52 +122321,52 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RasterizeAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2145"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2152"/>
         <source>Minimum extent to render</source>
         <translation>Minimale zu zeichnende Ausmaße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2146"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2153"/>
         <source>Tile size</source>
         <translation>Kachelgröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2147"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2154"/>
         <source>Map units per pixel</source>
         <translation>Karteneinheiten pro Pixel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2148"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2155"/>
         <source>Make background transparent</source>
         <translation>Hintergrund transparent machen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2149"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2156"/>
         <source>Map theme to render</source>
         <translation>Zu zeichnendes Kartenthema</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2150"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2157"/>
         <source>Single layer to render</source>
         <translation>Einzelner zu zeichnender Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2151"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2158"/>
         <source>Output layer</source>
         <translation>Ausgabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2152"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2159"/>
         <source>Convert map to raster</source>
         <translation>Karte in Raster umwandeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2153"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2160"/>
         <source>Raster tools</source>
         <translation>Rasterwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2154"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2161"/>
         <source>layer,raster,convert,file,map themes,tiles,render</source>
         <translation>layer,raster,convert,file,map themes,tiles,render</translation>
     </message>
@@ -121935,7 +122383,7 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RectanglesOvalsDiamondsFixed</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2169"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2176"/>
         <source>Rectangles, ovals, diamonds (fixed)</source>
         <translation>Rechtecke, Ovale, Rauten (fest)</translation>
     </message>
@@ -121944,57 +122392,57 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2158"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2165"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2159"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2166"/>
         <source>Rectangles</source>
         <translation>Rechtecke</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2160"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2167"/>
         <source>Diamonds</source>
         <translation>Rauten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2161"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2168"/>
         <source>Ovals</source>
         <translation>Ovale</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2162"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2169"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2163"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2170"/>
         <source>Buffer shape</source>
         <translation>Formpuffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2164"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2171"/>
         <source>Width</source>
         <translation>Breite</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2165"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2172"/>
         <source>Height</source>
         <translation>Höhe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2166"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2173"/>
         <source>Rotation</source>
         <translation>Drehung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2167"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2174"/>
         <source>Number of segments</source>
         <translation>Segmentanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2168"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2175"/>
         <source>Output</source>
         <translation>Ausgabe</translation>
     </message>
@@ -122002,7 +122450,7 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>RectanglesOvalsDiamondsVariable</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2184"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2191"/>
         <source>Rectangles, ovals, diamonds (variable)</source>
         <translation>Rechtecke, Ovale, Rauten (variabel)</translation>
     </message>
@@ -122011,67 +122459,67 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2173"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2180"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2174"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2181"/>
         <source>Rectangles</source>
         <translation>Rechtecke</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2175"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2182"/>
         <source>Diamonds</source>
         <translation>Rauten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2176"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2183"/>
         <source>Ovals</source>
         <translation>Ovale</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2177"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2184"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2178"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2185"/>
         <source>Buffer shape</source>
         <translation>Formpuffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2179"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2186"/>
         <source>Width field</source>
         <translation>Breitenfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2180"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2187"/>
         <source>Height field</source>
         <translation>Höhenfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2181"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2188"/>
         <source>Rotation field</source>
         <translation>Drehungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2182"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2189"/>
         <source>Number of segments</source>
         <translation>Segmentanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2183"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2190"/>
         <source>Output</source>
         <translation>Ausgabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2185"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2192"/>
         <source>Feature {} has empty width, height or angle. Skipping…</source>
         <translation>Überspringe Objekt {} mit leerer Breite, Höhe oder Winkel…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2186"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2193"/>
         <source>Feature {} has empty width or height. Skipping…</source>
         <translation>Objekt {} mit leerer Breite oder Höhe übersprungen…</translation>
     </message>
@@ -122091,42 +122539,42 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Vektorerzeugungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2190"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2197"/>
         <source>Vector creation</source>
         <translation>Vektorerzeugung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2191"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2198"/>
         <source>Input extent</source>
         <translation>Eingabeabmessungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2192"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2199"/>
         <source>Point spacing/count</source>
         <translation>Punktabstände/-anzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2193"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2200"/>
         <source>Initial inset from corner (LH side)</source>
         <translation>Anfängliche Einsatz von Ecke (linke Seite)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2194"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2201"/>
         <source>Apply random offset to point spacing</source>
         <translation>Zufälligen Versatz auf Punktabstand anwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2195"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2202"/>
         <source>Use point spacing</source>
         <translation>Benutze Punktabstand</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2196"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2203"/>
         <source>Output layer CRS</source>
         <translation>Layerausgabe-KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2197"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2204"/>
         <source>Regular points</source>
         <translation>Regelmäßige Punkte</translation>
     </message>
@@ -122134,42 +122582,42 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>Relief</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2201"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2208"/>
         <source>Raster terrain analysis</source>
         <translation>Rastergeländeanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2202"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2209"/>
         <source>Elevation layer</source>
         <translation>Geländehöhenlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2203"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2210"/>
         <source>Z factor</source>
         <translation>Z-Faktor</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2204"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2211"/>
         <source>Generate relief classes automatically</source>
         <translation>Reliefklassen automatisch generieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2205"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2212"/>
         <source>Relief colors</source>
         <translation>Relief-Farben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2206"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2213"/>
         <source>Relief</source>
         <translation>Relief</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2207"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2214"/>
         <source>Frequency distribution</source>
         <translation>Frequenzverteilung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2208"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2215"/>
         <source>Specify relief colors or activate "Generate relief classes automatically" option.</source>
         <translation>Relieffarben angeben oder "Relief-Klassen automatisch generieren" Option aktivieren.</translation>
     </message>
@@ -122177,47 +122625,47 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>ReliefColorsWidget</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2212"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2219"/>
         <source>Import Colors and elevations from XML</source>
         <translation>Farben und Höhen aus XML importieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2213"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2220"/>
         <source>XML files (*.xml *.XML)</source>
         <translation>XML-Dateien (*.xml *.XML)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2214"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2221"/>
         <source>Error parsing XML</source>
         <translation>XML-Parsingfehler</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2215"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2222"/>
         <source>The XML file could not be loaded</source>
         <translation>Die XML-Datei konnte nicht geladen werden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2216"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2223"/>
         <source>Export Colors and elevations as XML</source>
         <translation>Farben und Höhen als XML exportieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2217"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2224"/>
         <source>Enter lower elevation class bound</source>
         <translation>Niedere Höhenklassengrenze eingeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2218"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2225"/>
         <source>Elevation</source>
         <translation>Geländehöhe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2219"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2226"/>
         <source>Enter upper elevation class bound</source>
         <translation>Obere Höhenklassengrenze eingeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2220"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2227"/>
         <source>Select color for relief class</source>
         <translation>Farben für Reliefklasse wählen</translation>
     </message>
@@ -122229,12 +122677,12 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Wähle Stildatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2224"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2231"/>
         <source>Select Style File</source>
         <translation>Wähle Stildatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2225"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2232"/>
         <source>QGIS Layer Style File (*.qml *.QML)</source>
         <translation>QGIS Layerstildatei (*.qml *.QML)</translation>
     </message>
@@ -122265,7 +122713,7 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>ReverseLineDirection</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2230"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2237"/>
         <source>Reverse line direction</source>
         <translation>Linienrichtung umgekehren</translation>
     </message>
@@ -122278,17 +122726,17 @@ Maximalzahl der Versuche überschritten.</translation>
         <translation type="vanished">Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2229"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2236"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2231"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2238"/>
         <source>Reversed</source>
         <translation>Umgekehrt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2232"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2239"/>
         <source>Error reversing line</source>
         <translation>Fehler bei Linienumkehrung</translation>
     </message>
@@ -122523,27 +122971,27 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>Ruggedness</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2236"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2243"/>
         <source>Raster terrain analysis</source>
         <translation>Rastergeländeanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2237"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2244"/>
         <source>Elevation layer</source>
         <translation>Geländehöhenlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2238"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2245"/>
         <source>Z factor</source>
         <translation>Z-Faktor</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2239"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2246"/>
         <source>Ruggedness</source>
         <translation>Rauhigkeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2240"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2247"/>
         <source>Ruggedness index</source>
         <translation>Rauhigkeitsindex</translation>
     </message>
@@ -123616,29 +124064,29 @@ Maximalzahl der Versuche überschritten.</translation>
 <context>
     <name>SagaAlgorithm</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2244"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2251"/>
         <source>Unsupported file format</source>
         <translation>Nicht unterstütztes Dateiformat</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2245"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2252"/>
         <source>SAGA execution commands</source>
         <translation>SAGA-Befehlsausführung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2246"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2253"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2247"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2254"/>
         <source>Input layer {0} has more than one band.
 Multiband layers are not supported by SAGA</source>
         <translation>Eingabelayer '{0}' hat mehr als einen Kanal.
 Mehrkanallayer werden von SAGA nicht unterstützt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2248"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2255"/>
         <source>Input layers do not have the same grid extent.</source>
         <translation>Eingabelayer haben nicht die gleichen Gitterabmessungen.</translation>
     </message>
@@ -123682,49 +124130,49 @@ Mehrkanallayer werden von SAGA nicht unterstützt</translation>
         <translation type="vanished">SAGA-Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2253"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2260"/>
         <source>Enable SAGA Import/Export optimizations</source>
         <translation>SAGA-Im-/Exportoptimierungen einschalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2254"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2261"/>
         <source>Log execution commands</source>
         <translation>Befehlsausführung protokollieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2255"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2262"/>
         <source>Log console output</source>
         <translation>Konsolenausgabe protokollieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2257"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2264"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2258"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2265"/>
         <source>Problem with SAGA installation: unsupported SAGA version found.</source>
         <translation>Problem mit SAGA-Installation: Nicht unterstützte SAGA-Version gefunden.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2259"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2266"/>
         <source>Could not open SAGA algorithm: {}</source>
         <translation>Konnte SAGA-Algorithmus nicht öffnen: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2260"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2267"/>
         <source>Could not open SAGA algorithm: {}
 {}</source>
         <translation>Konnte SAGA-Algorithmus nicht öffnen: {}
 {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2252"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2259"/>
         <source>Activate</source>
         <translation>Aktivieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2256"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2263"/>
         <source>Problem with SAGA installation: SAGA was not found or is not correctly installed</source>
         <translation>Problem mit SAGA-Installation: SAGA wurde nicht gefunden oder ist nicht richtig installiert</translation>
     </message>
@@ -123746,7 +124194,7 @@ Mehrkanallayer werden von SAGA nicht unterstützt</translation>
 <context>
     <name>SagaUtils</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2264"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2271"/>
         <source>SAGA execution console output</source>
         <translation>Konsolenausgabe der SAGA-Ausführung</translation>
     </message>
@@ -123854,12 +124302,12 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Skript Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2268"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2275"/>
         <source>Scripts folder(s)</source>
         <translation>Skript-Verzeichnis(se)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2269"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2276"/>
         <source>Scripts</source>
         <translation>Skripte</translation>
     </message>
@@ -123885,49 +124333,49 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Verarbeitete R-Skript (*.rsx)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2274"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2281"/>
         <source>There are unsaved changes in the script. Continue?</source>
         <translation>Es gibt ungesicherte Skriptänderungen.  Fortfahren?</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2275"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2282"/>
         <source>Open script</source>
         <translation>Skript öffnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2276"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2283"/>
         <source>Script files (*.py *.PY)</source>
         <translation>Skriptdateien (*.py *.PY)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2277"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2284"/>
         <source>Save script</source>
         <translation>Skript speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2278"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2285"/>
         <source>I/O error</source>
         <translation>E/A-Fehler</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2279"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2286"/>
         <source>Unable to save edits:
 {}</source>
         <translation>Änderung konnten nicht gespeichert werden:
 {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2280"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2287"/>
         <source>Execution error</source>
         <translation>Ausführungsfehler</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2281"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2288"/>
         <source>No script found</source>
         <translation>Kein Skript gefunden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2282"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2289"/>
         <source>Seems there is no valid script in the file.</source>
         <translation>Es scheint kein gültiges Skript in der Datei zu sein.</translation>
     </message>
@@ -123944,7 +124392,7 @@ Problem in Zeile: "{1}"</translation>
  %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2273"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2280"/>
         <source>Unsaved changes</source>
         <translation>Ungesicherte Änderungen</translation>
     </message>
@@ -123956,14 +124404,14 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>ScriptUtils</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2286"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2293"/>
         <source>Could not import script algorithm '{}' from '{}'
 {}</source>
         <translation>Konnte Skriptalgorithmus '{}' nicht aus '{}' importieren
 {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2287"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2294"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
@@ -124035,7 +124483,7 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Beginnt mit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2294"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2301"/>
         <source>contains</source>
         <translation>enthält</translation>
     </message>
@@ -124044,62 +124492,62 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2291"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2298"/>
         <source>select,attribute,value,contains,null,field</source>
         <translation>wählen,Attribute,Wert,enthält,Null,Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2292"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2299"/>
         <source>Vector selection</source>
         <translation>Vektorauswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2293"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2300"/>
         <source>begins with</source>
         <translation>Beginnt mit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2295"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2302"/>
         <source>is null</source>
         <translation>is null</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2296"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2303"/>
         <source>is not null</source>
         <translation>is not null</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2297"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2304"/>
         <source>does not contain</source>
         <translation>enthält nicht</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2298"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2305"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2299"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2306"/>
         <source>Selection attribute</source>
         <translation>Auswahlattribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2300"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2307"/>
         <source>Operator</source>
         <translation>Operator</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2301"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2308"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2302"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2309"/>
         <source>Selected (attribute)</source>
         <translation>Auswahl (Attribut)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2304"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2311"/>
         <source>Operators {0} can be used only with string fields.</source>
         <translation>Operatoren {0} könnte nur in Textfeldern verwendet werden.</translation>
     </message>
@@ -124112,7 +124560,7 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Nicht unterstützter Feldtyp "%s"</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2303"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2310"/>
         <source>Select by attribute</source>
         <translation>Nach Attribut wählen</translation>
     </message>
@@ -124159,37 +124607,37 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Vektorauswahlwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2308"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2315"/>
         <source>Vector selection</source>
         <translation>Vektorauswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2309"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2316"/>
         <source>creating new selection</source>
         <translation>Neue Auswahl wird erstellt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2310"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2317"/>
         <source>adding to current selection</source>
         <translation>Füge zur aktuellen Auswahl hinzu</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2311"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2318"/>
         <source>removing from current selection</source>
         <translation>Entferne aus aktueller Auswahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2312"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2319"/>
         <source>selecting within current selection</source>
         <translation>innerhalb der aktuellen Auswahl wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2313"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2320"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2316"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2323"/>
         <source>Selected (attribute)</source>
         <translation>Auswahl (Attribut)</translation>
     </message>
@@ -124198,12 +124646,12 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2314"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2321"/>
         <source>Expression</source>
         <translation>Ausdruck</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2315"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2322"/>
         <source>Modify current selection by</source>
         <translation>Vorhandene Auswaähl ändern durch</translation>
     </message>
@@ -124212,7 +124660,7 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Auswahl (Ausdruck)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2317"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2324"/>
         <source>Select by expression</source>
         <translation>Nach Ausdruck wählen</translation>
     </message>
@@ -124310,117 +124758,117 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>ServiceAreaFromLayer</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2321"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2328"/>
         <source>Network analysis</source>
         <translation>Netzwerkanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2322"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2329"/>
         <source>Forward direction</source>
         <translation>Vorwärts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2323"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2330"/>
         <source>Backward direction</source>
         <translation>Rückwärts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2324"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2331"/>
         <source>Both directions</source>
         <translation>Beide Richtungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2325"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2332"/>
         <source>Shortest</source>
         <translation>Kürzeste</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2326"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2333"/>
         <source>Fastest</source>
         <translation>Schnellste</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2327"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2334"/>
         <source>Vector layer representing network</source>
         <translation>Netzwerk-Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2328"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2335"/>
         <source>Vector layer with start points</source>
         <translation>Startpunkt-Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2329"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2336"/>
         <source>Path type to calculate</source>
         <translation>Zu berechnender Pfadtyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2330"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2337"/>
         <source>Travel cost (distance for "Shortest", time for "Fastest")</source>
         <translation>Reisekosten (Entfernung für "kürzeste"; Zeit für "schnellste")</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2331"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2338"/>
         <source>Direction field</source>
         <translation>Richtungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2332"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2339"/>
         <source>Value for forward direction</source>
         <translation>Wert für Vorwärts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2333"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2340"/>
         <source>Value for backward direction</source>
         <translation>Wert für Rückrichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2334"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2341"/>
         <source>Value for both directions</source>
         <translation>Wert für beide Richtungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2335"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2342"/>
         <source>Default direction</source>
         <translation>Vorgaberichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2336"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2343"/>
         <source>Speed field</source>
         <translation>Geschwindigkeitsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2337"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2344"/>
         <source>Default speed (km/h)</source>
         <translation>Vorgabegeschwindigkeit (km/h)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2338"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2345"/>
         <source>Topology tolerance</source>
         <translation>Topologietoleranz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2339"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2346"/>
         <source>Service area (boundary nodes)</source>
         <translation>Dienstbereich (Grenzknoten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2340"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2347"/>
         <source>Service area (from layer)</source>
         <translation>Dienstbereich (aus Layer)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2341"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2348"/>
         <source>Loading start points…</source>
         <translation>Lade Startpunkte…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2342"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2349"/>
         <source>Building graph…</source>
         <translation>Graph wird aufgebaut…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2343"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2350"/>
         <source>Calculating service areas…</source>
         <translation>Dienstbereiche werden berechnet…</translation>
     </message>
@@ -124440,117 +124888,117 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>ServiceAreaFromPoint</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2347"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2354"/>
         <source>Network analysis</source>
         <translation>Netzwerkanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2348"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2355"/>
         <source>Forward direction</source>
         <translation>Vorwärts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2349"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2356"/>
         <source>Backward direction</source>
         <translation>Rückrichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2350"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2357"/>
         <source>Both directions</source>
         <translation>Beide Richtungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2351"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2358"/>
         <source>Shortest</source>
         <translation>Kürzeste</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2352"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2359"/>
         <source>Fastest</source>
         <translation>Schnellste</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2353"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2360"/>
         <source>Vector layer representing network</source>
         <translation>Netzwerk-Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2354"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2361"/>
         <source>Start point</source>
         <translation>Startpunkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2355"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2362"/>
         <source>Path type to calculate</source>
         <translation>Zu berechnender Pfadtyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2356"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2363"/>
         <source>Travel cost (distance for "Shortest", time for "Fastest")</source>
         <translation>Reisekosten (Entfernung für "kürzeste"; Zeit für "schnellste")</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2357"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2364"/>
         <source>Direction field</source>
         <translation>Richtungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2358"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2365"/>
         <source>Value for forward direction</source>
         <translation>Wert für Vorwärts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2359"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2366"/>
         <source>Value for backward direction</source>
         <translation>Wert für Rückrichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2360"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2367"/>
         <source>Value for both directions</source>
         <translation>Wert für beide Richtungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2361"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2368"/>
         <source>Default direction</source>
         <translation>Vorgaberichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2362"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2369"/>
         <source>Speed field</source>
         <translation>Geschwindigkeitsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2363"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2370"/>
         <source>Default speed (km/h)</source>
         <translation>Vorgabegeschwindigkeit (km/h)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2364"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2371"/>
         <source>Topology tolerance</source>
         <translation>Topologietoleranz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2365"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2372"/>
         <source>Service area (boundary nodes)</source>
         <translation>Dienstbereich (Grenzknoten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2366"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2373"/>
         <source>Service area (from point)</source>
         <translation>Dienstbereich (von Punkt)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2367"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2374"/>
         <source>Building graph…</source>
         <translation>Graph wird aufgebaut…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2368"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2375"/>
         <source>Calculating service area…</source>
         <translation>Dienstbereiche werden berechnet…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2369"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2376"/>
         <source>Writing results…</source>
         <translation>Schreibe Ergebnisse…</translation>
     </message>
@@ -124570,27 +125018,27 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>SetMValue</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2373"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2380"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2374"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2381"/>
         <source>Set M value</source>
         <translation>M-Wert setzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2375"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2382"/>
         <source>M Added</source>
         <translation>M hinzugefügt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2376"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2383"/>
         <source>set,add,m,measure,values</source>
         <translation>set,add,m,measure,values</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2377"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2384"/>
         <source>M Value</source>
         <translation>M-Wert</translation>
     </message>
@@ -124602,27 +125050,27 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Allgemeine Rasterwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2381"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2388"/>
         <source>Raster tools</source>
         <translation>Rasterwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2382"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2389"/>
         <source>Raster layer</source>
         <translation>Rasterlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2383"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2390"/>
         <source>Style file</source>
         <translation>Stildatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2384"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2391"/>
         <source>Styled</source>
         <translation>Gestaltet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2385"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2392"/>
         <source>Set style for raster layer</source>
         <translation>Setze Stil für Rasterlayer</translation>
     </message>
@@ -124634,27 +125082,27 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2389"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2396"/>
         <source>Vector general</source>
         <translation>Vektoren allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2390"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2397"/>
         <source>Vector layer</source>
         <translation>Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2391"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2398"/>
         <source>Style file</source>
         <translation>Stildatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2392"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2399"/>
         <source>Styled</source>
         <translation>Gestaltet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2393"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2400"/>
         <source>Set style for vector layer</source>
         <translation>Setze Stil für Vektorlayer</translation>
     </message>
@@ -124662,27 +125110,27 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>SetZValue</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2397"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2404"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2398"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2405"/>
         <source>Set Z value</source>
         <translation>Z-Wert setzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2399"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2406"/>
         <source>Z Added</source>
         <translation>Z hinzugefügt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2400"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2407"/>
         <source>set,add,z,25d,3d,values</source>
         <translation>set,add,z,25d,3d,values</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2401"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2408"/>
         <source>Z Value</source>
         <translation>Z-Wert</translation>
     </message>
@@ -124702,14 +125150,14 @@ Problem in Zeile: "{1}"</translation>
 %s</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2405"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2412"/>
         <source>Wrong parameter value:
 {0}</source>
         <translation>Falscher Parameterwert:
 {0}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2406"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2413"/>
         <source>Specified path does not exist:
 {0}</source>
         <translation>Angegebener Pfad nicht vorhanden:
@@ -125081,117 +125529,117 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>ShortestPathLayerToPoint</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2410"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2417"/>
         <source>Network analysis</source>
         <translation>Netzwerkanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2411"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2418"/>
         <source>Forward direction</source>
         <translation>Vorwärts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2412"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2419"/>
         <source>Backward direction</source>
         <translation>Rückrichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2413"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2420"/>
         <source>Both directions</source>
         <translation>Beide Richtungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2414"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2421"/>
         <source>Shortest</source>
         <translation>Kürzeste</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2415"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2422"/>
         <source>Fastest</source>
         <translation>Schnellste</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2416"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2423"/>
         <source>Vector layer representing network</source>
         <translation>Netzwerk-Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2417"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2424"/>
         <source>Vector layer with start points</source>
         <translation>Startpunkt-Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2418"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2425"/>
         <source>End point</source>
         <translation>Endpunkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2419"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2426"/>
         <source>Path type to calculate</source>
         <translation>Zu berechnender Pfadtyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2420"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2427"/>
         <source>Direction field</source>
         <translation>Richtungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2421"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2428"/>
         <source>Value for forward direction</source>
         <translation>Wert für Vorwärts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2422"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2429"/>
         <source>Value for backward direction</source>
         <translation>Wert für Rückrichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2423"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2430"/>
         <source>Value for both directions</source>
         <translation>Wert für beide Richtungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2424"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2431"/>
         <source>Default direction</source>
         <translation>Vorgaberichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2425"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2432"/>
         <source>Speed field</source>
         <translation>Geschwindigkeitsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2426"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2433"/>
         <source>Default speed (km/h)</source>
         <translation>Vorgabegeschwindigkeit (km/h)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2427"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2434"/>
         <source>Topology tolerance</source>
         <translation>Topologietoleranz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2428"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2435"/>
         <source>Shortest path</source>
         <translation>Kürzester Weg</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2429"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2436"/>
         <source>Shortest path (layer to point)</source>
         <translation>Kürzester Weg (Layer zu Punkt)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2430"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2437"/>
         <source>Loading start points…</source>
         <translation>Lade Startpunkte…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2431"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2438"/>
         <source>Building graph…</source>
         <translation>Graph wird aufgebaut…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2432"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2439"/>
         <source>Calculating shortest paths…</source>
         <translation>Berechne kürzeste Wege…</translation>
     </message>
@@ -125208,7 +125656,7 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Berechne kürzeste Wege…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2433"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2440"/>
         <source>There is no route from start point ({}) to end point ({}).</source>
         <translation>Es gibt keine Route von Startpunkt ({}) zum Endpunkt ({}).</translation>
     </message>
@@ -125216,117 +125664,117 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>ShortestPathPointToLayer</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2437"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2444"/>
         <source>Network analysis</source>
         <translation>Netzwerkanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2438"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2445"/>
         <source>Forward direction</source>
         <translation>Vorwärts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2439"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2446"/>
         <source>Backward direction</source>
         <translation>Rückrichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2440"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2447"/>
         <source>Both directions</source>
         <translation>Beide Richtungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2441"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2448"/>
         <source>Shortest</source>
         <translation>Kürzeste</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2442"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2449"/>
         <source>Fastest</source>
         <translation>Schnellste</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2443"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2450"/>
         <source>Vector layer representing network</source>
         <translation>Netzwerk-Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2444"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2451"/>
         <source>Start point</source>
         <translation>Startpunkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2445"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2452"/>
         <source>Vector layer with end points</source>
         <translation>Vektorlayer mit Endpunkten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2446"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2453"/>
         <source>Path type to calculate</source>
         <translation>Zu berechnender Wegtyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2447"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2454"/>
         <source>Direction field</source>
         <translation>Richtungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2448"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2455"/>
         <source>Value for forward direction</source>
         <translation>Wert für Vorwärts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2449"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2456"/>
         <source>Value for backward direction</source>
         <translation>Wert für Rückrichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2450"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2457"/>
         <source>Value for both directions</source>
         <translation>Wert für beide Richtungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2451"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2458"/>
         <source>Default direction</source>
         <translation>Vorgaberichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2452"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2459"/>
         <source>Speed field</source>
         <translation>Geschwindigkeitsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2453"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2460"/>
         <source>Default speed (km/h)</source>
         <translation>Vorgabegeschwindigkeit (km/h)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2454"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2461"/>
         <source>Topology tolerance</source>
         <translation>Topologietoleranz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2455"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2462"/>
         <source>Shortest path</source>
         <translation>Kürzester Weg</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2456"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2463"/>
         <source>Shortest path (point to layer)</source>
         <translation>Kürzester Weg (Punkt zu Layer)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2457"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2464"/>
         <source>Loading end points…</source>
         <translation>Lade Endpunkte…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2458"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2465"/>
         <source>Building graph…</source>
         <translation>Graph wird aufgebaut…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2459"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2466"/>
         <source>Calculating shortest paths…</source>
         <translation>Berechne kürzeste Wege…</translation>
     </message>
@@ -125343,7 +125791,7 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Berechne kürzeste Wege…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2460"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2467"/>
         <source>There is no route from start point ({}) to end point ({}).</source>
         <translation>Es gibt keine Route von Startpunkt ({}) zum Endpunkt ({}).</translation>
     </message>
@@ -125351,122 +125799,122 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>ShortestPathPointToPoint</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2464"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2471"/>
         <source>Network analysis</source>
         <translation>Netzwerkanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2465"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2472"/>
         <source>Forward direction</source>
         <translation>Vorwärts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2466"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2473"/>
         <source>Backward direction</source>
         <translation>Rückrichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2467"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2474"/>
         <source>Both directions</source>
         <translation>Beide Richtungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2468"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2475"/>
         <source>Shortest</source>
         <translation>Kürzester</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2469"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2476"/>
         <source>Fastest</source>
         <translation>Schnellster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2470"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2477"/>
         <source>Vector layer representing network</source>
         <translation>Netzwerk-Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2471"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2478"/>
         <source>Start point</source>
         <translation>Startpunkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2472"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2479"/>
         <source>End point</source>
         <translation>Endpunkt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2473"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2480"/>
         <source>Path type to calculate</source>
         <translation>Zu berechnender Wegtyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2474"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2481"/>
         <source>Direction field</source>
         <translation>Richtungsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2475"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2482"/>
         <source>Value for forward direction</source>
         <translation>Wert für Vorwärts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2476"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2483"/>
         <source>Value for backward direction</source>
         <translation>Wert für Rückrichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2477"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2484"/>
         <source>Value for both directions</source>
         <translation>Wert für beide Richtungen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2478"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2485"/>
         <source>Default direction</source>
         <translation>Vorgaberichtung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2479"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2486"/>
         <source>Speed field</source>
         <translation>Geschwindigkeitsfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2480"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2487"/>
         <source>Default speed (km/h)</source>
         <translation>Vorgabegeschwindigkeit (km/h)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2481"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2488"/>
         <source>Topology tolerance</source>
         <translation>Topologietoleranz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2482"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2489"/>
         <source>Travel cost</source>
         <translation>Reisekosten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2483"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2490"/>
         <source>Shortest path</source>
         <translation>Kürzester Weg</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2484"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2491"/>
         <source>Shortest path (point to point)</source>
         <translation>Kürzester Weg (Punkt zu Punkt)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2485"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2492"/>
         <source>Building graph…</source>
         <translation>Graph wird aufgebaut…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2486"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2493"/>
         <source>Calculating shortest path…</source>
         <translation>Berechne kürzesten Weg…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2488"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2495"/>
         <source>Writing results…</source>
         <translation>Schreibe Ergebnisse…</translation>
     </message>
@@ -125479,7 +125927,7 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Berechne kürzesten Weg…</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2487"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2494"/>
         <source>There is no route from start point to end point.</source>
         <translation>Es gibt keinen Route vom Start- zum Endpunkt.</translation>
     </message>
@@ -125495,7 +125943,7 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Unit-Test</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2492"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2499"/>
         <source>Unit Test</source>
         <translation>Unit-Test</translation>
     </message>
@@ -125590,57 +126038,57 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>SingleSidedBuffer</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2496"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2503"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2497"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2504"/>
         <source>Left</source>
         <translation>Links</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2498"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2505"/>
         <source>Round</source>
         <translation>Rund</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2499"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2506"/>
         <source>Distance</source>
         <translation>Entfernung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2500"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2507"/>
         <source>Side</source>
         <translation>Seite</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2501"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2508"/>
         <source>Segments</source>
         <translation>Segmente</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2502"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2509"/>
         <source>Join style</source>
         <translation>Verbindungsstil</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2503"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2510"/>
         <source>Miter limit</source>
         <translation>Eckengrenze</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2504"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2511"/>
         <source>Single sided buffer</source>
         <translation>Doppelseitiger Puffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2505"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2512"/>
         <source>Buffer</source>
         <translation>Puffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2506"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2513"/>
         <source>Error calculating single sided buffer</source>
         <translation>Fehler beim Berechnen des einseitigen Puffers</translation>
     </message>
@@ -125679,22 +126127,22 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>Slope</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2510"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2517"/>
         <source>Raster terrain analysis</source>
         <translation>Rastergeländeanalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2511"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2518"/>
         <source>Elevation layer</source>
         <translation>Geländehöhenlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2512"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2519"/>
         <source>Z factor</source>
         <translation>Z-Faktor</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2513"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2520"/>
         <source>Slope</source>
         <translation>Neigung</translation>
     </message>
@@ -125803,72 +126251,72 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>SnapGeometriesToLayer</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2517"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2524"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2518"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2525"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2519"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2526"/>
         <source>Reference layer</source>
         <translation>Referenzlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2520"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2527"/>
         <source>Tolerance (layer units)</source>
         <translation>Toleranz (Layereinheiten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2521"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2528"/>
         <source>Prefer aligning nodes, insert extra vertices where required</source>
         <translation>Ausrichtung der Knoten bevorzugen, zusätzlichen Stützpunkt wo nötig hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2522"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2529"/>
         <source>Prefer closest point, insert extra vertices where required</source>
         <translation>Nächsten Punkt bevorzugen, zusätzlichen Stützpunkt wo nötig hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2523"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2530"/>
         <source>Prefer aligning nodes, don't insert new vertices</source>
         <translation>Ausrichtung der Knoten bevorzugen, keine zusätzlichen Stützpunkte hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2524"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2531"/>
         <source>Prefer closest point, don't insert new vertices</source>
         <translation>Nächsten Punkt bevorzugen, keine zusätzlichen Stützpunkten hinzufügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2525"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2532"/>
         <source>Move end points only, prefer aligning nodes</source>
         <translation>Nur Endpunkte verschieben, Ausrichtung von Stützpunkten bevorzugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2526"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2533"/>
         <source>Move end points only, prefer closest point</source>
         <translation>Nur Endpunkte verschieben, nächsten Stützpunkt bevorzugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2527"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2534"/>
         <source>Snap end points to end points only</source>
         <translation>Endpunkte nur auf Endpunkte einrasten </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2528"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2535"/>
         <source>Behavior</source>
         <translation>Verhalten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2529"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2536"/>
         <source>Snapped geometry</source>
         <translation>Eingerastete Geometrien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2530"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2537"/>
         <source>Snap geometries to layer</source>
         <translation>Geometrien auf Layer einrasten</translation>
     </message>
@@ -125884,7 +126332,7 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>SpatialIndex</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2537"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2544"/>
         <source>Create spatial index</source>
         <translation>Räumlichen Index erzeugen</translation>
     </message>
@@ -125893,22 +126341,22 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2534"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2541"/>
         <source>Vector general</source>
         <translation>Vektoren allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2535"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2542"/>
         <source>Input Layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2536"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2543"/>
         <source>Indexed layer</source>
         <translation>Indizierter Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2538"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2545"/>
         <source>Could not create spatial index</source>
         <translation>Konnte räumlichen Index nicht erstellen</translation>
     </message>
@@ -125917,7 +126365,7 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Kann räumlichen Index nicht erstellen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2539"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2546"/>
         <source>Layer's data provider does not support spatial indexes</source>
         <translation>Der Datenanbieter dieses Layers unterstützt das Erzeugen von räumlichen Indizes nicht</translation>
     </message>
@@ -125953,7 +126401,7 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Verknüpfter Vektorlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2555"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2562"/>
         <source>Geometric predicate</source>
         <translation>Geometrische Prädikat</translation>
     </message>
@@ -125974,92 +126422,92 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Verknüpfte Tabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2543"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2550"/>
         <source>Vector general</source>
         <translation>Vektoren allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2544"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2551"/>
         <source>intersects</source>
         <translation>schneidet sich mit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2545"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2552"/>
         <source>contains</source>
         <translation>enthält</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2546"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2553"/>
         <source>equals</source>
         <translation>entspricht</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2547"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2554"/>
         <source>touches</source>
         <translation>berührt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2548"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2555"/>
         <source>overlaps</source>
         <translation>overlaps</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2549"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2556"/>
         <source>within</source>
         <translation>innerhalb</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2550"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2557"/>
         <source>crosses</source>
         <translation>kreuzt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2551"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2558"/>
         <source>Create separate feature for each located feature</source>
         <translation>Separates Objekt für jedes lokalisierte Objekte erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2552"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2559"/>
         <source>Take attributes of the first located feature only</source>
         <translation>Nur Attribute des ersten lokalisierten Objekts verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2553"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2560"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2554"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2561"/>
         <source>Join layer</source>
         <translation>Layer verknüpfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2556"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2563"/>
         <source>Fields to add (leave empty to use all fields)</source>
         <translation>Hinzuzufügende Felder (für alle Felder leer lassen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2557"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2564"/>
         <source>Join type</source>
         <translation>Verknüpfungstyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2558"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2565"/>
         <source>Discard records which could not be joined</source>
         <translation>Alle Datensätze verwerfen, die nicht verknüpft werden konnten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2559"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2566"/>
         <source>Joined layer</source>
         <translation>Zusammengefasster Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2560"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2567"/>
         <source>Join attributes by location</source>
         <translation>Attribute nach Position zusammenfügen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2561"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2568"/>
         <source>join,intersects,intersecting,touching,within,contains,overlaps,relation,spatial</source>
         <translation>join,intersects,intersecting,touching,within,contains,overlaps,relation,spatial</translation>
     </message>
@@ -126067,182 +126515,182 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>SpatialJoinSummary</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2565"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2572"/>
         <source>Vector general</source>
         <translation>Vektoren allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2566"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2573"/>
         <source>intersects</source>
         <translation>schneidet sich mit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2567"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2574"/>
         <source>contains</source>
         <translation>enthält</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2568"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2575"/>
         <source>equals</source>
         <translation>entspricht</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2569"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2576"/>
         <source>touches</source>
         <translation>berührt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2570"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2577"/>
         <source>overlaps</source>
         <translation>überlappt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2571"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2578"/>
         <source>within</source>
         <translation>innerhalb</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2572"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2579"/>
         <source>crosses</source>
         <translation>kreuzt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2573"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2580"/>
         <source>count</source>
         <translation>Anzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2574"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2581"/>
         <source>unique</source>
         <translation>unique</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2575"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2582"/>
         <source>min</source>
         <translation>min</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2576"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2583"/>
         <source>max</source>
         <translation>max</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2577"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2584"/>
         <source>range</source>
         <translation>Bereich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2578"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2585"/>
         <source>sum</source>
         <translation>Summe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2579"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2586"/>
         <source>mean</source>
         <translation>Durchschnitt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2580"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2587"/>
         <source>median</source>
         <translation>median</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2581"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2588"/>
         <source>stddev</source>
         <translation>Standardabweichung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2582"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2589"/>
         <source>minority</source>
         <translation>minority</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2583"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2590"/>
         <source>majority</source>
         <translation>majority</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2584"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2591"/>
         <source>q1</source>
         <translation>q1</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2585"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2592"/>
         <source>q3</source>
         <translation>q3</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2586"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2593"/>
         <source>iqr</source>
         <translation>iqr</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2587"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2594"/>
         <source>empty</source>
         <translation>leer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2588"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2595"/>
         <source>filled</source>
         <translation>gefüllt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2589"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2596"/>
         <source>min_length</source>
         <translation>min_length</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2590"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2597"/>
         <source>max_length</source>
         <translation>max_length</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2591"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2598"/>
         <source>mean_length</source>
         <translation>mean_length</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2592"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2599"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2593"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2600"/>
         <source>Join layer</source>
         <translation>Layer verknüpfen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2594"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2601"/>
         <source>Geometric predicate</source>
         <translation>Geometrisches Prädikat</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2595"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2602"/>
         <source>Fields to summarise (leave empty to use all fields)</source>
         <translation>Zusammenzufassende Felder (für alle Felder leer lassen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2596"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2603"/>
         <source>Summaries to calculate (leave empty to use all available)</source>
         <translation>Zu berechnende Zusammenfassungen (für alle verfügbaren leer lassen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2597"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2604"/>
         <source>Discard records which could not be joined</source>
         <translation>Alle Datensätze verwerfen, die nicht verknüpft werden konnten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2598"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2605"/>
         <source>Joined layer</source>
         <translation>Zusammengefasster Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2599"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2606"/>
         <source>Join attributes by location (summary)</source>
         <translation>Attribute nach Position verknüpfen (Zusammenfassung)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2600"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2607"/>
         <source>summary,aggregate,join,intersects,intersecting,touching,within,contains,overlaps,relation,spatial</source>
         <translation>summary,aggregate,join,intersects,intersecting,touching,within,contains,overlaps,relation,spatial</translation>
     </message>
@@ -126250,27 +126698,27 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>SpatialiteExecuteSQL</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2604"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2611"/>
         <source>Database</source>
         <translation>Datenbank</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2605"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2612"/>
         <source>File Database</source>
         <translation>File-Database</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2606"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2613"/>
         <source>SQL query</source>
         <translation>SQL-Abfrage</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2607"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2614"/>
         <source>SpatiaLite execute SQL</source>
         <translation>SpatiaLite-SQL ausführen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2608"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2615"/>
         <source>Error executing SQL:
 {0}</source>
         <translation>Fehler bei SQL-Ausführung:
@@ -126307,32 +126755,32 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>SplitRGBBands</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2616"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2623"/>
         <source>Split RGB bands</source>
         <translation>RGB-Kanäle trennen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2617"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2624"/>
         <source>Image tools</source>
         <translation>Bildwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2612"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2619"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2613"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2620"/>
         <source>Output R band layer</source>
         <translation>R-Ausgabekanallayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2614"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2621"/>
         <source>Output G band layer</source>
         <translation>G-Ausgabekanallayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2615"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2622"/>
         <source>Output B band layer</source>
         <translation>B-Ausgabekanallayer</translation>
     </message>
@@ -126380,7 +126828,7 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2622"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2629"/>
         <source>Input vector layer</source>
         <translation>Eingabevektorlayer</translation>
     </message>
@@ -126393,27 +126841,27 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Feld mit Kategorien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2621"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2628"/>
         <source>Vector analysis</source>
         <translation>Vektoranalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2623"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2630"/>
         <source>Field to calculate statistics on (if empty, only count is calculated)</source>
         <translation>Feld für Statistikberechnung (leer lassen für Anzahl)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2624"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2631"/>
         <source>Field(s) with categories</source>
         <translation>Feld(er) mit Kategorien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2625"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2632"/>
         <source>Statistics by category</source>
         <translation>Statistik nach Kategorie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2626"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2633"/>
         <source>Statistics by categories</source>
         <translation>Statistik nach Kategorien</translation>
     </message>
@@ -126421,7 +126869,7 @@ Problem in Zeile: "{1}"</translation>
 <context>
     <name>StringWidgetWrapper</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2630"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2637"/>
         <source>Expression based input</source>
         <translation>Ausdrucksbasierte Eingabe</translation>
     </message>
@@ -126433,37 +126881,37 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Vektoranalysewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2634"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2641"/>
         <source>Vector analysis</source>
         <translation>Vektoranalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2635"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2642"/>
         <source>Lines</source>
         <translation>Linien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2636"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2643"/>
         <source>Polygons</source>
         <translation>Polygone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2637"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2644"/>
         <source>Lines length field name</source>
         <translation>Linienlängenfeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2638"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2645"/>
         <source>Lines count field name</source>
         <translation>Linienzählfeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2639"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2646"/>
         <source>Line length</source>
         <translation>Linienlänge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2640"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2647"/>
         <source>Sum line lengths</source>
         <translation>Linienlängen summieren</translation>
     </message>
@@ -126605,22 +127053,22 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">Vektorlayerüberlagerungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2644"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2651"/>
         <source>Vector overlay</source>
         <translation>Vektorlayerüberlagerung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2645"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2652"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2646"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2653"/>
         <source>Difference layer</source>
         <translation>Differenzlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2649"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2656"/>
         <source>Processing</source>
         <translation>Verarbeitung</translation>
     </message>
@@ -126629,13 +127077,13 @@ Problem in Zeile: "{1}"</translation>
         <translation type="vanished">GEOS-Verarbeitungsfehler: Ein oder mehrere Eingabeobjekte haben ungültige Geometrien.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2648"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2655"/>
         <source>Feature geometry error: One or more output features ignored due to invalid geometry.</source>
         <translation>
 Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometrie wurden ignoriert.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2647"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2654"/>
         <source>Symmetrical difference</source>
         <translation>Symmetrische Differenz</translation>
     </message>
@@ -126822,7 +127270,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>TableFieldWidgetWrapper</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2653"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2660"/>
         <source>Input parameter, or name of field (separate field names with ; for multiple field parameters)</source>
         <translation>Eingabeparameter oder Feldname (getrennt durch ; für mehrere Feldparameter)</translation>
     </message>
@@ -126916,22 +127364,22 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2657"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2664"/>
         <source>Vector table</source>
         <translation>Vektortabelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2658"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2665"/>
         <source>Text attribute to convert to float</source>
         <translation>In Fließkomma umzuwandelndes Textattribut </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2660"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2667"/>
         <source>Float from text</source>
         <translation>Fließkomma aus Text</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2659"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2666"/>
         <source>Text to float</source>
         <translation>Text zu Fließkomma</translation>
     </message>
@@ -126939,62 +127387,62 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>TinInterpolation</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2664"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2671"/>
         <source>Interpolation</source>
         <translation>Interpolation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2665"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2672"/>
         <source>Linear</source>
         <translation>Linear</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2666"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2673"/>
         <source>Clough-Toucher (cubic)</source>
         <translation>Clough-Toucher (kubisch)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2667"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2674"/>
         <source>Input layer(s)</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2668"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2675"/>
         <source>Interpolation method</source>
         <translation>Interpolationsmethode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2669"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2676"/>
         <source>Number of columns</source>
         <translation>Spaltenanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2670"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2677"/>
         <source>Number of rows</source>
         <translation>Zeilenanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2671"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2678"/>
         <source>Extent</source>
         <translation>Ausmaße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2672"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2679"/>
         <source>Interpolated</source>
         <translation>Interpoliert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2673"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2680"/>
         <source>Triangulation</source>
         <translation>Triangulation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2674"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2681"/>
         <source>TIN interpolation</source>
         <translation>TIN-Interpolation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2675"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2682"/>
         <source>You need to specify at least one input layer.</source>
         <translation>Es muß mindestens ein Eingabelayer angeben werden.</translation>
     </message>
@@ -127041,7 +127489,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>Toolbox</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2679"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2686"/>
         <source>Algorithm ID: ‘{}’</source>
         <translation>Algorithmus-ID: '{}'</translation>
     </message>
@@ -127049,62 +127497,62 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>TopoColor</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2683"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2690"/>
         <source>topocolor,colors,graph,adjacent,assign</source>
         <translation>topofarbe,farben,graph,adjazent,zuweisen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2684"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2691"/>
         <source>Cartography</source>
         <translation>Kartographie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2685"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2692"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2686"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2693"/>
         <source>Minimum number of colors</source>
         <translation>Minmale Farbanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2687"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2694"/>
         <source>Minimum distance between features</source>
         <translation>Minimaler Abstand zwischen Objekten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2688"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2695"/>
         <source>By feature count</source>
         <translation>Nach Objektanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2689"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2696"/>
         <source>By assigned area</source>
         <translation>Nach zugewiesener Fläche</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2690"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2697"/>
         <source>By distance between colors</source>
         <translation>Nach Farbabstand </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2691"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2698"/>
         <source>Balance color assignment</source>
         <translation>Farbzuweisung ausgleichen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2692"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2699"/>
         <source>Colored</source>
         <translation>Eingefärbt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2693"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2700"/>
         <source>Topological coloring</source>
         <translation>Topologische Einfärbung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2694"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2701"/>
         <source>{} colors required</source>
         <translation>{} Farben benötigt</translation>
     </message>
@@ -127126,7 +127574,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>TreeAlgorithmItem</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2698"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2705"/>
         <source>Algorithm ID: ‘{}’</source>
         <translation>Algorithmus-ID: '{}'</translation>
     </message>
@@ -127141,32 +127589,32 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>TruncateTable</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2702"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2709"/>
         <source>empty,delete,layer,clear,features</source>
         <translation>empty,delete,layer,clear,features</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2703"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2710"/>
         <source>Vector general</source>
         <translation>Vektoren allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2704"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2711"/>
         <source>Input Layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2705"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2712"/>
         <source>Truncated layer</source>
         <translation>Geleerter Layer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2706"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2713"/>
         <source>Truncate table</source>
         <translation>Tabelle leeren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2707"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2714"/>
         <source>Could not truncate table.</source>
         <translation>Konnte Layer nicht leeren.</translation>
     </message>
@@ -127200,17 +127648,17 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Vektorlayerüberlagerungswerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2711"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2718"/>
         <source>Vector overlay</source>
         <translation>Vektorlayerüberlagerung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2712"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2719"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2713"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2720"/>
         <source>Union layer</source>
         <translation>Vereinigungslayer</translation>
     </message>
@@ -127219,7 +127667,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Eingabelayer 2</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2715"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2722"/>
         <source>Feature geometry error: One or more output features ignored due to invalid geometry.</source>
         <translation>
 Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometrie wurden ignoriert.</translation>
@@ -127229,7 +127677,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">GEOS-Verarbeitungsfehler: Ein oder mehrere Eingabeobjekte haben ungültige Geometrien.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2714"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2721"/>
         <source>Union</source>
         <translation>Vereinigungen</translation>
     </message>
@@ -127241,7 +127689,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Vektortabellenwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2720"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2727"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
@@ -127250,52 +127698,52 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Zielfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2719"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2726"/>
         <source>Vector analysis</source>
         <translation>Vektoranalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2721"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2728"/>
         <source>Target field(s)</source>
         <translation>Zielfelde(r)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2722"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2729"/>
         <source>Unique values</source>
         <translation>Eindeutige Werte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2723"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2730"/>
         <source>HTML report</source>
         <translation>HTML-Bericht</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2724"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2731"/>
         <source>HTML files (*.html)</source>
         <translation>HTML-Dateien (*.html)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2725"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2732"/>
         <source>Total unique values</source>
         <translation>Gesamtzahl eindeutiger Werte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2727"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2734"/>
         <source>Invalid field name {}</source>
         <translation>Ungültiger Feldname {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2728"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2735"/>
         <source><p>Total unique values: </source>
         <translation><p>Gesamte eindeutige Werte:</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2729"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2736"/>
         <source><p>Unique values:</p></source>
         <translation><p>Eindeutige Werte:</p></translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2726"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2733"/>
         <source>List unique values</source>
         <translation>Eindeutige Werte auflisten</translation>
     </message>
@@ -127320,57 +127768,57 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2733"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2740"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2734"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2741"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2735"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2742"/>
         <source>Distance field</source>
         <translation>Distanzfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2736"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2743"/>
         <source>Segments</source>
         <translation>Segmente</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2737"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2744"/>
         <source>Dissolve result</source>
         <translation>Ergebnis auflösen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2738"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2745"/>
         <source>Round</source>
         <translation>Rund</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2739"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2746"/>
         <source>End cap style</source>
         <translation>Endstil</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2740"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2747"/>
         <source>Join style</source>
         <translation>Verbindungsstil</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2741"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2748"/>
         <source>Miter limit</source>
         <translation>Eckengrenze</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2742"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2749"/>
         <source>Buffer</source>
         <translation>Puffer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2743"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2750"/>
         <source>Variable distance buffer</source>
         <translation>Puffer variabler Distanz</translation>
     </message>
@@ -127469,37 +127917,37 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>VectorLayerHistogram</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2747"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2754"/>
         <source>Graphics</source>
         <translation>Grafik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2748"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2755"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2749"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2756"/>
         <source>Attribute</source>
         <translation>Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2750"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2757"/>
         <source>number of bins</source>
         <translation>Anzahl von bins</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2751"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2758"/>
         <source>Histogram</source>
         <translation>Histogramm</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2752"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2759"/>
         <source>HTML files (*.html)</source>
         <translation>HTML-Dateien (*.html)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2753"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2760"/>
         <source>Vector layer histogram</source>
         <translation>Vektorlayerhistogramm</translation>
     </message>
@@ -127507,37 +127955,37 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>VectorLayerScatterplot</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2757"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2764"/>
         <source>Graphics</source>
         <translation>Grafik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2758"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2765"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2759"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2766"/>
         <source>X attribute</source>
         <translation>X-Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2760"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2767"/>
         <source>Y attribute</source>
         <translation>Y-Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2761"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2768"/>
         <source>Scatterplot</source>
         <translation>Streudiagramm</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2762"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2769"/>
         <source>HTML files (*.html)</source>
         <translation>HTML-Dateien (*.html)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2763"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2770"/>
         <source>Vector layer scatterplot</source>
         <translation>Vektorlayerstreuungsplott</translation>
     </message>
@@ -127545,42 +127993,42 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>VectorLayerScatterplot3D</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2767"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2774"/>
         <source>Graphics</source>
         <translation>Grafik</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2768"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2775"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2769"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2776"/>
         <source>X attribute</source>
         <translation>X-Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2770"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2777"/>
         <source>Y attribute</source>
         <translation>Y-Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2771"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2778"/>
         <source>Z attribute</source>
         <translation>Z-Attribut</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2772"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2779"/>
         <source>Histogram</source>
         <translation>Histogramm</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2773"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2780"/>
         <source>HTML files (*.html)</source>
         <translation>HTML-Dateien (*.html)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2774"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2781"/>
         <source>Vector layer scatterplot 3D</source>
         <translation>Vektorlayer-3D-Scatterplott</translation>
     </message>
@@ -127588,7 +128036,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>VectorLayerWidgetWrapper</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2778"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2785"/>
         <source>Select file</source>
         <translation>Datei wählen</translation>
     </message>
@@ -127600,42 +128048,42 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Allgemeine Vektorwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2782"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2789"/>
         <source>Vector general</source>
         <translation>Vektoren allgemein</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2783"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2790"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2784"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2791"/>
         <source>Unique ID field</source>
         <translation>Eindeutiges Schlüsselfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2785"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2792"/>
         <source>Output directory</source>
         <translation>Ausgabeverzeichniss</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2786"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2793"/>
         <source>Output layers</source>
         <translation>Ausgabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2787"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2794"/>
         <source>Split vector layer</source>
         <translation>Vektorlayer teilen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2788"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2795"/>
         <source>Creating layer: {}</source>
         <translation>Erzeuge Layer: {}</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2789"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2796"/>
         <source>Added {} features to layer</source>
         <translation>{} Objekte zu Layer hinzugefügt</translation>
     </message>
@@ -127643,27 +128091,27 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>VoronoiPolygons</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2793"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2800"/>
         <source>Vector geometry</source>
         <translation>Vektorgeometrie</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2794"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2801"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2795"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2802"/>
         <source>Buffer region</source>
         <translation>Region puffern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2796"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2803"/>
         <source>Voronoi polygons</source>
         <translation>Voronoipolygone</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2798"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2805"/>
         <source>There were no polygons created.</source>
         <translation>Es wurden keine Polygone erzeugt!</translation>
     </message>
@@ -127672,7 +128120,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Vektorgeometriewerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2797"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2804"/>
         <source>Input file should contain at least 3 points. Choose another file and try again.</source>
         <translation>Eingabedatei sollte mindestens 3 Punkte enthalten. Eine andere Datei wählen und nochmal versuchen.</translation>
     </message>
@@ -129550,7 +129998,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Datei wählen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2802"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2809"/>
         <source>Select File</source>
         <translation>Datei wählen</translation>
     </message>
@@ -129583,97 +130031,97 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Rasterwerkzeuge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2806"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2813"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2807"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2814"/>
         <source>Count</source>
         <translation>Anzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2808"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2815"/>
         <source>Sum</source>
         <translation>Summe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2809"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2816"/>
         <source>Mean</source>
         <translation>Mittel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2810"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2817"/>
         <source>Median</source>
         <translation>Median</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2811"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2818"/>
         <source>Std. dev.</source>
         <translation>Std. Abw.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2812"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2819"/>
         <source>Min</source>
         <translation>Min</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2813"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2820"/>
         <source>Max</source>
         <translation>Max</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2814"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2821"/>
         <source>Range</source>
         <translation>Bereich</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2815"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2822"/>
         <source>Minority</source>
         <translation>Minderheit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2816"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2823"/>
         <source>Majority (mode)</source>
         <translation>Mehrheit (Modus)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2817"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2824"/>
         <source>Variety</source>
         <translation>Varianz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2818"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2825"/>
         <source>Variance</source>
         <translation>Varianz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2819"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2826"/>
         <source>All</source>
         <translation>Alle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2820"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2827"/>
         <source>Raster layer</source>
         <translation>Rasterlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2821"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2828"/>
         <source>Raster band</source>
         <translation>Rasterkanal</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2822"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2829"/>
         <source>Vector layer containing zones</source>
         <translation>Zonenvektorlayer </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2823"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2830"/>
         <source>Output column prefix</source>
         <translation>Ausgabespaltenpräfix</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2824"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2831"/>
         <source>Statistics to calculate</source>
         <translation>Zu berechnende Statistik</translation>
     </message>
@@ -129682,7 +130130,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Ganzes Raster in Speicher laden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2825"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2832"/>
         <source>Zonal statistics</source>
         <translation>Zonenstatistik</translation>
     </message>
@@ -129707,17 +130155,17 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 <context>
     <name>alg</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2844"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2851"/>
         <source>You need to set either inline data positions or an input data positions file!</source>
         <translation>Es muß entweder interne Datenpositionen oder eine Eingabedatei für Positionen geben!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2845"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2852"/>
         <source>You need to set either sampling data positions or an output sampling data positions file!</source>
         <translation>Es müssen entweder Abtastdatenpositionen oder eine Ausgabedatei für Abtastdatenpositionen angeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2846"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2853"/>
         <source>You need to set input and output data positions parameters!</source>
         <translation>Es mpssen Eingabe- und Ausgabedatenpositionsparameter angegeben werden!</translation>
     </message>
@@ -129726,32 +130174,32 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Es must entweder der Aufhellungsprozentsatz oder eine NULL-Farbe angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2850"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2857"/>
         <source>You need to set at least source/sink_where or source/sink_cats parameters for each set!</source>
         <translation>Es muß zumindest der source/sink_where oder source/sink_cats Parameter für jeden Satz gesetzt sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2852"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2859"/>
         <source>You need to set either inline configuration or a configuration file!</source>
         <translation>Es muss entweder eine direkte Konfiguration oder eine Konfigurationsdatei angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2853"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2860"/>
         <source>Your configuration needs to be a "moving window" configuration!</source>
         <translation>Die Konfiguration muss eine "gleitende Fenster"-Konfiguration sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2854"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2861"/>
         <source>Your configuration needs to be a non "moving window" configuration!</source>
         <translation>Die Konfiguration muss eine nicht-"gleitende Fenster"-Konfiguration sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2833"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2840"/>
         <source>You need to set either start coordinates OR a start points vector layer!</source>
         <translation>Es müssen entweder Startkoordinaten oder ein Startpunktvektorlayer angeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2834"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2841"/>
         <source>-c, -a, -n parameters are mutually exclusive!</source>
         <translation>-c, -a, -n Parameter schließen sich gegenseitig aus!</translation>
     </message>
@@ -129760,22 +130208,22 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Die Startposition muß kleiner als die Endposition sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2839"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2846"/>
         <source>The step must be greater than zero!</source>
         <translation>Die Schrittweite muß größer als Null sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2840"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2847"/>
         <source>GRASS GIS 7 v.net requires a lines layer!</source>
         <translation>GRASS GIS  v.net erfordert Linienlayer!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2842"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2849"/>
         <source>You can't use original Hargreaves flag and precipitation parameter together!</source>
         <translation>Die originale Hargreaves-Einstellung und der Fällungsparameter schließen sich aus!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2843"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2850"/>
         <source>If you don't use original Hargreaves flag, you must set the precipitation raster parameter!</source>
         <translation>Wenn die orginale Hargreaves-Einstellung nicht verwendet wird, muß ein Fällungsrasterparameter angegeben werden!</translation>
     </message>
@@ -129790,42 +130238,42 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 'cat', 'dist', 'to_x', 'to_y', 'to_along', 'to_angle', 'to_attr'</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2851"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2858"/>
         <source>The number of columns and the number of upload parameters should be equal!</source>
         <translation>Die Anzahl der Spalten und die Anzahl der Hochladeparameter sollte gleich sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2832"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2839"/>
         <source>You need to set at least 'setnull' or 'null' parameters for this algorithm!</source>
         <translation>Für diesen Algorithmus muß zumindest der Parameter 'setnull' oder 'null' gesetzt sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2847"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2854"/>
         <source>You need to set either inline expression or a rules file!</source>
         <translation>Es muss ein direkter Ausdruck oder eine Regeldatei angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2836"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2843"/>
         <source>You need to set either a rules file or write directly the rules!</source>
         <translation>Die Regeln müssen direkt oder als Datei angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2838"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2845"/>
         <source>The start position must be inferior to the end position!</source>
         <translation>Die Startposition muß kleiner als die Endposition sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2848"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2855"/>
         <source>You need to set either radius or x_radius and y_radius!</source>
         <translation>Es muss ein Radius, x_radius oder y_radius angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2849"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2856"/>
         <source>You need to set x_radius and y_radius!</source>
         <translation>Es muß mindestens x_radius und y_radius gesetzt sein!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2837"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2844"/>
         <source>You need to set either rules or a raster from which to copy categories!</source>
         <translation>Es müssen Regeln oder ein Raster aus dem die Kategorien kopiert werden angegeben werden!</translation>
     </message>
@@ -129834,7 +130282,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">Es muss eine Methodenliste ausschließlich aus folgenden Werten angeben werden: </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2830"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2837"/>
         <source>You need to set either inline rules or a rules file!</source>
         <translation>Es müssen direkte Regeln oder eine Regeldatei angegeben werden!</translation>
     </message>
@@ -129845,22 +130293,22 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
 'point', 'line', 'boundary', 'centroid', 'area'</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2829"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2836"/>
         <source>You need to set either an input control point file or inline control points!</source>
         <translation>Es muss entweder eine Kontrollpunkteingabedatei oder direkt Kontrollpunkte angeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2841"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2848"/>
         <source>You need to set either a fixed height value or the height column!</source>
         <translation>Es muss entweder eine fester Höhenwert oder eine Höhenspalte angeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2831"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2838"/>
         <source>You need to set either an input ASCII file or inline data!</source>
         <translation>Es muss eine ASCII Eingabedatei oder Daten angegeben werden!</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2835"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2842"/>
         <source>You need to set at least setX_where or setX_cats parameters for each set!</source>
         <translation>Es muß zumindest die setX_where oder setX_cats  Parameter für jeden Satz gesetzt sein!</translation>
     </message>
@@ -129884,42 +130332,42 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2858"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2865"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2859"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2866"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2860"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2867"/>
         <source>Return trigonometric angle instead of azimuth</source>
         <translation>Trigonometrischen Winkel statt Azimuth zurückgeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2861"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2868"/>
         <source>Return 0 for flat instead of -9999</source>
         <translation>0 statt -9999 für Ebene zurückgeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2862"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2869"/>
         <source>Compute edges</source>
         <translation>Kanten berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2863"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2870"/>
         <source>Use Zevenbergen&Thorne formula instead of the Horn's one</source>
         <translation>Zevenbergen&Thorne- statt Horn-Formel verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2864"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2871"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2866"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2873"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -129936,7 +130384,7 @@ Objektgeometriefehler: Eine oder mehrere Ausgabeobjekte mit ungültiger Geometri
         <translation type="vanished">0 (statt -9999) für Ebene zurückgeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2865"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2872"/>
         <source>Aspect</source>
         <translation>Perspektive</translation>
     </message>
@@ -133171,7 +133619,7 @@ Die folgenden Optionen können verwendet werden
 <context>
     <name>contour</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2879"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2886"/>
         <source>Contour</source>
         <translation>Kontur</translation>
     </message>
@@ -133180,47 +133628,47 @@ Die folgenden Optionen können verwendet werden
         <translation type="vanished">[GDAL] Extraktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2870"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2877"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2871"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2878"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2872"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2879"/>
         <source>Interval between contour lines</source>
         <translation>Intervall zwischen Konturlinien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2873"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2880"/>
         <source>Attribute name (if not set, no elevation attribute is attached)</source>
         <translation>Attributname (wenn nicht angegeben, wird kein Höhenattribut zugefügt)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2874"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2881"/>
         <source>Produce 3D vector</source>
         <translation>3D-Vektor erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2875"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2882"/>
         <source>Treat all raster values as valid</source>
         <translation>Alle Rasterwerte als gültig betrachten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2876"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2883"/>
         <source>Input pixel value to treat as "nodata"</source>
         <translation>Als Nullwert zu betrachtender Eingabepixelwert </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2877"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2884"/>
         <source>Offset from zero relative to which to interpret intervals</source>
         <translation>Abstand von Null zu dem die Intervalle relativ zu interpretieren sind</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2880"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2887"/>
         <source>Raster extraction</source>
         <translation>Rasterextraktion</translation>
     </message>
@@ -133229,7 +133677,7 @@ Die folgenden Optionen können verwendet werden
         <translation type="vanished">Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2878"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2885"/>
         <source>Contours</source>
         <translation>Konturen</translation>
     </message>
@@ -133237,7 +133685,7 @@ Die folgenden Optionen können verwendet werden
 <context>
     <name>dataobject</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2884"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2891"/>
         <source>Could not load layer: {0}
 Check the processing framework log to look for errors.</source>
         <translation>Konnte Layer nicht laden: {0}
@@ -134179,7 +134627,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2888"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2895"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
@@ -134196,7 +134644,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Zu bearbeitender Kanal</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2893"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2900"/>
         <source>Validity mask</source>
         <translation>Gültigkeitsmaske</translation>
     </message>
@@ -134205,37 +134653,37 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Voreingestellte Gültigkeitsmaske nicht verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2889"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2896"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2890"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2897"/>
         <source>Maximum distance (in pixels) to search out for values to interpolate</source>
         <translation>Maximaler Abstand (in Pixeln) zur Suchen nach zu interpolierenden Werten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2891"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2898"/>
         <source>Number of smoothing iterations to run after the interpolation</source>
         <translation>Anzahl der nach der Interpolation auszuführende Glättungsschritte </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2892"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2899"/>
         <source>Do not use the default validity mask for the input band</source>
         <translation>Nicht die Vorgabegültigkeitsmaske für den Eingabekanal verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2894"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2901"/>
         <source>Filled</source>
         <translation>Gefüllt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2895"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2902"/>
         <source>Fill nodata</source>
         <translation>"Leerwert" füllen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2896"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2903"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -134328,7 +134776,7 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>gdal2tiles</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2931"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2938"/>
         <source>gdal2tiles</source>
         <translation>gdal2tiles</translation>
     </message>
@@ -134337,32 +134785,32 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2915"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2922"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2916"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2923"/>
         <source>Tile cutting profile</source>
         <translation>Kachelschneideprofil</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2920"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2927"/>
         <source>Copyright of the map</source>
         <translation>Urheberrecht der Karte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2921"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2928"/>
         <source>Resampling method</source>
         <translation>Abtastmethode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2922"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2929"/>
         <source>The spatial reference system used for the source input data</source>
         <translation>Das räumliche Bezugssystem der Eingabedaten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2917"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2924"/>
         <source>Zoom levels to render</source>
         <translation>Darzustellende Zoomstufen</translation>
     </message>
@@ -134379,132 +134827,132 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">KML für Google-Earth erzeugen - voreingestellt auf "geodätisches" Profil und "Raster" in EPSG:4326</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2929"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2936"/>
         <source>Avoid automatic generation of KML files for EPSG:4326</source>
         <translation>Automatische Erzeugung von KML-Dateien für EPSG:4326 vermeiden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2924"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2931"/>
         <source>URL address where the generated tiles are going to be published</source>
         <translation>URL unter der die generierten Kacheln veröffentlich werden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2900"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2907"/>
         <source>Mercator</source>
         <translation>Mercator</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2901"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2908"/>
         <source>Geodetic</source>
         <translation>Geodätisch</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2902"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2909"/>
         <source>Raster</source>
         <translation>Raster</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2903"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2910"/>
         <source>Average</source>
         <translation>Mittel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2904"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2911"/>
         <source>Nearest neighbour</source>
         <translation>Nächster Nachbar</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2905"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2912"/>
         <source>Bilinear</source>
         <translation>Bilinear</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2906"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2913"/>
         <source>Cubic</source>
         <translation>Kubisch</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2907"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2914"/>
         <source>Cubic spline</source>
         <translation>Kubisches Spline</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2908"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2915"/>
         <source>Lanczos windowed sinc</source>
         <translation>Lanczos sinc mit Fensterfunktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2909"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2916"/>
         <source>Antialias</source>
         <translation>Antialias</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2910"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2917"/>
         <source>All</source>
         <translation>Alle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2911"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2918"/>
         <source>GoogleMaps</source>
         <translation>GoogleMaps</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2912"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2919"/>
         <source>OpenLayers</source>
         <translation>OpenLayers</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2913"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2920"/>
         <source>Leaflet</source>
         <translation>Leaflet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2914"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2921"/>
         <source>None</source>
         <translation>Keine</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2918"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2925"/>
         <source>Web viewer to generate</source>
         <translation>Zu erzeugende Webanzeige</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2919"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2926"/>
         <source>Title of the map</source>
         <translation>Kartentitel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2923"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2930"/>
         <source>Transparency value to assign to the input data</source>
         <translation>Den Eingabedaten zuzuweisender Transparenzwert </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2925"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2932"/>
         <source>Google Maps API key (http://code.google.com/apis/maps/signup.html)</source>
         <translation>Google-Maps-API-Schlüssel (http://code.google.com/apis/maps/signup.html)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2926"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2933"/>
         <source>Bing Maps API key (https://www.bingmapsportal.com/)</source>
         <translation>Bing-Maps-API-Schlüssel (https://www.bingmapsportal.com/)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2927"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2934"/>
         <source>Generate only missing files</source>
         <translation>Nur fehlende Dateien erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2928"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2935"/>
         <source>Generate KML for Google Earth</source>
         <translation>KML für Google Earth erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2930"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2937"/>
         <source>Output directory</source>
         <translation>Ausgabeverzeichniss</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2932"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2939"/>
         <source>Raster miscellaneous</source>
         <translation>Raster Verschiedenes</translation>
     </message>
@@ -134532,32 +134980,32 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2936"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2943"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2937"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2944"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2938"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2945"/>
         <source>Output comma-separated values</source>
         <translation>Kommagetrennte Werte ausgeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2939"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2946"/>
         <source>XYZ ASCII file</source>
         <translation>XYZ-ASCII-Datei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2940"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2947"/>
         <source>CSV files (*.csv)</source>
         <translation>CSV-Datei (*.csv)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2942"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2949"/>
         <source>Raster conversion</source>
         <translation>Rasterkonvertierung</translation>
     </message>
@@ -134566,7 +135014,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">xyz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2941"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2948"/>
         <source>gdal2xyz</source>
         <translation>gdal2xyz</translation>
     </message>
@@ -134578,92 +135026,92 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2946"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2953"/>
         <source>Nearest neighbour</source>
         <translation>Nächster Nachbar</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2947"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2954"/>
         <source>Average</source>
         <translation>Mittel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2948"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2955"/>
         <source>Gaussian</source>
         <translation>Gauss</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2949"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2956"/>
         <source>Cubic convolution.</source>
         <translation>Kubische Faltung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2950"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2957"/>
         <source>B-Spline convolution</source>
         <translation>B-Spline-Faltung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2951"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2958"/>
         <source>Lanczos windowed sinc</source>
         <translation>Lanczos sinc mit Fensterfunktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2952"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2959"/>
         <source>Average MP</source>
         <translation>Durchschnitt MP</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2953"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2960"/>
         <source>Average in mag/phase space</source>
         <translation>Durchschnitt im mag/phase Raum</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2954"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2961"/>
         <source>Mode</source>
         <translation>Modus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2955"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2962"/>
         <source>Internal (if possible)</source>
         <translation>Intern (wenn möglich)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2956"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2963"/>
         <source>External (GTiff .ovr)</source>
         <translation>Extern (GTiff .ovr)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2957"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2964"/>
         <source>External (ERDAS Imagine .aux)</source>
         <translation>Extern (ERDAS Imagnin .aux)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2958"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2965"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2959"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2966"/>
         <source>Overview levels</source>
         <translation>Übersichtsebenen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2960"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2967"/>
         <source>Remove all existing overviews</source>
         <translation>Alle Übersichten entfernen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2961"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2968"/>
         <source>Resampling method</source>
         <translation>Abtastmethode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2962"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2969"/>
         <source>Overviews format</source>
         <translation>Übersichtsformat</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2965"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2972"/>
         <source>Raster miscellaneous</source>
         <translation>Raster Verschiedenes</translation>
     </message>
@@ -134672,12 +135120,12 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Übersichtsformat</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2963"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2970"/>
         <source>Pyramidized</source>
         <translation>Ausgabe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2964"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2971"/>
         <source>Build overviews (pyramids)</source>
         <translation>Übersichten erzeugen (Pyramiden)</translation>
     </message>
@@ -134689,97 +135137,97 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2969"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2976"/>
         <source>Input layer A</source>
         <translation>Eingabelayer A</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2970"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2977"/>
         <source>Number of raster band for raster A</source>
         <translation>Kanalnummer für Raster A</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2971"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2978"/>
         <source>Input layer B</source>
         <translation>Eingabelayer B</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2972"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2979"/>
         <source>Number of raster band for raster B</source>
         <translation>Kanalnummer für Raster B</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2973"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2980"/>
         <source>Input layer C</source>
         <translation>Eingabelayer C</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2974"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2981"/>
         <source>Number of raster band for raster C</source>
         <translation>Kanalnummer für Raster C</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2975"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2982"/>
         <source>Input layer D</source>
         <translation>Eingabelayer D</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2976"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2983"/>
         <source>Number of raster band for raster D</source>
         <translation>Kanalnummer für Raster D</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2977"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2984"/>
         <source>Input layer E</source>
         <translation>Eingabelayer E</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2978"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2985"/>
         <source>Number of raster band for raster E</source>
         <translation>Kanalnummer für Raster E</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2979"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2986"/>
         <source>Input layer F</source>
         <translation>Eingabelayer F</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2980"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2987"/>
         <source>Number of raster band for raster F</source>
         <translation>Kanalnummer für Raster F</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2981"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2988"/>
         <source>Calculation in gdalnumeric syntax using +-/* or any numpy array functions (i.e. logical_and())</source>
         <translation>Berechnung in Syntax von gdalnumeric mit +-/* oder anderen Numpy-Feldfunktionen (z.B. logical_end()) </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2982"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2989"/>
         <source>Set output nodata value</source>
         <translation>Ausgabeleerwert festlegen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2983"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2990"/>
         <source>Output raster type</source>
         <translation>Ausgaberastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2984"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2991"/>
         <source>Additional creation parameters</source>
         <translation>Zusaätzliche Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2985"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2992"/>
         <source>Calculated</source>
         <translation>Berechnet</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2986"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2993"/>
         <source>Raster calculator</source>
         <translation>Rasterrechner</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2987"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2994"/>
         <source>Raster miscellaneous</source>
         <translation>Raster Verschiedenes</translation>
     </message>
@@ -134787,47 +135235,47 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>gdalinfo</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2991"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2998"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2992"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="2999"/>
         <source>Force computation of the actual min/max values for each band</source>
         <translation>Berechnung der tatsächlichen Min-/Max-Wert für jeden Kanal erzwingen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2993"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3000"/>
         <source>Read and display image statistics (force computation if necessary)</source>
         <translation>Bildstatistik lesen und anzeigen (Berechnung wenn nötig erzwingen)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2994"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3001"/>
         <source>Suppress GCP info</source>
         <translation>Paßpunktinformation unterdrücken</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2995"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3002"/>
         <source>Suppress metadata info</source>
         <translation>Metadateninfo unterdrücken</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2996"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3003"/>
         <source>Layer information</source>
         <translation>Layerinformation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2997"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3004"/>
         <source>HTML files (*.html)</source>
         <translation>HTML-Dateien (*.html)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2998"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3005"/>
         <source>Raster information</source>
         <translation>Rasterinformation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="2999"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3006"/>
         <source>Raster miscellaneous</source>
         <translation>Raster Verschiedenes</translation>
     </message>
@@ -134847,77 +135295,77 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Kachelindexfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3003"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3010"/>
         <source>Auto</source>
         <translation>Auto</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3004"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3011"/>
         <source>Well-known text (WKT)</source>
         <translation>Well-known text (WKT)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3005"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3012"/>
         <source>EPSG</source>
         <translation>EPSG</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3006"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3013"/>
         <source>Proj.4</source>
         <translation>Proj.4</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3007"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3014"/>
         <source>Input files</source>
         <translation>Eingabedateien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3008"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3015"/>
         <source>Field name to hold the file path to the indexed rasters</source>
         <translation>Feldname für den Dateinamen des indizierten Rasters</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3009"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3016"/>
         <source>Store absolute path to the indexed rasters</source>
         <translation>Absoluten Pfad des indizierten Rasters speichern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3010"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3017"/>
         <source>Skip files with different projection reference</source>
         <translation>Dateien mit anderer Projektion überspringen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3011"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3018"/>
         <source>Transform geometries to the given CRS</source>
         <translation>Geometrien in das angegebene KBS transformieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3012"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3019"/>
         <source>The name of the field to store the SRS of each tile</source>
         <translation>Der Feldname zum Speichern des KBS jeder Kachel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3013"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3020"/>
         <source>The format in which the CRS of each tile must be written</source>
         <translation>Das Format in dem das KBS jeder Kachel geschrieben werden muß</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3014"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3021"/>
         <source>Tile index</source>
         <translation>Kachelindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3015"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3022"/>
         <source>Tile Index</source>
         <translation>Kachelindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3016"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3023"/>
         <source>Raster miscellaneous</source>
         <translation>Raster Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3017"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3024"/>
         <source>All layers must be raster layers!</source>
         <translation>Alle Layer müssen Rasterlayer sein!</translation>
     </message>
@@ -137657,22 +138105,22 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3021"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3028"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3022"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3029"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3024"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3031"/>
         <source>Scale (ratio of vertical units to horizontal)</source>
         <translation>Seitenverhältnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3027"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3034"/>
         <source>Compute edges</source>
         <translation>Kanten berechnen</translation>
     </message>
@@ -137681,7 +138129,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Benutze Zevenbergen&Thorne Formel (statt Horn)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3023"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3030"/>
         <source>Z factor (vertical exaggeration)</source>
         <translation>Z-Faktor (Vertikale Überhöhung)</translation>
     </message>
@@ -137690,42 +138138,42 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Skalierung (Verh. von vert. zu horz. Einheiten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3025"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3032"/>
         <source>Azimuth of the light</source>
         <translation>Azimut des Lichts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3026"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3033"/>
         <source>Altitude of the light</source>
         <translation>Höhe des Lichts</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3028"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3035"/>
         <source>Use Zevenbergen&Thorne formula instead of the Horn's one</source>
         <translation>Zevenbergen&Thorne- statt Horn-Formel verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3029"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3036"/>
         <source>Combined shading</source>
         <translation>Kombinierte Schummerung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3030"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3037"/>
         <source>Multidirectional shading</source>
         <translation>Mehrgerichtete Schummerung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3031"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3038"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3032"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3039"/>
         <source>Hillshade</source>
         <translation>Schummerung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3033"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3040"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -139521,7 +139969,7 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>merge</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3043"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3052"/>
         <source>Merge</source>
         <translation>Verschmelzen</translation>
     </message>
@@ -139530,32 +139978,42 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Verschiedenes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3037"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3044"/>
         <source>Input layers</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3038"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3045"/>
         <source>Grab pseudocolor table from first layer</source>
         <translation>Pseudofarbtabelle aus erstem Bild entnehmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3039"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3046"/>
         <source>Place each input file into a separate band</source>
         <translation>Jeder Datei einen eigenen Kanal zuordnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3040"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3047"/>
+        <source>Input pixel value to treat as "nodata"</source>
+        <translation>Als Nullwert zu betrachtender Eingabepixelwert</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3048"/>
+        <source>Assign specified "nodata" value to output</source>
+        <translation>Legt den Leerwert des Ausgabekanals fest</translation>
+    </message>
+    <message>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3049"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3041"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3050"/>
         <source>Output data type</source>
         <translation>Ausgabedatentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3044"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3053"/>
         <source>Raster miscellaneous</source>
         <translation>Raster Verschiedenes</translation>
     </message>
@@ -139564,7 +140022,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Ausgaberastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3042"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3051"/>
         <source>Merged</source>
         <translation>Zusammengeführt</translation>
     </message>
@@ -139576,37 +140034,37 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3048"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3057"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3049"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3058"/>
         <source>How far from black (white)</source>
         <translation>Entfernung von Schwarz (oder Weiß)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3050"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3059"/>
         <source>Search for nearly white pixels instead of nearly black</source>
         <translation>Suche nach fast weißen statt schwarzen Pixeln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3051"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3060"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3052"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3061"/>
         <source>Nearblack</source>
         <translation>Fast Schwarz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3053"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3062"/>
         <source>Near black</source>
         <translation>Fast schwarz</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3054"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3063"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -139684,32 +140142,32 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>ogr2ogr</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3058"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3067"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3059"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3068"/>
         <source>Additional creation options</source>
         <translation>Zusätzliche Erzeugungsoptionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3060"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3069"/>
         <source>Converted</source>
         <translation>Umgewandelt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3061"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3070"/>
         <source>Convert format</source>
         <translation>Format konvertieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3062"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3071"/>
         <source>Vector conversion</source>
         <translation>Vektorkonvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3063"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3072"/>
         <source>Output file "{}" already exists.</source>
         <translation>Ausgabedatei "{}" bereits vorhanden.</translation>
     </message>
@@ -139717,37 +140175,37 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>ogrinfo</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3067"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3076"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3068"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3077"/>
         <source>Summary output only</source>
         <translation>Nur Zusammenfassung ausgeben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3069"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3078"/>
         <source>Suppress metadata info</source>
         <translation>Metadateninfo unterdrücken</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3070"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3079"/>
         <source>Layer information</source>
         <translation>Layerinformation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3071"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3080"/>
         <source>HTML files (*.html)</source>
         <translation>HTML-Dateien (*.html)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3072"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3081"/>
         <source>Vector information</source>
         <translation>Vektorinformation</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3073"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3082"/>
         <source>Vector miscellaneous</source>
         <translation>Vektor Verschiedenes</translation>
     </message>
@@ -139822,22 +140280,22 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3077"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3086"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3078"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3087"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3079"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3088"/>
         <source>Generate a RGBA file</source>
         <translation>RGBA-Datei erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3081"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3090"/>
         <source>Raster conversion</source>
         <translation>Rasterkonvertierung</translation>
     </message>
@@ -139846,7 +140304,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Umzuwandelnder Kanal</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3080"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3089"/>
         <source>PCT to RGB</source>
         <translation>PCT nach RGB</translation>
     </message>
@@ -139854,27 +140312,27 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>polygonize</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3086"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3095"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3087"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3096"/>
         <source>Name of the field to create</source>
         <translation>Name des zu erzeugenden Feldes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3088"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3097"/>
         <source>Use 8-connectedness</source>
         <translation>8-Verbindungen verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3090"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3099"/>
         <source>Polygonize (raster to vector)</source>
         <translation>Vektorisieren (Raster nach Vektor)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3091"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3100"/>
         <source>Raster conversion</source>
         <translation>Rasterkonvertierung</translation>
     </message>
@@ -139883,7 +140341,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3085"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3094"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
@@ -139892,7 +140350,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Ausgabefeldname</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3089"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3098"/>
         <source>Vectorized</source>
         <translation>Vektorisiert</translation>
     </message>
@@ -139904,62 +140362,62 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3095"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3104"/>
         <source>Georeferenced coordinates</source>
         <translation>Georeferenzierte Koordinaten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3096"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3105"/>
         <source>Pixel coordinates</source>
         <translation>Pixelkoordinaten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3097"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3106"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3098"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3107"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3099"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3108"/>
         <source>A list of pixel values in the source image to be considered target pixels</source>
         <translation>Eine Pixelwertliste im Quellbild, die als Zielpixel betrachtet werden sollen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3101"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3110"/>
         <source>The maximum distance to be generated</source>
         <translation>Maximal zu generierender Abstand </translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3102"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3111"/>
         <source>Value to be applied to all pixels that are within the -maxdist of target pixels</source>
         <translation>Wert der auf alle Pixel angewendet werden, die zwischen -maxdist der Zielpixel liegen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3103"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3112"/>
         <source>Nodata value to use for the destination proximity raster</source>
         <translation>Für Zielnäheraster zu verwendender Leerwert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3104"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3113"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3105"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3114"/>
         <source>Output data type</source>
         <translation>Ausgabedatentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3106"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3115"/>
         <source>Proximity map</source>
         <translation>Nähekarte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3108"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3117"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -139968,7 +140426,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Werte</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3100"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3109"/>
         <source>Distance units</source>
         <translation>Distanzeinheit</translation>
     </message>
@@ -139993,7 +140451,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Entfernung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3107"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3116"/>
         <source>Proximity (raster distance)</source>
         <translation>Nähe (Rasterabstand)</translation>
     </message>
@@ -140005,7 +140463,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3114"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3123"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
@@ -140038,7 +140496,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Rastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3128"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3137"/>
         <source>Vector conversion</source>
         <translation>Vektorkonvertierung</translation>
     </message>
@@ -140075,77 +140533,77 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Erzeugung der zugehörigen ESRI-Worlddatei (.tfw) erzwingen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3112"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3121"/>
         <source>Pixels</source>
         <translation>Pixel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3113"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3122"/>
         <source>Georeferenced units</source>
         <translation>Georeferenzierte Einheiten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3115"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3124"/>
         <source>Field to use for a burn-in value</source>
         <translation>Einzubrennendes Feld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3116"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3125"/>
         <source>A fixed value to burn</source>
         <translation>Festen Wert einbrennen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3117"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3126"/>
         <source>Output raster size units</source>
         <translation>Ausgaberastergrößeneinheiten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3118"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3127"/>
         <source>Width/Horizontal resolution</source>
         <translation>Breite/Horizontale Auflösung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3119"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3128"/>
         <source>Height/Vertical resolution</source>
         <translation>Höhe/Vertikale Auflösung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3120"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3129"/>
         <source>Output extent</source>
         <translation>Ausgabegröße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3121"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3130"/>
         <source>Assign a specified nodata value to output bands</source>
         <translation>Legt den Leerwert des Ausgabekanals fest.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3122"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3131"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3123"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3132"/>
         <source>Output data type</source>
         <translation>Ausgabedatentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3124"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3133"/>
         <source>Pre-initialize the output image with value</source>
         <translation>Wert zum Vorinitialisieren des Bildes</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3125"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3134"/>
         <source>Invert rasterization</source>
         <translation>Rasterisierung umkehren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3126"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3135"/>
         <source>Rasterized</source>
         <translation>Gerastert</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3127"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3136"/>
         <source>Rasterize (vector to raster)</source>
         <translation>Rastern (Vektor nach Raster)</translation>
     </message>
@@ -140157,27 +140615,27 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3132"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3141"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3133"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3142"/>
         <source>Attribute field</source>
         <translation>Attributfeld</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3134"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3143"/>
         <source>Existing raster layer</source>
         <translation>Vorhandener Rasterlayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3135"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3144"/>
         <source>Rasterize (write over existing raster)</source>
         <translation>Rastern (vorhandenes Raster überschreiben)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3136"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3145"/>
         <source>Vector conversion</source>
         <translation>Vektorkonvertierung</translation>
     </message>
@@ -140185,7 +140643,7 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>retile</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3159"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3168"/>
         <source>Retile</source>
         <translation>Neukacheln</translation>
     </message>
@@ -140210,97 +140668,97 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Quell-KBS überschreiben</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3140"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3149"/>
         <source>Nearest neighbour</source>
         <translation>Nächster Nachbar</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3141"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3150"/>
         <source>Bilinear</source>
         <translation>Bilinear</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3142"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3151"/>
         <source>Cubic</source>
         <translation>Kubisch</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3143"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3152"/>
         <source>Cubic spline</source>
         <translation>Kubisches Spline</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3144"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3153"/>
         <source>Lanczos windowed sinc</source>
         <translation>Lanczos sinc mit Fensterfunktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3145"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3154"/>
         <source>Input files</source>
         <translation>Eingabedateien</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3146"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3155"/>
         <source>Tile width</source>
         <translation>Kachelbreite</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3147"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3156"/>
         <source>Tile height</source>
         <translation>Kachelhöhe</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3148"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3157"/>
         <source>Overlap in pixels between consecutive tiles</source>
         <translation>Überlappung in Pixeln zwischen aufeinanderfolgenden Kacheln</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3149"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3158"/>
         <source>Number of pyramids levels to build</source>
         <translation>Anzahl der zu erzeugenden Pyramidenstufen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3150"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3159"/>
         <source>Source coordinate reference system</source>
         <translation>Quellkoordinatenbezugssystem</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3151"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3160"/>
         <source>Resampling method</source>
         <translation>Abtastmethode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3153"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3162"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3154"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3163"/>
         <source>Output data type</source>
         <translation>Ausgabedatentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3155"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3164"/>
         <source>Build only the pyramids</source>
         <translation>Nur Pyramiden erzeugen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3156"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3165"/>
         <source>Use separate directory for each tiles row</source>
         <translation>Gesondertes Verzeichns für jede Kachelzeile verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3157"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3166"/>
         <source>Output directory</source>
         <translation>Ausgabeverzeichniss</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3158"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3167"/>
         <source>CSV file containing the tile(s) georeferencing information</source>
         <translation>CSV-Datei die die Kachelgeoreferenzierungsinformation enthält</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3160"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3169"/>
         <source>Raster miscellaneous</source>
         <translation>Raster Verschiedenes</translation>
     </message>
@@ -140321,7 +140779,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Name der CSV-Datei, die die Georeferenzierungsinformation der Kacheln enthält</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3152"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3161"/>
         <source>Column delimiter used in the CSV file</source>
         <translation>Spaltentrennzeichen der CSV-Datei</translation>
     </message>
@@ -140345,22 +140803,22 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Konvertierung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3164"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3173"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3165"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3174"/>
         <source>Number of colors</source>
         <translation>Farbanzahl</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3166"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3175"/>
         <source>RGB to PCT</source>
         <translation>RGB nach PCT</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3167"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3176"/>
         <source>Raster conversion</source>
         <translation>Rasterkonvertierung</translation>
     </message>
@@ -140372,32 +140830,32 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3171"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3180"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3172"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3181"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3173"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3182"/>
         <source>Compute edges</source>
         <translation>Kanten berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3174"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3183"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3175"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3184"/>
         <source>Roughness</source>
         <translation>Rauhigkeit</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3176"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3185"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -140517,7 +140975,7 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>sieve</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3186"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3195"/>
         <source>Sieve</source>
         <translation>Sieben</translation>
     </message>
@@ -140526,32 +140984,32 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3180"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3189"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3181"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3190"/>
         <source>Threshold</source>
         <translation>Schwelle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3182"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3191"/>
         <source>Use 8-connectedness</source>
         <translation>8-Verbindungen verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3183"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3192"/>
         <source>Do not use the default validity mask for the input band</source>
         <translation>Nicht die voreingestellte Gültigkeitsmaske für den Eingabekanal benutzen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3184"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3193"/>
         <source>Validity mask</source>
         <translation>Gültigkeitsmaske</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3187"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3196"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -140560,7 +141018,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Pixelverbindung</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3185"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3194"/>
         <source>Sieved</source>
         <translation>Gesiebt</translation>
     </message>
@@ -140572,42 +141030,42 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3191"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3200"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3192"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3201"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3193"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3202"/>
         <source>Ratio of vertical units to horizontal</source>
         <translation>Seitenverhältnis</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3194"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3203"/>
         <source>Slope expressed as percent instead of degrees</source>
         <translation>Steigung in Prozent statt Grad ausdrücken</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3195"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3204"/>
         <source>Compute edges</source>
         <translation>Kanten berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3196"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3205"/>
         <source>Use Zevenbergen&Thorne formula instead of the Horn's one</source>
         <translation>Zevenbergen&Thorne- statt Horn-Formel verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3197"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3206"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3199"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3208"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -140624,7 +141082,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Skalierung (Verh. von vert. zu horz. Einheiten)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3198"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3207"/>
         <source>Slope</source>
         <translation>Neigung</translation>
     </message>
@@ -140848,32 +141306,32 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3203"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3212"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3204"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3213"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3205"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3214"/>
         <source>Compute edges</source>
         <translation>Kanten berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3206"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3215"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3207"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3216"/>
         <source>Terrain Ruggedness Index</source>
         <translation>Geländerauhigkeitsindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3209"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3218"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -140882,7 +141340,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Topographischer Positionsindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3208"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3217"/>
         <source>TPI (Topographic Position Index)</source>
         <translation>Topographische Position (TPI)</translation>
     </message>
@@ -140890,7 +141348,7 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>translate</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3213"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3222"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
@@ -140915,37 +141373,37 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Auf georeferenzierten Koordinaten basierende Untermenge</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3214"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3223"/>
         <source>Override the projection for the output file</source>
         <translation>Projektion der Ausgabedatei übersteuern</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3215"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3224"/>
         <source>Assign a specified nodata value to output bands</source>
         <translation>Legt den Leerwert des Ausgabekanals fest.</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3216"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3225"/>
         <source>Copy all subdatasets of this file to individual output files</source>
         <translation>Alle Unterdatensätze dieser Datei in einzelne Dateien kopieren</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3217"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3226"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3218"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3227"/>
         <source>Output data type</source>
         <translation>Ausgabedatentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3219"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3228"/>
         <source>Converted</source>
         <translation>Umgewandelt</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3221"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3230"/>
         <source>Raster conversion</source>
         <translation>Rasterkonvertierung</translation>
     </message>
@@ -140958,7 +141416,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Leerwert, auf 'none' belassen, um den Leerwert aus der Eingabe zu übernehmen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3220"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3229"/>
         <source>Translate (convert format)</source>
         <translation>Umwandeln (Format konvertieren)</translation>
     </message>
@@ -141002,37 +141460,37 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">[GDAL] Analyse</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3225"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3234"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3226"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3235"/>
         <source>Band number</source>
         <translation>Kanalnummer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3227"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3236"/>
         <source>Compute edges</source>
         <translation>Kanten berechnen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3228"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3237"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3229"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3238"/>
         <source>Terrain Ruggedness Index</source>
         <translation>Geländerauhigkeitsindex</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3230"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3239"/>
         <source>TRI (Terrain Ruggedness Index)</source>
         <translation>Oberflächenrauhigkeit (TRI)</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3231"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3240"/>
         <source>Raster analysis</source>
         <translation>Rasteranalyse</translation>
     </message>
@@ -141450,122 +141908,122 @@ Base Path (i.e. keep only filename from attribute)</source>
 <context>
     <name>warp</name>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3235"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3244"/>
         <source>Nearest neighbour</source>
         <translation>Nächster Nachbar</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3236"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3245"/>
         <source>Bilinear</source>
         <translation>Bilinear</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3237"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3246"/>
         <source>Cubic</source>
         <translation>Kubisch</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3238"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3247"/>
         <source>Cubic spline</source>
         <translation>Kubisches Spline</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3239"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3248"/>
         <source>Lanczos windowed sinc</source>
         <translation>Lanczos sinc mit Fensterfunktion</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3240"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3249"/>
         <source>Average</source>
         <translation>Mittel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3241"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3250"/>
         <source>Mode</source>
         <translation>Modus</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3242"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3251"/>
         <source>Maximum</source>
         <translation>Maximum</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3243"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3252"/>
         <source>Minimum</source>
         <translation>Minimum</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3244"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3253"/>
         <source>Median</source>
         <translation>Median</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3245"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3254"/>
         <source>First quartile</source>
         <translation>Erstes Viertel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3246"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3255"/>
         <source>Third quartile</source>
         <translation>Drittes Viertel</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3247"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3256"/>
         <source>Input layer</source>
         <translation>Eingabelayer</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3248"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3257"/>
         <source>Source CRS</source>
         <translation>Quell-KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3249"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3258"/>
         <source>Target CRS</source>
         <translation>Ziel KBS</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3250"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3259"/>
         <source>Nodata value for output bands</source>
         <translation>Leerwert der Ausgabekanäle</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3251"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3260"/>
         <source>Output file resolution in target georeferenced units</source>
         <translation>Auflösung der Ausgabedatei in georeferenzierten Zieleinheiten</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3253"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3262"/>
         <source>Resampling method to use</source>
         <translation>Zu verwendende Abtastmethode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3254"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3263"/>
         <source>Output data type</source>
         <translation>Ausgabedatentyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3255"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3264"/>
         <source>Georeferenced extents of output file to be created</source>
         <translation>Georeferenziere Maße der zu erzeugenden Ausgabedatei</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3256"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3265"/>
         <source>CRS of the target raster extent</source>
         <translation>KBS der Zielrastermaße</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3257"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3266"/>
         <source>Use multithreaded warping implementation</source>
         <translation>Multithreaded Transformationsimplementierung verwenden</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3260"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3269"/>
         <source>Raster projections</source>
         <translation>Rasterprojektionen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3261"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3270"/>
         <source>transform,reproject,crs,srs</source>
         <translation>transform,reproject,crs,srs</translation>
     </message>
@@ -141586,7 +142044,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Abtastmethode</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3252"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3261"/>
         <source>Additional creation parameters</source>
         <translation>Weitere Erzeugungsparameter</translation>
     </message>
@@ -141595,7 +142053,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Ausgaberastertyp</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3259"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3268"/>
         <source>Warp (reproject)</source>
         <translation>Transformieren (Reprojizieren)</translation>
     </message>
@@ -141644,7 +142102,7 @@ Base Path (i.e. keep only filename from attribute)</source>
         <translation type="vanished">Erzeugung der zugehörigen ESRI-Worlddatei (.tfw) erzwingen</translation>
     </message>
     <message>
-        <location filename="../python/plugins/processing/python-i18n.cpp" line="3258"/>
+        <location filename="../python/plugins/processing/python-i18n.cpp" line="3267"/>
         <source>Reprojected</source>
         <translation>Reprojiiziert</translation>
     </message>
diff --git a/i18n/qgis_es.ts b/i18n/qgis_es.ts
index 2ccd31a..c44556e 100644
--- a/i18n/qgis_es.ts
+++ b/i18n/qgis_es.ts
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
-<TS version="2.1" language="es">
+<TS version="2.0" language="es">
 <context>
     <name>@default</name>
     <message>
@@ -12,11 +12,11 @@
     </message>
     <message>
         <source>OTB execution console output</source>
-        <translation type="vanished">Salida de la consola de ejecución de OTB</translation>
+        <translation>Salida de la consola de ejecución de OTB</translation>
     </message>
     <message>
         <source>Executing iteration {0}/{1}...</source>
-        <translation type="vanished">Ejecutando iteración {0}/{1}...</translation>
+        <translation>Ejecutando iteración {0}/{1}...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="11"/>
@@ -93,19 +93,19 @@
     </message>
     <message>
         <source><p align="right">Algorithm author: %s</p></source>
-        <translation type="vanished"><p align="right">Autor del algoritmo: %s</p></translation>
+        <translation><p align="right">Autor del algoritmo: %s</p></translation>
     </message>
     <message>
         <source><p align="right">Help author: %s</p></source>
-        <translation type="vanished"><p align="right">Autor de la ayuda: %s</p></translation>
+        <translation><p align="right">Autor de la ayuda: %s</p></translation>
     </message>
     <message>
         <source><p align="right">Algorithm version: %s</p></source>
-        <translation type="vanished"><p align="right">Versión del algoritmo: %s</p></translation>
+        <translation><p align="right">Versión del algoritmo: %s</p></translation>
     </message>
     <message>
         <source>Executing iteration %s/%s...</source>
-        <translation type="vanished">Ejecutando iteración %s/%s...</translation>
+        <translation>Ejecutando iteración %s/%s...</translation>
     </message>
 </context>
 <context>
@@ -121,67 +121,67 @@
     <name>ASCII2DTM</name>
     <message>
         <source>ASCII to DTM</source>
-        <translation type="vanished">ASCII a MDT</translation>
+        <translation>ASCII a MDT</translation>
     </message>
     <message>
         <source>Conversion</source>
-        <translation type="vanished">Conversión</translation>
+        <translation>Conversión</translation>
     </message>
     <message>
         <source>Input ESRI ASCII layer</source>
-        <translation type="vanished">Capa ASCII de ESRI de entrada</translation>
+        <translation>Capa ASCII de ESRI de entrada</translation>
     </message>
     <message>
         <source>XY Units</source>
-        <translation type="vanished">Unidades XY</translation>
+        <translation>Unidades XY</translation>
     </message>
     <message>
         <source>Z Units</source>
-        <translation type="vanished">Unidades Z</translation>
+        <translation>Unidades Z</translation>
     </message>
     <message>
         <source>Coordinate system</source>
-        <translation type="vanished">Sistema de coordenadas</translation>
+        <translation>Sistema de coordenadas</translation>
     </message>
     <message>
         <source>Coordinate system zone ('0' for unknown)</source>
-        <translation type="vanished">Zona de sistema de coordenadas ('0' para desconocido)</translation>
+        <translation>Zona de sistema de coordenadas ('0' para desconocido)</translation>
     </message>
     <message>
         <source>Output surface</source>
-        <translation type="vanished">Superficie de salida</translation>
+        <translation>Superficie de salida</translation>
     </message>
 </context>
 <context>
     <name>AddModelFromFileAction</name>
     <message>
         <source>Open model</source>
-        <translation type="vanished">Abrir modelo</translation>
+        <translation>Abrir modelo</translation>
     </message>
     <message>
         <source>Processing model files (*.model *.MODEL)</source>
-        <translation type="vanished">Procesando archivos de modelos (*.model *.MODEL)</translation>
+        <translation>Procesando archivos de modelos (*.model *.MODEL)</translation>
     </message>
     <message>
         <source>Error reading model</source>
-        <translation type="vanished">Error al leer el modelo</translation>
+        <translation>Error al leer el modelo</translation>
     </message>
     <message>
         <source>The selected file does not contain a valid model</source>
-        <translation type="vanished">El archivo seleccionado no contiene un modelo válido</translation>
+        <translation>El archivo seleccionado no contiene un modelo válido</translation>
     </message>
     <message>
         <source>Cannot read file</source>
-        <translation type="vanished">No se puede leer el archivo</translation>
+        <translation>No se puede leer el archivo</translation>
     </message>
     <message>
         <source>Add model from file</source>
-        <translation type="vanished">Añadir modelo a partir de archivo</translation>
+        <translation>Añadir modelo a partir de archivo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="27"/>
         <source>Add Model from File…</source>
-        <translation type="unfinished"></translation>
+        <translation>Añadir modelo a partir de archivo…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="28"/>
@@ -197,7 +197,7 @@
     <message>
         <source>Open model</source>
         <comment>AddModelFromFileAction</comment>
-        <translation type="vanished">Abrir modelo</translation>
+        <translation>Abrir modelo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="30"/>
@@ -208,7 +208,7 @@
     <message>
         <source>Error reading model</source>
         <comment>AddModelFromFileAction</comment>
-        <translation type="vanished">Error al leer el modelo</translation>
+        <translation>Error al leer el modelo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="31"/>
@@ -221,16 +221,16 @@
     <name>AddScriptFromFileAction</name>
     <message>
         <source>Script files</source>
-        <translation type="vanished">Archivos de scripts</translation>
+        <translation>Archivos de scripts</translation>
     </message>
     <message>
         <source>Add script from file</source>
-        <translation type="vanished">Añadir script a partir de archivo</translation>
+        <translation>Añadir script a partir de archivo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="35"/>
         <source>Add Script from File…</source>
-        <translation type="unfinished"></translation>
+        <translation>Añadir script a partir de archivo…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="36"/>
@@ -256,32 +256,32 @@
     </message>
     <message>
         <source>Error reading script</source>
-        <translation type="vanished">Error al leer el script</translation>
+        <translation>Error al leer el script</translation>
     </message>
     <message>
         <source>The selected file does not contain a valid script</source>
-        <translation type="vanished">El archivo seleccionado no contiene un script válido</translation>
+        <translation>El archivo seleccionado no contiene un script válido</translation>
     </message>
     <message>
         <source>Script files</source>
         <comment>AddScriptFromFileAction</comment>
-        <translation type="vanished">Archivos de scripts</translation>
+        <translation>Archivos de scripts</translation>
     </message>
     <message>
         <source>Script files (*.py *.PY)</source>
         <comment>AddScriptFromFileAction</comment>
-        <translation type="vanished">Archivos de scripts (*.py *.PY)</translation>
+        <translation>Archivos de scripts (*.py *.PY)</translation>
     </message>
     <message>
         <source>Error reading scripts</source>
         <comment>AddScriptFromFileAction</comment>
-        <translation type="vanished">Error al leer los scripts</translation>
+        <translation>Error al leer los scripts</translation>
     </message>
     <message>
         <source>The following files do not contain a valid script:
 -</source>
         <comment>AddScriptFromFileAction</comment>
-        <translation type="vanished">Los archivos siguientes no contienen un script válido:
+        <translation>Los archivos siguientes no contienen un script válido:
 -</translation>
     </message>
 </context>
@@ -289,7 +289,7 @@
     <name>AddTableField</name>
     <message>
         <source>Vector table tools</source>
-        <translation type="vanished">Herramientas de tabla de vectorial</translation>
+        <translation>Herramientas de tabla de vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="44"/>
@@ -308,7 +308,7 @@
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="43"/>
@@ -584,7 +584,7 @@
     <name>AlgorithmDialog</name>
     <message>
         <source>Run as batch process...</source>
-        <translation type="vanished">Ejecutar como proceso por lotes...</translation>
+        <translation>Ejecutar como proceso por lotes...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="73"/>
@@ -635,11 +635,11 @@ Sus capas de entrada no tiene la misma extensión que el proyecto, por lo que la
     </message>
     <message>
         <source>Processing algorithm...</source>
-        <translation type="vanished">Procesando algoritmo...</translation>
+        <translation>Procesando algoritmo...</translation>
     </message>
     <message>
         <source><b>Algorithm '{0}' starting...</b></source>
-        <translation type="vanished"><b>Algoritmo '{0}' comenzando...</b></translation>
+        <translation><b>Algoritmo '{0}' comenzando...</b></translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="81"/>
@@ -673,15 +673,15 @@ Sus capas de entrada no tiene la misma extensión que el proyecto, por lo que la
     </message>
     <message>
         <source><b>Algorithm %s starting...</b></source>
-        <translation type="vanished"><b>Algoritmo %s comenzando...</b></translation>
+        <translation><b>Algoritmo %s comenzando...</b></translation>
     </message>
     <message>
         <source><b>Missing parameter value: %s</b></source>
-        <translation type="vanished"><b>Falta el valor del parámetro: %s</b></translation>
+        <translation><b>Falta el valor del parámetro: %s</b></translation>
     </message>
     <message>
         <source>Wrong or missing parameter values</source>
-        <translation type="vanished">Valores de parámetro incorrectos o faltan</translation>
+        <translation>Valores de parámetro incorrectos o faltan</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="87"/>
@@ -695,15 +695,15 @@ Abra el diálogo de resultados para comprobarla.</translation>
     <name>AlgorithmDialogBase</name>
     <message>
         <source>Run</source>
-        <translation type="vanished">Ejecutar</translation>
+        <translation>Ejecutar</translation>
     </message>
     <message>
         <source><p>Downloading algorithm help... Please wait.</p></source>
-        <translation type="vanished"><p>Descargando ayuda del algoritmo... Por favor, espere.</p></translation>
+        <translation><p>Descargando ayuda del algoritmo... Por favor, espere.</p></translation>
     </message>
     <message>
         <source><h2>No help available for this algorithm</h2><p>{}</p></source>
-        <translation type="vanished"><h2>No hay ayuda disponible para este algorimo</h2><p>{}</p></translation>
+        <translation><h2>No hay ayuda disponible para este algorimo</h2><p>{}</p></translation>
     </message>
 </context>
 <context>
@@ -731,11 +731,11 @@ Abra el diálogo de resultados para comprobarla.</translation>
     <name>AlgorithmProvider</name>
     <message>
         <source>Activate</source>
-        <translation type="vanished">Activar</translation>
+        <translation>Activar</translation>
     </message>
     <message>
         <source>Generic algorithm provider</source>
-        <translation type="vanished">Proveedor de algoritmos genérico</translation>
+        <translation>Proveedor de algoritmos genérico</translation>
     </message>
 </context>
 <context>
@@ -770,7 +770,7 @@ Abra el diálogo de resultados para comprobarla.</translation>
     </message>
     <message>
         <source>[GDAL] Projections</source>
-        <translation type="vanished">[GDAL] Proyecciones</translation>
+        <translation>[GDAL] Proyecciones</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="107"/>
@@ -797,19 +797,19 @@ Abra el diálogo de resultados para comprobarla.</translation>
     <name>AutoincrementalField</name>
     <message>
         <source>Vector table tools</source>
-        <translation type="vanished">Herramientas de tabla de vectorial</translation>
+        <translation>Herramientas de tabla de vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Incremented</source>
-        <translation type="vanished">Incrementado</translation>
+        <translation>Incrementado</translation>
     </message>
     <message>
         <source>Add autoincremental field</source>
-        <translation type="vanished">Añadir campo autoincremental</translation>
+        <translation>Añadir campo autoincremental</translation>
     </message>
 </context>
 <context>
@@ -821,7 +821,7 @@ Abra el diálogo de resultados para comprobarla.</translation>
     </message>
     <message>
         <source>Input table</source>
-        <translation type="vanished">Tabla de entrada</translation>
+        <translation>Tabla de entrada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="116"/>
@@ -1091,266 +1091,266 @@ Abra el diálogo de resultados para comprobarla.</translation>
     <name>BasicStatisticsNumbers</name>
     <message>
         <source>Vector table tools</source>
-        <translation type="vanished">Herramientas de tabla de vectorial</translation>
+        <translation>Herramientas de tabla de vectorial</translation>
     </message>
     <message>
         <source>Input vector layer</source>
-        <translation type="vanished">Capa vectorial de entrada</translation>
+        <translation>Capa vectorial de entrada</translation>
     </message>
     <message>
         <source>Field to calculate statistics on</source>
-        <translation type="vanished">Campo del que calcular estadísticas</translation>
+        <translation>Campo del que calcular estadísticas</translation>
     </message>
     <message>
         <source>Statistics</source>
-        <translation type="vanished">Estadísticas</translation>
+        <translation>Estadísticas</translation>
     </message>
     <message>
         <source>Coefficient of Variation</source>
-        <translation type="vanished">Coeficiente de variación</translation>
+        <translation>Coeficiente de variación</translation>
     </message>
     <message>
         <source>Minimum value</source>
-        <translation type="vanished">Valor mínimo</translation>
+        <translation>Valor mínimo</translation>
     </message>
     <message>
         <source>Maximum value</source>
-        <translation type="vanished">Valor máximo</translation>
+        <translation>Valor máximo</translation>
     </message>
     <message>
         <source>Sum</source>
-        <translation type="vanished">Suma</translation>
+        <translation>Suma</translation>
     </message>
     <message>
         <source>Mean value</source>
-        <translation type="vanished">Valor medio</translation>
+        <translation>Valor medio</translation>
     </message>
     <message>
         <source>Count</source>
-        <translation type="vanished">Número</translation>
+        <translation>Número</translation>
     </message>
     <message>
         <source>Range</source>
-        <translation type="vanished">Intervalo</translation>
+        <translation>Intervalo</translation>
     </message>
     <message>
         <source>Median</source>
-        <translation type="vanished">Mediana</translation>
+        <translation>Mediana</translation>
     </message>
     <message>
         <source>Number of unique values</source>
-        <translation type="vanished">Número de valores únicos</translation>
+        <translation>Número de valores únicos</translation>
     </message>
     <message>
         <source>Minority (rarest occurring value)</source>
-        <translation type="vanished">Minoría (valor más raro presente)</translation>
+        <translation>Minoría (valor más raro presente)</translation>
     </message>
     <message>
         <source>Majority (most frequently occurring value)</source>
-        <translation type="vanished">Mayoría (valor presente con más frecuencia)</translation>
+        <translation>Mayoría (valor presente con más frecuencia)</translation>
     </message>
     <message>
         <source>First quartile</source>
-        <translation type="vanished">Primer cuartil</translation>
+        <translation>Primer cuartil</translation>
     </message>
     <message>
         <source>Third quartile</source>
-        <translation type="vanished">Tercer cuartil</translation>
+        <translation>Tercer cuartil</translation>
     </message>
     <message>
         <source>NULL (missed) values</source>
-        <translation type="vanished">Valores NULOS (faltan)</translation>
+        <translation>Valores NULOS (faltan)</translation>
     </message>
     <message>
         <source>Interquartile Range (IQR)</source>
-        <translation type="vanished">Rango intercuartil (IQR)</translation>
+        <translation>Rango intercuartil (IQR)</translation>
     </message>
     <message>
         <source>Analyzed layer: {}</source>
-        <translation type="vanished">Capa analizada: {}</translation>
+        <translation>Capa analizada: {}</translation>
     </message>
     <message>
         <source>Analyzed field: {}</source>
-        <translation type="vanished">Campo analizado: {}</translation>
+        <translation>Campo analizado: {}</translation>
     </message>
     <message>
         <source>Count: {}</source>
-        <translation type="vanished">Recuento:{}</translation>
+        <translation>Recuento:{}</translation>
     </message>
     <message>
         <source>Unique values: {}</source>
-        <translation type="vanished">Valores únicos: {}</translation>
+        <translation>Valores únicos: {}</translation>
     </message>
     <message>
         <source>Minimum value: {}</source>
-        <translation type="vanished">Valor mínimo: {}</translation>
+        <translation>Valor mínimo: {}</translation>
     </message>
     <message>
         <source>Maximum value: {}</source>
-        <translation type="vanished">Valor máximo: {}</translation>
+        <translation>Valor máximo: {}</translation>
     </message>
     <message>
         <source>Range: {}</source>
-        <translation type="vanished">Intervalo: {}</translation>
+        <translation>Intervalo: {}</translation>
     </message>
     <message>
         <source>Sum: {}</source>
-        <translation type="vanished">Suma: {}</translation>
+        <translation>Suma: {}</translation>
     </message>
     <message>
         <source>Mean value: {}</source>
-        <translation type="vanished">Valor medio: {}</translation>
+        <translation>Valor medio: {}</translation>
     </message>
     <message>
         <source>Median value: {}</source>
-        <translation type="vanished">Mediana: {}</translation>
+        <translation>Mediana: {}</translation>
     </message>
     <message>
         <source>Standard deviation: {}</source>
-        <translation type="vanished">Desviación estándar: {}</translation>
+        <translation>Desviación estándar: {}</translation>
     </message>
     <message>
         <source>Coefficient of Variation: {}</source>
-        <translation type="vanished">Coeficiente de variación: {}</translation>
+        <translation>Coeficiente de variación: {}</translation>
     </message>
     <message>
         <source>Minority (rarest occurring value): {}</source>
-        <translation type="vanished">Minoría (valor más raro presente): {}</translation>
+        <translation>Minoría (valor más raro presente): {}</translation>
     </message>
     <message>
         <source>Majority (most frequently occurring value): {}</source>
-        <translation type="vanished">Mayoría (valor presente con más frecuencia): {}</translation>
+        <translation>Mayoría (valor presente con más frecuencia): {}</translation>
     </message>
     <message>
         <source>First quartile: {}</source>
-        <translation type="vanished">Primer cuartil: {}</translation>
+        <translation>Primer cuartil: {}</translation>
     </message>
     <message>
         <source>Third quartile: {}</source>
-        <translation type="vanished">Tercer cuartil: {}</translation>
+        <translation>Tercer cuartil: {}</translation>
     </message>
     <message>
         <source>NULL (missing) values: {}</source>
-        <translation type="vanished">Valores NULOS (faltan): {}</translation>
+        <translation>Valores NULOS (faltan): {}</translation>
     </message>
     <message>
         <source>Interquartile Range (IQR): {}</source>
-        <translation type="vanished">Rango intercuartil (IQR): {}</translation>
+        <translation>Rango intercuartil (IQR): {}</translation>
     </message>
     <message>
         <source>Standard deviation</source>
-        <translation type="vanished">Desviación estándar</translation>
+        <translation>Desviación estándar</translation>
     </message>
     <message>
         <source>Basic statistics for numeric fields</source>
-        <translation type="vanished">Estadísticas básicas para campos numéricos</translation>
+        <translation>Estadísticas básicas para campos numéricos</translation>
     </message>
 </context>
 <context>
     <name>BasicStatisticsStrings</name>
     <message>
         <source>Vector table tools</source>
-        <translation type="vanished">Herramientas de tabla de vectorial</translation>
+        <translation>Herramientas de tabla de vectorial</translation>
     </message>
     <message>
         <source>Input vector layer</source>
-        <translation type="vanished">Capa vectorial de entrada</translation>
+        <translation>Capa vectorial de entrada</translation>
     </message>
     <message>
         <source>Field to calculate statistics on</source>
-        <translation type="vanished">Campo del que calcular estadísticas</translation>
+        <translation>Campo del que calcular estadísticas</translation>
     </message>
     <message>
         <source>Statistics for text</source>
-        <translation type="vanished">Estadísticas para texto</translation>
+        <translation>Estadísticas para texto</translation>
     </message>
     <message>
         <source>Minimum length</source>
-        <translation type="vanished">Longitud mínima</translation>
+        <translation>Longitud mínima</translation>
     </message>
     <message>
         <source>Maximum length</source>
-        <translation type="vanished">Longitud máxima</translation>
+        <translation>Longitud máxima</translation>
     </message>
     <message>
         <source>Mean length</source>
-        <translation type="vanished">Longitud media</translation>
+        <translation>Longitud media</translation>
     </message>
     <message>
         <source>Count</source>
-        <translation type="vanished">Número</translation>
+        <translation>Número</translation>
     </message>
     <message>
         <source>Number of empty values</source>
-        <translation type="vanished">Número de valores vacíos</translation>
+        <translation>Número de valores vacíos</translation>
     </message>
     <message>
         <source>Number of non-empty values</source>
-        <translation type="vanished">Número de valores no vacíos</translation>
+        <translation>Número de valores no vacíos</translation>
     </message>
     <message>
         <source>Number of unique values</source>
-        <translation type="vanished">Número de valores únicos</translation>
+        <translation>Número de valores únicos</translation>
     </message>
     <message>
         <source>Analyzed layer: {}</source>
-        <translation type="vanished">Capa analizada: {}</translation>
+        <translation>Capa analizada: {}</translation>
     </message>
     <message>
         <source>Analyzed field: {}</source>
-        <translation type="vanished">Campo analizado: {}</translation>
+        <translation>Campo analizado: {}</translation>
     </message>
     <message>
         <source>Minimum length: {}</source>
-        <translation type="vanished">Longitud mínima: {}</translation>
+        <translation>Longitud mínima: {}</translation>
     </message>
     <message>
         <source>Maximum length: {}</source>
-        <translation type="vanished">Longitud máxima: {}</translation>
+        <translation>Longitud máxima: {}</translation>
     </message>
     <message>
         <source>Mean length: {}</source>
-        <translation type="vanished">Longitud media: {}</translation>
+        <translation>Longitud media: {}</translation>
     </message>
     <message>
         <source>Filled values: {}</source>
-        <translation type="vanished">Valores rellenos: {}</translation>
+        <translation>Valores rellenos: {}</translation>
     </message>
     <message>
         <source>NULL (missing) values: {}</source>
-        <translation type="vanished">Valores NULOS (faltan): {}</translation>
+        <translation>Valores NULOS (faltan): {}</translation>
     </message>
     <message>
         <source>Count: {}</source>
-        <translation type="vanished">Recuento:{}</translation>
+        <translation>Recuento:{}</translation>
     </message>
     <message>
         <source>Unique: {}</source>
-        <translation type="vanished">Único: {}</translation>
+        <translation>Único: {}</translation>
     </message>
     <message>
         <source>Basic statistics for text fields</source>
-        <translation type="vanished">Estadísticas básicas para campos de texto</translation>
+        <translation>Estadísticas básicas para campos de texto</translation>
     </message>
 </context>
 <context>
     <name>BatchAlgorithmDialog</name>
     <message>
         <source>Batch Processing - %s</source>
-        <translation type="vanished">Procesamiento por lotes - %s</translation>
+        <translation>Procesamiento por lotes - %s</translation>
     </message>
     <message>
         <source><b>Missing parameter value: %s (row %d)</b></source>
-        <translation type="vanished"><b>Falta el valor del parámetro: %s (fila %d)</b></translation>
+        <translation><b>Falta el valor del parámetro: %s (fila %d)</b></translation>
     </message>
     <message>
         <source><b>Wrong or missing parameter value: %s (row %d)</b></source>
-        <translation type="vanished"><b>Valor de parámetro incorrecto o falta: %s (fila %d)</b></translation>
+        <translation><b>Valor de parámetro incorrecto o falta: %s (fila %d)</b></translation>
     </message>
     <message>
         <source>
 Processing algorithm %d/%d...</source>
-        <translation type="vanished">
+        <translation>
 Procesando algoritmo %d/%d...</translation>
     </message>
     <message>
@@ -1371,12 +1371,12 @@ Procesando algoritmo %d/%d...</translation>
     <message>
         <source>
 Processing algorithm {0}/{1}...</source>
-        <translation type="vanished">
+        <translation>
 Procesando algoritmo {0}/{1}...</translation>
     </message>
     <message>
         <source><b>Algorithm {0} starting...</b></source>
-        <translation type="vanished"><b>Algoritmo {0} comenzando...</b></translation>
+        <translation><b>Algoritmo {0} comenzando...</b></translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="179"/>
@@ -1385,7 +1385,7 @@ Procesando algoritmo {0}/{1}...</translation>
     </message>
     <message>
         <source>Algorithm {0} correctly executed...</source>
-        <translation type="vanished">Algoritmo {0} ejecutado correctamente...</translation>
+        <translation>Algoritmo {0} ejecutado correctamente...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="177"/>
@@ -1426,11 +1426,11 @@ Procesando algoritmo {0}/{1}…</translation>
     </message>
     <message>
         <source><b>Algorithm %s starting...</b></source>
-        <translation type="vanished"><b>Algoritmo %s comenzando...</b></translation>
+        <translation><b>Algoritmo %s comenzando...</b></translation>
     </message>
     <message>
         <source>Algorithm %s correctly executed...</source>
-        <translation type="vanished">Algoritmo %s ejecutado correctamente...</translation>
+        <translation>Algoritmo %s ejecutado correctamente...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="184"/>
@@ -1442,59 +1442,59 @@ Procesando algoritmo {0}/{1}…</translation>
     <name>BatchInputSelectionPanel</name>
     <message>
         <source>Select from open layers</source>
-        <translation type="vanished">Seleccionar de las capas abiertas</translation>
+        <translation>Seleccionar de las capas abiertas</translation>
     </message>
     <message>
         <source>Select from file system</source>
-        <translation type="vanished">Seleccionar del sistema de archivos</translation>
+        <translation>Seleccionar del sistema de archivos</translation>
     </message>
     <message>
         <source>Select from filesystem</source>
-        <translation type="vanished">Seleccionar del sistema de archivos</translation>
+        <translation>Seleccionar del sistema de archivos</translation>
     </message>
     <message>
         <source>Open file</source>
-        <translation type="vanished">Abrir archivo</translation>
+        <translation>Abrir archivo</translation>
     </message>
     <message>
         <source>All files(*.*);;</source>
-        <translation type="vanished">Todos los archivos (*.*);;</translation>
+        <translation>Todos los archivos (*.*);;</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="189"/>
         <source>Select from Open Layers…</source>
-        <translation type="unfinished"></translation>
+        <translation>Seleccionar de Open Layers…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="190"/>
         <source>Select from File System…</source>
-        <translation type="unfinished"></translation>
+        <translation>Seleccionar del sistema de archivos…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="191"/>
         <source>Select Files</source>
-        <translation type="unfinished"></translation>
+        <translation>Seleccionar archivos</translation>
     </message>
 </context>
 <context>
     <name>BatchOutputSelectionPanel</name>
     <message>
         <source>Save file</source>
-        <translation type="vanished">Guardar archivo</translation>
+        <translation>Guardar archivo</translation>
     </message>
     <message>
         <source>Select directory</source>
-        <translation type="vanished">Seleccionar directorio</translation>
+        <translation>Seleccionar directorio</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="195"/>
         <source>Save File</source>
-        <translation type="unfinished"></translation>
+        <translation>Guardar archivo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="196"/>
         <source>Output Directory</source>
-        <translation type="unfinished"></translation>
+        <translation>Directorio de salida</translation>
     </message>
 </context>
 <context>
@@ -1536,7 +1536,7 @@ Procesando algoritmo {0}/{1}…</translation>
     </message>
     <message>
         <source>Open batch</source>
-        <translation type="vanished">Abrir lote</translation>
+        <translation>Abrir lote</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="202"/>
@@ -1555,15 +1555,15 @@ Procesando algoritmo {0}/{1}…</translation>
     </message>
     <message>
         <source><b>Missing parameter value: %s (row %d)</b></source>
-        <translation type="vanished"><b>Falta el valor del parámetro: %s (fila %d)</b></translation>
+        <translation><b>Falta el valor del parámetro: %s (fila %d)</b></translation>
     </message>
     <message>
         <source><b>Wrong or missing parameter value: %s (row %d)</b></source>
-        <translation type="vanished"><b>Valor de parámetro incorrecto o falta: %s (fila %d)</b></translation>
+        <translation><b>Valor de parámetro incorrecto o falta: %s (fila %d)</b></translation>
     </message>
     <message>
         <source>Save batch</source>
-        <translation type="vanished">Guardar lote</translation>
+        <translation>Guardar lote</translation>
     </message>
 </context>
 <context>
@@ -1689,23 +1689,23 @@ Procesando algoritmo {0}/{1}…</translation>
     <name>CalculatorModelerAlgorithm</name>
     <message>
         <source>Calculator</source>
-        <translation type="vanished">Calculadora</translation>
+        <translation>Calculadora</translation>
     </message>
     <message>
         <source>Modeler-only tools</source>
-        <translation type="vanished">Herramientas sólo del modelador</translation>
+        <translation>Herramientas sólo del modelador</translation>
     </message>
     <message>
         <source>Formula</source>
-        <translation type="vanished">Fórmula</translation>
+        <translation>Fórmula</translation>
     </message>
     <message>
         <source>Result</source>
-        <translation type="vanished">Resultado</translation>
+        <translation>Resultado</translation>
     </message>
     <message>
         <source>Wrong formula: %s</source>
-        <translation type="vanished">Fórmula incorrecta: %s</translation>
+        <translation>Fórmula incorrecta: %s</translation>
     </message>
 </context>
 <context>
@@ -1713,166 +1713,166 @@ Procesando algoritmo {0}/{1}…</translation>
     <message>
         <source>You can refer to model values in your formula, using single-letter variables, as follows:
 </source>
-        <translation type="vanished">Puede referirse a valores del modelo en su fórmula, usando variables de una sola letra, como sigue:
+        <translation>Puede referirse a valores del modelo en su fórmula, usando variables de una sola letra, como sigue:
 </translation>
     </message>
     <message>
         <source>
  - No numerical variables are available.</source>
-        <translation type="vanished">
+        <translation>
 - Hay disponibles variables no numéricas.</translation>
     </message>
     <message>
         <source>[Enter your formula here]</source>
-        <translation type="vanished">[Introduzca su fórmula aquí]</translation>
+        <translation>[Introduzca su fórmula aquí]</translation>
     </message>
     <message>
         <source>Calculator</source>
-        <translation type="vanished">Calculadora</translation>
+        <translation>Calculadora</translation>
     </message>
 </context>
 <context>
     <name>CanopyMaxima</name>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Input FUSION canopy height model</source>
-        <translation type="vanished">Modelo de altura de dosel FUSION de entrada</translation>
+        <translation>Modelo de altura de dosel FUSION de entrada</translation>
     </message>
     <message>
         <source>Input ground .dtm layer [optional]</source>
-        <translation type="vanished">Capa .dtm de terreno de entrada [opcional]</translation>
+        <translation>Capa .dtm de terreno de entrada [opcional]</translation>
     </message>
     <message>
         <source>Height threshold</source>
-        <translation type="vanished">Umbral de altura</translation>
+        <translation>Umbral de altura</translation>
     </message>
     <message>
         <source>Variable window size: parameter A</source>
-        <translation type="vanished">Tamaño de ventana variable: parámetro A</translation>
+        <translation>Tamaño de ventana variable: parámetro A</translation>
     </message>
     <message>
         <source>Parameter C</source>
-        <translation type="vanished">Parámetro C</translation>
+        <translation>Parámetro C</translation>
     </message>
     <message>
         <source>Summary (tree height summary statistics)</source>
-        <translation type="vanished">Resumen (estadísticas resumen de altura de árbol)</translation>
+        <translation>Resumen (estadísticas resumen de altura de árbol)</translation>
     </message>
     <message>
         <source>Output file with maxima</source>
-        <translation type="vanished">Archivo de salida con máxima</translation>
+        <translation>Archivo de salida con máxima</translation>
     </message>
 </context>
 <context>
     <name>CanopyModel</name>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Input LAS layer</source>
-        <translation type="vanished">Capa LAS de entrada</translation>
+        <translation>Capa LAS de entrada</translation>
     </message>
     <message>
         <source>Cellsize</source>
-        <translation type="vanished">Tamaño de celda</translation>
+        <translation>Tamaño de celda</translation>
     </message>
     <message>
         <source>XY Units</source>
-        <translation type="vanished">Unidades XY</translation>
+        <translation>Unidades XY</translation>
     </message>
     <message>
         <source>Z Units</source>
-        <translation type="vanished">Unidades Z</translation>
+        <translation>Unidades Z</translation>
     </message>
     <message>
         <source>.dtm output surface</source>
-        <translation type="vanished">superficie .dtm de salida</translation>
+        <translation>superficie .dtm de salida</translation>
     </message>
     <message>
         <source>Input ground DTM layer</source>
-        <translation type="vanished">Capa DTM de terreno de entrada</translation>
+        <translation>Capa DTM de terreno de entrada</translation>
     </message>
     <message>
         <source>Median</source>
-        <translation type="vanished">Mediana</translation>
+        <translation>Mediana</translation>
     </message>
     <message>
         <source>Smooth</source>
-        <translation type="vanished">Suavizar</translation>
+        <translation>Suavizar</translation>
     </message>
     <message>
         <source>Calculate slope</source>
-        <translation type="vanished">Calcular pendiente</translation>
+        <translation>Calcular pendiente</translation>
     </message>
     <message>
         <source>Add an ASCII output</source>
-        <translation type="vanished">Añadir una salida ASCII</translation>
+        <translation>Añadir una salida ASCII</translation>
     </message>
     <message>
         <source>Class</source>
-        <translation type="vanished">Clase</translation>
+        <translation>Clase</translation>
     </message>
 </context>
 <context>
     <name>Catalog</name>
     <message>
         <source>Catalog</source>
-        <translation type="vanished">Catálogo</translation>
+        <translation>Catálogo</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Input LAS layer</source>
-        <translation type="vanished">Capa LAS de entrada</translation>
+        <translation>Capa LAS de entrada</translation>
     </message>
     <message>
         <source>Output files</source>
-        <translation type="vanished">Archivos de salida</translation>
+        <translation>Archivos de salida</translation>
     </message>
     <message>
         <source>Density - area, min, max (set blank if not used)</source>
-        <translation type="vanished">Densidad - área, mín., máx. (dejar en blanco si no se usa)</translation>
+        <translation>Densidad - área, mín., máx. (dejar en blanco si no se usa)</translation>
     </message>
     <message>
         <source>First Density - area, min, max (set blank if not used)</source>
-        <translation type="vanished">Primera densidad - área, mín., máx. (dejar en blanco si no se usa)</translation>
+        <translation>Primera densidad - área, mín., máx. (dejar en blanco si no se usa)</translation>
     </message>
     <message>
         <source>Intensity - area, min, max (set blank if not used)</source>
-        <translation type="vanished">Intensidad - área, mín., máx. (dejar en blanco si no se usa)</translation>
+        <translation>Intensidad - área, mín., máx. (dejar en blanco si no se usa)</translation>
     </message>
     <message>
         <source>Additional modifiers</source>
-        <translation type="vanished">Modificadores adicionales</translation>
+        <translation>Modificadores adicionales</translation>
     </message>
 </context>
 <context>
     <name>Centroids</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Centroids</source>
-        <translation type="vanished">Centroides</translation>
+        <translation>Centroides</translation>
     </message>
     <message>
         <source>Error calculating centroid</source>
-        <translation type="vanished">Error al calcular centroide</translation>
+        <translation>Error al calcular centroide</translation>
     </message>
     <message>
         <source>Polygon centroids</source>
-        <translation type="vanished">Centroides de poligonos </translation>
+        <translation>Centroides de poligonos </translation>
     </message>
 </context>
 <context>
@@ -1887,7 +1887,7 @@ Procesando algoritmo {0}/{1}…</translation>
     <name>CheckValidity</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="244"/>
@@ -1897,7 +1897,7 @@ Procesando algoritmo {0}/{1}…</translation>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="245"/>
         <source>valid,invalid,detect</source>
-        <translation type="unfinished"></translation>
+        <translation>valido,inválido,detectar</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="246"/>
@@ -1967,204 +1967,204 @@ Procesando algoritmo {0}/{1}…</translation>
     <name>Clip</name>
     <message>
         <source>Vector overlay tools</source>
-        <translation type="vanished">Herramientas de superposición vectorial</translation>
+        <translation>Herramientas de superposición vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Clip layer</source>
-        <translation type="vanished">Capa de corte</translation>
+        <translation>Capa de corte</translation>
     </message>
     <message>
         <source>Clipped</source>
-        <translation type="vanished">Cortado</translation>
+        <translation>Cortado</translation>
     </message>
     <message>
         <source>GEOS geoprocessing error: One or more input features have invalid geometry.</source>
-        <translation type="vanished">Error de geoprocesamiento de GEOS: uno o más objetos de entrada tienen geometrías no válidas.</translation>
+        <translation>Error de geoprocesamiento de GEOS: uno o más objetos de entrada tienen geometrías no válidas.</translation>
     </message>
     <message>
         <source>Feature geometry error: One or more output features ignored due to invalid geometry.</source>
-        <translation type="vanished">Error de geometría de objeto: uno o más objetos de salida fueron ignorados por geometría no válida.</translation>
+        <translation>Error de geometría de objeto: uno o más objetos de salida fueron ignorados por geometría no válida.</translation>
     </message>
     <message>
         <source>Clip</source>
-        <translation type="vanished">Cortar</translation>
+        <translation>Cortar</translation>
     </message>
 </context>
 <context>
     <name>ClipByExtent</name>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Clipping extent</source>
-        <translation type="vanished">Extensión de corte</translation>
+        <translation>Extensión de corte</translation>
     </message>
     <message>
         <source>Output raster type</source>
-        <translation type="vanished">Tipo de ráster de salida</translation>
+        <translation>Tipo de ráster de salida</translation>
     </message>
     <message>
         <source>GeoTIFF options. Compression type:</source>
-        <translation type="vanished">Opciones de GeoTIFF. Tipo de compresión:</translation>
+        <translation>Opciones de GeoTIFF. Tipo de compresión:</translation>
     </message>
     <message>
         <source>Set the JPEG compression level</source>
-        <translation type="vanished">Establecer el nivel de compresión JPEG</translation>
+        <translation>Establecer el nivel de compresión JPEG</translation>
     </message>
     <message>
         <source>Set the DEFLATE compression level</source>
-        <translation type="vanished">Establecer el nivel de compresión DEFLATE</translation>
+        <translation>Establecer el nivel de compresión DEFLATE</translation>
     </message>
     <message>
         <source>Set the predictor for LZW or DEFLATE compression</source>
-        <translation type="vanished">Establecer el pronosticador para compresión LZW o DEFLATE</translation>
+        <translation>Establecer el pronosticador para compresión LZW o DEFLATE</translation>
     </message>
     <message>
         <source>Create tiled output (only used for the GTiff format)</source>
-        <translation type="vanished">Crear salida teselada (solo usado para el formato GTiff)</translation>
+        <translation>Crear salida teselada (solo usado para el formato GTiff)</translation>
     </message>
     <message>
         <source>Control whether the created file is a BigTIFF or a classic TIFF</source>
-        <translation type="vanished">Controlar si el archivo creado es un BigTIFF o un TIFF clásico</translation>
+        <translation>Controlar si el archivo creado es un BigTIFF o un TIFF clásico</translation>
     </message>
     <message>
         <source>Force the generation of an associated ESRI world file (.tfw))</source>
-        <translation type="vanished">Forzar la generación de un archivo de georreferenciación de ESRI asociado (.tfw)</translation>
+        <translation>Forzar la generación de un archivo de georreferenciación de ESRI asociado (.tfw)</translation>
     </message>
     <message>
         <source>Additional creation parameters</source>
-        <translation type="vanished">Parámetros adicionales de creación</translation>
+        <translation>Parámetros adicionales de creación</translation>
     </message>
     <message>
         <source>Clipped (extent)</source>
-        <translation type="vanished">Recortado (extensión)</translation>
+        <translation>Recortado (extensión)</translation>
     </message>
     <message>
         <source>Clip raster by extent</source>
-        <translation type="vanished">Cortar ráster por extensión</translation>
+        <translation>Cortar ráster por extensión</translation>
     </message>
     <message>
         <source>[GDAL] Extraction</source>
-        <translation type="vanished">[GDAL] Extracción</translation>
+        <translation>[GDAL] Extracción</translation>
     </message>
     <message>
         <source>Nodata value, leave blank to take the nodata value from input</source>
-        <translation type="vanished">Valor de sin datos, dejar en blanco para tomar el valor de sin datos de la entrada</translation>
+        <translation>Valor de sin datos, dejar en blanco para tomar el valor de sin datos de la entrada</translation>
     </message>
 </context>
 <context>
     <name>ClipByMask</name>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Mask layer</source>
-        <translation type="vanished">Capa de máscara</translation>
+        <translation>Capa de máscara</translation>
     </message>
     <message>
         <source>Create and output alpha band</source>
-        <translation type="vanished">Crear y sacar banda alfa</translation>
+        <translation>Crear y sacar banda alfa</translation>
     </message>
     <message>
         <source>Crop the extent of the target dataset to the extent of the cutline</source>
-        <translation type="vanished">Recortar la extensión del conjunto de datos de destino a la extensión de la línea de corte</translation>
+        <translation>Recortar la extensión del conjunto de datos de destino a la extensión de la línea de corte</translation>
     </message>
     <message>
         <source>Keep resolution of output raster</source>
-        <translation type="vanished">Mantener resolución del ráster de salida</translation>
+        <translation>Mantener resolución del ráster de salida</translation>
     </message>
     <message>
         <source>Output raster type</source>
-        <translation type="vanished">Tipo de ráster de salida</translation>
+        <translation>Tipo de ráster de salida</translation>
     </message>
     <message>
         <source>GeoTIFF options. Compression type:</source>
-        <translation type="vanished">Opciones de GeoTIFF. Tipo de compresión:</translation>
+        <translation>Opciones de GeoTIFF. Tipo de compresión:</translation>
     </message>
     <message>
         <source>Set the JPEG compression level</source>
-        <translation type="vanished">Establecer el nivel de compresión JPEG</translation>
+        <translation>Establecer el nivel de compresión JPEG</translation>
     </message>
     <message>
         <source>Set the DEFLATE compression level</source>
-        <translation type="vanished">Establecer el nivel de compresión DEFLATE</translation>
+        <translation>Establecer el nivel de compresión DEFLATE</translation>
     </message>
     <message>
         <source>Set the predictor for LZW or DEFLATE compression</source>
-        <translation type="vanished">Establecer el pronosticador para compresión LZW o DEFLATE</translation>
+        <translation>Establecer el pronosticador para compresión LZW o DEFLATE</translation>
     </message>
     <message>
         <source>Create tiled output (only used for the GTiff format)</source>
-        <translation type="vanished">Crear salida teselada (solo usado para el formato GTiff)</translation>
+        <translation>Crear salida teselada (solo usado para el formato GTiff)</translation>
     </message>
     <message>
         <source>Control whether the created file is a BigTIFF or a classic TIFF</source>
-        <translation type="vanished">Controlar si el archivo creado es un BigTIFF o un TIFF clásico</translation>
+        <translation>Controlar si el archivo creado es un BigTIFF o un TIFF clásico</translation>
     </message>
     <message>
         <source>Force the generation of an associated ESRI world file (.tfw))</source>
-        <translation type="vanished">Forzar la generación de un archivo de georreferenciación de ESRI asociado (.tfw)</translation>
+        <translation>Forzar la generación de un archivo de georreferenciación de ESRI asociado (.tfw)</translation>
     </message>
     <message>
         <source>Additional creation parameters</source>
-        <translation type="vanished">Parámetros adicionales de creación</translation>
+        <translation>Parámetros adicionales de creación</translation>
     </message>
     <message>
         <source>Clipped (mask)</source>
-        <translation type="vanished">Cortado (máscara)</translation>
+        <translation>Cortado (máscara)</translation>
     </message>
     <message>
         <source>Clip raster by mask layer</source>
-        <translation type="vanished">Cortar ráster por capa de máscara</translation>
+        <translation>Cortar ráster por capa de máscara</translation>
     </message>
     <message>
         <source>[GDAL] Extraction</source>
-        <translation type="vanished">[GDAL] Extracción</translation>
+        <translation>[GDAL] Extracción</translation>
     </message>
     <message>
         <source>Nodata value, leave blank to take the nodata value from input</source>
-        <translation type="vanished">Valor de sin datos, dejar en blanco para tomar el valor de sin datos de la entrada</translation>
+        <translation>Valor de sin datos, dejar en blanco para tomar el valor de sin datos de la entrada</translation>
     </message>
 </context>
 <context>
     <name>ClipData</name>
     <message>
         <source>Clip Data</source>
-        <translation type="vanished">Cortar datos</translation>
+        <translation>Cortar datos</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Input LAS layer</source>
-        <translation type="vanished">Capa LAS de entrada</translation>
+        <translation>Capa LAS de entrada</translation>
     </message>
     <message>
         <source>Extent</source>
-        <translation type="vanished">Extensión</translation>
+        <translation>Extensión</translation>
     </message>
     <message>
         <source>Shape</source>
-        <translation type="vanished">Forma</translation>
+        <translation>Forma</translation>
     </message>
     <message>
         <source>Output clipped LAS file</source>
-        <translation type="vanished">Archivo LAS cortado de salida</translation>
+        <translation>Archivo LAS cortado de salida</translation>
     </message>
     <message>
         <source>Ground file for height normalization</source>
-        <translation type="vanished">Archivo de terreno para normalización de altura</translation>
+        <translation>Archivo de terreno para normalización de altura</translation>
     </message>
     <message>
         <source>Convert point elevations into heights above ground (used with the above command)</source>
-        <translation type="vanished">Convertir elevaciones de puntos en alturas sobre el terreno (usado con la orden anterior)</translation>
+        <translation>Convertir elevaciones de puntos en alturas sobre el terreno (usado con la orden anterior)</translation>
     </message>
 </context>
 <context>
@@ -2338,42 +2338,42 @@ Procesando algoritmo {0}/{1}…</translation>
     <name>CloudMetrics</name>
     <message>
         <source>Cloud Metrics</source>
-        <translation type="vanished">Métrica de nubes</translation>
+        <translation>Métrica de nubes</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Input LAS layer</source>
-        <translation type="vanished">Capa LAS de entrada</translation>
+        <translation>Capa LAS de entrada</translation>
     </message>
     <message>
         <source>Output file with tabular metric information</source>
-        <translation type="vanished">Archivo de salida con información métrica tabular</translation>
+        <translation>Archivo de salida con información métrica tabular</translation>
     </message>
     <message>
         <source>Above</source>
-        <translation type="vanished">Encima de</translation>
+        <translation>Encima de</translation>
     </message>
     <message>
         <source>First Impulse</source>
-        <translation type="vanished">Primero impulsar</translation>
+        <translation>Primero impulsar</translation>
     </message>
     <message>
         <source>First Return</source>
-        <translation type="vanished">Primero volver</translation>
+        <translation>Primero volver</translation>
     </message>
     <message>
         <source>Htmin</source>
-        <translation type="vanished">Altura mín</translation>
+        <translation>Altura mín</translation>
     </message>
 </context>
 <context>
     <name>ColorRelief</name>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="307"/>
@@ -2430,7 +2430,7 @@ Procesando algoritmo {0}/{1}…</translation>
     <name>CommanderWindow</name>
     <message>
         <source>Missing dependency</source>
-        <translation type="vanished">Dependencia no satisfecha</translation>
+        <translation>Dependencia no satisfecha</translation>
     </message>
 </context>
 <context>
@@ -2468,34 +2468,34 @@ Procesando algoritmo {0}/{1}…</translation>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="326"/>
         <source>Creating Delaunay triangles…</source>
-        <translation type="unfinished"></translation>
+        <translation>Creando triángulos de Delaunay…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="328"/>
         <source>Removing features…</source>
-        <translation type="unfinished"></translation>
+        <translation>Eliminando objetos...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="329"/>
         <source>Dissolving Delaunay triangles…</source>
-        <translation type="unfinished"></translation>
+        <translation>Disolviendo triángulos de Delaunay...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="330"/>
         <source>Saving data…</source>
-        <translation type="unfinished"></translation>
+        <translation>Guardando datos…</translation>
     </message>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Creating Delaunay triangles...</source>
-        <translation type="vanished">Creando triángulos de Delaunay...</translation>
+        <translation>Creando triángulos de Delaunay...</translation>
     </message>
     <message>
         <source>Computing edges max length...</source>
-        <translation type="vanished">Procesando longitud máxima de bordes...</translation>
+        <translation>Procesando longitud máxima de bordes...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="327"/>
@@ -2504,27 +2504,27 @@ Procesando algoritmo {0}/{1}…</translation>
     </message>
     <message>
         <source>Removing features...</source>
-        <translation type="vanished">Eliminando objetos...</translation>
+        <translation>Eliminando objetos...</translation>
     </message>
     <message>
         <source>Dissolving Delaunay triangles...</source>
-        <translation type="vanished">Disolviendo triángulos de Delaunay...</translation>
+        <translation>Disolviendo triángulos de Delaunay...</translation>
     </message>
     <message>
         <source>Saving data...</source>
-        <translation type="vanished">Guardando datos...</translation>
+        <translation>Guardando datos...</translation>
     </message>
 </context>
 <context>
     <name>ConfigDialog</name>
     <message>
         <source>Search...</source>
-        <translation type="vanished">Buscar...</translation>
+        <translation>Buscar...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="334"/>
         <source>Search…</source>
-        <translation type="unfinished"></translation>
+        <translation>Buscar…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="335"/>
@@ -2577,7 +2577,7 @@ Procesando algoritmo {0}/{1}…</translation>
     </message>
     <message>
         <source>Menus (requires restart)</source>
-        <translation type="vanished">Menús (requiere reiniciar)</translation>
+        <translation>Menús (requiere reiniciar)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="343"/>
@@ -2588,7 +2588,7 @@ Procesando algoritmo {0}/{1}…</translation>
         <source>Wrong value for parameter "%s":
 
 %s</source>
-        <translation type="vanished">Valor incorrecto para el parámetro "%s":
+        <translation>Valor incorrecto para el parámetro "%s":
 
 %s</translation>
     </message>
@@ -2597,35 +2597,35 @@ Procesando algoritmo {0}/{1}…</translation>
     <name>ConvexHull</name>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Field (optional, only used if creating convex hulls by classes)</source>
-        <translation type="vanished">Campo (opcional, solo usado si se están creando envolventes convexas por clases)</translation>
+        <translation>Campo (opcional, solo usado si se están creando envolventes convexas por clases)</translation>
     </message>
     <message>
         <source>Method</source>
-        <translation type="vanished">Método</translation>
+        <translation>Método</translation>
     </message>
     <message>
         <source>Convex hull</source>
-        <translation type="vanished">Envolvente convexa</translation>
+        <translation>Envolvente convexa</translation>
     </message>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Create single minimum convex hull</source>
-        <translation type="vanished">Crear envolvente convexa mínima única</translation>
+        <translation>Crear envolvente convexa mínima única</translation>
     </message>
     <message>
         <source>Create convex hulls based on field</source>
-        <translation type="vanished">Crear envolventes convexas basadas en campo</translation>
+        <translation>Crear envolventes convexas basadas en campo</translation>
     </message>
     <message>
         <source>Exception while computing convex hull</source>
-        <translation type="vanished">Excepción al procesar envolvente convexa</translation>
+        <translation>Excepción al procesar envolvente convexa</translation>
     </message>
 </context>
 <context>
@@ -2688,35 +2688,35 @@ Procesando algoritmo {0}/{1}…</translation>
     <name>Cover</name>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Input LAS layer</source>
-        <translation type="vanished">Capa LAS de entrada</translation>
+        <translation>Capa LAS de entrada</translation>
     </message>
     <message>
         <source>Input ground DTM layer</source>
-        <translation type="vanished">Capa DTM de terreno de entrada</translation>
+        <translation>Capa DTM de terreno de entrada</translation>
     </message>
     <message>
         <source>Cellsize</source>
-        <translation type="vanished">Tamaño de celda</translation>
+        <translation>Tamaño de celda</translation>
     </message>
     <message>
         <source>Heightbreak</source>
-        <translation type="vanished">Paso de altura</translation>
+        <translation>Paso de altura</translation>
     </message>
     <message>
         <source>XY Units</source>
-        <translation type="vanished">Unidades XY</translation>
+        <translation>Unidades XY</translation>
     </message>
     <message>
         <source>Z Units</source>
-        <translation type="vanished">Unidades Z</translation>
+        <translation>Unidades Z</translation>
     </message>
     <message>
         <source>Cover</source>
-        <translation type="vanished">Cubrir</translation>
+        <translation>Cubrir</translation>
     </message>
 </context>
 <context>
@@ -2771,7 +2771,7 @@ Procesando algoritmo {0}/{1}…</translation>
     </message>
     <message>
         <source>Reference layer</source>
-        <translation type="vanished">Capa de referencia</translation>
+        <translation>Capa de referencia</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="360"/>
@@ -2808,12 +2808,12 @@ Procesando algoritmo {0}/{1}…</translation>
     <name>CreateNewModelAction</name>
     <message>
         <source>Create new model</source>
-        <translation type="vanished">Crear modelo nuevo</translation>
+        <translation>Crear modelo nuevo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="369"/>
         <source>Create New Model…</source>
-        <translation type="unfinished"></translation>
+        <translation>Crear modelo nuevo…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="370"/>
@@ -2825,12 +2825,12 @@ Procesando algoritmo {0}/{1}…</translation>
     <name>CreateNewScriptAction</name>
     <message>
         <source>Create new script</source>
-        <translation type="vanished">Crear script nuevo</translation>
+        <translation>Crear script nuevo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="374"/>
         <source>Create New Script…</source>
-        <translation type="unfinished"></translation>
+        <translation>Crear script nuevo…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="375"/>
@@ -2850,23 +2850,23 @@ Procesando algoritmo {0}/{1}…</translation>
     <name>Csv2Grid</name>
     <message>
         <source>Csv2Grid</source>
-        <translation type="vanished">CsvAGrid</translation>
+        <translation>CsvAGrid</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>CSV Files</source>
-        <translation type="vanished">Archivos CSV</translation>
+        <translation>Archivos CSV</translation>
     </message>
     <message>
         <source>Column</source>
-        <translation type="vanished">Columna</translation>
+        <translation>Columna</translation>
     </message>
     <message>
         <source>Raster Output file</source>
-        <translation type="vanished">Archivo ráster de salida</translation>
+        <translation>Archivo ráster de salida</translation>
     </message>
 </context>
 <context>
@@ -2944,21 +2944,21 @@ Procesando algoritmo {0}/{1}…</translation>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="24"/>
         <source>&SQL Window</source>
-        <translation type="unfinished"></translation>
+        <translation>Ventana &SQL</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="26"/>
         <source>&Import Layer/File…</source>
-        <translation type="unfinished"></translation>
+        <translation>&Importar capa/archivo…</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="27"/>
         <source>&Export to File…</source>
-        <translation type="unfinished"></translation>
+        <translation>&Exportar a archivo…</translation>
     </message>
     <message>
         <source>&SQL window</source>
-        <translation type="vanished">Ventana &SQL</translation>
+        <translation>Ventana &SQL</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="25"/>
@@ -2967,11 +2967,11 @@ Procesando algoritmo {0}/{1}…</translation>
     </message>
     <message>
         <source>&Import layer/file</source>
-        <translation type="vanished">&Importar capa/archivo</translation>
+        <translation>&Importar capa/archivo</translation>
     </message>
     <message>
         <source>&Export to file</source>
-        <translation type="vanished">&Exportar a archivo</translation>
+        <translation>&Exportar a archivo</translation>
     </message>
 </context>
 <context>
@@ -2998,7 +2998,7 @@ Procesando algoritmo {0}/{1}…</translation>
     </message>
     <message>
         <source>Select a table for editation.</source>
-        <translation type="vanished">Seleccionar una tabla para editar.</translation>
+        <translation>Seleccionar una tabla para editar.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="56"/>
@@ -3210,7 +3210,7 @@ Esta tabla es esencial para muchas aplicaciones SIG para enumerar las tablas.</t
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="113"/>
         <source>&Delete (Empty) Schema…</source>
-        <translation type="unfinished"></translation>
+        <translation>&Borrar esquema (vacío)…</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="154"/>
@@ -3270,47 +3270,47 @@ Esta tabla es esencial para muchas aplicaciones SIG para enumerar las tablas.</t
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="39"/>
         <source>&Create Schema…</source>
-        <translation type="unfinished"></translation>
+        <translation>&Crear esquema…</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="41"/>
         <source>&Delete (Empty) Schema</source>
-        <translation type="unfinished"></translation>
+        <translation>&Borrar esquema (vacío)</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="42"/>
         <source>Delete Selected Item</source>
-        <translation type="unfinished"></translation>
+        <translation>Borrar elemento seleccionado</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="43"/>
         <source>&Create Table…</source>
-        <translation type="unfinished"></translation>
+        <translation>&Crear tabla…</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="45"/>
         <source>&Edit Table…</source>
-        <translation type="unfinished"></translation>
+        <translation>&Editar tabla…</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="46"/>
         <source>&Delete Table/View…</source>
-        <translation type="unfinished"></translation>
+        <translation>&Borrar tabla/vista…</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="47"/>
         <source>&Empty Table…</source>
-        <translation type="unfinished"></translation>
+        <translation>&Vaciar tabla…</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="48"/>
         <source>&Move to Schema</source>
-        <translation type="unfinished"></translation>
+        <translation>&Mover a esquema</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="73"/>
         <source>&Change Logging…</source>
-        <translation type="unfinished"></translation>
+        <translation>&Registro de cambios…</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="83"/>
@@ -3408,7 +3408,7 @@ Esta tabla es esencial muchas aplicaciones SIG para la numeración de tablas.</t
     </message>
     <message>
         <source>&Versioning</source>
-        <translation type="vanished">&Versionado</translation>
+        <translation>&Versionado</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="44"/>
@@ -3433,7 +3433,7 @@ Esta tabla es esencial muchas aplicaciones SIG para la numeración de tablas.</t
     <message>
         <source>Error:
 %s</source>
-        <translation type="vanished">Error:
+        <translation>Error:
 %s</translation>
     </message>
     <message>
@@ -3441,7 +3441,7 @@ Esta tabla es esencial muchas aplicaciones SIG para la numeración de tablas.</t
 
 Query:
 %s</source>
-        <translation type="vanished">
+        <translation>
 
 Consulta:
 %s</translation>
@@ -3458,7 +3458,7 @@ Consulta:
     </message>
     <message>
         <source>&Create schema</source>
-        <translation type="vanished">&Crear esquema</translation>
+        <translation>&Crear esquema</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="40"/>
@@ -3467,31 +3467,31 @@ Consulta:
     </message>
     <message>
         <source>&Delete (empty) schema</source>
-        <translation type="vanished">&Borrar esquema (vacío)</translation>
+        <translation>&Borrar esquema (vacío)</translation>
     </message>
     <message>
         <source>Delete selected item</source>
-        <translation type="vanished">Borrar elemento seleccionado</translation>
+        <translation>Borrar elemento seleccionado</translation>
     </message>
     <message>
         <source>&Create table</source>
-        <translation type="vanished">&Crear tabla</translation>
+        <translation>&Crear tabla</translation>
     </message>
     <message>
         <source>&Edit table</source>
-        <translation type="vanished">&Editar tabla</translation>
+        <translation>&Editar tabla</translation>
     </message>
     <message>
         <source>&Delete table/view</source>
-        <translation type="vanished">&Borrar tabla/vista</translation>
+        <translation>&Borrar tabla/vista</translation>
     </message>
     <message>
         <source>&Empty table</source>
-        <translation type="vanished">&Vaciar tabla</translation>
+        <translation>&Vaciar tabla</translation>
     </message>
     <message>
         <source>&Move to schema</source>
-        <translation type="vanished">&Mover a esquema</translation>
+        <translation>&Mover a esquema</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="49"/>
@@ -3515,11 +3515,11 @@ Consulta:
     </message>
     <message>
         <source>hey!</source>
-        <translation type="vanished">¡eh!</translation>
+        <translation>¡eh!</translation>
     </message>
     <message>
         <source>Really remove connection to %s?</source>
-        <translation type="vanished">¿Eliminar realmente la conexión con %s?</translation>
+        <translation>¿Eliminar realmente la conexión con %s?</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="62"/>
@@ -3792,15 +3792,15 @@ Consulta:
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="179"/>
         <source>Update SQL Layer…</source>
-        <translation type="unfinished"></translation>
+        <translation>Actualizar capa SQL…</translation>
     </message>
     <message>
         <source>Update Sql Layer</source>
-        <translation type="vanished">Actualizar capa SQL</translation>
+        <translation>Actualizar capa SQL</translation>
     </message>
     <message>
         <source>QGis Geometry type:</source>
-        <translation type="vanished">Tipo de geometría de QGIS:</translation>
+        <translation>Tipo de geometría de QGIS:</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="162"/>
@@ -3830,30 +3830,30 @@ Consulta:
     <name>DBTree</name>
     <message>
         <source>Rename</source>
-        <translation type="vanished">Cambiar el nombre</translation>
+        <translation>Cambiar el nombre</translation>
     </message>
     <message>
         <source>Delete</source>
-        <translation type="vanished">Borrar</translation>
+        <translation>Borrar</translation>
     </message>
     <message>
         <source>Add to canvas</source>
-        <translation type="vanished">Añadir al lienzo</translation>
+        <translation>Añadir al lienzo</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="189"/>
         <source>Rename…</source>
-        <translation type="unfinished"></translation>
+        <translation>Cambiar nombre…</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="190"/>
         <source>Delete…</source>
-        <translation type="unfinished"></translation>
+        <translation>Borrar…</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="191"/>
         <source>Add to Canvas</source>
-        <translation type="unfinished"></translation>
+        <translation>Añadir al lienzo</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="192"/>
@@ -3868,11 +3868,11 @@ Consulta:
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="194"/>
         <source>New Connection…</source>
-        <translation type="unfinished"></translation>
+        <translation>Conexión nueva…</translation>
     </message>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="195"/>
@@ -3889,41 +3889,41 @@ Consulta:
     <name>DTM2ASCII</name>
     <message>
         <source>DTM to ASCII</source>
-        <translation type="vanished">MDT a ASCII</translation>
+        <translation>MDT a ASCII</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Output format</source>
-        <translation type="vanished">Formato de salida</translation>
+        <translation>Formato de salida</translation>
     </message>
 </context>
 <context>
     <name>DTM2TIF</name>
     <message>
         <source>DTM to TIF</source>
-        <translation type="vanished">MDT a TIF</translation>
+        <translation>MDT a TIF</translation>
     </message>
     <message>
         <source>Conversion</source>
-        <translation type="vanished">Conversión</translation>
+        <translation>Conversión</translation>
     </message>
     <message>
         <source>Input .dtm layer</source>
-        <translation type="vanished">Capa .dtm de entrada</translation>
+        <translation>Capa .dtm de entrada</translation>
     </message>
     <message>
         <source>Output file name</source>
-        <translation type="vanished">Nombre de archivo de salida</translation>
+        <translation>Nombre de archivo de salida</translation>
     </message>
 </context>
 <context>
     <name>Datasources2Vrt</name>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="383"/>
@@ -3942,19 +3942,19 @@ Consulta:
     </message>
     <message>
         <source>Invalid datasource: {}</source>
-        <translation type="vanished">Fuente de datos no válida: {}</translation>
+        <translation>Fuente de datos no válida: {}</translation>
     </message>
     <message>
         <source>Virtual vector</source>
-        <translation type="vanished">Vectorial virtual</translation>
+        <translation>Vectorial virtual</translation>
     </message>
     <message>
         <source>Virtual string</source>
-        <translation type="vanished">Cadena virtual</translation>
+        <translation>Cadena virtual</translation>
     </message>
     <message>
         <source>Build virtual vector</source>
-        <translation type="vanished">Construir vectorial virtual</translation>
+        <translation>Construir vectorial virtual</translation>
     </message>
 </context>
 <context>
@@ -4142,15 +4142,15 @@ Consulta:
     </message>
     <message>
         <source>An error occurred:</source>
-        <translation type="vanished">Ocurrió un error:</translation>
+        <translation>Ocurrió un error:</translation>
     </message>
     <message>
         <source>An error occurred when executing a query:</source>
-        <translation type="vanished">Ocurrió un error al ejecutar una consulta:</translation>
+        <translation>Ocurrió un error al ejecutar una consulta:</translation>
     </message>
     <message>
         <source>Query:</source>
-        <translation type="vanished">Consulta:</translation>
+        <translation>Consulta:</translation>
     </message>
 </context>
 <context>
@@ -4163,7 +4163,7 @@ Consulta:
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgExportVector.ui" line="46"/>
@@ -4269,7 +4269,7 @@ Consulta:
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgImportVector.ui" line="36"/>
@@ -4372,7 +4372,7 @@ Consulta:
     <name>DbManagerDlgSqlLayerWindow</name>
     <message>
         <source>SQL window</source>
-        <translation type="vanished">Ventana SQL</translation>
+        <translation>Ventana SQL</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="58"/>
@@ -4394,7 +4394,7 @@ Consulta:
     </message>
     <message>
         <source>Saved query:</source>
-        <translation type="vanished">Consulta guardada:</translation>
+        <translation>Consulta guardada:</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="114"/>
@@ -4404,7 +4404,7 @@ Consulta:
     </message>
     <message>
         <source>Store</source>
-        <translation type="vanished">Guardar</translation>
+        <translation>Guardar</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="141"/>
@@ -4414,11 +4414,11 @@ Consulta:
     </message>
     <message>
         <source>&Execute (F5)</source>
-        <translation type="vanished">&Ejecutar (F5)</translation>
+        <translation>&Ejecutar (F5)</translation>
     </message>
     <message>
         <source>F5</source>
-        <translation type="vanished">F5</translation>
+        <translation>F5</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="188"/>
@@ -4452,13 +4452,13 @@ columnas</translation>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="14"/>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="285"/>
         <source>SQL Window</source>
-        <translation type="unfinished"></translation>
+        <translation>Ventana SQL</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="97"/>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="291"/>
         <source>Saved query</source>
-        <translation type="unfinished"></translation>
+        <translation>Consulta guardada</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="134"/>
@@ -4470,7 +4470,7 @@ columnas</translation>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="155"/>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="295"/>
         <source>Execute query (Ctrl+R)</source>
-        <translation type="unfinished"></translation>
+        <translation>Ejecutar consulta (Ctrl+R)</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlLayerWindow.ui" line="158"/>
@@ -4519,7 +4519,7 @@ columnas</translation>
     <name>DbManagerDlgSqlWindow</name>
     <message>
         <source>SQL window</source>
-        <translation type="vanished">Ventana SQL</translation>
+        <translation>Ventana SQL</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="175"/>
@@ -4537,7 +4537,7 @@ valores únicos</translation>
     </message>
     <message>
         <source>Store</source>
-        <translation type="vanished">Guardar</translation>
+        <translation>Guardar</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="312"/>
@@ -4547,11 +4547,11 @@ valores únicos</translation>
     </message>
     <message>
         <source>&Execute (F5)</source>
-        <translation type="vanished">&Ejecutar (F5)</translation>
+        <translation>&Ejecutar (F5)</translation>
     </message>
     <message>
         <source>F5</source>
-        <translation type="vanished">F5</translation>
+        <translation>F5</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="346"/>
@@ -4589,7 +4589,7 @@ columnas</translation>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="20"/>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="308"/>
         <source>SQL Window</source>
-        <translation type="unfinished"></translation>
+        <translation>Ventana SQL</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="90"/>
@@ -4625,7 +4625,7 @@ columnas</translation>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="268"/>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="321"/>
         <source>Saved query</source>
-        <translation type="unfinished"></translation>
+        <translation>Consulta guardada</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="305"/>
@@ -4637,7 +4637,7 @@ columnas</translation>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="326"/>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="325"/>
         <source>Execute query (Ctrl+R)</source>
-        <translation type="unfinished"></translation>
+        <translation>Ejecutar consulta (Ctrl+R)</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="329"/>
@@ -4653,7 +4653,7 @@ columnas</translation>
     </message>
     <message>
         <source>Load now!</source>
-        <translation type="vanished">¡Cargar ahora!</translation>
+        <translation>¡Cargar ahora!</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="97"/>
@@ -4669,7 +4669,7 @@ columnas</translation>
     </message>
     <message>
         <source>Saved query:</source>
-        <translation type="vanished">Consulta guardada:</translation>
+        <translation>Consulta guardada:</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgSqlWindow.ui" line="285"/>
@@ -4781,7 +4781,7 @@ columnas</translation>
     <name>DbManagerQueryBuilderDlg</name>
     <message>
         <source>SQL query builder</source>
-        <translation type="vanished">Constructor de consultas SQL</translation>
+        <translation>Constructor de consultas SQL</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="33"/>
@@ -4793,11 +4793,11 @@ columnas</translation>
     </message>
     <message>
         <source>Tables     </source>
-        <translation type="vanished">Tablas</translation>
+        <translation>Tablas</translation>
     </message>
     <message>
         <source>Where    </source>
-        <translation type="vanished">Donde</translation>
+        <translation>Donde</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="118"/>
@@ -4834,7 +4834,7 @@ columnas</translation>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="14"/>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="352"/>
         <source>SQL Query Builder</source>
-        <translation type="unfinished"></translation>
+        <translation>Constructor de consultas SQL</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/ui/DlgQueryBuilder.ui" line="111"/>
@@ -4924,7 +4924,7 @@ columnas</translation>
     </message>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="389"/>
@@ -4961,7 +4961,7 @@ columnas</translation>
     </message>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="399"/>
@@ -4973,23 +4973,23 @@ columnas</translation>
     <name>DeleteColumn</name>
     <message>
         <source>Vector table tools</source>
-        <translation type="vanished">Herramientas de tabla de vectorial</translation>
+        <translation>Herramientas de tabla de vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Field to delete</source>
-        <translation type="vanished">Archivo a borrar</translation>
+        <translation>Archivo a borrar</translation>
     </message>
     <message>
         <source>Deleted column</source>
-        <translation type="vanished">Columna borrada</translation>
+        <translation>Columna borrada</translation>
     </message>
     <message>
         <source>Delete column</source>
-        <translation type="vanished">Eliminar columna</translation>
+        <translation>Eliminar columna</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="403"/>
@@ -5021,7 +5021,7 @@ columnas</translation>
     <name>DeleteDuplicateGeometries</name>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="411"/>
@@ -5048,11 +5048,11 @@ columnas</translation>
     <name>DeleteHoles</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="418"/>
@@ -5084,36 +5084,36 @@ columnas</translation>
     <name>DeleteModelAction</name>
     <message>
         <source>Delete model</source>
-        <translation type="vanished">Borrar modelo</translation>
+        <translation>Borrar modelo</translation>
     </message>
     <message>
         <source>Confirmation</source>
-        <translation type="vanished">Confirmación</translation>
+        <translation>Confirmación</translation>
     </message>
     <message>
         <source>Are you sure you want to delete this model?</source>
-        <translation type="vanished">¿Está seguro de que quiere borrar este modelo?</translation>
+        <translation>¿Está seguro de que quiere borrar este modelo?</translation>
     </message>
     <message>
         <source>Delete model</source>
         <comment>DeleteModelAction</comment>
-        <translation type="vanished">Borrar modelo</translation>
+        <translation>Borrar modelo</translation>
     </message>
     <message>
         <source>Confirmation</source>
         <comment>DeleteModelAction</comment>
-        <translation type="vanished">Confirmación</translation>
+        <translation>Confirmación</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="426"/>
         <source>Delete Model…</source>
-        <translation type="unfinished"></translation>
+        <translation>Borrar modelo…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="427"/>
         <source>Delete Model</source>
         <comment>DeleteModelAction</comment>
-        <translation type="unfinished"></translation>
+        <translation>Borrar modelo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="428"/>
@@ -5126,36 +5126,36 @@ columnas</translation>
     <name>DeletePreconfiguredAlgorithmAction</name>
     <message>
         <source>Delete preconfigured algorithm</source>
-        <translation type="vanished">Borrar algoritmo preconfigurado</translation>
+        <translation>Borrar algoritmo preconfigurado</translation>
     </message>
     <message>
         <source>Confirmation</source>
-        <translation type="vanished">Confirmación</translation>
+        <translation>Confirmación</translation>
     </message>
     <message>
         <source>Are you sure you want to delete this algorithm?</source>
-        <translation type="vanished">¿Está seguro de que quiere borrar este algoritmo?</translation>
+        <translation>¿Está seguro de que quiere borrar este algoritmo?</translation>
     </message>
     <message>
         <source>Delete preconfigured algorithm</source>
         <comment>DeletePreconfiguredAlgorithmAction</comment>
-        <translation type="vanished">Borrar algoritmo preconfigurado</translation>
+        <translation>Borrar algoritmo preconfigurado</translation>
     </message>
     <message>
         <source>Confirmation</source>
         <comment>DeletePreconfiguredAlgorithmAction</comment>
-        <translation type="vanished">Confirmación</translation>
+        <translation>Confirmación</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="432"/>
         <source>Delete Preconfigured Algorithm…</source>
-        <translation type="unfinished"></translation>
+        <translation>Borrar algoritmo preconfigurado…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="433"/>
         <source>Delete Algorithm</source>
         <comment>DeletePreconfiguredAlgorithmAction</comment>
-        <translation type="unfinished"></translation>
+        <translation>Borrar algritmo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="434"/>
@@ -5168,21 +5168,21 @@ columnas</translation>
     <name>DeleteScriptAction</name>
     <message>
         <source>Delete script</source>
-        <translation type="vanished">Borrar script</translation>
+        <translation>Borrar script</translation>
     </message>
     <message>
         <source>Confirmation</source>
-        <translation type="vanished">Confirmación</translation>
+        <translation>Confirmación</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="438"/>
         <source>Delete Script…</source>
-        <translation type="unfinished"></translation>
+        <translation>Borrar script…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="439"/>
         <source>Delete Script</source>
-        <translation type="unfinished"></translation>
+        <translation>Borrar script</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="440"/>
@@ -5191,47 +5191,47 @@ columnas</translation>
     </message>
     <message>
         <source>File not found</source>
-        <translation type="vanished">Archivo no encontrado</translation>
+        <translation>Archivo no encontrado</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="441"/>
         <source>Can not find corresponding script file.</source>
-        <translation type="unfinished"></translation>
+        <translation>No se puede encontrar el archivo de script correspondiente.</translation>
     </message>
     <message>
         <source>Delete script</source>
         <comment>DeleteScriptAction</comment>
-        <translation type="vanished">Borrar script</translation>
+        <translation>Borrar script</translation>
     </message>
     <message>
         <source>Confirmation</source>
         <comment>DeleteScriptAction</comment>
-        <translation type="vanished">Confirmación</translation>
+        <translation>Confirmación</translation>
     </message>
     <message>
         <source>Are you sure you want to delete this script?</source>
         <comment>DeleteScriptAction</comment>
-        <translation type="vanished">¿Está seguro de que quiere borrar este script?</translation>
+        <translation>¿Está seguro de que quiere borrar este script?</translation>
     </message>
 </context>
 <context>
     <name>DensifyGeometries</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>add,vertices,points</source>
-        <translation type="vanished">añadir,vértices,puntos</translation>
+        <translation>añadir,vértices,puntos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="445"/>
         <source>add,vertex,vertices,points,nodes</source>
-        <translation type="unfinished"></translation>
+        <translation>añadir,vértice,vértices,puntos,nodos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="446"/>
@@ -5246,7 +5246,7 @@ columnas</translation>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="448"/>
         <source>Densify by count</source>
-        <translation type="unfinished"></translation>
+        <translation>Densificar por cuenta</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="449"/>
@@ -5255,23 +5255,23 @@ columnas</translation>
     </message>
     <message>
         <source>Densify geometries</source>
-        <translation type="vanished">Densificar geometrías</translation>
+        <translation>Densificar geometrías</translation>
     </message>
 </context>
 <context>
     <name>DensifyGeometriesInterval</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="453"/>
         <source>add,vertex,vertices,points,nodes</source>
-        <translation type="unfinished"></translation>
+        <translation>añadir,vértice,vértices,puntos,nodos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="454"/>
@@ -5286,7 +5286,7 @@ columnas</translation>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="456"/>
         <source>Densify by interval</source>
-        <translation type="unfinished"></translation>
+        <translation>Densificar por intervalo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="457"/>
@@ -5295,26 +5295,26 @@ columnas</translation>
     </message>
     <message>
         <source>Densify geometries given an interval</source>
-        <translation type="vanished">Densificar geometrías dado un intervalo</translation>
+        <translation>Densificar geometrías dado un intervalo</translation>
     </message>
 </context>
 <context>
     <name>DesignerTree</name>
     <message>
         <source>Configure container</source>
-        <translation type="vanished">Configurar contenedor</translation>
+        <translation>Configurar contenedor</translation>
     </message>
     <message>
         <source>Title</source>
-        <translation type="vanished">Título</translation>
+        <translation>Título</translation>
     </message>
     <message>
         <source>Column count</source>
-        <translation type="vanished">Número de columnas</translation>
+        <translation>Número de columnas</translation>
     </message>
     <message>
         <source>Show as group box</source>
-        <translation type="vanished">Mostrar como caja de grupo</translation>
+        <translation>Mostrar como caja de grupo</translation>
     </message>
 </context>
 <context>
@@ -5336,66 +5336,66 @@ columnas</translation>
     </message>
     <message>
         <source>Skip output</source>
-        <translation type="vanished">Omitir salida</translation>
+        <translation>Omitir salida</translation>
     </message>
     <message>
         <source>Create temporary layer</source>
-        <translation type="vanished">Crear capa temporal</translation>
+        <translation>Crear capa temporal</translation>
     </message>
     <message>
         <source>Save to a temporary file</source>
-        <translation type="vanished">Guardar en archivo temporal</translation>
+        <translation>Guardar en archivo temporal</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="468"/>
         <source>Save to GeoPackage…</source>
-        <translation type="unfinished"></translation>
+        <translation>Guardar en GeoPackage…</translation>
     </message>
     <message>
         <source>Save to file...</source>
-        <translation type="vanished">Guardar en archivo...</translation>
+        <translation>Guardar en archivo...</translation>
     </message>
     <message>
         <source>Save to GeoPackage...</source>
-        <translation type="vanished">Guardar en GeoPackage...</translation>
+        <translation>Guardar en GeoPackage...</translation>
     </message>
     <message>
         <source>Save to PostGIS table...</source>
-        <translation type="vanished">Guardar en tabla de PostGIS...</translation>
+        <translation>Guardar en tabla de PostGIS...</translation>
     </message>
     <message>
         <source>Change file encoding ({})...</source>
-        <translation type="vanished">Cambiar codificación de archivo ({})...</translation>
+        <translation>Cambiar codificación de archivo ({})...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="464"/>
         <source>Skip Output</source>
-        <translation type="unfinished"></translation>
+        <translation>Omitir salida</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="465"/>
         <source>Create Temporary Layer</source>
-        <translation type="unfinished"></translation>
+        <translation>Crear capa temporal</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="466"/>
         <source>Save to a Temporary File</source>
-        <translation type="unfinished"></translation>
+        <translation>Guardar en un archivo temporal</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="467"/>
         <source>Save to File…</source>
-        <translation type="unfinished"></translation>
+        <translation>Guardar a archivo…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="469"/>
         <source>Save to PostGIS Table…</source>
-        <translation type="unfinished"></translation>
+        <translation>Guardar en tabla de PostGIS…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="470"/>
         <source>Change File Encoding ({})…</source>
-        <translation type="unfinished"></translation>
+        <translation>Cambiar codificación de archivo ({})…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="471"/>
@@ -5426,11 +5426,11 @@ columnas</translation>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="476"/>
         <source>Select Directory</source>
-        <translation type="unfinished"></translation>
+        <translation>Seleccionar directorio</translation>
     </message>
     <message>
         <source>Select directory</source>
-        <translation type="vanished">Seleccionar directorio</translation>
+        <translation>Seleccionar directorio</translation>
     </message>
 </context>
 <context>
@@ -5462,7 +5462,7 @@ columnas</translation>
     </message>
     <message>
         <source>Help</source>
-        <translation type="vanished">Ayuda</translation>
+        <translation>Ayuda</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgPostgisTableSelector.ui" line="14"/>
@@ -5484,43 +5484,43 @@ columnas</translation>
     </message>
     <message>
         <source>Script selector</source>
-        <translation type="vanished">Selector de scripts</translation>
+        <translation>Selector de scripts</translation>
     </message>
     <message>
         <source>Scripts to include</source>
-        <translation type="vanished">Scripts a incluir</translation>
+        <translation>Scripts a incluir</translation>
     </message>
     <message>
         <source><a href='#'>All</a></source>
-        <translation type="vanished"><a href='#'>Todos</a></translation>
+        <translation><a href='#'>Todos</a></translation>
     </message>
     <message>
         <source><a href='#'>None</a></source>
-        <translation type="vanished"><a href='#'>Ninguno</a></translation>
+        <translation><a href='#'>Ninguno</a></translation>
     </message>
     <message>
         <source>Plugin name</source>
-        <translation type="vanished">Nombre del complemento</translation>
+        <translation>Nombre del complemento</translation>
     </message>
     <message>
         <source>Plugin description</source>
-        <translation type="vanished">Descripción del complemento</translation>
+        <translation>Descripción del complemento</translation>
     </message>
     <message>
         <source>Author's name</source>
-        <translation type="vanished">Nombre del autor</translation>
+        <translation>Nombre del autor</translation>
     </message>
     <message>
         <source>Author's email</source>
-        <translation type="vanished">Correo electrónico del autor</translation>
+        <translation>Correo electrónico del autor</translation>
     </message>
     <message>
         <source>Output folder</source>
-        <translation type="vanished">Carpeta de salida</translation>
+        <translation>Carpeta de salida</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/AddNewExpressionDialog.ui" line="14"/>
@@ -5572,23 +5572,23 @@ columnas</translation>
     </message>
     <message>
         <source>Ignore invalid input features</source>
-        <translation type="vanished">Ignorar objetos de entrada no válidos</translation>
+        <translation>Ignorar objetos de entrada no válidos</translation>
     </message>
     <message>
         <source>Feature with NULL geometry found.</source>
-        <translation type="vanished">Encontrado objeto con geometría NULA.</translation>
+        <translation>Encontrado objeto con geometría NULA.</translation>
     </message>
     <message>
         <source>GEOS geoprocessing error: One or more input features have invalid geometry.</source>
-        <translation type="vanished">Error de geoprocesamiento de GEOS: uno o más objetos de entrada tienen geometrías no válidas.</translation>
+        <translation>Error de geoprocesamiento de GEOS: uno o más objetos de entrada tienen geometrías no válidas.</translation>
     </message>
     <message>
         <source>Features with invalid geometries found. Please fix these errors or specify the "Ignore invalid input features" flag</source>
-        <translation type="vanished">Se han encontrado objetos con geometría no válida. Por favor, corrija estos errores o especifique la etiqueta "Ignorar objetos de entrada no válidso".</translation>
+        <translation>Se han encontrado objetos con geometría no válida. Por favor, corrija estos errores o especifique la etiqueta "Ignorar objetos de entrada no válidso".</translation>
     </message>
     <message>
         <source>Feature geometry error: One or more output features ignored due to invalid geometry.</source>
-        <translation type="vanished">Error de geometría de objeto: uno o más objetos de salida fueron ignorados por geometría no válida.</translation>
+        <translation>Error de geometría de objeto: uno o más objetos de salida fueron ignorados por geometría no válida.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="498"/>
@@ -5597,379 +5597,379 @@ columnas</translation>
     </message>
     <message>
         <source>Vector overlay tools</source>
-        <translation type="vanished">Herramientas de superposición vectorial</translation>
+        <translation>Herramientas de superposición vectorial</translation>
     </message>
 </context>
 <context>
     <name>DinfDistDown</name>
     <message>
         <source>D-Infinity Distance Down</source>
-        <translation type="vanished">Distancia abajo de D-infinity</translation>
+        <translation>Distancia abajo de D-infinity</translation>
     </message>
     <message>
         <source>Specialized Grid Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de cuadrícula especializadas</translation>
+        <translation>Herramientas de análisis de cuadrícula especializadas</translation>
     </message>
     <message>
         <source>D-Infinity Flow Direction Grid</source>
-        <translation type="vanished">Cuadrícula de dirección de flujo D-Infinity</translation>
+        <translation>Cuadrícula de dirección de flujo D-Infinity</translation>
     </message>
     <message>
         <source>Pit Filled Elevation Grid</source>
-        <translation type="vanished">Cuadrícula de elevación rellena de pozas</translation>
+        <translation>Cuadrícula de elevación rellena de pozas</translation>
     </message>
     <message>
         <source>Stream Raster Grid</source>
-        <translation type="vanished">Cuadrícula ráster de corriente</translation>
+        <translation>Cuadrícula ráster de corriente</translation>
     </message>
     <message>
         <source>Weight Path Grid</source>
-        <translation type="vanished">Cuadrícula de ruta de peso</translation>
+        <translation>Cuadrícula de ruta de peso</translation>
     </message>
     <message>
         <source>Statistical Method</source>
-        <translation type="vanished">Método estadístico</translation>
+        <translation>Método estadístico</translation>
     </message>
     <message>
         <source>Distance Method</source>
-        <translation type="vanished">Método de distancia</translation>
+        <translation>Método de distancia</translation>
     </message>
     <message>
         <source>Check for edge contamination</source>
-        <translation type="vanished">Comprobar contaminación de borde</translation>
+        <translation>Comprobar contaminación de borde</translation>
     </message>
     <message>
         <source>D-Infinity Drop to Stream Grid</source>
-        <translation type="vanished">Análisis de descenso de corriente (multiarchivo)</translation>
+        <translation>Análisis de descenso de corriente (multiarchivo)</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>DinfDistDownMulti</name>
     <message>
         <source>D-Infinity Distance Down (multifile)</source>
-        <translation type="vanished">Distancia abajo de D-infinity (multiarchivo)</translation>
+        <translation>Distancia abajo de D-infinity (multiarchivo)</translation>
     </message>
     <message>
         <source>Specialized Grid Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de cuadrícula especializadas</translation>
+        <translation>Herramientas de análisis de cuadrícula especializadas</translation>
     </message>
     <message>
         <source>D-Infinity Flow Direction Grid</source>
-        <translation type="vanished">Cuadrícula de dirección de flujo D-Infinity</translation>
+        <translation>Cuadrícula de dirección de flujo D-Infinity</translation>
     </message>
     <message>
         <source>Pit Filled Elevation Grid</source>
-        <translation type="vanished">Cuadrícula de elevación rellena de pozas</translation>
+        <translation>Cuadrícula de elevación rellena de pozas</translation>
     </message>
     <message>
         <source>Stream Raster Grid</source>
-        <translation type="vanished">Cuadrícula ráster de corriente</translation>
+        <translation>Cuadrícula ráster de corriente</translation>
     </message>
     <message>
         <source>Weight Path Grid</source>
-        <translation type="vanished">Cuadrícula de ruta de peso</translation>
+        <translation>Cuadrícula de ruta de peso</translation>
     </message>
     <message>
         <source>Statistical Method</source>
-        <translation type="vanished">Método estadístico</translation>
+        <translation>Método estadístico</translation>
     </message>
     <message>
         <source>Distance Method</source>
-        <translation type="vanished">Método de distancia</translation>
+        <translation>Método de distancia</translation>
     </message>
     <message>
         <source>Check for edge contamination</source>
-        <translation type="vanished">Comprobar contaminación de borde</translation>
+        <translation>Comprobar contaminación de borde</translation>
     </message>
     <message>
         <source>D-Infinity Drop to Stream Grid</source>
-        <translation type="vanished">Análisis de descenso de corriente (multiarchivo)</translation>
+        <translation>Análisis de descenso de corriente (multiarchivo)</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>DinfDistUp</name>
     <message>
         <source>D-Infinity Flow Direction Grid</source>
-        <translation type="vanished">Cuadrícula de dirección de flujo D-Infinity</translation>
+        <translation>Cuadrícula de dirección de flujo D-Infinity</translation>
     </message>
     <message>
         <source>Pit Filled Elevation Grid</source>
-        <translation type="vanished">Cuadrícula de elevación rellena de pozas</translation>
+        <translation>Cuadrícula de elevación rellena de pozas</translation>
     </message>
     <message>
         <source>Slope Grid</source>
-        <translation type="vanished">Cuadrícula de pendiente</translation>
+        <translation>Cuadrícula de pendiente</translation>
     </message>
     <message>
         <source>Statistical Method</source>
-        <translation type="vanished">Método estadístico</translation>
+        <translation>Método estadístico</translation>
     </message>
     <message>
         <source>Distance Method</source>
-        <translation type="vanished">Método de distancia</translation>
+        <translation>Método de distancia</translation>
     </message>
     <message>
         <source>Proportion Threshold</source>
-        <translation type="vanished">Umbral de proporción</translation>
+        <translation>Umbral de proporción</translation>
     </message>
     <message>
         <source>Check for edge contamination</source>
-        <translation type="vanished">Comprobar contaminación de borde</translation>
+        <translation>Comprobar contaminación de borde</translation>
     </message>
     <message>
         <source>D-Infinity Distance Up</source>
-        <translation type="vanished">Distancia arriba de D-infinity</translation>
+        <translation>Distancia arriba de D-infinity</translation>
     </message>
     <message>
         <source>Specialized Grid Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de cuadrícula especializadas</translation>
+        <translation>Herramientas de análisis de cuadrícula especializadas</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>DinfDistUpMulti</name>
     <message>
         <source>D-Infinity Distance Up (multifile)</source>
-        <translation type="vanished">Distancia arriba de D-infinity (multiarchivo)</translation>
+        <translation>Distancia arriba de D-infinity (multiarchivo)</translation>
     </message>
     <message>
         <source>Specialized Grid Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de cuadrícula especializadas</translation>
+        <translation>Herramientas de análisis de cuadrícula especializadas</translation>
     </message>
     <message>
         <source>D-Infinity Flow Direction Grid</source>
-        <translation type="vanished">Cuadrícula de dirección de flujo D-Infinity</translation>
+        <translation>Cuadrícula de dirección de flujo D-Infinity</translation>
     </message>
     <message>
         <source>Pit Filled Elevation Grid</source>
-        <translation type="vanished">Cuadrícula de elevación rellena de pozas</translation>
+        <translation>Cuadrícula de elevación rellena de pozas</translation>
     </message>
     <message>
         <source>Slope Grid</source>
-        <translation type="vanished">Cuadrícula de pendiente</translation>
+        <translation>Cuadrícula de pendiente</translation>
     </message>
     <message>
         <source>Statistical Method</source>
-        <translation type="vanished">Método estadístico</translation>
+        <translation>Método estadístico</translation>
     </message>
     <message>
         <source>Distance Method</source>
-        <translation type="vanished">Método de distancia</translation>
+        <translation>Método de distancia</translation>
     </message>
     <message>
         <source>Proportion Threshold</source>
-        <translation type="vanished">Umbral de proporción</translation>
+        <translation>Umbral de proporción</translation>
     </message>
     <message>
         <source>Check for edge contamination</source>
-        <translation type="vanished">Comprobar contaminación de borde</translation>
+        <translation>Comprobar contaminación de borde</translation>
     </message>
     <message>
         <source>D-Infinity Distance Up</source>
-        <translation type="vanished">Distancia arriba de D-infinity</translation>
+        <translation>Distancia arriba de D-infinity</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>DinfTransLimAccum</name>
     <message>
         <source>D-Infinity Transport Limited Accumulation</source>
-        <translation type="vanished">Acumulación limitada de transporte D-Infinity</translation>
+        <translation>Acumulación limitada de transporte D-Infinity</translation>
     </message>
     <message>
         <source>Specialized Grid Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de cuadrícula especializadas</translation>
+        <translation>Herramientas de análisis de cuadrícula especializadas</translation>
     </message>
     <message>
         <source>D-Infinity Flow Direction Grid</source>
-        <translation type="vanished">Cuadrícula de dirección de flujo D-Infinity</translation>
+        <translation>Cuadrícula de dirección de flujo D-Infinity</translation>
     </message>
     <message>
         <source>Supply Grid</source>
-        <translation type="vanished">Proporcionar cuadrícula</translation>
+        <translation>Proporcionar cuadrícula</translation>
     </message>
     <message>
         <source>Transport Capacity Grid</source>
-        <translation type="vanished">Cuadrícula de capacidad de transporte</translation>
+        <translation>Cuadrícula de capacidad de transporte</translation>
     </message>
     <message>
         <source>Outlets Shapefile</source>
-        <translation type="vanished">Archivo shape de desagúes</translation>
+        <translation>Archivo shape de desagúes</translation>
     </message>
     <message>
         <source>Check for edge contamination</source>
-        <translation type="vanished">Comprobar contaminación de borde</translation>
+        <translation>Comprobar contaminación de borde</translation>
     </message>
     <message>
         <source>Transport Limited Accumulation Grid</source>
-        <translation type="vanished">Cuadrícula de acumulación limitada de transporte</translation>
+        <translation>Cuadrícula de acumulación limitada de transporte</translation>
     </message>
     <message>
         <source>Deposition Grid</source>
-        <translation type="vanished">Cuadrícula de deposición</translation>
+        <translation>Cuadrícula de deposición</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>DinfTransLimAccum2</name>
     <message>
         <source>D-Infinity Transport Limited Accumulation - 2</source>
-        <translation type="vanished">Acumulación limitada de transporte D-Infinity - 2</translation>
+        <translation>Acumulación limitada de transporte D-Infinity - 2</translation>
     </message>
     <message>
         <source>Specialized Grid Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de cuadrícula especializadas</translation>
+        <translation>Herramientas de análisis de cuadrícula especializadas</translation>
     </message>
     <message>
         <source>D-Infinity Flow Direction Grid</source>
-        <translation type="vanished">Cuadrícula de dirección de flujo D-Infinity</translation>
+        <translation>Cuadrícula de dirección de flujo D-Infinity</translation>
     </message>
     <message>
         <source>Supply Grid</source>
-        <translation type="vanished">Proporcionar cuadrícula</translation>
+        <translation>Proporcionar cuadrícula</translation>
     </message>
     <message>
         <source>Transport Capacity Grid</source>
-        <translation type="vanished">Cuadrícula de capacidad de transporte</translation>
+        <translation>Cuadrícula de capacidad de transporte</translation>
     </message>
     <message>
         <source>Input Concentration Grid</source>
-        <translation type="vanished">Cuadrícula de concentración de entrada</translation>
+        <translation>Cuadrícula de concentración de entrada</translation>
     </message>
     <message>
         <source>Outlets Shapefile</source>
-        <translation type="vanished">Archivo shape de desagúes</translation>
+        <translation>Archivo shape de desagúes</translation>
     </message>
     <message>
         <source>Check for edge contamination</source>
-        <translation type="vanished">Comprobar contaminación de borde</translation>
+        <translation>Comprobar contaminación de borde</translation>
     </message>
     <message>
         <source>Transport Limited Accumulation Grid</source>
-        <translation type="vanished">Cuadrícula de acumulación limitada de transporte</translation>
+        <translation>Cuadrícula de acumulación limitada de transporte</translation>
     </message>
     <message>
         <source>Deposition Grid</source>
-        <translation type="vanished">Cuadrícula de deposición</translation>
+        <translation>Cuadrícula de deposición</translation>
     </message>
     <message>
         <source>Output Concentration Grid</source>
-        <translation type="vanished">Cuadrícula de concatenación de salida</translation>
+        <translation>Cuadrícula de concatenación de salida</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>DinfTransLimAccum2Multi</name>
     <message>
         <source>D-Infinity Transport Limited Accumulation - 2 (multifile)</source>
-        <translation type="vanished">Acumulación limitada de transporte D-Infinity - 2 (multiarchivo)</translation>
+        <translation>Acumulación limitada de transporte D-Infinity - 2 (multiarchivo)</translation>
     </message>
     <message>
         <source>Specialized Grid Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de cuadrícula especializadas</translation>
+        <translation>Herramientas de análisis de cuadrícula especializadas</translation>
     </message>
     <message>
         <source>D-Infinity Flow Direction Grid</source>
-        <translation type="vanished">Cuadrícula de dirección de flujo D-Infinity</translation>
+        <translation>Cuadrícula de dirección de flujo D-Infinity</translation>
     </message>
     <message>
         <source>Supply Grid</source>
-        <translation type="vanished">Proporcionar cuadrícula</translation>
+        <translation>Proporcionar cuadrícula</translation>
     </message>
     <message>
         <source>Transport Capacity Grid</source>
-        <translation type="vanished">Cuadrícula de capacidad de transporte</translation>
+        <translation>Cuadrícula de capacidad de transporte</translation>
     </message>
     <message>
         <source>Input Concentration Grid</source>
-        <translation type="vanished">Cuadrícula de concentración de entrada</translation>
+        <translation>Cuadrícula de concentración de entrada</translation>
     </message>
     <message>
         <source>Outlets Shapefile</source>
-        <translation type="vanished">Archivo shape de desagúes</translation>
+        <translation>Archivo shape de desagúes</translation>
     </message>
     <message>
         <source>Check for edge contamination</source>
-        <translation type="vanished">Comprobar contaminación de borde</translation>
+        <translation>Comprobar contaminación de borde</translation>
     </message>
     <message>
         <source>Transport Limited Accumulation Grid</source>
-        <translation type="vanished">Cuadrícula de acumulación limitada de transporte</translation>
+        <translation>Cuadrícula de acumulación limitada de transporte</translation>
     </message>
     <message>
         <source>Deposition Grid</source>
-        <translation type="vanished">Cuadrícula de deposición</translation>
+        <translation>Cuadrícula de deposición</translation>
     </message>
     <message>
         <source>Output Concentration Grid</source>
-        <translation type="vanished">Cuadrícula de concatenación de salida</translation>
+        <translation>Cuadrícula de concatenación de salida</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>DinfTransLimAccumMulti</name>
     <message>
         <source>D-Infinity Transport Limited Accumulation (multifile)</source>
-        <translation type="vanished">Acumulación limitada de transporte D-Infinity (multiarchivo)</translation>
+        <translation>Acumulación limitada de transporte D-Infinity (multiarchivo)</translation>
     </message>
     <message>
         <source>Specialized Grid Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de cuadrícula especializadas</translation>
+        <translation>Herramientas de análisis de cuadrícula especializadas</translation>
     </message>
     <message>
         <source>D-Infinity Flow Direction Grid</source>
-        <translation type="vanished">Cuadrícula de dirección de flujo D-Infinity</translation>
+        <translation>Cuadrícula de dirección de flujo D-Infinity</translation>
     </message>
     <message>
         <source>Supply Grid</source>
-        <translation type="vanished">Proporcionar cuadrícula</translation>
+        <translation>Proporcionar cuadrícula</translation>
     </message>
     <message>
         <source>Transport Capacity Grid</source>
-        <translation type="vanished">Cuadrícula de capacidad de transporte</translation>
+        <translation>Cuadrícula de capacidad de transporte</translation>
     </message>
     <message>
         <source>Outlets Shapefile</source>
-        <translation type="vanished">Archivo shape de desagúes</translation>
+        <translation>Archivo shape de desagúes</translation>
     </message>
     <message>
         <source>Check for edge contamination</source>
-        <translation type="vanished">Comprobar contaminación de borde</translation>
+        <translation>Comprobar contaminación de borde</translation>
     </message>
     <message>
         <source>Transport Limited Accumulation Grid</source>
-        <translation type="vanished">Cuadrícula de acumulación limitada de transporte</translation>
+        <translation>Cuadrícula de acumulación limitada de transporte</translation>
     </message>
     <message>
         <source>Deposition Grid</source>
-        <translation type="vanished">Cuadrícula de deposición</translation>
+        <translation>Cuadrícula de deposición</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
@@ -5999,27 +5999,27 @@ columnas</translation>
     <name>Dissolve</name>
     <message>
         <source>Geometry exception while dissolving</source>
-        <translation type="vanished">Excepción de geometría al disolver</translation>
+        <translation>Excepción de geometría al disolver</translation>
     </message>
     <message>
         <source>Dissolve all (do not use field)</source>
-        <translation type="vanished">Disolver todo (no usar campo)</translation>
+        <translation>Disolver todo (no usar campo)</translation>
     </message>
     <message>
         <source>Unique ID field</source>
-        <translation type="vanished">Campo ID único</translation>
+        <translation>Campo ID único</translation>
     </message>
     <message>
         <source>ValidateGeometry()error: One or more input features have invalid geometry: </source>
-        <translation type="vanished">Error ValidateGeometry(): uno o más objetos de entrada tiene una geometría no válida:</translation>
+        <translation>Error ValidateGeometry(): uno o más objetos de entrada tiene una geometría no válida:</translation>
     </message>
     <message>
         <source>ValidateGeometry()error:One or more inputfeatures have invalid geometry: </source>
-        <translation type="vanished">Error ValidateGeometry(): uno o más objetos de entrada tiene una geometría no válida:</translation>
+        <translation>Error ValidateGeometry(): uno o más objetos de entrada tiene una geometría no válida:</translation>
     </message>
     <message>
         <source>ValidateGeometry() error: One or more inputfeatures have invalid geometry: </source>
-        <translation type="vanished">Error ValidateGeometry(): uno o más objetos de entrada tiene una geometría no válida:</translation>
+        <translation>Error ValidateGeometry(): uno o más objetos de entrada tiene una geometría no válida:</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="509"/>
@@ -6097,11 +6097,11 @@ columnas</translation>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="376"/>
         <source>Field name must not be empty.</source>
-        <translation type="unfinished"></translation>
+        <translation>El nombre del campo no puede estar vacío.</translation>
     </message>
     <message>
         <source>field name must not be empty</source>
-        <translation type="vanished">el nombre de campo no debe estar vacío</translation>
+        <translation>el nombre de campo no debe estar vacío</translation>
     </message>
 </context>
 <context>
@@ -6168,11 +6168,11 @@ columnas</translation>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="381"/>
         <source>Please enter a name for the index.</source>
-        <translation type="unfinished"></translation>
+        <translation>Por favor, introduzca un nombre para el índice.</translation>
     </message>
     <message>
         <source>Please enter some name for the index</source>
-        <translation type="vanished">Por favor, introduzca un nombre para el índice</translation>
+        <translation>Por favor, introduzca un nombre para el índice</translation>
     </message>
 </context>
 <context>
@@ -6190,82 +6190,82 @@ columnas</translation>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="387"/>
         <source>No field selected.</source>
-        <translation type="unfinished"></translation>
+        <translation>Ningún campo seleccionado.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="388"/>
         <source>Field is already at the top.</source>
-        <translation type="unfinished"></translation>
+        <translation>El campo ya está arriba del todo.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="389"/>
         <source>Field is already at the bottom.</source>
-        <translation type="unfinished"></translation>
+        <translation>El campo ya está abajo del todo.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="390"/>
         <source>A valid schema must be selected first.</source>
-        <translation type="unfinished"></translation>
+        <translation>Se debe seleccionar primero un esquema válido.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="391"/>
         <source>A valid table name is required.</source>
-        <translation type="unfinished"></translation>
+        <translation>Se requiere un nombre de tabla válido.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="392"/>
         <source>At least one field is required.</source>
-        <translation type="unfinished"></translation>
+        <translation>Se requiere al menos un campo.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="393"/>
         <source>A name is required for the geometry column.</source>
-        <translation type="unfinished"></translation>
+        <translation>Se requiere un nombre para la columna de geometría.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="394"/>
         <source>Table created successfully.</source>
-        <translation type="unfinished"></translation>
+        <translation>Tabla creada con éxito.</translation>
     </message>
     <message>
         <source>no field selected</source>
-        <translation type="vanished">ningún campo seleccionado</translation>
+        <translation>ningún campo seleccionado</translation>
     </message>
     <message>
         <source>field is at top already</source>
-        <translation type="vanished">el campo ya está arriba del todo</translation>
+        <translation>el campo ya está arriba del todo</translation>
     </message>
     <message>
         <source>No field selected</source>
-        <translation type="vanished">Ningún campo seleccionado</translation>
+        <translation>Ningún campo seleccionado</translation>
     </message>
     <message>
         <source>field is at bottom already</source>
-        <translation type="vanished">el campo ya está abajo del todo</translation>
+        <translation>el campo ya está abajo del todo</translation>
     </message>
     <message>
         <source>select schema!</source>
-        <translation type="vanished">¡Seleccionar esquema!</translation>
+        <translation>¡Seleccionar esquema!</translation>
     </message>
     <message>
         <source>enter table name!</source>
-        <translation type="vanished">¡Introducir nombre de la tabla!</translation>
+        <translation>¡Introducir nombre de la tabla!</translation>
     </message>
     <message>
         <source>add some fields!</source>
-        <translation type="vanished">¡añadir algunos campos!</translation>
+        <translation>¡añadir algunos campos!</translation>
     </message>
     <message>
         <source>set geometry column name</source>
-        <translation type="vanished">establecer nombre de la columna de geometría</translation>
+        <translation>establecer nombre de la columna de geometría</translation>
     </message>
     <message>
         <source>Good</source>
-        <translation type="vanished">Bien</translation>
+        <translation>Bien</translation>
     </message>
     <message>
         <source>everything went fine</source>
-        <translation type="vanished">todo fue bien</translation>
+        <translation>todo fue bien</translation>
     </message>
 </context>
 <context>
@@ -6318,20 +6318,20 @@ columnas</translation>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="409"/>
         <source>Field name must not be empty.</source>
-        <translation type="unfinished"></translation>
+        <translation>El nombre del campo no puede estar vacío.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="410"/>
         <source>Field type must not be empty.</source>
-        <translation type="unfinished"></translation>
+        <translation>El tipo del campo no puede estar vacío.</translation>
     </message>
     <message>
         <source>field name must not be empty</source>
-        <translation type="vanished">el nombre de campo no debe estar vacío</translation>
+        <translation>el nombre de campo no debe estar vacío</translation>
     </message>
     <message>
         <source>field type must not be empty</source>
-        <translation type="vanished">el tipo de campo no debe estar vacío</translation>
+        <translation>el tipo de campo no debe estar vacío</translation>
     </message>
 </context>
 <context>
@@ -6347,14 +6347,14 @@ columnas</translation>
     <name>DlgGetScriptsAndModels</name>
     <message>
         <source>Get scripts and models</source>
-        <translation type="vanished">Obtener scritps y modelos</translation>
+        <translation>Obtener scritps y modelos</translation>
     </message>
 </context>
 <context>
     <name>DlgHelpEdition</name>
     <message>
         <source>Help editor</source>
-        <translation type="vanished">Editor de ayuda</translation>
+        <translation>Editor de ayuda</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgHelpEdition.ui" line="14"/>
@@ -6433,19 +6433,19 @@ columnas</translation>
     <name>DlgModeler</name>
     <message>
         <source>Processing modeler</source>
-        <translation type="vanished">Modelador de procesado</translation>
+        <translation>Modelador de procesado</translation>
     </message>
     <message>
         <source>Open model</source>
-        <translation type="vanished">Abrir modelo</translation>
+        <translation>Abrir modelo</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Save</source>
-        <translation type="vanished">Guardar</translation>
+        <translation>Guardar</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgModeler.ui" line="408"/>
@@ -6717,7 +6717,7 @@ columnas</translation>
     </message>
     <message>
         <source><html><head/><body><p>Enter expression in the text field. Double click on elements in the tree to add their values to the expression.</p></body></html></source>
-        <translation type="vanished"><html><head/><body><p>Introducir expresión en el campo de texto. Doble clic en elementos del árbol para añadir sus valores a la expresión.</p></body></html></translation>
+        <translation><html><head/><body><p>Introducir expresión en el campo de texto. Doble clic en elementos del árbol para añadir sus valores a la expresión.</p></body></html></translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgNumberInput.ui" line="36"/>
@@ -6751,94 +6751,94 @@ columnas</translation>
     <name>DlgResults</name>
     <message>
         <source>Results</source>
-        <translation type="vanished">Resultados</translation>
+        <translation>Resultados</translation>
     </message>
 </context>
 <context>
     <name>DlgScriptEditor</name>
     <message>
         <source>Script editor</source>
-        <translation type="vanished">Editor de scripts</translation>
+        <translation>Editor de scripts</translation>
     </message>
     <message>
         <source>Save</source>
-        <translation type="vanished">Guardar</translation>
+        <translation>Guardar</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Edit script help</source>
-        <translation type="vanished">Editar ayuda del script</translation>
+        <translation>Editar ayuda del script</translation>
     </message>
     <message>
         <source>Cut</source>
-        <translation type="vanished">Cortar</translation>
+        <translation>Cortar</translation>
     </message>
     <message>
         <source>Copy</source>
-        <translation type="vanished">Copiar</translation>
+        <translation>Copiar</translation>
     </message>
     <message>
         <source>Paste</source>
-        <translation type="vanished">Pegar</translation>
+        <translation>Pegar</translation>
     </message>
     <message>
         <source>Undo</source>
-        <translation type="vanished">Deshacer</translation>
+        <translation>Deshacer</translation>
     </message>
     <message>
         <source>Redo</source>
-        <translation type="vanished">Rehacer</translation>
+        <translation>Rehacer</translation>
     </message>
     <message>
         <source>Open script</source>
-        <translation type="vanished">Abrir script</translation>
+        <translation>Abrir script</translation>
     </message>
     <message>
         <source>Ctrl+O, Return</source>
-        <translation type="vanished">Ctrl+O, Retorno</translation>
+        <translation>Ctrl+O, Retorno</translation>
     </message>
     <message>
         <source>Ctrl+S</source>
-        <translation type="vanished">Ctrl+G</translation>
+        <translation>Ctrl+G</translation>
     </message>
     <message>
         <source>Ctrl+Shift+S</source>
-        <translation type="vanished">Ctrl+Mayúsculas+G</translation>
+        <translation>Ctrl+Mayúsculas+G</translation>
     </message>
     <message>
         <source>F5</source>
-        <translation type="vanished">F5</translation>
+        <translation>F5</translation>
     </message>
     <message>
         <source>Ctrl+X</source>
-        <translation type="vanished">Ctrl+X</translation>
+        <translation>Ctrl+X</translation>
     </message>
     <message>
         <source>Ctrl+C</source>
-        <translation type="vanished">Ctrl+S</translation>
+        <translation>Ctrl+S</translation>
     </message>
     <message>
         <source>Ctrl+V</source>
-        <translation type="vanished">Ctrl+V</translation>
+        <translation>Ctrl+V</translation>
     </message>
     <message>
         <source>Ctrl+Z</source>
-        <translation type="vanished">Ctrl+Z</translation>
+        <translation>Ctrl+Z</translation>
     </message>
     <message>
         <source>Ctrl+Shift+Z</source>
-        <translation type="vanished">Ctrl+Mayús+Z</translation>
+        <translation>Ctrl+Mayús+Z</translation>
     </message>
     <message>
         <source>A+</source>
-        <translation type="vanished">A+</translation>
+        <translation>A+</translation>
     </message>
     <message>
         <source>A-</source>
-        <translation type="vanished">A-</translation>
+        <translation>A-</translation>
     </message>
 </context>
 <context>
@@ -6883,7 +6883,7 @@ columnas</translation>
     </message>
     <message>
         <source>%d rows, %.1f seconds</source>
-        <translation type="vanished">%d filas, %.1f segundos</translation>
+        <translation>%d filas, %.1f segundos</translation>
     </message>
 </context>
 <context>
@@ -6895,12 +6895,12 @@ columnas</translation>
     </message>
     <message>
         <source>nothing selected</source>
-        <translation type="vanished">nada seleccionado</translation>
+        <translation>nada seleccionado</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="439"/>
         <source>No columns were selected.</source>
-        <translation type="unfinished"></translation>
+        <translation>No se seleccionó ninguna columna.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="440"/>
@@ -6925,7 +6925,7 @@ columnas</translation>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="444"/>
         <source>No constraints were selected.</source>
-        <translation type="unfinished"></translation>
+        <translation>No se seleccionó ninguna restricción.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="445"/>
@@ -6945,7 +6945,7 @@ columnas</translation>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="448"/>
         <source>No indices were selected.</source>
-        <translation type="unfinished"></translation>
+        <translation>No se seleccionó ningún índice.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="449"/>
@@ -6959,30 +6959,30 @@ columnas</translation>
     </message>
     <message>
         <source>Are you sure</source>
-        <translation type="vanished">¿Está seguro</translation>
+        <translation>¿Está seguro</translation>
     </message>
     <message>
         <source>The selected table has no geometry</source>
-        <translation type="vanished">La tabla seleccionada no tiene geometría</translation>
+        <translation>La tabla seleccionada no tiene geometría</translation>
     </message>
     <message>
         <source>Create?</source>
-        <translation type="vanished">¿Crear?</translation>
+        <translation>¿Crear?</translation>
     </message>
     <message>
         <source>Nothing selected</source>
-        <translation type="vanished">Nada seleccionado</translation>
+        <translation>Nada seleccionado</translation>
     </message>
 </context>
 <context>
     <name>DlgVersioning</name>
     <message>
         <source>Add versioning support to a table</source>
-        <translation type="vanished">Añadir soporte para control de versiones a una tabla</translation>
+        <translation>Añadir soporte para control de versiones a una tabla</translation>
     </message>
     <message>
         <source>Table is expected to be empty, with a primary key.</source>
-        <translation type="vanished">Se espera que la tabla esté vacía, con una clave primaria.</translation>
+        <translation>Se espera que la tabla esté vacía, con una clave primaria.</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="34"/>
@@ -6998,7 +6998,7 @@ columnas</translation>
     </message>
     <message>
         <source>create a view with current content (<TABLE>_current)</source>
-        <translation type="vanished">crear una vista con el contenido actual (<TABLE>_current)</translation>
+        <translation>crear una vista con el contenido actual (<TABLE>_current)</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="75"/>
@@ -7008,17 +7008,17 @@ columnas</translation>
     </message>
     <message>
         <source>Prim. key</source>
-        <translation type="vanished">Clave primaria</translation>
+        <translation>Clave primaria</translation>
     </message>
     <message>
         <source>Add Versioning Support to a Table</source>
-        <translation type="vanished">Añadir soporte para control de versiones a una tabla</translation>
+        <translation>Añadir soporte para control de versiones a una tabla</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="14"/>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="454"/>
         <source>Add Change Logging Support to a Table</source>
-        <translation type="unfinished"></translation>
+        <translation>Añadir soporte para registro de cambios a una tabla</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/db_plugins/postgis/plugins/versioning/DlgVersioning.ui" line="22"/>
@@ -7076,7 +7076,7 @@ columnas</translation>
     </message>
     <message>
         <source>SQL to be executed:</source>
-        <translation type="vanished">SQL a ejecutar:</translation>
+        <translation>SQL a ejecutar:</translation>
     </message>
 </context>
 <context>
@@ -7141,123 +7141,123 @@ columnas</translation>
     <name>DockWidget</name>
     <message>
         <source>Processing results viewer</source>
-        <translation type="vanished">Visor de resultados de Procesos</translation>
+        <translation>Visor de resultados de Procesos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/resultsdockbase.ui" line="14"/>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="612"/>
         <source>Results Viewer</source>
-        <translation type="unfinished"></translation>
+        <translation>Visor de resultados</translation>
     </message>
 </context>
 <context>
     <name>DropAnalysis</name>
     <message>
         <source>Stream Drop Analysis</source>
-        <translation type="vanished">Análisis de descenso de corriente</translation>
+        <translation>Análisis de descenso de corriente</translation>
     </message>
     <message>
         <source>Stream Network Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de red de corriente</translation>
+        <translation>Herramientas de análisis de red de corriente</translation>
     </message>
     <message>
         <source>D8 Contributing Area Grid</source>
-        <translation type="vanished">Cuadrícula de área de contribución D8</translation>
+        <translation>Cuadrícula de área de contribución D8</translation>
     </message>
     <message>
         <source>D8 Flow Direction Grid</source>
-        <translation type="vanished">Cuadrícula de dirección de flujo D8</translation>
+        <translation>Cuadrícula de dirección de flujo D8</translation>
     </message>
     <message>
         <source>Pit Filled Elevation Grid</source>
-        <translation type="vanished">Cuadrícula de elevación rellena de pozas</translation>
+        <translation>Cuadrícula de elevación rellena de pozas</translation>
     </message>
     <message>
         <source>Accumulated Stream Source Grid</source>
-        <translation type="vanished">Cuadrícula de origen de corriente acumulada</translation>
+        <translation>Cuadrícula de origen de corriente acumulada</translation>
     </message>
     <message>
         <source>Outlets Shapefile</source>
-        <translation type="vanished">Archivo shape de desagúes</translation>
+        <translation>Archivo shape de desagúes</translation>
     </message>
     <message>
         <source>Minimum Threshold</source>
-        <translation type="vanished">Umbral mínimo</translation>
+        <translation>Umbral mínimo</translation>
     </message>
     <message>
         <source>Maximum Threshold</source>
-        <translation type="vanished">Umbral máximo</translation>
+        <translation>Umbral máximo</translation>
     </message>
     <message>
         <source>Number of Threshold Values</source>
-        <translation type="vanished">Número de valores de umbral</translation>
+        <translation>Número de valores de umbral</translation>
     </message>
     <message>
         <source>Spacing for Threshold Values</source>
-        <translation type="vanished">Espaciado para valores de umbral</translation>
+        <translation>Espaciado para valores de umbral</translation>
     </message>
     <message>
         <source>D-Infinity Drop to Stream Grid</source>
-        <translation type="vanished">Análisis de descenso de corriente (multiarchivo)</translation>
+        <translation>Análisis de descenso de corriente (multiarchivo)</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>DropAnalysisMulti</name>
     <message>
         <source>Stream Drop Analysis (multifile)</source>
-        <translation type="vanished">Análisis de descenso de corriente (multiarchivo)</translation>
+        <translation>Análisis de descenso de corriente (multiarchivo)</translation>
     </message>
     <message>
         <source>Stream Network Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de red de corriente</translation>
+        <translation>Herramientas de análisis de red de corriente</translation>
     </message>
     <message>
         <source>D8 Contributing Area Grid</source>
-        <translation type="vanished">Cuadrícula de área de contribución D8</translation>
+        <translation>Cuadrícula de área de contribución D8</translation>
     </message>
     <message>
         <source>D8 Flow Direction Grid</source>
-        <translation type="vanished">Cuadrícula de dirección de flujo D8</translation>
+        <translation>Cuadrícula de dirección de flujo D8</translation>
     </message>
     <message>
         <source>Pit Filled Elevation Grid</source>
-        <translation type="vanished">Cuadrícula de elevación rellena de pozas</translation>
+        <translation>Cuadrícula de elevación rellena de pozas</translation>
     </message>
     <message>
         <source>Accumulated Stream Source Grid</source>
-        <translation type="vanished">Cuadrícula de origen de corriente acumulada</translation>
+        <translation>Cuadrícula de origen de corriente acumulada</translation>
     </message>
     <message>
         <source>Outlets Shapefile</source>
-        <translation type="vanished">Archivo shape de desagúes</translation>
+        <translation>Archivo shape de desagúes</translation>
     </message>
     <message>
         <source>Minimum Threshold</source>
-        <translation type="vanished">Umbral mínimo</translation>
+        <translation>Umbral mínimo</translation>
     </message>
     <message>
         <source>Maximum Threshold</source>
-        <translation type="vanished">Umbral máximo</translation>
+        <translation>Umbral máximo</translation>
     </message>
     <message>
         <source>Number of Threshold Values</source>
-        <translation type="vanished">Número de valores de umbral</translation>
+        <translation>Número de valores de umbral</translation>
     </message>
     <message>
         <source>Spacing for Threshold Values</source>
-        <translation type="vanished">Espaciado para valores de umbral</translation>
+        <translation>Espaciado para valores de umbral</translation>
     </message>
     <message>
         <source>D-Infinity Drop to Stream Grid</source>
-        <translation type="vanished">Análisis de descenso de corriente (multiarchivo)</translation>
+        <translation>Análisis de descenso de corriente (multiarchivo)</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
@@ -7265,7 +7265,7 @@ columnas</translation>
     <message>
         <location filename="../src/analysis/interpolation/DualEdgeTriangulation.cpp" line="2734"/>
         <source>Reading points…</source>
-        <translation type="unfinished"></translation>
+        <translation>Leyendo puntos…</translation>
     </message>
     <message>
         <location filename="../src/analysis/interpolation/DualEdgeTriangulation.cpp" line="2799"/>
@@ -7275,55 +7275,55 @@ columnas</translation>
     <message>
         <location filename="../src/analysis/interpolation/DualEdgeTriangulation.cpp" line="2799"/>
         <source>File could not be written.</source>
-        <translation type="unfinished"></translation>
+        <translation>No se pudo escribir el archivo.</translation>
     </message>
 </context>
 <context>
     <name>EditModelAction</name>
     <message>
         <source>Edit model</source>
-        <translation type="vanished">Editar modelo</translation>
+        <translation>Editar modelo</translation>
     </message>
     <message>
         <source>Edit model</source>
         <comment>EditModelAction</comment>
-        <translation type="vanished">Editar modelo</translation>
+        <translation>Editar modelo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="616"/>
         <source>Edit Model…</source>
-        <translation type="unfinished"></translation>
+        <translation>Editar modelo…</translation>
     </message>
 </context>
 <context>
     <name>EditScriptAction</name>
     <message>
         <source>Edit script</source>
-        <translation type="vanished">Editar script</translation>
+        <translation>Editar script</translation>
     </message>
     <message>
         <source>File not found</source>
-        <translation type="vanished">Archivo no encontrado</translation>
+        <translation>Archivo no encontrado</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="620"/>
         <source>Edit Script…</source>
-        <translation type="unfinished"></translation>
+        <translation>Editar script…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="621"/>
         <source>Edit Script</source>
-        <translation type="unfinished"></translation>
+        <translation>Editar script</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="622"/>
         <source>Can not find corresponding script file.</source>
-        <translation type="unfinished"></translation>
+        <translation>No se puede encontrar el archivo de script correspondiente.</translation>
     </message>
     <message>
         <source>Edit script</source>
         <comment>EditScriptAction</comment>
-        <translation type="vanished">Editar script</translation>
+        <translation>Editar script</translation>
     </message>
 </context>
 <context>
@@ -7348,91 +7348,91 @@ columnas</translation>
     <name>Eliminate</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Largest area</source>
-        <translation type="vanished">Área más grande</translation>
+        <translation>Área más grande</translation>
     </message>
     <message>
         <source>Smallest Area</source>
-        <translation type="vanished">Área más pequeña</translation>
+        <translation>Área más pequeña</translation>
     </message>
     <message>
         <source>Largest common boundary</source>
-        <translation type="vanished">Contorno común más grande</translation>
+        <translation>Contorno común más grande</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Use current selection in input layer (works only if called from toolbox)</source>
-        <translation type="vanished">Usar selección actual de la capa de entrada (solo funciona si se llama desde la caja de herramientas)</translation>
+        <translation>Usar selección actual de la capa de entrada (solo funciona si se llama desde la caja de herramientas)</translation>
     </message>
     <message>
         <source>Selection attribute</source>
-        <translation type="vanished">Atributo de selección</translation>
+        <translation>Atributo de selección</translation>
     </message>
     <message>
         <source>Comparison</source>
-        <translation type="vanished">Comparación</translation>
+        <translation>Comparación</translation>
     </message>
     <message>
         <source>Value</source>
-        <translation type="vanished">Valor</translation>
+        <translation>Valor</translation>
     </message>
     <message>
         <source>Merge selection with the neighbouring polygon with the</source>
-        <translation type="vanished">Combinar la selección con el polígono vecino con el</translation>
+        <translation>Combinar la selección con el polígono vecino con el</translation>
     </message>
     <message>
         <source>Cleaned</source>
-        <translation type="vanished">Limpiada</translation>
+        <translation>Limpiada</translation>
     </message>
     <message>
         <source>Cannot convert "%s" to integer</source>
-        <translation type="vanished">No se puede convertir "%s" a entero</translation>
+        <translation>No se puede convertir "%s" a entero</translation>
     </message>
     <message>
         <source>Cannot convert "%s" to float</source>
-        <translation type="vanished">No se puede convertir "%s" a coma flotante</translation>
+        <translation>No se puede convertir "%s" a coma flotante</translation>
     </message>
     <message>
         <source>Cannot convert "%s" to unicode</source>
-        <translation type="vanished">No se puede convertir "%s" a unicode</translation>
+        <translation>No se puede convertir "%s" a unicode</translation>
     </message>
     <message>
         <source>Cannot convert "%s" to date with system date format %s</source>
-        <translation type="vanished">No se puede convertir "%s" a fecha con el formato de fecha del sistema %s</translation>
+        <translation>No se puede convertir "%s" a fecha con el formato de fecha del sistema %s</translation>
     </message>
     <message>
         <source>Cannot convert "%s" to date with format string "%s"</source>
-        <translation type="vanished">No se puede convertir "%s" a fecha con cadena de formato "%s"</translation>
+        <translation>No se puede convertir "%s" a fecha con cadena de formato "%s"</translation>
     </message>
     <message>
         <source>Enter the date and the date format, e.g. "07.26.2011" "MM.dd.yyyy".</source>
-        <translation type="vanished">Introduzca la fecha y el formato de fecha, por ejemplo "07.26.2011" "MM.dd.yyyy".</translation>
+        <translation>Introduzca la fecha y el formato de fecha, por ejemplo "07.26.2011" "MM.dd.yyyy".</translation>
     </message>
     <message>
         <source>"%s" can only be used with string fields</source>
-        <translation type="vanished">"%s" solo se puede usar con campos de cadena</translation>
+        <translation>"%s" solo se puede usar con campos de cadena</translation>
     </message>
     <message>
         <source>Error in selection input: %s</source>
-        <translation type="vanished">Error en la entrada de selección: %s</translation>
+        <translation>Error en la entrada de selección: %s</translation>
     </message>
     <message>
         <source>%s: (No selection in input layer "%s")</source>
-        <translation type="vanished">%s: (Ninguna selección en la capa de entrada "%s")</translation>
+        <translation>%s: (Ninguna selección en la capa de entrada "%s")</translation>
     </message>
     <message>
         <source>Could not replace geometry of feature with id %s</source>
-        <translation type="vanished">No se pudo remplazar la geometría del objeto espacial con ID %s</translation>
+        <translation>No se pudo remplazar la geometría del objeto espacial con ID %s</translation>
     </message>
     <message>
         <source>Eliminate sliver polygons</source>
-        <translation type="vanished">Eliminar astillas de poligonos </translation>
+        <translation>Eliminar astillas de poligonos </translation>
     </message>
 </context>
 <context>
@@ -7497,27 +7497,27 @@ columnas</translation>
     <name>EquivalentNumField</name>
     <message>
         <source>Add unique value index field</source>
-        <translation type="vanished">Añadir campo índice de valor único</translation>
+        <translation>Añadir campo índice de valor único</translation>
     </message>
     <message>
         <source>Vector table tools</source>
-        <translation type="vanished">Herramientas de tabla de vectorial</translation>
+        <translation>Herramientas de tabla de vectorial</translation>
     </message>
     <message>
         <source>Vector table</source>
-        <translation type="vanished">Tabla vectorial</translation>
+        <translation>Tabla vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Class field</source>
-        <translation type="vanished">Campo de clase</translation>
+        <translation>Campo de clase</translation>
     </message>
     <message>
         <source>Layer with index field</source>
-        <translation type="vanished">Capa con campo índice</translation>
+        <translation>Capa con campo índice</translation>
     </message>
 </context>
 <context>
@@ -7552,7 +7552,7 @@ columnas</translation>
     </message>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="647"/>
@@ -7606,7 +7606,7 @@ columnas</translation>
     </message>
     <message>
         <source>Output</source>
-        <translation type="vanished">Salida</translation>
+        <translation>Salida</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="658"/>
@@ -7676,7 +7676,7 @@ columnas</translation>
     <name>Explode</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="676"/>
@@ -7685,7 +7685,7 @@ columnas</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="677"/>
@@ -7702,7 +7702,7 @@ columnas</translation>
     <name>ExportGeometryInfo</name>
     <message>
         <source>Vector table tools</source>
-        <translation type="vanished">Herramientas de tabla de vectorial</translation>
+        <translation>Herramientas de tabla de vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="682"/>
@@ -7751,7 +7751,7 @@ columnas</translation>
     </message>
     <message>
         <source>Export/Add geometry columns</source>
-        <translation type="vanished">Exportar/Añadir columnas de geometría</translation>
+        <translation>Exportar/Añadir columnas de geometría</translation>
     </message>
 </context>
 <context>
@@ -7791,7 +7791,7 @@ columnas</translation>
     <name>ExtentFromLayer</name>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="703"/>
@@ -7815,7 +7815,7 @@ columnas</translation>
     </message>
     <message>
         <source>Calculate extent for each feature separately</source>
-        <translation type="vanished">Calcular extensión para cada objeto espacial por separado</translation>
+        <translation>Calcular extensión para cada objeto espacial por separado</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="706"/>
@@ -7824,7 +7824,7 @@ columnas</translation>
     </message>
     <message>
         <source>Polygon from layer extent</source>
-        <translation type="vanished">Polígono de la extensión de la capa</translation>
+        <translation>Polígono de la extensión de la capa</translation>
     </message>
 </context>
 <context>
@@ -7852,11 +7852,11 @@ columnas</translation>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="715"/>
         <source>Select Extent</source>
-        <translation type="unfinished"></translation>
+        <translation>Seleccionar extensión</translation>
     </message>
     <message>
         <source>Select extent</source>
-        <translation type="vanished">Seleccionar extensión</translation>
+        <translation>Seleccionar extensión</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="716"/>
@@ -7865,115 +7865,115 @@ columnas</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="vanished">Advertencia</translation>
+        <translation>Advertencia</translation>
     </message>
     <message>
         <source>The projection of the chosen layer is not the same as canvas projection! The selected extent might not be what was intended.</source>
-        <translation type="vanished">¡La proyección de la capa escogida no es la misma que la del lienzo del mapa! La extensión seleccionada puede no ser la que se pretendía.</translation>
+        <translation>¡La proyección de la capa escogida no es la misma que la del lienzo del mapa! La extensión seleccionada puede no ser la que se pretendía.</translation>
     </message>
 </context>
 <context>
     <name>ExtractByAttribute</name>
     <message>
         <source>Vector selection tools</source>
-        <translation type="vanished">Herramientas de selección vectorial</translation>
+        <translation>Herramientas de selección vectorial</translation>
     </message>
     <message>
         <source>begins with</source>
-        <translation type="vanished">comienza con</translation>
+        <translation>comienza con</translation>
     </message>
     <message>
         <source>contains</source>
-        <translation type="vanished">contiene</translation>
+        <translation>contiene</translation>
     </message>
     <message>
         <source>Input Layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Selection attribute</source>
-        <translation type="vanished">Atributo de selección</translation>
+        <translation>Atributo de selección</translation>
     </message>
     <message>
         <source>Operator</source>
-        <translation type="vanished">Operador</translation>
+        <translation>Operador</translation>
     </message>
     <message>
         <source>Value</source>
-        <translation type="vanished">Valor</translation>
+        <translation>Valor</translation>
     </message>
     <message>
         <source>Extracted (attribute)</source>
-        <translation type="vanished">Extraído (atributo)</translation>
+        <translation>Extraído (atributo)</translation>
     </message>
     <message>
         <source>Operators %s can be used only with string fields.</source>
-        <translation type="vanished">Los operadores %s solo se pueden usar con campos de cadenas.</translation>
+        <translation>Los operadores %s solo se pueden usar con campos de cadenas.</translation>
     </message>
     <message>
         <source>Unsupported field type "%s"</source>
-        <translation type="vanished">Tipo de campo "%s" no admitido</translation>
+        <translation>Tipo de campo "%s" no admitido</translation>
     </message>
     <message>
         <source>Extract by attribute</source>
-        <translation type="vanished">Extraer por atributos</translation>
+        <translation>Extraer por atributos</translation>
     </message>
 </context>
 <context>
     <name>ExtractByLocation</name>
     <message>
         <source>Layer to select from</source>
-        <translation type="vanished">Capa de la que seleccionar</translation>
+        <translation>Capa de la que seleccionar</translation>
     </message>
     <message>
         <source>Additional layer (intersection layer)</source>
-        <translation type="vanished">Capa adicional (capa de intersección)</translation>
+        <translation>Capa adicional (capa de intersección)</translation>
     </message>
     <message>
         <source>Precision</source>
-        <translation type="vanished">Precisión</translation>
+        <translation>Precisión</translation>
     </message>
     <message>
         <source>Extracted (location)</source>
-        <translation type="vanished">Extraído (localización)</translation>
+        <translation>Extraído (localización)</translation>
     </message>
     <message>
         <source>Extract by location</source>
-        <translation type="vanished">Extraer por localización</translation>
+        <translation>Extraer por localización</translation>
     </message>
     <message>
         <source>Vector selection tools</source>
-        <translation type="vanished">Herramientas de selección vectorial</translation>
+        <translation>Herramientas de selección vectorial</translation>
     </message>
     <message>
         <source>Geometric predicate</source>
-        <translation type="vanished">Predicado geométrico</translation>
+        <translation>Predicado geométrico</translation>
     </message>
 </context>
 <context>
     <name>ExtractNodes</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Nodes</source>
-        <translation type="vanished">Nodos</translation>
+        <translation>Nodos</translation>
     </message>
     <message>
         <source>Extract nodes</source>
-        <translation type="vanished">Extraer nodos</translation>
+        <translation>Extraer nodos</translation>
     </message>
 </context>
 <context>
     <name>ExtractProjection</name>
     <message>
         <source>[GDAL] Projections</source>
-        <translation type="vanished">[GDAL] Proyecciones</translation>
+        <translation>[GDAL] Proyecciones</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="720"/>
@@ -8000,31 +8000,31 @@ columnas</translation>
     <name>ExtractSpecificNodes</name>
     <message>
         <source>Vector geometry</source>
-        <translation type="vanished">Geometría vectorial</translation>
+        <translation>Geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Node indices</source>
-        <translation type="vanished">Índices de nodos</translation>
+        <translation>Índices de nodos</translation>
     </message>
     <message>
         <source>Nodes</source>
-        <translation type="vanished">Nodos</translation>
+        <translation>Nodos</translation>
     </message>
     <message>
         <source>Extract specific nodes</source>
-        <translation type="vanished">Extraer nodos específicos</translation>
+        <translation>Extraer nodos específicos</translation>
     </message>
     <message>
         <source>points,vertex,vertices</source>
-        <translation type="vanished">puntos,vértice,vértices</translation>
+        <translation>puntos,vértice,vértices</translation>
     </message>
     <message>
         <source>'{}' is not a valid node index</source>
-        <translation type="vanished">'{}' no es un índice de nodo válido</translation>
+        <translation>'{}' no es un índice de nodo válido</translation>
     </message>
 </context>
 <context>
@@ -8042,7 +8042,7 @@ columnas</translation>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="729"/>
         <source>Vertex indices</source>
-        <translation type="unfinished"></translation>
+        <translation>Índices de vértices</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="730"/>
@@ -8052,17 +8052,17 @@ columnas</translation>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="731"/>
         <source>Extract specific vertices</source>
-        <translation type="unfinished"></translation>
+        <translation>Extraer vértices específicos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="732"/>
         <source>points,vertex,nodes</source>
-        <translation type="unfinished"></translation>
+        <translation>puntos,vértice,nodos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="733"/>
         <source>'{}' is not a valid vertex index</source>
-        <translation type="unfinished"></translation>
+        <translation>'{}' no es un índice de vértice válido</translation>
     </message>
 </context>
 <context>
@@ -8148,7 +8148,7 @@ columnas</translation>
     </message>
     <message>
         <source>Vector table tools</source>
-        <translation type="vanished">Herramientas de tabla de vectorial</translation>
+        <translation>Herramientas de tabla de vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="753"/>
@@ -8212,16 +8212,16 @@ columnas</translation>
     </message>
     <message>
         <source>Evaluation error: {0}</source>
-        <translation type="vanished">Error de evaluación: {0}</translation>
+        <translation>Error de evaluación: {0}</translation>
     </message>
     <message>
         <source>Evaluation error: %s</source>
-        <translation type="vanished">Error de evaluación: %s</translation>
+        <translation>Error de evaluación: %s</translation>
     </message>
     <message>
         <source>An error occurred while evaluating the calculation string:
 %s</source>
-        <translation type="vanished">Ocurrió un error al evaluar la cadena de cálculo:
+        <translation>Ocurrió un error al evaluar la cadena de cálculo:
 %s</translation>
     </message>
     <message>
@@ -8257,37 +8257,37 @@ columnas</translation>
     <name>FieldsMapper</name>
     <message>
         <source>Vector table tools</source>
-        <translation type="vanished">Herramientas de tabla de vectorial</translation>
+        <translation>Herramientas de tabla de vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Fields mapping</source>
-        <translation type="vanished">Mapa de campos</translation>
+        <translation>Mapa de campos</translation>
     </message>
     <message>
         <source>Refactored</source>
-        <translation type="vanished">Rehecho</translation>
+        <translation>Rehecho</translation>
     </message>
     <message>
         <source>Parser error in expression "{}": {}</source>
-        <translation type="vanished">Error del analizador en la expresión"{}": {}</translation>
+        <translation>Error del analizador en la expresión"{}": {}</translation>
     </message>
     <message>
         <source>Evaluation error in expression "{}": {}</source>
-        <translation type="vanished">Error de evaluación en la expresión"{}": {}</translation>
+        <translation>Error de evaluación en la expresión"{}": {}</translation>
     </message>
     <message>
         <source>An error occurred while evaluating the calculation string:
 </source>
-        <translation type="vanished">Ocurrió un error al evaluar la cadena de cálculo:
+        <translation>Ocurrió un error al evaluar la cadena de cálculo:
 </translation>
     </message>
     <message>
         <source>Refactor fields</source>
-        <translation type="vanished">Rehacer campos</translation>
+        <translation>Rehacer campos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="776"/>
@@ -8328,14 +8328,14 @@ columnas</translation>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="788"/>
         <source>Do you want to reset the field mapping?</source>
-        <translation type="unfinished"></translation>
+        <translation>¿Quiere restablecer el mapeo de campos?</translation>
     </message>
 </context>
 <context>
     <name>FieldsPyculator</name>
     <message>
         <source>Vector table tools</source>
-        <translation type="vanished">Herramientas de tabla de vectorial</translation>
+        <translation>Herramientas de tabla de vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="792"/>
@@ -8426,7 +8426,7 @@ Field code block does not return '{0}' variable! Please declare this v
         <source>FieldPyculator code execute error.Global code block can't be executed!
 %s
 %s</source>
-        <translation type="vanished">Error de ejecución de código FieldPyculator. ¡El bloque de código Global no se puede ejecutar!
+        <translation>Error de ejecución de código FieldPyculator. ¡El bloque de código Global no se puede ejecutar!
 %s
 %s</translation>
     </message>
@@ -8434,14 +8434,14 @@ Field code block does not return '{0}' variable! Please declare this v
         <source>FieldPyculator code execute error.Field code block can't be executed!
 %s
 %s</source>
-        <translation type="vanished">Error de ejecución de código FieldPyculator. ¡El bloque de código Field no se puede ejecutar!
+        <translation>Error de ejecución de código FieldPyculator. ¡El bloque de código Field no se puede ejecutar!
 %s
 %s</translation>
     </message>
     <message>
         <source>FieldPyculator code execute error
 Field code block does not return '%s1' variable! Please declare this variable in your code!</source>
-        <translation type="vanished">Error de ejecución del código de FieldPyculator
+        <translation>Error de ejecución del código de FieldPyculator
 ¡El bloque de código de campo no devuelve '%1' como variable! Por favor, declare esta variable en su código</translation>
     </message>
     <message>
@@ -8454,7 +8454,7 @@ Field code block does not return '%s1' variable! Please declare this v
     <name>FileDirectorySelector</name>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="811"/>
@@ -8476,21 +8476,21 @@ Field code block does not return '%s1' variable! Please declare this v
     <name>FileSelectionPanel</name>
     <message>
         <source>Select folder</source>
-        <translation type="vanished">Seleccionar carpeta</translation>
+        <translation>Seleccionar carpeta</translation>
     </message>
     <message>
         <source>Select file</source>
-        <translation type="vanished">Seleccionar archivo</translation>
+        <translation>Seleccionar archivo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="817"/>
         <source>Select Folder</source>
-        <translation type="unfinished"></translation>
+        <translation>Seleccionar carpeta</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="818"/>
         <source>Select File</source>
-        <translation type="unfinished"></translation>
+        <translation>Seleccionar archivo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="819"/>
@@ -8528,34 +8528,34 @@ Field code block does not return '%s1' variable! Please declare this v
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="828"/>
         <source>Select File</source>
-        <translation type="unfinished"></translation>
+        <translation>Seleccionar archivo</translation>
     </message>
 </context>
 <context>
     <name>FilterData</name>
     <message>
         <source>Filter Data outliers</source>
-        <translation type="vanished">Filtrar valores atípicos de datos</translation>
+        <translation>Filtrar valores atípicos de datos</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Input LAS layer</source>
-        <translation type="vanished">Capa LAS de entrada</translation>
+        <translation>Capa LAS de entrada</translation>
     </message>
     <message>
         <source>Standard Deviation multiplier</source>
-        <translation type="vanished">Multiplicador de la desviación estándar</translation>
+        <translation>Multiplicador de la desviación estándar</translation>
     </message>
     <message>
         <source>Window size</source>
-        <translation type="vanished">Tamaño de ventana</translation>
+        <translation>Tamaño de ventana</translation>
     </message>
     <message>
         <source>Output filtered LAS file</source>
-        <translation type="vanished">Archivo LAS filtrado de salida</translation>
+        <translation>Archivo LAS filtrado de salida</translation>
     </message>
 </context>
 <context>
@@ -8605,74 +8605,74 @@ Field code block does not return '%s1' variable! Please declare this v
     <name>FirstLastReturn</name>
     <message>
         <source>First&Last Return</source>
-        <translation type="vanished">Primer y último retorno</translation>
+        <translation>Primer y último retorno</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Input LAS layer</source>
-        <translation type="vanished">Capa LAS de entrada</translation>
+        <translation>Capa LAS de entrada</translation>
     </message>
     <message>
         <source>Use LAS info</source>
-        <translation type="vanished">Usar información LAS</translation>
+        <translation>Usar información LAS</translation>
     </message>
     <message>
         <source>Output layers</source>
-        <translation type="vanished">Capas de salida</translation>
+        <translation>Capas de salida</translation>
     </message>
 </context>
 <context>
     <name>FixedDistanceBuffer</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Vector geometry</source>
-        <translation type="vanished">Geometría vectorial</translation>
+        <translation>Geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Distance</source>
-        <translation type="vanished">Distancia</translation>
+        <translation>Distancia</translation>
     </message>
     <message>
         <source>Segments</source>
-        <translation type="vanished">Segmentos</translation>
+        <translation>Segmentos</translation>
     </message>
     <message>
         <source>Dissolve result</source>
-        <translation type="vanished">Disolver resultado</translation>
+        <translation>Disolver resultado</translation>
     </message>
     <message>
         <source>Round</source>
-        <translation type="vanished">Redondo</translation>
+        <translation>Redondo</translation>
     </message>
     <message>
         <source>End cap style</source>
-        <translation type="vanished">Estilo de terminación</translation>
+        <translation>Estilo de terminación</translation>
     </message>
     <message>
         <source>Join style</source>
-        <translation type="vanished">Estilo de ángulos</translation>
+        <translation>Estilo de ángulos</translation>
     </message>
     <message>
         <source>Miter limit</source>
-        <translation type="vanished">Límite de inglete</translation>
+        <translation>Límite de inglete</translation>
     </message>
     <message>
         <source>Buffer</source>
-        <translation type="vanished">Buffer</translation>
+        <translation>Buffer</translation>
     </message>
     <message>
         <source>Fixed distance buffer</source>
-        <translation type="vanished">Buffer de distancia fija</translation>
+        <translation>Buffer de distancia fija</translation>
     </message>
 </context>
 <context>
@@ -8697,7 +8697,7 @@ Field code block does not return '%s1' variable! Please declare this v
     <name>FixedTablePanel</name>
     <message>
         <source>Fixed table %dx%d</source>
-        <translation type="vanished">Tabla fija %dx%d</translation>
+        <translation>Tabla fija %dx%d</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="849"/>
@@ -8725,23 +8725,23 @@ Field code block does not return '%s1' variable! Please declare this v
     </message>
     <message>
         <source>Layers (double-click to add)</source>
-        <translation type="vanished">Capas (doble clic para añadir)</translation>
+        <translation>Capas (doble clic para añadir)</translation>
     </message>
     <message>
         <source>Values and operators</source>
-        <translation type="vanished">Valores y operadores</translation>
+        <translation>Valores y operadores</translation>
     </message>
     <message>
         <source>7</source>
-        <translation type="vanished">7</translation>
+        <translation>7</translation>
     </message>
     <message>
         <source>4</source>
-        <translation type="vanished">4</translation>
+        <translation>4</translation>
     </message>
     <message>
         <source>2</source>
-        <translation type="vanished">2</translation>
+        <translation>2</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="207"/>
@@ -8751,15 +8751,15 @@ Field code block does not return '%s1' variable! Please declare this v
     </message>
     <message>
         <source>1</source>
-        <translation type="vanished">1</translation>
+        <translation>1</translation>
     </message>
     <message>
         <source>5</source>
-        <translation type="vanished">5</translation>
+        <translation>5</translation>
     </message>
     <message>
         <source>8</source>
-        <translation type="vanished">8</translation>
+        <translation>8</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="186"/>
@@ -8775,7 +8775,7 @@ Field code block does not return '%s1' variable! Please declare this v
     </message>
     <message>
         <source>3</source>
-        <translation type="vanished">3</translation>
+        <translation>3</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="61"/>
@@ -8797,7 +8797,7 @@ Field code block does not return '%s1' variable! Please declare this v
     </message>
     <message>
         <source>0</source>
-        <translation type="vanished">0</translation>
+        <translation>0</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="165"/>
@@ -8905,13 +8905,13 @@ Field code block does not return '%s1' variable! Please declare this v
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="265"/>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="898"/>
         <source>Add…</source>
-        <translation type="unfinished"></translation>
+        <translation>Añadir…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="278"/>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="899"/>
         <source>Save…</source>
-        <translation type="unfinished"></translation>
+        <translation>Guardar…</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="68"/>
@@ -8921,11 +8921,11 @@ Field code block does not return '%s1' variable! Please declare this v
     </message>
     <message>
         <source>6</source>
-        <translation type="vanished">6</translation>
+        <translation>6</translation>
     </message>
     <message>
         <source>.</source>
-        <translation type="vanished">.</translation>
+        <translation>.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="158"/>
@@ -8941,7 +8941,7 @@ Field code block does not return '%s1' variable! Please declare this v
     </message>
     <message>
         <source>9</source>
-        <translation type="vanished">9</translation>
+        <translation>9</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/RasterCalculatorWidget.ui" line="238"/>
@@ -8957,11 +8957,11 @@ Field code block does not return '%s1' variable! Please declare this v
     </message>
     <message>
         <source>Add...</source>
-        <translation type="vanished">Añadir...</translation>
+        <translation>Añadir...</translation>
     </message>
     <message>
         <source>Save...</source>
-        <translation type="vanished">Guardar...</translation>
+        <translation>Guardar...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/algs/qgis/ui/interpolationdatawidgetbase.ui" line="20"/>
@@ -9114,7 +9114,7 @@ Field code block does not return '%s1' variable! Please declare this v
     </message>
     <message>
         <source>Open number input dialog</source>
-        <translation type="vanished">Abrir diálogo de entrada de números</translation>
+        <translation>Abrir diálogo de entrada de números</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/widgetParametersPanel.ui" line="44"/>
@@ -9323,19 +9323,19 @@ Field code block does not return '%s1' variable! Please declare this v
     <message>
         <source>Fusion folder is not configured.
 Please configure it before running Fusion algorithms.</source>
-        <translation type="vanished">La carpeta de fusión no está configurada.
+        <translation>La carpeta de fusión no está configurada.
 Por favor configúrela antes de ejecutar los algoritmos de Fusión.</translation>
     </message>
     <message>
         <source>Additional modifiers</source>
-        <translation type="vanished">Modificadores adicionales</translation>
+        <translation>Modificadores adicionales</translation>
     </message>
 </context>
 <context>
     <name>FusionUtils</name>
     <message>
         <source>Fusion execution console output</source>
-        <translation type="vanished">Salida de la consola de ejecución de Fusión</translation>
+        <translation>Salida de la consola de ejecución de Fusión</translation>
     </message>
 </context>
 <context>
@@ -9368,7 +9368,7 @@ Por favor configúrela antes de ejecutar los algoritmos de Fusión.</translation
     <name>GdalAlgorithmDialog</name>
     <message>
         <source>Run as batch process...</source>
-        <translation type="vanished">Ejecutar como proceso por lotes...</translation>
+        <translation>Ejecutar como proceso por lotes...</translation>
     </message>
 </context>
 <context>
@@ -9388,7 +9388,7 @@ Por favor configúrela antes de ejecutar los algoritmos de Fusión.</translation
     <name>GdalOgrAlgorithmProvider</name>
     <message>
         <source>GDAL/OGR</source>
-        <translation type="vanished">GDAL/OGR</translation>
+        <translation>GDAL/OGR</translation>
     </message>
 </context>
 <context>
@@ -9410,251 +9410,251 @@ Por favor configúrela antes de ejecutar los algoritmos de Fusión.</translation
     </message>
     <message>
         <source>Invalid value for parameter '%s'</source>
-        <translation type="vanished">Valor no válido para el parámetro '%s'</translation>
+        <translation>Valor no válido para el parámetro '%s'</translation>
     </message>
 </context>
 <context>
     <name>GdalTools</name>
     <message>
         <source>&Input directory</source>
-        <translation type="vanished">D&irectorio de entrada</translation>
+        <translation>D&irectorio de entrada</translation>
     </message>
     <message>
         <source>&Output directory</source>
-        <translation type="vanished">Direct&orio de salida</translation>
+        <translation>Direct&orio de salida</translation>
     </message>
     <message>
         <source>The selected file is not a supported OGR format</source>
-        <translation type="vanished">El archivo seleccionado no es un formato admitido por OGR</translation>
+        <translation>El archivo seleccionado no es un formato admitido por OGR</translation>
     </message>
     <message>
         <source>The process failed to start. Either the invoked program is missing, or you may have insufficient permissions to invoke the program.</source>
-        <translation type="vanished">El proceso no pudo comenzar. O falta el programa invocado o puede que tenga permisos insuficientes para invocar el programa.</translation>
+        <translation>El proceso no pudo comenzar. O falta el programa invocado o puede que tenga permisos insuficientes para invocar el programa.</translation>
     </message>
     <message>
         <source>The process crashed some time after starting successfully.</source>
-        <translation type="vanished">El proceso se interrumpió un tiempo después de comenzar correctamente.</translation>
+        <translation>El proceso se interrumpió un tiempo después de comenzar correctamente.</translation>
     </message>
     <message>
         <source>An unknown error occurred.</source>
-        <translation type="vanished">Ocurrió un error desconocido.</translation>
+        <translation>Ocurrió un error desconocido.</translation>
     </message>
     <message>
         <source>Plugin error</source>
-        <translation type="vanished">Error de complemento</translation>
+        <translation>Error de complemento</translation>
     </message>
     <message>
         <source>This version of Gdal Tools requires at least QGIS version 1.0.0
 Plugin will not be enabled.</source>
-        <translation type="vanished">Esta versión de Gdal Tools requiere como mínimo la versión 1.0.0 de QGIS
+        <translation>Esta versión de Gdal Tools requiere como mínimo la versión 1.0.0 de QGIS
 El complemento no se activará.</translation>
     </message>
     <message>
         <source>Projections</source>
-        <translation type="vanished">Proyecciones</translation>
+        <translation>Proyecciones</translation>
     </message>
     <message>
         <source>Warp (Reproject)...</source>
-        <translation type="vanished">Combar (Reproyectar)...</translation>
+        <translation>Combar (Reproyectar)...</translation>
     </message>
     <message>
         <source>Assign Projection...</source>
-        <translation type="vanished">Asignar proyección...</translation>
+        <translation>Asignar proyección...</translation>
     </message>
     <message>
         <source>Extract Projection...</source>
-        <translation type="vanished">Extraer proyección...</translation>
+        <translation>Extraer proyección...</translation>
     </message>
     <message>
         <source>Rasterize (Vector to Raster)...</source>
-        <translation type="vanished">Rasterizar (vectorial a ráster)...</translation>
+        <translation>Rasterizar (vectorial a ráster)...</translation>
     </message>
     <message>
         <source>Polygonize (Raster to Vector)...</source>
-        <translation type="vanished">Poligonizar (ráster a vectorial)...</translation>
+        <translation>Poligonizar (ráster a vectorial)...</translation>
     </message>
     <message>
         <source>Translate (Convert Format)...</source>
-        <translation type="vanished">Traducir (convertir formato)...</translation>
+        <translation>Traducir (convertir formato)...</translation>
     </message>
     <message>
         <source>RGB to PCT...</source>
-        <translation type="vanished">RGB a PCT...</translation>
+        <translation>RGB a PCT...</translation>
     </message>
     <message>
         <source>PCT to RGB...</source>
-        <translation type="vanished">PCT a RGB...</translation>
+        <translation>PCT a RGB...</translation>
     </message>
     <message>
         <source>Contour...</source>
-        <translation type="vanished">Curvas de nivel...</translation>
+        <translation>Curvas de nivel...</translation>
     </message>
     <message>
         <source>Clipper...</source>
-        <translation type="vanished">Clipper...</translation>
+        <translation>Clipper...</translation>
     </message>
     <message>
         <source>Sieve...</source>
-        <translation type="vanished">Filtrado...</translation>
+        <translation>Filtrado...</translation>
     </message>
     <message>
         <source>Near Black...</source>
-        <translation type="vanished">Casi negro...</translation>
+        <translation>Casi negro...</translation>
     </message>
     <message>
         <source>Fill nodata...</source>
-        <translation type="vanished">Rellenar sin datos...</translation>
+        <translation>Rellenar sin datos...</translation>
     </message>
     <message>
         <source>Proximity (Raster Distance)...</source>
-        <translation type="vanished">Proximidad (distancia ráster)...</translation>
+        <translation>Proximidad (distancia ráster)...</translation>
     </message>
     <message>
         <source>Grid (Interpolation)...</source>
-        <translation type="vanished">Cuadrícula (interpolación)...</translation>
+        <translation>Cuadrícula (interpolación)...</translation>
     </message>
     <message>
         <source>DEM (Terrain Models)...</source>
-        <translation type="vanished">MDT (modelos de terreno)...</translation>
+        <translation>MDT (modelos de terreno)...</translation>
     </message>
     <message>
         <source>Build Virtual Raster (Catalog)...</source>
-        <translation type="vanished">Construir ráster virtual (catálogo)...</translation>
+        <translation>Construir ráster virtual (catálogo)...</translation>
     </message>
     <message>
         <source>Merge...</source>
-        <translation type="vanished">Combinar...</translation>
+        <translation>Combinar...</translation>
     </message>
     <message>
         <source>Information...</source>
-        <translation type="vanished">Información...</translation>
+        <translation>Información...</translation>
     </message>
     <message>
         <source>Build Overviews (Pyramids)...</source>
-        <translation type="vanished">Construir vistas generales (pirámides)...</translation>
+        <translation>Construir vistas generales (pirámides)...</translation>
     </message>
     <message>
         <source>Tile Index...</source>
-        <translation type="vanished">Índice de teselas...</translation>
+        <translation>Índice de teselas...</translation>
     </message>
     <message>
         <source>GdalTools Settings...</source>
-        <translation type="vanished">Configuración de GdalTools...</translation>
+        <translation>Configuración de GdalTools...</translation>
     </message>
     <message>
         <source>Warp an image into a new coordinate system</source>
-        <translation type="vanished">Reproyectar una imagen en un nuevo sistema de coordenadas</translation>
+        <translation>Reproyectar una imagen en un nuevo sistema de coordenadas</translation>
     </message>
     <message>
         <source>Add projection info to the raster</source>
-        <translation type="vanished">Añade información de proyección al ráster</translation>
+        <translation>Añade información de proyección al ráster</translation>
     </message>
     <message>
         <source>Extract projection information from raster(s)</source>
-        <translation type="vanished">Extraer información de la proyección de ráster(s)</translation>
+        <translation>Extraer información de la proyección de ráster(s)</translation>
     </message>
     <message>
         <source>Conversion</source>
-        <translation type="vanished">Conversión</translation>
+        <translation>Conversión</translation>
     </message>
     <message>
         <source>Burns vector geometries into a raster</source>
-        <translation type="vanished">Transforma geometrías vectoriales en un ráster</translation>
+        <translation>Transforma geometrías vectoriales en un ráster</translation>
     </message>
     <message>
         <source>Produces a polygon feature layer from a raster</source>
-        <translation type="vanished">Produce una capa de objetos espaciales poligonales a partir de un ráster</translation>
+        <translation>Produce una capa de objetos espaciales poligonales a partir de un ráster</translation>
     </message>
     <message>
         <source>Converts raster data between different formats</source>
-        <translation type="vanished">Convierte datos ráster entre diferentes formatos</translation>
+        <translation>Convierte datos ráster entre diferentes formatos</translation>
     </message>
     <message>
         <source>Convert a 24bit RGB image to 8bit paletted</source>
-        <translation type="vanished">Convierte una imagen RGB de 24 bits a paleta de 8 bits</translation>
+        <translation>Convierte una imagen RGB de 24 bits a paleta de 8 bits</translation>
     </message>
     <message>
         <source>Convert an 8bit paletted image to 24bit RGB</source>
-        <translation type="vanished">Convierte una imagen de paleta de 8 bits a RGB de 24 bits</translation>
+        <translation>Convierte una imagen de paleta de 8 bits a RGB de 24 bits</translation>
     </message>
     <message>
         <source>Extraction</source>
-        <translation type="vanished">Extracción</translation>
+        <translation>Extracción</translation>
     </message>
     <message>
         <source>Builds vector contour lines from a DEM</source>
-        <translation type="vanished">Construye curvas de nivel vectoriales a partir de un DEM (Modelo digital de elevaciones)</translation>
+        <translation>Construye curvas de nivel vectoriales a partir de un DEM (Modelo digital de elevaciones)</translation>
     </message>
     <message>
         <source>Analysis</source>
-        <translation type="vanished">Análisis</translation>
+        <translation>Análisis</translation>
     </message>
     <message>
         <source>Removes small raster polygons</source>
-        <translation type="vanished">Elimina pequeños polígonos ráster</translation>
+        <translation>Elimina pequeños polígonos ráster</translation>
     </message>
     <message>
         <source>Convert nearly black/white borders to exact value</source>
-        <translation type="vanished">Convierte bordes casi negros/blancos en valores exactos</translation>
+        <translation>Convierte bordes casi negros/blancos en valores exactos</translation>
     </message>
     <message>
         <source>Fill raster regions by interpolation from edges</source>
-        <translation type="vanished">Rellenar regiones del ráster por interpolación de los bordes</translation>
+        <translation>Rellenar regiones del ráster por interpolación de los bordes</translation>
     </message>
     <message>
         <source>Produces a raster proximity map</source>
-        <translation type="vanished">Produce un mapa ráster de proximidad</translation>
+        <translation>Produce un mapa ráster de proximidad</translation>
     </message>
     <message>
         <source>Create raster from the scattered data</source>
-        <translation type="vanished">Crear ráster a partir de los datos dispersos</translation>
+        <translation>Crear ráster a partir de los datos dispersos</translation>
     </message>
     <message>
         <source>Tool to analyze and visualize DEMs</source>
-        <translation type="vanished">Herramienta para analizar y visualizar MDE</translation>
+        <translation>Herramienta para analizar y visualizar MDE</translation>
     </message>
     <message>
         <source>Miscellaneous</source>
-        <translation type="vanished">Miscelánea</translation>
+        <translation>Miscelánea</translation>
     </message>
     <message>
         <source>Builds a VRT from a list of datasets</source>
-        <translation type="vanished">Construye un VRT a partir de una lista de conjuntos de datos</translation>
+        <translation>Construye un VRT a partir de una lista de conjuntos de datos</translation>
     </message>
     <message>
         <source>Build a quick mosaic from a set of images</source>
-        <translation type="vanished">Construye un mosaico rápido a partir de un conjunto de imágenes</translation>
+        <translation>Construye un mosaico rápido a partir de un conjunto de imágenes</translation>
     </message>
     <message>
         <source>Lists information about raster dataset</source>
-        <translation type="vanished">Lista información sobre conjuntos de datos ráster</translation>
+        <translation>Lista información sobre conjuntos de datos ráster</translation>
     </message>
     <message>
         <source>Builds or rebuilds overview images</source>
-        <translation type="vanished">Construye o reconstruye imágenes de vista general</translation>
+        <translation>Construye o reconstruye imágenes de vista general</translation>
     </message>
     <message>
         <source>Build a shapefile as a raster tileindex</source>
-        <translation type="vanished">Construir un archivo shape como índice de teselas ráster</translation>
+        <translation>Construir un archivo shape como índice de teselas ráster</translation>
     </message>
     <message>
         <source>Various settings for Gdal Tools</source>
-        <translation type="vanished">Varias configuraciones para Gdal Tools</translation>
+        <translation>Varias configuraciones para Gdal Tools</translation>
     </message>
 </context>
 <context>
     <name>GdalToolsAboutDialog</name>
     <message>
         <source>About Gdal Tools</source>
-        <translation type="vanished">Acerca de GdalTools</translation>
+        <translation>Acerca de GdalTools</translation>
     </message>
     <message>
         <source>GDAL Tools</source>
-        <translation type="vanished">Herramientas GDAL</translation>
+        <translation>Herramientas GDAL</translation>
     </message>
     <message>
         <source>Version x.x-xxxxxx</source>
-        <translation type="vanished">Versión x.x-xxxxxx</translation>
+        <translation>Versión x.x-xxxxxx</translation>
     </message>
     <message>
         <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
@@ -9662,7 +9662,7 @@ El complemento no se activará.</translation>
 p, li { white-space: pre-wrap; }
 </style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;">
 <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"></p></body></html></source>
-        <translation type="vanished"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+        <translation><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
 <html><head><meta name="qrichtext" content="1" /><style type="text/css">
 p, li { white-space: pre-wrap; }
 </style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;">
@@ -9670,38 +9670,38 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Web</source>
-        <translation type="vanished">Web</translation>
+        <translation>Web</translation>
     </message>
     <message>
         <source>Close</source>
-        <translation type="vanished">Cerrar</translation>
+        <translation>Cerrar</translation>
     </message>
 </context>
 <context>
     <name>GdalToolsBaseBatchWidget</name>
     <message>
         <source>Finished</source>
-        <translation type="vanished">Terminado</translation>
+        <translation>Terminado</translation>
     </message>
     <message>
         <source>Operation completed.</source>
-        <translation type="vanished">Operación completada.</translation>
+        <translation>Operación completada.</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="vanished">Advertencia</translation>
+        <translation>Advertencia</translation>
     </message>
 </context>
 <context>
     <name>GdalToolsBaseDialog</name>
     <message>
         <source>Warning</source>
-        <translation type="vanished">Advertencia</translation>
+        <translation>Advertencia</translation>
     </message>
     <message>
         <source>The command is still running. 
 Do you want terminate it anyway?</source>
-        <translation type="vanished">La orden aún se está ejecutando. 
+        <translation>La orden aún se está ejecutando. 
 ¿Quiere terminarla de todas formas?</translation>
     </message>
 </context>
@@ -9709,354 +9709,354 @@ Do you want terminate it anyway?</source>
     <name>GdalToolsBasePluginWidget</name>
     <message>
         <source>Warning</source>
-        <translation type="vanished">Advertencia</translation>
+        <translation>Advertencia</translation>
     </message>
     <message>
         <source>No output file created.</source>
-        <translation type="vanished">No se ha creado ningún archivo de salida.</translation>
+        <translation>No se ha creado ningún archivo de salida.</translation>
     </message>
     <message>
         <source>Finished</source>
-        <translation type="vanished">Terminado</translation>
+        <translation>Terminado</translation>
     </message>
     <message>
         <source>Processing completed.</source>
-        <translation type="vanished">Proceso completado.</translation>
+        <translation>Proceso completado.</translation>
     </message>
 </context>
 <context>
     <name>GdalToolsDialog</name>
     <message>
         <source>Dialog</source>
-        <translation type="vanished">Diálogo</translation>
+        <translation>Diálogo</translation>
     </message>
     <message>
         <source>&Load into canvas when finished</source>
-        <translation type="vanished">&Cargar en la vista del mapa cuando se termine</translation>
+        <translation>&Cargar en la vista del mapa cuando se termine</translation>
     </message>
     <message>
         <source>Edit</source>
-        <translation type="vanished">Editar</translation>
+        <translation>Editar</translation>
     </message>
     <message>
         <source>Reset</source>
-        <translation type="vanished">Restablecer</translation>
+        <translation>Restablecer</translation>
     </message>
     <message>
         <source>Extract projection</source>
-        <translation type="vanished">Extraer proyección</translation>
+        <translation>Extraer proyección</translation>
     </message>
     <message>
         <source>Batch mode (for processing whole directory)</source>
-        <translation type="vanished">Modo de lotes (para procesar todo el directorio)</translation>
+        <translation>Modo de lotes (para procesar todo el directorio)</translation>
     </message>
     <message>
         <source>&Input file</source>
-        <translation type="vanished">Arch&ivo de entrada</translation>
+        <translation>Arch&ivo de entrada</translation>
     </message>
     <message>
         <source>Recurse subdirectories</source>
-        <translation type="vanished">Subdirectorios de forma recursiva</translation>
+        <translation>Subdirectorios de forma recursiva</translation>
     </message>
     <message>
         <source>Create also prj file</source>
-        <translation type="vanished">Crear también archivo prj</translation>
+        <translation>Crear también archivo prj</translation>
     </message>
     <message>
         <source>Select the file for DEM</source>
-        <translation type="vanished">Seleccionar el archivo para MDT</translation>
+        <translation>Seleccionar el archivo para MDT</translation>
     </message>
     <message>
         <source>Select the raster file to save the results to</source>
-        <translation type="vanished">Seleccionar el archivo ráster en el que guardar los resultados</translation>
+        <translation>Seleccionar el archivo ráster en el que guardar los resultados</translation>
     </message>
     <message>
         <source>Select the color configuration file</source>
-        <translation type="vanished">Seleccionar el archivo de configuración de color</translation>
+        <translation>Seleccionar el archivo de configuración de color</translation>
     </message>
     <message>
         <source>Select the input file for Grid</source>
-        <translation type="vanished">Seleccionar el archivo de entrada para la cuadrícula</translation>
+        <translation>Seleccionar el archivo de entrada para la cuadrícula</translation>
     </message>
     <message>
         <source>Select the input file for Rasterize</source>
-        <translation type="vanished">Seleccionar el archivo de entrada para rasterizar</translation>
+        <translation>Seleccionar el archivo de entrada para rasterizar</translation>
     </message>
     <message>
         <source>Select the input file for Sieve</source>
-        <translation type="vanished">Seleccionar el archivo de entrada para filtrar</translation>
+        <translation>Seleccionar el archivo de entrada para filtrar</translation>
     </message>
     <message>
         <source>Select the input file for Warp</source>
-        <translation type="vanished">Seleccionar el archivo de entrada para reproyectar</translation>
+        <translation>Seleccionar el archivo de entrada para reproyectar</translation>
     </message>
     <message>
         <source>Select the mask file</source>
-        <translation type="vanished">Seleccionar el archivo de máscara</translation>
+        <translation>Seleccionar el archivo de máscara</translation>
     </message>
     <message>
         <source>Select the input directory with files to Warp</source>
-        <translation type="vanished">Seleccionar el directorio de entrada con los archivos a reproyectar</translation>
+        <translation>Seleccionar el directorio de entrada con los archivos a reproyectar</translation>
     </message>
     <message>
         <source>Select the output directory to save the results to</source>
-        <translation type="vanished">Seleccionar el directorio de salida en el que guardar los resultados</translation>
+        <translation>Seleccionar el directorio de salida en el que guardar los resultados</translation>
     </message>
     <message>
         <source>Select the input file for Translate</source>
-        <translation type="vanished">Seleccionar el archivo de entrada para traducir</translation>
+        <translation>Seleccionar el archivo de entrada para traducir</translation>
     </message>
     <message>
         <source>Select the input directory with files to Translate</source>
-        <translation type="vanished">Seleccione el directorio de entrada con los archivos a traducir</translation>
+        <translation>Seleccione el directorio de entrada con los archivos a traducir</translation>
     </message>
     <message>
         <source>Translate - srcwin</source>
-        <translation type="vanished">Traducir - srcwin</translation>
+        <translation>Traducir - srcwin</translation>
     </message>
     <message>
         <source>Image coordinates (pixels) must be integer numbers.</source>
-        <translation type="vanished">Las coordenadas de la imagen (píxeles) deben ser números enteros.</translation>
+        <translation>Las coordenadas de la imagen (píxeles) deben ser números enteros.</translation>
     </message>
     <message>
         <source>Translate - prjwin</source>
-        <translation type="vanished">Traducir - prjwin</translation>
+        <translation>Traducir - prjwin</translation>
     </message>
     <message>
         <source>Image coordinates (geographic) must be numbers.</source>
-        <translation type="vanished">Las coordenadas de la imagen (geográficas) deben ser números.</translation>
+        <translation>Las coordenadas de la imagen (geográficas) deben ser números.</translation>
     </message>
     <message>
         <source>Select the input directory with raster files</source>
-        <translation type="vanished">Seleccionar el directorio de entrada con archivos ráster</translation>
+        <translation>Seleccionar el directorio de entrada con archivos ráster</translation>
     </message>
     <message>
         <source>Select where to save the TileIndex output</source>
-        <translation type="vanished">Seleccionar dónde guardar la salida de índice de teselas</translation>
+        <translation>Seleccionar dónde guardar la salida de índice de teselas</translation>
     </message>
     <message>
         <source>Convert paletted image to RGB</source>
-        <translation type="vanished">Convertir imagen de paleta a RGB</translation>
+        <translation>Convertir imagen de paleta a RGB</translation>
     </message>
     <message>
         <source>Select the input file for convert</source>
-        <translation type="vanished">Seleccionar el archivo de entrada para convertir</translation>
+        <translation>Seleccionar el archivo de entrada para convertir</translation>
     </message>
     <message>
         <source>Select the input directory with files for convert</source>
-        <translation type="vanished">Seleccionar el directorio de entrada con archivos para convertir</translation>
+        <translation>Seleccionar el directorio de entrada con archivos para convertir</translation>
     </message>
     <message>
         <source>Select the file to analyse</source>
-        <translation type="vanished">Seleccionar el archivo a analizar</translation>
+        <translation>Seleccionar el archivo a analizar</translation>
     </message>
     <message>
         <source>Select the input directory with files to Assign projection</source>
-        <translation type="vanished">Seleccione el directorio de entrada con archivos a los que asignar la proyección</translation>
+        <translation>Seleccione el directorio de entrada con archivos a los que asignar la proyección</translation>
     </message>
     <message>
         <source>Copy</source>
-        <translation type="vanished">Copiar</translation>
+        <translation>Copiar</translation>
     </message>
     <message>
         <source>Copy all</source>
-        <translation type="vanished">Copiar todo</translation>
+        <translation>Copiar todo</translation>
     </message>
     <message>
         <source>Select the input file for Polygonize</source>
-        <translation type="vanished">Seleccionar el archivo de entrada para poligonizar</translation>
+        <translation>Seleccionar el archivo de entrada para poligonizar</translation>
     </message>
     <message>
         <source>Select the files for VRT</source>
-        <translation type="vanished">Seleccionar los archivos para VRT</translation>
+        <translation>Seleccionar los archivos para VRT</translation>
     </message>
     <message>
         <source>Select where to save the VRT</source>
-        <translation type="vanished">Seleccionar dónde guardar la salida el VRT</translation>
+        <translation>Seleccionar dónde guardar la salida el VRT</translation>
     </message>
     <message>
         <source>VRT (*.vrt)</source>
-        <translation type="vanished">VRT (*.vrt)</translation>
+        <translation>VRT (*.vrt)</translation>
     </message>
     <message>
         <source>Select the input directory with files for VRT</source>
-        <translation type="vanished">Seleccionar el directorio de entrada con archivos para VRT</translation>
+        <translation>Seleccionar el directorio de entrada con archivos para VRT</translation>
     </message>
     <message>
         <source>Select the input file for Near Black</source>
-        <translation type="vanished">Seleccionar el archivo de entrada para casi negro</translation>
+        <translation>Seleccionar el archivo de entrada para casi negro</translation>
     </message>
     <message>
         <source>Select the input file</source>
-        <translation type="vanished">Seleccionar el archivo de entrada</translation>
+        <translation>Seleccionar el archivo de entrada</translation>
     </message>
     <message>
         <source>Select the input directory with files</source>
-        <translation type="vanished">Seleccione el directorio de entrada con archivos</translation>
+        <translation>Seleccione el directorio de entrada con archivos</translation>
     </message>
     <message>
         <source>Select the files to Merge</source>
-        <translation type="vanished">Seleccionar los archivos a combinar</translation>
+        <translation>Seleccionar los archivos a combinar</translation>
     </message>
     <message>
         <source>Error retrieving the extent</source>
-        <translation type="vanished">Error al recuperar la extensión</translation>
+        <translation>Error al recuperar la extensión</translation>
     </message>
     <message>
         <source>GDAL was unable to retrieve the extent from any file. 
 The "Use intersected extent" option will be unchecked.</source>
-        <translation type="vanished">GDAL no pudo recuperra la extensión de ningún archivo. 
+        <translation>GDAL no pudo recuperra la extensión de ningún archivo. 
 Se desmarcará la opción "Usar extensión de la intersección".</translation>
     </message>
     <message>
         <source>Empty extent</source>
-        <translation type="vanished">Extensión vacía</translation>
+        <translation>Extensión vacía</translation>
     </message>
     <message>
         <source>The computed extent is empty. 
 Disable the "Use intersected extent" option to have a nonempty output.</source>
-        <translation type="vanished">La extensión procesada está vacía. 
+        <translation>La extensión procesada está vacía. 
 Desactive la opción "Usar extensión de la intersección" para obtener una salida no vacía.</translation>
     </message>
     <message>
         <source>Select where to save the Merge output</source>
-        <translation type="vanished">Seleccionar dónde guardar la salida de la combinación</translation>
+        <translation>Seleccionar dónde guardar la salida de la combinación</translation>
     </message>
     <message>
         <source>Select the input directory with files to Merge</source>
-        <translation type="vanished">Seleccionar el directorio de entrada con los archivos a combinar</translation>
+        <translation>Seleccionar el directorio de entrada con los archivos a combinar</translation>
     </message>
     <message>
         <source>Select the files to analyse</source>
-        <translation type="vanished">Seleccionar los archivos a analizar</translation>
+        <translation>Seleccionar los archivos a analizar</translation>
     </message>
     <message>
         <source>Select the input file for Contour</source>
-        <translation type="vanished">Seleccionar el archivo de entrada para las curvas de nivel</translation>
+        <translation>Seleccionar el archivo de entrada para las curvas de nivel</translation>
     </message>
     <message>
         <source>Select where to save the Contour output</source>
-        <translation type="vanished">Seleccionar dónde guardar la salida de las curvas de nivel</translation>
+        <translation>Seleccionar dónde guardar la salida de las curvas de nivel</translation>
     </message>
     <message>
         <source>Select the input file for Proximity</source>
-        <translation type="vanished">Seleccionar el archivo de entrada para proximidad</translation>
+        <translation>Seleccionar el archivo de entrada para proximidad</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="vanished">Advertencia</translation>
+        <translation>Advertencia</translation>
     </message>
     <message>
         <source>Warning: CRS information for all raster in subfolders will be rewritten. Are you sure?</source>
-        <translation type="vanished">Advertencia: la información del SRC de todos los rásters de las subcarpetas se sobrescribirá. ¿Está seguro?</translation>
+        <translation>Advertencia: la información del SRC de todos los rásters de las subcarpetas se sobrescribirá. ¿Está seguro?</translation>
     </message>
     <message>
         <source>Finished</source>
-        <translation type="vanished">Terminado</translation>
+        <translation>Terminado</translation>
     </message>
     <message>
         <source>Processing completed.</source>
-        <translation type="vanished">Proceso completado.</translation>
+        <translation>Proceso completado.</translation>
     </message>
     <message>
         <source>Assign projection</source>
-        <translation type="vanished">Asignar proyección</translation>
+        <translation>Asignar proyección</translation>
     </message>
     <message>
         <source>This raster already found in map canvas</source>
-        <translation type="vanished">Este ráster ya se encuentra en la vista del mapa</translation>
+        <translation>Este ráster ya se encuentra en la vista del mapa</translation>
     </message>
     <message>
         <source>Select where to save the Polygonize output</source>
-        <translation type="vanished">Seleccionar dónde guardar la salida de la poligonización</translation>
+        <translation>Seleccionar dónde guardar la salida de la poligonización</translation>
     </message>
 </context>
 <context>
     <name>GdalToolsExtentSelector</name>
     <message>
         <source>Select the extent by drag on canvas</source>
-        <translation type="vanished">Seleccionar la extensión arrastrando en el lienzo del mapa</translation>
+        <translation>Seleccionar la extensión arrastrando en el lienzo del mapa</translation>
     </message>
     <message>
         <source>or change the extent coordinates</source>
-        <translation type="vanished">o cambiar las coordenadas de la extensión</translation>
+        <translation>o cambiar las coordenadas de la extensión</translation>
     </message>
     <message>
         <source>x</source>
-        <translation type="vanished">x</translation>
+        <translation>x</translation>
     </message>
     <message>
         <source>y</source>
-        <translation type="vanished">y</translation>
+        <translation>y</translation>
     </message>
     <message>
         <source>2</source>
-        <translation type="vanished">2</translation>
+        <translation>2</translation>
     </message>
     <message>
         <source>1</source>
-        <translation type="vanished">1</translation>
+        <translation>1</translation>
     </message>
     <message>
         <source>Re-Enable</source>
-        <translation type="vanished">Rehabilitar</translation>
+        <translation>Rehabilitar</translation>
     </message>
 </context>
 <context>
     <name>GdalToolsInOutSelector</name>
     <message>
         <source>Select...</source>
-        <translation type="vanished">Seleccionar...</translation>
+        <translation>Seleccionar...</translation>
     </message>
 </context>
 <context>
     <name>GdalToolsOptionsTable</name>
     <message>
         <source>Name</source>
-        <translation type="vanished">Nombre</translation>
+        <translation>Nombre</translation>
     </message>
     <message>
         <source>Value</source>
-        <translation type="vanished">Valor</translation>
+        <translation>Valor</translation>
     </message>
     <message>
         <source>Add</source>
-        <translation type="vanished">Añadir</translation>
+        <translation>Añadir</translation>
     </message>
     <message>
         <source>Remove</source>
-        <translation type="vanished">Eliminar</translation>
+        <translation>Eliminar</translation>
     </message>
 </context>
 <context>
     <name>GdalToolsSettingsDialog</name>
     <message>
         <source>Gdal Tools settings</source>
-        <translation type="vanished">Configuración de Gdal Tools</translation>
+        <translation>Configuración de Gdal Tools</translation>
     </message>
     <message>
         <source>Path to the GDAL executables</source>
-        <translation type="vanished">Ruta a los ejecutables de GDAL</translation>
+        <translation>Ruta a los ejecutables de GDAL</translation>
     </message>
     <message>
         <source>Browse</source>
-        <translation type="vanished">Explorar</translation>
+        <translation>Explorar</translation>
     </message>
     <message>
         <source>Path to the GDAL python modules</source>
-        <translation type="vanished">Ruta a los módulos python de GDAL</translation>
+        <translation>Ruta a los módulos python de GDAL</translation>
     </message>
     <message>
         <source>GDAL help path</source>
-        <translation type="vanished">Ruta a la ayuda de GDAL</translation>
+        <translation>Ruta a la ayuda de GDAL</translation>
     </message>
     <message>
         <source>GDAL data path</source>
-        <translation type="vanished">Ruta de los datos de GDAL</translation>
+        <translation>Ruta de los datos de GDAL</translation>
     </message>
     <message>
         <source>GDAL driver path</source>
-        <translation type="vanished">Ruta del controlador de GDAL</translation>
+        <translation>Ruta del controlador de GDAL</translation>
     </message>
     <message>
         <source>A list of colon-separated (Linux and MacOS) or
@@ -10065,7 +10065,7 @@ and python executables.
 
 MacOS users usually need to set it to something like
 /Library/Frameworks/GDAL.framework/Versions/1.8/Programs</source>
-        <translation type="vanished">Una lista separados por dos puntos (Linux y MacOS) o ⏎
+        <translation>Una lista separados por dos puntos (Linux y MacOS) o ⏎
 separados por punto y coma (Windows) caminos para ambos binarios ⏎
 y ejecutables de Python. ⏎
 ⏎
@@ -10075,754 +10075,754 @@ Usuarios de MacOS en general tienen que ponerlo en algo así como ⏎
     <message>
         <source>A list of colon-separated (Linux and MacOS) or
 semicolon-separated (Windows) paths to python modules.</source>
-        <translation type="vanished">Una lista separados por dos puntos (Linux y MacOS) o ⏎
+        <translation>Una lista separados por dos puntos (Linux y MacOS) o ⏎
 separados por punto y coma (Windows) caminos para módulos de python.</translation>
     </message>
     <message>
         <source>Useful to open local GDAL documentation instead of online help
 when pressing on the tool dialog's Help button.</source>
-        <translation type="vanished">Útil para abrir la documentación de GDAL local de ayuda en línea ⏎
+        <translation>Útil para abrir la documentación de GDAL local de ayuda en línea ⏎
 al pulsar el botón Ayuda del cuadro de diálogo de la herramienta.</translation>
     </message>
     <message>
         <source>Select directory with GDAL executables</source>
-        <translation type="vanished">Seleccionar el directorio con los ejecutables de GDAL</translation>
+        <translation>Seleccionar el directorio con los ejecutables de GDAL</translation>
     </message>
     <message>
         <source>Select directory with GDAL python modules</source>
-        <translation type="vanished">Seleccionar el directorio con los módulos python de GDAL</translation>
+        <translation>Seleccionar el directorio con los módulos python de GDAL</translation>
     </message>
     <message>
         <source>Select directory with the GDAL documentation</source>
-        <translation type="vanished">Seleccionar el directorio con la documentación de GDAL</translation>
+        <translation>Seleccionar el directorio con la documentación de GDAL</translation>
     </message>
 </context>
 <context>
     <name>GdalToolsWidget</name>
     <message>
         <source>Build Virtual Raster (Catalog)</source>
-        <translation type="vanished">Construir ráster virtual (catálogo)</translation>
+        <translation>Construir ráster virtual (catálogo)</translation>
     </message>
     <message>
         <source>Use visible raster layers for input</source>
-        <translation type="vanished">Usar capas ráster visibles para la entrada</translation>
+        <translation>Usar capas ráster visibles para la entrada</translation>
     </message>
     <message>
         <source>Choose input directory instead of files</source>
-        <translation type="vanished">Seleccione el directorio de entrada en vez de archivos</translation>
+        <translation>Seleccione el directorio de entrada en vez de archivos</translation>
     </message>
     <message>
         <source>&Input files</source>
-        <translation type="vanished">Arch&ivos de entrada</translation>
+        <translation>Arch&ivos de entrada</translation>
     </message>
     <message>
         <source>Recurse subdirectories</source>
-        <translation type="vanished">Subdirectorios de forma recursiva</translation>
+        <translation>Subdirectorios de forma recursiva</translation>
     </message>
     <message>
         <source>&Output file</source>
-        <translation type="vanished">Archiv&o de salida</translation>
+        <translation>Archiv&o de salida</translation>
     </message>
     <message>
         <source>Target SRS</source>
-        <translation type="vanished">SRE de destino</translation>
+        <translation>SRE de destino</translation>
     </message>
     <message>
         <source>&Resolution</source>
-        <translation type="vanished">&Resolución</translation>
+        <translation>&Resolución</translation>
     </message>
     <message>
         <source>Highest</source>
-        <translation type="vanished">La más alta</translation>
+        <translation>La más alta</translation>
     </message>
     <message>
         <source>Average</source>
-        <translation type="vanished">Promedio</translation>
+        <translation>Promedio</translation>
     </message>
     <message>
         <source>Lowest</source>
-        <translation type="vanished">La más baja</translation>
+        <translation>La más baja</translation>
     </message>
     <message>
         <source>Select</source>
-        <translation type="vanished">Seleccionar</translation>
+        <translation>Seleccionar</translation>
     </message>
     <message>
         <source>&Source No Data</source>
-        <translation type="vanished">Origen &sin datos</translation>
+        <translation>Origen &sin datos</translation>
     </message>
     <message>
         <source>Se&parate</source>
-        <translation type="vanished">Se&parar</translation>
+        <translation>Se&parar</translation>
     </message>
     <message>
         <source>Allow projection difference</source>
-        <translation type="vanished">Permitir diferencia de proyección</translation>
+        <translation>Permitir diferencia de proyección</translation>
     </message>
     <message>
         <source>Clipper</source>
-        <translation type="vanished">Clipper</translation>
+        <translation>Clipper</translation>
     </message>
     <message>
         <source>&No data value</source>
-        <translation type="vanished">Valor de si&n datos</translation>
+        <translation>Valor de si&n datos</translation>
     </message>
     <message>
         <source>&Input file (raster)</source>
-        <translation type="vanished">Arch&ivo de entrada (ráster)</translation>
+        <translation>Arch&ivo de entrada (ráster)</translation>
     </message>
     <message>
         <source>Clipping mode</source>
-        <translation type="vanished">Modo de corte</translation>
+        <translation>Modo de corte</translation>
     </message>
     <message>
         <source>X Resolution</source>
-        <translation type="vanished">Resolución X</translation>
+        <translation>Resolución X</translation>
     </message>
     <message>
         <source>Y Resolution</source>
-        <translation type="vanished">Resolución Y</translation>
+        <translation>Resolución Y</translation>
     </message>
     <message>
         <source>Set output file resolution</source>
-        <translation type="vanished">Establecer resolución del archivo de salida</translation>
+        <translation>Establecer resolución del archivo de salida</translation>
     </message>
     <message>
         <source>Keep resolution of input raster</source>
-        <translation type="vanished">Mantener resolución del ráster de entrada</translation>
+        <translation>Mantener resolución del ráster de entrada</translation>
     </message>
     <message>
         <source>Crop the extent of the target dataset to the extent of the cutline</source>
-        <translation type="vanished">Recortar la extensión del conjunto de datos de destino a la extensión de la línea de corte</translation>
+        <translation>Recortar la extensión del conjunto de datos de destino a la extensión de la línea de corte</translation>
     </message>
     <message>
         <source>Extent</source>
-        <translation type="vanished">Extensión</translation>
+        <translation>Extensión</translation>
     </message>
     <message>
         <source>Mask layer</source>
-        <translation type="vanished">Capa de máscara</translation>
+        <translation>Capa de máscara</translation>
     </message>
     <message>
         <source>Create an output alpha band</source>
-        <translation type="vanished">Crear una banda alfa de salida</translation>
+        <translation>Crear una banda alfa de salida</translation>
     </message>
     <message>
         <source>Contour</source>
-        <translation type="vanished">Curvas de nivel</translation>
+        <translation>Curvas de nivel</translation>
     </message>
     <message>
         <source>&Output file for contour lines (vector)</source>
-        <translation type="vanished">Archiv&o de salida para curvas de nivel (vectorial)</translation>
+        <translation>Archiv&o de salida para curvas de nivel (vectorial)</translation>
     </message>
     <message>
         <source>I&nterval between contour lines</source>
-        <translation type="vanished">I&ntervalo entre curvas de nivel</translation>
+        <translation>I&ntervalo entre curvas de nivel</translation>
     </message>
     <message>
         <source>&Attribute name</source>
-        <translation type="vanished">Nombre de &atributo</translation>
+        <translation>Nombre de &atributo</translation>
     </message>
     <message>
         <source>If not provided, no elevation attribute is attached.</source>
-        <translation type="vanished">Si no se proporciona no se adjuntará ningún campo de altitud.</translation>
+        <translation>Si no se proporciona no se adjuntará ningún campo de altitud.</translation>
     </message>
     <message>
         <source>ELEV</source>
-        <translation type="vanished">ALT</translation>
+        <translation>ALT</translation>
     </message>
     <message>
         <source>Convert RGB image to paletted</source>
-        <translation type="vanished">Convertir imagen RGB a paleta</translation>
+        <translation>Convertir imagen RGB a paleta</translation>
     </message>
     <message>
         <source>Batch mode (for processing whole directory)</source>
-        <translation type="vanished">Modo de lotes (para procesar todo el directorio)</translation>
+        <translation>Modo de lotes (para procesar todo el directorio)</translation>
     </message>
     <message>
         <source>&Input file</source>
-        <translation type="vanished">Arch&ivo de entrada</translation>
+        <translation>Arch&ivo de entrada</translation>
     </message>
     <message>
         <source>Number of colors</source>
-        <translation type="vanished">Número de colores</translation>
+        <translation>Número de colores</translation>
     </message>
     <message>
         <source>Band to convert</source>
-        <translation type="vanished">Banda a convertir</translation>
+        <translation>Banda a convertir</translation>
     </message>
     <message>
         <source>DEM (Terrain models)</source>
-        <translation type="vanished">MDE (modelos de terreno)</translation>
+        <translation>MDE (modelos de terreno)</translation>
     </message>
     <message>
         <source>&Input file (DEM raster)</source>
-        <translation type="vanished">Archivo de &entrada (MDT ráster)</translation>
+        <translation>Archivo de &entrada (MDT ráster)</translation>
     </message>
     <message>
         <source>&Band</source>
-        <translation type="vanished">&Banda</translation>
+        <translation>&Banda</translation>
     </message>
     <message>
         <source>Compute &edges</source>
-        <translation type="vanished">Procesar bord&es</translation>
+        <translation>Procesar bord&es</translation>
     </message>
     <message>
         <source>Use Zevenbergen&&Thorne formula (instead of the Horn's one)</source>
-        <translation type="vanished">Usar la fórmula de Zevenbergen&&Thorne (en vez de la de Horn)</translation>
+        <translation>Usar la fórmula de Zevenbergen&&Thorne (en vez de la de Horn)</translation>
     </message>
     <message>
         <source>&Mode</source>
-        <translation type="vanished">&Modo</translation>
+        <translation>&Modo</translation>
     </message>
     <message>
         <source>Hillshade</source>
-        <translation type="vanished">Mapa de Sombras (Hillshade)</translation>
+        <translation>Mapa de Sombras (Hillshade)</translation>
     </message>
     <message>
         <source>Slope</source>
-        <translation type="vanished">Pendiente</translation>
+        <translation>Pendiente</translation>
     </message>
     <message>
         <source>Aspect</source>
-        <translation type="vanished">Aspecto</translation>
+        <translation>Aspecto</translation>
     </message>
     <message>
         <source>Color relief</source>
-        <translation type="vanished">Relieve de color</translation>
+        <translation>Relieve de color</translation>
     </message>
     <message>
         <source>TRI (Terrain Ruggedness Index)</source>
-        <translation type="vanished">TRI (Índice Irregularidad del Terreno)</translation>
+        <translation>TRI (Índice Irregularidad del Terreno)</translation>
     </message>
     <message>
         <source>TPI (Topographic Position Index)</source>
-        <translation type="vanished">TPI (Índice de Posición Topografico)</translation>
+        <translation>TPI (Índice de Posición Topografico)</translation>
     </message>
     <message>
         <source>Roughness</source>
-        <translation type="vanished">Irregularidad</translation>
+        <translation>Irregularidad</translation>
     </message>
     <message>
         <source>Mode Options</source>
-        <translation type="vanished">Opciones del modo de</translation>
+        <translation>Opciones del modo de</translation>
     </message>
     <message>
         <source>Z factor (vertical exaggeration)</source>
-        <translation type="vanished">Factor Z (exageración vertical)</translation>
+        <translation>Factor Z (exageración vertical)</translation>
     </message>
     <message>
         <source>Scale (ratio of vert. units to horiz.)</source>
-        <translation type="vanished">Escala (relación de unidades vert. a horiz.)</translation>
+        <translation>Escala (relación de unidades vert. a horiz.)</translation>
     </message>
     <message>
         <source>Azimuth of the light</source>
-        <translation type="vanished">Azimut de la luz</translation>
+        <translation>Azimut de la luz</translation>
     </message>
     <message>
         <source>Altitude of the light</source>
-        <translation type="vanished">Altitud de la luz</translation>
+        <translation>Altitud de la luz</translation>
     </message>
     <message>
         <source>Slope expressed as percent (instead of as degrees)</source>
-        <translation type="vanished">Pendiente expresada en porcentaje (en vez de grados)</translation>
+        <translation>Pendiente expresada en porcentaje (en vez de grados)</translation>
     </message>
     <message>
         <source>Return trigonometric angle (instead of azimuth)</source>
-        <translation type="vanished">Devolver ángulo trigonométrico (en vez de azimut)</translation>
+        <translation>Devolver ángulo trigonométrico (en vez de azimut)</translation>
     </message>
     <message>
         <source>Return 0 for flat (instead of -9999)</source>
-        <translation type="vanished">Devolver 0 para llano (en vez de 9999)</translation>
+        <translation>Devolver 0 para llano (en vez de 9999)</translation>
     </message>
     <message>
         <source>Color configuration file</source>
-        <translation type="vanished">Archivo de configuración de color</translation>
+        <translation>Archivo de configuración de color</translation>
     </message>
     <message>
         <source>Matching mode</source>
-        <translation type="vanished">Modo de emparejamiento</translation>
+        <translation>Modo de emparejamiento</translation>
     </message>
     <message>
         <source>Exact color (otherwise "0,0,0,0" RGBA)</source>
-        <translation type="vanished">Color exacto (de lo contrario "0,0,0,0" RGBA)</translation>
+        <translation>Color exacto (de lo contrario "0,0,0,0" RGBA)</translation>
     </message>
     <message>
         <source>Nearest color</source>
-        <translation type="vanished">Color más próximo</translation>
+        <translation>Color más próximo</translation>
     </message>
     <message>
         <source>Add alpha channel</source>
-        <translation type="vanished">Añadir canal alfa</translation>
+        <translation>Añadir canal alfa</translation>
     </message>
     <message>
         <source>&Creation Options</source>
-        <translation type="vanished">Opciones de &creación</translation>
+        <translation>Opciones de &creación</translation>
     </message>
     <message>
         <source>Fill Nodata</source>
-        <translation type="vanished">Rellenar sin datos</translation>
+        <translation>Rellenar sin datos</translation>
     </message>
     <message>
         <source>&Input Layer</source>
-        <translation type="vanished">Capa de &entrada</translation>
+        <translation>Capa de &entrada</translation>
     </message>
     <message>
         <source>Output format</source>
-        <translation type="vanished">Formato de salida</translation>
+        <translation>Formato de salida</translation>
     </message>
     <message>
         <source>Search distance</source>
-        <translation type="vanished">Distancia de búsqueda</translation>
+        <translation>Distancia de búsqueda</translation>
     </message>
     <message>
         <source>Smooth iterations</source>
-        <translation type="vanished">Iteraciones suaves</translation>
+        <translation>Iteraciones suaves</translation>
     </message>
     <message>
         <source>Band to operate on</source>
-        <translation type="vanished">Banda sobre la que operar</translation>
+        <translation>Banda sobre la que operar</translation>
     </message>
     <message>
         <source>Validity mask</source>
-        <translation type="vanished">Máscara de validación</translation>
+        <translation>Máscara de validación</translation>
     </message>
     <message>
         <source>Do not use the default validity mask</source>
-        <translation type="vanished">No usar la máscara de validación predeterminada</translation>
+        <translation>No usar la máscara de validación predeterminada</translation>
     </message>
     <message>
         <source>Grid (Interpolation)</source>
-        <translation type="vanished">Cuadrícula (interpolación)</translation>
+        <translation>Cuadrícula (interpolación)</translation>
     </message>
     <message>
         <source>&Z Field</source>
-        <translation type="vanished">Campo &Z</translation>
+        <translation>Campo &Z</translation>
     </message>
     <message>
         <source>&Algorithm</source>
-        <translation type="vanished">&Algoritmo</translation>
+        <translation>&Algoritmo</translation>
     </message>
     <message>
         <source>Inverse distance to a power</source>
-        <translation type="vanished">Distancia inversa a una potencia</translation>
+        <translation>Distancia inversa a una potencia</translation>
     </message>
     <message>
         <source>Moving average</source>
-        <translation type="vanished">Desplazamiento medio</translation>
+        <translation>Desplazamiento medio</translation>
     </message>
     <message>
         <source>Nearest neighbor</source>
-        <translation type="vanished">Vecino más próximo</translation>
+        <translation>Vecino más próximo</translation>
     </message>
     <message>
         <source>Data metrics</source>
-        <translation type="vanished">Métrica de los datos</translation>
+        <translation>Métrica de los datos</translation>
     </message>
     <message>
         <source>Power</source>
-        <translation type="vanished">Potencia</translation>
+        <translation>Potencia</translation>
     </message>
     <message>
         <source>Smoothing</source>
-        <translation type="vanished">Suavizado</translation>
+        <translation>Suavizado</translation>
     </message>
     <message>
         <source>Radius1</source>
-        <translation type="vanished">Radio1</translation>
+        <translation>Radio1</translation>
     </message>
     <message>
         <source>Radius2</source>
-        <translation type="vanished">Radio2</translation>
+        <translation>Radio2</translation>
     </message>
     <message>
         <source>Max points</source>
-        <translation type="vanished">Puntos máximo</translation>
+        <translation>Puntos máximo</translation>
     </message>
     <message>
         <source>Min points</source>
-        <translation type="vanished">Puntos mínimo</translation>
+        <translation>Puntos mínimo</translation>
     </message>
     <message>
         <source>Angle</source>
-        <translation type="vanished">Ángulo</translation>
+        <translation>Ángulo</translation>
     </message>
     <message>
         <source>No data</source>
-        <translation type="vanished">Sin datos</translation>
+        <translation>Sin datos</translation>
     </message>
     <message>
         <source>Metrics</source>
-        <translation type="vanished">Métrica</translation>
+        <translation>Métrica</translation>
     </message>
     <message>
         <source>Minimum</source>
-        <translation type="vanished">Mínimo</translation>
+        <translation>Mínimo</translation>
     </message>
     <message>
         <source>Maximum</source>
-        <translation type="vanished">Máximo</translation>
+        <translation>Máximo</translation>
     </message>
     <message>
         <source>Range</source>
-        <translation type="vanished">Rango</translation>
+        <translation>Rango</translation>
     </message>
     <message>
         <source>Resize</source>
-        <translation type="vanished">Redimensionar</translation>
+        <translation>Redimensionar</translation>
     </message>
     <message>
         <source>Width</source>
-        <translation type="vanished">Anchura</translation>
+        <translation>Anchura</translation>
     </message>
     <message>
         <source>Height</source>
-        <translation type="vanished">Altura</translation>
+        <translation>Altura</translation>
     </message>
     <message>
         <source>Info</source>
-        <translation type="vanished">Info</translation>
+        <translation>Info</translation>
     </message>
     <message>
         <source>Raster info</source>
-        <translation type="vanished">Información del ráster</translation>
+        <translation>Información del ráster</translation>
     </message>
     <message>
         <source>Suppress GCP printing</source>
-        <translation type="vanished">Suprimir impresión de PTC</translation>
+        <translation>Suprimir impresión de PTC</translation>
     </message>
     <message>
         <source>Suppress metadata printing</source>
-        <translation type="vanished">Suprimir impresión de metadatos</translation>
+        <translation>Suprimir impresión de metadatos</translation>
     </message>
     <message>
         <source>Merge</source>
-        <translation type="vanished">Combinar</translation>
+        <translation>Combinar</translation>
     </message>
     <message>
         <source>Place each input file into a separate band</source>
-        <translation type="vanished">Coloque cada archivo de entrada en una banda separada</translation>
+        <translation>Coloque cada archivo de entrada en una banda separada</translation>
     </message>
     <message>
         <source>Use intersected extent</source>
-        <translation type="vanished">Usar extensión intersectada</translation>
+        <translation>Usar extensión intersectada</translation>
     </message>
     <message>
         <source>Grab pseudocolor table from the first image</source>
-        <translation type="vanished">Obtener tabla de pseudocolor de la primera imagen</translation>
+        <translation>Obtener tabla de pseudocolor de la primera imagen</translation>
     </message>
     <message>
         <source>Near Black</source>
-        <translation type="vanished">Casi negro</translation>
+        <translation>Casi negro</translation>
     </message>
     <message>
         <source>How &far from black (or white)</source>
-        <translation type="vanished">Cómo de &lejos del negro (o blanco)</translation>
+        <translation>Cómo de &lejos del negro (o blanco)</translation>
     </message>
     <message>
         <source>Search for nearly &white (255) pixels instead of black ones</source>
-        <translation type="vanished">Buscar píxeles casi &blancos (255) en vez de negros</translation>
+        <translation>Buscar píxeles casi &blancos (255) en vez de negros</translation>
     </message>
     <message>
         <source>Build overviews (Pyramids)</source>
-        <translation type="vanished">Construir vistas generales (pirámides)</translation>
+        <translation>Construir vistas generales (pirámides)</translation>
     </message>
     <message>
         <source>Remove all overviews.</source>
-        <translation type="vanished">Eliminar todas las vistas generales.</translation>
+        <translation>Eliminar todas las vistas generales.</translation>
     </message>
     <message>
         <source>Clean</source>
-        <translation type="vanished">Limpiar</translation>
+        <translation>Limpiar</translation>
     </message>
     <message>
         <source>Polygonize (Raster to vector)</source>
-        <translation type="vanished">Poligonizar (Ráster a vectorial)</translation>
+        <translation>Poligonizar (Ráster a vectorial)</translation>
     </message>
     <message>
         <source>&Output file for polygons (shapefile)</source>
-        <translation type="vanished">Archivo de &salida para los polígonos (archivo shape)</translation>
+        <translation>Archivo de &salida para los polígonos (archivo shape)</translation>
     </message>
     <message>
         <source>&Field name</source>
-        <translation type="vanished">Nombre del &campo</translation>
+        <translation>Nombre del &campo</translation>
     </message>
     <message>
         <source>DN</source>
-        <translation type="vanished">DN</translation>
+        <translation>DN</translation>
     </message>
     <message>
         <source>Use mask</source>
-        <translation type="vanished">Usar máscara</translation>
+        <translation>Usar máscara</translation>
     </message>
     <message>
         <source>Assign projection</source>
-        <translation type="vanished">Asignar proyección</translation>
+        <translation>Asignar proyección</translation>
     </message>
     <message>
         <source>WARNING: current projection definition will be cleared</source>
-        <translation type="vanished">ADVERTENCIA: la definición actual de la proyección se borrará</translation>
+        <translation>ADVERTENCIA: la definición actual de la proyección se borrará</translation>
     </message>
     <message>
         <source>Desired SRS</source>
-        <translation type="vanished">SRE deseado</translation>
+        <translation>SRE deseado</translation>
     </message>
     <message>
         <source>Output will be:
 - new GeoTiff if input file is not GeoTiff
 - overwritten if input is GeoTiff</source>
-        <translation type="vanished">La salida será:
+        <translation>La salida será:
 - nuevo GeoTiff si el archivo de entrado no es GeoTiff
 - sobrescrita si la entrada es GeoTiff</translation>
     </message>
     <message>
         <source>Select...</source>
-        <translation type="vanished">Seleccionar...</translation>
+        <translation>Seleccionar...</translation>
     </message>
     <message>
         <source>Proximity (Raster distance)</source>
-        <translation type="vanished">Proximidad (distancia ráster)</translation>
+        <translation>Proximidad (distancia ráster)</translation>
     </message>
     <message>
         <source>&Values</source>
-        <translation type="vanished">&Valores</translation>
+        <translation>&Valores</translation>
     </message>
     <message>
         <source>&Dist units</source>
-        <translation type="vanished">Unidades de &distancia</translation>
+        <translation>Unidades de &distancia</translation>
     </message>
     <message>
         <source>GEO</source>
-        <translation type="vanished">GEO</translation>
+        <translation>GEO</translation>
     </message>
     <message>
         <source>PIXEL</source>
-        <translation type="vanished">PÍXEL</translation>
+        <translation>PÍXEL</translation>
     </message>
     <message>
         <source>&Max dist</source>
-        <translation type="vanished">Distancia &máxima</translation>
+        <translation>Distancia &máxima</translation>
     </message>
     <message>
         <source>&No data</source>
-        <translation type="vanished">Si&n datos</translation>
+        <translation>Si&n datos</translation>
     </message>
     <message>
         <source>&Fixed buf val</source>
-        <translation type="vanished">Valor de buffer &fijo</translation>
+        <translation>Valor de buffer &fijo</translation>
     </message>
     <message>
         <source>0</source>
-        <translation type="vanished">0</translation>
+        <translation>0</translation>
     </message>
     <message>
         <source>Rasterize (Vector to raster)</source>
-        <translation type="vanished">Rasterizar (Vectorial a ráster)</translation>
+        <translation>Rasterizar (Vectorial a ráster)</translation>
     </message>
     <message>
         <source>&Input file (shapefile)</source>
-        <translation type="vanished">Arch&ivo de entrada (archivo shape)</translation>
+        <translation>Arch&ivo de entrada (archivo shape)</translation>
     </message>
     <message>
         <source>&Attribute field</source>
-        <translation type="vanished">Campo de &atributos</translation>
+        <translation>Campo de &atributos</translation>
     </message>
     <message>
         <source>&Output file for rasterized vectors (raster)</source>
-        <translation type="vanished">Archiv&o de salida para los vectoriales rasterizados (ráster)</translation>
+        <translation>Archiv&o de salida para los vectoriales rasterizados (ráster)</translation>
     </message>
     <message>
         <source>Horizontal</source>
-        <translation type="vanished">Horizontal</translation>
+        <translation>Horizontal</translation>
     </message>
     <message>
         <source>Vertical</source>
-        <translation type="vanished">Vertical</translation>
+        <translation>Vertical</translation>
     </message>
     <message>
         <source>Sieve</source>
-        <translation type="vanished">Filtrado</translation>
+        <translation>Filtrado</translation>
     </message>
     <message>
         <source>&Threshold</source>
-        <translation type="vanished">&Umbral</translation>
+        <translation>&Umbral</translation>
     </message>
     <message>
         <source>&Pixel connections</source>
-        <translation type="vanished">Conexiones de &píxeles</translation>
+        <translation>Conexiones de &píxeles</translation>
     </message>
     <message>
         <source>4</source>
-        <translation type="vanished">4</translation>
+        <translation>4</translation>
     </message>
     <message>
         <source>8</source>
-        <translation type="vanished">8</translation>
+        <translation>8</translation>
     </message>
     <message>
         <source>Raster tile index</source>
-        <translation type="vanished">Índice de teselas ráster</translation>
+        <translation>Índice de teselas ráster</translation>
     </message>
     <message>
         <source>Input directory</source>
-        <translation type="vanished">Directorio de entrada</translation>
+        <translation>Directorio de entrada</translation>
     </message>
     <message>
         <source>Output shapefile</source>
-        <translation type="vanished">Archivo shape de salida</translation>
+        <translation>Archivo shape de salida</translation>
     </message>
     <message>
         <source>Tile index field</source>
-        <translation type="vanished">Campo de índice de teselas</translation>
+        <translation>Campo de índice de teselas</translation>
     </message>
     <message>
         <source>location</source>
-        <translation type="vanished">localización</translation>
+        <translation>localización</translation>
     </message>
     <message>
         <source>Skip files with different projection ref</source>
-        <translation type="vanished">Omitir archivos con distinta referencia de proyección</translation>
+        <translation>Omitir archivos con distinta referencia de proyección</translation>
     </message>
     <message>
         <source>Translate (Convert format)</source>
-        <translation type="vanished">Traducir (convertir formato)</translation>
+        <translation>Traducir (convertir formato)</translation>
     </message>
     <message>
         <source>&Target SRS</source>
-        <translation type="vanished">SRE de des&tino</translation>
+        <translation>SRE de des&tino</translation>
     </message>
     <message>
         <source>Percentage to resize image. This will change pixel size/image resolution accordingly: 25% will create an image with pixels 4x larger.</source>
-        <translation type="vanished">Porcentaje para cambiar el tamaño de imagen. Esto cambiará el tamaño de píxel/resolución de la imagen: 25% creará una imagen con píxeles 4x más grandes.</translation>
+        <translation>Porcentaje para cambiar el tamaño de imagen. Esto cambiará el tamaño de píxel/resolución de la imagen: 25% creará una imagen con píxeles 4x más grandes.</translation>
     </message>
     <message>
         <source>Outsize</source>
-        <translation type="vanished">Tamaño de salida</translation>
+        <translation>Tamaño de salida</translation>
     </message>
     <message>
         <source>%</source>
-        <translation type="vanished">%</translation>
+        <translation>%</translation>
     </message>
     <message>
         <source>Assign a specified nodata value to output bands.</source>
-        <translation type="vanished">Asignar un valor de sin datos especificado a las bandas de salida.</translation>
+        <translation>Asignar un valor de sin datos especificado a las bandas de salida.</translation>
     </message>
     <message>
         <source>To expose a dataset with 1 band with a color table as a dataset with 3 (RGB) or 4 (RGBA) bands. 
 Useful for output drivers such as JPEG, JPEG2000, MrSID, ECW that don't support color indexed datasets. 
 The 'gray' value (from GDAL 1.7.0) enables to expand a dataset with a color table that only contains gray levels to a gray indexed dataset.</source>
-        <translation type="vanished">Para exponer un conjunto de datos con una banda con una tabla de color como un conjunto de datos con 3 (RGB) o 4 (RGBA) bandas.
+        <translation>Para exponer un conjunto de datos con una banda con una tabla de color como un conjunto de datos con 3 (RGB) o 4 (RGBA) bandas.
 Útil para controladores de salida tales como JPEG, JPEG2000, MrSID, ECW que no admiten conjuntos indexados de colores.
 El valor «gris» (de GDAL 1.7.0) habilita expandir un conjunto de datos con una tabla de color que sólo contiene tonos de gris a un conjunto de datos de gris indexado.</translation>
     </message>
     <message>
         <source>Expand</source>
-        <translation type="vanished">Expandir</translation>
+        <translation>Expandir</translation>
     </message>
     <message>
         <source>Gray</source>
-        <translation type="vanished">Gris</translation>
+        <translation>Gris</translation>
     </message>
     <message>
         <source>RGB</source>
-        <translation type="vanished">RGB</translation>
+        <translation>RGB</translation>
     </message>
     <message>
         <source>RGBA</source>
-        <translation type="vanished">RGBA</translation>
+        <translation>RGBA</translation>
     </message>
     <message>
         <source>Selects a subwindow from the source image for copying based on pixel/line location. (Enter Xoff Yoff Xsize Ysize)</source>
-        <translation type="vanished">Selecciona una subventana de la imagen de origen para copiar, basada en la localización de píxel/línea (Introducir Xoff Yoff Xsize Ysize)</translation>
+        <translation>Selecciona una subventana de la imagen de origen para copiar, basada en la localización de píxel/línea (Introducir Xoff Yoff Xsize Ysize)</translation>
     </message>
     <message>
         <source>Srcwin</source>
-        <translation type="vanished">Srcwin</translation>
+        <translation>Srcwin</translation>
     </message>
     <message>
         <source>Selects a subwindow from the source image for copying (like -srcwin) but with the corners given in georeferenced coordinates. (Enter ulx uly lrx lry)</source>
-        <translation type="vanished">Selecciona una subventana de la imagen de origen para copiar (como srcwin), pero con las esquinas dadas en coordenadas georreferenciadas (Introducir XSupIzq, YSupIzq, XInfDcha, YInfDcha)</translation>
+        <translation>Selecciona una subventana de la imagen de origen para copiar (como srcwin), pero con las esquinas dadas en coordenadas georreferenciadas (Introducir XSupIzq, YSupIzq, XInfDcha, YInfDcha)</translation>
     </message>
     <message>
         <source>Prjwin</source>
-        <translation type="vanished">Prjwin</translation>
+        <translation>Prjwin</translation>
     </message>
     <message>
         <source>Copy all subdatasets of this file to individual output files. Use with formats like HDF or OGDI that have subdatasets.</source>
-        <translation type="vanished">Copiar todos los subconjuntos de datos de este archivo a arhivos individuales de salida. Usar con formatos como HDF o OGDI que tienen subconjuntos de datos.</translation>
+        <translation>Copiar todos los subconjuntos de datos de este archivo a arhivos individuales de salida. Usar con formatos como HDF o OGDI que tienen subconjuntos de datos.</translation>
     </message>
     <message>
         <source>Sds</source>
-        <translation type="vanished">SCD</translation>
+        <translation>SCD</translation>
     </message>
     <message>
         <source>Warp (Reproject)</source>
-        <translation type="vanished">Combar (Reproyectar)</translation>
+        <translation>Combar (Reproyectar)</translation>
     </message>
     <message>
         <source>&Source SRS</source>
-        <translation type="vanished">SRE de &origen</translation>
+        <translation>SRE de &origen</translation>
     </message>
     <message>
         <source>&Resampling method</source>
-        <translation type="vanished">Método de &remuestreo</translation>
+        <translation>Método de &remuestreo</translation>
     </message>
     <message>
         <source>Near</source>
-        <translation type="vanished">Próximo</translation>
+        <translation>Próximo</translation>
     </message>
     <message>
         <source>Bilinear</source>
-        <translation type="vanished">Bilineal</translation>
+        <translation>Bilineal</translation>
     </message>
     <message>
         <source>Cubic</source>
-        <translation type="vanished">Cúbico</translation>
+        <translation>Cúbico</translation>
     </message>
     <message>
         <source>Cubic spline</source>
-        <translation type="vanished">Spline cúbica</translation>
+        <translation>Spline cúbica</translation>
     </message>
     <message>
         <source>Lanczos</source>
-        <translation type="vanished">Lanczos</translation>
+        <translation>Lanczos</translation>
     </message>
     <message>
         <source>No data values</source>
-        <translation type="vanished">Valores sin datos</translation>
+        <translation>Valores sin datos</translation>
     </message>
     <message>
         <source>&Memory used for caching</source>
-        <translation type="vanished">&Memoria usada para caché</translation>
+        <translation>&Memoria usada para caché</translation>
     </message>
     <message>
         <source>MB</source>
-        <translation type="vanished">MB</translation>
+        <translation>MB</translation>
     </message>
     <message>
         <source>Use m&ultithreaded warping implementation</source>
-        <translation type="vanished">Usar implementación de reproyección m&ultihilo</translation>
+        <translation>Usar implementación de reproyección m&ultihilo</translation>
     </message>
     <message>
         <source>&Output directory for contour lines (shapefile)</source>
-        <translation type="vanished">Direct&orio de salida para curvas de nivel (archivo shape)</translation>
+        <translation>Direct&orio de salida para curvas de nivel (archivo shape)</translation>
     </message>
 </context>
 <context>
     <name>GeoAlgorithm</name>
     <message>
         <source>Uncaught error while executing algorithm</source>
-        <translation type="vanished">Error no capturado al ejecutar algoritmo</translation>
+        <translation>Error no capturado al ejecutar algoritmo</translation>
     </message>
     <message>
         <source>
 See log for more details</source>
-        <translation type="vanished">
+        <translation>
 Vea el registro para más detalles</translation>
     </message>
     <message>
         <source>Converting outputs</source>
-        <translation type="vanished">Convirtiendo salidas</translation>
+        <translation>Convirtiendo salidas</translation>
     </message>
 </context>
 <context>
@@ -10882,7 +10882,7 @@ Vea el registro para más detalles</translation>
     <name>GeometryConvert</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="966"/>
@@ -10946,7 +10946,7 @@ Vea el registro para más detalles</translation>
     </message>
     <message>
         <source>Cannot convert from %s to %s</source>
-        <translation type="vanished">No se puede convertir de %s a %s</translation>
+        <translation>No se puede convertir de %s a %s</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="975"/>
@@ -10971,97 +10971,97 @@ Vea el registro para más detalles</translation>
     <name>GetModelsAction</name>
     <message>
         <source>Repository error</source>
-        <translation type="vanished">Error de repositorio</translation>
+        <translation>Error de repositorio</translation>
     </message>
     <message>
         <source>Scripts and models repository is not configured.</source>
-        <translation type="vanished">Crea scripts y modelos del repositorio si no está configurado.</translation>
+        <translation>Crea scripts y modelos del repositorio si no está configurado.</translation>
     </message>
 </context>
 <context>
     <name>GetScriptsAction</name>
     <message>
         <source>Repository error</source>
-        <translation type="vanished">Error de repositorio</translation>
+        <translation>Error de repositorio</translation>
     </message>
     <message>
         <source>Scripts and models repository is not configured.</source>
-        <translation type="vanished">Crea scripts y modelos del repositorio si no está configurado.</translation>
+        <translation>Crea scripts y modelos del repositorio si no está configurado.</translation>
     </message>
 </context>
 <context>
     <name>GetScriptsAndModelsDialog</name>
     <message>
         <source>Search...</source>
-        <translation type="vanished">Buscar...</translation>
+        <translation>Buscar...</translation>
     </message>
     <message>
         <source>Could not connect to scripts/models repository</source>
-        <translation type="vanished">No se pudo conectar con el repositorio de scripts/modelos</translation>
+        <translation>No se pudo conectar con el repositorio de scripts/modelos</translation>
     </message>
     <message>
         <source>Network error code: {} on URL: {}</source>
-        <translation type="vanished">Código de error de red: {} en la URL: {}</translation>
+        <translation>Código de error de red: {} en la URL: {}</translation>
     </message>
     <message>
         <source>Processing</source>
-        <translation type="vanished">Procesado</translation>
+        <translation>Procesado</translation>
     </message>
     <message>
         <source>Installed</source>
-        <translation type="vanished">Instalados</translation>
+        <translation>Instalados</translation>
     </message>
     <message>
         <source>Updatable</source>
-        <translation type="vanished">Actualizables</translation>
+        <translation>Actualizables</translation>
     </message>
     <message>
         <source>Not installed</source>
-        <translation type="vanished">No instalados</translation>
+        <translation>No instalados</translation>
     </message>
     <message>
         <source><h2>JSON Decoding Error - could not load help</h2></source>
-        <translation type="vanished"><h2>Error de decodificación de JSON - no se pudo cargar la ayuda</h2></translation>
+        <translation><h2>Error de decodificación de JSON - no se pudo cargar la ayuda</h2></translation>
     </message>
     <message>
         <source><h2>Unspecified Error - could not load help</h2></source>
-        <translation type="vanished"><h2>Error inespecífico - no se pudo cargar la ayuda</h2></translation>
+        <translation><h2>Error inespecífico - no se pudo cargar la ayuda</h2></translation>
     </message>
     <message>
         <source><p><b>Description:</b> {0}</p></source>
-        <translation type="vanished"><p><b>Descripción:</b> {0}</p></translation>
+        <translation><p><b>Descripción:</b> {0}</p></translation>
     </message>
     <message>
         <source><p><b>Created by:</b> {0}</source>
-        <translation type="vanished"><p><b>Creado por:</b> {0}</translation>
+        <translation><p><b>Creado por:</b> {0}</translation>
     </message>
     <message>
         <source><p><b>Version:</b> {0}</source>
-        <translation type="vanished"><p><b>Versión:</b> {0}</translation>
+        <translation><p><b>Versión:</b> {0}</translation>
     </message>
     <message>
         <source><p><b>Description:</b> %s</p></source>
-        <translation type="vanished"><p><b>Descripción:</b> %s</p></translation>
+        <translation><p><b>Descripción:</b> %s</p></translation>
     </message>
     <message>
         <source><p><b>Created by:</b> %s</source>
-        <translation type="vanished"><p><b>Creado por:</b> %s</translation>
+        <translation><p><b>Creado por:</b> %s</translation>
     </message>
     <message>
         <source><p><b>Version:</b> %s</source>
-        <translation type="vanished"><p><b>Versión:</b> %s</translation>
+        <translation><p><b>Versión:</b> %s</translation>
     </message>
     <message>
         <source><h2>No detailed description available for this script</h2></source>
-        <translation type="vanished"><h2>Ninguna descripción detallada disponible para este script</h2></translation>
+        <translation><h2>Ninguna descripción detallada disponible para este script</h2></translation>
     </message>
     <message>
         <source>Connection problem</source>
-        <translation type="vanished">Problema de conexión</translation>
+        <translation>Problema de conexión</translation>
     </message>
     <message>
         <source><h3> Processing resources manager </h3><p>Check/uncheck algorithms in the tree to select the ones that you want to install or remove</p><p>Algorithms are divided in 3 groups:</p><ul><li><b>Installed:</b> Algorithms already in your system, with the latest version available</li><li><b>Updatable:</b> Algorithms already in your system, but with a newer version available in the server</li&gt [...]
-        <translation type="vanished"><h3> Administrador de recursos de Procesos </h3><p>Marque/desmarque los algoritmos del árbol para seleccionar los que quiera instalar o eliminar</p><p>Los algoritmos se dividen en 3 grupos:</p><ul><li><b>Instalados:</b> Algoritmos que ya están en su equipo, con la última versión disponible</li><li><b>Actualizables:</b> Algoritmos que ya están en su equipo, pero con una [...]
+        <translation><h3> Administrador de recursos de Procesos </h3><p>Marque/desmarque los algoritmos del árbol para seleccionar los que quiera instalar o eliminar</p><p>Los algoritmos se dividen en 3 grupos:</p><ul><li><b>Instalados:</b> Algoritmos que ya están en su equipo, con la última versión disponible</li><li><b>Actualizables:</b> Algoritmos que ya están en su equipo, pero con una versión más rec [...]
     </message>
 </context>
 <context>
@@ -11083,7 +11083,7 @@ Vea el registro para más detalles</translation>
     <message>
         <source>Could not open GRASS GIS 7 algorithm: %s
 %s</source>
-        <translation type="vanished">No se pudo abrir el algoritmo de GRASS GIS 7: %s
+        <translation>No se pudo abrir el algoritmo de GRASS GIS 7: %s
 %s</translation>
     </message>
     <message>
@@ -11205,17 +11205,17 @@ Vea el registro para más detalles</translation>
     </message>
     <message>
         <source>Could not open GRASS GIS 7 algorithm: %s</source>
-        <translation type="vanished">No se pudo abrir el algoritmo de GRASS GIS 7: %s</translation>
+        <translation>No se pudo abrir el algoritmo de GRASS GIS 7: %s</translation>
     </message>
     <message>
         <source>Could not open GRASS GIS 7 algorithm: %s
 %s</source>
-        <translation type="vanished">No se pudo abrir el algoritmo de GRASS GIS 7: %s
+        <translation>No se pudo abrir el algoritmo de GRASS GIS 7: %s
 %s</translation>
     </message>
     <message>
         <source>GRASS GIS 7 commands</source>
-        <translation type="vanished">Órdenes de GRASS GIS 7</translation>
+        <translation>Órdenes de GRASS GIS 7</translation>
     </message>
 </context>
 <context>
@@ -11252,13 +11252,13 @@ de GRASS 7 esté correctamente configurada.</translation>
     <message>
         <source>It seems that GRASS GIS 7 is not correctly installed and configured in your system.
 Please install it before running GRASS GIS 7 algorithms.</source>
-        <translation type="vanished">Parece que GRASS GIS 7 no está correctamente instalado y configurado en su equipo.
+        <translation>Parece que GRASS GIS 7 no está correctamente instalado y configurado en su equipo.
 Por favor, instálelo antes de ejecutar algoritmos de GRASS GIS 7.</translation>
     </message>
     <message>
         <source>Error while checking GRASS GIS 7 installation. GRASS GIS 7 might not be correctly configured.
 </source>
-        <translation type="vanished">Error al comprobar la instalación de GRASS GIS 7. Es posible que GRASS GIS 7 no esté correctamente configurado.
+        <translation>Error al comprobar la instalación de GRASS GIS 7. Es posible que GRASS GIS 7 no esté correctamente configurado.
 </translation>
     </message>
 </context>
@@ -11267,78 +11267,78 @@ Por favor, instálelo antes de ejecutar algoritmos de GRASS GIS 7.</translation>
     <message>
         <source>Could not open GRASS algorithm: %s.
 %s</source>
-        <translation type="vanished">No se pudo abrir el algoritmo de GRASS: %s
+        <translation>No se pudo abrir el algoritmo de GRASS: %s
 %s</translation>
     </message>
     <message>
         <source>GRASS region extent</source>
-        <translation type="vanished">Extensión de la región de GRASS</translation>
+        <translation>Extensión de la región de GRASS</translation>
     </message>
     <message>
         <source>GRASS region cellsize (leave 0 for default)</source>
-        <translation type="vanished">Tamaño de celda de la región de GRASS (dejar 0 para predeterminado)</translation>
+        <translation>Tamaño de celda de la región de GRASS (dejar 0 para predeterminado)</translation>
     </message>
     <message>
         <source>GRASS folder is not configured.
 Please configure it before running GRASS algorithms.</source>
-        <translation type="vanished">La carpeta de GRASS no está configurada.
+        <translation>La carpeta de GRASS no está configurada.
 Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>GRASS execution commands</source>
-        <translation type="vanished">Órdenes de ejecución de GRASS</translation>
+        <translation>Órdenes de ejecución de GRASS</translation>
     </message>
     <message>
         <source>v.surf.rst.line - Spatial approximation and topographic analysis using regularized spline with tension.</source>
-        <translation type="vanished">v.surf.rst.line - Aproximación espacial y análisis topográfico usando splines regularizadas con tensión.</translation>
+        <translation>v.surf.rst.line - Aproximación espacial y análisis topográfico usando splines regularizadas con tensión.</translation>
     </message>
     <message>
         <source>v.clean.advanced - Toolset for cleaning topology of vector map (Advanced).</source>
-        <translation type="vanished">v.clean.advanced - Conjunto de herramientas para limpiar topología de mapa vectorial (Avanzado).</translation>
+        <translation>v.clean.advanced - Conjunto de herramientas para limpiar topología de mapa vectorial (Avanzado).</translation>
     </message>
     <message>
         <source>r.slope - Generates raster maps of slope from a elevation raster map.</source>
-        <translation type="vanished">r.slope - Genera mapas raster de pendiente a partir de mapa raster de elevación.</translation>
+        <translation>r.slope - Genera mapas raster de pendiente a partir de mapa raster de elevación.</translation>
     </message>
     <message>
         <source>r.contour.step - Create vector contours from raster at specified steps</source>
-        <translation type="vanished">r.contour.step - Crea curvas de nivel vectoriales a partir de ráster a la distancia especificada.</translation>
+        <translation>r.contour.step - Crea curvas de nivel vectoriales a partir de ráster a la distancia especificada.</translation>
     </message>
     <message>
         <source>v.buffer.distance - Creates a buffer around features of given type.</source>
-        <translation type="vanished">v.buffer.distance - Crea un buffer alrededor de objetos de un tipo dado.</translation>
+        <translation>v.buffer.distance - Crea un buffer alrededor de objetos de un tipo dado.</translation>
     </message>
     <message>
         <source>v.surf.bspline.lambda - Bicubic or bilinear spline interpolation with Tykhonov regularization.</source>
-        <translation type="vanished">v.surf.bspline.lambda - Interpolación spline bicúbica o bilineal con regularización de Tykhonov .</translation>
+        <translation>v.surf.bspline.lambda - Interpolación spline bicúbica o bilineal con regularización de Tykhonov .</translation>
     </message>
     <message>
         <source>r.cost.full - Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.</source>
-        <translation type="vanished">r.cost.full - Crea una capa raster de coste acumulado de moverse a lo largo de una capa raster cuyos valores de celda representan coste.</translation>
+        <translation>r.cost.full - Crea una capa raster de coste acumulado de moverse a lo largo de una capa raster cuyos valores de celda representan coste.</translation>
     </message>
     <message>
         <source>r.lake.coords - Fills lake at given point to given level.</source>
-        <translation type="vanished">r.lake.coords - Rellena un lago en el punto dado hasta el nivel dado.</translation>
+        <translation>r.lake.coords - Rellena un lago en el punto dado hasta el nivel dado.</translation>
     </message>
     <message>
         <source>v.to.rast.value - Converts (rasterize) a vector layer into a raster layer.</source>
-        <translation type="vanished">v.to.rast.value - Convierte (rasteriza) una capa vectorial en una capa ráster.</translation>
+        <translation>v.to.rast.value - Convierte (rasteriza) una capa vectorial en una capa ráster.</translation>
     </message>
     <message>
         <source>v.distance.toattr - Finds the nearest element in vector map 'to' for elements in vector map 'from'.</source>
-        <translation type="vanished">v.distance.toattr - Encuentra el elemento más cercano del mapa vectorial «a» para elementos del mapa vectorial «desde».</translation>
+        <translation>v.distance.toattr - Encuentra el elemento más cercano del mapa vectorial «a» para elementos del mapa vectorial «desde».</translation>
     </message>
     <message>
         <source>r.aspect - Generates raster maps of aspect from a elevation raster map.</source>
-        <translation type="vanished">r.aspect - Genera mapas raster de orientación a partir de un mapa raster de elevación.</translation>
+        <translation>r.aspect - Genera mapas raster de orientación a partir de un mapa raster de elevación.</translation>
     </message>
     <message>
         <source>v.split.length - Split lines to shorter segments by length.</source>
-        <translation type="vanished">v.split.length - Divide líneas a segmentos más cortos por longitud.</translation>
+        <translation>v.split.length - Divide líneas a segmentos más cortos por longitud.</translation>
     </message>
     <message>
         <source>r.reclass.area.greater - Reclassifies a raster layer, selecting areas larger than a user specified size</source>
-        <translation type="vanished">r.reclass.area.greater - Reclasifica una capa ráster, seleccionando áreas mayores de un tamaño especificado por el usuario.</translation>
+        <translation>r.reclass.area.greater - Reclasifica una capa ráster, seleccionando áreas mayores de un tamaño especificado por el usuario.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="36"/>
@@ -11352,7 +11352,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>r.lake.layer - Fills lake at given point to given level.</source>
-        <translation type="vanished">r.lake.layer - Rellena un lago en el punto dado hasta el nivel dado.</translation>
+        <translation>r.lake.layer - Rellena un lago en el punto dado hasta el nivel dado.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="18"/>
@@ -11366,19 +11366,19 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>r.drain.coordinate - Traces a flow through an elevation model on a raster map.</source>
-        <translation type="vanished">r.drain.coordinate - Traza un flujo a través de un modelo de elevación sobre un mapa raster.</translation>
+        <translation>r.drain.coordinate - Traza un flujo a través de un modelo de elevación sobre un mapa raster.</translation>
     </message>
     <message>
         <source>v.transform.pointsfile - Performs an affine transformation on a vector layer, using a support point file.</source>
-        <translation type="vanished">v.transform.pointsfile - Realiza una transformación afín de una capa vectorial, usando un archivo de puntos de apoyo.</translation>
+        <translation>v.transform.pointsfile - Realiza una transformación afín de una capa vectorial, usando un archivo de puntos de apoyo.</translation>
     </message>
     <message>
         <source>r.cost.full.raster - Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.</source>
-        <translation type="vanished">r.cost.full.raster - Crea una capa raster de coste acumulado de moverse a lo largo de una capa raster cuyos valores de celda representan coste.</translation>
+        <translation>r.cost.full.raster - Crea una capa raster de coste acumulado de moverse a lo largo de una capa raster cuyos valores de celda representan coste.</translation>
     </message>
     <message>
         <source>v.buffer.column - Creates a buffer around features of given type.</source>
-        <translation type="vanished">v.buffer.column - Crea un buffer alrededor de objetos de un tipo dado.</translation>
+        <translation>v.buffer.column - Crea un buffer alrededor de objetos de un tipo dado.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="119"/>
@@ -11397,7 +11397,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>r.li.shape.ascii - Calculates shape index on a raster map </source>
-        <translation type="vanished">r.li.shape.ascii - Calcula el índice de forma de un mapa ráster</translation>
+        <translation>r.li.shape.ascii - Calcula el índice de forma de un mapa ráster</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="199"/>
@@ -11431,7 +11431,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>v.to.rast.attribute - Converts (rasterize) a vector layer into a raster layer.</source>
-        <translation type="vanished">v.to.rast.attribute - Convierte (rasteriza) una capa vectorial en una capa ráster.</translation>
+        <translation>v.to.rast.attribute - Convierte (rasteriza) una capa vectorial en una capa ráster.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="126"/>
@@ -11440,7 +11440,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Rectifies an image by computing a coordinate transformation for each pixel in the image based on the control points. </source>
-        <translation type="vanished">Rectifica una imagen procesando una transformación de coordenadas para cada píxel de la imagen basada en los puntos de control.</translation>
+        <translation>Rectifica una imagen procesando una transformación de coordenadas para cada píxel de la imagen basada en los puntos de control.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="230"/>
@@ -11450,17 +11450,17 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="211"/>
         <source>Raster map calculator.</source>
-        <translation type="unfinished"></translation>
+        <translation>Calculadora de mapas ráster.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="174"/>
         <source>Calculates shape index on a raster map</source>
-        <translation type="unfinished"></translation>
+        <translation>Calcula el índice de forma de un mapa ráster</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="179"/>
         <source>Calculates Pielou's diversity index on a raster map</source>
-        <translation type="unfinished"></translation>
+        <translation>Calcula el índice de diversidad de Pielou de un mapa ráster</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="90"/>
@@ -11470,7 +11470,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="156"/>
         <source>r.li.shape.ascii - Calculates shape index on a raster map</source>
-        <translation type="unfinished"></translation>
+        <translation>r.li.shape.ascii - Calcula el índice de forma de un mapa ráster</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="104"/>
@@ -11539,7 +11539,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Computes sensible heat flux iteration SEBAL 01.</source>
-        <translation type="vanished">Procesa iteración SEBAL 01 de flujo de calor sensible. </translation>
+        <translation>Procesa iteración SEBAL 01 de flujo de calor sensible. </translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="144"/>
@@ -11589,7 +11589,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="98"/>
         <source>r.li.pielou.ascii - Calculates Pielou's diversity index on a raster map</source>
-        <translation type="unfinished"></translation>
+        <translation>r.li.pielou.ascii - Calcula el índice de diversidad de Pielou en un mapa ráster.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="44"/>
@@ -11628,7 +11628,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>r.li.pielou.ascii - Calculates Pielou's diversity index on a raster map </source>
-        <translation type="vanished">Calcula el índice de diversidad de Pielou en un mapa ráster.</translation>
+        <translation>Calcula el índice de diversidad de Pielou en un mapa ráster.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="53"/>
@@ -11647,7 +11647,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Allows creation and/or modification of raster map layer support files (metadata).</source>
-        <translation type="vanished">Permite la creación y/o modificación de archivos de soporte de capas de mapa ráster (metadatos).</translation>
+        <translation>Permite la creación y/o modificación de archivos de soporte de capas de mapa ráster (metadatos).</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="164"/>
@@ -11662,7 +11662,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="88"/>
         <source>Finds shortest path using timetables.</source>
-        <translation type="unfinished"></translation>
+        <translation>Encuentra la ruta más corta usando horarios.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="263"/>
@@ -11682,7 +11682,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="17"/>
         <source>Exports a vector map layer to PostGIS feature table. </source>
-        <translation type="unfinished"></translation>
+        <translation>Exporta una capa de mapa vectorial a tabla de objetos de PostGIS.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="11"/>
@@ -11702,7 +11702,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="45"/>
         <source>Split lines to shorter segments by length.</source>
-        <translation type="unfinished"></translation>
+        <translation>Dividir líneas en segmentos más cortos por longitud.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="65"/>
@@ -11712,12 +11712,12 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="85"/>
         <source>Converts (rasterize) a vector layer into a raster layer.</source>
-        <translation type="unfinished"></translation>
+        <translation>Convierte (rasteriza) una capa vectorial en una capa ráster.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="193"/>
         <source>Computes bridges and articulation points in the network.</source>
-        <translation type="unfinished"></translation>
+        <translation>Procesa puentes y puntos de articulación de la red.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="38"/>
@@ -11726,7 +11726,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Raster map calculator. </source>
-        <translation type="vanished">Calculadora de mapas ráster.</translation>
+        <translation>Calculadora de mapas ráster.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="62"/>
@@ -11746,22 +11746,22 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="19"/>
         <source>Uploads raster values at positions of vector centroids to the table.</source>
-        <translation type="unfinished"></translation>
+        <translation>Sube valores del ráster en las posiciones de los centroides de vectoriales a la tabla.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="118"/>
         <source>Creates a vector map from an ASCII points file or ASCII vector file.</source>
-        <translation type="unfinished"></translation>
+        <translation>Crea un mapa vectorial a partir de un archivo de puntos ASCII o archivo vectorial ASCII.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="32"/>
         <source>Creates a buffer around vector features of given type. </source>
-        <translation type="unfinished"></translation>
+        <translation>Crea un buffer alrededor de objetos vectoriales de un tipo dado.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="284"/>
         <source>Performs network maintenance</source>
-        <translation type="unfinished"></translation>
+        <translation>Realiza mantenimiento de redes</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="177"/>
@@ -11781,7 +11781,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="9"/>
         <source>Converts 2D vector features to 3D by sampling of elevation raster map.</source>
-        <translation type="unfinished"></translation>
+        <translation>Convierte objetos vectoriales 2D en 3D muestreando mapa ráster de elevaciones.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="40"/>
@@ -11791,7 +11791,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="136"/>
         <source>Fills lake at given point to given level.</source>
-        <translation type="unfinished"></translation>
+        <translation>Rellena un lago en el punto dado hasta el nivel dado.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="238"/>
@@ -11801,7 +11801,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="301"/>
         <source>Performs surface interpolation from vector points map by splines.</source>
-        <translation type="unfinished"></translation>
+        <translation>Realiza interpolación de superficie a partir de mapa de puntos vectoriales por splines.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="141"/>
@@ -11811,17 +11811,17 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="159"/>
         <source>Performs cluster identification</source>
-        <translation type="unfinished"></translation>
+        <translation>Realiza identificación de núcleos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="147"/>
         <source>Produces a vector map of specified contours from a raster map. </source>
-        <translation type="unfinished"></translation>
+        <translation>Produce un mapa vectorial de curvas especificadas a partir de un mapa ráster.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="158"/>
         <source>Exports a vector map to SVG file.</source>
-        <translation type="unfinished"></translation>
+        <translation>Exporta un mapa vectorial a archivo SVG.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="25"/>
@@ -11855,7 +11855,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Calculates shape index on a raster map </source>
-        <translation type="vanished">Calcula el índice de forma de un mapa ráster</translation>
+        <translation>Calcula el índice de forma de un mapa ráster</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="172"/>
@@ -11875,7 +11875,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="16"/>
         <source>Splits a raster map into tiles</source>
-        <translation>Divide un mapa ráster en teselas.</translation>
+        <translation>Divide un mapa ráster en teselas</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="100"/>
@@ -11899,7 +11899,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>v.surf.rst.cvdev.line - Spatial approximation and topographic analysis using regularized spline with tension.</source>
-        <translation type="vanished">v.surf.rst.cvdev.line - Aproximación espacial y análisis topográfico usando splines regularizadas con tensión.</translation>
+        <translation>v.surf.rst.cvdev.line - Aproximación espacial y análisis topográfico usando splines regularizadas con tensión.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="133"/>
@@ -11933,7 +11933,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Calculates Pielou's diversity index on a raster map </source>
-        <translation type="vanished">Calcula el índice de diversidad de Pielou de un mapa ráster.</translation>
+        <translation>Calcula el índice de diversidad de Pielou de un mapa ráster.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="89"/>
@@ -12097,11 +12097,11 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Compares bit patterns with a raster map.</source>
-        <translation type="vanished">Compara patrones de bit con un mapa raster.</translation>
+        <translation>Compara patrones de bit con un mapa raster.</translation>
     </message>
     <message>
         <source>Bilinear interpolation utility for raster map layers.</source>
-        <translation type="vanished">Utilidad de interpolación bilineal para mapas ráster.</translation>
+        <translation>Utilidad de interpolación bilineal para mapas ráster.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="278"/>
@@ -12125,7 +12125,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Fills no-data areas in a raster layer using v.surf.rst splines interpolation or v.surf.bspline interpolation</source>
-        <translation type="vanished">Rellena áreas sin datos de una capa raster usando interpolación splines con v.surf.rst o interpolación con v.surf.bspline</translation>
+        <translation>Rellena áreas sin datos de una capa raster usando interpolación splines con v.surf.rst o interpolación con v.surf.bspline</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="154"/>
@@ -12154,7 +12154,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>r.cost.points - Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.</source>
-        <translation type="vanished">r.cost.points - Crea una capa ráster de coste acumulado de moverse a lo largo de una capa ráster cuyos valores de celda representan coste.</translation>
+        <translation>r.cost.points - Crea una capa ráster de coste acumulado de moverse a lo largo de una capa ráster cuyos valores de celda representan coste.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="183"/>
@@ -12163,15 +12163,15 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>r.cost.raster - Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.</source>
-        <translation type="vanished">r.cost.raster - Crea una capa ráster de coste acumulado de moverse a lo largo de una capa ráster cuyos valores de celda representan coste.</translation>
+        <translation>r.cost.raster - Crea una capa ráster de coste acumulado de moverse a lo largo de una capa ráster cuyos valores de celda representan coste.</translation>
     </message>
     <message>
         <source>r.cost.coordinates - Creates a raster layer of cumulative cost of moving across a raster layer whose cell values represent cost.</source>
-        <translation type="vanished">r.cost.coordinates - Crea una capa ráster de coste acumulado de moverse a lo largo de una capa ráster cuyos valores de celda representan coste.</translation>
+        <translation>r.cost.coordinates - Crea una capa ráster de coste acumulado de moverse a lo largo de una capa ráster cuyos valores de celda representan coste.</translation>
     </message>
     <message>
         <source>Finds the average of values in a cover raster layer  within areas assigned the same category value in a user-specified base layer.</source>
-        <translation type="vanished">Encuentra la media de los valores de una capa raster de cobertura dentro de áreas con el mismo valor de categoría asignado en una capa base especificada por el usuario.</translation>
+        <translation>Encuentra la media de los valores de una capa raster de cobertura dentro de áreas con el mismo valor de categoría asignado en una capa base especificada por el usuario.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="228"/>
@@ -12225,7 +12225,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Spatial approximation and topographic analysis using regularized spline with tension.</source>
-        <translation type="vanished">Aproximación espacial y análisis topográfico usando splines regularizadas con tensión.</translation>
+        <translation>Aproximación espacial y análisis topográfico usando splines regularizadas con tensión.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="81"/>
@@ -12244,7 +12244,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>r.flow.aspect - Construction of flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a raster digital elevation model (DEM).</source>
-        <translation type="vanished">r.flow.aspect - Construcción de líneas de flujo, longitudes de rutas de flujo y acumulación de flujo (áreas tributarias) a partir de un modelo digital del terreno (MDT) ráster.</translation>
+        <translation>r.flow.aspect - Construcción de líneas de flujo, longitudes de rutas de flujo y acumulación de flujo (áreas tributarias) a partir de un modelo digital del terreno (MDT) ráster.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="265"/>
@@ -12293,7 +12293,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Generates a raster density map from vector point data using a moving kernel or optionally generates a vector density map on a vector network.</source>
-        <translation type="vanished">Genera un mapa de densidad ráster a partir de datos de puntos vectoriales usando un núcleo de movimiento o de forma opcional genera un mapa de densidad vectorial en una red vectorial.</translation>
+        <translation>Genera un mapa de densidad ráster a partir de datos de puntos vectoriales usando un núcleo de movimiento o de forma opcional genera un mapa de densidad vectorial en una red vectorial.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="295"/>
@@ -12302,7 +12302,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Indices for quadrant counts of sites lists.</source>
-        <translation type="vanished">Índices para recuento de cuadrículas de listas de lugares.</translation>
+        <translation>Índices para recuento de cuadrículas de listas de lugares.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="153"/>
@@ -12356,7 +12356,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>r.aspect - Generates raster maps of aspect from an elevation raster map.</source>
-        <translation type="vanished">r.aspect - Genera mapas ráster de orientación a partir de un mapa ráster de elevación.</translation>
+        <translation>r.aspect - Genera mapas ráster de orientación a partir de un mapa ráster de elevación.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="299"/>
@@ -12380,11 +12380,11 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>A simple utility for converting bearing and distance measurements to coordinates and vice versa. It assumes a cartesian coordinate system</source>
-        <translation type="vanished">Una utilidad sencilla para convertir medidas de rumbo y distancia en coordenadas y viceversa. Asume un sistema de coordenadas cartesiano.</translation>
+        <translation>Una utilidad sencilla para convertir medidas de rumbo y distancia en coordenadas y viceversa. Asume un sistema de coordenadas cartesiano.</translation>
     </message>
     <message>
         <source>Surface generation.</source>
-        <translation type="vanished">Generación de superficie.</translation>
+        <translation>Generación de superficie.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="71"/>
@@ -12393,7 +12393,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Simulates elliptically anisotropic spread on a graphics window and generates a raster map of the cumulative time of spread, given raster maps containing the rates of spread (ROS), the ROS directions and the spread origins.</source>
-        <translation type="vanished">Simula una propagación elípticamente anisotrópica en una ventana gráfica y genera un mapa ráster del tiempo acumulado de propagación, dado un mapa ráster que contenga tasas de propagación, la dirección de propagación y los orígenes de la propagación.</translation>
+        <translation>Simula una propagación elípticamente anisotrópica en una ventana gráfica y genera un mapa ráster del tiempo acumulado de propagación, dado un mapa ráster que contenga tasas de propagación, la dirección de propagación y los orígenes de la propagación.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="87"/>
@@ -12412,7 +12412,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>r.flow.barrier - Construction of flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a raster digital elevation model (DEM).</source>
-        <translation type="vanished">r.flow.barrier - Construcción de líneas de flujo, longitudes de rutas de flujo y acumulación de flujo (áreas tributarias) a partir de un modelo digital del terreno (MDT) ráster.</translation>
+        <translation>r.flow.barrier - Construcción de líneas de flujo, longitudes de rutas de flujo y acumulación de flujo (áreas tributarias) a partir de un modelo digital del terreno (MDT) ráster.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="185"/>
@@ -12476,11 +12476,11 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Generates three, or four raster map layers showing 1) the base (perpendicular) rate of spread (ROS), 2) the maximum (forward) ROS, 3) the direction of the maximum ROS, and optionally 4) the maximum potential spotting distance.</source>
-        <translation type="vanished">Crea tres o cuatro capas de mapa ráster que muestran 1) la tasa base (perpendicular) de propagación (ROS), 2) la ROS máxima (hacia adelante), 3) la dirección de la ROS máxima y de forma opcional 4) la distancia máxima de propagación</translation>
+        <translation>Crea tres o cuatro capas de mapa ráster que muestran 1) la tasa base (perpendicular) de propagación (ROS), 2) la ROS máxima (hacia adelante), 3) la dirección de la ROS máxima y de forma opcional 4) la distancia máxima de propagación</translation>
     </message>
     <message>
         <source>Resamples a raster map layer to a finer grid using interpolation.</source>
-        <translation type="vanished">Remuestrea una capa de mapa ráster a una cuadrícula más fina usando interpolación.</translation>
+        <translation>Remuestrea una capa de mapa ráster a una cuadrícula más fina usando interpolación.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="109"/>
@@ -12494,7 +12494,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Finds the median of values in a cover layer within areas assigned the same category value in a user-specified base layer.</source>
-        <translation type="vanished">Encuentra la media de los valores de una capa de cobertura dentro de áreas con el mismo valor de categoría asignado en una capa base especificada por el usuario.</translation>
+        <translation>Encuentra la media de los valores de una capa de cobertura dentro de áreas con el mismo valor de categoría asignado en una capa base especificada por el usuario.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="212"/>
@@ -12503,7 +12503,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>r.random.raster - Create random raster</source>
-        <translation type="vanished">r.random.raster - Crea ráster aleatorio</translation>
+        <translation>r.random.raster - Crea ráster aleatorio</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="277"/>
@@ -12547,19 +12547,19 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>r.contour.level - Create vector contour from raster at specified levels</source>
-        <translation type="vanished">r.contour.level - Crea curvas de nivel vectoriales a partir de ráster a los niveles especificados.</translation>
+        <translation>r.contour.level - Crea curvas de nivel vectoriales a partir de ráster a los niveles especificados.</translation>
     </message>
     <message>
         <source>v.surf.bspline.sparse - Bicubic or bilinear spline interpolation with Tykhonov regularization.</source>
-        <translation type="vanished">v.surf.bspline.sparse - Interpolación spline bicúbica o bilineal con regularización de Tykhonov .</translation>
+        <translation>v.surf.bspline.sparse - Interpolación spline bicúbica o bilineal con regularización de Tykhonov .</translation>
     </message>
     <message>
         <source>r.reclass.area.lesser - Reclassifies a raster layer, selecting areas lower than a user specified size</source>
-        <translation type="vanished">r.reclass.area.lesser - Reclasifica una capa ráster, seleccionando áreas menores de un tamaño especificado por el usuario.</translation>
+        <translation>r.reclass.area.lesser - Reclasifica una capa ráster, seleccionando áreas menores de un tamaño especificado por el usuario.</translation>
     </message>
     <message>
         <source>v.split.vert - Split lines to shorter segments by max number of vertices.</source>
-        <translation type="vanished">v.split.vert - Divide líneas a segmentos más cortos por un número máximo de vértices.</translation>
+        <translation>v.split.vert - Divide líneas a segmentos más cortos por un número máximo de vértices.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="195"/>
@@ -12583,7 +12583,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Creates Linear Reference System</source>
-        <translation type="vanished">Crea sistema de referencia lineal</translation>
+        <translation>Crea sistema de referencia lineal</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="290"/>
@@ -12607,7 +12607,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Creates points/segments from input lines, linear reference system and positions read from stdin or a file.</source>
-        <translation type="vanished">Crea puntos/segmentos a partir de líneas, sistema de referencia lineal y posiciones de entrada leídas de stdin o un archivo.</translation>
+        <translation>Crea puntos/segmentos a partir de líneas, sistema de referencia lineal y posiciones de entrada leídas de stdin o un archivo.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="112"/>
@@ -12631,11 +12631,11 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Finds line id and real km+offset for given points in vector map using linear reference system. </source>
-        <translation type="vanished">Encuentra ID de línea y km real+desplazamiento para puntos dados en un mapa vectorial usando un sistema de referencia lineal.</translation>
+        <translation>Encuentra ID de línea y km real+desplazamiento para puntos dados en un mapa vectorial usando un sistema de referencia lineal.</translation>
     </message>
     <message>
         <source>v.in.ascii.points - Creates a vector map from an ASCII points file.</source>
-        <translation type="vanished">v.in.ascii.points - Crea un mapa vectorial a partir de un archivo de puntos ASCII.</translation>
+        <translation>v.in.ascii.points - Crea un mapa vectorial a partir de un archivo de puntos ASCII.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="300"/>
@@ -12659,7 +12659,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Calculate new raster map from a r.mapcalc expression.</source>
-        <translation type="vanished">Calcula un nuevo mapa ráster a partir de una expresión r.mapcalc</translation>
+        <translation>Calcula un nuevo mapa ráster a partir de una expresión r.mapcalc</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="155"/>
@@ -12673,7 +12673,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>v.in.ascii.standard - Creates a vector map from an ASCII vector file. </source>
-        <translation type="vanished">v.in.ascii.standard - Crea un mapa vectorial a partir de un archivo vectorial ASCII.</translation>
+        <translation>v.in.ascii.standard - Crea un mapa vectorial a partir de un archivo vectorial ASCII.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="249"/>
@@ -12702,7 +12702,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Line-of-sight raster analysis program.</source>
-        <translation type="vanished">Programa de análisis ráster de campo visual.</translation>
+        <translation>Programa de análisis ráster de campo visual.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="251"/>
@@ -12711,7 +12711,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Selects vector objects from a vector layer a new layer containing only the selected objects.</source>
-        <translation type="vanished">Seleccionar objetos vectoriales de una capa vectorial creando una nueva capa que contiene solo los objetos seleccionados.</translation>
+        <translation>Seleccionar objetos vectoriales de una capa vectorial creando una nueva capa que contiene solo los objetos seleccionados.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="106"/>
@@ -12735,15 +12735,15 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>v.generalize.displacement - Vector based displacement generalization.</source>
-        <translation type="vanished">v.generalize.displacement - Generalización de desplazamiento basada en vectoriales.</translation>
+        <translation>v.generalize.displacement - Generalización de desplazamiento basada en vectoriales.</translation>
     </message>
     <message>
         <source>Converts vector map to 3D by sampling of elevation raster map.</source>
-        <translation type="vanished">Convierte mapa vectorial en 3D muestreando mapa ráster de elevaciones.</translation>
+        <translation>Convierte mapa vectorial en 3D muestreando mapa ráster de elevaciones.</translation>
     </message>
     <message>
         <source>r.slope - Generates raster maps of slope from an elevation raster map.</source>
-        <translation type="vanished">r.slope - Genera mapas ráster de pendiente a partir de un mapa ráster de elevación.</translation>
+        <translation>r.slope - Genera mapas ráster de pendiente a partir de un mapa ráster de elevación.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="180"/>
@@ -12757,19 +12757,19 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Construction of slope curves (flowlines), flowpath lengths, and flowline densities (upslope areas) from a raster digital elevation model (DEM).</source>
-        <translation type="vanished">Construcción de curvas de pendiente (líneas de flujo), longitudes de rutas de flujo y densidades de líneas de flujo (áreas pendiente arriba) a partir de un modelo digital del terreno (MDT) ráster.</translation>
+        <translation>Construcción de curvas de pendiente (líneas de flujo), longitudes de rutas de flujo y densidades de líneas de flujo (áreas pendiente arriba) a partir de un modelo digital del terreno (MDT) ráster.</translation>
     </message>
     <message>
         <source>v.generalize.simplify - Vector based simplification generalization.</source>
-        <translation type="vanished">v.generalize.simplify - Generalización de simplificación basada en vectoriales.</translation>
+        <translation>v.generalize.simplify - Generalización de simplificación basada en vectoriales.</translation>
     </message>
     <message>
         <source>v.generalize.smooth - Vector based smooth generalization.</source>
-        <translation type="vanished">v.generalize.smooth - Generalización de suavizado basada en vectoriales.</translation>
+        <translation>v.generalize.smooth - Generalización de suavizado basada en vectoriales.</translation>
     </message>
     <message>
         <source>v.generalize.network - Vector based network generalization.</source>
-        <translation type="vanished">v.generalize.network - Generalización de red basada en vectoriales.</translation>
+        <translation>v.generalize.network - Generalización de red basada en vectoriales.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="143"/>
@@ -12793,7 +12793,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>v.net.nodes - Creates points for each network arcs</source>
-        <translation type="vanished">v.net.nodes - Crea puntos para cada arco de una red</translation>
+        <translation>v.net.nodes - Crea puntos para cada arco de una red</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="56"/>
@@ -12807,7 +12807,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Computes bridges in the network.</source>
-        <translation type="vanished">Procesa los puentes de la red.</translation>
+        <translation>Procesa los puentes de la red.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="257"/>
@@ -12836,7 +12836,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>v.net.arcs - Creates arcs from a file of points</source>
-        <translation type="vanished">v.net.arcs - Crea arcos a partir de un archivo de puntos</translation>
+        <translation>v.net.arcs - Crea arcos a partir de un archivo de puntos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="94"/>
@@ -12850,7 +12850,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>v.net.articulation - Computes articulation points in the network</source>
-        <translation type="vanished">v.net.articulation - procesa los puntos de articulación de la red.</translation>
+        <translation>v.net.articulation - procesa los puntos de articulación de la red.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="114"/>
@@ -12859,7 +12859,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>v.net.connect - Connects points to nearest arcs in a network</source>
-        <translation type="vanished">Conecta los puntos al arco más cercano en una red</translation>
+        <translation>Conecta los puntos al arco más cercano en una red</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="266"/>
@@ -12913,7 +12913,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>v.what.rast.points - Uploads raster values at positions of vector points to the table.</source>
-        <translation type="vanished">v.what.rast.points - Carga en la tabla valores ráster en las posiciones de puntos vectoriales.</translation>
+        <translation>v.what.rast.points - Carga en la tabla valores ráster en las posiciones de puntos vectoriales.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="73"/>
@@ -12922,15 +12922,15 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Sums up the raster cell values.</source>
-        <translation type="vanished">Suma los valores de celdas ráster.</translation>
+        <translation>Suma los valores de celdas ráster.</translation>
     </message>
     <message>
         <source>Raster map matrix filter.</source>
-        <translation type="vanished">Filtro de matriz de mapa ráster.</translation>
+        <translation>Filtro de matriz de mapa ráster.</translation>
     </message>
     <message>
         <source>Outputs a raster layer showing the anisotropic cumulative cost of moving based on friction cost.</source>
-        <translation type="vanished">Produce una capa ráster que muestra el coste acumulado anisotrópico del movimiento basado en el coste de fricción.</translation>
+        <translation>Produce una capa ráster que muestra el coste acumulado anisotrópico del movimiento basado en el coste de fricción.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="305"/>
@@ -12949,7 +12949,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>v.what.rast.centroids - Uploads raster values at positions of vector centroids to the table.</source>
-        <translation type="vanished">v.what.rast.centroids - Carga en la tabla valores ráster en las posiciones de centroides vectoriales.</translation>
+        <translation>v.what.rast.centroids - Carga en la tabla valores ráster en las posiciones de centroides vectoriales.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="128"/>
@@ -12978,11 +12978,11 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Flow computation for massive grids (float version).</source>
-        <translation type="vanished">Procesamiento de flujo para cuadrículas masivas (versión flotante).</translation>
+        <translation>Procesamiento de flujo para cuadrículas masivas (versión flotante).</translation>
     </message>
     <message>
         <source>Flow computation for massive grids (integer version).</source>
-        <translation type="vanished">Procesamiento de flujo para cuadrículas masivas (versión entero).</translation>
+        <translation>Procesamiento de flujo para cuadrículas masivas (versión entero).</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="151"/>
@@ -12991,7 +12991,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Export a raster map to a text file as x,y,z values based on cell centers</source>
-        <translation type="vanished">Exportar un mapa ráster a archivo de texto como valores X, Y, Z basados en el centro de las celdas</translation>
+        <translation>Exportar un mapa ráster a archivo de texto como valores X, Y, Z basados en el centro de las celdas</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="253"/>
@@ -13045,7 +13045,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>A simple utility for converting bearing and distance measurements to coordinates and vice versa. It assumes a cartesian coordinate system </source>
-        <translation type="vanished">Una utilidad sencilla para convertir medidas de rumbo y distancia en coordenadas y viceversa. Asume un sistema de coordenadas carteriano.</translation>
+        <translation>Una utilidad sencilla para convertir medidas de rumbo y distancia en coordenadas y viceversa. Asume un sistema de coordenadas carteriano.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="55"/>
@@ -13069,7 +13069,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Create random raster</source>
-        <translation type="vanished">Crear ráster aleatorio</translation>
+        <translation>Crear ráster aleatorio</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="99"/>
@@ -13113,7 +13113,7 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>r.flow.aspect.barrier - Construction of flowlines, flowpath lengths, and flowaccumulation (contributing areas) from a raster digital elevation model (DEM).</source>
-        <translation type="vanished">r.flow.aspect.barrier - Construcción de líneas de flujo, longitudes de rutas de flujo y acumulación de flujo (áreas tributarias) a partir de un modelo digital del terreno (MDT) ráster.</translation>
+        <translation>r.flow.aspect.barrier - Construcción de líneas de flujo, longitudes de rutas de flujo y acumulación de flujo (áreas tributarias) a partir de un modelo digital del terreno (MDT) ráster.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/processing-i18n.cpp" line="57"/>
@@ -13122,34 +13122,34 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>v.surf.rst.cvdev - Spatial approximation and topographic analysis using regularized spline with tension.</source>
-        <translation type="vanished">v.surf.rst.cvdev - Aproximación espacial y análisis topográfico usando splines regularizadas con tensión.</translation>
+        <translation>v.surf.rst.cvdev - Aproximación espacial y análisis topográfico usando splines regularizadas con tensión.</translation>
     </message>
 </context>
 <context>
     <name>GrassAlgorithmProvider</name>
     <message>
         <source>GRASS folder</source>
-        <translation type="vanished">Carpeta de GRASS</translation>
+        <translation>Carpeta de GRASS</translation>
     </message>
     <message>
         <source>Msys folder</source>
-        <translation type="vanished">Carpeta de Msys</translation>
+        <translation>Carpeta de Msys</translation>
     </message>
     <message>
         <source>Log execution commands</source>
-        <translation type="vanished">Órdenes de ejecución de Log</translation>
+        <translation>Órdenes de ejecución de Log</translation>
     </message>
     <message>
         <source>Log console output</source>
-        <translation type="vanished">Salida de la consola de Log</translation>
+        <translation>Salida de la consola de Log</translation>
     </message>
     <message>
         <source>Could not open GRASS algorithm: %s</source>
-        <translation type="vanished">No se pudo abrir el algoritmo de GRASS: %s</translation>
+        <translation>No se pudo abrir el algoritmo de GRASS: %s</translation>
     </message>
     <message>
         <source>GRASS commands</source>
-        <translation type="vanished">Órdenes de GRASS</translation>
+        <translation>Órdenes de GRASS</translation>
     </message>
 </context>
 <context>
@@ -13157,24 +13157,24 @@ Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     <message>
         <source>GRASS folder is not configured.
 Please configure it before running GRASS algorithms.</source>
-        <translation type="vanished">La carpeta de GRASS no está configurada.
+        <translation>La carpeta de GRASS no está configurada.
 Por favor, configúrela antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>The specified GRASS folder "{}" does not contain a valid set of GRASS modules. Please, go to the Processing settings dialog, and check that the GRASS folder is correctly configured</source>
-        <translation type="vanished">La carpeta de GRASS especificada "{}" no contiene un conjunto de módulos de GRASS válido.
+        <translation>La carpeta de GRASS especificada "{}" no contiene un conjunto de módulos de GRASS válido.
 Por favor, vaya al diálogo de configuración de Procesos y compruebe que la carpeta de GRASS esté correctamente configurada.</translation>
     </message>
     <message>
         <source>It seems that GRASS is not correctly installed and configured in your system.
 Please install it before running GRASS algorithms.</source>
-        <translation type="vanished">Parece que GRASS no está correctamente instalado y configurado en su equipo.
+        <translation>Parece que GRASS no está correctamente instalado y configurado en su equipo.
 Por favor, instálelo antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Error while checking GRASS installation. GRASS might not be correctly configured.
 </source>
-        <translation type="vanished">Error al comprobar la instalación de GRASS. Es posible que GRASS no esté correctamente configurado.
+        <translation>Error al comprobar la instalación de GRASS. Es posible que GRASS no esté correctamente configurado.
 </translation>
     </message>
 </context>
@@ -13187,11 +13187,11 @@ Por favor, instálelo antes de ejecutar algoritmos de GRASS.</translation>
     </message>
     <message>
         <source>Vector creation tools</source>
-        <translation type="vanished">Herramientas de creación de vectoriales</translation>
+        <translation>Herramientas de creación de vectoriales</translation>
     </message>
     <message>
         <source>Rectangle (line)</source>
-        <translation type="vanished">Rectángulo (línea)</translation>
+        <translation>Rectángulo (línea)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1018"/>
@@ -13294,15 +13294,15 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     </message>
     <message>
         <source>Invalid grid spacing: %s/%s</source>
-        <translation type="vanished">Espaciado de cuadrícula no válido: %s/%s</translation>
+        <translation>Espaciado de cuadrícula no válido: %s/%s</translation>
     </message>
     <message>
         <source>Horizontal spacing is too small for the covered area</source>
-        <translation type="vanished">El espaciado horizontal es demasiado pequeño para el área cubierta</translation>
+        <translation>El espaciado horizontal es demasiado pequeño para el área cubierta</translation>
     </message>
     <message>
         <source>Vertical spacing is too small for the covered area</source>
-        <translation type="vanished">El espaciado vertical es demasiado pequeño para el área cubierta</translation>
+        <translation>El espaciado vertical es demasiado pequeño para el área cubierta</translation>
     </message>
 </context>
 <context>
@@ -13369,43 +13369,43 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     </message>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Z field</source>
-        <translation type="vanished">Campo Z</translation>
+        <translation>Campo Z</translation>
     </message>
     <message>
         <source>Radius 1</source>
-        <translation type="vanished">Radio 1</translation>
+        <translation>Radio 1</translation>
     </message>
     <message>
         <source>Radius 2</source>
-        <translation type="vanished">Radio 2</translation>
+        <translation>Radio 2</translation>
     </message>
     <message>
         <source>Min points</source>
-        <translation type="vanished">Puntos mínimo</translation>
+        <translation>Puntos mínimo</translation>
     </message>
     <message>
         <source>Angle</source>
-        <translation type="vanished">Ángulo</translation>
+        <translation>Ángulo</translation>
     </message>
     <message>
         <source>Nodata</source>
-        <translation type="vanished">Sin datos</translation>
+        <translation>Sin datos</translation>
     </message>
     <message>
         <source>Output raster type</source>
-        <translation type="vanished">Tipo de ráster de salida</translation>
+        <translation>Tipo de ráster de salida</translation>
     </message>
     <message>
         <source>Interpolated moving average</source>
-        <translation type="vanished">Media de movimiento interpolado</translation>
+        <translation>Media de movimiento interpolado</translation>
     </message>
 </context>
 <context>
@@ -13507,106 +13507,106 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     </message>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Z field</source>
-        <translation type="vanished">Campo Z</translation>
+        <translation>Campo Z</translation>
     </message>
     <message>
         <source>Metrics</source>
-        <translation type="vanished">Métrica</translation>
+        <translation>Métrica</translation>
     </message>
     <message>
         <source>Radius 1</source>
-        <translation type="vanished">Radio 1</translation>
+        <translation>Radio 1</translation>
     </message>
     <message>
         <source>Radius 2</source>
-        <translation type="vanished">Radio 2</translation>
+        <translation>Radio 2</translation>
     </message>
     <message>
         <source>Min points</source>
-        <translation type="vanished">Puntos mínimo</translation>
+        <translation>Puntos mínimo</translation>
     </message>
     <message>
         <source>Angle</source>
-        <translation type="vanished">Ángulo</translation>
+        <translation>Ángulo</translation>
     </message>
     <message>
         <source>Nodata</source>
-        <translation type="vanished">Sin datos</translation>
+        <translation>Sin datos</translation>
     </message>
     <message>
         <source>Output raster type</source>
-        <translation type="vanished">Tipo de ráster de salida</translation>
+        <translation>Tipo de ráster de salida</translation>
     </message>
     <message>
         <source>Interpolated metrics</source>
-        <translation type="vanished">Mediciones interpoladas</translation>
+        <translation>Mediciones interpoladas</translation>
     </message>
 </context>
 <context>
     <name>GridInvDist</name>
     <message>
         <source>Grid (Inverse distance to a power)</source>
-        <translation type="vanished">Cuadrícula (Distancia inversa a una potencia)</translation>
+        <translation>Cuadrícula (Distancia inversa a una potencia)</translation>
     </message>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Z field</source>
-        <translation type="vanished">Campo Z</translation>
+        <translation>Campo Z</translation>
     </message>
     <message>
         <source>Power</source>
-        <translation type="vanished">Potencia</translation>
+        <translation>Potencia</translation>
     </message>
     <message>
         <source>Radius 1</source>
-        <translation type="vanished">Radio 1</translation>
+        <translation>Radio 1</translation>
     </message>
     <message>
         <source>Radius 2</source>
-        <translation type="vanished">Radio 2</translation>
+        <translation>Radio 2</translation>
     </message>
     <message>
         <source>Max points</source>
-        <translation type="vanished">Puntos máximo</translation>
+        <translation>Puntos máximo</translation>
     </message>
     <message>
         <source>Min points</source>
-        <translation type="vanished">Puntos mínimo</translation>
+        <translation>Puntos mínimo</translation>
     </message>
     <message>
         <source>Angle</source>
-        <translation type="vanished">Ángulo</translation>
+        <translation>Ángulo</translation>
     </message>
     <message>
         <source>Nodata</source>
-        <translation type="vanished">Sin datos</translation>
+        <translation>Sin datos</translation>
     </message>
     <message>
         <source>Output raster type</source>
-        <translation type="vanished">Tipo de ráster de salida</translation>
+        <translation>Tipo de ráster de salida</translation>
     </message>
     <message>
         <source>Interpolated IDW</source>
-        <translation type="vanished">IDW interpolado</translation>
+        <translation>IDW interpolado</translation>
     </message>
     <message>
         <source>Smoothing</source>
-        <translation type="vanished">Suavizado</translation>
+        <translation>Suavizado</translation>
     </message>
 </context>
 <context>
@@ -13759,51 +13759,51 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     <name>GridLine</name>
     <message>
         <source>Vector creation</source>
-        <translation type="vanished">Creación de vectores</translation>
+        <translation>Creación de vectores</translation>
     </message>
     <message>
         <source>Grid extent</source>
-        <translation type="vanished">Extensión de la cuadrícula</translation>
+        <translation>Extensión de la cuadrícula</translation>
     </message>
     <message>
         <source>Horizontal spacing</source>
-        <translation type="vanished">Espaciado horizontal</translation>
+        <translation>Espaciado horizontal</translation>
     </message>
     <message>
         <source>Vertical spacing</source>
-        <translation type="vanished">Espaciado vertical</translation>
+        <translation>Espaciado vertical</translation>
     </message>
     <message>
         <source>Horizontal overlay</source>
-        <translation type="vanished">Superposición horizontal</translation>
+        <translation>Superposición horizontal</translation>
     </message>
     <message>
         <source>Vertical overlay</source>
-        <translation type="vanished">Superposición vertical</translation>
+        <translation>Superposición vertical</translation>
     </message>
     <message>
         <source>Grid</source>
-        <translation type="vanished">Cuadrícula</translation>
+        <translation>Cuadrícula</translation>
     </message>
     <message>
         <source>Create grid (lines)</source>
-        <translation type="vanished">Crear cuadrícula (líneas)</translation>
+        <translation>Crear cuadrícula (líneas)</translation>
     </message>
     <message>
         <source>Invalid grid spacing: {0}/{1}</source>
-        <translation type="vanished">Espaciado de cuadrícula no válido: {0}/{1}</translation>
+        <translation>Espaciado de cuadrícula no válido: {0}/{1}</translation>
     </message>
     <message>
         <source>Invalid overlay: {0}/{1}</source>
-        <translation type="vanished">Superposición no válida: {0}/{1}</translation>
+        <translation>Superposición no válida: {0}/{1}</translation>
     </message>
     <message>
         <source>Horizontal spacing is too small for the covered area</source>
-        <translation type="vanished">El espaciado horizontal es demasiado pequeño para el área cubierta</translation>
+        <translation>El espaciado horizontal es demasiado pequeño para el área cubierta</translation>
     </message>
     <message>
         <source>Vertical spacing is too small for the covered area</source>
-        <translation type="vanished">El espaciado vertical es demasiado pequeño para el área cubierta</translation>
+        <translation>El espaciado vertical es demasiado pequeño para el área cubierta</translation>
     </message>
 </context>
 <context>
@@ -13858,94 +13858,94 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     <name>GridMetrics</name>
     <message>
         <source>Grid Metrics</source>
-        <translation type="vanished">Métrica de cuadrícula</translation>
+        <translation>Métrica de cuadrícula</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Input LAS layer</source>
-        <translation type="vanished">Capa LAS de entrada</translation>
+        <translation>Capa LAS de entrada</translation>
     </message>
     <message>
         <source>Input ground DTM layer</source>
-        <translation type="vanished">Capa DTM de terreno de entrada</translation>
+        <translation>Capa DTM de terreno de entrada</translation>
     </message>
     <message>
         <source>Height break</source>
-        <translation type="vanished">Paso de altura</translation>
+        <translation>Paso de altura</translation>
     </message>
     <message>
         <source>Cellsize</source>
-        <translation type="vanished">Tamaño de celda</translation>
+        <translation>Tamaño de celda</translation>
     </message>
     <message>
         <source>Output table with grid metrics</source>
-        <translation type="vanished">Tabla de salida con métricas de cuadrícula</translation>
+        <translation>Tabla de salida con métricas de cuadrícula</translation>
     </message>
     <message>
         <source>OUTPUT CSV INTENSITY</source>
-        <translation type="vanished">INTENSIDAD CSV DE SALIDA</translation>
+        <translation>INTENSIDAD CSV DE SALIDA</translation>
     </message>
     <message>
         <source>Outlier:low,high</source>
-        <translation type="vanished">Valores atípicos: bajo, alto</translation>
+        <translation>Valores atípicos: bajo, alto</translation>
     </message>
     <message>
         <source>First</source>
-        <translation type="vanished">Primero</translation>
+        <translation>Primero</translation>
     </message>
     <message>
         <source>Htmin</source>
-        <translation type="vanished">Altura mín</translation>
+        <translation>Altura mín</translation>
     </message>
     <message>
         <source>Class (set blank if not used)</source>
-        <translation type="vanished">Clase (dejar en blanco si no se usa)</translation>
+        <translation>Clase (dejar en blanco si no se usa)</translation>
     </message>
 </context>
 <context>
     <name>GridNearest</name>
     <message>
         <source>Grid (Nearest neighbor)</source>
-        <translation type="vanished">Cuadrícula (Vecino más próximo)</translation>
+        <translation>Cuadrícula (Vecino más próximo)</translation>
     </message>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Z field</source>
-        <translation type="vanished">Campo Z</translation>
+        <translation>Campo Z</translation>
     </message>
     <message>
         <source>Radius 1</source>
-        <translation type="vanished">Radio 1</translation>
+        <translation>Radio 1</translation>
     </message>
     <message>
         <source>Radius 2</source>
-        <translation type="vanished">Radio 2</translation>
+        <translation>Radio 2</translation>
     </message>
     <message>
         <source>Angle</source>
-        <translation type="vanished">Ángulo</translation>
+        <translation>Ángulo</translation>
     </message>
     <message>
         <source>Nodata</source>
-        <translation type="vanished">Sin datos</translation>
+        <translation>Sin datos</translation>
     </message>
     <message>
         <source>Output raster type</source>
-        <translation type="vanished">Tipo de ráster de salida</translation>
+        <translation>Tipo de ráster de salida</translation>
     </message>
     <message>
         <source>Interpolated nearest neighbor</source>
-        <translation type="vanished">Vecino más próximo interpolado</translation>
+        <translation>Vecino más próximo interpolado</translation>
     </message>
 </context>
 <context>
@@ -14010,159 +14010,159 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     <name>GridNet</name>
     <message>
         <source>Grid Network</source>
-        <translation type="vanished">Red de cuadrícula</translation>
+        <translation>Red de cuadrícula</translation>
     </message>
     <message>
         <source>Basic Grid Analysis tools</source>
-        <translation type="vanished">Herramientas básicas de análisis de cuadrícula</translation>
+        <translation>Herramientas básicas de análisis de cuadrícula</translation>
     </message>
     <message>
         <source>D8 Flow Direction Grid</source>
-        <translation type="vanished">Cuadrícula de dirección de flujo D8</translation>
+        <translation>Cuadrícula de dirección de flujo D8</translation>
     </message>
     <message>
         <source>Outlets Shapefile</source>
-        <translation type="vanished">Archivo shape de desagúes</translation>
+        <translation>Archivo shape de desagúes</translation>
     </message>
     <message>
         <source>Mask Grid</source>
-        <translation type="vanished">Cuadrícula de máscara</translation>
+        <translation>Cuadrícula de máscara</translation>
     </message>
     <message>
         <source>Mask Threshold</source>
-        <translation type="vanished">Umbral de máscara</translation>
+        <translation>Umbral de máscara</translation>
     </message>
     <message>
         <source>Longest Upslope Length Grid</source>
-        <translation type="vanished">Cuadrícula de longitud cuesta arriba más larga</translation>
+        <translation>Cuadrícula de longitud cuesta arriba más larga</translation>
     </message>
     <message>
         <source>Total Upslope Length Grid</source>
-        <translation type="vanished">Cuadrícula de longitud cuesta arriba total</translation>
+        <translation>Cuadrícula de longitud cuesta arriba total</translation>
     </message>
     <message>
         <source>Strahler Network Order Grid</source>
-        <translation type="vanished">Cuadrícula de orden de red de Strahler</translation>
+        <translation>Cuadrícula de orden de red de Strahler</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>GridNetMulti</name>
     <message>
         <source>Grid Network (multifile)</source>
-        <translation type="vanished">Red de cuadrícula (multiarchivo)</translation>
+        <translation>Red de cuadrícula (multiarchivo)</translation>
     </message>
     <message>
         <source>Basic Grid Analysis tools</source>
-        <translation type="vanished">Herramientas básicas de análisis de cuadrícula</translation>
+        <translation>Herramientas básicas de análisis de cuadrícula</translation>
     </message>
     <message>
         <source>D8 Flow Direction Grid</source>
-        <translation type="vanished">Cuadrícula de dirección de flujo D8</translation>
+        <translation>Cuadrícula de dirección de flujo D8</translation>
     </message>
     <message>
         <source>Outlets Shapefile</source>
-        <translation type="vanished">Archivo shape de desagúes</translation>
+        <translation>Archivo shape de desagúes</translation>
     </message>
     <message>
         <source>Mask Grid</source>
-        <translation type="vanished">Cuadrícula de máscara</translation>
+        <translation>Cuadrícula de máscara</translation>
     </message>
     <message>
         <source>Mask Threshold</source>
-        <translation type="vanished">Umbral de máscara</translation>
+        <translation>Umbral de máscara</translation>
     </message>
     <message>
         <source>Longest Upslope Length Grid</source>
-        <translation type="vanished">Cuadrícula de longitud cuesta arriba más larga</translation>
+        <translation>Cuadrícula de longitud cuesta arriba más larga</translation>
     </message>
     <message>
         <source>Total Upslope Length Grid</source>
-        <translation type="vanished">Cuadrícula de longitud cuesta arriba total</translation>
+        <translation>Cuadrícula de longitud cuesta arriba total</translation>
     </message>
     <message>
         <source>Strahler Network Order Grid</source>
-        <translation type="vanished">Cuadrícula de orden de red de Strahler</translation>
+        <translation>Cuadrícula de orden de red de Strahler</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>GridPolygon</name>
     <message>
         <source>Vector creation</source>
-        <translation type="vanished">Creación de vectores</translation>
+        <translation>Creación de vectores</translation>
     </message>
     <message>
         <source>Rectangle (polygon)</source>
-        <translation type="vanished">Rectángulo (polígono)</translation>
+        <translation>Rectángulo (polígono)</translation>
     </message>
     <message>
         <source>Diamond (polygon)</source>
-        <translation type="vanished">Diamante (polígono)</translation>
+        <translation>Diamante (polígono)</translation>
     </message>
     <message>
         <source>Hexagon (polygon)</source>
-        <translation type="vanished">Hexágono (polígono)</translation>
+        <translation>Hexágono (polígono)</translation>
     </message>
     <message>
         <source>Grid type</source>
-        <translation type="vanished">Tipo de cuadrícula</translation>
+        <translation>Tipo de cuadrícula</translation>
     </message>
     <message>
         <source>Grid extent</source>
-        <translation type="vanished">Extensión de la cuadrícula</translation>
+        <translation>Extensión de la cuadrícula</translation>
     </message>
     <message>
         <source>Horizontal spacing</source>
-        <translation type="vanished">Espaciado horizontal</translation>
+        <translation>Espaciado horizontal</translation>
     </message>
     <message>
         <source>Vertical spacing</source>
-        <translation type="vanished">Espaciado vertical</translation>
+        <translation>Espaciado vertical</translation>
     </message>
     <message>
         <source>Horizontal overlay</source>
-        <translation type="vanished">Superposición horizontal</translation>
+        <translation>Superposición horizontal</translation>
     </message>
     <message>
         <source>Vertical overlay</source>
-        <translation type="vanished">Superposición vertical</translation>
+        <translation>Superposición vertical</translation>
     </message>
     <message>
         <source>Grid</source>
-        <translation type="vanished">Cuadrícula</translation>
+        <translation>Cuadrícula</translation>
     </message>
     <message>
         <source>Create grid (polygon)</source>
-        <translation type="vanished">Crear cuadrícula (polígonos)</translation>
+        <translation>Crear cuadrícula (polígonos)</translation>
     </message>
     <message>
         <source>Invalid grid spacing: {0}/{1}</source>
-        <translation type="vanished">Espaciado de cuadrícula no válido: {0}/{1}</translation>
+        <translation>Espaciado de cuadrícula no válido: {0}/{1}</translation>
     </message>
     <message>
         <source>Horizontal spacing is too small for the covered area</source>
-        <translation type="vanished">El espaciado horizontal es demasiado pequeño para el área cubierta</translation>
+        <translation>El espaciado horizontal es demasiado pequeño para el área cubierta</translation>
     </message>
     <message>
         <source>Invalid overlay: {0}/{1}</source>
-        <translation type="vanished">Superposición no válida: {0}/{1}</translation>
+        <translation>Superposición no válida: {0}/{1}</translation>
     </message>
     <message>
         <source>Vertical spacing is too small for the covered area</source>
-        <translation type="vanished">El espaciado vertical es demasiado pequeño para el área cubierta</translation>
+        <translation>El espaciado vertical es demasiado pequeño para el área cubierta</translation>
     </message>
     <message>
         <source>To preserve symmetry, hspacing is fixed relative to vspacing
                          hspacing is fixed at: {0} and hoverlay is fixed at: {1}
                          hoverlay cannot be negative. Increase hoverlay.</source>
-        <translation type="vanished">Para preservar la simetría, el espaciado horizontal es fijo en relación al espaciado vertical
+        <translation>Para preservar la simetría, el espaciado horizontal es fijo en relación al espaciado vertical
 El espaciado horizontal es fijo a: {0} y la superposición horizontal es fija a: {1}
 La superposición horizontal no puede ser negativa. Aumente la superposición horizontal.</translation>
     </message>
@@ -14171,180 +14171,180 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     <name>GridSurfaceCreate</name>
     <message>
         <source>Grid Surface Create</source>
-        <translation type="vanished">Crear superficie de cuadrícula</translation>
+        <translation>Crear superficie de cuadrícula</translation>
     </message>
     <message>
         <source>Surface</source>
-        <translation type="vanished">Superficie</translation>
+        <translation>Superficie</translation>
     </message>
     <message>
         <source>Input LAS layer</source>
-        <translation type="vanished">Capa LAS de entrada</translation>
+        <translation>Capa LAS de entrada</translation>
     </message>
     <message>
         <source>Cellsize</source>
-        <translation type="vanished">Tamaño de celda</translation>
+        <translation>Tamaño de celda</translation>
     </message>
     <message>
         <source>XY Units</source>
-        <translation type="vanished">Unidades XY</translation>
+        <translation>Unidades XY</translation>
     </message>
     <message>
         <source>Z Units</source>
-        <translation type="vanished">Unidades Z</translation>
+        <translation>Unidades Z</translation>
     </message>
     <message>
         <source>DTM Output Surface</source>
-        <translation type="vanished">Superficie de salida DTM</translation>
+        <translation>Superficie de salida DTM</translation>
     </message>
     <message>
         <source>Spike (set blank if not used)</source>
-        <translation type="vanished">Spike (dejar en blanco si no se usa)</translation>
+        <translation>Spike (dejar en blanco si no se usa)</translation>
     </message>
     <message>
         <source>Median</source>
-        <translation type="vanished">Mediana</translation>
+        <translation>Mediana</translation>
     </message>
     <message>
         <source>Smooth</source>
-        <translation type="vanished">Suavizar</translation>
+        <translation>Suavizar</translation>
     </message>
     <message>
         <source>Slope</source>
-        <translation type="vanished">Pendiente</translation>
+        <translation>Pendiente</translation>
     </message>
     <message>
         <source>Minimum (set blank if not used)</source>
-        <translation type="vanished">Mínimo (dejar en blanco si no se usa)</translation>
+        <translation>Mínimo (dejar en blanco si no se usa)</translation>
     </message>
     <message>
         <source>Class(es)</source>
-        <translation type="vanished">Clase(s)</translation>
+        <translation>Clase(s)</translation>
     </message>
     <message>
         <source>Additional modifiers</source>
-        <translation type="vanished">Modificadores adicionales</translation>
+        <translation>Modificadores adicionales</translation>
     </message>
 </context>
 <context>
     <name>Gridify</name>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <source>Input Layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Horizontal spacing</source>
-        <translation type="vanished">Espaciado horizontal</translation>
+        <translation>Espaciado horizontal</translation>
     </message>
     <message>
         <source>Vertical spacing</source>
-        <translation type="vanished">Espaciado vertical</translation>
+        <translation>Espaciado vertical</translation>
     </message>
     <message>
         <source>Snapped</source>
-        <translation type="vanished">Autoensamblado</translation>
+        <translation>Autoensamblado</translation>
     </message>
     <message>
         <source>Invalid grid spacing: %s/%s</source>
-        <translation type="vanished">Espaciado de cuadrícula no válido: %s/%s</translation>
+        <translation>Espaciado de cuadrícula no válido: %s/%s</translation>
     </message>
     <message>
         <source>Failed to gridify feature with FID %s</source>
-        <translation type="vanished">No se pudo cuadricular el objeto con FID %s</translation>
+        <translation>No se pudo cuadricular el objeto con FID %s</translation>
     </message>
     <message>
         <source>Snap points to grid</source>
-        <translation type="vanished">Ajustar puntos a cuadrícula</translation>
+        <translation>Ajustar puntos a cuadrícula</translation>
     </message>
 </context>
 <context>
     <name>GroundFilter</name>
     <message>
         <source>Ground Filter</source>
-        <translation type="vanished">Filtro de terreno</translation>
+        <translation>Filtro de terreno</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Input LAS layer</source>
-        <translation type="vanished">Capa LAS de entrada</translation>
+        <translation>Capa LAS de entrada</translation>
     </message>
     <message>
         <source>Cellsize for intermediate surfaces</source>
-        <translation type="vanished">Tamaño de celda para superficies intermedias</translation>
+        <translation>Tamaño de celda para superficies intermedias</translation>
     </message>
     <message>
         <source>Output ground LAS file</source>
-        <translation type="vanished">Archivo LAS de terreno de salida</translation>
+        <translation>Archivo LAS de terreno de salida</translation>
     </message>
     <message>
         <source>Create .dtm surface</source>
-        <translation type="vanished">Crear superficie .dtm</translation>
+        <translation>Crear superficie .dtm</translation>
     </message>
 </context>
 <context>
     <name>Heatmap</name>
     <message>
         <source>Heatmap...</source>
-        <translation type="vanished">Heatmap...</translation>
+        <translation>Heatmap...</translation>
     </message>
     <message>
         <source>Creates a heatmap raster for the input point vector.</source>
-        <translation type="vanished">Crea un mapa de calor (Heatmap) de la capa de puntos de entrada.</translation>
+        <translation>Crea un mapa de calor (Heatmap) de la capa de puntos de entrada.</translation>
     </message>
     <message>
         <source>&Heatmap</source>
-        <translation type="vanished">&Mapa de calor</translation>
+        <translation>&Mapa de calor</translation>
     </message>
     <message>
         <source>Layer not found</source>
-        <translation type="vanished">No se ha encontrado la capa</translation>
+        <translation>No se ha encontrado la capa</translation>
     </message>
     <message>
         <source>The heatmap plugin requires at least one point vector layer</source>
-        <translation type="vanished">El complemento mapa de calor requiere al menos una capa vectorial de puntos</translation>
+        <translation>El complemento mapa de calor requiere al menos una capa vectorial de puntos</translation>
     </message>
     <message>
         <source>GDAL driver error</source>
-        <translation type="vanished">Error del controlador de GDAL</translation>
+        <translation>Error del controlador de GDAL</translation>
     </message>
     <message>
         <source>Cannot open the driver for the specified format</source>
-        <translation type="vanished">No se puede abrir el controlador para el formato especificado</translation>
+        <translation>No se puede abrir el controlador para el formato especificado</translation>
     </message>
     <message>
         <source>Raster update error</source>
-        <translation type="vanished">Error al actualizar ráster</translation>
+        <translation>Error al actualizar ráster</translation>
     </message>
     <message>
         <source>Could not open the created raster for updating. The heatmap was not generated.</source>
-        <translation type="vanished">No se pudo abrir el mapa de calor creado para ser actualizado.  El mapa no fue generado.</translation>
+        <translation>No se pudo abrir el mapa de calor creado para ser actualizado.  El mapa no fue generado.</translation>
     </message>
     <message>
         <source>Abort</source>
-        <translation type="vanished">Abortar</translation>
+        <translation>Abortar</translation>
     </message>
     <message>
         <source>Rendering heatmap...</source>
-        <translation type="vanished">Representando mapa de calor...</translation>
+        <translation>Representando mapa de calor...</translation>
     </message>
     <message>
         <source>QGIS</source>
-        <translation type="vanished">QGIS</translation>
+        <translation>QGIS</translation>
     </message>
     <message>
         <source>Heatmap generation aborted</source>
-        <translation type="vanished">Generación de mapa de calor abortada.</translation>
+        <translation>Generación de mapa de calor abortada.</translation>
     </message>
     <message>
         <source>QGIS will now load the partially-computed raster</source>
-        <translation type="vanished">QGIS cargará ahora el ráster parcialmente procesado</translation>
+        <translation>QGIS cargará ahora el ráster parcialmente procesado</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1138"/>
@@ -14416,122 +14416,122 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     <name>HeatmapGui</name>
     <message>
         <source>Quartic (biweight)</source>
-        <translation type="vanished">Cuártica (triponderada)</translation>
+        <translation>Cuártica (triponderada)</translation>
     </message>
     <message>
         <source>Triangular</source>
-        <translation type="vanished">Triangular</translation>
+        <translation>Triangular</translation>
     </message>
     <message>
         <source>Uniform</source>
-        <translation type="vanished">Uniforme</translation>
+        <translation>Uniforme</translation>
     </message>
     <message>
         <source>Triweight</source>
-        <translation type="vanished">Triponderada</translation>
+        <translation>Triponderada</translation>
     </message>
     <message>
         <source>Epanechnikov</source>
-        <translation type="vanished">Epanechnikov</translation>
+        <translation>Epanechnikov</translation>
     </message>
     <message>
         <source>Raw values</source>
-        <translation type="vanished">Valores en bruto</translation>
+        <translation>Valores en bruto</translation>
     </message>
     <message>
         <source>Scaled by kernel size</source>
-        <translation type="vanished">Escalado por el tamaño del núcleo</translation>
+        <translation>Escalado por el tamaño del núcleo</translation>
     </message>
     <message>
         <source>Save Heatmap as:</source>
-        <translation type="vanished">Guardar mapa de calor como:</translation>
+        <translation>Guardar mapa de calor como:</translation>
     </message>
     <message>
         <source>No valid layers found!</source>
-        <translation type="vanished">¡No se encontraron capas válidas!</translation>
+        <translation>¡No se encontraron capas válidas!</translation>
     </message>
     <message>
         <source>Advanced options cannot be enabled.</source>
-        <translation type="vanished">No se pueden activar las opciones avanzadas.</translation>
+        <translation>No se pueden activar las opciones avanzadas.</translation>
     </message>
     <message>
         <source>Invalid output filename</source>
-        <translation type="vanished">Nombre de fichero de salida no válido</translation>
+        <translation>Nombre de fichero de salida no válido</translation>
     </message>
     <message>
         <source>Please enter a valid output file path and name.</source>
-        <translation type="vanished">Por favor, introduzca una ruta y nombre de fichero de salida válidos.</translation>
+        <translation>Por favor, introduzca una ruta y nombre de fichero de salida válidos.</translation>
     </message>
 </context>
 <context>
     <name>HeatmapGuiBase</name>
     <message>
         <source>Heatmap Plugin</source>
-        <translation type="vanished">Complemento Mapa de calor</translation>
+        <translation>Complemento Mapa de calor</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>layer units</source>
-        <translation type="vanished">unidades de la capa</translation>
+        <translation>unidades de la capa</translation>
     </message>
     <message>
         <source>Output values</source>
-        <translation type="vanished">Valores de salida</translation>
+        <translation>Valores de salida</translation>
     </message>
     <message>
         <source>Input point layer</source>
-        <translation type="vanished">Capa de puntos de entrada</translation>
+        <translation>Capa de puntos de entrada</translation>
     </message>
     <message>
         <source>Output raster</source>
-        <translation type="vanished">Ráster de salida</translation>
+        <translation>Ráster de salida</translation>
     </message>
     <message>
         <source>Output format</source>
-        <translation type="vanished">Formato de salida</translation>
+        <translation>Formato de salida</translation>
     </message>
     <message>
         <source>Radius</source>
-        <translation type="vanished">Radio</translation>
+        <translation>Radio</translation>
     </message>
     <message>
         <source>10</source>
-        <translation type="vanished">10</translation>
+        <translation>10</translation>
     </message>
     <message>
         <source>map units</source>
-        <translation type="vanished">unidades de mapa</translation>
+        <translation>unidades de mapa</translation>
     </message>
     <message>
         <source>Rows</source>
-        <translation type="vanished">Filas</translation>
+        <translation>Filas</translation>
     </message>
     <message>
         <source>Cell size X</source>
-        <translation type="vanished">Tamaño X de celda</translation>
+        <translation>Tamaño X de celda</translation>
     </message>
     <message>
         <source>Columns</source>
-        <translation type="vanished">Columnas</translation>
+        <translation>Columnas</translation>
     </message>
     <message>
         <source>Cell size Y</source>
-        <translation type="vanished">Tamaño Y de celda</translation>
+        <translation>Tamaño Y de celda</translation>
     </message>
     <message>
         <source>Kernel shape</source>
-        <translation type="vanished">Forma del núcleo</translation>
+        <translation>Forma del núcleo</translation>
     </message>
     <message>
         <source>Add generated file to map</source>
-        <translation type="vanished">Añadir archivo generado al mapa</translation>
+        <translation>Añadir archivo generado al mapa</translation>
     </message>
     <message>
         <source>Advanced</source>
-        <translation type="vanished">Avanzado</translation>
+        <translation>Avanzado</translation>
     </message>
 </context>
 <context>
@@ -14546,7 +14546,7 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     <name>HelpEditionDialog</name>
     <message>
         <source>Cannot open help file: %s</source>
-        <translation type="vanished">No se puede abrir el archivo de ayuda: %s</translation>
+        <translation>No se puede abrir el archivo de ayuda: %s</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1158"/>
@@ -14652,7 +14652,7 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     </message>
     <message>
         <source>Save As...</source>
-        <translation type="vanished">Guardar como...</translation>
+        <translation>Guardar como...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1185"/>
@@ -14691,7 +14691,7 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     </message>
     <message>
         <source>Save file</source>
-        <translation type="vanished">Guardar archivo</translation>
+        <translation>Guardar archivo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1188"/>
@@ -14700,7 +14700,7 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     </message>
     <message>
         <source>Create test</source>
-        <translation type="vanished">Crear test</translation>
+        <translation>Crear test</translation>
     </message>
 </context>
 <context>
@@ -14728,59 +14728,59 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     <name>HubDistance</name>
     <message>
         <source>Vector analysis tools</source>
-        <translation type="vanished">Herramientas de análisis vectorial</translation>
+        <translation>Herramientas de análisis vectorial</translation>
     </message>
     <message>
         <source>Meters</source>
-        <translation type="vanished">Metros</translation>
+        <translation>Metros</translation>
     </message>
     <message>
         <source>Feet</source>
-        <translation type="vanished">Pies</translation>
+        <translation>Pies</translation>
     </message>
     <message>
         <source>Miles</source>
-        <translation type="vanished">Millas</translation>
+        <translation>Millas</translation>
     </message>
     <message>
         <source>Kilometers</source>
-        <translation type="vanished">Kilómetros</translation>
+        <translation>Kilómetros</translation>
     </message>
     <message>
         <source>Layer units</source>
-        <translation type="vanished">Unidades de la capa</translation>
+        <translation>Unidades de la capa</translation>
     </message>
     <message>
         <source>Source points layer</source>
-        <translation type="vanished">Capa de puntos de origen</translation>
+        <translation>Capa de puntos de origen</translation>
     </message>
     <message>
         <source>Destination hubs layer</source>
-        <translation type="vanished">Capa de ejes de destino</translation>
+        <translation>Capa de ejes de destino</translation>
     </message>
     <message>
         <source>Hub layer name attribute</source>
-        <translation type="vanished">Atributo de nombre de la capa de ejes</translation>
+        <translation>Atributo de nombre de la capa de ejes</translation>
     </message>
     <message>
         <source>Output shape type</source>
-        <translation type="vanished">Tipo de forma de salida</translation>
+        <translation>Tipo de forma de salida</translation>
     </message>
     <message>
         <source>Measurement unit</source>
-        <translation type="vanished">Unidad de medida</translation>
+        <translation>Unidad de medida</translation>
     </message>
     <message>
         <source>Hub distance</source>
-        <translation type="vanished">Distancia de eje</translation>
+        <translation>Distancia de eje</translation>
     </message>
     <message>
         <source>Same layer given for both hubs and spokes</source>
-        <translation type="vanished">Se ha dado la misma capa tanto para ejes como para radios</translation>
+        <translation>Se ha dado la misma capa tanto para ejes como para radios</translation>
     </message>
     <message>
         <source>Distance to nearest hub</source>
-        <translation type="vanished">Distancia al eje más próximo</translation>
+        <translation>Distancia al eje más próximo</translation>
     </message>
 </context>
 <context>
@@ -14923,31 +14923,31 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     <name>HubLines</name>
     <message>
         <source>Hub point layer</source>
-        <translation type="vanished">Capa de puntos de ejes</translation>
+        <translation>Capa de puntos de ejes</translation>
     </message>
     <message>
         <source>Hub ID field</source>
-        <translation type="vanished">Campo ID de ejes</translation>
+        <translation>Campo ID de ejes</translation>
     </message>
     <message>
         <source>Spoke point layer</source>
-        <translation type="vanished">Capa de puntos de radios</translation>
+        <translation>Capa de puntos de radios</translation>
     </message>
     <message>
         <source>Spoke ID field</source>
-        <translation type="vanished">Campo ID de radios</translation>
+        <translation>Campo ID de radios</translation>
     </message>
     <message>
         <source>Hub lines</source>
-        <translation type="vanished">Líneas de eje</translation>
+        <translation>Líneas de eje</translation>
     </message>
     <message>
         <source>Vector analysis tools</source>
-        <translation type="vanished">Herramientas de análisis vectorial</translation>
+        <translation>Herramientas de análisis vectorial</translation>
     </message>
     <message>
         <source>Same layer given for both hubs and spokes</source>
-        <translation type="vanished">Se ha dado la misma capa tanto para ejes como para radios</translation>
+        <translation>Se ha dado la misma capa tanto para ejes como para radios</translation>
     </message>
 </context>
 <context>
@@ -14994,11 +14994,11 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     </message>
     <message>
         <source>Raster tools</source>
-        <translation type="vanished">Herramientas ráster</translation>
+        <translation>Herramientas ráster</translation>
     </message>
     <message>
         <source>Feature %d does not intersect raster or entirely located in NODATA area</source>
-        <translation type="vanished">El objeto %d no intersecta con el ráster o está enteramente situado en un área sin datos</translation>
+        <translation>El objeto %d no intersecta con el ráster o está enteramente situado en un área sin datos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1233"/>
@@ -15012,7 +15012,7 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     </message>
     <message>
         <source>Feature %d is smaller than raster cell size</source>
-        <translation type="vanished">El objeto %d es más pequeño que el tamaño de celda ráster</translation>
+        <translation>El objeto %d es más pequeño que el tamaño de celda ráster</translation>
     </message>
 </context>
 <context>
@@ -15067,35 +15067,35 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     <name>ImageCreate</name>
     <message>
         <source>ImageCreate</source>
-        <translation type="vanished">Crear imágen</translation>
+        <translation>Crear imágen</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Input LAS</source>
-        <translation type="vanished">LAS de entrada</translation>
+        <translation>LAS de entrada</translation>
     </message>
     <message>
         <source>Method to assign color</source>
-        <translation type="vanished">Método para asignar color</translation>
+        <translation>Método para asignar color</translation>
     </message>
     <message>
         <source>Use RGB color model to create the color ramp</source>
-        <translation type="vanished">Usar el modelo de color RGB para crear la rampa de color</translation>
+        <translation>Usar el modelo de color RGB para crear la rampa de color</translation>
     </message>
     <message>
         <source>Ground file (used with 'Height' method)</source>
-        <translation type="vanished">Archivo de terreno (usado con el método 'Altura')</translation>
+        <translation>Archivo de terreno (usado con el método 'Altura')</translation>
     </message>
     <message>
         <source>Pixel size</source>
-        <translation type="vanished">Tamaño de píxel</translation>
+        <translation>Tamaño de píxel</translation>
     </message>
     <message>
         <source>Output format</source>
-        <translation type="vanished">Formato de salida</translation>
+        <translation>Formato de salida</translation>
     </message>
 </context>
 <context>
@@ -15103,7 +15103,7 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     <message>
         <source>Error importing to PostGIS
 %s</source>
-        <translation type="vanished">Error al importar a PostGIS
+        <translation>Error al importar a PostGIS
 %s</translation>
     </message>
     <message>
@@ -15271,46 +15271,46 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     <name>InputLayerSelectorPanel</name>
     <message>
         <source>Select file</source>
-        <translation type="vanished">Seleccionar archivo</translation>
+        <translation>Seleccionar archivo</translation>
     </message>
     <message>
         <source>All files (*.*);;</source>
-        <translation type="vanished">Todos los archivos (*.*);;</translation>
+        <translation>Todos los archivos (*.*);;</translation>
     </message>
 </context>
 <context>
     <name>IntensityImage</name>
     <message>
         <source>IntensityImage</source>
-        <translation type="vanished">ImagenIntensidad</translation>
+        <translation>ImagenIntensidad</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Input file</source>
-        <translation type="vanished">Archivo de entrada</translation>
+        <translation>Archivo de entrada</translation>
     </message>
     <message>
         <source>Use all returns instead of only first</source>
-        <translation type="vanished">Usar todos los retornos en vez de solo el primero</translation>
+        <translation>Usar todos los retornos en vez de solo el primero</translation>
     </message>
     <message>
         <source>Use the lowest return in pixel area to assign the intensity value</source>
-        <translation type="vanished">Usar el retorno más bajo en el área de píxel para asignar el valor de intensidad</translation>
+        <translation>Usar el retorno más bajo en el área de píxel para asignar el valor de intensidad</translation>
     </message>
     <message>
         <source>Produce a CSV intensity histogram data file</source>
-        <translation type="vanished">Producir un archivo de datos de histograma de intensidad CSV</translation>
+        <translation>Producir un archivo de datos de histograma de intensidad CSV</translation>
     </message>
     <message>
         <source>Pixel size</source>
-        <translation type="vanished">Tamaño de píxel</translation>
+        <translation>Tamaño de píxel</translation>
     </message>
     <message>
         <source>Output format</source>
-        <translation type="vanished">Formato de salida</translation>
+        <translation>Formato de salida</translation>
     </message>
 </context>
 <context>
@@ -15360,7 +15360,7 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     </message>
     <message>
         <source>Vector overlay tools</source>
-        <translation type="vanished">Herramientas de superposición vectorial</translation>
+        <translation>Herramientas de superposición vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1292"/>
@@ -15369,7 +15369,7 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     </message>
     <message>
         <source>Intersect layer</source>
-        <translation type="vanished">Capa de intersección</translation>
+        <translation>Capa de intersección</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1297"/>
@@ -15386,31 +15386,31 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     <name>JoinAttributes</name>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Input layer 2</source>
-        <translation type="vanished">Capa de entrada 2</translation>
+        <translation>Capa de entrada 2</translation>
     </message>
     <message>
         <source>Table field</source>
-        <translation type="vanished">Campo de tabla</translation>
+        <translation>Campo de tabla</translation>
     </message>
     <message>
         <source>Table field 2</source>
-        <translation type="vanished">Campo de tabla 2</translation>
+        <translation>Campo de tabla 2</translation>
     </message>
     <message>
         <source>Joined layer</source>
-        <translation type="vanished">Capa unida</translation>
+        <translation>Capa unida</translation>
     </message>
     <message>
         <source>Join attributes table</source>
-        <translation type="vanished">Unir tabla de atributos</translation>
+        <translation>Unir tabla de atributos</translation>
     </message>
 </context>
 <context>
@@ -15462,167 +15462,167 @@ La superposición horizontal no puede ser negativa. Aumente la superposición ho
     <message>
         <source>LAStools folder is not configured.
 Please configure it before running LAStools algorithms.</source>
-        <translation type="vanished">La carpeta LAStools no está configurada.
+        <translation>La carpeta LAStools no está configurada.
 Por favor, configúrela antes de ejecutar algoritmos de LAStools.</translation>
     </message>
     <message>
         <source>verbose</source>
-        <translation type="vanished">detallado</translation>
+        <translation>detallado</translation>
     </message>
     <message>
         <source>open LAStools GUI</source>
-        <translation type="vanished">abrir interfaz de usuario de LAStools</translation>
+        <translation>abrir interfaz de usuario de LAStools</translation>
     </message>
     <message>
         <source>number of cores</source>
-        <translation type="vanished">número de núcleos</translation>
+        <translation>número de núcleos</translation>
     </message>
     <message>
         <source>input LAS/LAZ file</source>
-        <translation type="vanished">archivo LAS/LAZ de entrada</translation>
+        <translation>archivo LAS/LAZ de entrada</translation>
     </message>
     <message>
         <source>input directory</source>
-        <translation type="vanished">directorio de entrada</translation>
+        <translation>directorio de entrada</translation>
     </message>
     <message>
         <source>input wildcard(s)</source>
-        <translation type="vanished">comodín(es) de entrada</translation>
+        <translation>comodín(es) de entrada</translation>
     </message>
     <message>
         <source>merge all input files on-the-fly into one</source>
-        <translation type="vanished">combinar todos los archivos de entrada en uno al vuelo</translation>
+        <translation>combinar todos los archivos de entrada en uno al vuelo</translation>
     </message>
     <message>
         <source>horizontal feet</source>
-        <translation type="vanished">pies horizontales</translation>
+        <translation>pies horizontales</translation>
     </message>
     <message>
         <source>vertical feet</source>
-        <translation type="vanished">pies verticales</translation>
+        <translation>pies verticales</translation>
     </message>
     <message>
         <source>files are flightlines</source>
-        <translation type="vanished">los archivos son líneas de vuel</translation>
+        <translation>los archivos son líneas de vuel</translation>
     </message>
     <message>
         <source>apply file source ID</source>
-        <translation type="vanished">aplicar ID del origen del archivo</translation>
+        <translation>aplicar ID del origen del archivo</translation>
     </message>
     <message>
         <source>step size / pixel size</source>
-        <translation type="vanished">tamaño de paso / tamaño de píxel</translation>
+        <translation>tamaño de paso / tamaño de píxel</translation>
     </message>
     <message>
         <source>output LAS/LAZ file</source>
-        <translation type="vanished">archivo LAS/LAZ de salida</translation>
+        <translation>archivo LAS/LAZ de salida</translation>
     </message>
     <message>
         <source>output format</source>
-        <translation type="vanished">formato de salida</translation>
+        <translation>formato de salida</translation>
     </message>
     <message>
         <source>Output raster file</source>
-        <translation type="vanished">Archivo ráster de salida</translation>
+        <translation>Archivo ráster de salida</translation>
     </message>
     <message>
         <source>Output vector file</source>
-        <translation type="vanished">Archivo vectorial de salida</translation>
+        <translation>Archivo vectorial de salida</translation>
     </message>
     <message>
         <source>output directory</source>
-        <translation type="vanished">directorio de salida</translation>
+        <translation>directorio de salida</translation>
     </message>
     <message>
         <source>output appendix</source>
-        <translation type="vanished">apéndice de salida</translation>
+        <translation>apéndice de salida</translation>
     </message>
     <message>
         <source>empty temporary directory</source>
-        <translation type="vanished">vaciar directorio temporal</translation>
+        <translation>vaciar directorio temporal</translation>
     </message>
     <message>
         <source>additional command line parameter(s)</source>
-        <translation type="vanished">parámetro(s) adicional(es) de la línea de órdenes</translation>
+        <translation>parámetro(s) adicional(es) de la línea de órdenes</translation>
     </message>
     <message>
         <source>filter (by return, classification, flags)</source>
-        <translation type="vanished">fitro (por retorno, clasificación, banderas)</translation>
+        <translation>fitro (por retorno, clasificación, banderas)</translation>
     </message>
     <message>
         <source>second filter (by return, classification, flags)</source>
-        <translation type="vanished">Segundo fitro (por retorno, clasificación, banderas)</translation>
+        <translation>Segundo fitro (por retorno, clasificación, banderas)</translation>
     </message>
     <message>
         <source>third filter (by return, classification, flags)</source>
-        <translation type="vanished">tercer fitro (por retorno, clasificación, banderas)</translation>
+        <translation>tercer fitro (por retorno, clasificación, banderas)</translation>
     </message>
     <message>
         <source>filter (by coordinate, intensity, GPS time, ...)</source>
-        <translation type="vanished">filtro (por coordenada, intensidad, hora GPS, ...)</translation>
+        <translation>filtro (por coordenada, intensidad, hora GPS, ...)</translation>
     </message>
     <message>
         <source>value for filter (by coordinate, intensity, GPS time, ...)</source>
-        <translation type="vanished">valor para filtro (por coordenada, intensidad, hora GPS, ...)</translation>
+        <translation>valor para filtro (por coordenada, intensidad, hora GPS, ...)</translation>
     </message>
     <message>
         <source>second filter (by coordinate, intensity, GPS time, ...)</source>
-        <translation type="vanished">segundo filtro (por coordenada, intensidad, hora GPS, ...)</translation>
+        <translation>segundo filtro (por coordenada, intensidad, hora GPS, ...)</translation>
     </message>
     <message>
         <source>value for second filter (by coordinate, intensity, GPS time, ...)</source>
-        <translation type="vanished">valor para el segundo filtro (por coordenada, intensidad, hora GPS, ...)</translation>
+        <translation>valor para el segundo filtro (por coordenada, intensidad, hora GPS, ...)</translation>
     </message>
     <message>
         <source>transform (coordinates)</source>
-        <translation type="vanished">transformación (coordenadas)</translation>
+        <translation>transformación (coordenadas)</translation>
     </message>
     <message>
         <source>value for transform (coordinates)</source>
-        <translation type="vanished">valor para transformación (coordenadas)</translation>
+        <translation>valor para transformación (coordenadas)</translation>
     </message>
     <message>
         <source>second transform (coordinates)</source>
-        <translation type="vanished">segunda transformación (coordenadas)</translation>
+        <translation>segunda transformación (coordenadas)</translation>
     </message>
     <message>
         <source>value for second transform (coordinates)</source>
-        <translation type="vanished">valor para la segunda transformación (coordenadas)</translation>
+        <translation>valor para la segunda transformación (coordenadas)</translation>
     </message>
     <message>
         <source>transform (intensities, scan angles, GPS times, ...)</source>
-        <translation type="vanished">transformación (intensidades, ángulos de escaneo, horas GPS, ...)</translation>
+        <translation>transformación (intensidades, ángulos de escaneo, horas GPS, ...)</translation>
     </message>
     <message>
         <source>value for transform (intensities, scan angles, GPS times, ...)</source>
-        <translation type="vanished">valor para transformación (intensidades, ángulos de escaneo, horas GPS, ...)</translation>
+        <translation>valor para transformación (intensidades, ángulos de escaneo, horas GPS, ...)</translation>
     </message>
     <message>
         <source>second transform (intensities, scan angles, GPS times, ...)</source>
-        <translation type="vanished">segunda transformación (intensidades, ángulos de escaneo, horas GPS, ...)</translation>
+        <translation>segunda transformación (intensidades, ángulos de escaneo, horas GPS, ...)</translation>
     </message>
     <message>
         <source>value for second transform (intensities, scan angles, GPS times, ...)</source>
-        <translation type="vanished">valor para la segunda transformación (intensidades, ángulos de escaneo, horas GPS, ...)</translation>
+        <translation>valor para la segunda transformación (intensidades, ángulos de escaneo, horas GPS, ...)</translation>
     </message>
     <message>
         <source>ignore points with this classification</source>
-        <translation type="vanished">ignorar puntos con esta clasificación</translation>
+        <translation>ignorar puntos con esta clasificación</translation>
     </message>
     <message>
         <source>also ignore points with this classification</source>
-        <translation type="vanished">también ignorar puntos con esta clasificación</translation>
+        <translation>también ignorar puntos con esta clasificación</translation>
     </message>
 </context>
 <context>
     <name>LAStoolsUtils</name>
     <message>
         <source>LAStools command line</source>
-        <translation type="vanished">Línea de órdenes de LAStools</translation>
+        <translation>Línea de órdenes de LAStools</translation>
     </message>
     <message>
         <source>LAStools console output</source>
-        <translation type="vanished">Salida de la consola de LAStools</translation>
+        <translation>Salida de la consola de LAStools</translation>
     </message>
 </context>
 <context>
@@ -15657,81 +15657,81 @@ Por favor, configúrela antes de ejecutar algoritmos de LAStools.</translation>
     <name>LengthArea</name>
     <message>
         <source>Stream Network Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de red de corriente</translation>
+        <translation>Herramientas de análisis de red de corriente</translation>
     </message>
     <message>
         <source>Length Grid</source>
-        <translation type="vanished">Cuadrícula de longitud</translation>
+        <translation>Cuadrícula de longitud</translation>
     </message>
     <message>
         <source>Contributing Area Grid</source>
-        <translation type="vanished">Cuadrícula de área de contribución</translation>
+        <translation>Cuadrícula de área de contribución</translation>
     </message>
     <message>
         <source>Threshold</source>
-        <translation type="vanished">Umbral</translation>
+        <translation>Umbral</translation>
     </message>
     <message>
         <source>Exponent</source>
-        <translation type="vanished">Exponente</translation>
+        <translation>Exponente</translation>
     </message>
     <message>
         <source>Stream Source Grid</source>
-        <translation type="vanished">Cuadrícula de origen de corriente</translation>
+        <translation>Cuadrícula de origen de corriente</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>LengthAreaMulti</name>
     <message>
         <source>Stream Network Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de red de corriente</translation>
+        <translation>Herramientas de análisis de red de corriente</translation>
     </message>
     <message>
         <source>Length Grid</source>
-        <translation type="vanished">Cuadrícula de longitud</translation>
+        <translation>Cuadrícula de longitud</translation>
     </message>
     <message>
         <source>Contributing Area Grid</source>
-        <translation type="vanished">Cuadrícula de área de contribución</translation>
+        <translation>Cuadrícula de área de contribución</translation>
     </message>
     <message>
         <source>Threshold</source>
-        <translation type="vanished">Umbral</translation>
+        <translation>Umbral</translation>
     </message>
     <message>
         <source>Exponent</source>
-        <translation type="vanished">Exponente</translation>
+        <translation>Exponente</translation>
     </message>
     <message>
         <source>Stream Source Grid</source>
-        <translation type="vanished">Cuadrícula de origen de corriente</translation>
+        <translation>Cuadrícula de origen de corriente</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>LidarToolsAlgorithmProvider</name>
     <message>
         <source>LAStools folder</source>
-        <translation type="vanished">Carpeta de LAStools</translation>
+        <translation>Carpeta de LAStools</translation>
     </message>
     <message>
         <source>Fusion folder</source>
-        <translation type="vanished">Carpeta de fusión</translation>
+        <translation>Carpeta de fusión</translation>
     </message>
     <message>
         <source>Wine folder</source>
-        <translation type="vanished">Carpeta de Wine</translation>
+        <translation>Carpeta de Wine</translation>
     </message>
     <message>
         <source>Tools for LiDAR data</source>
-        <translation type="vanished">Herramientas para datos LIDAR</translation>
+        <translation>Herramientas para datos LIDAR</translation>
     </message>
 </context>
 <context>
@@ -15796,46 +15796,46 @@ Por favor, configúrela antes de ejecutar algoritmos de LAStools.</translation>
     <name>LinesIntersection</name>
     <message>
         <source>Vector overlay tools</source>
-        <translation type="vanished">Herramientas de superposición vectorial</translation>
+        <translation>Herramientas de superposición vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Intersect layer</source>
-        <translation type="vanished">Capa de intersección</translation>
+        <translation>Capa de intersección</translation>
     </message>
     <message>
         <source>Input unique ID field</source>
-        <translation type="vanished">Campo ID único de entrada</translation>
+        <translation>Campo ID único de entrada</translation>
     </message>
     <message>
         <source>Intersect unique ID field</source>
-        <translation type="vanished">Campo ID único de intersección</translation>
+        <translation>Campo ID único de intersección</translation>
     </message>
     <message>
         <source>Intersections</source>
-        <translation type="vanished">Intersecciones</translation>
+        <translation>Intersecciones</translation>
     </message>
     <message>
         <source>Line intersections</source>
-        <translation type="vanished">Intersecciones de líneas</translation>
+        <translation>Intersecciones de líneas</translation>
     </message>
 </context>
 <context>
     <name>LinesToPolygons</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Polygons from lines</source>
-        <translation type="vanished">Polígonos a partir de líneas</translation>
+        <translation>Polígonos a partir de líneas</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1310"/>
@@ -15872,7 +15872,7 @@ Por favor, configúrela antes de ejecutar algoritmos de LAStools.</translation>
     </message>
     <message>
         <source>Print Composers</source>
-        <translation type="vanished">Diseñadores de impresión</translation>
+        <translation>Diseñadores de impresión</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="70"/>
@@ -15927,7 +15927,7 @@ Por favor, configúrela antes de ejecutar algoritmos de LAStools.</translation>
     </message>
     <message>
         <source>&OpenStreetMap</source>
-        <translation type="vanished">&OpenStreetMap</translation>
+        <translation>&OpenStreetMap</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="669"/>
@@ -16037,7 +16037,7 @@ Por favor, configúrela antes de ejecutar algoritmos de LAStools.</translation>
     </message>
     <message>
         <source>Edit script help</source>
-        <translation type="vanished">Editar ayuda del script</translation>
+        <translation>Editar ayuda del script</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/ui/DlgScriptEditor.ui" line="160"/>
@@ -16102,7 +16102,7 @@ Por favor, configúrela antes de ejecutar algoritmos de LAStools.</translation>
     </message>
     <message>
         <source>Composer Manager...</source>
-        <translation type="vanished">Administrador de diseñadores...</translation>
+        <translation>Administrador de diseñadores...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="42"/>
@@ -16177,7 +16177,7 @@ Por favor, configúrela antes de ejecutar algoritmos de LAStools.</translation>
     </message>
     <message>
         <source>Plugin Toolbar</source>
-        <translation type="vanished">Complementos</translation>
+        <translation>Complementos</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="514"/>
@@ -16323,7 +16323,7 @@ Por favor, configúrela antes de ejecutar algoritmos de LAStools.</translation>
     <message>
         <source>Move Feature(s)
 <p>Try the Node Tool if snapping is needed</p></source>
-        <translation type="vanished">Mover objeto(s)
+        <translation>Mover objeto(s)
 <p>Pruebe la herramienta de nodos si necesita autoensamblado</p></translation>
     </message>
     <message>
@@ -16383,7 +16383,7 @@ Por favor, configúrela antes de ejecutar algoritmos de LAStools.</translation>
     </message>
     <message>
         <source>Node Tool</source>
-        <translation type="vanished">Herramienta de nodos</translation>
+        <translation>Herramienta de nodos</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="991"/>
@@ -17002,7 +17002,7 @@ Actúa sobre todos las capas editables</translation>
     </message>
     <message>
         <source>Regular Shape Digitizing Toolbar</source>
-        <translation type="vanished">Digitalización de formas regulares</translation>
+        <translation>Digitalización de formas regulares</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="714"/>
@@ -17133,7 +17133,7 @@ Actúa sobre todos las capas editables</translation>
     </message>
     <message>
         <source>Configure Shortcuts...</source>
-        <translation type="vanished">Configurar atajos de teclado...</translation>
+        <translation>Configurar atajos de teclado...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="1720"/>
@@ -17153,7 +17153,7 @@ Actúa sobre todos las capas editables</translation>
     </message>
     <message>
         <source>Touch Zoom and Pan</source>
-        <translation type="vanished">Tocar zum y desplazar</translation>
+        <translation>Tocar zum y desplazar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="2036"/>
@@ -17165,14 +17165,14 @@ Actúa sobre todos las capas editables</translation>
 Click or marquee on label/diagram to pin
 Shift unpins, Ctl (Cmd) toggles state
 Acts on all editable layers</source>
-        <translation type="vanished">Anclar/Desanclar etiquetas y diagramas
+        <translation>Anclar/Desanclar etiquetas y diagramas
 Pulsar o marcar sobre la etiqueta/diagrama para anclar
 Shift desanclar, Ctl (Cmd) cambia el estado
 Actúa sobre todos las capas editables</translation>
     </message>
     <message>
         <source>Highlight Pinned Labels And DIagrams</source>
-        <translation type="vanished">Resaltar etiquetas y diagramas anclados</translation>
+        <translation>Resaltar etiquetas y diagramas anclados</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="2054"/>
@@ -17209,15 +17209,15 @@ Actúa sobre la capa editable activa actual</translation>
     </message>
     <message>
         <source>&Download Data...</source>
-        <translation type="vanished">&Descargar datos...</translation>
+        <translation>&Descargar datos...</translation>
     </message>
     <message>
         <source>&Import Topology from XML...</source>
-        <translation type="vanished">&Importar topología a partir de XML...</translation>
+        <translation>&Importar topología a partir de XML...</translation>
     </message>
     <message>
         <source>&Export Topology to SpatiaLite...</source>
-        <translation type="vanished">&Exportar topología a SpatiaLite...</translation>
+        <translation>&Exportar topología a SpatiaLite...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="2276"/>
@@ -17241,7 +17241,7 @@ Actúa sobre la capa editable activa actual</translation>
     </message>
     <message>
         <source>Select By Expression...</source>
-        <translation type="vanished">Seleccionar por expresión...</translation>
+        <translation>Seleccionar por expresión...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="2323"/>
@@ -17370,11 +17370,11 @@ Actúa sobre la capa editable activa actual</translation>
     </message>
     <message>
         <source>Enable Tracing</source>
-        <translation type="vanished">Habilitar Trazado</translation>
+        <translation>Habilitar Trazado</translation>
     </message>
     <message>
         <source>T</source>
-        <translation type="vanished">T</translation>
+        <translation>T</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="1544"/>
@@ -17474,7 +17474,7 @@ Actúa sobre la capa editable activa actual</translation>
     </message>
     <message>
         <source>Toggle Full Screen Mode</source>
-        <translation type="vanished">Alternar el modo de pantalla completa</translation>
+        <translation>Alternar el modo de pantalla completa</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="357"/>
@@ -17542,7 +17542,7 @@ Actúa sobre la capa editable activa actual</translation>
     </message>
     <message>
         <source>Custom CRS...</source>
-        <translation type="vanished">SRC personalizado...</translation>
+        <translation>SRC personalizado...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="1700"/>
@@ -17602,7 +17602,7 @@ Actúa sobre la capa editable activa actual</translation>
     <message>
         <source>Rotate Label
 Ctl (Cmd) increments by 15 deg.</source>
-        <translation type="vanished">Rotar etiqueta
+        <translation>Rotar etiqueta
 Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
@@ -17627,7 +17627,7 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Customization...</source>
-        <translation type="vanished">Personalización...</translation>
+        <translation>Personalización...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="1875"/>
@@ -17652,7 +17652,7 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>&Copyright Label</source>
-        <translation type="vanished">Etiqueta de &Copyright</translation>
+        <translation>Etiqueta de &Copyright</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="1901"/>
@@ -17661,7 +17661,7 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>&North Arrow</source>
-        <translation type="vanished">Flecha de &Norte</translation>
+        <translation>Flecha de &Norte</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="1916"/>
@@ -17670,7 +17670,7 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>&Scale Bar</source>
-        <translation type="vanished">Barra de e&scala</translation>
+        <translation>Barra de e&scala</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="1931"/>
@@ -17706,7 +17706,7 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Touch zoom and pan</source>
-        <translation type="vanished">Tocar zum y desplazar</translation>
+        <translation>Tocar zum y desplazar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="1982"/>
@@ -17730,7 +17730,7 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>&Grid</source>
-        <translation type="vanished">Cuad&rícula</translation>
+        <translation>Cuad&rícula</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="2021"/>
@@ -17875,11 +17875,11 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Save as &Image...</source>
-        <translation type="vanished">Guardar como &imagen...</translation>
+        <translation>Guardar como &imagen...</translation>
     </message>
     <message>
         <source>New &Print Composer</source>
-        <translation type="vanished">Nuevo diseñador de im&presión</translation>
+        <translation>Nuevo diseñador de im&presión</translation>
     </message>
     <message>
         <location filename="../src/ui/qgisapp.ui" line="1008"/>
@@ -17999,11 +17999,11 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Save connections</source>
-        <translation type="vanished">Guardar conexiones</translation>
+        <translation>Guardar conexiones</translation>
     </message>
     <message>
         <source>Load connections</source>
-        <translation type="vanished">Cargar conexiones</translation>
+        <translation>Cargar conexiones</translation>
     </message>
     <message>
         <location filename="../python/plugins/MetaSearch/python-i18n.cpp" line="17"/>
@@ -18012,11 +18012,11 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Saved to %s</source>
-        <translation type="vanished">Guardado en %s</translation>
+        <translation>Guardado en %s</translation>
     </message>
     <message>
         <source>File %s exists. Overwrite?</source>
-        <translation type="vanished">El archivo %s ya existe. ¿Sobrescribir?</translation>
+        <translation>El archivo %s ya existe. ¿Sobrescribir?</translation>
     </message>
     <message>
         <location filename="../python/plugins/MetaSearch/python-i18n.cpp" line="21"/>
@@ -18142,11 +18142,11 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Mean field</source>
-        <translation type="vanished">Campo media</translation>
+        <translation>Campo media</translation>
     </message>
     <message>
         <source>StdDev field</source>
-        <translation type="vanished">Campo desviación estándar</translation>
+        <translation>Campo desviación estándar</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1360"/>
@@ -18168,77 +18168,77 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     <name>MeanCoords</name>
     <message>
         <source>Vector analysis tools</source>
-        <translation type="vanished">Herramientas de análisis vectorial</translation>
+        <translation>Herramientas de análisis vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Weight field</source>
-        <translation type="vanished">Campo de peso</translation>
+        <translation>Campo de peso</translation>
     </message>
     <message>
         <source>Unique ID field</source>
-        <translation type="vanished">Campo ID único</translation>
+        <translation>Campo ID único</translation>
     </message>
     <message>
         <source>Mean coordinates</source>
-        <translation type="vanished">Coordenadas medias</translation>
+        <translation>Coordenadas medias</translation>
     </message>
     <message>
         <source>Mean coordinate(s)</source>
-        <translation type="vanished">Coordenada(s) media</translation>
+        <translation>Coordenada(s) media</translation>
     </message>
 </context>
 <context>
     <name>Merge</name>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <source>Layers to merge</source>
-        <translation type="vanished">Capas a combinar</translation>
+        <translation>Capas a combinar</translation>
     </message>
     <message>
         <source>All layers must have same geometry type!</source>
-        <translation type="vanished">¡Todas las capas deben tener el mismo tipo de geometría!</translation>
+        <translation>¡Todas las capas deben tener el mismo tipo de geometría!</translation>
     </message>
     <message>
         <source>{} field in layer {} has different data type than in other layers.</source>
-        <translation type="vanished">el campo {} de la capa {} tiene un tipo de datos distinto que las otras capas.</translation>
+        <translation>el campo {} de la capa {} tiene un tipo de datos distinto que las otras capas.</translation>
     </message>
     <message>
         <source>Attribute type mismatch</source>
-        <translation type="vanished">No coincide el tipo de atributo</translation>
+        <translation>No coincide el tipo de atributo</translation>
     </message>
     <message>
         <source>Merged</source>
-        <translation type="vanished">Combinado</translation>
+        <translation>Combinado</translation>
     </message>
     <message>
         <source>Merge vector layers</source>
-        <translation type="vanished">Combinar capas vectoriales</translation>
+        <translation>Combinar capas vectoriales</translation>
     </message>
 </context>
 <context>
     <name>MergeData</name>
     <message>
         <source>Merge LAS Files</source>
-        <translation type="vanished">Combinar archivos LAS</translation>
+        <translation>Combinar archivos LAS</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Input LAS files</source>
-        <translation type="vanished">Archivos LAS de entrada</translation>
+        <translation>Archivos LAS de entrada</translation>
     </message>
     <message>
         <source>Output merged LAS file</source>
-        <translation type="vanished">Archivo LAS combinado de salida</translation>
+        <translation>Archivo LAS combinado de salida</translation>
     </message>
 </context>
 <context>
@@ -18263,7 +18263,7 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Search Metadata Catalogues</source>
-        <translation type="vanished">Busca catálogos de metadatos</translation>
+        <translation>Busca catálogos de metadatos</translation>
     </message>
     <message>
         <location filename="../python/plugins/MetaSearch/python-i18n.cpp" line="26"/>
@@ -18418,7 +18418,7 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Double click to see full record information</source>
-        <translation type="vanished">Doble clic para ver información completa de los registros</translation>
+        <translation>Doble clic para ver información completa de los registros</translation>
     </message>
     <message>
         <location filename="../python/plugins/MetaSearch/ui/maindialog.ui" line="264"/>
@@ -18553,15 +18553,15 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>New Catalogue service</source>
-        <translation type="vanished">Nuevo servicio de catálogo</translation>
+        <translation>Nuevo servicio de catálogo</translation>
     </message>
     <message>
         <source>Edit Catalogue service</source>
-        <translation type="vanished">Editar servicio de catálogo</translation>
+        <translation>Editar servicio de catálogo</translation>
     </message>
     <message>
         <source>Remove service %s?</source>
-        <translation type="vanished">¿Eliminar el servicio %s?</translation>
+        <translation>¿Eliminar el servicio %s?</translation>
     </message>
     <message>
         <location filename="../python/plugins/MetaSearch/python-i18n.cpp" line="87"/>
@@ -18570,7 +18570,7 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>%s exists.  Overwrite?</source>
-        <translation type="vanished">%s existe. ¿Sobreescribir?</translation>
+        <translation>%s existe. ¿Sobreescribir?</translation>
     </message>
     <message>
         <location filename="../python/plugins/MetaSearch/python-i18n.cpp" line="89"/>
@@ -18584,7 +18584,7 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Search error: %s</source>
-        <translation type="vanished">Error de búsqueda: %s</translation>
+        <translation>Error de búsqueda: %s</translation>
     </message>
     <message>
         <location filename="../python/plugins/MetaSearch/python-i18n.cpp" line="92"/>
@@ -18593,7 +18593,7 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Connection error: %s</source>
-        <translation type="vanished">Error de conexión: %s</translation>
+        <translation>Error de conexión: %s</translation>
     </message>
     <message>
         <location filename="../python/plugins/MetaSearch/python-i18n.cpp" line="82"/>
@@ -18696,7 +18696,7 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Connection %s exists. Overwrite?</source>
-        <translation type="vanished">La conexión %s existe. ¿Sobreescribir?</translation>
+        <translation>La conexión %s existe. ¿Sobreescribir?</translation>
     </message>
     <message>
         <location filename="../python/plugins/MetaSearch/python-i18n.cpp" line="102"/>
@@ -18710,19 +18710,19 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Error getting response: %s</source>
-        <translation type="vanished">Error al obtener respuesta: %s</translation>
+        <translation>Error al obtener respuesta: %s</translation>
     </message>
     <message>
         <source>Error connecting to service: %s</source>
-        <translation type="vanished">Error al conectarse al servicio: %s</translation>
+        <translation>Error al conectarse al servicio: %s</translation>
     </message>
     <message>
         <source>Value Error: %s</source>
-        <translation type="vanished">Error de valor: %s</translation>
+        <translation>Error de valor: %s</translation>
     </message>
     <message>
         <source>Unknown Error: %s</source>
-        <translation type="vanished">Error desconocido: %s</translation>
+        <translation>Error desconocido: %s</translation>
     </message>
     <message>
         <location filename="../python/plugins/MetaSearch/python-i18n.cpp" line="109"/>
@@ -18839,65 +18839,65 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     <name>ModelerAlgorithm</name>
     <message>
         <source>Model</source>
-        <translation type="vanished">Modelo</translation>
+        <translation>Modelo</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="vanished">Advertencia</translation>
+        <translation>Advertencia</translation>
     </message>
     <message>
         <source>Parameter %s in algorithm %s in the model is run with default value! Edit the model to make sure that this is correct.</source>
-        <translation type="vanished">¡El parámetro %s del algoritmo %s en el modelo es ejecutado con el valor predeterminado! Edite el modelo para asegurarse de que esto es correcto.</translation>
+        <translation>¡El parámetro %s del algoritmo %s en el modelo es ejecutado con el valor predeterminado! Edite el modelo para asegurarse de que esto es correcto.</translation>
     </message>
     <message>
         <source>Wrong value %s for %s %s</source>
-        <translation type="vanished">Valor incorrecto %s para %s %s</translation>
+        <translation>Valor incorrecto %s para %s %s</translation>
     </message>
     <message>
         <source>Prepare algorithm: %s</source>
-        <translation type="vanished">Preparar algoritmo: %s</translation>
+        <translation>Preparar algoritmo: %s</translation>
     </message>
     <message>
         <source>Running %s [%i/%i]</source>
-        <translation type="vanished">Ejecutando %s [%i/%i]</translation>
+        <translation>Ejecutando %s [%i/%i]</translation>
     </message>
     <message>
         <source>OK. Execution took %0.3f ms (%i outputs).</source>
-        <translation type="vanished">OK. La ejecución tardó %0.3f ms (%i salidas).</translation>
+        <translation>OK. La ejecución tardó %0.3f ms (%i salidas).</translation>
     </message>
     <message>
         <source>Failed</source>
-        <translation type="vanished">Falló</translation>
+        <translation>Falló</translation>
     </message>
     <message>
         <source>Error executing algorithm %s
 %s</source>
-        <translation type="vanished">Error al ejecutar el algoritmo %s
+        <translation>Error al ejecutar el algoritmo %s
 %s</translation>
     </message>
     <message>
         <source>Model processed ok. Executed %i algorithms total</source>
-        <translation type="vanished">Modelo procesado correctamente. Se ejecutaron %i algoritmos en total.</translation>
+        <translation>Modelo procesado correctamente. Se ejecutaron %i algoritmos en total.</translation>
     </message>
 </context>
 <context>
     <name>ModelerAlgorithmProvider</name>
     <message>
         <source>Models folder</source>
-        <translation type="vanished">Carpeta de modelos</translation>
+        <translation>Carpeta de modelos</translation>
     </message>
     <message>
         <source>Models</source>
-        <translation type="vanished">Modelos</translation>
+        <translation>Modelos</translation>
     </message>
     <message>
         <source>Could not load model %s</source>
-        <translation type="vanished">No se pudo cargar el modelo %s</translation>
+        <translation>No se pudo cargar el modelo %s</translation>
     </message>
     <message>
         <source>Could not load model %s
 %s</source>
-        <translation type="vanished">No se pudo cargar el modelo %s
+        <translation>No se pudo cargar el modelo %s
 %s</translation>
     </message>
     <message>
@@ -18936,15 +18936,15 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     <name>ModelerDialog</name>
     <message>
         <source>Search...</source>
-        <translation type="vanished">Buscar...</translation>
+        <translation>Buscar...</translation>
     </message>
     <message>
         <source>[Enter model name here]</source>
-        <translation type="vanished">[Introducir nombre del modelo aquí]</translation>
+        <translation>[Introducir nombre del modelo aquí]</translation>
     </message>
     <message>
         <source>[Enter group name here]</source>
-        <translation type="vanished">[Introducir nombre del grupo aquí]</translation>
+        <translation>[Introducir nombre del grupo aquí]</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1393"/>
@@ -19025,11 +19025,11 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Model exported</source>
-        <translation type="vanished">Modelo exportado</translation>
+        <translation>Modelo exportado</translation>
     </message>
     <message>
         <source>Model was correctly exported.</source>
-        <translation type="vanished">El modelo se exportó correctamente.</translation>
+        <translation>El modelo se exportó correctamente.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1406"/>
@@ -19048,7 +19048,7 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Processing models (*.model)</source>
-        <translation type="vanished">Modelos de Procesos (*.model)</translation>
+        <translation>Modelos de Procesos (*.model)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1410"/>
@@ -19062,12 +19062,12 @@ Ctl (Cmd) incrementa cada 15 grados.</translation>
     </message>
     <message>
         <source>Processing models (*.model *.MODEL)</source>
-        <translation type="vanished">Modelos de Procesos (*.model *.MODEL)</translation>
+        <translation>Modelos de Procesos (*.model *.MODEL)</translation>
     </message>
     <message>
         <source>Could not load model %s
 %s</source>
-        <translation type="vanished">No se pudo cargar el modelo %s
+        <translation>No se pudo cargar el modelo %s
 %s</translation>
     </message>
     <message>
@@ -19079,19 +19079,19 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>Model doesn't contains any algorithms and/or parameters and can't be executed</source>
-        <translation type="vanished">El modelo no contiene ningún algoritmo y/o parámetro y no se puede ejecutar</translation>
+        <translation>El modelo no contiene ningún algoritmo y/o parámetro y no se puede ejecutar</translation>
     </message>
     <message>
         <source>This model can't be saved in its original location (probably you do not have permission to do it). Please, use the 'Save as...' option.</source>
-        <translation type="vanished">Este modelo no se puede guardar en su localización original (probablemente no tiene permiso para hecerlo). Por favor, use la opción 'Guardar como...'</translation>
+        <translation>Este modelo no se puede guardar en su localización original (probablemente no tiene permiso para hecerlo). Por favor, use la opción 'Guardar como...'</translation>
     </message>
     <message>
         <source>Model saved</source>
-        <translation type="vanished">Modelo guardado</translation>
+        <translation>Modelo guardado</translation>
     </message>
     <message>
         <source>Model was correctly saved.</source>
-        <translation type="vanished">Modelo guardado correctamente</translation>
+        <translation>Modelo guardado correctamente</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1413"/>
@@ -19115,7 +19115,7 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>Could not open model</source>
-        <translation type="vanished">No se pudo abrir el modelo</translation>
+        <translation>No se pudo abrir el modelo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1418"/>
@@ -19124,25 +19124,25 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>Unsaved changes</source>
-        <translation type="vanished">Cambios sin guardar</translation>
+        <translation>Cambios sin guardar</translation>
     </message>
     <message>
         <source>There are unsaved changes in model. Continue?</source>
-        <translation type="vanished">Hay cambios sin guardar en el modelo. ¿Continuar?</translation>
+        <translation>Hay cambios sin guardar en el modelo. ¿Continuar?</translation>
     </message>
 </context>
 <context>
     <name>ModelerOnlyAlgorithmProvider</name>
     <message>
         <source>Modeler-only tools</source>
-        <translation type="vanished">Herramientas sólo del modelador</translation>
+        <translation>Herramientas sólo del modelador</translation>
     </message>
 </context>
 <context>
     <name>ModelerParameterDefinitionDialog</name>
     <message>
         <source>Parameter definition</source>
-        <translation type="vanished">Definición de parámetros</translation>
+        <translation>Definición de parámetros</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1423"/>
@@ -19161,19 +19161,19 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>Required</source>
-        <translation type="vanished">Necesario</translation>
+        <translation>Necesario</translation>
     </message>
     <message>
         <source>Yes</source>
-        <translation type="vanished">Sí</translation>
+        <translation>Sí</translation>
     </message>
     <message>
         <source>No</source>
-        <translation type="vanished">No</translation>
+        <translation>No</translation>
     </message>
     <message>
         <source>Shape type</source>
-        <translation type="vanished">Tipo de forma</translation>
+        <translation>Tipo de forma</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1426"/>
@@ -19247,19 +19247,19 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>Vector (any)</source>
-        <translation type="vanished">Vectorial (cualquiera)</translation>
+        <translation>Vectorial (cualquiera)</translation>
     </message>
     <message>
         <source>Vector (point)</source>
-        <translation type="vanished">Vectorial (punto)</translation>
+        <translation>Vectorial (punto)</translation>
     </message>
     <message>
         <source>Vector (line)</source>
-        <translation type="vanished">Vectorial (línea)</translation>
+        <translation>Vectorial (línea)</translation>
     </message>
     <message>
         <source>Vector (polygon)</source>
-        <translation type="vanished">Vectorial (polígono)</translation>
+        <translation>Vectorial (polígono)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1447"/>
@@ -19268,11 +19268,11 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>Table</source>
-        <translation type="vanished">Tabla</translation>
+        <translation>Tabla</translation>
     </message>
     <message>
         <source>Min/Max values</source>
-        <translation type="vanished">Valores mín/máx</translation>
+        <translation>Valores mín/máx</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1432"/>
@@ -19419,19 +19419,19 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>Parameters</source>
-        <translation type="vanished">Parámetros</translation>
+        <translation>Parámetros</translation>
     </message>
     <message>
         <source><p>Downloading algorithm help... Please wait.</p></source>
-        <translation type="vanished"><p>Descargando ayuda del algoritmo... Por favor, espere.</p></translation>
+        <translation><p>Descargando ayuda del algoritmo... Por favor, espere.</p></translation>
     </message>
     <message>
         <source><h2>No help available for this algorithm</h2></source>
-        <translation type="vanished"><h2>No hay ayuda disponible para este algoritmo</h2></translation>
+        <translation><h2>No hay ayuda disponible para este algoritmo</h2></translation>
     </message>
     <message>
         <source><h2>No help available for this algorithm</h2><p>{}</p></source>
-        <translation type="vanished"><h2>No hay ayuda disponible para este algorimo</h2><p>{}</p></translation>
+        <translation><h2>No hay ayuda disponible para este algorimo</h2><p>{}</p></translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1468"/>
@@ -19440,14 +19440,14 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>'%s' from algorithm '%s'</source>
-        <translation type="vanished">'%s' del algoritmo '%s'</translation>
+        <translation>'%s' del algoritmo '%s'</translation>
     </message>
 </context>
 <context>
     <name>ModellerNumberInputPanel</name>
     <message>
         <source>Expression based input</source>
-        <translation type="vanished">Entrada basada en expresión</translation>
+        <translation>Entrada basada en expresión</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1475"/>
@@ -19467,26 +19467,26 @@ Vea el registro para más información.</translation>
     <name>MultipartToSingleparts</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Single parts</source>
-        <translation type="vanished">Partes sencillas</translation>
+        <translation>Partes sencillas</translation>
     </message>
     <message>
         <source>Multipart to singleparts</source>
-        <translation type="vanished">Multipartes a partes sencillas</translation>
+        <translation>Multipartes a partes sencillas</translation>
     </message>
 </context>
 <context>
     <name>MultipleDirectorySelector</name>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -19518,7 +19518,7 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>Select file(s)</source>
-        <translation type="vanished">Seleccionar archivo(s)</translation>
+        <translation>Seleccionar archivo(s)</translation>
     </message>
 </context>
 <context>
@@ -19560,7 +19560,7 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>Select file(s)</source>
-        <translation type="vanished">Seleccionar archivo(s)</translation>
+        <translation>Seleccionar archivo(s)</translation>
     </message>
 </context>
 <context>
@@ -19577,18 +19577,18 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>%d elements selected</source>
-        <translation type="vanished">%d elementos seleccionados</translation>
+        <translation>%d elementos seleccionados</translation>
     </message>
 </context>
 <context>
     <name>NearestNeighbourAnalysis</name>
     <message>
         <source>Vector analysis tools</source>
-        <translation type="vanished">Herramientas de análisis vectorial</translation>
+        <translation>Herramientas de análisis vectorial</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1506"/>
@@ -19645,7 +19645,7 @@ Vea el registro para más información.</translation>
     <name>NewConnectionDialog</name>
     <message>
         <source>Create a new Catalogue connection</source>
-        <translation type="vanished">Crear una nueva conexión de catálogos</translation>
+        <translation>Crear una nueva conexión de catálogos</translation>
     </message>
     <message>
         <location filename="../python/plugins/MetaSearch/ui/newconnectiondialog.ui" line="14"/>
@@ -19691,19 +19691,19 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>Save connection</source>
-        <translation type="vanished">Guardar conexión</translation>
+        <translation>Guardar conexión</translation>
     </message>
     <message>
         <source>Both Name and URL must be provided</source>
-        <translation type="vanished">Se deben proporcionar tanto el nombre como la URL</translation>
+        <translation>Se deben proporcionar tanto el nombre como la URL</translation>
     </message>
     <message>
         <source>Overwrite %s?</source>
-        <translation type="vanished">¿Sobreescribir %s?</translation>
+        <translation>¿Sobreescribir %s?</translation>
     </message>
     <message>
         <source>Name cannot contain '/'</source>
-        <translation type="vanished">El nombre no puede contener '/'</translation>
+        <translation>El nombre no puede contener '/'</translation>
     </message>
     <message>
         <location filename="../python/plugins/MetaSearch/python-i18n.cpp" line="120"/>
@@ -19730,12 +19730,12 @@ Vea el registro para más información.</translation>
     <name>NewPreconfiguredAlgorithmAction</name>
     <message>
         <source>Create preconfigured algorithm</source>
-        <translation type="vanished">Crear algoritmo preconfigurado</translation>
+        <translation>Crear algoritmo preconfigurado</translation>
     </message>
     <message>
         <source>Create preconfigured algorithm</source>
         <comment>NewPreconfiguredAlgorithmAction</comment>
-        <translation type="vanished">Crear algoritmo preconfigurado</translation>
+        <translation>Crear algoritmo preconfigurado</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1519"/>
@@ -19747,38 +19747,38 @@ Vea el registro para más información.</translation>
     <name>NumberInputDialog</name>
     <message>
         <source>[Enter your formula here]</source>
-        <translation type="vanished">[Introduzca su fórmula aquí]</translation>
+        <translation>[Introduzca su fórmula aquí]</translation>
     </message>
     <message>
         <source>Max Y</source>
-        <translation type="vanished">Y Máx</translation>
+        <translation>Y Máx</translation>
     </message>
     <message>
         <source>Cellsize</source>
-        <translation type="vanished">Tamaño de celda</translation>
+        <translation>Tamaño de celda</translation>
     </message>
     <message>
         <source>Mean</source>
-        <translation type="vanished">Media</translation>
+        <translation>Media</translation>
     </message>
     <message>
         <source>Max value</source>
-        <translation type="vanished">Valor máx</translation>
+        <translation>Valor máx</translation>
     </message>
     <message>
         <source>Min value</source>
-        <translation type="vanished">Valor mín</translation>
+        <translation>Valor mín</translation>
     </message>
     <message>
         <source>Current extent</source>
-        <translation type="vanished">Extensión actual</translation>
+        <translation>Extensión actual</translation>
     </message>
 </context>
 <context>
     <name>NumberInputPanel</name>
     <message>
         <source>Expression based input</source>
-        <translation type="vanished">Entrada basada en expresión</translation>
+        <translation>Entrada basada en expresión</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1523"/>
@@ -19791,57 +19791,57 @@ Vea el registro para más información.</translation>
     <message>
         <source>Could not open OTB algorithm: %s
 %s</source>
-        <translation type="vanished">No se pudo abrir el algoritmo OTB: %s
+        <translation>No se pudo abrir el algoritmo OTB: %s
 %s</translation>
     </message>
     <message>
         <source>OTB execution command</source>
-        <translation type="vanished">Órdenes de ejecución de OTB</translation>
+        <translation>Órdenes de ejecución de OTB</translation>
     </message>
     <message>
         <source>Adapter for %s not found</source>
-        <translation type="vanished">No se encontró el adaptador para %s</translation>
+        <translation>No se encontró el adaptador para %s</translation>
     </message>
 </context>
 <context>
     <name>OTBAlgorithmProvider</name>
     <message>
         <source>Problem with OTB installation: OTB was not found or is not correctly installed</source>
-        <translation type="vanished">Problema con la instalación de OTB: no se encontró OTB o no está correctamente instalado</translation>
+        <translation>Problema con la instalación de OTB: no se encontró OTB o no está correctamente instalado</translation>
     </message>
     <message>
         <source>Problem with OTB installation: installed OTB version (%s) is not supported</source>
-        <translation type="vanished">Problema con la instalación de OTB: la versión instalada de OTB (%s) no está soportada</translation>
+        <translation>Problema con la instalación de OTB: la versión instalada de OTB (%s) no está soportada</translation>
     </message>
     <message>
         <source>Could not open OTB algorithm: %s</source>
-        <translation type="vanished">No se pudo abrir el algoritmo de OTB: %s</translation>
+        <translation>No se pudo abrir el algoritmo de OTB: %s</translation>
     </message>
     <message>
         <source>Could not open OTB algorithm: %s
 %s</source>
-        <translation type="vanished">No se pudo abrir el algoritmo OTB: %s
+        <translation>No se pudo abrir el algoritmo OTB: %s
 %s</translation>
     </message>
     <message>
         <source>OTB command line tools folder</source>
-        <translation type="vanished">Carpeta de herramientas de línea de órdenes de OTB</translation>
+        <translation>Carpeta de herramientas de línea de órdenes de OTB</translation>
     </message>
     <message>
         <source>OTB applications folder</source>
-        <translation type="vanished">Carpeta de aplicaciones de OTB</translation>
+        <translation>Carpeta de aplicaciones de OTB</translation>
     </message>
     <message>
         <source>SRTM tiles folder</source>
-        <translation type="vanished">Carpeta de teselas SRTM</translation>
+        <translation>Carpeta de teselas SRTM</translation>
     </message>
     <message>
         <source>Geoid file</source>
-        <translation type="vanished">Archivo de geoide</translation>
+        <translation>Archivo de geoide</translation>
     </message>
     <message>
         <source>Orfeo Toolbox (Image analysis)</source>
-        <translation type="vanished">Caja de herramientas de Orfeo (análisis de imágenes)</translation>
+        <translation>Caja de herramientas de Orfeo (análisis de imágenes)</translation>
     </message>
 </context>
 <context>
@@ -19929,261 +19929,261 @@ Vea el registro para más información.</translation>
     <name>Ogr2Ogr</name>
     <message>
         <source>[OGR] Conversion</source>
-        <translation type="vanished">[OGR] Conversión</translation>
+        <translation>[OGR] Conversión</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Destination Format</source>
-        <translation type="vanished">Formato de destino</translation>
+        <translation>Formato de destino</translation>
     </message>
     <message>
         <source>Creation options</source>
-        <translation type="vanished">Opciones de creación</translation>
+        <translation>Opciones de creación</translation>
     </message>
     <message>
         <source>Converted</source>
-        <translation type="vanished">Convertido</translation>
+        <translation>Convertido</translation>
     </message>
     <message>
         <source>Convert format</source>
-        <translation type="vanished">Convertir formato</translation>
+        <translation>Convertir formato</translation>
     </message>
 </context>
 <context>
     <name>Ogr2OgrBuffer</name>
     <message>
         <source>[OGR] Geoprocessing</source>
-        <translation type="vanished">[OGR] Geoprocesamiento</translation>
+        <translation>[OGR] Geoprocesamiento</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Geometry column name ("geometry" for Shapefiles, may be different for other formats)</source>
-        <translation type="vanished">Nombre de la columna de geometría ("geometry" para archivos shape, puede ser diferente para otros formatos)</translation>
+        <translation>Nombre de la columna de geometría ("geometry" para archivos shape, puede ser diferente para otros formatos)</translation>
     </message>
     <message>
         <source>Buffer distance</source>
-        <translation type="vanished">Distancia de buffer</translation>
+        <translation>Distancia de buffer</translation>
     </message>
     <message>
         <source>Dissolve all results</source>
-        <translation type="vanished">Disolver todos los resultados</translation>
+        <translation>Disolver todos los resultados</translation>
     </message>
     <message>
         <source>Dissolve by attribute</source>
-        <translation type="vanished">Disolver por atributo</translation>
+        <translation>Disolver por atributo</translation>
     </message>
     <message>
         <source>Output as singlepart geometries (only used when dissolving by attribute)</source>
-        <translation type="vanished">Salida como geometrías de partes únicas (solo se usa al disolver por atributo)</translation>
+        <translation>Salida como geometrías de partes únicas (solo se usa al disolver por atributo)</translation>
     </message>
     <message>
         <source>Additional creation options (see ogr2ogr manual)</source>
-        <translation type="vanished">Opciones adicionales de creación (ver manual de ogr2ogr)</translation>
+        <translation>Opciones adicionales de creación (ver manual de ogr2ogr)</translation>
     </message>
     <message>
         <source>Buffer</source>
-        <translation type="vanished">Buffer</translation>
+        <translation>Buffer</translation>
     </message>
     <message>
         <source>Buffer vectors</source>
-        <translation type="vanished">Hacer burrer de vectoriales</translation>
+        <translation>Hacer burrer de vectoriales</translation>
     </message>
 </context>
 <context>
     <name>Ogr2OgrClip</name>
     <message>
         <source>[OGR] Geoprocessing</source>
-        <translation type="vanished">[OGR] Geoprocesamiento</translation>
+        <translation>[OGR] Geoprocesamiento</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Clip layer</source>
-        <translation type="vanished">Capa de corte</translation>
+        <translation>Capa de corte</translation>
     </message>
     <message>
         <source>Additional creation options</source>
-        <translation type="vanished">Opciones adicionales de creación</translation>
+        <translation>Opciones adicionales de creación</translation>
     </message>
     <message>
         <source>Clipped (polygon)</source>
-        <translation type="vanished">Recortado (polígono)</translation>
+        <translation>Recortado (polígono)</translation>
     </message>
     <message>
         <source>Clip vectors by polygon</source>
-        <translation type="vanished">Cortar vectoriales con polígonos</translation>
+        <translation>Cortar vectoriales con polígonos</translation>
     </message>
 </context>
 <context>
     <name>Ogr2OgrClipExtent</name>
     <message>
         <source>[OGR] Geoprocessing</source>
-        <translation type="vanished">[OGR] Geoprocesamiento</translation>
+        <translation>[OGR] Geoprocesamiento</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Clip extent</source>
-        <translation type="vanished">Extensión de corte</translation>
+        <translation>Extensión de corte</translation>
     </message>
     <message>
         <source>Additional creation options</source>
-        <translation type="vanished">Opciones adicionales de creación</translation>
+        <translation>Opciones adicionales de creación</translation>
     </message>
     <message>
         <source>Clipped (extent)</source>
-        <translation type="vanished">Recortado (extensión)</translation>
+        <translation>Recortado (extensión)</translation>
     </message>
     <message>
         <source>Clip vectors by extent</source>
-        <translation type="vanished">Cortar vectoriales por extensión</translation>
+        <translation>Cortar vectoriales por extensión</translation>
     </message>
 </context>
 <context>
     <name>Ogr2OgrDissolve</name>
     <message>
         <source>[OGR] Geoprocessing</source>
-        <translation type="vanished">[OGR] Geoprocesamiento</translation>
+        <translation>[OGR] Geoprocesamiento</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Geometry column name ("geometry" for Shapefiles, may be different for other formats)</source>
-        <translation type="vanished">Nombre de la columna de geometría ("geometry" para archivos shape, puede ser diferente para otros formatos)</translation>
+        <translation>Nombre de la columna de geometría ("geometry" para archivos shape, puede ser diferente para otros formatos)</translation>
     </message>
     <message>
         <source>Dissolve field</source>
-        <translation type="vanished">Campo para disolver</translation>
+        <translation>Campo para disolver</translation>
     </message>
     <message>
         <source>Output as multipart geometries</source>
-        <translation type="vanished">Salida como geometrías multiparte</translation>
+        <translation>Salida como geometrías multiparte</translation>
     </message>
     <message>
         <source>Keep input attributes</source>
-        <translation type="vanished">Mantener atributos de entrada</translation>
+        <translation>Mantener atributos de entrada</translation>
     </message>
     <message>
         <source>Count dissolved features</source>
-        <translation type="vanished">Contar los objetos disueltos</translation>
+        <translation>Contar los objetos disueltos</translation>
     </message>
     <message>
         <source>Compute area and perimeter of dissolved features</source>
-        <translation type="vanished">Procesar área y perímetro de los objetos disueltos</translation>
+        <translation>Procesar área y perímetro de los objetos disueltos</translation>
     </message>
     <message>
         <source>Compute min/max/sum/mean for the following numeric attribute</source>
-        <translation type="vanished">Procesar mín/máx/suma/media para el siguiente atributo numérico</translation>
+        <translation>Procesar mín/máx/suma/media para el siguiente atributo numérico</translation>
     </message>
     <message>
         <source>Numeric attribute to compute dissolved features stats</source>
-        <translation type="vanished">Atributo numérico para procesar las estadísticas de los objetos disueltos</translation>
+        <translation>Atributo numérico para procesar las estadísticas de los objetos disueltos</translation>
     </message>
     <message>
         <source>Additional creation options (see ogr2ogr manual)</source>
-        <translation type="vanished">Opciones adicionales de creación (ver manual de ogr2ogr)</translation>
+        <translation>Opciones adicionales de creación (ver manual de ogr2ogr)</translation>
     </message>
     <message>
         <source>Dissolved</source>
-        <translation type="vanished">Disuelto</translation>
+        <translation>Disuelto</translation>
     </message>
     <message>
         <source>Dissolve polygons</source>
-        <translation type="vanished">Disolver polígonos</translation>
+        <translation>Disolver polígonos</translation>
     </message>
 </context>
 <context>
     <name>Ogr2OgrOneSideBuffer</name>
     <message>
         <source>[OGR] Geoprocessing</source>
-        <translation type="vanished">[OGR] Geoprocesamiento</translation>
+        <translation>[OGR] Geoprocesamiento</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Operation</source>
-        <translation type="vanished">Operación</translation>
+        <translation>Operación</translation>
     </message>
     <message>
         <source>Geometry column name ("geometry" for Shapefiles, may be different for other formats)</source>
-        <translation type="vanished">Nombre de la columna de geometría ("geometry" para archivos shape, puede ser diferente para otros formatos)</translation>
+        <translation>Nombre de la columna de geometría ("geometry" para archivos shape, puede ser diferente para otros formatos)</translation>
     </message>
     <message>
         <source>Buffer distance</source>
-        <translation type="vanished">Distancia de buffer</translation>
+        <translation>Distancia de buffer</translation>
     </message>
     <message>
         <source>Buffer side</source>
-        <translation type="vanished">Lado de buffer</translation>
+        <translation>Lado de buffer</translation>
     </message>
     <message>
         <source>Dissolve all results</source>
-        <translation type="vanished">Disolver todos los resultados</translation>
+        <translation>Disolver todos los resultados</translation>
     </message>
     <message>
         <source>Dissolve by attribute</source>
-        <translation type="vanished">Disolver por atributo</translation>
+        <translation>Disolver por atributo</translation>
     </message>
     <message>
         <source>Output as singlepart geometries (only used when dissolving by attribute)</source>
-        <translation type="vanished">Salida como geometrías de partes únicas (solo se usa al disolver por atributo)</translation>
+        <translation>Salida como geometrías de partes únicas (solo se usa al disolver por atributo)</translation>
     </message>
     <message>
         <source>Additional creation options (see ogr2ogr manual)</source>
-        <translation type="vanished">Opciones adicionales de creación (ver manual de ogr2ogr)</translation>
+        <translation>Opciones adicionales de creación (ver manual de ogr2ogr)</translation>
     </message>
     <message>
         <source>Single sided buffer</source>
-        <translation type="vanished">Buffer a un solo lado</translation>
+        <translation>Buffer a un solo lado</translation>
     </message>
     <message>
         <source>Single sided buffers (and offset lines) for lines</source>
-        <translation type="vanished">Buffer a un solo lado (y desplazamiento de líneas) para líneas</translation>
+        <translation>Buffer a un solo lado (y desplazamiento de líneas) para líneas</translation>
     </message>
 </context>
 <context>
     <name>Ogr2OgrPointsOnLines</name>
     <message>
         <source>[OGR] Geoprocessing</source>
-        <translation type="vanished">[OGR] Geoprocesamiento</translation>
+        <translation>[OGR] Geoprocesamiento</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Geometry column name ("geometry" for Shapefiles, may be different for other formats)</source>
-        <translation type="vanished">Nombre de la columna de geometría ("geometry" para archivos shape, puede ser diferente para otros formatos)</translation>
+        <translation>Nombre de la columna de geometría ("geometry" para archivos shape, puede ser diferente para otros formatos)</translation>
     </message>
     <message>
         <source>Distance from line start represented as fraction of line length</source>
-        <translation type="vanished">Distancia desde comienzo de línea representada como fracción de longitud de la línea</translation>
+        <translation>Distancia desde comienzo de línea representada como fracción de longitud de la línea</translation>
     </message>
     <message>
         <source>Additional creation options (see ogr2ogr manual)</source>
-        <translation type="vanished">Opciones adicionales de creación (ver manual de ogr2ogr)</translation>
+        <translation>Opciones adicionales de creación (ver manual de ogr2ogr)</translation>
     </message>
     <message>
         <source>Points along lines</source>
-        <translation type="vanished">Puntos a lo largo de líneas</translation>
+        <translation>Puntos a lo largo de líneas</translation>
     </message>
     <message>
         <source>Create points along lines</source>
-        <translation type="vanished">Crear puntos a lo largo de líneas</translation>
+        <translation>Crear puntos a lo largo de líneas</translation>
     </message>
 </context>
 <context>
@@ -20275,7 +20275,7 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>[OGR] Miscellaneous</source>
-        <translation type="vanished">[OGR] Miscelánea</translation>
+        <translation>[OGR] Miscelánea</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1555"/>
@@ -20287,139 +20287,139 @@ Vea el registro para más información.</translation>
     <name>Ogr2OgrToPostGis</name>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Shape encoding</source>
-        <translation type="vanished">Codificación del shape</translation>
+        <translation>Codificación del shape</translation>
     </message>
     <message>
         <source>Output geometry type</source>
-        <translation type="vanished">Tipo de geometría de salida</translation>
+        <translation>Tipo de geometría de salida</translation>
     </message>
     <message>
         <source>Host</source>
-        <translation type="vanished">Servidor</translation>
+        <translation>Servidor</translation>
     </message>
     <message>
         <source>Port</source>
-        <translation type="vanished">Puerto</translation>
+        <translation>Puerto</translation>
     </message>
     <message>
         <source>Username</source>
-        <translation type="vanished">Nombre de usuario</translation>
+        <translation>Nombre de usuario</translation>
     </message>
     <message>
         <source>Database name</source>
-        <translation type="vanished">Nombre de la base de datos</translation>
+        <translation>Nombre de la base de datos</translation>
     </message>
     <message>
         <source>Password</source>
-        <translation type="vanished">Contraseña</translation>
+        <translation>Contraseña</translation>
     </message>
     <message>
         <source>Schema name</source>
-        <translation type="vanished">Nombre de esquema</translation>
+        <translation>Nombre de esquema</translation>
     </message>
     <message>
         <source>Table name, leave blank to use input name</source>
-        <translation type="vanished">Nombre de tabla, dejar en blanco para usar el nombre de entrada</translation>
+        <translation>Nombre de tabla, dejar en blanco para usar el nombre de entrada</translation>
     </message>
     <message>
         <source>Geometry column name</source>
-        <translation type="vanished">Nombre de la columna de geometría</translation>
+        <translation>Nombre de la columna de geometría</translation>
     </message>
     <message>
         <source>Vector dimensions</source>
-        <translation type="vanished">Dimensiones del vectorial</translation>
+        <translation>Dimensiones del vectorial</translation>
     </message>
     <message>
         <source>Distance tolerance for simplification</source>
-        <translation type="vanished">Tolerancia de distancia para simplificación</translation>
+        <translation>Tolerancia de distancia para simplificación</translation>
     </message>
     <message>
         <source>Maximum distance between 2 nodes (densification)</source>
-        <translation type="vanished">Distancia máxima entre 2 nodos (densificación)</translation>
+        <translation>Distancia máxima entre 2 nodos (densificación)</translation>
     </message>
     <message>
         <source>Select features by extent (defined in input layer CRS)</source>
-        <translation type="vanished">Seleccionar objetos por extensión (definida en el SRC de la capa de entrada)</translation>
+        <translation>Seleccionar objetos por extensión (definida en el SRC de la capa de entrada)</translation>
     </message>
     <message>
         <source>Clip the input layer using the above (rectangle) extent</source>
-        <translation type="vanished">Cortar la capa de entrada usando la extensión de arriba (rectángulo)</translation>
+        <translation>Cortar la capa de entrada usando la extensión de arriba (rectángulo)</translation>
     </message>
     <message>
         <source>Group N features per transaction (Default: 20000)</source>
-        <translation type="vanished">Agrupar N objetos por transacción (Predeterminado: 20000)</translation>
+        <translation>Agrupar N objetos por transacción (Predeterminado: 20000)</translation>
     </message>
     <message>
         <source>Overwrite existing table</source>
-        <translation type="vanished">Sobrescribir la tabla existente</translation>
+        <translation>Sobrescribir la tabla existente</translation>
     </message>
     <message>
         <source>Append to existing table</source>
-        <translation type="vanished">Anexionar a tabla existente</translation>
+        <translation>Anexionar a tabla existente</translation>
     </message>
     <message>
         <source>Append and add new fields to existing table</source>
-        <translation type="vanished">Anexionar y añadir campos nuevos a tabla existente</translation>
+        <translation>Anexionar y añadir campos nuevos a tabla existente</translation>
     </message>
     <message>
         <source>Do not launder columns/table names</source>
-        <translation type="vanished">No limpiar nombres de columnas/tabla</translation>
+        <translation>No limpiar nombres de columnas/tabla</translation>
     </message>
     <message>
         <source>Do not create spatial index</source>
-        <translation type="vanished">No crear índice espacial</translation>
+        <translation>No crear índice espacial</translation>
     </message>
     <message>
         <source>Continue after a failure, skipping the failed feature</source>
-        <translation type="vanished">Continuar después de un fallo, omitiendo el objeto que haya fallado</translation>
+        <translation>Continuar después de un fallo, omitiendo el objeto que haya fallado</translation>
     </message>
     <message>
         <source>Additional creation options</source>
-        <translation type="vanished">Opciones adicionales de creación</translation>
+        <translation>Opciones adicionales de creación</translation>
     </message>
     <message>
         <source>Import Vector into PostGIS database (new connection)</source>
-        <translation type="vanished">Importar vectorial a base de datos PostGIS (conexión nueva)</translation>
+        <translation>Importar vectorial a base de datos PostGIS (conexión nueva)</translation>
     </message>
     <message>
         <source>[OGR] Miscellaneous</source>
-        <translation type="vanished">[OGR] Miscelánea</translation>
+        <translation>[OGR] Miscelánea</translation>
     </message>
     <message>
         <source>Assign an output CRS</source>
-        <translation type="vanished">Asignar un SRC de salida</translation>
+        <translation>Asignar un SRC de salida</translation>
     </message>
     <message>
         <source>Reproject to this CRS on output </source>
-        <translation type="vanished">Reproyectar a este SRC en la salida</translation>
+        <translation>Reproyectar a este SRC en la salida</translation>
     </message>
     <message>
         <source>Override source CRS</source>
-        <translation type="vanished">Ignorar SRC de origen</translation>
+        <translation>Ignorar SRC de origen</translation>
     </message>
     <message>
         <source>Primary key (new field)</source>
-        <translation type="vanished">Clave primaria (campo nuevo)</translation>
+        <translation>Clave primaria (campo nuevo)</translation>
     </message>
     <message>
         <source>Primary key (existing field, used if the above option is left empty)</source>
-        <translation type="vanished">Clave primaria (campo existente, usado si la opción anterior se deja vacía)</translation>
+        <translation>Clave primaria (campo existente, usado si la opción anterior se deja vacía)</translation>
     </message>
     <message>
         <source>Promote to Multipart</source>
-        <translation type="vanished">Promover a multiparte</translation>
+        <translation>Promover a multiparte</translation>
     </message>
     <message>
         <source>Keep width and precision of input attributes</source>
-        <translation type="vanished">Mantener anchura y precisión de los atributos de entrada</translation>
+        <translation>Mantener anchura y precisión de los atributos de entrada</translation>
     </message>
     <message>
         <source>Select features using a SQL "WHERE" statement (Ex: column='value')</source>
-        <translation type="vanished">Seleccionar objetos usando una cláusula "WHERE" de SQL (Ej.: columna="valor")</translation>
+        <translation>Seleccionar objetos usando una cláusula "WHERE" de SQL (Ej.: columna="valor")</translation>
     </message>
 </context>
 <context>
@@ -20446,11 +20446,11 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>Schema name</source>
-        <translation type="vanished">Nombre de esquema</translation>
+        <translation>Nombre de esquema</translation>
     </message>
     <message>
         <source>Table name, leave blank to use input name</source>
-        <translation type="vanished">Nombre de tabla, dejar en blanco para usar el nombre de entrada</translation>
+        <translation>Nombre de tabla, dejar en blanco para usar el nombre de entrada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1580"/>
@@ -20534,7 +20534,7 @@ Vea el registro para más información.</translation>
     </message>
     <message>
         <source>[OGR] Miscellaneous</source>
-        <translation type="vanished">[OGR] Miscelánea</translation>
+        <translation>[OGR] Miscelánea</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1573"/>
@@ -20591,54 +20591,54 @@ Vea el registro para más información.</translation>
     <name>OgrInfo</name>
     <message>
         <source>[OGR] Miscellaneous</source>
-        <translation type="vanished">[OGR] Miscelánea</translation>
+        <translation>[OGR] Miscelánea</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Summary output only</source>
-        <translation type="vanished">Salida de resumen solo</translation>
+        <translation>Salida de resumen solo</translation>
     </message>
     <message>
         <source>Layer information</source>
-        <translation type="vanished">Información de la capa</translation>
+        <translation>Información de la capa</translation>
     </message>
     <message>
         <source>Information</source>
-        <translation type="vanished">Información</translation>
+        <translation>Información</translation>
     </message>
 </context>
 <context>
     <name>OgrSql</name>
     <message>
         <source>Execute SQL</source>
-        <translation type="vanished">Ejecutar SQL</translation>
+        <translation>Ejecutar SQL</translation>
     </message>
     <message>
         <source>[OGR] Miscellaneous</source>
-        <translation type="vanished">[OGR] Miscelánea</translation>
+        <translation>[OGR] Miscelánea</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>SQL</source>
-        <translation type="vanished">SQL</translation>
+        <translation>SQL</translation>
     </message>
     <message>
         <source>Dialect</source>
-        <translation type="vanished">Dialecto</translation>
+        <translation>Dialecto</translation>
     </message>
     <message>
         <source>SQL result</source>
-        <translation type="vanished">Resultado de SQL</translation>
+        <translation>Resultado de SQL</translation>
     </message>
     <message>
         <source>Empty SQL. Please enter valid SQL expression and try again.</source>
-        <translation type="vanished">SQL vacío. Por favor, introduzca una expresión SQL válida y pruebe de nuevo.</translation>
+        <translation>SQL vacío. Por favor, introduzca una expresión SQL válida y pruebe de nuevo.</translation>
     </message>
 </context>
 <context>
@@ -20911,12 +20911,12 @@ Vea el registro para más información.</translation>
     <name>OpenViewerAction</name>
     <message>
         <source>Unable to open viewer</source>
-        <translation type="vanished">No se puede abrir el visor</translation>
+        <translation>No se puede abrir el visor</translation>
     </message>
     <message>
         <source>The current Fusion folder does not contain the viewer executable.
 Please check the configuration in the Processing settings dialog.</source>
-        <translation type="vanished">La carpeta de Fusión actual no contiene el ejecutable del visor.
+        <translation>La carpeta de Fusión actual no contiene el ejecutable del visor.
 Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</translation>
     </message>
 </context>
@@ -20924,38 +20924,38 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>OracleConnectGuiBase</name>
     <message>
         <source>Create Oracle Connection</source>
-        <translation type="vanished">Crear conexión a Oracle</translation>
+        <translation>Crear conexión a Oracle</translation>
     </message>
     <message>
         <source>Name</source>
-        <translation type="vanished">Nombre</translation>
+        <translation>Nombre</translation>
     </message>
     <message>
         <source>Name of the new connection</source>
-        <translation type="vanished">Nombre de la nueva conexión</translation>
+        <translation>Nombre de la nueva conexión</translation>
     </message>
     <message>
         <source>Database instance</source>
-        <translation type="vanished">Instancia de la base de datos</translation>
+        <translation>Instancia de la base de datos</translation>
     </message>
     <message>
         <source>Username</source>
-        <translation type="vanished">Nombre de usuario</translation>
+        <translation>Nombre de usuario</translation>
     </message>
     <message>
         <source>Password</source>
-        <translation type="vanished">Contraseña</translation>
+        <translation>Contraseña</translation>
     </message>
     <message>
         <source>Save Password</source>
-        <translation type="vanished">Guardar contraseña</translation>
+        <translation>Guardar contraseña</translation>
     </message>
 </context>
 <context>
     <name>OracleDBPlugin</name>
     <message>
         <source>There is no defined database connection "{}".</source>
-        <translation type="vanished">No hay definida ninguna conexión a base de datos "{}".</translation>
+        <translation>No hay definida ninguna conexión a base de datos "{}".</translation>
     </message>
     <message>
         <location filename="../python/plugins/db_manager/python-i18n.cpp" line="484"/>
@@ -20967,7 +20967,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>OrderByDialogBase</name>
     <message>
         <source>Define order</source>
-        <translation type="vanished">Definir orden</translation>
+        <translation>Definir orden</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsorderbydialogbase.ui" line="14"/>
@@ -20994,31 +20994,31 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>OrientedMinimumBoundingBox</name>
     <message>
         <source>Oriented minimum bounding box</source>
-        <translation type="vanished">Recuadro delimitador mínimo orientado (OMBB)</translation>
+        <translation>Recuadro delimitador mínimo orientado (OMBB)</translation>
     </message>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Calculate OMBB for each feature separately</source>
-        <translation type="vanished">Calcular OMBB para cada objeto espacial por separado</translation>
+        <translation>Calcular OMBB para cada objeto espacial por separado</translation>
     </message>
     <message>
         <source>Oriented_MBBox</source>
-        <translation type="vanished">MMBox_Orientado</translation>
+        <translation>MMBox_Orientado</translation>
     </message>
     <message>
         <source>Can't calculate an OMBB for each point, it's a point. The number of points must be greater than 2</source>
-        <translation type="vanished">No se puede calcular un OMBB para cada punto, es un punto. El número de puntos debe ser mayor de 2.</translation>
+        <translation>No se puede calcular un OMBB para cada punto, es un punto. El número de puntos debe ser mayor de 2.</translation>
     </message>
     <message>
         <source>Can't calculate an OMBB for feature {0}.</source>
-        <translation type="vanished">No se puede calcular el OMBB para el objeto {0}.</translation>
+        <translation>No se puede calcular el OMBB para el objeto {0}.</translation>
     </message>
 </context>
 <context>
@@ -21063,79 +21063,79 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>OutputFile</name>
     <message>
         <source>All files(*.*)</source>
-        <translation type="vanished">Todos los archivos (*.*)</translation>
+        <translation>Todos los archivos (*.*)</translation>
     </message>
     <message>
         <source>%s files(*.%s)</source>
-        <translation type="vanished">Archivos %s (*.%s)</translation>
+        <translation>Archivos %s (*.%s)</translation>
     </message>
 </context>
 <context>
     <name>OutputHTML</name>
     <message>
         <source>HTML files(*.html)</source>
-        <translation type="vanished">Archivos HTML (*.html)</translation>
+        <translation>Archivos HTML (*.html)</translation>
     </message>
 </context>
 <context>
     <name>OutputRaster</name>
     <message>
         <source>%s files (*.%s)</source>
-        <translation type="vanished">Archivos %s (*.%s)</translation>
+        <translation>Archivos %s (*.%s)</translation>
     </message>
 </context>
 <context>
     <name>OutputSelectionPanel</name>
     <message>
         <source>[Save to temporary file]</source>
-        <translation type="vanished">[Guardar en archivo temporal]</translation>
+        <translation>[Guardar en archivo temporal]</translation>
     </message>
     <message>
         <source>Save to a temporary file</source>
-        <translation type="vanished">Guardar en archivo temporal</translation>
+        <translation>Guardar en archivo temporal</translation>
     </message>
     <message>
         <source>Save to file...</source>
-        <translation type="vanished">Guardar en archivo...</translation>
+        <translation>Guardar en archivo...</translation>
     </message>
     <message>
         <source>Use expression...</source>
-        <translation type="vanished">Usar expresión...</translation>
+        <translation>Usar expresión...</translation>
     </message>
     <message>
         <source>Save to memory layer</source>
-        <translation type="vanished">Guardar en capa de memoria</translation>
+        <translation>Guardar en capa de memoria</translation>
     </message>
     <message>
         <source>Save to Spatialite table...</source>
-        <translation type="vanished">Guardar en tabla de Spatialite...</translation>
+        <translation>Guardar en tabla de Spatialite...</translation>
     </message>
     <message>
         <source>Save to PostGIS table...</source>
-        <translation type="vanished">Guardar en tabla de PostGIS...</translation>
+        <translation>Guardar en tabla de PostGIS...</translation>
     </message>
     <message>
         <source>Expression based output</source>
-        <translation type="vanished">Salida basada en expresión</translation>
+        <translation>Salida basada en expresión</translation>
     </message>
     <message>
         <source>Save Spatialite</source>
-        <translation type="vanished">Guardar Spatialite</translation>
+        <translation>Guardar Spatialite</translation>
     </message>
     <message>
         <source>Save file</source>
-        <translation type="vanished">Guardar archivo</translation>
+        <translation>Guardar archivo</translation>
     </message>
     <message>
         <source>Select directory</source>
-        <translation type="vanished">Seleccionar directorio</translation>
+        <translation>Seleccionar directorio</translation>
     </message>
 </context>
 <context>
     <name>OutputVector</name>
     <message>
         <source>%s files (*.%s)</source>
-        <translation type="vanished">Archivos %s (*.%s)</translation>
+        <translation>Archivos %s (*.%s)</translation>
     </message>
 </context>
 <context>
@@ -21282,18 +21282,18 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>ParameterMultipleInput</name>
     <message>
         <source>All files (*.*)</source>
-        <translation type="vanished">Todos los archivos (*.*)</translation>
+        <translation>Todos los archivos (*.*)</translation>
     </message>
     <message>
         <source>%s files(*.%s)</source>
-        <translation type="vanished">Archivos %s (*.%s)</translation>
+        <translation>Archivos %s (*.%s)</translation>
     </message>
 </context>
 <context>
     <name>ParameterRaster</name>
     <message>
         <source>%s files(*.%s)</source>
-        <translation type="vanished">Archivos %s (*.%s)</translation>
+        <translation>Archivos %s (*.%s)</translation>
     </message>
 </context>
 <context>
@@ -21345,7 +21345,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     </message>
     <message>
         <source>No layers selected</source>
-        <translation type="vanished">Ninguna capa seleccionada</translation>
+        <translation>Ninguna capa seleccionada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1708"/>
@@ -21357,14 +21357,14 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>ParameterTable</name>
     <message>
         <source>%s files(*.%s)</source>
-        <translation type="vanished">Archivos %s (*.%s)</translation>
+        <translation>Archivos %s (*.%s)</translation>
     </message>
 </context>
 <context>
     <name>ParameterVector</name>
     <message>
         <source>%s files(*.%s)</source>
-        <translation type="vanished">Archivos %s (*.%s)</translation>
+        <translation>Archivos %s (*.%s)</translation>
     </message>
 </context>
 <context>
@@ -21457,7 +21457,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     </message>
     <message>
         <source>Iterate over this layer</source>
-        <translation type="vanished">Iterar sobre esta capa</translation>
+        <translation>Iterar sobre esta capa</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1735"/>
@@ -21466,7 +21466,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     </message>
     <message>
         <source>[not set]</source>
-        <translation type="vanished">[No establecido]</translation>
+        <translation>[No establecido]</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1731"/>
@@ -21478,70 +21478,70 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>PeukerDouglas</name>
     <message>
         <source>Peuker Douglas</source>
-        <translation type="vanished">Peuker Douglas</translation>
+        <translation>Peuker Douglas</translation>
     </message>
     <message>
         <source>Stream Network Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de red de corriente</translation>
+        <translation>Herramientas de análisis de red de corriente</translation>
     </message>
     <message>
         <source>Elevation Grid</source>
-        <translation type="vanished">Cuadrícula de elevación</translation>
+        <translation>Cuadrícula de elevación</translation>
     </message>
     <message>
         <source>Center Smoothing Weight</source>
-        <translation type="vanished">Peso de suavizado central</translation>
+        <translation>Peso de suavizado central</translation>
     </message>
     <message>
         <source>Side Smoothing Weight</source>
-        <translation type="vanished">Peso de suavizado lateral</translation>
+        <translation>Peso de suavizado lateral</translation>
     </message>
     <message>
         <source>Diagonal Smoothing Weight</source>
-        <translation type="vanished">Peso de suavizado diagonal</translation>
+        <translation>Peso de suavizado diagonal</translation>
     </message>
     <message>
         <source>Stream Source Grid</source>
-        <translation type="vanished">Cuadrícula de origen de corriente</translation>
+        <translation>Cuadrícula de origen de corriente</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>PeukerDouglasMulti</name>
     <message>
         <source>Peuker Douglas (multifile)</source>
-        <translation type="vanished">Peuker Douglas (multiarchivo)</translation>
+        <translation>Peuker Douglas (multiarchivo)</translation>
     </message>
     <message>
         <source>Stream Network Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de red de corriente</translation>
+        <translation>Herramientas de análisis de red de corriente</translation>
     </message>
     <message>
         <source>Elevation Grid</source>
-        <translation type="vanished">Cuadrícula de elevación</translation>
+        <translation>Cuadrícula de elevación</translation>
     </message>
     <message>
         <source>Center Smoothing Weight</source>
-        <translation type="vanished">Peso de suavizado central</translation>
+        <translation>Peso de suavizado central</translation>
     </message>
     <message>
         <source>Side Smoothing Weight</source>
-        <translation type="vanished">Peso de suavizado lateral</translation>
+        <translation>Peso de suavizado lateral</translation>
     </message>
     <message>
         <source>Diagonal Smoothing Weight</source>
-        <translation type="vanished">Peso de suavizado diagonal</translation>
+        <translation>Peso de suavizado diagonal</translation>
     </message>
     <message>
         <source>Stream Source Grid</source>
-        <translation type="vanished">Cuadrícula de origen de corriente</translation>
+        <translation>Cuadrícula de origen de corriente</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
@@ -21679,7 +21679,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>PointDistance</name>
     <message>
         <source>Vector analysis tools</source>
-        <translation type="vanished">Herramientas de análisis vectorial</translation>
+        <translation>Herramientas de análisis vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1739"/>
@@ -21840,7 +21840,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>PointsDisplacement</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1780"/>
@@ -21882,7 +21882,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>PointsFromLines</name>
     <message>
         <source>Vector analysis tools</source>
-        <translation type="vanished">Herramientas de análisis vectorial</translation>
+        <translation>Herramientas de análisis vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1790"/>
@@ -21906,7 +21906,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     </message>
     <message>
         <source>Points along line</source>
-        <translation type="vanished">Puntos a lo largo de línea</translation>
+        <translation>Puntos a lo largo de línea</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1794"/>
@@ -21918,7 +21918,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>PointsFromPolygons</name>
     <message>
         <source>Vector analysis tools</source>
-        <translation type="vanished">Herramientas de análisis vectorial</translation>
+        <translation>Herramientas de análisis vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1798"/>
@@ -21950,7 +21950,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>PointsInPolygon</name>
     <message>
         <source>Vector analysis tools</source>
-        <translation type="vanished">Herramientas de análisis vectorial</translation>
+        <translation>Herramientas de análisis vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1806"/>
@@ -21997,69 +21997,69 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>PointsInPolygonUnique</name>
     <message>
         <source>Vector analysis tools</source>
-        <translation type="vanished">Herramientas de análisis vectorial</translation>
+        <translation>Herramientas de análisis vectorial</translation>
     </message>
     <message>
         <source>Polygons</source>
-        <translation type="vanished">Polígonos</translation>
+        <translation>Polígonos</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Class field</source>
-        <translation type="vanished">Campo de clase</translation>
+        <translation>Campo de clase</translation>
     </message>
     <message>
         <source>Count field name</source>
-        <translation type="vanished">Nombre de campo de cuenta</translation>
+        <translation>Nombre de campo de cuenta</translation>
     </message>
     <message>
         <source>Unique count</source>
-        <translation type="vanished">Cuenta única</translation>
+        <translation>Cuenta única</translation>
     </message>
     <message>
         <source>Count unique points in polygon</source>
-        <translation type="vanished">Contar puntos únicos en polígono</translation>
+        <translation>Contar puntos únicos en polígono</translation>
     </message>
 </context>
 <context>
     <name>PointsInPolygonWeighted</name>
     <message>
         <source>Vector analysis tools</source>
-        <translation type="vanished">Herramientas de análisis vectorial</translation>
+        <translation>Herramientas de análisis vectorial</translation>
     </message>
     <message>
         <source>Polygons</source>
-        <translation type="vanished">Polígonos</translation>
+        <translation>Polígonos</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Weight field</source>
-        <translation type="vanished">Campo de peso</translation>
+        <translation>Campo de peso</translation>
     </message>
     <message>
         <source>Count field name</source>
-        <translation type="vanished">Nombre de campo de cuenta</translation>
+        <translation>Nombre de campo de cuenta</translation>
     </message>
     <message>
         <source>Weighted count</source>
-        <translation type="vanished">Cuenta ponderada</translation>
+        <translation>Cuenta ponderada</translation>
     </message>
     <message>
         <source>Count points in polygon(weighted)</source>
-        <translation type="vanished">Contar puntos en polígono (ponderado)</translation>
+        <translation>Contar puntos en polígono (ponderado)</translation>
     </message>
 </context>
 <context>
     <name>PointsLayerFromTable</name>
     <message>
         <source>Vector creation tools</source>
-        <translation type="vanished">Herramientas de creación de vectoriales</translation>
+        <translation>Herramientas de creación de vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1817"/>
@@ -22113,14 +22113,14 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     </message>
     <message>
         <source>Points layer from table</source>
-        <translation type="vanished">Puntos al azar de una tabla</translation>
+        <translation>Puntos al azar de una tabla</translation>
     </message>
 </context>
 <context>
     <name>PointsToPaths</name>
     <message>
         <source>Vector creation tools</source>
-        <translation type="vanished">Herramientas de creación de vectoriales</translation>
+        <translation>Herramientas de creación de vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1832"/>
@@ -22164,7 +22164,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     </message>
     <message>
         <source>Directory</source>
-        <translation type="vanished">Directorio</translation>
+        <translation>Directorio</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1838"/>
@@ -22181,7 +22181,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     </message>
     <message>
         <source>Input table</source>
-        <translation type="vanished">Tabla de entrada</translation>
+        <translation>Tabla de entrada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1843"/>
@@ -22251,35 +22251,35 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>PolyClipData</name>
     <message>
         <source>Mask layer</source>
-        <translation type="vanished">Capa de máscara</translation>
+        <translation>Capa de máscara</translation>
     </message>
     <message>
         <source>Input LAS layer</source>
-        <translation type="vanished">Capa LAS de entrada</translation>
+        <translation>Capa LAS de entrada</translation>
     </message>
     <message>
         <source>Poly Clip Data</source>
-        <translation type="vanished">Poli cortar datos</translation>
+        <translation>Poli cortar datos</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Output clipped LAS file</source>
-        <translation type="vanished">Archivo LAS cortado de salida</translation>
+        <translation>Archivo LAS cortado de salida</translation>
     </message>
     <message>
         <source>Use Shape attribute</source>
-        <translation type="vanished">Usar atributo Shape</translation>
+        <translation>Usar atributo Shape</translation>
     </message>
     <message>
         <source>Shape field index</source>
-        <translation type="vanished">Índice del campo Shape</translation>
+        <translation>Índice del campo Shape</translation>
     </message>
     <message>
         <source>Shape value</source>
-        <translation type="vanished">Valor Shape</translation>
+        <translation>Valor Shape</translation>
     </message>
 </context>
 <context>
@@ -22400,15 +22400,15 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     </message>
     <message>
         <source>Processing lines...</source>
-        <translation type="vanished">Procesando líneas...</translation>
+        <translation>Procesando líneas...</translation>
     </message>
     <message>
         <source>Noding lines...</source>
-        <translation type="vanished">Anodando líneas...</translation>
+        <translation>Anodando líneas...</translation>
     </message>
     <message>
         <source>Polygonizing...</source>
-        <translation type="vanished">Poligonizando...</translation>
+        <translation>Poligonizando...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1870"/>
@@ -22417,7 +22417,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     </message>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1863"/>
@@ -22431,7 +22431,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     </message>
     <message>
         <source>Create geometry columns</source>
-        <translation type="vanished">Crear columna de geometría</translation>
+        <translation>Crear columna de geometría</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1865"/>
@@ -22448,15 +22448,15 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>PolygonsToLines</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Lines from polygons</source>
-        <translation type="vanished">Líneas a partir de polígonos</translation>
+        <translation>Líneas a partir de polígonos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1875"/>
@@ -22497,7 +22497,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <message>
         <source>Error executing SQL:
 %s</source>
-        <translation type="vanished">Error al ejecutar SQL:
+        <translation>Error al ejecutar SQL:
 %s</translation>
     </message>
     <message>
@@ -22578,7 +22578,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     </message>
     <message>
         <source><b>Missing parameter value: %s</b></source>
-        <translation type="vanished"><b>Falta el valor del parámetro: %s</b></translation>
+        <translation><b>Falta el valor del parámetro: %s</b></translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1905"/>
@@ -22590,7 +22590,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <name>PreconfiguredAlgorithmProvider</name>
     <message>
         <source>Preconfigured algorithms</source>
-        <translation type="vanished">Algoritmos preconfigurados</translation>
+        <translation>Algoritmos preconfigurados</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1909"/>
@@ -22617,7 +22617,7 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     <message>
         <source>Could not load provider: %s
 %s</source>
-        <translation type="vanished">No se pudo cargar el proveedor: %s
+        <translation>No se pudo cargar el proveedor: %s
 %s</translation>
     </message>
     <message>
@@ -22635,11 +22635,11 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     </message>
     <message>
         <source>Error: Wrong parameter value {0} for parameter {1}.</source>
-        <translation type="vanished">Error: valor {0} de parámetro incorrecto para el parámetro {1}.</translation>
+        <translation>Error: valor {0} de parámetro incorrecto para el parámetro {1}.</translation>
     </message>
     <message>
         <source>Error in %s. Wrong parameter value %s for parameter %s.</source>
-        <translation type="vanished">Error en %s. Valor %s de parámetro incorrecto para el parámetro %s.</translation>
+        <translation>Error en %s. Valor %s de parámetro incorrecto para el parámetro %s.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1916"/>
@@ -22648,19 +22648,19 @@ Por favor, compruebe la configuración en el diálogo de opciones de Procesos.</
     </message>
     <message>
         <source>Error in %s. Missing parameter value for parameter %s.</source>
-        <translation type="vanished">Error en %s. Falta el valor del parámetro para el parámetro %s.</translation>
+        <translation>Error en %s. Falta el valor del parámetro para el parámetro %s.</translation>
     </message>
     <message>
         <source>Error: Wrong number of parameters</source>
-        <translation type="vanished">Error: número de parámetros incorrecto</translation>
+        <translation>Error: número de parámetros incorrecto</translation>
     </message>
     <message>
         <source>Error: Wrong parameter value: </source>
-        <translation type="vanished">Error: valor de parámetro incorrecto:</translation>
+        <translation>Error: valor de parámetro incorrecto:</translation>
     </message>
     <message>
         <source>Error: Wrong output value: </source>
-        <translation type="vanished">Error: valor de salida incorrecto:</translation>
+        <translation>Error: valor de salida incorrecto:</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1917"/>
@@ -22683,12 +22683,12 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Vect&or</source>
-        <translation type="vanished">Vect&orial</translation>
+        <translation>Vect&orial</translation>
     </message>
     <message>
         <source>Could not load script: {0}
 {1}</source>
-        <translation type="vanished">No se pudo cargar el script: {0}
+        <translation>No se pudo cargar el script: {0}
 {1}</translation>
     </message>
     <message>
@@ -22848,7 +22848,7 @@ Esto puede ocasionar resultados inesperados.</translation>
     <message>
         <source><h3>Missing dependency. This algorithm cannot be run :-( </h3>
 %s</source>
-        <translation type="vanished"><h3>Dependencia no satisfecha. Este algoritmo no se puede ejecutar :-( </h3>
+        <translation><h3>Dependencia no satisfecha. Este algoritmo no se puede ejecutar :-( </h3>
 %s</translation>
     </message>
 </context>
@@ -22871,7 +22871,7 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Use only selected features</source>
-        <translation type="vanished">Usar sólo objetos espaciales seleccionados</translation>
+        <translation>Usar sólo objetos espaciales seleccionados</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1955"/>
@@ -22970,7 +22970,7 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Recent algs</source>
-        <translation type="vanished">Algoritmos recientes</translation>
+        <translation>Algoritmos recientes</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1974"/>
@@ -22987,7 +22987,7 @@ Esto puede ocasionar resultados inesperados.</translation>
     <name>ProcessingLog</name>
     <message>
         <source>Processing</source>
-        <translation type="vanished">Procesado</translation>
+        <translation>Procesado</translation>
     </message>
 </context>
 <context>
@@ -23029,11 +23029,11 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Graphical &Modeler...</source>
-        <translation type="vanished">&Modelador gráfico...</translation>
+        <translation>&Modelador gráfico...</translation>
     </message>
     <message>
         <source>&History...</source>
-        <translation type="vanished">&Historial...</translation>
+        <translation>&Historial...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1986"/>
@@ -23047,19 +23047,19 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>&Options...</source>
-        <translation type="vanished">&Opciones...</translation>
+        <translation>&Opciones...</translation>
     </message>
     <message>
         <source>&Results Viewer...</source>
-        <translation type="vanished">Visor de &resultados...</translation>
+        <translation>Visor de &resultados...</translation>
     </message>
     <message>
         <source>&Commander</source>
-        <translation type="vanished">&Línea de órdenes</translation>
+        <translation>&Línea de órdenes</translation>
     </message>
     <message>
         <source>Ctrl+Alt+M</source>
-        <translation type="vanished">Ctrl+Alt+M</translation>
+        <translation>Ctrl+Alt+M</translation>
     </message>
 </context>
 <context>
@@ -23090,7 +23090,7 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Search...</source>
-        <translation type="vanished">Buscar...</translation>
+        <translation>Buscar...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="1995"/>
@@ -23129,15 +23129,15 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Execute</source>
-        <translation type="vanished">Ejecutar</translation>
+        <translation>Ejecutar</translation>
     </message>
     <message>
         <source>Execute as batch process</source>
-        <translation type="vanished">Ejecutar usando procesamiento por lotes</translation>
+        <translation>Ejecutar usando procesamiento por lotes</translation>
     </message>
     <message>
         <source>Edit rendering styles for outputs</source>
-        <translation type="vanished">Editar estilos de renderizados para salidas</translation>
+        <translation>Editar estilos de renderizados para salidas</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2002"/>
@@ -23159,12 +23159,12 @@ Esto puede ocasionar resultados inesperados.</translation>
     <message>
         <source><h3>This algorithm cannot be run :-( </h3>
 %s</source>
-        <translation type="vanished"><h3>Este algoritmo no se puede ejecutar :-( </h3>
+        <translation><h3>Este algoritmo no se puede ejecutar :-( </h3>
 %s</translation>
     </message>
     <message>
         <source>Recently used algorithms</source>
-        <translation type="vanished">Algoritmos usados recientemente</translation>
+        <translation>Algoritmos usados recientemente</translation>
     </message>
 </context>
 <context>
@@ -23328,7 +23328,7 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>%s due to an error when calling its classFactory() method</source>
-        <translation type="vanished">%s debido a un error al llamar a su método classFactory()</translation>
+        <translation>%s debido a un error al llamar a su método classFactory()</translation>
     </message>
     <message>
         <location filename="../python/python-i18n.cpp" line="28"/>
@@ -23352,19 +23352,19 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Couldn't load plugin '%s'</source>
-        <translation type="vanished">No se pudo cargar el complemento '%s'</translation>
+        <translation>No se pudo cargar el complemento '%s'</translation>
     </message>
     <message>
         <source>%s due to an error when calling its initGui() method</source>
-        <translation type="vanished">%s debido a un error al llamar a su método initGui()</translation>
+        <translation>%s debido a un error al llamar a su método initGui()</translation>
     </message>
     <message>
         <source>Couldn't load server plugin %s</source>
-        <translation type="vanished">No se pudo cargar el complemento %s del servidor</translation>
+        <translation>No se pudo cargar el complemento %s del servidor</translation>
     </message>
     <message>
         <source>%s due to an error when calling its serverClassFactory() method</source>
-        <translation type="vanished">%s debido a un error al llamar a su método serverClassFactory()</translation>
+        <translation>%s debido a un error al llamar a su método serverClassFactory()</translation>
     </message>
 </context>
 <context>
@@ -23381,7 +23381,7 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Saving prepared file...</source>
-        <translation type="vanished">Guardando archivo preparado...</translation>
+        <translation>Guardando archivo preparado...</translation>
     </message>
     <message>
         <location filename="../python/python-i18n.cpp" line="73"/>
@@ -23395,7 +23395,7 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Error preparing file...</source>
-        <translation type="vanished">Error al preparar archivo...</translation>
+        <translation>Error al preparar archivo...</translation>
     </message>
     <message>
         <location filename="../python/python-i18n.cpp" line="76"/>
@@ -23429,7 +23429,7 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Open Script...</source>
-        <translation type="vanished">Abrir script...</translation>
+        <translation>Abrir script...</translation>
     </message>
     <message>
         <location filename="../python/python-i18n.cpp" line="46"/>
@@ -23655,7 +23655,7 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Object Inspector...</source>
-        <translation type="vanished">Inspector de objetos...</translation>
+        <translation>Inspector de objetos...</translation>
     </message>
     <message>
         <location filename="../python/python-i18n.cpp" line="58"/>
@@ -23664,19 +23664,19 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Options...</source>
-        <translation type="vanished">Opciones...</translation>
+        <translation>Opciones...</translation>
     </message>
     <message>
         <source>Import Processing Class</source>
-        <translation type="vanished">Importar clase de procesos</translation>
+        <translation>Importar clase de procesos</translation>
     </message>
     <message>
         <source>Import PyQt.QtCore Class</source>
-        <translation type="vanished">Importar clase de PyQt.QtCore</translation>
+        <translation>Importar clase de PyQt.QtCore</translation>
     </message>
     <message>
         <source>Import PyQt.QtGui Class</source>
-        <translation type="vanished">Importar clase de PyQt.QtGui</translation>
+        <translation>Importar clase de PyQt.QtGui</translation>
     </message>
     <message>
         <location filename="../python/python-i18n.cpp" line="60"/>
@@ -23685,7 +23685,7 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Help...</source>
-        <translation type="vanished">Ayuda...</translation>
+        <translation>Ayuda...</translation>
     </message>
     <message>
         <location filename="../python/python-i18n.cpp" line="112"/>
@@ -23704,19 +23704,19 @@ Esto puede ocasionar resultados inesperados.</translation>
     </message>
     <message>
         <source>Save As...</source>
-        <translation type="vanished">Guardar como...</translation>
+        <translation>Guardar como...</translation>
     </message>
     <message>
         <source>Run script</source>
-        <translation type="vanished">Ejecutar script</translation>
+        <translation>Ejecutar script</translation>
     </message>
     <message>
         <source>Import Class</source>
-        <translation type="vanished">Importar clase</translation>
+        <translation>Importar clase</translation>
     </message>
     <message>
         <source>Enter text to find...</source>
-        <translation type="vanished">Introducir texto a buscar...</translation>
+        <translation>Introducir texto a buscar...</translation>
     </message>
     <message>
         <location filename="../python/python-i18n.cpp" line="63"/>
@@ -23817,7 +23817,7 @@ Usar iface para acceder a la interfaz de la API de QGIS o teclear help(iface) pa
     </message>
     <message>
         <source>Double click on item to execute</source>
-        <translation type="vanished">Doble clic en elemento para ejecutar</translation>
+        <translation>Doble clic en elemento para ejecutar</translation>
     </message>
     <message>
         <location filename="../python/python-i18n.cpp" line="122"/>
@@ -23981,42 +23981,42 @@ Usar iface para acceder a la interfaz de la API de QGIS o teclear help(iface) pa
     <name>QGISAlgorithmProvider</name>
     <message>
         <source>QGIS geoalgorithms</source>
-        <translation type="vanished">Geoalgoritmos de QGIS</translation>
+        <translation>Geoalgoritmos de QGIS</translation>
     </message>
 </context>
 <context>
     <name>QGis::UnitType</name>
     <message>
         <source>meters</source>
-        <translation type="vanished">metros</translation>
+        <translation>metros</translation>
     </message>
     <message>
         <source>feet</source>
-        <translation type="vanished">pies</translation>
+        <translation>pies</translation>
     </message>
     <message>
         <source>degrees</source>
-        <translation type="vanished">grados</translation>
+        <translation>grados</translation>
     </message>
     <message>
         <source><unknown></source>
-        <translation type="vanished"><desconocido></translation>
+        <translation><desconocido></translation>
     </message>
     <message>
         <source>nautical miles</source>
-        <translation type="vanished">millas náuticas</translation>
+        <translation>millas náuticas</translation>
     </message>
     <message>
         <source>kilometers</source>
-        <translation type="vanished">kilómetros</translation>
+        <translation>kilómetros</translation>
     </message>
     <message>
         <source>yards</source>
-        <translation type="vanished">yardas</translation>
+        <translation>yardas</translation>
     </message>
     <message>
         <source>miles</source>
-        <translation type="vanished">millas</translation>
+        <translation>millas</translation>
     </message>
 </context>
 <context>
@@ -24097,19 +24097,19 @@ Usar iface para acceder a la interfaz de la API de QGIS o teclear help(iface) pa
     <name>QObject</name>
     <message>
         <source>Interpolating...</source>
-        <translation type="vanished">Interpolando...</translation>
+        <translation>Interpolando...</translation>
     </message>
     <message>
         <source>Abort</source>
-        <translation type="vanished">Abortar</translation>
+        <translation>Abortar</translation>
     </message>
     <message>
         <source>Building triangulation...</source>
-        <translation type="vanished">Construyendo triangulación...</translation>
+        <translation>Construyendo triangulación...</translation>
     </message>
     <message>
         <source>Estimating normal derivatives...</source>
-        <translation type="vanished">Estimando derivadas normales...</translation>
+        <translation>Estimando derivadas normales...</translation>
     </message>
     <message>
         <location filename="../src/app/main.cpp" line="778"/>
@@ -24132,7 +24132,7 @@ Probablemente está viendo este mensaje porque no tiene establecida la variable
     </message>
     <message>
         <source>Deleted vertices</source>
-        <translation type="vanished">Vértices borrados</translation>
+        <translation>Vértices borrados</translation>
     </message>
     <message>
         <location filename="../src/app/vertextool/qgsvertexeditor.cpp" line="229"/>
@@ -24226,7 +24226,7 @@ Se desactivará.</translation>
     </message>
     <message>
         <source>Error Loading Plugin</source>
-        <translation type="vanished">Error al cargar el complemento</translation>
+        <translation>Error al cargar el complemento</translation>
     </message>
     <message>
         <location filename="../src/app/qgspluginregistry.cpp" line="403"/>
@@ -24238,7 +24238,7 @@ Se desactivará.</translation>
     <message>
         <source>There was an error loading a plugin.The following diagnostic information may help the QGIS developers resolve the issue:
 %1.</source>
-        <translation type="vanished">Hubo un problema al cargar un complemento. La siguiente información de diagnóstico puede ayudar a los desarrolladores de QGIS a solucionar el asunto:
+        <translation>Hubo un problema al cargar un complemento. La siguiente información de diagnóstico puede ayudar a los desarrolladores de QGIS a solucionar el asunto:
 %1.</translation>
     </message>
     <message>
@@ -24552,7 +24552,7 @@ Error(%2): %3</translation>
     </message>
     <message>
         <source>Caught a coordinate system exception while trying to transform a point. Unable to calculate polygon area or perimeter.</source>
-        <translation type="vanished">Se cogió una excepción de sistema de coordenadas mientras se trataba de transformar un punto. No se puede calcular el área o el perímetro del polígono.</translation>
+        <translation>Se cogió una excepción de sistema de coordenadas mientras se trataba de transformar un punto. No se puede calcular el área o el perímetro del polígono.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsdistancearea.cpp" line="504"/>
@@ -24561,99 +24561,99 @@ Error(%2): %3</translation>
     </message>
     <message>
         <source> m²</source>
-        <translation type="vanished"> m²</translation>
+        <translation> m²</translation>
     </message>
     <message>
         <source> km²</source>
-        <translation type="vanished"> km²</translation>
+        <translation> km²</translation>
     </message>
     <message>
         <source> ha</source>
-        <translation type="vanished"> Ha</translation>
+        <translation> Ha</translation>
     </message>
     <message>
         <source> m</source>
-        <translation type="vanished"> m</translation>
+        <translation> m</translation>
     </message>
     <message>
         <source> km</source>
-        <translation type="vanished"> km</translation>
+        <translation> km</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source> cm</source>
-        <translation type="vanished"> cm</translation>
+        <translation> cm</translation>
     </message>
     <message>
         <source> sq ft</source>
-        <translation type="vanished"> pies²</translation>
+        <translation> pies²</translation>
     </message>
     <message>
         <source> acres</source>
-        <translation type="vanished"> acres</translation>
+        <translation> acres</translation>
     </message>
     <message>
         <source> sq mile</source>
-        <translation type="vanished"> milla²</translation>
+        <translation> milla²</translation>
     </message>
     <message>
         <source> foot</source>
-        <translation type="vanished"> pie</translation>
+        <translation> pie</translation>
     </message>
     <message>
         <source> feet</source>
-        <translation type="vanished"> pies</translation>
+        <translation> pies</translation>
     </message>
     <message>
         <source> mile</source>
-        <translation type="vanished"> milla</translation>
+        <translation> milla</translation>
     </message>
     <message>
         <source> sq.deg.</source>
-        <translation type="vanished"> grados²</translation>
+        <translation> grados²</translation>
     </message>
     <message>
         <source> degree</source>
-        <translation type="vanished"> grado</translation>
+        <translation> grado</translation>
     </message>
     <message>
         <source> degrees</source>
-        <translation type="vanished"> grados</translation>
+        <translation> grados</translation>
     </message>
     <message>
         <source> ft</source>
-        <translation type="vanished">pies</translation>
+        <translation>pies</translation>
     </message>
     <message>
         <source> mi</source>
-        <translation type="vanished">millas</translation>
+        <translation>millas</translation>
     </message>
     <message>
         <source> yd</source>
-        <translation type="vanished">yardas</translation>
+        <translation>yardas</translation>
     </message>
     <message>
         <source> ft²</source>
-        <translation type="vanished">pies²</translation>
+        <translation>pies²</translation>
     </message>
     <message>
         <source> mi²</source>
-        <translation type="vanished">millas²</translation>
+        <translation>millas²</translation>
     </message>
     <message>
         <source> yd²</source>
-        <translation type="vanished">yardas²</translation>
+        <translation>yardas²</translation>
     </message>
     <message>
         <source> ac</source>
-        <translation type="vanished">acres</translation>
+        <translation>acres</translation>
     </message>
     <message>
         <source> nm²</source>
-        <translation type="vanished"> nm²</translation>
+        <translation> nm²</translation>
     </message>
     <message>
         <location filename="../src/core/expression/qgsexpressionutils.h" line="196"/>
@@ -24707,7 +24707,7 @@ Error(%2): %3</translation>
     </message>
     <message>
         <source>Cannot convert '%1' to Interval</source>
-        <translation type="vanished">No se puede convertir '%1' a Intervalo</translation>
+        <translation>No se puede convertir '%1' a Intervalo</translation>
     </message>
     <message>
         <location filename="../src/core/expression/qgsexpressionutils.h" line="103"/>
@@ -25002,11 +25002,11 @@ Error(%2): %3</translation>
     </message>
     <message>
         <source>GEOS error:could not produce geometry for GEOS (check log window)</source>
-        <translation type="vanished">Error de GEOS: no se pudo producir la geometría para GEOS (compruebe la ventana de registro)</translation>
+        <translation>Error de GEOS: no se pudo producir la geometría para GEOS (compruebe la ventana de registro)</translation>
     </message>
     <message>
         <source>GEOS error:%1</source>
-        <translation type="vanished">Error de GEOS: %1</translation>
+        <translation>Error de GEOS: %1</translation>
     </message>
     <message>
         <location filename="../src/core/qgsgeometryvalidator.cpp" line="225"/>
@@ -25267,15 +25267,15 @@ Error(%2): %3</translation>
     </message>
     <message>
         <source>trimming attribute name '%1' to ten significant characters produces duplicate column name.</source>
-        <translation type="vanished">recortar el nombre del atributo '%1' a diez caracteres significativos produce un nombre de columna duplicado.</translation>
+        <translation>recortar el nombre del atributo '%1' a diez caracteres significativos produce un nombre de columna duplicado.</translation>
     </message>
     <message>
         <source>creation of data source failed (OGR error:%1)</source>
-        <translation type="vanished">falló la creación de la fuente de datos (error de OGR: %1)</translation>
+        <translation>falló la creación de la fuente de datos (error de OGR: %1)</translation>
     </message>
     <message>
         <source>creation of layer failed (OGR error:%1)</source>
-        <translation type="vanished">falló la creación de la capa (error de OGR: %1)</translation>
+        <translation>falló la creación de la capa (error de OGR: %1)</translation>
     </message>
     <message>
         <location filename="../src/providers/spatialite/qgsspatialiteprovider.cpp" line="400"/>
@@ -25284,11 +25284,11 @@ Error(%2): %3</translation>
     </message>
     <message>
         <source>creation of field %1 failed (OGR error: %2)</source>
-        <translation type="vanished">falló la creación del campo %1 (error de OGR: %2)</translation>
+        <translation>falló la creación del campo %1 (error de OGR: %2)</translation>
     </message>
     <message>
         <source>created field %1 not found (OGR error: %2)</source>
-        <translation type="vanished">no se encuentra el campo creado %1 (error de OGR: %2)</translation>
+        <translation>no se encuentra el campo creado %1 (error de OGR: %2)</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="2125"/>
@@ -25316,7 +25316,7 @@ Error(%2): %3</translation>
     </message>
     <message>
         <source>no available replacement for internal fieldname ogc_fid found</source>
-        <translation type="vanished">no se encontró ningún remplazo disponible para el nombre interno ogc_fid</translation>
+        <translation>no se encontró ningún remplazo disponible para el nombre interno ogc_fid</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="584"/>
@@ -25433,7 +25433,7 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>BNA records may contain from 2 to 4 identifiers per record. Some software packages only support a precise number of identifiers. You can override the default value (2) by a precise value</source>
-        <translation type="vanished">Los registros BNA pueden contener de 2 a 4 identificadores por registro. Algunos paquetes de software sólo admiten un número concreto de identificadores. Puede suplantar el valor predeterminado (2) con un valor concreto.</translation>
+        <translation>Los registros BNA pueden contener de 2 a 4 identificadores por registro. Algunos paquetes de software sólo admiten un número concreto de identificadores. Puede suplantar el valor predeterminado (2) con un valor concreto.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="735"/>
@@ -25472,11 +25472,11 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Override the type of shapefile created. Can be one of NULL for a simple .dbf file with no .shp file, POINT, ARC, POLYGON or MULTIPOINT for 2D, or POINTZ, ARCZ, POLYGONZ or MULTIPOINTZ for 3D. Shapefiles with measure values are not supported, nor are MULTIPATCH files.</source>
-        <translation type="vanished">Suplantar el tipo de archivo shape creado. Puede ser uno de NULL para un archivo .dbf sencillo sin archivo .shp, POINT, ARC, POLYGON o MULTIPOINT para 2D o POINTZ, ARCZ, POLYGONZ o MULTIPOINTZ para 3D. Los archivos shape con valores de medida no se admiten ni los archivos MULTIPATCH.</translation>
+        <translation>Suplantar el tipo de archivo shape creado. Puede ser uno de NULL para un archivo .dbf sencillo sin archivo .shp, POINT, ARC, POLYGON o MULTIPOINT para 2D o POINTZ, ARCZ, POLYGONZ o MULTIPOINTZ para 3D. Los archivos shape con valores de medida no se admiten ni los archivos MULTIPATCH.</translation>
     </message>
     <message>
         <source>set the encoding value in the DBF file. The default value is LDID/87. It is not clear what other values may be appropriate.</source>
-        <translation type="vanished">establecer el valor de codificación en el archivo DBF. El valor predeterminado es LDID/87. No está claro qué otros valores pueden ser adecuados.</translation>
+        <translation>establecer el valor de codificación en el archivo DBF. El valor predeterminado es LDID/87. No está claro qué otros valores pueden ser adecuados.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="882"/>
@@ -25521,7 +25521,7 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>XML content that will be put between the <channel> element and the first <item> element for a RSS document, or between the xml tag and the first <entry> element for an Atom document. </source>
-        <translation type="vanished">Contenido XML que se pondrá entre el elemento <channel> y el primer elemento <item> para un documentos RSS o entre la etiqueta xml y el primer elemento <entry> de un documento Atom.</translation>
+        <translation>Contenido XML que se pondrá entre el elemento <channel> y el primer elemento <item> para un documentos RSS o entre la etiqueta xml y el primer elemento <entry> de un documento Atom.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1002"/>
@@ -25591,7 +25591,7 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>only valid when FORMAT=GML3/GML3Degree/GML3.2) Default to YES. If YES, SRS with EPSG authority will be written with the 'urn:ogc:def:crs:EPSG::' prefix. In the case, if the SRS is a geographic SRS without explicit AXIS order, but that the same SRS authority code imported with ImportFromEPSGA() should be treated as lat/long, then the function will take care of coordinate order swapping. If set to NO, SRS with EPSG authority will be written with the 'EPSG:&ap [...]
-        <translation type="vanished">solo válido cuando FORMATO=GML3/GML3Degree/GML3.2) Valor predeterminado SÍ. Si es SÍ, los SRE con autoridad EPSG se escribirán con un prefijo 'urn:ogc:def:crs:EPSG::'. En ese caso, si el SRE es geográfico sin un orden de EJE explícito,pero en el que el mismo código de autoridad de SRE importado con ImportFromEPSGA() debería ser tratado como lat/lon, entonces la función cuidará del intercambio de orden de coordenadas. Si se establece a NO, lo [...]
+        <translation>solo válido cuando FORMATO=GML3/GML3Degree/GML3.2) Valor predeterminado SÍ. Si es SÍ, los SRE con autoridad EPSG se escribirán con un prefijo 'urn:ogc:def:crs:EPSG::'. En ese caso, si el SRE es geográfico sin un orden de EJE explícito,pero en el que el mismo código de autoridad de SRE importado con ImportFromEPSGA() debería ser tratado como lat/lon, entonces la función cuidará del intercambio de orden de coordenadas. Si se establece a NO, los SRE con autori [...]
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1115"/>
@@ -25690,7 +25690,7 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Allows you to specify the field to use for the KML <name> element. </source>
-        <translation type="vanished">Le permite especificar el campo a usar para el elemento <name> de KML.</translation>
+        <translation>Le permite especificar el campo a usar para el elemento <name> de KML.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1300"/>
@@ -25776,11 +25776,11 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Should update files be incorporated into the base data on the fly. </source>
-        <translation type="vanished">Se deberían incorporar los archivos de actualización en la base de datos al vuelo.</translation>
+        <translation>Se deberían incorporar los archivos de actualización en la base de datos al vuelo.</translation>
     </message>
     <message>
         <source>Should a DEPTH attribute be added on SOUNDG features and assign the depth of the sounding. This should only be enabled with SPLIT_MULTIPOINT is also enabled.</source>
-        <translation type="vanished">Se debería añadir el atributo DEPTH (profundidad) en entidades SOUNDG y asignar la profundidad del sondeo. Esto sólo se debería habilitar cuando SPLIT_MULTIPOINT tambiéne está activado.</translation>
+        <translation>Se debería añadir el atributo DEPTH (profundidad) en entidades SOUNDG y asignar la profundidad del sondeo. Esto sólo se debería habilitar cuando SPLIT_MULTIPOINT tambiéne está activado.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1481"/>
@@ -26018,7 +26018,7 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>path to the GCT : the GCT file describe the GeoConcept types definitions: In this file, every line must start with //# followed by a keyword. Lines starting with // are comments.</source>
-        <translation type="vanished">ruta al GCT: el archivo GCT describe las definiciones de tipos GeoConcept. En este archivo cada línea debe empezar con //# seguido de una palabra clave. Las líneas que comienzan con // son comentarios.</translation>
+        <translation>ruta al GCT: el archivo GCT describe las definiciones de tipos GeoConcept. En este archivo cada línea debe empezar con //# seguido de una palabra clave. Las líneas que comienzan con // son comentarios.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorfilewriter.cpp" line="1752"/>
@@ -26115,7 +26115,7 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Reading raster part %1 of %2</source>
-        <translation type="vanished">Leyendo parte %1 de %2 del ráster</translation>
+        <translation>Leyendo parte %1 de %2 del ráster</translation>
     </message>
     <message>
         <location filename="../src/core/raster/qgsrasterfilewriter.cpp" line="706"/>
@@ -26124,7 +26124,7 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Building pyramids failed - write access denied</source>
-        <translation type="vanished">Ha fallado la construcción de pirámides. - Acceso de escritura denegado</translation>
+        <translation>Ha fallado la construcción de pirámides. - Acceso de escritura denegado</translation>
     </message>
     <message>
         <location filename="../src/core/raster/qgsrasterfilewriter.cpp" line="750"/>
@@ -26133,7 +26133,7 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Building pyramids failed.</source>
-        <translation type="vanished">Ha fallado la construcción de pirámides.</translation>
+        <translation>Ha fallado la construcción de pirámides.</translation>
     </message>
     <message>
         <location filename="../src/core/raster/qgsrasterfilewriter.cpp" line="749"/>
@@ -26167,7 +26167,7 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Paletted</source>
-        <translation type="vanished">Paleta</translation>
+        <translation>Paleta</translation>
     </message>
     <message>
         <location filename="../src/core/raster/qgsrasterrendererregistry.cpp" line="53"/>
@@ -26333,7 +26333,7 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Where is '%1' (original location: %2)?</source>
-        <translation type="vanished">¿Dónde está '%1'? (ubicación original: %2)</translation>
+        <translation>¿Dónde está '%1'? (ubicación original: %2)</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgsrasterhistogramwidget.cpp" line="354"/>
@@ -26393,19 +26393,19 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Version 0.2</source>
-        <translation type="vanished">Versión 0.2</translation>
+        <translation>Versión 0.2</translation>
     </message>
     <message>
         <source>Layers</source>
-        <translation type="vanished">Capas</translation>
+        <translation>Capas</translation>
     </message>
     <message>
         <source>Dxf2Shp Converter</source>
-        <translation type="vanished">Conversor DxfaShp</translation>
+        <translation>Conversor DxfaShp</translation>
     </message>
     <message>
         <source>Converts from dxf to shp file format</source>
-        <translation type="vanished">Convierte de formato de archivo dxf a shp</translation>
+        <translation>Convierte de formato de archivo dxf a shp</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/evis.cpp" line="76"/>
@@ -26615,19 +26615,19 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Creates a Heatmap raster for the input point vector</source>
-        <translation type="vanished">Crea un mapa de calor (Heatmap) de la capa de puntos de entrada</translation>
+        <translation>Crea un mapa de calor (Heatmap) de la capa de puntos de entrada</translation>
     </message>
     <message>
         <source>Interpolation plugin</source>
-        <translation type="vanished">Complemento de interpolación</translation>
+        <translation>Complemento de interpolación</translation>
     </message>
     <message>
         <source>A plugin for interpolation based on vertices of a vector layer</source>
-        <translation type="vanished">Un complemento para interpolación basado en los vértices de una capa vectorial</translation>
+        <translation>Un complemento para interpolación basado en los vértices de una capa vectorial</translation>
     </message>
     <message>
         <source>Version 0.001</source>
-        <translation type="vanished">Versión 0.001</translation>
+        <translation>Versión 0.001</translation>
     </message>
     <message>
         <location filename="../src/plugins/offline_editing/offline_editing_plugin.cpp" line="31"/>
@@ -26641,55 +26641,55 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Oracle Spatial GeoRaster</source>
-        <translation type="vanished">GeoRaster Espacial de Oracle</translation>
+        <translation>GeoRaster Espacial de Oracle</translation>
     </message>
     <message>
         <source>Access Oracle Spatial GeoRaster</source>
-        <translation type="vanished">Acceso a georrásters espaciales de Oracle</translation>
+        <translation>Acceso a georrásters espaciales de Oracle</translation>
     </message>
     <message>
         <source>Raster Terrain Analysis plugin</source>
-        <translation type="vanished">Complemento de análisis del terreno ráster</translation>
+        <translation>Complemento de análisis del terreno ráster</translation>
     </message>
     <message>
         <source>A plugin for raster based terrain analysis</source>
-        <translation type="vanished">Un complemento para análisis del terreno basado en ráster</translation>
+        <translation>Un complemento para análisis del terreno basado en ráster</translation>
     </message>
     <message>
         <source>Road graph plugin</source>
-        <translation type="vanished">Complemento de grafos de rutas</translation>
+        <translation>Complemento de grafos de rutas</translation>
     </message>
     <message>
         <source>Solves the shortest path problem by tracing along line layers.</source>
-        <translation type="vanished">Resuelve el problema de la ruta más corta trazando por capas de líneas.</translation>
+        <translation>Resuelve el problema de la ruta más corta trazando por capas de líneas.</translation>
     </message>
     <message>
         <source>Processing 1/2 - %p%</source>
-        <translation type="vanished">Procesando 1/2 - %p%</translation>
+        <translation>Procesando 1/2 - %p%</translation>
     </message>
     <message>
         <source>Processing 2/2 - %p%</source>
-        <translation type="vanished">Procesando 2/2 - %p%</translation>
+        <translation>Procesando 2/2 - %p%</translation>
     </message>
     <message>
         <source>Intersects</source>
-        <translation type="vanished">Interseca</translation>
+        <translation>Interseca</translation>
     </message>
     <message>
         <source>Is disjoint</source>
-        <translation type="vanished">Está inconexo</translation>
+        <translation>Está inconexo</translation>
     </message>
     <message>
         <source>Touches</source>
-        <translation type="vanished">Toca</translation>
+        <translation>Toca</translation>
     </message>
     <message>
         <source>Crosses</source>
-        <translation type="vanished">Cruza</translation>
+        <translation>Cruza</translation>
     </message>
     <message>
         <source>Within</source>
-        <translation type="vanished">Dentro</translation>
+        <translation>Dentro</translation>
     </message>
     <message>
         <location filename="../src/gui/editorwidgets/core/qgssearchwidgetwrapper.cpp" line="53"/>
@@ -26698,7 +26698,7 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Not equal to</source>
-        <translation type="vanished">No igual a</translation>
+        <translation>No igual a</translation>
     </message>
     <message>
         <location filename="../src/gui/editorwidgets/core/qgssearchwidgetwrapper.cpp" line="55"/>
@@ -26772,35 +26772,35 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Is not missing (null)</source>
-        <translation type="vanished">No falta (nulo)</translation>
+        <translation>No falta (nulo)</translation>
     </message>
     <message>
         <source>Is not between (inclusive)</source>
-        <translation type="vanished">No está entre (inclusivo)</translation>
+        <translation>No está entre (inclusivo)</translation>
     </message>
     <message>
         <source>Equals</source>
-        <translation type="vanished">Igual</translation>
+        <translation>Igual</translation>
     </message>
     <message>
         <source>Overlaps</source>
-        <translation type="vanished">Solapa</translation>
+        <translation>Solapa</translation>
     </message>
     <message>
         <source>Spatial Query Plugin</source>
-        <translation type="vanished">Complemento de consulta espacial</translation>
+        <translation>Complemento de consulta espacial</translation>
     </message>
     <message>
         <source>A plugin that makes spatial queries on vector layers</source>
-        <translation type="vanished">Un complemento que hace consultas espaciales sobre capas vectoriales</translation>
+        <translation>Un complemento que hace consultas espaciales sobre capas vectoriales</translation>
     </message>
     <message>
         <source>Zonal statistics plugin</source>
-        <translation type="vanished">Complemento de estadísticas zonales</translation>
+        <translation>Complemento de estadísticas zonales</translation>
     </message>
     <message>
         <source>A plugin to calculate count, sum, mean of rasters for each polygon of a vector layer</source>
-        <translation type="vanished">Un complemento para calcular la cuentra, suma, media de rásters para cada polígono de una capa vectorial</translation>
+        <translation>Un complemento para calcular la cuentra, suma, media de rásters para cada polígono de una capa vectorial</translation>
     </message>
     <message>
         <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="893"/>
@@ -26809,15 +26809,15 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Cannot GDALCreateGenImgProjTransformer: </source>
-        <translation type="vanished">No de puede GDALCreateGenImgProjTransformer: </translation>
+        <translation>No de puede GDALCreateGenImgProjTransformer: </translation>
     </message>
     <message>
         <source>Cannot inittialize GDALWarpOperation : </source>
-        <translation type="vanished">No de puede inicializar GDALWarpOperation : </translation>
+        <translation>No de puede inicializar GDALWarpOperation : </translation>
     </message>
     <message>
         <source>Cannot ChunkAndWarpImage: %1</source>
-        <translation type="vanished">No se puede ChunkAndWarpImage: %1</translation>
+        <translation>No se puede ChunkAndWarpImage: %1</translation>
     </message>
     <message>
         <location filename="../src/providers/gdal/qgsgdalprovider.cpp" line="960"/>
@@ -26962,7 +26962,7 @@ Sólo se han escrito %1 de %2 objetos espaciales.</translation>
     </message>
     <message>
         <source>Cannot get current region</source>
-        <translation type="vanished">No se puede obtener la región actual</translation>
+        <translation>No se puede obtener la región actual</translation>
     </message>
     <message>
         <location filename="../src/providers/grass/qgsgrass.cpp" line="1820"/>
@@ -27010,7 +27010,7 @@ stderr: %4</translation>
     </message>
     <message>
         <source>Cannot create table</source>
-        <translation type="vanished">No se puede crear la tabla</translation>
+        <translation>No se puede crear la tabla</translation>
     </message>
     <message>
         <location filename="../src/providers/grass/qgsgrass.cpp" line="2477"/>
@@ -27019,7 +27019,7 @@ stderr: %4</translation>
     </message>
     <message>
         <source>Cannot adjust region, error: '%1'</source>
-        <translation type="vanished">No se puede ajustar la región, error: '%1'</translation>
+        <translation>No se puede ajustar la región, error: '%1'</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlprovider.cpp" line="1878"/>
@@ -27426,7 +27426,7 @@ stderr: %4</translation>
         <source>Fetching features failed.
 SQL:%1
 Error: %2</source>
-        <translation type="vanished">Fallo al obtener objetos espaciales.
+        <translation>Fallo al obtener objetos espaciales.
 SQL:%1
 Error: %2</translation>
     </message>
@@ -27804,7 +27804,7 @@ SQL: %1</translation>
     <message>
         <source>Unable to delete table %1:
 </source>
-        <translation type="vanished">No se puede borrar la tabla %1:
+        <translation>No se puede borrar la tabla %1:
 </translation>
     </message>
     <message>
@@ -28234,7 +28234,7 @@ SQL: %1</translation>
     </message>
     <message>
         <source>Composition</source>
-        <translation type="vanished">Diseño</translation>
+        <translation>Diseño</translation>
     </message>
     <message>
         <location filename="../src/core/qgsexpressioncontext.cpp" line="987"/>
@@ -28248,7 +28248,7 @@ SQL: %1</translation>
     </message>
     <message>
         <source>Composer Item</source>
-        <translation type="vanished">Elemento del diseñador</translation>
+        <translation>Elemento del diseñador</translation>
     </message>
     <message>
         <location filename="../src/core/qgsexpressioncontext.cpp" line="1119"/>
@@ -28358,7 +28358,7 @@ This might be due to an incorrect WMS Server URL.
 Tag:%3
 Response was:
 %4</source>
-        <translation type="vanished">No se pudieron obtener las capacidades WMS en el formato esperado (DTD): no se encontró ningún %1 o %2.
+        <translation>No se pudieron obtener las capacidades WMS en el formato esperado (DTD): no se encontró ningún %1 o %2.
 Esto puede deberse a una URL incorrecta del servidor WMS.
 Etiqueta: %3
 La respuesta fue:
@@ -28386,7 +28386,7 @@ La respuesta fue:
     </message>
     <message>
         <source>Simplifies file selection by adding a file chooser dialog.</source>
-        <translation type="vanished">Simplifica la selección de ficheros añadiendo un diálogo de selección de ficheros.</translation>
+        <translation>Simplifica la selección de ficheros añadiendo un diálogo de selección de ficheros.</translation>
     </message>
     <message>
         <location filename="../src/gui/editorwidgets/qgsuuidwidgetfactory.cpp" line="34"/>
@@ -28864,7 +28864,7 @@ Are you sure you want to delete the schema and all these objects?</source>
     </message>
     <message>
         <source>Send Email To...</source>
-        <translation type="vanished">Enviar correo a...</translation>
+        <translation>Enviar correo a...</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qtermwidget/Filter.cpp" line="539"/>
@@ -29454,23 +29454,23 @@ Are you sure you want to delete the schema and all these objects?</source>
     </message>
     <message>
         <source>Could not store default trust policy</source>
-        <translation type="vanished">No se pudo guardar la política de confianza predeterminada</translation>
+        <translation>No se pudo guardar la política de confianza predeterminada</translation>
     </message>
     <message>
         <source>Could not store 'CA file path' in authentication database</source>
-        <translation type="vanished">No se pudo guardar la "ruta al archivo de la autoridad certificadora" en la base de datos de autenticación</translation>
+        <translation>No se pudo guardar la "ruta al archivo de la autoridad certificadora" en la base de datos de autenticación</translation>
     </message>
     <message>
         <source>Could not store 'CA file allow invalids' setting in authentication database</source>
-        <translation type="vanished">No se pudo guardar la configuración de "el archivo de la autoridad certificadora permite no válidos" en la base de datos de autenticación</translation>
+        <translation>No se pudo guardar la configuración de "el archivo de la autoridad certificadora permite no válidos" en la base de datos de autenticación</translation>
     </message>
     <message>
         <source>Could not remove 'CA file path' from authentication database</source>
-        <translation type="vanished">No se pudo eliminar la "ruta al archivo de la autoridad certificadora" de la base de datos de autenticación</translation>
+        <translation>No se pudo eliminar la "ruta al archivo de la autoridad certificadora" de la base de datos de autenticación</translation>
     </message>
     <message>
         <source>Could not remove 'CA file allow invalids' setting from authentication database</source>
-        <translation type="vanished">No se pudo eliminar la configuración de "el archivo de la autoridad certificadora permite no válidos" de la base de datos de autenticación</translation>
+        <translation>No se pudo eliminar la configuración de "el archivo de la autoridad certificadora permite no válidos" de la base de datos de autenticación</translation>
     </message>
     <message>
         <location filename="../src/gui/auth/qgsauthguiutils.cpp" line="70"/>
@@ -29484,19 +29484,19 @@ Are you sure you want to delete the schema and all these objects?</source>
     </message>
     <message>
         <source>Master password already set</source>
-        <translation type="vanished">Contraseña maestra ya establecida</translation>
+        <translation>Contraseña maestra ya establecida</translation>
     </message>
     <message>
         <source>Master password not cleared because it is not set</source>
-        <translation type="vanished">Contraseña maestra no limpiada porque no está establecida</translation>
+        <translation>Contraseña maestra no limpiada porque no está establecida</translation>
     </message>
     <message>
         <source>Master password cleared (NOTE: network connections may be cached)</source>
-        <translation type="vanished">Contraseña maestra limpiada (NOTA: las conexiones de red pueden estar en la caché)</translation>
+        <translation>Contraseña maestra limpiada (NOTA: las conexiones de red pueden estar en la caché)</translation>
     </message>
     <message>
         <source>Master password FAILED to be cleared</source>
-        <translation type="vanished">FALLO al limpiar la contraseña maestra</translation>
+        <translation>FALLO al limpiar la contraseña maestra</translation>
     </message>
     <message>
         <location filename="../src/gui/auth/qgsauthguiutils.cpp" line="86"/>
@@ -29625,11 +29625,11 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>Authentication configurations removed</source>
-        <translation type="vanished">Configuraciones de autenticación eliminada</translation>
+        <translation>Configuraciones de autenticación eliminada</translation>
     </message>
     <message>
         <source>Authentication configurations FAILED to be removed</source>
-        <translation type="vanished">FALLO al eliminar la configuración de autenticación</translation>
+        <translation>FALLO al eliminar la configuración de autenticación</translation>
     </message>
     <message>
         <location filename="../src/gui/auth/qgsauthguiutils.cpp" line="203"/>
@@ -29651,11 +29651,11 @@ Operation can NOT be undone!
     </message>
     <message>
         <source>Active authentication database erased</source>
-        <translation type="vanished">Base de datos de autenticación activa borrada</translation>
+        <translation>Base de datos de autenticación activa borrada</translation>
     </message>
     <message>
         <source>Authentication database FAILED to be erased</source>
-        <translation type="vanished">FALLO al borrar la base de datos de autenticación</translation>
+        <translation>FALLO al borrar la base de datos de autenticación</translation>
     </message>
     <message>
         <location filename="../src/gui/auth/qgsauthguiutils.cpp" line="230"/>
@@ -29725,27 +29725,27 @@ Operation can NOT be undone!
     </message>
     <message>
         <source>°</source>
-        <translation type="vanished">°</translation>
+        <translation>°</translation>
     </message>
     <message>
         <source> rad</source>
-        <translation type="vanished"> radianes</translation>
+        <translation> radianes</translation>
     </message>
     <message>
         <source> gon</source>
-        <translation type="vanished">grados centesimales</translation>
+        <translation>grados centesimales</translation>
     </message>
     <message>
         <source>′</source>
-        <translation type="vanished">′</translation>
+        <translation>′</translation>
     </message>
     <message>
         <source>″</source>
-        <translation type="vanished">″</translation>
+        <translation>″</translation>
     </message>
     <message>
         <source> tr</source>
-        <translation type="vanished"> tr</translation>
+        <translation> tr</translation>
     </message>
     <message>
         <location filename="../src/gui/editorwidgets/qgsclassificationwidgetwrapperfactory.cpp" line="34"/>
@@ -29874,7 +29874,7 @@ Solo está disponible cuando la capa usa una representación de símbolos catego
     </message>
     <message>
         <source><BBOX> is currently supported only in form: bbox($geometry, geomFromWKT('...'))</source>
-        <translation type="vanished"><BBOX> solo está soportado actualmente en la forma: bbox($geometry, geomFromWKT('...'))</translation>
+        <translation><BBOX> solo está soportado actualmente en la forma: bbox($geometry, geomFromWKT('...'))</translation>
     </message>
     <message>
         <location filename="../src/core/qgsogcutils.cpp" line="2544"/>
@@ -30297,7 +30297,7 @@ Attributes are not modified by this algorithm.</source>
     </message>
     <message>
         <source>buffer,grow</source>
-        <translation type="vanished">buffer,crecer</translation>
+        <translation>buffer,crecer</translation>
     </message>
     <message>
         <location filename="../src/analysis/processing/qgsalgorithmbuffer.cpp" line="34"/>
@@ -30845,15 +30845,15 @@ De forma opcional, las geometrías de los objetos se pueden cortar a la extensi
     </message>
     <message>
         <source>Extract nodes</source>
-        <translation type="vanished">Extraer nodos</translation>
+        <translation>Extraer nodos</translation>
     </message>
     <message>
         <source>points,vertex,vertices</source>
-        <translation type="vanished">puntos,vértice,vértices</translation>
+        <translation>puntos,vértice,vértices</translation>
     </message>
     <message>
         <source>Nodes</source>
-        <translation type="vanished">Nodos</translation>
+        <translation>Nodos</translation>
     </message>
     <message>
         <location filename="../src/analysis/processing/qgsalgorithmfiledownloader.cpp" line="67"/>
@@ -31995,7 +31995,7 @@ Este algoritmo no modifica los atributos.</translation>
     </message>
     <message>
         <source>Object map section failed CRC check</source>
-        <translation type="vanished">Falló la comprobación CRC de la sección de mapa de objeto</translation>
+        <translation>Falló la comprobación CRC de la sección de mapa de objeto</translation>
     </message>
     <message>
         <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="49"/>
@@ -32006,7 +32006,7 @@ Este algoritmo no modifica los atributos.</translation>
     </message>
     <message>
         <source>Class 0x%1 not found, handle 0x%2</source>
-        <translation type="vanished">No se encontró la clase 0x%1, manejar 0x%2</translation>
+        <translation>No se encontró la clase 0x%1, manejar 0x%2</translation>
     </message>
     <message>
         <location filename="../src/app/dwg/qgsdwgimporter.cpp" line="51"/>
@@ -33479,7 +33479,7 @@ Error: %5</source>
         <source>%1 of
 %2PROJ.4: %3 +to %4
 Error: %5</source>
-        <translation type="vanished">%1 de
+        <translation>%1 de
 %2PROJ.4: %3 +a %4
 Error: %5</translation>
     </message>
@@ -34495,7 +34495,7 @@ Error: %5</translation>
     <message>
         <source>meters (at map scale)</source>
         <comment>render</comment>
-        <translation type="vanished">metros (a la escala del mapa)</translation>
+        <translation>metros (a la escala del mapa)</translation>
     </message>
     <message>
         <location filename="../src/core/qgsunittypes.cpp" line="1767"/>
@@ -34555,7 +34555,7 @@ Error: %5</translation>
     </message>
     <message>
         <source>in</source>
-        <translation type="vanished">en</translation>
+        <translation>en</translation>
     </message>
     <message>
         <location filename="../src/core/qgsunittypes.cpp" line="1880"/>
@@ -35107,11 +35107,11 @@ Error: %5</translation>
     </message>
     <message>
         <source>Delete Layer '%1'...</source>
-        <translation type="vanished">Borrar capa '%1'...</translation>
+        <translation>Borrar capa '%1'...</translation>
     </message>
     <message>
         <source>Delete File '%1'...</source>
-        <translation type="vanished">Borrar archivo '%1'...</translation>
+        <translation>Borrar archivo '%1'...</translation>
     </message>
     <message>
         <location filename="../src/providers/ogr/qgsogrdataitems.cpp" line="314"/>
@@ -35330,54 +35330,54 @@ Optionally, a separate table can be output which contains a summary of the class
     <name>QSpatiaLiteDriver</name>
     <message>
         <source>Error opening database</source>
-        <translation type="vanished">Error al abrir la base de datos</translation>
+        <translation>Error al abrir la base de datos</translation>
     </message>
     <message>
         <source>Error closing database</source>
-        <translation type="vanished">Error al cerrar la base de datos</translation>
+        <translation>Error al cerrar la base de datos</translation>
     </message>
     <message>
         <source>Unable to begin transaction</source>
-        <translation type="vanished">No se puede iniciar la transacción</translation>
+        <translation>No se puede iniciar la transacción</translation>
     </message>
     <message>
         <source>Unable to commit transaction</source>
-        <translation type="vanished">No se puede aplicar la transacción</translation>
+        <translation>No se puede aplicar la transacción</translation>
     </message>
     <message>
         <source>Unable to rollback transaction</source>
-        <translation type="vanished">No se puede revertir la transacción</translation>
+        <translation>No se puede revertir la transacción</translation>
     </message>
 </context>
 <context>
     <name>QSpatiaLiteResult</name>
     <message>
         <source>Unable to fetch row</source>
-        <translation type="vanished">No se puede obtener la fila</translation>
+        <translation>No se puede obtener la fila</translation>
     </message>
     <message>
         <source>No query</source>
-        <translation type="vanished">Ninguna consulta</translation>
+        <translation>Ninguna consulta</translation>
     </message>
     <message>
         <source>Unable to execute statement</source>
-        <translation type="vanished">No se puede ejecutar la sentencia</translation>
+        <translation>No se puede ejecutar la sentencia</translation>
     </message>
     <message>
         <source>Unable to execute multiple statements at a time</source>
-        <translation type="vanished">No se pueden ejecutar múltiples sentencias a la vez</translation>
+        <translation>No se pueden ejecutar múltiples sentencias a la vez</translation>
     </message>
     <message>
         <source>Unable to reset statement</source>
-        <translation type="vanished">No se puede restablecer la sentencia</translation>
+        <translation>No se puede restablecer la sentencia</translation>
     </message>
     <message>
         <source>Unable to bind parameters</source>
-        <translation type="vanished">No se pueden enlazar los parámetros</translation>
+        <translation>No se pueden enlazar los parámetros</translation>
     </message>
     <message>
         <source>Parameter count mismatch</source>
-        <translation type="vanished">El recuento de parámetros no coincide</translation>
+        <translation>El recuento de parámetros no coincide</translation>
     </message>
 </context>
 <context>
@@ -35397,74 +35397,74 @@ Optionally, a separate table can be output which contains a summary of the class
     <name>QextSerialPort</name>
     <message>
         <source>No Error has occurred</source>
-        <translation type="vanished">No ha ocurrido ningún error</translation>
+        <translation>No ha ocurrido ningún error</translation>
     </message>
     <message>
         <source>Invalid file descriptor (port was not opened correctly)</source>
-        <translation type="vanished">Descriptor de archivo no válido (el puerto no se abrió correctamente)</translation>
+        <translation>Descriptor de archivo no válido (el puerto no se abrió correctamente)</translation>
     </message>
     <message>
         <source>Unable to allocate memory tables (POSIX)</source>
-        <translation type="vanished">No se pueden asignar las tablas de memoria (POSIX)</translation>
+        <translation>No se pueden asignar las tablas de memoria (POSIX)</translation>
     </message>
     <message>
         <source>Caught a non-blocked signal (POSIX)</source>
-        <translation type="vanished">Se capturó un señal no bloqueada (POSIX)</translation>
+        <translation>Se capturó un señal no bloqueada (POSIX)</translation>
     </message>
     <message>
         <source>Operation timed out (POSIX)</source>
-        <translation type="vanished">Operación expirada (POSIX)</translation>
+        <translation>Operación expirada (POSIX)</translation>
     </message>
     <message>
         <source>The file opened by the port is not a valid device</source>
-        <translation type="vanished">El archivo abierto por el puerto no es un dispositivo válido</translation>
+        <translation>El archivo abierto por el puerto no es un dispositivo válido</translation>
     </message>
     <message>
         <source>The port detected a break condition</source>
-        <translation type="vanished">El puerto detectó una condición rota</translation>
+        <translation>El puerto detectó una condición rota</translation>
     </message>
     <message>
         <source>The port detected a framing error (usually caused by incorrect baud rate settings)</source>
-        <translation type="vanished">El puerto detectó un error de enmarcado (normalmente por una configuración incorrecta de la tasa de baudios)</translation>
+        <translation>El puerto detectó un error de enmarcado (normalmente por una configuración incorrecta de la tasa de baudios)</translation>
     </message>
     <message>
         <source>There was an I/O error while communicating with the port</source>
-        <translation type="vanished">Hubo un error de E/S mientras se comunicaba con el puerto</translation>
+        <translation>Hubo un error de E/S mientras se comunicaba con el puerto</translation>
     </message>
     <message>
         <source>Character buffer overrun</source>
-        <translation type="vanished">Desbordamiento de buffer</translation>
+        <translation>Desbordamiento de buffer</translation>
     </message>
     <message>
         <source>Receive buffer overflow</source>
-        <translation type="vanished">Desbordamiento de buffer de recepción</translation>
+        <translation>Desbordamiento de buffer de recepción</translation>
     </message>
     <message>
         <source>The port detected a parity error in the received data</source>
-        <translation type="vanished">El puerto detectó un error de paridad en los datos recibidos</translation>
+        <translation>El puerto detectó un error de paridad en los datos recibidos</translation>
     </message>
     <message>
         <source>Transmit buffer overflow</source>
-        <translation type="vanished">Desbordamiento de buffer de transmisión</translation>
+        <translation>Desbordamiento de buffer de transmisión</translation>
     </message>
     <message>
         <source>General read operation failure</source>
-        <translation type="vanished">Fallo general de operación de lectura</translation>
+        <translation>Fallo general de operación de lectura</translation>
     </message>
     <message>
         <source>General write operation failure</source>
-        <translation type="vanished">Fallo general de operación de escritura</translation>
+        <translation>Fallo general de operación de escritura</translation>
     </message>
     <message>
         <source>Unknown error: %1</source>
-        <translation type="vanished">Error desconocido: %1</translation>
+        <translation>Error desconocido: %1</translation>
     </message>
 </context>
 <context>
     <name>QgisApp</name>
     <message>
         <source>&Raster</source>
-        <translation type="vanished">&Ráster</translation>
+        <translation>&Ráster</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="650"/>
@@ -35503,7 +35503,7 @@ Optionally, a separate table can be output which contains a summary of the class
     </message>
     <message>
         <source>QGIS starting...</source>
-        <translation type="vanished">Iniciando QGIS...</translation>
+        <translation>Iniciando QGIS...</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="1044"/>
@@ -35564,11 +35564,11 @@ Optionally, a separate table can be output which contains a summary of the class
     <message>
         <source>S</source>
         <comment>Keyboard Shortcut: Toggle snapping</comment>
-        <translation type="vanished">S</translation>
+        <translation>S</translation>
     </message>
     <message>
         <source>Toggle snapping</source>
-        <translation type="vanished">Alternar autoensamblado</translation>
+        <translation>Alternar autoensamblado</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="1216"/>
@@ -35689,7 +35689,7 @@ Por favor, contacte con los desarrolladores.</translation>
     </message>
     <message>
         <source>Progress bar that displays the status of rendering layers and other time-intensive operations</source>
-        <translation type="vanished">Barra de progreso que muestra el estado de la renderización de capas y otras operaciones prolongadas</translation>
+        <translation>Barra de progreso que muestra el estado de la renderización de capas y otras operaciones prolongadas</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="2868"/>
@@ -35708,7 +35708,7 @@ Por favor, contacte con los desarrolladores.</translation>
     </message>
     <message>
         <source>This icon shows whether on the fly coordinate reference system transformation is enabled or not. Click the icon to bring up the project properties dialog to alter this behaviour.</source>
-        <translation type="vanished">Este icono muestra si está activada o no la transformación al vuelo del sistema de referencia de coordenadas. Pulse el icono para mostrar el diálogo de propiedades del proyecto para cambiar este comportamiento.</translation>
+        <translation>Este icono muestra si está activada o no la transformación al vuelo del sistema de referencia de coordenadas. Pulse el icono para mostrar el diálogo de propiedades del proyecto para cambiar este comportamiento.</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="2893"/>
@@ -35727,7 +35727,7 @@ Por favor, contacte con los desarrolladores.</translation>
     </message>
     <message>
         <source>Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties.</source>
-        <translation type="vanished">Ventana Capas que muestra todas la capas actualmente en la vista del mapa. Pulsar en la casilla de una capa para activar/desactivar su vista. Pulsar dos veces sobre una capa en la leyenda para personalizar su apariencia y ajustar otras propiedades.</translation>
+        <translation>Ventana Capas que muestra todas la capas actualmente en la vista del mapa. Pulsar en la casilla de una capa para activar/desactivar su vista. Pulsar dos veces sobre una capa en la leyenda para personalizar su apariencia y ajustar otras propiedades.</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="3718"/>
@@ -35772,7 +35772,7 @@ Por favor, contacte con los desarrolladores.</translation>
     </message>
     <message>
         <source>Preferences...</source>
-        <translation type="vanished">Preferencias...</translation>
+        <translation>Preferencias...</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="2339"/>
@@ -35903,7 +35903,7 @@ Por favor, contacte con los desarrolladores.</translation>
     </message>
     <message>
         <source>No support.</source>
-        <translation type="vanished">No admitido.</translation>
+        <translation>No admitido.</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="4115"/>
@@ -35932,7 +35932,7 @@ Por favor, contacte con los desarrolladores.</translation>
     </message>
     <message>
         <source>%1 doesn't have any layers</source>
-        <translation type="vanished">%1 no tiene ninguna capa</translation>
+        <translation>%1 no tiene ninguna capa</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="4290"/>
@@ -35953,7 +35953,7 @@ Por favor, contacte con los desarrolladores.</translation>
     </message>
     <message>
         <source>PostgreSQL</source>
-        <translation type="vanished">PostgreSQL</translation>
+        <translation>PostgreSQL</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="4761"/>
@@ -35984,11 +35984,11 @@ Por favor, contacte con los desarrolladores.</translation>
     </message>
     <message>
         <source>Layer diagram properties</source>
-        <translation type="vanished">Propiedades de diagrama de capa</translation>
+        <translation>Propiedades de diagrama de capa</translation>
     </message>
     <message>
         <source>An error occurred during the merge operation</source>
-        <translation type="vanished">Ocurrió un error durante la operación de combinación</translation>
+        <translation>Ocurrió un error durante la operación de combinación</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="8283"/>
@@ -36017,7 +36017,7 @@ Por favor, contacte con los desarrolladores.</translation>
     </message>
     <message>
         <source>Filter on joined fields</source>
-        <translation type="vanished">Filtrar en campos unidos</translation>
+        <translation>Filtrar en campos unidos</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="9115"/>
@@ -36202,7 +36202,7 @@ Please switch project's CRS to a projected CRS.</source>
     </message>
     <message>
         <source>Delete Features</source>
-        <translation type="vanished">Borrar objetos espaciales</translation>
+        <translation>Borrar objetos espaciales</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="7237"/>
@@ -36279,7 +36279,7 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>SpatiaLite</source>
-        <translation type="vanished">SpatiaLite</translation>
+        <translation>SpatiaLite</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="4854"/>
@@ -36288,7 +36288,7 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>Delimited Text</source>
-        <translation type="vanished">Texto delimitado</translation>
+        <translation>Texto delimitado</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="4869"/>
@@ -36297,7 +36297,7 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>MSSQL</source>
-        <translation type="vanished">MSSQL</translation>
+        <translation>MSSQL</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="4925"/>
@@ -36306,7 +36306,7 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>Oracle</source>
-        <translation type="vanished">Oracle</translation>
+        <translation>Oracle</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="4957"/>
@@ -36315,27 +36315,27 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>WMS</source>
-        <translation type="vanished">WMS</translation>
+        <translation>WMS</translation>
     </message>
     <message>
         <source>Cannot get WMS select dialog from provider.</source>
-        <translation type="vanished">No se puede obtener el diálogo de selección de WMS del proveedor.</translation>
+        <translation>No se puede obtener el diálogo de selección de WMS del proveedor.</translation>
     </message>
     <message>
         <source>WCS</source>
-        <translation type="vanished">WCS</translation>
+        <translation>WCS</translation>
     </message>
     <message>
         <source>Cannot get WCS select dialog from provider.</source>
-        <translation type="vanished">No se puede obtener el diálogo de selección de WCS del proveedor.</translation>
+        <translation>No se puede obtener el diálogo de selección de WCS del proveedor.</translation>
     </message>
     <message>
         <source>WFS</source>
-        <translation type="vanished">WFS</translation>
+        <translation>WFS</translation>
     </message>
     <message>
         <source>Cannot get WFS select dialog from provider.</source>
-        <translation type="vanished">No se puede obtener el diálogo de selección de WFS del proveedor.</translation>
+        <translation>No se puede obtener el diálogo de selección de WFS del proveedor.</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="5138"/>
@@ -36384,15 +36384,15 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>Calculating...</source>
-        <translation type="vanished">Calculando...</translation>
+        <translation>Calculando...</translation>
     </message>
     <message>
         <source>Abort...</source>
-        <translation type="vanished">Cancelar...</translation>
+        <translation>Cancelar...</translation>
     </message>
     <message>
         <source>Choose a QGIS project file to open</source>
-        <translation type="vanished">Seleccionar un archivo de proyecto de QGIS para abrir</translation>
+        <translation>Seleccionar un archivo de proyecto de QGIS para abrir</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="5456"/>
@@ -36443,7 +36443,7 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>Choose a file name to save the QGIS project file as</source>
-        <translation type="vanished">Seleccione un nombre de archivo para guardar el archivo de proyecto de QGIS</translation>
+        <translation>Seleccione un nombre de archivo para guardar el archivo de proyecto de QGIS</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="5950"/>
@@ -36452,11 +36452,11 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>Choose a file name to save the map image as</source>
-        <translation type="vanished">Seleccione un nombre de archivo para guardar la imagen del mapa</translation>
+        <translation>Seleccione un nombre de archivo para guardar la imagen del mapa</translation>
     </message>
     <message>
         <source>Saved map image to %1</source>
-        <translation type="vanished">Imagen del mapa guardada en %1</translation>
+        <translation>Imagen del mapa guardada en %1</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="6549"/>
@@ -36496,27 +36496,27 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>Initializing authentication</source>
-        <translation type="vanished">Inicializando autenticación</translation>
+        <translation>Inicializando autenticación</translation>
     </message>
     <message>
         <source>Undo/Redo Panel</source>
-        <translation type="vanished">Deshacer/rehacer</translation>
+        <translation>Deshacer/rehacer</translation>
     </message>
     <message>
         <source>Browser Panel</source>
-        <translation type="vanished">Explorador</translation>
+        <translation>Explorador</translation>
     </message>
     <message>
         <source>Browser Panel (2)</source>
-        <translation type="vanished">Explorador (2)</translation>
+        <translation>Explorador (2)</translation>
     </message>
     <message>
         <source>GPS Information Panel</source>
-        <translation type="vanished">Información de GPS</translation>
+        <translation>Información de GPS</translation>
     </message>
     <message>
         <source>Log Messages Panel</source>
-        <translation type="vanished">Mensajes del registro</translation>
+        <translation>Mensajes del registro</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="2843"/>
@@ -36525,11 +36525,11 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>Overview Panel</source>
-        <translation type="vanished">Vista general</translation>
+        <translation>Vista general</translation>
     </message>
     <message>
         <source>Layers Panel</source>
-        <translation type="vanished">Capas</translation>
+        <translation>Capas</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="3649"/>
@@ -36539,7 +36539,7 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>Manage Layer Visibility</source>
-        <translation type="vanished">Gestionar visibilidad de capas</translation>
+        <translation>Gestionar visibilidad de capas</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="3663"/>
@@ -36566,7 +36566,7 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>Layer Order Panel</source>
-        <translation type="vanished">Orden de capas</translation>
+        <translation>Orden de capas</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="4082"/>
@@ -36605,7 +36605,7 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>Virtual layer</source>
-        <translation type="vanished">Capa virtual</translation>
+        <translation>Capa virtual</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="4884"/>
@@ -36614,7 +36614,7 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>DB2</source>
-        <translation type="vanished">DB2</translation>
+        <translation>DB2</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="4941"/>
@@ -36623,19 +36623,19 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>ArcGIS Feature Server</source>
-        <translation type="vanished">Servidor de objetos ArcGIS</translation>
+        <translation>Servidor de objetos ArcGIS</translation>
     </message>
     <message>
         <source>Cannot get ArcGIS Feature Server select dialog from provider.</source>
-        <translation type="vanished">No se puede obtener el diálogo de selección del servidor de objetos ArcGIS del proveedor.</translation>
+        <translation>No se puede obtener el diálogo de selección del servidor de objetos ArcGIS del proveedor.</translation>
     </message>
     <message>
         <source>ArcGIS Map Server</source>
-        <translation type="vanished">Servidor de mapas ArcGIS</translation>
+        <translation>Servidor de mapas ArcGIS</translation>
     </message>
     <message>
         <source>Cannot get ArcGIS Map Server select dialog from provider.</source>
-        <translation type="vanished">No se puede obtener el diálogo de selección del servidor de mapas ArcGIS del proveedor.</translation>
+        <translation>No se puede obtener el diálogo de selección del servidor de mapas ArcGIS del proveedor.</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="5303"/>
@@ -36806,31 +36806,31 @@ Current last modification date is: %2</source>
     </message>
     <message>
         <source>Reading raster</source>
-        <translation type="vanished">Leyendo ráster</translation>
+        <translation>Leyendo ráster</translation>
     </message>
     <message>
         <source>Saving raster</source>
-        <translation type="vanished">Guardando ráster</translation>
+        <translation>Guardando ráster</translation>
     </message>
     <message>
         <source>Cannot write raster error code: %1</source>
-        <translation type="vanished">No se puede escribir el código de error del ráster: %1</translation>
+        <translation>No se puede escribir el código de error del ráster: %1</translation>
     </message>
     <message>
         <source>Saving done</source>
-        <translation type="vanished">Guardado terminado</translation>
+        <translation>Guardado terminado</translation>
     </message>
     <message>
         <source>Export to raster file has been completed</source>
-        <translation type="vanished">Se ha completado la exportación a archivo ráster</translation>
+        <translation>Se ha completado la exportación a archivo ráster</translation>
     </message>
     <message>
         <source>Export to vector file has been completed</source>
-        <translation type="vanished">Se ha completado la exportación a archivo vectorial</translation>
+        <translation>Se ha completado la exportación a archivo vectorial</translation>
     </message>
     <message>
         <source>Save error</source>
-        <translation type="vanished">Error al guardar</translation>
+        <translation>Error al guardar</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="7079"/>
@@ -36900,7 +36900,7 @@ Error: %1</translation>
     <message numerus="yes">
         <source>Delete %n feature(s)?</source>
         <comment>number of features to delete</comment>
-        <translation type="vanished">
+        <translation>
             <numerusform>¿Borrar 1 objeto espacial?</numerusform>
             <numerusform>¿Borrar %n objetos espaciales?</numerusform>
         </translation>
@@ -36931,7 +36931,7 @@ Error: %1</translation>
     </message>
     <message>
         <source>Merging features...</source>
-        <translation type="vanished">Combinando objetos espaciales...</translation>
+        <translation>Combinando objetos espaciales...</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="5347"/>
@@ -36941,15 +36941,15 @@ Error: %1</translation>
     </message>
     <message>
         <source>Create unique print composer title</source>
-        <translation type="vanished">Crear título de diseñador de impresión único</translation>
+        <translation>Crear título de diseñador de impresión único</translation>
     </message>
     <message>
         <source>(title generated if left empty)</source>
-        <translation type="vanished">(título generado si se deja vacío)</translation>
+        <translation>(título generado si se deja vacío)</translation>
     </message>
     <message>
         <source>Composer title</source>
-        <translation type="vanished">Título del diseñador</translation>
+        <translation>Título del diseñador</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="7326"/>
@@ -36963,15 +36963,15 @@ Error: %1</translation>
     </message>
     <message>
         <source>Composer %1</source>
-        <translation type="vanished">Diseñador %1</translation>
+        <translation>Diseñador %1</translation>
     </message>
     <message>
         <source> copy</source>
-        <translation type="vanished"> copiar</translation>
+        <translation> copiar</translation>
     </message>
     <message>
         <source>Loading composer %1</source>
-        <translation type="vanished">Cargando diseñador %1</translation>
+        <translation>Cargando diseñador %1</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="7675"/>
@@ -37012,7 +37012,7 @@ Error: %1</translation>
     </message>
     <message>
         <source>Active tasks</source>
-        <translation type="vanished">Tareas activas</translation>
+        <translation>Tareas activas</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="4984"/>
@@ -37162,11 +37162,11 @@ Do you want to try canceling these active tasks?</source>
     </message>
     <message>
         <source>To select all, choose a vector layer in the legend</source>
-        <translation type="vanished">Para seleccionar todo, elija una capa vectorial en la leyenda</translation>
+        <translation>Para seleccionar todo, elija una capa vectorial en la leyenda</translation>
     </message>
     <message>
         <source>To select features, choose a vector layer in the legend</source>
-        <translation type="vanished">Para seleccionar objetos espaciales, elija una capa vectorial en el panel Capas</translation>
+        <translation>Para seleccionar objetos espaciales, elija una capa vectorial en el panel Capas</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="8137"/>
@@ -37241,7 +37241,7 @@ Do you want to try canceling these active tasks?</source>
     </message>
     <message>
         <source>Stop editing</source>
-        <translation type="vanished">Detener edición</translation>
+        <translation>Detener edición</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="8631"/>
@@ -37483,11 +37483,11 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>Current CRS: %1 (OTF enabled)</source>
-        <translation type="vanished">SRC actual: %1 (Proyección al vuelo activada)</translation>
+        <translation>SRC actual: %1 (Proyección al vuelo activada)</translation>
     </message>
     <message>
         <source>Current CRS: %1 (OTF disabled)</source>
-        <translation type="vanished">SRC actual: %1 (Proyección al vuelo desactivada)</translation>
+        <translation>SRC actual: %1 (Proyección al vuelo desactivada)</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="13164"/>
@@ -37496,7 +37496,7 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>The layer %1 is not a valid layer and can not be added to the map</source>
-        <translation type="vanished">La capa %1 no es válida y no se puede añadir al mapa</translation>
+        <translation>La capa %1 no es válida y no se puede añadir al mapa</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="7686"/>
@@ -37546,11 +37546,11 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>Save?</source>
-        <translation type="vanished">¿Guardar?</translation>
+        <translation>¿Guardar?</translation>
     </message>
     <message>
         <source>Maptips require an active layer</source>
-        <translation type="vanished">Los avisos del mapa requieren una capa activa</translation>
+        <translation>Los avisos del mapa requieren una capa activa</translation>
     </message>
     <message numerus="yes">
         <location filename="../src/app/qgisapp.cpp" line="11333"/>
@@ -37677,7 +37677,7 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>%1 (OTF)</source>
-        <translation type="vanished">%1 (al vuelo)</translation>
+        <translation>%1 (al vuelo)</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="2903"/>
@@ -37692,18 +37692,18 @@ Por favor, cancele estas tareas y vuelva a probar.</translation>
     </message>
     <message>
         <source>Error saving layer definintion file</source>
-        <translation type="vanished">Error al guardar el archivo de definición de la capa</translation>
+        <translation>Error al guardar el archivo de definición de la capa</translation>
     </message>
     <message>
         <source>Project file was changed</source>
-        <translation type="vanished">El archivo del proyecto fue cambiado</translation>
+        <translation>El archivo del proyecto fue cambiado</translation>
     </message>
     <message>
         <source>The loaded project file on disk was meanwhile changed.  Do you want to overwrite the changes?
 
 Last modification date on load was: %1
 Current last modification date is: %2</source>
-        <translation type="vanished">El archivo de proyecto del disco que está cargado fue cambiado mientras tanto. ¿Quiere sobrescribir los cambios?
+        <translation>El archivo de proyecto del disco que está cargado fue cambiado mientras tanto. ¿Quiere sobrescribir los cambios?
 
 La última fecha de modificación al cargar fue: %1
 La fecha de la última modificación actual es: %2</translation>
@@ -37751,15 +37751,15 @@ La fecha de la última modificación actual es: %2</translation>
     </message>
     <message>
         <source>Select wall color</source>
-        <translation type="vanished">Seleccionar color de la pared</translation>
+        <translation>Seleccionar color de la pared</translation>
     </message>
     <message>
         <source>Select roof color</source>
-        <translation type="vanished">Seleccionar color del techo</translation>
+        <translation>Seleccionar color del techo</translation>
     </message>
     <message>
         <source>Select shadow color</source>
-        <translation type="vanished">Seleccionar color de sombra</translation>
+        <translation>Seleccionar color de sombra</translation>
     </message>
 </context>
 <context>
@@ -37786,7 +37786,7 @@ La fecha de la última modificación actual es: %2</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/qgs25drendererwidgetbase.ui" line="40"/>
@@ -37858,7 +37858,7 @@ La fecha de la última modificación actual es: %2</translation>
     </message>
     <message>
         <source>Save as image...</source>
-        <translation type="vanished">Guardar como imagen...</translation>
+        <translation>Guardar como imagen...</translation>
     </message>
     <message>
         <location filename="../src/app/3d/qgs3dmapcanvasdockwidget.cpp" line="47"/>
@@ -38011,7 +38011,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Essen (Germany), Developer meeting 2014</source>
-        <translation type="vanished">Essen (Alemania), encuentro de desarrolladores 2014</translation>
+        <translation>Essen (Alemania), encuentro de desarrolladores 2014</translation>
     </message>
 </context>
 <context>
@@ -38108,7 +38108,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsAddAttrDialog</name>
     <message>
         <source>Warning</source>
-        <translation type="vanished">Advertencia</translation>
+        <translation>Advertencia</translation>
     </message>
     <message>
         <location filename="../src/app/qgsaddattrdialog.cpp" line="98"/>
@@ -38131,7 +38131,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsAddAttrDialogBase</name>
     <message>
         <source>Add field</source>
-        <translation type="vanished">Añadir campo</translation>
+        <translation>Añadir campo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsaddattrdialogbase.ui" line="46"/>
@@ -38174,7 +38174,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsAddTabOrGroup</name>
     <message>
         <source>Add tab or group for %1</source>
-        <translation type="vanished">Añadir pestaña o grupo para %1</translation>
+        <translation>Añadir pestaña o grupo para %1</translation>
     </message>
     <message>
         <location filename="../src/app/qgsaddtaborgroup.cpp" line="58"/>
@@ -38224,15 +38224,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Snap to 30%1 angles</source>
-        <translation type="vanished">Ajustar a ángulos 30%1</translation>
+        <translation>Ajustar a ángulos 30%1</translation>
     </message>
     <message>
         <source>Snap to 45%1 angles</source>
-        <translation type="vanished">Ajustar a ángulos 45%1</translation>
+        <translation>Ajustar a ángulos 45%1</translation>
     </message>
     <message>
         <source>Snap to 90%1 angles</source>
-        <translation type="vanished">Ajustar a ángulos 90%1</translation>
+        <translation>Ajustar a ángulos 90%1</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsadvanceddigitizingdockwidget.cpp" line="113"/>
@@ -38437,22 +38437,22 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Do not snap to vertices or segment</source>
-        <translation type="vanished">No ajustar a vértices o segmentos</translation>
+        <translation>No ajustar a vértices o segmentos</translation>
     </message>
     <message>
         <source>Snap according to project configuration</source>
-        <translation type="vanished">Ajustar de acuerdo con la configuración del proyecto</translation>
+        <translation>Ajustar de acuerdo con la configuración del proyecto</translation>
     </message>
     <message>
         <source>Snap to all layers</source>
-        <translation type="vanished">Ajustar a todas las capas</translation>
+        <translation>Ajustar a todas las capas</translation>
     </message>
 </context>
 <context>
     <name>QgsAdvancedDigitizingDockWidgetBase</name>
     <message>
         <source>Advanced Digitizing Panel</source>
-        <translation type="vanished">Panel de digitalización avanzada</translation>
+        <translation>Panel de digitalización avanzada</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsadvanceddigitizingdockwidgetbase.ui" line="20"/>
@@ -38491,55 +38491,55 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Parallel</source>
-        <translation type="vanished">Paralelo</translation>
+        <translation>Paralelo</translation>
     </message>
     <message>
         <source>Perpendicular</source>
-        <translation type="vanished">Perpendicular</translation>
+        <translation>Perpendicular</translation>
     </message>
     <message>
         <source>Construction mode</source>
-        <translation type="vanished">Modo de construcción</translation>
+        <translation>Modo de construcción</translation>
     </message>
     <message>
         <source>X coordinate</source>
-        <translation type="vanished">Coordenada X</translation>
+        <translation>Coordenada X</translation>
     </message>
     <message>
         <source>Distance</source>
-        <translation type="vanished">Distancia</translation>
+        <translation>Distancia</translation>
     </message>
     <message>
         <source>Continuously lock distance</source>
-        <translation type="vanished">Bloquear distancia continuamente</translation>
+        <translation>Bloquear distancia continuamente</translation>
     </message>
     <message>
         <source>Continuously lock angle</source>
-        <translation type="vanished">Bloquear ángulo continuamente</translation>
+        <translation>Bloquear ángulo continuamente</translation>
     </message>
     <message>
         <source>Continuously lock x coordinate</source>
-        <translation type="vanished">Bloquear la coordenada X continuamente</translation>
+        <translation>Bloquear la coordenada X continuamente</translation>
     </message>
     <message>
         <source>Continuously lock y coordinate</source>
-        <translation type="vanished">Bloquear la coordenada Y continuamente</translation>
+        <translation>Bloquear la coordenada Y continuamente</translation>
     </message>
     <message>
         <source>Lock distance</source>
-        <translation type="vanished">Bloquear distancia</translation>
+        <translation>Bloquear distancia</translation>
     </message>
     <message>
         <source>Lock angle</source>
-        <translation type="vanished">Bloquear ángulo</translation>
+        <translation>Bloquear ángulo</translation>
     </message>
     <message>
         <source>Lock y coordinate</source>
-        <translation type="vanished">Bloquear la coordenada Y</translation>
+        <translation>Bloquear la coordenada Y</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsadvanceddigitizingdockwidgetbase.ui" line="369"/>
@@ -38548,7 +38548,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Toggles relative y to previous node</source>
-        <translation type="vanished">Conmuta Y relativa al nodo previo</translation>
+        <translation>Conmuta Y relativa al nodo previo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsadvanceddigitizingdockwidgetbase.ui" line="328"/>
@@ -38557,7 +38557,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Angle</source>
-        <translation type="vanished">Ángulo</translation>
+        <translation>Ángulo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsadvanceddigitizingdockwidgetbase.ui" line="362"/>
@@ -38566,11 +38566,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Y coordinate</source>
-        <translation type="vanished">Coordenada Y</translation>
+        <translation>Coordenada Y</translation>
     </message>
     <message>
         <source>Toggles relative x to previous node</source>
-        <translation type="vanished">Conmuta X relativa al nodo previo</translation>
+        <translation>Conmuta X relativa al nodo previo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsadvanceddigitizingdockwidgetbase.ui" line="239"/>
@@ -38579,18 +38579,18 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Lock x coordinate</source>
-        <translation type="vanished">Bloquear la coordenada X</translation>
+        <translation>Bloquear la coordenada X</translation>
     </message>
     <message>
         <source>Toggles relative angle to previous segment</source>
-        <translation type="vanished">Conmuta ángulo relativo al segmento previo</translation>
+        <translation>Conmuta ángulo relativo al segmento previo</translation>
     </message>
 </context>
 <context>
     <name>QgsAfsConnectionItem</name>
     <message>
         <source>Edit...</source>
-        <translation type="vanished">Editar...</translation>
+        <translation>Editar...</translation>
     </message>
     <message>
         <location filename="../src/providers/arcgisrest/qgsafsdataitems.cpp" line="127"/>
@@ -38609,7 +38609,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Modify AFS connection</source>
-        <translation type="vanished">Modificar conexión AFS</translation>
+        <translation>Modificar conexión AFS</translation>
     </message>
 </context>
 <context>
@@ -38654,7 +38654,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsAfsRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <location filename="../src/providers/arcgisrest/qgsafsdataitems.cpp" line="55"/>
@@ -38668,7 +38668,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Create a new AFS connection</source>
-        <translation type="vanished">Crear una nueva conexión AFS</translation>
+        <translation>Crear una nueva conexión AFS</translation>
     </message>
 </context>
 <context>
@@ -38719,7 +38719,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Raster layers to align:</source>
-        <translation type="vanished">Capas raster a alinear:</translation>
+        <translation>Capas raster a alinear:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsalignrasterdialog.ui" line="22"/>
@@ -38861,7 +38861,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Browse...</source>
-        <translation type="vanished">Explorar...</translation>
+        <translation>Explorar...</translation>
     </message>
     <message>
         <location filename="../src/app/qgsalignrasterdialog.cpp" line="418"/>
@@ -38898,7 +38898,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsAmsConnectionItem</name>
     <message>
         <source>Edit...</source>
-        <translation type="vanished">Editar...</translation>
+        <translation>Editar...</translation>
     </message>
     <message>
         <location filename="../src/providers/arcgisrest/qgsamsdataitems.cpp" line="143"/>
@@ -38917,7 +38917,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Modify AMS connection</source>
-        <translation type="vanished">Modificar conexión AMS</translation>
+        <translation>Modificar conexión AMS</translation>
     </message>
 </context>
 <context>
@@ -38942,7 +38942,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsAmsRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <location filename="../src/providers/arcgisrest/qgsamsdataitems.cpp" line="53"/>
@@ -38956,7 +38956,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Create a new AMS connection</source>
-        <translation type="vanished">Crear una nueva conexión AMS</translation>
+        <translation>Crear una nueva conexión AMS</translation>
     </message>
 </context>
 <context>
@@ -39010,19 +39010,19 @@ p, li { white-space: pre-wrap; }
     <name>QgsAnnotationWidget</name>
     <message>
         <source>Select frame color</source>
-        <translation type="vanished">Seleccionar color del marco</translation>
+        <translation>Seleccionar color del marco</translation>
     </message>
     <message>
         <source>Transparent frame</source>
-        <translation type="vanished">Marco transparente</translation>
+        <translation>Marco transparente</translation>
     </message>
     <message>
         <source>Select background color</source>
-        <translation type="vanished">Seleccionar color de fondo</translation>
+        <translation>Seleccionar color de fondo</translation>
     </message>
     <message>
         <source>Transparent</source>
-        <translation type="vanished">Transparente</translation>
+        <translation>Transparente</translation>
     </message>
 </context>
 <context>
@@ -39092,15 +39092,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Frame width</source>
-        <translation type="vanished">Anchura de marco</translation>
+        <translation>Anchura de marco</translation>
     </message>
     <message>
         <source>Background color</source>
-        <translation type="vanished">Color de fondo</translation>
+        <translation>Color de fondo</translation>
     </message>
     <message>
         <source>Frame color</source>
-        <translation type="vanished">Color de marco</translation>
+        <translation>Color de marco</translation>
     </message>
 </context>
 <context>
@@ -39195,7 +39195,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Save As...</source>
-        <translation type="vanished">Guardar como...</translation>
+        <translation>Guardar como...</translation>
     </message>
     <message>
         <location filename="../src/app/qgsapplayertreeviewmenuprovider.cpp" line="284"/>
@@ -39204,7 +39204,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Edit virtual layer settings</source>
-        <translation type="vanished">Editar configuración de capa virtual</translation>
+        <translation>Editar configuración de capa virtual</translation>
     </message>
     <message>
         <location filename="../src/app/qgsapplayertreeviewmenuprovider.cpp" line="296"/>
@@ -39224,15 +39224,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Symbol selector</source>
-        <translation type="vanished">Selector de símbolos</translation>
+        <translation>Selector de símbolos</translation>
     </message>
     <message>
         <source>Edit Symbol...</source>
-        <translation type="vanished">Editar símbolo...</translation>
+        <translation>Editar símbolo...</translation>
     </message>
     <message>
         <source>Save As Layer Definition File...</source>
-        <translation type="vanished">Guardar como archivo de definición de capa...</translation>
+        <translation>Guardar como archivo de definición de capa...</translation>
     </message>
     <message>
         <location filename="../src/app/qgsapplayertreeviewmenuprovider.cpp" line="113"/>
@@ -39246,7 +39246,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Filter...</source>
-        <translation type="vanished">&Filtrar...</translation>
+        <translation>&Filtrar...</translation>
     </message>
     <message>
         <location filename="../src/app/qgsapplayertreeviewmenuprovider.cpp" line="272"/>
@@ -39288,7 +39288,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>qgis-icon-60x60_xmas.png</source>
         <comment>December application icon</comment>
-        <translation type="vanished">qgis-icon-60x60_xmas.png</translation>
+        <translation>qgis-icon-60x60_xmas.png</translation>
     </message>
     <message>
         <location filename="../src/core/qgsapplication.cpp" line="1070"/>
@@ -39501,11 +39501,11 @@ Ruta de la base de datos de autenticación:	%10
     </message>
     <message>
         <source><html><head/><body><p>Symbols clip the geometry to the current canvas extent by default. This could result in undesired renderings for this kind of symbol layer. Make sure to check the corresponding &quot;Clip features to canvas extent&quot; advanced option of the symbol.</p></body></html></source>
-        <translation type="vanished"><html><head/><body><p>Los símbolos cortan la geometría a la extensión actual de la vista del mapa por omisión. Esto podría dar como resultado representaciones no deseadas para este tipo de capa de símbolos. Asegúrese de marcar la opción avanzada &quot;Cortar objetos a la extensión del lienzo&quot; correspondiente del símbolo.</p></body></html></translation>
+        <translation><html><head/><body><p>Los símbolos cortan la geometría a la extensión actual de la vista del mapa por omisión. Esto podría dar como resultado representaciones no deseadas para este tipo de capa de símbolos. Asegúrese de marcar la opción avanzada &quot;Cortar objetos a la extensión del lienzo&quot; correspondiente del símbolo.</p></body></html></translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/qgsarrowsymbollayerwidgetbase.ui" line="46"/>
@@ -39608,109 +39608,109 @@ Ruta de la base de datos de autenticación:	%10
     <name>QgsAtlasComposition</name>
     <message>
         <source>Composer</source>
-        <translation type="vanished">Diseñador</translation>
+        <translation>Diseñador</translation>
     </message>
     <message>
         <source>Atlas name eval error: %1</source>
-        <translation type="vanished">Error de evaluación del nombre de Atlas: %1</translation>
+        <translation>Error de evaluación del nombre de Atlas: %1</translation>
     </message>
     <message>
         <source>No matching atlas features</source>
-        <translation type="vanished">Ningún objeto espacial de atlas coincidente</translation>
+        <translation>Ningún objeto espacial de atlas coincidente</translation>
     </message>
     <message>
         <source>Atlas feature %1 of %2</source>
-        <translation type="vanished">Objeto espacial de atlas %1 de %2</translation>
+        <translation>Objeto espacial de atlas %1 de %2</translation>
     </message>
     <message>
         <source>Atlas filename evaluation error: %1</source>
-        <translation type="vanished">Error de evaluación de nombre de archivo de Atlas: %1</translation>
+        <translation>Error de evaluación de nombre de archivo de Atlas: %1</translation>
     </message>
 </context>
 <context>
     <name>QgsAtlasCompositionWidget</name>
     <message>
         <source>Could not evaluate filename pattern</source>
-        <translation type="vanished">No se pudo evaluar el patrón de nombre de archivo</translation>
+        <translation>No se pudo evaluar el patrón de nombre de archivo</translation>
     </message>
     <message>
         <source>Could not set filename pattern as '%1'.
 Parser error:
 %2</source>
-        <translation type="vanished">No se pudo establecer el patrón de nombre de archivo como '%1'.
+        <translation>No se pudo establecer el patrón de nombre de archivo como '%1'.
 Error del analizador:
 %2</translation>
     </message>
     <message>
         <source>Expression based filename</source>
-        <translation type="vanished">Nombre de archivo basado en expresión</translation>
+        <translation>Nombre de archivo basado en expresión</translation>
     </message>
     <message>
         <source>Atlas preview</source>
-        <translation type="vanished">Vista previa de atlas</translation>
+        <translation>Vista previa de atlas</translation>
     </message>
     <message>
         <source>No matching atlas features found!</source>
-        <translation type="vanished">¡Ningún objeto espacial de atlas coincidente!</translation>
+        <translation>¡Ningún objeto espacial de atlas coincidente!</translation>
     </message>
     <message>
         <source>Expression based filter</source>
-        <translation type="vanished">Filtro basado en expresión</translation>
+        <translation>Filtro basado en expresión</translation>
     </message>
 </context>
 <context>
     <name>QgsAtlasCompositionWidgetBase</name>
     <message>
         <source>Atlas Generation</source>
-        <translation type="vanished">Generación de atlas</translation>
+        <translation>Generación de atlas</translation>
     </message>
     <message>
         <source>Generate an atlas</source>
-        <translation type="vanished">Generar un atlas</translation>
+        <translation>Generar un atlas</translation>
     </message>
     <message>
         <source>Configuration</source>
-        <translation type="vanished">Configuración</translation>
+        <translation>Configuración</translation>
     </message>
     <message>
         <source>Coverage layer </source>
-        <translation type="vanished">Capa de cobertura </translation>
+        <translation>Capa de cobertura </translation>
     </message>
     <message>
         <source>Hidden coverage layer</source>
-        <translation type="vanished">Ocultar capa de cobertura</translation>
+        <translation>Ocultar capa de cobertura</translation>
     </message>
     <message>
         <source>Sort by</source>
-        <translation type="vanished">Ordenar por</translation>
+        <translation>Ordenar por</translation>
     </message>
     <message>
         <source>Sort direction</source>
-        <translation type="vanished">Dirección de ordenación</translation>
+        <translation>Dirección de ordenación</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Filter with</source>
-        <translation type="vanished">Filtrar con</translation>
+        <translation>Filtrar con</translation>
     </message>
     <message>
         <source>Page name</source>
-        <translation type="vanished">Nombre de página</translation>
+        <translation>Nombre de página</translation>
     </message>
     <message>
         <source>Output</source>
-        <translation type="vanished">Salida</translation>
+        <translation>Salida</translation>
     </message>
     <message>
         <source>Single file export when possible</source>
-        <translation type="vanished">Exportación a un solo archivo cuando sea posible</translation>
+        <translation>Exportación a un solo archivo cuando sea posible</translation>
     </message>
     <message>
         <source>Output filename expression</source>
-        <translation type="vanished">Expresión de nombre de archivo de salida</translation>
+        <translation>Expresión de nombre de archivo de salida</translation>
     </message>
 </context>
 <context>
@@ -39747,7 +39747,7 @@ Error del analizador:
     </message>
     <message>
         <source>Add new action</source>
-        <translation type="vanished">Añadir nueva acción</translation>
+        <translation>Añadir nueva acción</translation>
     </message>
     <message>
         <location filename="../src/app/qgsattributeactiondialog.cpp" line="275"/>
@@ -39841,7 +39841,7 @@ Error del analizador:
     </message>
     <message>
         <source>Edit action</source>
-        <translation type="vanished">Editar acción</translation>
+        <translation>Editar acción</translation>
     </message>
 </context>
 <context>
@@ -39898,7 +39898,7 @@ Error del analizador:
     </message>
     <message>
         <source>Show In Attribute Table</source>
-        <translation type="vanished">Mostrar en tabla de atributos</translation>
+        <translation>Mostrar en tabla de atributos</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsattributeactiondialogbase.ui" line="207"/>
@@ -39971,7 +39971,7 @@ Error del analizador:
     </message>
     <message>
         <source>Choose Icon...</source>
-        <translation type="vanished">Eligir icono...</translation>
+        <translation>Eligir icono...</translation>
     </message>
     <message>
         <location filename="../src/app/qgsattributeactionpropertiesdialog.cpp" line="199"/>
@@ -39988,7 +39988,7 @@ Error del analizador:
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="39"/>
@@ -40032,7 +40032,7 @@ Error del analizador:
     </message>
     <message>
         <source>Enter the name of an action here. The name should be unique (qgis will make it unique if necessary).</source>
-        <translation type="vanished">Introduzca el nombre de la acción aquí. El nombre debe ser único (QGIS lo hará único si es necesario).</translation>
+        <translation>Introduzca el nombre de la acción aquí. El nombre debe ser único (QGIS lo hará único si es necesario).</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsattributeactionpropertiesdialogbase.ui" line="23"/>
@@ -40138,7 +40138,7 @@ Error del analizador:
     </message>
     <message>
         <source>Show in attribute table</source>
-        <translation type="vanished">Mostrar en tabla de atributos</translation>
+        <translation>Mostrar en tabla de atributos</translation>
     </message>
 </context>
 <context>
@@ -40158,7 +40158,7 @@ Error del analizador:
     </message>
     <message>
         <source>Multiedit attributes</source>
-        <translation type="vanished">Atributos multiedición</translation>
+        <translation>Atributos multiedición</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsattributeform.cpp" line="133"/>
@@ -40187,7 +40187,7 @@ Error del analizador:
     </message>
     <message>
         <source>Edits will be applied to all selected features</source>
-        <translation type="vanished">Las ediciones se aplicarán a todos los objetos seleccionados</translation>
+        <translation>Las ediciones se aplicarán a todos los objetos seleccionados</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsattributeform.cpp" line="542"/>
@@ -40196,11 +40196,11 @@ Error del analizador:
     </message>
     <message>
         <source>Attribute changes for multiple features applied</source>
-        <translation type="vanished">Aplicados cambios de atributo para múltiples objetos</translation>
+        <translation>Aplicados cambios de atributo para múltiples objetos</translation>
     </message>
     <message>
         <source>Changes could not be applied</source>
-        <translation type="vanished">No se pudieron aplicar los cambios</translation>
+        <translation>No se pudieron aplicar los cambios</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsattributeform.cpp" line="709"/>
@@ -40234,19 +40234,19 @@ Error del analizador:
     </message>
     <message>
         <source>Invalid fields</source>
-        <translation type="vanished">Campos no válidos</translation>
+        <translation>Campos no válidos</translation>
     </message>
     <message>
         <source>Description: </source>
-        <translation type="vanished">Descripción:</translation>
+        <translation>Descripción:</translation>
     </message>
     <message>
         <source>Raw expression: </source>
-        <translation type="vanished">Expresión en bruto:</translation>
+        <translation>Expresión en bruto:</translation>
     </message>
     <message>
         <source>Constraint: </source>
-        <translation type="vanished">Restricción:</translation>
+        <translation>Restricción:</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsattributeform.cpp" line="1349"/>
@@ -40336,7 +40336,7 @@ Error del analizador:
     </message>
     <message>
         <source>The python init function (<code>%1</code>) does not accept three arguments as expected!<br>Please check the function name in the  <b>Fields</b> tab of the layer properties.</source>
-        <translation type="vanished">¡La función init de python (<code>%1</code>) no acepta tres argumentos como se esperaba!<br>Por favor, compruebe el nombre de la función en la pestaña  <b>Campos</b> de las propiedades de la capa.</translation>
+        <translation>¡La función init de python (<code>%1</code>) no acepta tres argumentos como se esperaba!<br>Por favor, compruebe el nombre de la función en la pestaña  <b>Campos</b> de las propiedades de la capa.</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsattributeform.cpp" line="1554"/>
@@ -40348,7 +40348,7 @@ Error del analizador:
     <name>QgsAttributeLoadValues</name>
     <message>
         <source>Load values from layer</source>
-        <translation type="vanished">Cargar valores desde capa</translation>
+        <translation>Cargar valores desde capa</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsattributeloadfrommap.ui" line="14"/>
@@ -40415,30 +40415,30 @@ Error del analizador:
     <name>QgsAttributeSelectionDialog</name>
     <message>
         <source>Ascending</source>
-        <translation type="vanished">Ascendente</translation>
+        <translation>Ascendente</translation>
     </message>
     <message>
         <source>Descending</source>
-        <translation type="vanished">Descendente</translation>
+        <translation>Descendente</translation>
     </message>
 </context>
 <context>
     <name>QgsAttributeSelectionDialogBase</name>
     <message>
         <source>Select attributes</source>
-        <translation type="vanished">Seleccionar atributos</translation>
+        <translation>Seleccionar atributos</translation>
     </message>
     <message>
         <source>Columns</source>
-        <translation type="vanished">Columnas</translation>
+        <translation>Columnas</translation>
     </message>
     <message>
         <source>Reset</source>
-        <translation type="vanished">Restablecer</translation>
+        <translation>Restablecer</translation>
     </message>
     <message>
         <source>Sorting</source>
-        <translation type="vanished">Ordenar</translation>
+        <translation>Ordenar</translation>
     </message>
 </context>
 <context>
@@ -40842,7 +40842,7 @@ Error del analizador:
     </message>
     <message>
         <source>Failed to add field</source>
-        <translation type="vanished">No se pudo añadir el campo</translation>
+        <translation>No se pudo añadir el campo</translation>
     </message>
     <message>
         <location filename="../src/app/qgsattributetabledialog.cpp" line="882"/>
@@ -40890,15 +40890,15 @@ Error del analizador:
     </message>
     <message>
         <source> %1 :: Features total: %2, filtered: %3, selected: %4%5</source>
-        <translation type="vanished"> %1 :: Objetos totales: %2, filtrados: %3, seleccionados: %4%5</translation>
+        <translation> %1 :: Objetos totales: %2, filtrados: %3, seleccionados: %4%5</translation>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <source>Expression based filter</source>
-        <translation type="vanished">Filtro basado en expresión</translation>
+        <translation>Filtro basado en expresión</translation>
     </message>
     <message>
         <location filename="../src/app/qgsattributetabledialog.cpp" line="874"/>
@@ -40942,11 +40942,11 @@ Error del analizador:
     </message>
     <message>
         <source>Show All Features In Initial Canvas Extent</source>
-        <translation type="vanished">Mostrar todos los objetos de la extensión inicial del lienzo</translation>
+        <translation>Mostrar todos los objetos de la extensión inicial del lienzo</translation>
     </message>
     <message>
         <source>, spatially limited</source>
-        <translation type="vanished">, limitado espacialmente</translation>
+        <translation>, limitado espacialmente</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsattributetabledialog.ui" line="469"/>
@@ -41107,15 +41107,15 @@ Error del analizador:
     </message>
     <message>
         <source>Constraint</source>
-        <translation type="vanished">Restricción</translation>
+        <translation>Restricción</translation>
     </message>
     <message>
         <source>Constraint description</source>
-        <translation type="vanished">Descripción de la restricción</translation>
+        <translation>Descripción de la restricción</translation>
     </message>
     <message>
         <source>Edit Widget Properties - %1 (%2)</source>
-        <translation type="vanished">Editar propiedades del control - %1 (%2)</translation>
+        <translation>Editar propiedades del control - %1 (%2)</translation>
     </message>
     <message>
         <location filename="../src/app/qgsattributetypedialog.cpp" line="193"/>
@@ -41208,7 +41208,7 @@ An example is:
 Reference in function name: my_form_open
 
 </source>
-        <translation type="vanished"> 99% match
+        <translation> 99% match
 El código de la función se puede cargar del código fuente introducido en este 
 diálogo, de un archivo externo de python o del entorno (por ejemplo de un 
 complemento o de startup.py).
@@ -41415,7 +41415,7 @@ def my_form_open(dialog, layer, feature):
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/auth/qgsauthauthoritieseditor.ui" line="90"/>
@@ -41505,7 +41505,7 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>Certificate could not found in database for id %1:</source>
-        <translation type="vanished">No se pudo encontrar el certificado en la base de datos para la ID %1:</translation>
+        <translation>No se pudo encontrar el certificado en la base de datos para la ID %1:</translation>
     </message>
     <message>
         <location filename="../src/gui/auth/qgsauthauthoritieseditor.cpp" line="525"/>
@@ -41534,7 +41534,7 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>ERROR removing cert(s) trust policy from authentication database</source>
-        <translation type="vanished">ERROR al eliminar la política de confianza de certificado(s) de la base de datos de autenticación</translation>
+        <translation>ERROR al eliminar la política de confianza de certificado(s) de la base de datos de autenticación</translation>
     </message>
 </context>
 <context>
@@ -42167,7 +42167,7 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -42210,15 +42210,15 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>Add</source>
-        <translation type="vanished">Añadir</translation>
+        <translation>Añadir</translation>
     </message>
     <message>
         <source>Method</source>
-        <translation type="vanished">Método</translation>
+        <translation>Método</translation>
     </message>
     <message>
         <source>Id</source>
-        <translation type="vanished">Id</translation>
+        <translation>Id</translation>
     </message>
     <message>
         <location filename="../src/ui/auth/qgsauthconfigselect.ui" line="56"/>
@@ -42227,7 +42227,7 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>Remove</source>
-        <translation type="vanished">Eliminar</translation>
+        <translation>Eliminar</translation>
     </message>
     <message>
         <location filename="../src/gui/auth/qgsauthconfigselect.cpp" line="78"/>
@@ -42422,7 +42422,7 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>Select identity...</source>
-        <translation type="vanished">Seleccionar identidad...</translation>
+        <translation>Seleccionar identidad...</translation>
     </message>
     <message>
         <location filename="../src/auth/identcert/qgsauthidentcertedit.cpp" line="76"/>
@@ -42482,7 +42482,7 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/auth/qgsauthidentitieseditor.ui" line="133"/>
@@ -42521,11 +42521,11 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>ERROR storing identity bundle in authentication database</source>
-        <translation type="vanished">ERROR al guardar paquete de identidad en la base de datos de autenticación</translation>
+        <translation>ERROR al guardar paquete de identidad en la base de datos de autenticación</translation>
     </message>
     <message>
         <source>Certificate id missing</source>
-        <translation type="vanished">Falta la ID del certificado</translation>
+        <translation>Falta la ID del certificado</translation>
     </message>
     <message>
         <location filename="../src/gui/auth/qgsauthidentitieseditor.cpp" line="341"/>
@@ -42566,7 +42566,7 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/auth/qgsauthimportcertdialog.ui" line="65"/>
@@ -42639,7 +42639,7 @@ Autoridades/Emisores: %1%2</translation>
     </message>
     <message>
         <source>PEM (*.pem);;DER (*.der)</source>
-        <translation type="vanished">PEM (*.pem);;DER (*.der)</translation>
+        <translation>PEM (*.pem);;DER (*.der)</translation>
     </message>
 </context>
 <context>
@@ -42677,7 +42677,7 @@ Autoridades/Emisores: %1%2</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/auth/qgsauthimportidentitydialog.ui" line="144"/>
@@ -42728,7 +42728,7 @@ Autoridades/Emisores: %1%2</translation>
     </message>
     <message>
         <source>PEM (*.pem);;DER (*.der)</source>
-        <translation type="vanished">PEM (*.pem);;DER (*.der)</translation>
+        <translation>PEM (*.pem);;DER (*.der)</translation>
     </message>
     <message>
         <location filename="../src/gui/auth/qgsauthimportidentitydialog.cpp" line="195"/>
@@ -43094,7 +43094,7 @@ Autoridades/Emisores: %1%2</translation>
     </message>
     <message>
         <source>Opening %1 for DELETE  ...</source>
-        <translation type="vanished">Abriendo %1 para BORRADO...</translation>
+        <translation>Abriendo %1 para BORRADO...</translation>
     </message>
     <message>
         <location filename="../src/core/auth/qgsauthmanager.cpp" line="2979"/>
@@ -43103,7 +43103,7 @@ Autoridades/Emisores: %1%2</translation>
     </message>
     <message>
         <source>Opening %1 for READ ...</source>
-        <translation type="vanished">Abriendo %1 para LECTURA...</translation>
+        <translation>Abriendo %1 para LECTURA...</translation>
     </message>
     <message>
         <location filename="../src/core/auth/qgsauthmanager.cpp" line="3011"/>
@@ -43117,7 +43117,7 @@ Autoridades/Emisores: %1%2</translation>
     </message>
     <message>
         <source>Opening %1 for WRITE ...</source>
-        <translation type="vanished">Abriendo %1 para ESCRITURA...</translation>
+        <translation>Abriendo %1 para ESCRITURA...</translation>
     </message>
     <message>
         <location filename="../src/core/auth/qgsauthmanager.cpp" line="3054"/>
@@ -43249,7 +43249,7 @@ Autoridades/Emisores: %1%2</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/auth/pkipkcs12/qgsauthpkcs12edit.ui" line="23"/>
@@ -43375,7 +43375,7 @@ Autoridades/Emisores: %1%2</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/auth/pkipaths/qgsauthpkipathsedit.ui" line="50"/>
@@ -43435,11 +43435,11 @@ Autoridades/Emisores: %1%2</translation>
     </message>
     <message>
         <source>Certificate file has no extension</source>
-        <translation type="vanished">El archivo de certificado no tiene extensión</translation>
+        <translation>El archivo de certificado no tiene extensión</translation>
     </message>
     <message>
         <source>Failed to read certificate file</source>
-        <translation type="vanished">No se pudo leer el archivo de certificado</translation>
+        <translation>No se pudo leer el archivo de certificado</translation>
     </message>
     <message>
         <location filename="../src/auth/pkipaths/qgsauthpkipathsedit.cpp" line="70"/>
@@ -43479,7 +43479,7 @@ Autoridades/Emisores: %1%2</translation>
     </message>
     <message>
         <source>PEM (*.pem);;DER (*.der)</source>
-        <translation type="vanished">PEM (*.pem);;DER (*.der)</translation>
+        <translation>PEM (*.pem);;DER (*.der)</translation>
     </message>
     <message>
         <location filename="../src/auth/pkipaths/qgsauthpkipathsedit.cpp" line="198"/>
@@ -43534,7 +43534,7 @@ Autoridades/Emisores: %1%2</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/gui/auth/qgsauthserverseditor.cpp" line="90"/>
@@ -43580,13 +43580,13 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>Remove SSL Custom Config</source>
-        <translation type="vanished">Eliminar configuración personalizada SSL</translation>
+        <translation>Eliminar configuración personalizada SSL</translation>
     </message>
     <message>
         <source>Are you sure you want to remove the selected SSL custom config from the database?
 
 Operation can NOT be undone!</source>
-        <translation type="vanished">¿Está seguro de que quiere eliminar la configuración personalizada SSL seleccionada de la base de datos?
+        <translation>¿Está seguro de que quiere eliminar la configuración personalizada SSL seleccionada de la base de datos?
 
 ¡No se puede deshacer la operación!</translation>
     </message>
@@ -43816,7 +43816,7 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>Save SSL server exception</source>
-        <translation type="vanished">Guardar excepción SSL del servidor</translation>
+        <translation>Guardar excepción SSL del servidor</translation>
     </message>
     <message>
         <location filename="../src/ui/auth/qgsauthsslerrorsdialog.ui" line="210"/>
@@ -43828,7 +43828,7 @@ Operation can NOT be undone!</source>
     <name>QgsAuthSslImportDialog</name>
     <message>
         <source>Connected to %1:%2</source>
-        <translation type="vanished">Conectado a %1:%2</translation>
+        <translation>Conectado a %1:%2</translation>
     </message>
     <message>
         <location filename="../src/gui/auth/qgsauthsslimportdialog.cpp" line="162"/>
@@ -43882,7 +43882,7 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>PEM (*.pem);;DER (*.der)</source>
-        <translation type="vanished">PEM (*.pem);;DER (*.der)</translation>
+        <translation>PEM (*.pem);;DER (*.der)</translation>
     </message>
     <message>
         <location filename="../src/gui/auth/qgsauthsslimportdialog.cpp" line="401"/>
@@ -43969,7 +43969,7 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -43992,7 +43992,7 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/auth/qgsauthtrustedcasdialog.ui" line="60"/>
@@ -44110,7 +44110,7 @@ Operation can NOT be undone!</source>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <location filename="../src/app/qgsbookmarks.cpp" line="81"/>
@@ -44192,13 +44192,13 @@ Base de datos: %3</translation>
         <source>Unable to create the bookmark.
 Driver:%1
 Database:%2</source>
-        <translation type="vanished">No se puede crear el marcador.
+        <translation>No se puede crear el marcador.
 Controlador: %1
 Base de datos: %2</translation>
     </message>
     <message>
         <source>Really Delete?</source>
-        <translation type="vanished">¿Borrar realmente?</translation>
+        <translation>¿Borrar realmente?</translation>
     </message>
     <message numerus="yes">
         <location filename="../src/app/qgsbookmarks.cpp" line="214"/>
@@ -44211,7 +44211,7 @@ Base de datos: %2</translation>
     </message>
     <message>
         <source>Empty extent</source>
-        <translation type="vanished">Extensión vacía</translation>
+        <translation>Extensión vacía</translation>
     </message>
     <message>
         <location filename="../src/app/qgsbookmarks.cpp" line="257"/>
@@ -44240,7 +44240,7 @@ Base de datos: %2</translation>
     </message>
     <message>
         <source>Empty Extent</source>
-        <translation type="vanished">Extensión vacía</translation>
+        <translation>Extensión vacía</translation>
     </message>
     <message>
         <location filename="../src/app/qgsbookmarks.cpp" line="272"/>
@@ -44265,18 +44265,18 @@ Base de datos: %2</translation>
     </message>
     <message>
         <source>Export bookmarks</source>
-        <translation type="vanished">Exportar marcadores</translation>
+        <translation>Exportar marcadores</translation>
     </message>
     <message>
         <source>XML files( *.xml *.XML )</source>
-        <translation type="vanished">Archivos XML (*.xml *.XML)</translation>
+        <translation>Archivos XML (*.xml *.XML)</translation>
     </message>
 </context>
 <context>
     <name>QgsBookmarksBase</name>
     <message>
         <source>Spatial Bookmarks Panel</source>
-        <translation type="vanished">Panel de marcadores espaciales</translation>
+        <translation>Panel de marcadores espaciales</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsbookmarksbase.ui" line="14"/>
@@ -44318,82 +44318,82 @@ Base de datos: %2</translation>
     <name>QgsBrowser</name>
     <message>
         <source>WMS</source>
-        <translation type="vanished">WMS</translation>
+        <translation>WMS</translation>
     </message>
     <message>
         <source>Cannot get WMS select dialog from provider.</source>
-        <translation type="vanished">No se puede obtener el diálogo de selección de WMS del proveedor.</translation>
+        <translation>No se puede obtener el diálogo de selección de WMS del proveedor.</translation>
     </message>
     <message>
         <source>CRS</source>
-        <translation type="vanished">SRC</translation>
+        <translation>SRC</translation>
     </message>
     <message>
         <source>Cannot set layer CRS</source>
-        <translation type="vanished">No se puede establecer el SRC de la capa</translation>
+        <translation>No se puede establecer el SRC de la capa</translation>
     </message>
 </context>
 <context>
     <name>QgsBrowserBase</name>
     <message>
         <source>QGIS Browser</source>
-        <translation type="vanished">Navegador QGIS</translation>
+        <translation>Navegador QGIS</translation>
     </message>
     <message>
         <source>Param</source>
-        <translation type="vanished">Parámetro</translation>
+        <translation>Parámetro</translation>
     </message>
     <message>
         <source>Metadata</source>
-        <translation type="vanished">Metadatos</translation>
+        <translation>Metadatos</translation>
     </message>
     <message>
         <source>Preview</source>
-        <translation type="vanished">Vista previa</translation>
+        <translation>Vista previa</translation>
     </message>
     <message>
         <source>Stop rendering</source>
-        <translation type="vanished">Detener renderizado</translation>
+        <translation>Detener renderizado</translation>
     </message>
     <message>
         <source>Attributes</source>
-        <translation type="vanished">Atributos</translation>
+        <translation>Atributos</translation>
     </message>
     <message>
         <source>toolBar</source>
-        <translation type="vanished">Barra de herramientas</translation>
+        <translation>Barra de herramientas</translation>
     </message>
     <message>
         <source>New Shapefile</source>
-        <translation type="vanished">Nuevo archivo shape</translation>
+        <translation>Nuevo archivo shape</translation>
     </message>
     <message>
         <source>Ctrl+Shift+N</source>
-        <translation type="vanished">Ctrl+Shift+N</translation>
+        <translation>Ctrl+Shift+N</translation>
     </message>
     <message>
         <source>Refresh</source>
-        <translation type="vanished">Actualizar</translation>
+        <translation>Actualizar</translation>
     </message>
     <message>
         <source>F5</source>
-        <translation type="vanished">F5</translation>
+        <translation>F5</translation>
     </message>
     <message>
         <source>Set layer CRS</source>
-        <translation type="vanished">Establecer SRC de la capa</translation>
+        <translation>Establecer SRC de la capa</translation>
     </message>
     <message>
         <source>Manage WMS</source>
-        <translation type="vanished">Administrar WMS</translation>
+        <translation>Administrar WMS</translation>
     </message>
     <message>
         <source>Manage WMS Connections</source>
-        <translation type="vanished">Administrar conexiones WMS</translation>
+        <translation>Administrar conexiones WMS</translation>
     </message>
     <message>
         <source>Ctrl+Shift+W</source>
-        <translation type="vanished">Ctrl+Mayúsculas+W</translation>
+        <translation>Ctrl+Mayúsculas+W</translation>
     </message>
 </context>
 <context>
@@ -44479,15 +44479,15 @@ Base de datos: %2</translation>
     </message>
     <message>
         <source>Add as a Favourite</source>
-        <translation type="vanished">Añadir como favorito</translation>
+        <translation>Añadir como favorito</translation>
     </message>
     <message>
         <source>Remove Favourite</source>
-        <translation type="vanished">Eliminar favorito</translation>
+        <translation>Eliminar favorito</translation>
     </message>
     <message>
         <source>Properties...</source>
-        <translation type="vanished">Propiedades...</translation>
+        <translation>Propiedades...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsbrowserdockwidget.cpp" line="218"/>
@@ -44506,23 +44506,23 @@ Base de datos: %2</translation>
     </message>
     <message>
         <source>Add a Directory...</source>
-        <translation type="vanished">Añadir un directorio...</translation>
+        <translation>Añadir un directorio...</translation>
     </message>
     <message>
         <source>Add Layer</source>
-        <translation type="vanished">Añadir capa</translation>
+        <translation>Añadir capa</translation>
     </message>
     <message>
         <source>Type here to filter visible items...</source>
-        <translation type="vanished">Escriba aquí para filtrar elementos visibles...</translation>
+        <translation>Escriba aquí para filtrar elementos visibles...</translation>
     </message>
     <message>
         <source>Add Selected Layers</source>
-        <translation type="vanished">Añadir capas seleccionadas</translation>
+        <translation>Añadir capas seleccionadas</translation>
     </message>
     <message>
         <source>Add directory to favourites</source>
-        <translation type="vanished">Añadir directorio como favorito</translation>
+        <translation>Añadir directorio como favorito</translation>
     </message>
 </context>
 <context>
@@ -44626,7 +44626,7 @@ Base de datos: %2</translation>
     <name>QgsBrowserModel</name>
     <message>
         <source>Project home</source>
-        <translation type="vanished">Inicio del proyecto</translation>
+        <translation>Inicio del proyecto</translation>
     </message>
     <message>
         <location filename="../src/core/qgsbrowsermodel.cpp" line="72"/>
@@ -44645,7 +44645,7 @@ Base de datos: %2</translation>
     </message>
     <message>
         <source>Favourites</source>
-        <translation type="vanished">Favoritos</translation>
+        <translation>Favoritos</translation>
     </message>
 </context>
 <context>
@@ -44800,142 +44800,142 @@ Base de datos: %2</translation>
     <name>QgsCategorizedSymbolRendererV2Model</name>
     <message>
         <source>Symbol</source>
-        <translation type="vanished">Símbolo</translation>
+        <translation>Símbolo</translation>
     </message>
     <message>
         <source>Value</source>
-        <translation type="vanished">Valor</translation>
+        <translation>Valor</translation>
     </message>
     <message>
         <source>Legend</source>
-        <translation type="vanished">Leyenda</translation>
+        <translation>Leyenda</translation>
     </message>
 </context>
 <context>
     <name>QgsCategorizedSymbolRendererV2Widget</name>
     <message>
         <source>Column</source>
-        <translation type="vanished">Columna</translation>
+        <translation>Columna</translation>
     </message>
     <message>
         <source>Symbol</source>
-        <translation type="vanished">Símbolo</translation>
+        <translation>Símbolo</translation>
     </message>
     <message>
         <source>Change...</source>
-        <translation type="vanished">Cambiar...</translation>
+        <translation>Cambiar...</translation>
     </message>
     <message>
         <source>Color ramp</source>
-        <translation type="vanished">Rampa de color</translation>
+        <translation>Rampa de color</translation>
     </message>
     <message>
         <source>Edit</source>
-        <translation type="vanished">Editar</translation>
+        <translation>Editar</translation>
     </message>
     <message>
         <source>Invert</source>
-        <translation type="vanished">Invertir</translation>
+        <translation>Invertir</translation>
     </message>
     <message>
         <source>Classify</source>
-        <translation type="vanished">Clasificar</translation>
+        <translation>Clasificar</translation>
     </message>
     <message>
         <source>Add</source>
-        <translation type="vanished">Añadir</translation>
+        <translation>Añadir</translation>
     </message>
     <message>
         <source>Delete</source>
-        <translation type="vanished">Borrar</translation>
+        <translation>Borrar</translation>
     </message>
     <message>
         <source>Delete all</source>
-        <translation type="vanished">Borrar todo</translation>
+        <translation>Borrar todo</translation>
     </message>
     <message>
         <source>Advanced</source>
-        <translation type="vanished">Avanzado</translation>
+        <translation>Avanzado</translation>
     </message>
     <message>
         <source>Symbol levels...</source>
-        <translation type="vanished">Niveles de símbolos...</translation>
+        <translation>Niveles de símbolos...</translation>
     </message>
     <message>
         <source>High number of classes!</source>
-        <translation type="vanished">Elevado número de clases!</translation>
+        <translation>Elevado número de clases!</translation>
     </message>
     <message>
         <source>Classification would yield %1 entries which might not be expected. Continue?</source>
-        <translation type="vanished">La clasificación arrojaría %1 entradas, que puede no ser lo esperado. ¿Continuar?</translation>
+        <translation>La clasificación arrojaría %1 entradas, que puede no ser lo esperado. ¿Continuar?</translation>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <source>Match to saved symbols</source>
-        <translation type="vanished">Emparejar a símbolos guardados</translation>
+        <translation>Emparejar a símbolos guardados</translation>
     </message>
     <message>
         <source>Match to symbols from file...</source>
-        <translation type="vanished">Emparejar a símbolos a partir de archivo...</translation>
+        <translation>Emparejar a símbolos a partir de archivo...</translation>
     </message>
     <message>
         <source>There are no available color ramps. You can add them in Style Manager.</source>
-        <translation type="vanished">No hay rampas de color disponibles. Puede añadirlas en el Administrador de estilos.</translation>
+        <translation>No hay rampas de color disponibles. Puede añadirlas en el Administrador de estilos.</translation>
     </message>
     <message>
         <source>The selected color ramp is not available.</source>
-        <translation type="vanished">La rampa de color seleccionada no está disponible.</translation>
+        <translation>La rampa de color seleccionada no está disponible.</translation>
     </message>
     <message>
         <source>Confirm Delete</source>
-        <translation type="vanished">Confirmar borrado</translation>
+        <translation>Confirmar borrado</translation>
     </message>
     <message>
         <source>The classification field was changed from '%1' to '%2'.
 Should the existing classes be deleted before classification?</source>
-        <translation type="vanished">El campo de clasificación se cambió de '%1' a '%2'.
+        <translation>El campo de clasificación se cambió de '%1' a '%2'.
 ¿Deben borrarse las clases existentes antes de la clasificación?</translation>
     </message>
     <message>
         <source>Matched symbols</source>
-        <translation type="vanished">Símbolos emparejados</translation>
+        <translation>Símbolos emparejados</translation>
     </message>
     <message>
         <source>Matched %1 categories to symbols.</source>
-        <translation type="vanished">%1 categorías emparejadas a símbolos.</translation>
+        <translation>%1 categorías emparejadas a símbolos.</translation>
     </message>
     <message>
         <source>No categories could be matched to symbols in library.</source>
-        <translation type="vanished">No se pudo emparejar ninguna categoría a los símbolos de la biblioteca.</translation>
+        <translation>No se pudo emparejar ninguna categoría a los símbolos de la biblioteca.</translation>
     </message>
     <message>
         <source>Match to symbols from file</source>
-        <translation type="vanished">Emparejar a símbolos a partir de archivo</translation>
+        <translation>Emparejar a símbolos a partir de archivo</translation>
     </message>
     <message>
         <source>XML files (*.xml *XML)</source>
-        <translation type="vanished">Archivos XML (*.xml *.XML)</translation>
+        <translation>Archivos XML (*.xml *.XML)</translation>
     </message>
     <message>
         <source>Matching error</source>
-        <translation type="vanished">Error de emparejamiento</translation>
+        <translation>Error de emparejamiento</translation>
     </message>
     <message>
         <source>An error occurred reading file:
 %1</source>
-        <translation type="vanished">Ocurrió un error al leer el archivo:
+        <translation>Ocurrió un error al leer el archivo:
 %1</translation>
     </message>
     <message>
         <source>Matched %1 categories to symbols from file.</source>
-        <translation type="vanished">Emparejadas %1 categorías a símbolos a partir de archivo.</translation>
+        <translation>Emparejadas %1 categorías a símbolos a partir de archivo.</translation>
     </message>
     <message>
         <source>No categories could be matched to symbols in file.</source>
-        <translation type="vanished">No se pudo emparejar ninguna categoría a los símbolos del archivo.</translation>
+        <translation>No se pudo emparejar ninguna categoría a los símbolos del archivo.</translation>
     </message>
 </context>
 <context>
@@ -44992,15 +44992,15 @@ Should the existing classes be deleted before classification?</source>
     </message>
     <message>
         <source>Match to symbols from file...</source>
-        <translation type="vanished">Emparejar a símbolos a partir de archivo...</translation>
+        <translation>Emparejar a símbolos a partir de archivo...</translation>
     </message>
     <message>
         <source>Symbol levels...</source>
-        <translation type="vanished">Niveles de símbolos...</translation>
+        <translation>Niveles de símbolos...</translation>
     </message>
     <message>
         <source>Data-defined size legend...</source>
-        <translation type="vanished">Tamaño de leyenda definido por datos...</translation>
+        <translation>Tamaño de leyenda definido por datos...</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgscategorizedsymbolrendererwidget.cpp" line="468"/>
@@ -45019,15 +45019,15 @@ Should the existing classes be deleted before classification?</source>
     </message>
     <message>
         <source>High number of classes!</source>
-        <translation type="vanished">Elevado número de clases!</translation>
+        <translation>Elevado número de clases!</translation>
     </message>
     <message>
         <source>Classification would yield %1 entries which might not be expected. Continue?</source>
-        <translation type="vanished">La clasificación arrojaría %1 entradas, que puede no ser lo esperado. ¿Continuar?</translation>
+        <translation>La clasificación arrojaría %1 entradas, que puede no ser lo esperado. ¿Continuar?</translation>
     </message>
     <message>
         <source>Confirm Delete</source>
-        <translation type="vanished">Confirmar borrado</translation>
+        <translation>Confirmar borrado</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgscategorizedsymbolrendererwidget.cpp" line="661"/>
@@ -45077,7 +45077,7 @@ Should the existing classes be deleted before classification?</source>
     </message>
     <message>
         <source>Match to symbols from file</source>
-        <translation type="vanished">Emparejar a símbolos a partir de archivo</translation>
+        <translation>Emparejar a símbolos a partir de archivo</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgscategorizedsymbolrendererwidget.cpp" line="914"/>
@@ -45086,7 +45086,7 @@ Should the existing classes be deleted before classification?</source>
     </message>
     <message>
         <source>Matching Error</source>
-        <translation type="vanished">Error de emparejamiento</translation>
+        <translation>Error de emparejamiento</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgscategorizedsymbolrendererwidget.cpp" line="927"/>
@@ -45120,7 +45120,7 @@ Should the existing classes be deleted before classification?</source>
     </message>
     <message>
         <source>Font:</source>
-        <translation type="vanished">Fuente:</translation>
+        <translation>Fuente:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscharacterselectdialogbase.ui" line="41"/>
@@ -45292,7 +45292,7 @@ Should the existing classes be deleted before classification?</source>
     </message>
     <message>
         <source>Choose color...</source>
-        <translation type="vanished">Seleccionar color...</translation>
+        <translation>Seleccionar color...</translation>
     </message>
 </context>
 <context>
@@ -45307,42 +45307,42 @@ Should the existing classes be deleted before classification?</source>
     <name>QgsColorButtonV2</name>
     <message>
         <source>Select Color</source>
-        <translation type="vanished">Seleccionar color</translation>
+        <translation>Seleccionar color</translation>
     </message>
     <message>
         <source>No color</source>
-        <translation type="vanished">Sin color</translation>
+        <translation>Sin color</translation>
     </message>
     <message>
         <source>Clear color</source>
-        <translation type="vanished">Limpiar color</translation>
+        <translation>Limpiar color</translation>
     </message>
     <message>
         <source>Default color</source>
-        <translation type="vanished">Color predeterminado</translation>
+        <translation>Color predeterminado</translation>
     </message>
     <message>
         <source>Copy color</source>
-        <translation type="vanished">Copiar color</translation>
+        <translation>Copiar color</translation>
     </message>
     <message>
         <source>Paste color</source>
-        <translation type="vanished">Pegar color</translation>
+        <translation>Pegar color</translation>
     </message>
     <message>
         <source>Pick color</source>
-        <translation type="vanished">Capturar color</translation>
+        <translation>Capturar color</translation>
     </message>
     <message>
         <source>Choose color...</source>
-        <translation type="vanished">Seleccionar color...</translation>
+        <translation>Seleccionar color...</translation>
     </message>
 </context>
 <context>
     <name>QgsColorButtonV2Plugin</name>
     <message>
         <source>Select color</source>
-        <translation type="vanished">Seleccionar color</translation>
+        <translation>Seleccionar color</translation>
     </message>
 </context>
 <context>
@@ -45363,7 +45363,7 @@ Should the existing classes be deleted before classification?</source>
     <name>QgsColorDialogBase</name>
     <message>
         <source>Color picker</source>
-        <translation type="vanished">Selector de color</translation>
+        <translation>Selector de color</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscolordialog.ui" line="14"/>
@@ -45445,11 +45445,11 @@ Should the existing classes be deleted before classification?</source>
     <name>QgsColorDialogV2</name>
     <message>
         <source>Reset</source>
-        <translation type="vanished">Restablecer</translation>
+        <translation>Restablecer</translation>
     </message>
     <message>
         <source>Select Color</source>
-        <translation type="vanished">Seleccionar color</translation>
+        <translation>Seleccionar color</translation>
     </message>
 </context>
 <context>
@@ -45489,7 +45489,7 @@ Should the existing classes be deleted before classification?</source>
     </message>
     <message>
         <source>Edit ramp</source>
-        <translation type="vanished">Editar rampa</translation>
+        <translation>Editar rampa</translation>
     </message>
     <message>
         <location filename="../src/gui/qgscolorrampbutton.cpp" line="104"/>
@@ -45525,15 +45525,15 @@ Should the existing classes be deleted before classification?</source>
     </message>
     <message>
         <source>Create new color ramp...</source>
-        <translation type="vanished">Crear nueva rampa de color...</translation>
+        <translation>Crear nueva rampa de color...</translation>
     </message>
     <message>
         <source>Edit color ramp...</source>
-        <translation type="vanished">Editar rampa de color...</translation>
+        <translation>Editar rampa de color...</translation>
     </message>
     <message>
         <source>Save color ramp...</source>
-        <translation type="vanished">Guardar rampa de color...</translation>
+        <translation>Guardar rampa de color...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgscolorrampbutton.cpp" line="312"/>
@@ -45599,7 +45599,7 @@ Should the existing classes be deleted before classification?</source>
     </message>
     <message>
         <source>Save color ramp</source>
-        <translation type="vanished">Guardar rampa de color</translation>
+        <translation>Guardar rampa de color</translation>
     </message>
     <message>
         <location filename="../src/gui/qgscolorrampbutton.cpp" line="404"/>
@@ -45611,26 +45611,26 @@ Should the existing classes be deleted before classification?</source>
     <name>QgsColorRampComboBox</name>
     <message>
         <source>New color ramp...</source>
-        <translation type="vanished">Nueva rampa de color...</translation>
+        <translation>Nueva rampa de color...</translation>
     </message>
 </context>
 <context>
     <name>QgsColorSchemeList</name>
     <message>
         <source>Select palette file</source>
-        <translation type="vanished">Seleccionar archivo de paleta</translation>
+        <translation>Seleccionar archivo de paleta</translation>
     </message>
     <message>
         <source>Invalid file</source>
-        <translation type="vanished">Archivo no válido</translation>
+        <translation>Archivo no válido</translation>
     </message>
     <message>
         <source>Error, file does not exist or is not readable</source>
-        <translation type="vanished">Error, el archivo no existe o no se puede leer</translation>
+        <translation>Error, el archivo no existe o no se puede leer</translation>
     </message>
     <message>
         <source>Error, no colors found in palette file</source>
-        <translation type="vanished">Error, no se han encontrado colores en el archivo de paleta</translation>
+        <translation>Error, no se han encontrado colores en el archivo de paleta</translation>
     </message>
     <message>
         <location filename="../src/gui/qgscolorschemelist.cpp" line="141"/>
@@ -45670,11 +45670,11 @@ Should the existing classes be deleted before classification?</source>
     </message>
     <message>
         <source>Error exporting</source>
-        <translation type="vanished">Error al exportar</translation>
+        <translation>Error al exportar</translation>
     </message>
     <message>
         <source>Error writing palette file</source>
-        <translation type="vanished">Error al escribir el archivo de paleta</translation>
+        <translation>Error al escribir el archivo de paleta</translation>
     </message>
 </context>
 <context>
@@ -45791,5338 +45791,5338 @@ Should the existing classes be deleted before classification?</source>
     <name>QgsComposer</name>
     <message>
         <source>Close</source>
-        <translation type="vanished">Cerrar</translation>
+        <translation>Cerrar</translation>
     </message>
     <message>
         <source>QGIS</source>
-        <translation type="vanished">QGIS</translation>
+        <translation>QGIS</translation>
     </message>
     <message>
         <source>&Composer</source>
-        <translation type="vanished">&Diseñador</translation>
+        <translation>&Diseñador</translation>
     </message>
     <message>
         <source>Print &Composers</source>
-        <translation type="vanished">&Diseñadores de impresión</translation>
+        <translation>&Diseñadores de impresión</translation>
     </message>
     <message>
         <source>&Edit</source>
-        <translation type="vanished">&Editar</translation>
+        <translation>&Editar</translation>
     </message>
     <message>
         <source>&Normal</source>
-        <translation type="vanished">&Normal</translation>
+        <translation>&Normal</translation>
     </message>
     <message>
         <source>Simulate Photocopy (&Grayscale)</source>
-        <translation type="vanished">Simular fotocopia (escala de &grises)</translation>
+        <translation>Simular fotocopia (escala de &grises)</translation>
     </message>
     <message>
         <source>Simulate Fax (&Mono)</source>
-        <translation type="vanished">Simular fax (&mono)</translation>
+        <translation>Simular fax (&mono)</translation>
     </message>
     <message>
         <source>Simulate Color Blindness (&Protanope)</source>
-        <translation type="vanished">Simular falta de color (&Protanope)</translation>
+        <translation>Simular falta de color (&Protanope)</translation>
     </message>
     <message>
         <source>Simulate Color Blindness (&Deuteranope)</source>
-        <translation type="vanished">Simular falta de color (&Deuteranope)</translation>
+        <translation>Simular falta de color (&Deuteranope)</translation>
     </message>
     <message>
         <source>&View</source>
-        <translation type="vanished">&Ver</translation>
+        <translation>&Ver</translation>
     </message>
     <message>
         <source>P&anels</source>
-        <translation type="vanished">P&aneles</translation>
+        <translation>P&aneles</translation>
     </message>
     <message>
         <source>&Toolbars</source>
-        <translation type="vanished">Barras de herramien&tas</translation>
+        <translation>Barras de herramien&tas</translation>
     </message>
     <message>
         <source>&Layout</source>
-        <translation type="vanished">Di&seño</translation>
+        <translation>Di&seño</translation>
     </message>
     <message>
         <source>&Atlas</source>
-        <translation type="vanished">&Atlas</translation>
+        <translation>&Atlas</translation>
     </message>
     <message>
         <source>&Settings</source>
-        <translation type="vanished">Con&figuración</translation>
+        <translation>Con&figuración</translation>
     </message>
     <message>
         <source>Save composition as</source>
-        <translation type="vanished">Guardar composición como</translation>
+        <translation>Guardar composición como</translation>
     </message>
     <message>
         <source>Export atlas to directory</source>
-        <translation type="vanished">Exportar atlas a directorio</translation>
+        <translation>Exportar atlas a directorio</translation>
     </message>
     <message>
         <source>Composer</source>
-        <translation type="vanished">Diseñador</translation>
+        <translation>Diseñador</translation>
     </message>
     <message>
         <source>Cu&t</source>
-        <translation type="vanished">C&ortar</translation>
+        <translation>C&ortar</translation>
     </message>
     <message>
         <source>Add Shape</source>
-        <translation type="vanished">Añadir figura geométrica</translation>
+        <translation>Añadir figura geométrica</translation>
     </message>
     <message>
         <source>Add Nodes item</source>
-        <translation type="vanished">Añadir elemento de nodos</translation>
+        <translation>Añadir elemento de nodos</translation>
     </message>
     <message>
         <source>Cut</source>
-        <translation type="vanished">Cortar</translation>
+        <translation>Cortar</translation>
     </message>
     <message>
         <source>&Copy</source>
-        <translation type="vanished">&Copiar</translation>
+        <translation>&Copiar</translation>
     </message>
     <message>
         <source>Copy</source>
-        <translation type="vanished">Copiar</translation>
+        <translation>Copiar</translation>
     </message>
     <message>
         <source>&Paste</source>
-        <translation type="vanished">&Pegar</translation>
+        <translation>&Pegar</translation>
     </message>
     <message>
         <source>Paste</source>
-        <translation type="vanished">Pegar</translation>
+        <translation>Pegar</translation>
     </message>
     <message>
         <source>Normal</source>
-        <translation type="vanished">Normal</translation>
+        <translation>Normal</translation>
     </message>
     <message>
         <source>Simulate photocopy (grayscale)</source>
-        <translation type="vanished">Simular fotocopia (escala de grises)</translation>
+        <translation>Simular fotocopia (escala de grises)</translation>
     </message>
     <message>
         <source>Simulate fax (mono)</source>
-        <translation type="vanished">Simular fax (mono)</translation>
+        <translation>Simular fax (mono)</translation>
     </message>
     <message>
         <source>Simulate color blindness (Protanope)</source>
-        <translation type="vanished">Simular falta de color (protanope)</translation>
+        <translation>Simular falta de color (protanope)</translation>
     </message>
     <message>
         <source>Simulate color blindness (Deuteranope)</source>
-        <translation type="vanished">Simular falta de color (deuteranope)</translation>
+        <translation>Simular falta de color (deuteranope)</translation>
     </message>
     <message>
         <source>Window</source>
-        <translation type="vanished">Ventana</translation>
+        <translation>Ventana</translation>
     </message>
     <message>
         <source>Help</source>
-        <translation type="vanished">Ayuda</translation>
+        <translation>Ayuda</translation>
     </message>
     <message>
         <source>%1%</source>
-        <translation type="vanished">%1%</translation>
+        <translation>%1%</translation>
     </message>
     <message>
         <source>Composition</source>
-        <translation type="vanished">Diseño</translation>
+        <translation>Diseño</translation>
     </message>
     <message>
         <source>Item properties</source>
-        <translation type="vanished">Propiedades del elemento</translation>
+        <translation>Propiedades del elemento</translation>
     </message>
     <message>
         <source>Command history</source>
-        <translation type="vanished">Historial de órdenes</translation>
+        <translation>Historial de órdenes</translation>
     </message>
     <message>
         <source>Atlas generation</source>
-        <translation type="vanished">Generación de atlas</translation>
+        <translation>Generación de atlas</translation>
     </message>
     <message>
         <source>Items</source>
-        <translation type="vanished">Elementos</translation>
+        <translation>Elementos</translation>
     </message>
     <message>
         <source>Set as atlas feature for %1</source>
-        <translation type="vanished">Establecer como objeto de atlas para %1</translation>
+        <translation>Establecer como objeto de atlas para %1</translation>
     </message>
     <message>
         <source>x: %1 mm</source>
-        <translation type="vanished">x: %1 mm</translation>
+        <translation>x: %1 mm</translation>
     </message>
     <message>
         <source>y: %1 mm</source>
-        <translation type="vanished">y: %1 mm</translation>
+        <translation>y: %1 mm</translation>
     </message>
     <message>
         <source>page: %3</source>
-        <translation type="vanished">página: %3</translation>
+        <translation>página: %3</translation>
     </message>
     <message>
         <source>Enable atlas preview</source>
-        <translation type="vanished">Habilitar previsualización de atlas</translation>
+        <translation>Habilitar previsualización de atlas</translation>
     </message>
     <message>
         <source>Atlas in not currently enabled for this composition!</source>
-        <translation type="vanished">¡Atlas no está activado actualmente para esta composición!</translation>
+        <translation>¡Atlas no está activado actualmente para esta composición!</translation>
     </message>
     <message>
         <source>No matching atlas features found!</source>
-        <translation type="vanished">¡Ningún objeto espacial de atlas coincidente!</translation>
+        <translation>¡Ningún objeto espacial de atlas coincidente!</translation>
     </message>
     <message>
         <source>PDF Format</source>
-        <translation type="vanished">Formato PDF</translation>
+        <translation>Formato PDF</translation>
     </message>
     <message>
         <source>Empty filename pattern</source>
-        <translation type="vanished">Patrón de nombre de archivo vacío</translation>
+        <translation>Patrón de nombre de archivo vacío</translation>
     </message>
     <message>
         <source>The filename pattern is empty. A default one will be used.</source>
-        <translation type="vanished">El patrón de nombre de archivo está vacío. Se usará un predeterminado.</translation>
+        <translation>El patrón de nombre de archivo está vacío. Se usará un predeterminado.</translation>
     </message>
     <message>
         <source>Unable to write into the directory</source>
-        <translation type="vanished">No se puede escribir en el directorio</translation>
+        <translation>No se puede escribir en el directorio</translation>
     </message>
     <message>
         <source>Atlas processing error</source>
-        <translation type="vanished">Error al procesar atlas</translation>
+        <translation>Error al procesar atlas</translation>
     </message>
     <message>
         <source>Feature filter parser error: %1</source>
-        <translation type="vanished">Error del analizador de filtros de objetos espaciales: %1</translation>
+        <translation>Error del analizador de filtros de objetos espaciales: %1</translation>
     </message>
     <message>
         <source>Error creating %1.</source>
-        <translation type="vanished">Error al crear %1.</translation>
+        <translation>Error al crear %1.</translation>
     </message>
     <message>
         <source>Rendering maps...</source>
-        <translation type="vanished">Renderizando mapas...</translation>
+        <translation>Renderizando mapas...</translation>
     </message>
     <message>
         <source>Abort</source>
-        <translation type="vanished">Abortar</translation>
+        <translation>Abortar</translation>
     </message>
     <message>
         <source>Exporting atlas</source>
-        <translation type="vanished">Exportando atlas</translation>
+        <translation>Exportando atlas</translation>
     </message>
     <message>
         <source>Big image</source>
-        <translation type="vanished">Imagen grande</translation>
+        <translation>Imagen grande</translation>
     </message>
     <message>
         <source>To create image %1x%2 requires about %3 MB of memory. Proceed?</source>
-        <translation type="vanished">Para crear una imagen %1x%2 se necesitan cerca de %3 MB de memoria. ¿Proceder?</translation>
+        <translation>Para crear una imagen %1x%2 se necesitan cerca de %3 MB de memoria. ¿Proceder?</translation>
     </message>
     <message>
         <source>Memory Allocation Error</source>
-        <translation type="vanished">Error de asignación de memoria</translation>
+        <translation>Error de asignación de memoria</translation>
     </message>
     <message>
         <source>Trying to create image #%1( %2x%3 @ %4dpi ) may result in a memory overflow.
 Please try a lower resolution or a smaller papersize</source>
-        <translation type="vanished">Intentar crear una imagen #%1 ( %2x%3 @ %4ppp ) puede resultar en un desbordamiento de memoria.
+        <translation>Intentar crear una imagen #%1 ( %2x%3 @ %4ppp ) puede resultar en un desbordamiento de memoria.
 Por favor, pruebe una resolución menor o un tamaño de papel más pequeño.</translation>
     </message>
     <message>
         <source>Image export error</source>
-        <translation type="vanished">Error de exportación de imagen</translation>
+        <translation>Error de exportación de imagen</translation>
     </message>
     <message>
         <source>Image format: </source>
-        <translation type="vanished">Formato de imagen: </translation>
+        <translation>Formato de imagen: </translation>
     </message>
     <message>
         <source>SVG warning</source>
-        <translation type="vanished">Aviso de SVG</translation>
+        <translation>Aviso de SVG</translation>
     </message>
     <message>
         <source>Don't show this message again</source>
-        <translation type="vanished">No volver a mostrar este mensaje</translation>
+        <translation>No volver a mostrar este mensaje</translation>
     </message>
     <message>
         <source><p>The SVG export function in QGIS has several problems due to bugs and deficiencies in the </source>
-        <translation type="vanished"><p>La función de exportación de SVG en QGIS tiene varios problemas debido a errores y deficiencias en el </translation>
+        <translation><p>La función de exportación de SVG en QGIS tiene varios problemas debido a errores y deficiencias en el </translation>
     </message>
     <message>
         <source>Qt4 svg code. In particular, there are problems with layers not being clipped to the map bounding box.</p></source>
-        <translation type="vanished">código svg de Qt4. En particular, hay problemas con las capas que no son cortadas por el recuadro del mapa.</p></translation>
+        <translation>código svg de Qt4. En particular, hay problemas con las capas que no son cortadas por el recuadro del mapa.</p></translation>
     </message>
     <message>
         <source>If you require a vector-based output file from Qgis it is suggested that you try printing to PostScript if the SVG output is not satisfactory.</p></source>
-        <translation type="vanished">Si necesita obtener de QGIS un archivo de salida de base vectorial, se sugiere que prube a imprimir a PostScript si la salida SVG no es satisfactoria.</p></translation>
+        <translation>Si necesita obtener de QGIS un archivo de salida de base vectorial, se sugiere que prube a imprimir a PostScript si la salida SVG no es satisfactoria.</p></translation>
     </message>
     <message>
         <source>SVG Format</source>
-        <translation type="vanished">Formato SVG</translation>
+        <translation>Formato SVG</translation>
     </message>
     <message>
         <source>SVG export error</source>
-        <translation type="vanished">Error de exportación SVG</translation>
+        <translation>Error de exportación SVG</translation>
     </message>
     <message>
         <source> on page </source>
-        <translation type="vanished"> en la página </translation>
+        <translation> en la página </translation>
     </message>
     <message>
         <source>SVG error</source>
-        <translation type="vanished">Error de SVG</translation>
+        <translation>Error de SVG</translation>
     </message>
     <message>
         <source>There was an error in SVG output for SVG layer </source>
-        <translation type="vanished">Hubo un error en la salida SVG para la capa SVG </translation>
+        <translation>Hubo un error en la salida SVG para la capa SVG </translation>
     </message>
     <message>
         <source> copy</source>
-        <translation type="vanished"> copiar</translation>
+        <translation> copiar</translation>
     </message>
     <message>
         <source>Duplicating composer...</source>
-        <translation type="vanished">Duplicando diseñador...</translation>
+        <translation>Duplicando diseñador...</translation>
     </message>
     <message>
         <source>Duplicate Composer</source>
-        <translation type="vanished">Duplicar diseñador</translation>
+        <translation>Duplicar diseñador</translation>
     </message>
     <message>
         <source>Composer duplication failed.</source>
-        <translation type="vanished">Falló la duplicación del diseñador</translation>
+        <translation>Falló la duplicación del diseñador</translation>
     </message>
     <message>
         <source>Save template</source>
-        <translation type="vanished">Guardar plantilla</translation>
+        <translation>Guardar plantilla</translation>
     </message>
     <message>
         <source>Composer templates</source>
-        <translation type="vanished">Plantillas del diseñador</translation>
+        <translation>Plantillas del diseñador</translation>
     </message>
     <message>
         <source>Save error</source>
-        <translation type="vanished">Error al guardar</translation>
+        <translation>Error al guardar</translation>
     </message>
     <message>
         <source>Error, could not save file</source>
-        <translation type="vanished">Error, no se pudo guardar el archivo</translation>
+        <translation>Error, no se pudo guardar el archivo</translation>
     </message>
     <message>
         <source>Load template</source>
-        <translation type="vanished">Cargar plantilla</translation>
+        <translation>Cargar plantilla</translation>
     </message>
     <message>
         <source>Read error</source>
-        <translation type="vanished">Error de lectura</translation>
+        <translation>Error de lectura</translation>
     </message>
     <message>
         <source>Error, could not read file</source>
-        <translation type="vanished">Error, no se pudo leer el archivo</translation>
+        <translation>Error, no se pudo leer el archivo</translation>
     </message>
     <message>
         <source>Loading template into composer...</source>
-        <translation type="vanished">Cargando plantilla en el diseñador...</translation>
+        <translation>Cargando plantilla en el diseñador...</translation>
     </message>
     <message>
         <source>Project contains WMS layers</source>
-        <translation type="vanished">El proyecto contiene capas WMS</translation>
+        <translation>El proyecto contiene capas WMS</translation>
     </message>
     <message>
         <source>Some WMS servers (e.g. UMN mapserver) have a limit for the WIDTH and HEIGHT parameter. Printing layers from such servers may exceed this limit. If this is the case, the WMS layer will not be printed</source>
-        <translation type="vanished">Algunos servidores WMS (ej.: UMN mapserver) tiene un límite para los parámetros ANCHURA y ALTURA. Imprimir capas de esos servidores puede exceder este límite. Si es el caso, la capa WMS no se imprimirá.</translation>
+        <translation>Algunos servidores WMS (ej.: UMN mapserver) tiene un límite para los parámetros ANCHURA y ALTURA. Imprimir capas de esos servidores puede exceder este límite. Si es el caso, la capa WMS no se imprimirá.</translation>
     </message>
     <message>
         <source>Project contains composition effects</source>
-        <translation type="vanished">El proyecto contiene efectos de diseño</translation>
+        <translation>El proyecto contiene efectos de diseño</translation>
     </message>
     <message>
         <source>Advanced composition effects such as blend modes or vector layer transparency are enabled in this project, which cannot be printed as vectors. Printing as a raster is recommended.</source>
-        <translation type="vanished">En este proyecto hay habilitados efectos avanzados de diseño, tales como modos de mezcla o transparencia de capas vectoriales, lo cual no se puede imprimir como vectores. Se recomienda imprimir como ráster.</translation>
+        <translation>En este proyecto hay habilitados efectos avanzados de diseño, tales como modos de mezcla o transparencia de capas vectoriales, lo cual no se puede imprimir como vectores. Se recomienda imprimir como ráster.</translation>
     </message>
     <message>
         <source>Print as raster</source>
-        <translation type="vanished">Imprimir como ráster</translation>
+        <translation>Imprimir como ráster</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerArrowWidget</name>
     <message>
         <source>Arrowhead width</source>
-        <translation type="vanished">Anchura de la cabeza de la flecha</translation>
+        <translation>Anchura de la cabeza de la flecha</translation>
     </message>
     <message>
         <source>Arrow head outline width</source>
-        <translation type="vanished">Anchura de línea exterior de punta de flecha</translation>
+        <translation>Anchura de línea exterior de punta de flecha</translation>
     </message>
     <message>
         <source>Arrow head fill color</source>
-        <translation type="vanished">Color de relleno de punta de flecha</translation>
+        <translation>Color de relleno de punta de flecha</translation>
     </message>
     <message>
         <source>Arrow head outline color</source>
-        <translation type="vanished">Color de línea exterior de punta de flecha</translation>
+        <translation>Color de línea exterior de punta de flecha</translation>
     </message>
     <message>
         <source>Select arrow head fill color</source>
-        <translation type="vanished">Seleccionar color de relleno de punta de flecha</translation>
+        <translation>Seleccionar color de relleno de punta de flecha</translation>
     </message>
     <message>
         <source>Select arrow head outline color</source>
-        <translation type="vanished">Seleccionar color de línea exterior de punta de flecha</translation>
+        <translation>Seleccionar color de línea exterior de punta de flecha</translation>
     </message>
     <message>
         <source>Transparent outline</source>
-        <translation type="vanished">Línea exterior transparente</translation>
+        <translation>Línea exterior transparente</translation>
     </message>
     <message>
         <source>Transparent fill</source>
-        <translation type="vanished">Relleno transparente</translation>
+        <translation>Relleno transparente</translation>
     </message>
     <message>
         <source>Arrow marker changed</source>
-        <translation type="vanished">Marcador de flecha cambiado</translation>
+        <translation>Marcador de flecha cambiado</translation>
     </message>
     <message>
         <source>Arrow start marker</source>
-        <translation type="vanished">Marcador de inicio de flecha</translation>
+        <translation>Marcador de inicio de flecha</translation>
     </message>
     <message>
         <source>Arrow end marker</source>
-        <translation type="vanished">Marcador de final de flecha</translation>
+        <translation>Marcador de final de flecha</translation>
     </message>
     <message>
         <source>Start marker svg file</source>
-        <translation type="vanished">Archivo svg de marcador de inicio</translation>
+        <translation>Archivo svg de marcador de inicio</translation>
     </message>
     <message>
         <source>End marker svg file</source>
-        <translation type="vanished">Archivo svg de marcador de final</translation>
+        <translation>Archivo svg de marcador de final</translation>
     </message>
     <message>
         <source>Arrow line style changed</source>
-        <translation type="vanished">Estilo de línea de flecha cambiado</translation>
+        <translation>Estilo de línea de flecha cambiado</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerArrowWidgetBase</name>
     <message>
         <source>Form</source>
-        <translation type="vanished">Formulario</translation>
+        <translation>Formulario</translation>
     </message>
     <message>
         <source>Arrow</source>
-        <translation type="vanished">Flecha</translation>
+        <translation>Flecha</translation>
     </message>
     <message>
         <source>Main properties</source>
-        <translation type="vanished">Propiedades principales</translation>
+        <translation>Propiedades principales</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>Arrow head width</source>
-        <translation type="vanished">Anchura de la cabeza de flecha</translation>
+        <translation>Anchura de la cabeza de flecha</translation>
     </message>
     <message>
         <source>Line style...</source>
-        <translation type="vanished">Estilo de línea...</translation>
+        <translation>Estilo de línea...</translation>
     </message>
     <message>
         <source>Arrow markers</source>
-        <translation type="vanished">Marcadores de flechas</translation>
+        <translation>Marcadores de flechas</translation>
     </message>
     <message>
         <source>Default</source>
-        <translation type="vanished">Predeterminado</translation>
+        <translation>Predeterminado</translation>
     </message>
     <message>
         <source>None</source>
-        <translation type="vanished">Ninguno</translation>
+        <translation>Ninguno</translation>
     </message>
     <message>
         <source>SVG</source>
-        <translation type="vanished">SVG</translation>
+        <translation>SVG</translation>
     </message>
     <message>
         <source>Arrow outline color</source>
-        <translation type="vanished">Color de línea exterior de flecha</translation>
+        <translation>Color de línea exterior de flecha</translation>
     </message>
     <message>
         <source>Arrow fill color</source>
-        <translation type="vanished">Color de relleno de flecha</translation>
+        <translation>Color de relleno de flecha</translation>
     </message>
     <message>
         <source>Arrow outline width</source>
-        <translation type="vanished">Anchura de línea exterior de flecha</translation>
+        <translation>Anchura de línea exterior de flecha</translation>
     </message>
     <message>
         <source>Start marker</source>
-        <translation type="vanished">Marcador de inicio</translation>
+        <translation>Marcador de inicio</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>End marker</source>
-        <translation type="vanished">Marcador de final</translation>
+        <translation>Marcador de final</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerAttributeTableColumnModel</name>
     <message>
         <source>Top center</source>
-        <translation type="vanished">Arriba centro</translation>
+        <translation>Arriba centro</translation>
     </message>
     <message>
         <source>Bottom center</source>
-        <translation type="vanished">Abajo centro</translation>
+        <translation>Abajo centro</translation>
     </message>
     <message>
         <source>Middle center</source>
-        <translation type="vanished">Mitad centro</translation>
+        <translation>Mitad centro</translation>
     </message>
     <message>
         <source>Top right</source>
-        <translation type="vanished">Superior derecha</translation>
+        <translation>Superior derecha</translation>
     </message>
     <message>
         <source>Bottom right</source>
-        <translation type="vanished">Inferior derecha</translation>
+        <translation>Inferior derecha</translation>
     </message>
     <message>
         <source>Middle right</source>
-        <translation type="vanished">Centro derecha</translation>
+        <translation>Centro derecha</translation>
     </message>
     <message>
         <source>Top left</source>
-        <translation type="vanished">Superior izquierda</translation>
+        <translation>Superior izquierda</translation>
     </message>
     <message>
         <source>Bottom left</source>
-        <translation type="vanished">Inferior izquierda</translation>
+        <translation>Inferior izquierda</translation>
     </message>
     <message>
         <source>Middle left</source>
-        <translation type="vanished">Centro izquierda</translation>
+        <translation>Centro izquierda</translation>
     </message>
     <message>
         <source>Attribute</source>
-        <translation type="vanished">Atributo</translation>
+        <translation>Atributo</translation>
     </message>
     <message>
         <source>Heading</source>
-        <translation type="vanished">Encabezado</translation>
+        <translation>Encabezado</translation>
     </message>
     <message>
         <source>Alignment</source>
-        <translation type="vanished">Alineación</translation>
+        <translation>Alineación</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerAttributeTableColumnModelV2</name>
     <message>
         <source>Top center</source>
-        <translation type="vanished">Arriba centro</translation>
+        <translation>Arriba centro</translation>
     </message>
     <message>
         <source>Bottom center</source>
-        <translation type="vanished">Abajo centro</translation>
+        <translation>Abajo centro</translation>
     </message>
     <message>
         <source>Middle center</source>
-        <translation type="vanished">Mitad centro</translation>
+        <translation>Mitad centro</translation>
     </message>
     <message>
         <source>Top right</source>
-        <translation type="vanished">Superior derecha</translation>
+        <translation>Superior derecha</translation>
     </message>
     <message>
         <source>Bottom right</source>
-        <translation type="vanished">Inferior derecha</translation>
+        <translation>Inferior derecha</translation>
     </message>
     <message>
         <source>Middle right</source>
-        <translation type="vanished">Centro derecha</translation>
+        <translation>Centro derecha</translation>
     </message>
     <message>
         <source>Top left</source>
-        <translation type="vanished">Superior izquierda</translation>
+        <translation>Superior izquierda</translation>
     </message>
     <message>
         <source>Bottom left</source>
-        <translation type="vanished">Inferior izquierda</translation>
+        <translation>Inferior izquierda</translation>
     </message>
     <message>
         <source>Middle left</source>
-        <translation type="vanished">Centro izquierda</translation>
+        <translation>Centro izquierda</translation>
     </message>
     <message>
         <source>Automatic</source>
-        <translation type="vanished">Automático</translation>
+        <translation>Automático</translation>
     </message>
     <message>
         <source>%1 mm</source>
-        <translation type="vanished">%1 mm</translation>
+        <translation>%1 mm</translation>
     </message>
     <message>
         <source>Attribute</source>
-        <translation type="vanished">Atributo</translation>
+        <translation>Atributo</translation>
     </message>
     <message>
         <source>Heading</source>
-        <translation type="vanished">Encabezado</translation>
+        <translation>Encabezado</translation>
     </message>
     <message>
         <source>Alignment</source>
-        <translation type="vanished">Alineación</translation>
+        <translation>Alineación</translation>
     </message>
     <message>
         <source>Width</source>
-        <translation type="vanished">Anchura</translation>
+        <translation>Anchura</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerAttributeTableV2</name>
     <message>
         <source><attribute table></source>
-        <translation type="vanished"><tabla de atributos></translation>
+        <translation><tabla de atributos></translation>
     </message>
 </context>
 <context>
     <name>QgsComposerAttributeTableWidget</name>
     <message>
         <source>Use existing frames</source>
-        <translation type="vanished">Usar marcos existentes</translation>
+        <translation>Usar marcos existentes</translation>
     </message>
     <message>
         <source>Extend to next page</source>
-        <translation type="vanished">Extender a la página siguiente</translation>
+        <translation>Extender a la página siguiente</translation>
     </message>
     <message>
         <source>Repeat until finished</source>
-        <translation type="vanished">Repetir hasta finalizar</translation>
+        <translation>Repetir hasta finalizar</translation>
     </message>
     <message>
         <source>Draw headers only</source>
-        <translation type="vanished">Dibujar cabeceras solamente</translation>
+        <translation>Dibujar cabeceras solamente</translation>
     </message>
     <message>
         <source>Hide entire table</source>
-        <translation type="vanished">Ocultar tabla entera</translation>
+        <translation>Ocultar tabla entera</translation>
     </message>
     <message>
         <source>Show set message</source>
-        <translation type="vanished">Mostrar mensaje del conjunto</translation>
+        <translation>Mostrar mensaje del conjunto</translation>
     </message>
     <message>
         <source>Truncate text</source>
-        <translation type="vanished">Truncar texto</translation>
+        <translation>Truncar texto</translation>
     </message>
     <message>
         <source>Wrap text</source>
-        <translation type="vanished">Envolver texto</translation>
+        <translation>Envolver texto</translation>
     </message>
     <message>
         <source>Layer features</source>
-        <translation type="vanished">Objetos espaciales de capa</translation>
+        <translation>Objetos espaciales de capa</translation>
     </message>
     <message>
         <source>Select header font color</source>
-        <translation type="vanished">Seleccionar color de letra del encabezado</translation>
+        <translation>Seleccionar color de letra del encabezado</translation>
     </message>
     <message>
         <source>Select content font color</source>
-        <translation type="vanished">Seleccionar color de letra del contenido</translation>
+        <translation>Seleccionar color de letra del contenido</translation>
     </message>
     <message>
         <source>Select grid color</source>
-        <translation type="vanished">Seleccionar color de cuadrícula</translation>
+        <translation>Seleccionar color de cuadrícula</translation>
     </message>
     <message>
         <source>Select background color</source>
-        <translation type="vanished">Seleccionar color de fondo</translation>
+        <translation>Seleccionar color de fondo</translation>
     </message>
     <message>
         <source>No background</source>
-        <translation type="vanished">Sin fondo</translation>
+        <translation>Sin fondo</translation>
     </message>
     <message>
         <source>Table attribute settings</source>
-        <translation type="vanished">Configuración de la tabla de atributos</translation>
+        <translation>Configuración de la tabla de atributos</translation>
     </message>
     <message>
         <source>Table map changed</source>
-        <translation type="vanished">Cambiado el mapa de la tabla</translation>
+        <translation>Cambiado el mapa de la tabla</translation>
     </message>
     <message>
         <source>Table maximum columns</source>
-        <translation type="vanished">Máximo de columnas de la tabla</translation>
+        <translation>Máximo de columnas de la tabla</translation>
     </message>
     <message>
         <source>Table margin changed</source>
-        <translation type="vanished">Cambiado el márgen de la tabla</translation>
+        <translation>Cambiado el márgen de la tabla</translation>
     </message>
     <message>
         <source>Select Font</source>
-        <translation type="vanished">Seleccionar tipo de letra</translation>
+        <translation>Seleccionar tipo de letra</translation>
     </message>
     <message>
         <source>Table header font</source>
-        <translation type="vanished">Tipo de letra de la cabecera de la tabla</translation>
+        <translation>Tipo de letra de la cabecera de la tabla</translation>
     </message>
     <message>
         <source>Table header font color</source>
-        <translation type="vanished">Color de letra de encabezado de tabla</translation>
+        <translation>Color de letra de encabezado de tabla</translation>
     </message>
     <message>
         <source>Table content font</source>
-        <translation type="vanished">Tipo de letra del contenido de la tabla</translation>
+        <translation>Tipo de letra del contenido de la tabla</translation>
     </message>
     <message>
         <source>Table content font color</source>
-        <translation type="vanished">Color de letra de contenido de tabla</translation>
+        <translation>Color de letra de contenido de tabla</translation>
     </message>
     <message>
         <source>Table grid line</source>
-        <translation type="vanished">Línea de cuadrícula de tabla</translation>
+        <translation>Línea de cuadrícula de tabla</translation>
     </message>
     <message>
         <source>Table grid color</source>
-        <translation type="vanished">Color de cuadrícula de la tabla</translation>
+        <translation>Color de cuadrícula de la tabla</translation>
     </message>
     <message>
         <source>Table grid toggled</source>
-        <translation type="vanished">Conmutada la cuadrícula de la tabla</translation>
+        <translation>Conmutada la cuadrícula de la tabla</translation>
     </message>
     <message>
         <source>Table background color</source>
-        <translation type="vanished">Color de fondo de la tabla</translation>
+        <translation>Color de fondo de la tabla</translation>
     </message>
     <message>
         <source>Current atlas feature</source>
-        <translation type="vanished">Objeto de atlas actual</translation>
+        <translation>Objeto de atlas actual</translation>
     </message>
     <message>
         <source>Relation children</source>
-        <translation type="vanished">Hijo de relación</translation>
+        <translation>Hijo de relación</translation>
     </message>
     <message>
         <source>Table visible only toggled</source>
-        <translation type="vanished">Tabla visible solamente conmutado</translation>
+        <translation>Tabla visible solamente conmutado</translation>
     </message>
     <message>
         <source>Table remove duplicates changed</source>
-        <translation type="vanished">Tabla eliminar duplicados cambiado</translation>
+        <translation>Tabla eliminar duplicados cambiado</translation>
     </message>
     <message>
         <source>Empty frame mode toggled</source>
-        <translation type="vanished">Modo de marco vacío conmutado</translation>
+        <translation>Modo de marco vacío conmutado</translation>
     </message>
     <message>
         <source>Hide background if empty toggled</source>
-        <translation type="vanished">Ocultar fondo si está vacío conmutado</translation>
+        <translation>Ocultar fondo si está vacío conmutado</translation>
     </message>
     <message>
         <source>Table filter to atlas changed</source>
-        <translation type="vanished">Filtro de tabla a atlas cambiado</translation>
+        <translation>Filtro de tabla a atlas cambiado</translation>
     </message>
     <message>
         <source>Table feature filter toggled</source>
-        <translation type="vanished">Filtro de objeto de tabla conmutado</translation>
+        <translation>Filtro de objeto de tabla conmutado</translation>
     </message>
     <message>
         <source>Table feature filter modified</source>
-        <translation type="vanished">Filtro de objeto de tabla modificado</translation>
+        <translation>Filtro de objeto de tabla modificado</translation>
     </message>
     <message>
         <source>Expression based filter</source>
-        <translation type="vanished">Expresión basada en filtro</translation>
+        <translation>Expresión basada en filtro</translation>
     </message>
     <message>
         <source>Table header alignment changed</source>
-        <translation type="vanished">Cambiada la alineación de la cabecera de tabla</translation>
+        <translation>Cambiada la alineación de la cabecera de tabla</translation>
     </message>
     <message>
         <source>Table header mode changed</source>
-        <translation type="vanished">Modo de encabezado de tabla cambiado</translation>
+        <translation>Modo de encabezado de tabla cambiado</translation>
     </message>
     <message>
         <source>Table wrap string changed</source>
-        <translation type="vanished">Cadena de envoltura de tabla cambiada</translation>
+        <translation>Cadena de envoltura de tabla cambiada</translation>
     </message>
     <message>
         <source>Table layer changed</source>
-        <translation type="vanished">Cambiada la capa de la tabla</translation>
+        <translation>Cambiada la capa de la tabla</translation>
     </message>
     <message>
         <source>Change resize mode</source>
-        <translation type="vanished">Cambiar modo de redimensionado</translation>
+        <translation>Cambiar modo de redimensionado</translation>
     </message>
     <message>
         <source>Change table source</source>
-        <translation type="vanished">Cambiar fuente de la tabla</translation>
+        <translation>Cambiar fuente de la tabla</translation>
     </message>
     <message>
         <source>Change table source relation</source>
-        <translation type="vanished">Cambiar relación de fuente de la tabla</translation>
+        <translation>Cambiar relación de fuente de la tabla</translation>
     </message>
     <message>
         <source>Change empty table behaviour</source>
-        <translation type="vanished">Cambiar comportamiento de tabla vacía</translation>
+        <translation>Cambiar comportamiento de tabla vacía</translation>
     </message>
     <message>
         <source>Change table wrap mode</source>
-        <translation type="vanished">Cambiar modo de envoltura de tabla</translation>
+        <translation>Cambiar modo de envoltura de tabla</translation>
     </message>
     <message>
         <source>Show empty rows changed</source>
-        <translation type="vanished">Mostrar filas vacías cambiado</translation>
+        <translation>Mostrar filas vacías cambiado</translation>
     </message>
     <message>
         <source>Empty table message changed</source>
-        <translation type="vanished">Mensaje de tabla vacía cambiado</translation>
+        <translation>Mensaje de tabla vacía cambiado</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerAttributeTableWidgetBase</name>
     <message>
         <source>Attribute Table</source>
-        <translation type="vanished">Tabla de atributos</translation>
+        <translation>Tabla de atributos</translation>
     </message>
     <message>
         <source>Attribute table</source>
-        <translation type="vanished">Tabla de atributos</translation>
+        <translation>Tabla de atributos</translation>
     </message>
     <message>
         <source>Main properties</source>
-        <translation type="vanished">Propiedades principales</translation>
+        <translation>Propiedades principales</translation>
     </message>
     <message>
         <source>Layer</source>
-        <translation type="vanished">Capa</translation>
+        <translation>Capa</translation>
     </message>
     <message>
         <source>Refresh table data</source>
-        <translation type="vanished">Actualizar datos de la tabla</translation>
+        <translation>Actualizar datos de la tabla</translation>
     </message>
     <message>
         <source>Attributes...</source>
-        <translation type="vanished">Atributos...</translation>
+        <translation>Atributos...</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>Feature filtering</source>
-        <translation type="vanished">Filtrado de objetos espaciales</translation>
+        <translation>Filtrado de objetos espaciales</translation>
     </message>
     <message>
         <source>Maximum rows</source>
-        <translation type="vanished">Máximo de filas</translation>
+        <translation>Máximo de filas</translation>
     </message>
     <message>
         <source>Composer map</source>
-        <translation type="vanished">Mapa de diseñador</translation>
+        <translation>Mapa de diseñador</translation>
     </message>
     <message>
         <source>Filter with</source>
-        <translation type="vanished">Filtrar con</translation>
+        <translation>Filtrar con</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Background color</source>
-        <translation type="vanished">Color de fondo</translation>
+        <translation>Color de fondo</translation>
     </message>
     <message>
         <source>Show empty rows</source>
-        <translation type="vanished">Mostrar filas vacías</translation>
+        <translation>Mostrar filas vacías</translation>
     </message>
     <message>
         <source>Wrap text on</source>
-        <translation type="vanished">Envolver texto</translation>
+        <translation>Envolver texto</translation>
     </message>
     <message>
         <source>Oversized text</source>
-        <translation type="vanished">Texto extragrande</translation>
+        <translation>Texto extragrande</translation>
     </message>
     <message>
         <source>Advanced customisation...</source>
-        <translation type="vanished">Personalización avanzada...</translation>
+        <translation>Personalización avanzada...</translation>
     </message>
     <message>
         <source>Show grid</source>
-        <translation type="vanished">Mostrar cuadrícula</translation>
+        <translation>Mostrar cuadrícula</translation>
     </message>
     <message>
         <source>Color</source>
-        <translation type="vanished">Color</translation>
+        <translation>Color</translation>
     </message>
     <message>
         <source>Fonts and text styling</source>
-        <translation type="vanished">Estilo de letras y texto</translation>
+        <translation>Estilo de letras y texto</translation>
     </message>
     <message>
         <source>Table heading</source>
-        <translation type="vanished">Encabezado de tabla</translation>
+        <translation>Encabezado de tabla</translation>
     </message>
     <message>
         <source>Follow column alignment</source>
-        <translation type="vanished">Seguir alineación de columna</translation>
+        <translation>Seguir alineación de columna</translation>
     </message>
     <message>
         <source>Left</source>
-        <translation type="vanished">Izquierda</translation>
+        <translation>Izquierda</translation>
     </message>
     <message>
         <source>Center</source>
-        <translation type="vanished">Centro</translation>
+        <translation>Centro</translation>
     </message>
     <message>
         <source>Right</source>
-        <translation type="vanished">Derecha</translation>
+        <translation>Derecha</translation>
     </message>
     <message>
         <source>Alignment</source>
-        <translation type="vanished">Alineación</translation>
+        <translation>Alineación</translation>
     </message>
     <message>
         <source>Font</source>
-        <translation type="vanished">Tipo de letra</translation>
+        <translation>Tipo de letra</translation>
     </message>
     <message>
         <source>Choose font...</source>
-        <translation type="vanished">Eligir tipo de letra...</translation>
+        <translation>Eligir tipo de letra...</translation>
     </message>
     <message>
         <source>Don't export page if frame is empty</source>
-        <translation type="vanished">No exportar página si el marco está vacío</translation>
+        <translation>No exportar página si el marco está vacío</translation>
     </message>
     <message>
         <source>Don't draw background if frame is empty</source>
-        <translation type="vanished">No dibujar fondo si el marco está vacío</translation>
+        <translation>No dibujar fondo si el marco está vacío</translation>
     </message>
     <message>
         <source>On first frame</source>
-        <translation type="vanished">En el primer marco</translation>
+        <translation>En el primer marco</translation>
     </message>
     <message>
         <source>Source</source>
-        <translation type="vanished">Fuente</translation>
+        <translation>Fuente</translation>
     </message>
     <message>
         <source>Relation</source>
-        <translation type="vanished">Relación</translation>
+        <translation>Relación</translation>
     </message>
     <message>
         <source>Show only features visible within a map</source>
-        <translation type="vanished">Mostrar sólo objetos espaciales visibles dentro de un mapa</translation>
+        <translation>Mostrar sólo objetos espaciales visibles dentro de un mapa</translation>
     </message>
     <message>
         <source>Show only features intersecting atlas feature</source>
-        <translation type="vanished">Mostrar solo objetos que intersecan con objeto de atlas</translation>
+        <translation>Mostrar solo objetos que intersecan con objeto de atlas</translation>
     </message>
     <message>
         <source>Remove duplicate rows from table</source>
-        <translation type="vanished">Eliminar filas duplicadas de la tabla</translation>
+        <translation>Eliminar filas duplicadas de la tabla</translation>
     </message>
     <message>
         <source>Appearance</source>
-        <translation type="vanished">Apariencia</translation>
+        <translation>Apariencia</translation>
     </message>
     <message>
         <source>Cell margins</source>
-        <translation type="vanished">Márgenes de celda</translation>
+        <translation>Márgenes de celda</translation>
     </message>
     <message>
         <source>Display header</source>
-        <translation type="vanished">Mostrar cabecera</translation>
+        <translation>Mostrar cabecera</translation>
     </message>
     <message>
         <source>On all frames</source>
-        <translation type="vanished">En todos los marcos</translation>
+        <translation>En todos los marcos</translation>
     </message>
     <message>
         <source>No header</source>
-        <translation type="vanished">Sin encabezado</translation>
+        <translation>Sin encabezado</translation>
     </message>
     <message>
         <source>Empty tables</source>
-        <translation type="vanished">Tablas vacías</translation>
+        <translation>Tablas vacías</translation>
     </message>
     <message>
         <source>Message to display</source>
-        <translation type="vanished">Mensaje a mostrar</translation>
+        <translation>Mensaje a mostrar</translation>
     </message>
     <message>
         <source>Line width</source>
-        <translation type="vanished">Ancho de línea</translation>
+        <translation>Ancho de línea</translation>
     </message>
     <message>
         <source>Table contents</source>
-        <translation type="vanished">Contenido de tabla</translation>
+        <translation>Contenido de tabla</translation>
     </message>
     <message>
         <source>Frames</source>
-        <translation type="vanished">Marcos</translation>
+        <translation>Marcos</translation>
     </message>
     <message>
         <source>Resize mode</source>
-        <translation type="vanished">Modo de redimensionado</translation>
+        <translation>Modo de redimensionado</translation>
     </message>
     <message>
         <source>Add Frame</source>
-        <translation type="vanished">Añadir marco</translation>
+        <translation>Añadir marco</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerBase</name>
     <message>
         <source>MainWindow</source>
-        <translation type="vanished">Ventana principal</translation>
+        <translation>Ventana principal</translation>
     </message>
     <message>
         <source>Composer</source>
-        <translation type="vanished">Diseñador</translation>
+        <translation>Diseñador</translation>
     </message>
     <message>
         <source>Atlas</source>
-        <translation type="vanished">Atlas</translation>
+        <translation>Atlas</translation>
     </message>
     <message>
         <source>&Print...</source>
-        <translation type="vanished">Im&primir...</translation>
+        <translation>Im&primir...</translation>
     </message>
     <message>
         <source>Ctrl+P</source>
-        <translation type="vanished">Ctrl+P</translation>
+        <translation>Ctrl+P</translation>
     </message>
     <message>
         <source>Zoom full</source>
-        <translation type="vanished">Zoom general</translation>
+        <translation>Zoom general</translation>
     </message>
     <message>
         <source>Ctrl+0</source>
-        <translation type="vanished">Ctrl+0</translation>
+        <translation>Ctrl+0</translation>
     </message>
     <message>
         <source>Zoom in</source>
-        <translation type="vanished">Acercar zoom</translation>
+        <translation>Acercar zoom</translation>
     </message>
     <message>
         <source>Ctrl++</source>
-        <translation type="vanished">Ctrl++</translation>
+        <translation>Ctrl++</translation>
     </message>
     <message>
         <source>Zoom out</source>
-        <translation type="vanished">Alejar zoom</translation>
+        <translation>Alejar zoom</translation>
     </message>
     <message>
         <source>Ctrl+-</source>
-        <translation type="vanished">Ctrl+-</translation>
+        <translation>Ctrl+-</translation>
     </message>
     <message>
         <source>Zoom to 100%</source>
-        <translation type="vanished">Zoom al 100 %</translation>
+        <translation>Zoom al 100 %</translation>
     </message>
     <message>
         <source>Ctrl+1</source>
-        <translation type="vanished">Ctrl+1</translation>
+        <translation>Ctrl+1</translation>
     </message>
     <message>
         <source>Zoom</source>
-        <translation type="vanished">Zoom</translation>
+        <translation>Zoom</translation>
     </message>
     <message>
         <source>Z</source>
-        <translation type="vanished">Z</translation>
+        <translation>Z</translation>
     </message>
     <message>
         <source>Add new map</source>
-        <translation type="vanished">Añadir mapa nuevo</translation>
+        <translation>Añadir mapa nuevo</translation>
     </message>
     <message>
         <source>Add new label</source>
-        <translation type="vanished">Añadir etiqueta nueva</translation>
+        <translation>Añadir etiqueta nueva</translation>
     </message>
     <message>
         <source>Add new legend</source>
-        <translation type="vanished">Añadir leyenda nueva</translation>
+        <translation>Añadir leyenda nueva</translation>
     </message>
     <message>
         <source>Select/Move item</source>
-        <translation type="vanished">Seleccionar/Mover elemento</translation>
+        <translation>Seleccionar/Mover elemento</translation>
     </message>
     <message>
         <source>V</source>
-        <translation type="vanished">V</translation>
+        <translation>V</translation>
     </message>
     <message>
         <source>Export as image</source>
-        <translation type="vanished">Exportar como imagen</translation>
+        <translation>Exportar como imagen</translation>
     </message>
     <message>
         <source>Add new scalebar</source>
-        <translation type="vanished">Añadir nueva barra de escala</translation>
+        <translation>Añadir nueva barra de escala</translation>
     </message>
     <message>
         <source>Refresh view</source>
-        <translation type="vanished">Actualizar vista</translation>
+        <translation>Actualizar vista</translation>
     </message>
     <message>
         <source>F5</source>
-        <translation type="vanished">F5</translation>
+        <translation>F5</translation>
     </message>
     <message>
         <source>Show grid</source>
-        <translation type="vanished">Mostrar cuadrícula</translation>
+        <translation>Mostrar cuadrícula</translation>
     </message>
     <message>
         <source>Ctrl+'</source>
-        <translation type="vanished">Ctrl+'</translation>
+        <translation>Ctrl+'</translation>
     </message>
     <message>
         <source>Snap to grid</source>
-        <translation type="vanished">Ajustar a cuadrícula</translation>
+        <translation>Ajustar a cuadrícula</translation>
     </message>
     <message>
         <source>Ctrl+Shift+'</source>
-        <translation type="vanished">Ctrl+Shift+'</translation>
+        <translation>Ctrl+Shift+'</translation>
     </message>
     <message>
         <source>Show guides</source>
-        <translation type="vanished">Mostrar guías</translation>
+        <translation>Mostrar guías</translation>
     </message>
     <message>
         <source>Ctrl+;</source>
-        <translation type="vanished">Ctrl+;</translation>
+        <translation>Ctrl+;</translation>
     </message>
     <message>
         <source>Snap to guides</source>
-        <translation type="vanished">Ajustar a las guías</translation>
+        <translation>Ajustar a las guías</translation>
     </message>
     <message>
         <source>Ctrl+Shift+;</source>
-        <translation type="vanished">Ctrl+Shift+;</translation>
+        <translation>Ctrl+Shift+;</translation>
     </message>
     <message>
         <source>Smart guides</source>
-        <translation type="vanished">Guías inteligentes</translation>
+        <translation>Guías inteligentes</translation>
     </message>
     <message>
         <source>Ctrl+Alt+;</source>
-        <translation type="vanished">Ctrl+Alt+;</translation>
+        <translation>Ctrl+Alt+;</translation>
     </message>
     <message>
         <source>Clear guides</source>
-        <translation type="vanished">Despejar las guías</translation>
+        <translation>Despejar las guías</translation>
     </message>
     <message>
         <source>Add image</source>
-        <translation type="vanished">Añadir imagen</translation>
+        <translation>Añadir imagen</translation>
     </message>
     <message>
         <source>Move item content</source>
-        <translation type="vanished">Mover contenido del elemento</translation>
+        <translation>Mover contenido del elemento</translation>
     </message>
     <message>
         <source>C</source>
-        <translation type="vanished">C</translation>
+        <translation>C</translation>
     </message>
     <message>
         <source>Group items</source>
-        <translation type="vanished">Agrupar elementos</translation>
+        <translation>Agrupar elementos</translation>
     </message>
     <message>
         <source>Ctrl+G</source>
-        <translation type="vanished">Ctrl+G</translation>
+        <translation>Ctrl+G</translation>
     </message>
     <message>
         <source>Ungroup items</source>
-        <translation type="vanished">Desagrupar elementos</translation>
+        <translation>Desagrupar elementos</translation>
     </message>
     <message>
         <source>Ctrl+Shift+G</source>
-        <translation type="vanished">Ctrl+Shift+G</translation>
+        <translation>Ctrl+Shift+G</translation>
     </message>
     <message>
         <source>Raise selected items</source>
-        <translation type="vanished">Subir los elementos seleccionados</translation>
+        <translation>Subir los elementos seleccionados</translation>
     </message>
     <message>
         <source>Ctrl+]</source>
-        <translation type="vanished">Ctrl+]</translation>
+        <translation>Ctrl+]</translation>
     </message>
     <message>
         <source>Lower selected items</source>
-        <translation type="vanished">Bajar los elementos seleccionados</translation>
+        <translation>Bajar los elementos seleccionados</translation>
     </message>
     <message>
         <source>Ctrl+[</source>
-        <translation type="vanished">Ctrl+[</translation>
+        <translation>Ctrl+[</translation>
     </message>
     <message>
         <source>Move selected items to top</source>
-        <translation type="vanished">Mover los elementos seleccionados arriba</translation>
+        <translation>Mover los elementos seleccionados arriba</translation>
     </message>
     <message>
         <source>Ctrl+Shift+]</source>
-        <translation type="vanished">Ctrl+Shift+]</translation>
+        <translation>Ctrl+Shift+]</translation>
     </message>
     <message>
         <source>Move selected items to bottom</source>
-        <translation type="vanished">Mover los elementos seleccionados abajo</translation>
+        <translation>Mover los elementos seleccionados abajo</translation>
     </message>
     <message>
         <source>Ctrl+Shift+[</source>
-        <translation type="vanished">Ctrl+Shift+[</translation>
+        <translation>Ctrl+Shift+[</translation>
     </message>
     <message>
         <source>Zoom &Full</source>
-        <translation type="vanished">Zoom &general</translation>
+        <translation>Zoom &general</translation>
     </message>
     <message>
         <source>Navigation</source>
-        <translation type="vanished">Navegación</translation>
+        <translation>Navegación</translation>
     </message>
     <message>
         <source>Actions</source>
-        <translation type="vanished">Acciones</translation>
+        <translation>Acciones</translation>
     </message>
     <message>
         <source>Toolbox</source>
-        <translation type="vanished">Caja de herramientas</translation>
+        <translation>Caja de herramientas</translation>
     </message>
     <message>
         <source>Zoom &In</source>
-        <translation type="vanished">A&cercar zoom</translation>
+        <translation>A&cercar zoom</translation>
     </message>
     <message>
         <source>Zoom &Out</source>
-        <translation type="vanished">A&lejar zoom</translation>
+        <translation>A&lejar zoom</translation>
     </message>
     <message>
         <source>Zoom to &100%</source>
-        <translation type="vanished">Zoom al &100%</translation>
+        <translation>Zoom al &100%</translation>
     </message>
     <message>
         <source>Add &Map</source>
-        <translation type="vanished">Añadir &mapa</translation>
+        <translation>Añadir &mapa</translation>
     </message>
     <message>
         <source>Add Lab&el</source>
-        <translation type="vanished">Añadir &etiqueta</translation>
+        <translation>Añadir &etiqueta</translation>
     </message>
     <message>
         <source>Add Legen&d</source>
-        <translation type="vanished">Añadir le&yenda</translation>
+        <translation>Añadir le&yenda</translation>
     </message>
     <message>
         <source>Move &Item</source>
-        <translation type="vanished">Mover e&lemento</translation>
+        <translation>Mover e&lemento</translation>
     </message>
     <message>
         <source>Export as &Image...</source>
-        <translation type="vanished">Exportar como &imagen...</translation>
+        <translation>Exportar como &imagen...</translation>
     </message>
     <message>
         <source>&Export as PDF...</source>
-        <translation type="vanished">&Exportar como PDF...</translation>
+        <translation>&Exportar como PDF...</translation>
     </message>
     <message>
         <source>Export as S&VG...</source>
-        <translation type="vanished">Exportar como S&VG...</translation>
+        <translation>Exportar como S&VG...</translation>
     </message>
     <message>
         <source>Add &Scalebar</source>
-        <translation type="vanished">Añadir barra de e&scala</translation>
+        <translation>Añadir barra de e&scala</translation>
     </message>
     <message>
         <source>&Refresh</source>
-        <translation type="vanished">Actualiza&r</translation>
+        <translation>Actualiza&r</translation>
     </message>
     <message>
         <source>Show &Grid</source>
-        <translation type="vanished">Mostrar &cuadrícula</translation>
+        <translation>Mostrar &cuadrícula</translation>
     </message>
     <message>
         <source>S&nap to Grid</source>
-        <translation type="vanished">&Ajustar a cuadrícula</translation>
+        <translation>&Ajustar a cuadrícula</translation>
     </message>
     <message>
         <source>Show G&uides</source>
-        <translation type="vanished">Mostrar &guías</translation>
+        <translation>Mostrar &guías</translation>
     </message>
     <message>
         <source>&Snap to Guides</source>
-        <translation type="vanished">Ajustar a guía&s</translation>
+        <translation>Ajustar a guía&s</translation>
     </message>
     <message>
         <source>S&mart Guides</source>
-        <translation type="vanished">Guías &inteligentes</translation>
+        <translation>Guías &inteligentes</translation>
     </message>
     <message>
         <source>&Clear Guides</source>
-        <translation type="vanished">&Limpiar guías</translation>
+        <translation>&Limpiar guías</translation>
     </message>
     <message>
         <source>Add Im&age</source>
-        <translation type="vanished">Añadir im&agen</translation>
+        <translation>Añadir im&agen</translation>
     </message>
     <message>
         <source>Move &Content</source>
-        <translation type="vanished">Mover &contenido</translation>
+        <translation>Mover &contenido</translation>
     </message>
     <message>
         <source>&Group</source>
-        <translation type="vanished">A&grupar</translation>
+        <translation>A&grupar</translation>
     </message>
     <message>
         <source>&Ungroup</source>
-        <translation type="vanished">Desagr&upar</translation>
+        <translation>Desagr&upar</translation>
     </message>
     <message>
         <source>&Raise</source>
-        <translation type="vanished">Subi&r</translation>
+        <translation>Subi&r</translation>
     </message>
     <message>
         <source>&Lower</source>
-        <translation type="vanished">Ba&jar</translation>
+        <translation>Ba&jar</translation>
     </message>
     <message>
         <source>Bring to &Front</source>
-        <translation type="vanished">Traer al &frente</translation>
+        <translation>Traer al &frente</translation>
     </message>
     <message>
         <source>Send to &Back</source>
-        <translation type="vanished">Enviar al fo&ndo</translation>
+        <translation>Enviar al fo&ndo</translation>
     </message>
     <message>
         <source>&Add Items from Template...</source>
-        <translation type="vanished">&Añadir elementos desde plantilla...</translation>
+        <translation>&Añadir elementos desde plantilla...</translation>
     </message>
     <message>
         <source>Save as &Template...</source>
-        <translation type="vanished">Guardar como &plantilla...</translation>
+        <translation>Guardar como &plantilla...</translation>
     </message>
     <message>
         <source>Save as template</source>
-        <translation type="vanished">Guardar como plantilla</translation>
+        <translation>Guardar como plantilla</translation>
     </message>
     <message>
         <source>Align Left</source>
-        <translation type="vanished">Alinear a la izquierda</translation>
+        <translation>Alinear a la izquierda</translation>
     </message>
     <message>
         <source>Align selected items left</source>
-        <translation type="vanished">Alinea los elementos seleccionados a la izquierda</translation>
+        <translation>Alinea los elementos seleccionados a la izquierda</translation>
     </message>
     <message>
         <source>Align Center</source>
-        <translation type="vanished">Alinear al centro</translation>
+        <translation>Alinear al centro</translation>
     </message>
     <message>
         <source>Align center horizontal</source>
-        <translation type="vanished">Alinear al centro horizontal</translation>
+        <translation>Alinear al centro horizontal</translation>
     </message>
     <message>
         <source>Align Right</source>
-        <translation type="vanished">Alinear a la derecha</translation>
+        <translation>Alinear a la derecha</translation>
     </message>
     <message>
         <source>Align selected items right</source>
-        <translation type="vanished">Alinea los elementos seleccionados a la derecha</translation>
+        <translation>Alinea los elementos seleccionados a la derecha</translation>
     </message>
     <message>
         <source>Align Top</source>
-        <translation type="vanished">Alinear arriba</translation>
+        <translation>Alinear arriba</translation>
     </message>
     <message>
         <source>Align selected items to top</source>
-        <translation type="vanished">Alinea los elementos seleccionados a la arriba</translation>
+        <translation>Alinea los elementos seleccionados a la arriba</translation>
     </message>
     <message>
         <source>Align Center Vertical</source>
-        <translation type="vanished">Alinear al centro vertical</translation>
+        <translation>Alinear al centro vertical</translation>
     </message>
     <message>
         <source>Align center vertical</source>
-        <translation type="vanished">Alinear al centro vertical</translation>
+        <translation>Alinear al centro vertical</translation>
     </message>
     <message>
         <source>Align Bottom</source>
-        <translation type="vanished">Alinear abajo</translation>
+        <translation>Alinear abajo</translation>
     </message>
     <message>
         <source>Align selected items bottom</source>
-        <translation type="vanished">Alinea los elementos seleccionados a la abajo</translation>
+        <translation>Alinea los elementos seleccionados a la abajo</translation>
     </message>
     <message>
         <source>&Quit</source>
-        <translation type="vanished">Sa&lir</translation>
+        <translation>Sa&lir</translation>
     </message>
     <message>
         <source>Quit</source>
-        <translation type="vanished">Salir</translation>
+        <translation>Salir</translation>
     </message>
     <message>
         <source>Ctrl+Q</source>
-        <translation type="vanished">Ctrl+L</translation>
+        <translation>Ctrl+L</translation>
     </message>
     <message>
         <source>Add HTML frame</source>
-        <translation type="vanished">Añadir marco HTML</translation>
+        <translation>Añadir marco HTML</translation>
     </message>
     <message>
         <source>Paste in P&lace</source>
-        <translation type="vanished">Pegar en &lugar</translation>
+        <translation>Pegar en &lugar</translation>
     </message>
     <message>
         <source>D&eselect All</source>
-        <translation type="vanished">D&eseleccionar todo</translation>
+        <translation>D&eseleccionar todo</translation>
     </message>
     <message>
         <source>&Select All</source>
-        <translation type="vanished">&Seleccionar todo</translation>
+        <translation>&Seleccionar todo</translation>
     </message>
     <message>
         <source>Composer &Options...</source>
-        <translation type="vanished">&Opciones del diseñador...</translation>
+        <translation>&Opciones del diseñador...</translation>
     </message>
     <message>
         <source>Show Ru&lers</source>
-        <translation type="vanished">Mostrar des&lizadores</translation>
+        <translation>Mostrar des&lizadores</translation>
     </message>
     <message>
         <source>&First Feature</source>
-        <translation type="vanished">&Primer objeto espacial</translation>
+        <translation>&Primer objeto espacial</translation>
     </message>
     <message>
         <source>P&revious Feature</source>
-        <translation type="vanished">Objeto espacial anterio&r</translation>
+        <translation>Objeto espacial anterio&r</translation>
     </message>
     <message>
         <source>&Next Feature</source>
-        <translation type="vanished">Siguie&nte objeto espacial</translation>
+        <translation>Siguie&nte objeto espacial</translation>
     </message>
     <message>
         <source>&Last Feature</source>
-        <translation type="vanished">Ú&ltimo objeto espacial</translation>
+        <translation>Ú&ltimo objeto espacial</translation>
     </message>
     <message>
         <source>Preview &Atlas</source>
-        <translation type="vanished">&Atlas anterior</translation>
+        <translation>&Atlas anterior</translation>
     </message>
     <message>
         <source>&Print Atlas...</source>
-        <translation type="vanished">Im&primir atlas...</translation>
+        <translation>Im&primir atlas...</translation>
     </message>
     <message>
         <source>Export Atlas as &Images...</source>
-        <translation type="vanished">Exportar atlas como &imágenes...</translation>
+        <translation>Exportar atlas como &imágenes...</translation>
     </message>
     <message>
         <source>Export Atlas as S&VG...</source>
-        <translation type="vanished">Exportar atlas como S&VG...</translation>
+        <translation>Exportar atlas como S&VG...</translation>
     </message>
     <message>
         <source>&Export Atlas as PDF...</source>
-        <translation type="vanished">/Exportar Atlas como PDF...</translation>
+        <translation>/Exportar Atlas como PDF...</translation>
     </message>
     <message>
         <source>Atlas &Settings</source>
-        <translation type="vanished">Con&figuración de atlas</translation>
+        <translation>Con&figuración de atlas</translation>
     </message>
     <message>
         <source>Show Pages</source>
-        <translation type="vanished">Mostrar páginas</translation>
+        <translation>Mostrar páginas</translation>
     </message>
     <message>
         <source>Show pages</source>
-        <translation type="vanished">Mostrar páginas</translation>
+        <translation>Mostrar páginas</translation>
     </message>
     <message>
         <source>Add Polygon</source>
-        <translation type="vanished">Añadir polígono</translation>
+        <translation>Añadir polígono</translation>
     </message>
     <message>
         <source>Add polygon</source>
-        <translation type="vanished">Añadir polígono</translation>
+        <translation>Añadir polígono</translation>
     </message>
     <message>
         <source>Nodes item</source>
-        <translation type="vanished">Elemento de nodos</translation>
+        <translation>Elemento de nodos</translation>
     </message>
     <message>
         <source>Add Polyline</source>
-        <translation type="vanished">Añadir polilínea</translation>
+        <translation>Añadir polilínea</translation>
     </message>
     <message>
         <source>Add polyline</source>
-        <translation type="vanished">Añadir polilínea</translation>
+        <translation>Añadir polilínea</translation>
     </message>
     <message>
         <source>Edit Nodes Item</source>
-        <translation type="vanished">Editar elemento de nodos</translation>
+        <translation>Editar elemento de nodos</translation>
     </message>
     <message>
         <source>Add arrow</source>
-        <translation type="vanished">Añadir flecha</translation>
+        <translation>Añadir flecha</translation>
     </message>
     <message>
         <source>Add Table</source>
-        <translation type="vanished">Añadir tabla</translation>
+        <translation>Añadir tabla</translation>
     </message>
     <message>
         <source>Add table</source>
-        <translation type="vanished">Añadir tabla</translation>
+        <translation>Añadir tabla</translation>
     </message>
     <message>
         <source>Add attribute table</source>
-        <translation type="vanished">Añade tabla de atributos</translation>
+        <translation>Añade tabla de atributos</translation>
     </message>
     <message>
         <source>Page setup</source>
-        <translation type="vanished">Configurar página</translation>
+        <translation>Configurar página</translation>
     </message>
     <message>
         <source>Ctrl+Shift+P</source>
-        <translation type="vanished">Ctrl+Mayúsculas+P</translation>
+        <translation>Ctrl+Mayúsculas+P</translation>
     </message>
     <message>
         <source>&Undo</source>
-        <translation type="vanished">&Deshacer</translation>
+        <translation>&Deshacer</translation>
     </message>
     <message>
         <source>&Redo</source>
-        <translation type="vanished">&Rehacer</translation>
+        <translation>&Rehacer</translation>
     </message>
     <message>
         <source>Add &HTML</source>
-        <translation type="vanished">Añadir &HTML</translation>
+        <translation>Añadir &HTML</translation>
     </message>
     <message>
         <source>Composer &Manager...</source>
-        <translation type="vanished">Ad&ministrador de diseñadores...</translation>
+        <translation>Ad&ministrador de diseñadores...</translation>
     </message>
     <message>
         <source>&New Composer...</source>
-        <translation type="vanished">&Nuevo diseñador...</translation>
+        <translation>&Nuevo diseñador...</translation>
     </message>
     <message>
         <source>&Duplicate Composer...</source>
-        <translation type="vanished">&Duplicar diseñador...</translation>
+        <translation>&Duplicar diseñador...</translation>
     </message>
     <message>
         <source>Loc&k Selected Items</source>
-        <translation type="vanished">Blo&quear elementos seleccionados</translation>
+        <translation>Blo&quear elementos seleccionados</translation>
     </message>
     <message>
         <source>Unl&ock All</source>
-        <translation type="vanished">Desbl&oquear todo</translation>
+        <translation>Desbl&oquear todo</translation>
     </message>
     <message>
         <source>Ctrl+Shift+L</source>
-        <translation type="vanished">Ctrl+Mayúsculas+L</translation>
+        <translation>Ctrl+Mayúsculas+L</translation>
     </message>
     <message>
         <source>Paste in place</source>
-        <translation type="vanished">Pegar en lugar</translation>
+        <translation>Pegar en lugar</translation>
     </message>
     <message>
         <source>Ctrl+Shift+V</source>
-        <translation type="vanished">Ctrl+Mayúsculas+V</translation>
+        <translation>Ctrl+Mayúsculas+V</translation>
     </message>
     <message>
         <source>&Delete</source>
-        <translation type="vanished">&Borrar</translation>
+        <translation>&Borrar</translation>
     </message>
     <message>
         <source>Delete selected items</source>
-        <translation type="vanished">Borrar elementos seleccionados</translation>
+        <translation>Borrar elementos seleccionados</translation>
     </message>
     <message>
         <source>Del</source>
-        <translation type="vanished">Borrar</translation>
+        <translation>Borrar</translation>
     </message>
     <message>
         <source>Deselect all</source>
-        <translation type="vanished">Deseleccionar todo</translation>
+        <translation>Deseleccionar todo</translation>
     </message>
     <message>
         <source>Ctrl+Shift+A</source>
-        <translation type="vanished">Ctrl+Mayús+A</translation>
+        <translation>Ctrl+Mayús+A</translation>
     </message>
     <message>
         <source>Select all items</source>
-        <translation type="vanished">Seleccionar todos los elementos</translation>
+        <translation>Seleccionar todos los elementos</translation>
     </message>
     <message>
         <source>Ctrl+A</source>
-        <translation type="vanished">Ctrl+P</translation>
+        <translation>Ctrl+P</translation>
     </message>
     <message>
         <source>&Invert Selection</source>
-        <translation type="vanished">&Invertir selección</translation>
+        <translation>&Invertir selección</translation>
     </message>
     <message>
         <source>Invert selection</source>
-        <translation type="vanished">Invertir selección</translation>
+        <translation>Invertir selección</translation>
     </message>
     <message>
         <source>Select Next Item &Below</source>
-        <translation type="vanished">Seleccionar el siguiente elemento de a&bajo</translation>
+        <translation>Seleccionar el siguiente elemento de a&bajo</translation>
     </message>
     <message>
         <source>Select next item below</source>
-        <translation type="vanished">Seleccionar el siguiente elemento de abajo</translation>
+        <translation>Seleccionar el siguiente elemento de abajo</translation>
     </message>
     <message>
         <source>Ctrl+Alt+[</source>
-        <translation type="vanished">Ctrl+Alt+[</translation>
+        <translation>Ctrl+Alt+[</translation>
     </message>
     <message>
         <source>Select Next Item &Above</source>
-        <translation type="vanished">Seleccionar el siguiente elemento de &arriba</translation>
+        <translation>Seleccionar el siguiente elemento de &arriba</translation>
     </message>
     <message>
         <source>Select next item above</source>
-        <translation type="vanished">Seleccionar el siguiente elemento de arriba</translation>
+        <translation>Seleccionar el siguiente elemento de arriba</translation>
     </message>
     <message>
         <source>Ctrl+Alt+]</source>
-        <translation type="vanished">Ctrl+Alt+]</translation>
+        <translation>Ctrl+Alt+]</translation>
     </message>
     <message>
         <source>Pan Composer</source>
-        <translation type="vanished">Desplazar diseñador</translation>
+        <translation>Desplazar diseñador</translation>
     </message>
     <message>
         <source>P</source>
-        <translation type="vanished">P</translation>
+        <translation>P</translation>
     </message>
     <message>
         <source>Show rulers</source>
-        <translation type="vanished">Mostrar deslizadores</translation>
+        <translation>Mostrar deslizadores</translation>
     </message>
     <message>
         <source>Ctrl+R</source>
-        <translation type="vanished">Ctrl+A</translation>
+        <translation>Ctrl+A</translation>
     </message>
     <message>
         <source>Ctrl+<</source>
-        <translation type="vanished">Ctrl+<</translation>
+        <translation>Ctrl+<</translation>
     </message>
     <message>
         <source>Ctrl+,</source>
-        <translation type="vanished">Ctrl+,</translation>
+        <translation>Ctrl+,</translation>
     </message>
     <message>
         <source>Ctrl+.</source>
-        <translation type="vanished">Ctrl+.</translation>
+        <translation>Ctrl+.</translation>
     </message>
     <message>
         <source>Ctrl+></source>
-        <translation type="vanished">Ctrl+></translation>
+        <translation>Ctrl+></translation>
     </message>
     <message>
         <source>Ctrl+Alt+/</source>
-        <translation type="vanished">Ctrl+Alt+/</translation>
+        <translation>Ctrl+Alt+/</translation>
     </message>
     <message>
         <source>Export Atlas as PDF</source>
-        <translation type="vanished">Exportar atlas como PDF...</translation>
+        <translation>Exportar atlas como PDF...</translation>
     </message>
     <message>
         <source>Revert last change</source>
-        <translation type="vanished">Revertir el último cambio</translation>
+        <translation>Revertir el último cambio</translation>
     </message>
     <message>
         <source>Add items from template</source>
-        <translation type="vanished">Añadir elementos desde plantilla</translation>
+        <translation>Añadir elementos desde plantilla</translation>
     </message>
     <message>
         <source>Add Arro&w</source>
-        <translation type="vanished">Añadir flec&ha</translation>
+        <translation>Añadir flec&ha</translation>
     </message>
     <message>
         <source>Add Attribute &Table</source>
-        <translation type="vanished">Añadir &tabla de atributos</translation>
+        <translation>Añadir &tabla de atributos</translation>
     </message>
     <message>
         <source>Pa&ge Setup...</source>
-        <translation type="vanished">Configurar pá&gina...</translation>
+        <translation>Configurar pá&gina...</translation>
     </message>
     <message>
         <source>Ctrl+Z</source>
-        <translation type="vanished">Ctrl+Z</translation>
+        <translation>Ctrl+Z</translation>
     </message>
     <message>
         <source>Restore last change</source>
-        <translation type="vanished">Restaurar el último cambio</translation>
+        <translation>Restaurar el último cambio</translation>
     </message>
     <message>
         <source>Ctrl+Shift+Z</source>
-        <translation type="vanished">Ctrl+Mayús+Z</translation>
+        <translation>Ctrl+Mayús+Z</translation>
     </message>
     <message>
         <source>Add Rectangle</source>
-        <translation type="vanished">Añadir rectángulo</translation>
+        <translation>Añadir rectángulo</translation>
     </message>
     <message>
         <source>Add rectangle</source>
-        <translation type="vanished">Añadir rectángulo</translation>
+        <translation>Añadir rectángulo</translation>
     </message>
     <message>
         <source>Add Triangle</source>
-        <translation type="vanished">Añadir triángulo</translation>
+        <translation>Añadir triángulo</translation>
     </message>
     <message>
         <source>Add triangle</source>
-        <translation type="vanished">Añadir triángulo</translation>
+        <translation>Añadir triángulo</translation>
     </message>
     <message>
         <source>Add Ellipse</source>
-        <translation type="vanished">Añadir elipse</translation>
+        <translation>Añadir elipse</translation>
     </message>
     <message>
         <source>Add ellipse</source>
-        <translation type="vanished">Añadir elipse</translation>
+        <translation>Añadir elipse</translation>
     </message>
     <message>
         <source>Composer manager</source>
-        <translation type="vanished">Administrador de diseñadores</translation>
+        <translation>Administrador de diseñadores</translation>
     </message>
     <message>
         <source>New composer</source>
-        <translation type="vanished">Nuevo diseñador de impresión</translation>
+        <translation>Nuevo diseñador de impresión</translation>
     </message>
     <message>
         <source>Ctrl+N</source>
-        <translation type="vanished">Ctrl+N</translation>
+        <translation>Ctrl+N</translation>
     </message>
     <message>
         <source>&Save Project</source>
-        <translation type="vanished">&Guardar proyecto</translation>
+        <translation>&Guardar proyecto</translation>
     </message>
     <message>
         <source>Save project</source>
-        <translation type="vanished">Guardar proyecto</translation>
+        <translation>Guardar proyecto</translation>
     </message>
     <message>
         <source>Ctrl+S</source>
-        <translation type="vanished">Ctrl+G</translation>
+        <translation>Ctrl+G</translation>
     </message>
     <message>
         <source>Duplicate composer</source>
-        <translation type="vanished">Duplicar diseñador</translation>
+        <translation>Duplicar diseñador</translation>
     </message>
     <message>
         <source>Ctrl+L</source>
-        <translation type="vanished">Ctrl+L</translation>
+        <translation>Ctrl+L</translation>
     </message>
     <message>
         <source>Unlock All Items</source>
-        <translation type="vanished">Desbloquear todos los elementos</translation>
+        <translation>Desbloquear todos los elementos</translation>
     </message>
     <message>
         <source>Show Bounding Boxes</source>
-        <translation type="vanished">Mostrar recuadros delimitadores</translation>
+        <translation>Mostrar recuadros delimitadores</translation>
     </message>
     <message>
         <source>Show bounding boxes</source>
-        <translation type="vanished">Mostrar recuadros delimitadores</translation>
+        <translation>Mostrar recuadros delimitadores</translation>
     </message>
     <message>
         <source>Ctrl+Shift+B</source>
-        <translation type="vanished">Ctrl+Mayúsculas+M</translation>
+        <translation>Ctrl+Mayúsculas+M</translation>
     </message>
     <message>
         <source>Toggle Full Scr&een</source>
-        <translation type="vanished">Alternar pantalla compl&eta</translation>
+        <translation>Alternar pantalla compl&eta</translation>
     </message>
     <message>
         <source>Toggle full screen mode</source>
-        <translation type="vanished">Alternar el modo de pantalla completa</translation>
+        <translation>Alternar el modo de pantalla completa</translation>
     </message>
     <message>
         <source>F11</source>
-        <translation type="vanished">F11</translation>
+        <translation>F11</translation>
     </message>
     <message>
         <source>&Hide Panels</source>
-        <translation type="vanished">&Ocultar paneles</translation>
+        <translation>&Ocultar paneles</translation>
     </message>
     <message>
         <source>Hide panels</source>
-        <translation type="vanished">Ocultar paneles</translation>
+        <translation>Ocultar paneles</translation>
     </message>
     <message>
         <source>F10</source>
-        <translation type="vanished">F10</translation>
+        <translation>F10</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerColumnAlignmentDelegate</name>
     <message>
         <source>Top left</source>
-        <translation type="vanished">Superior izquierda</translation>
+        <translation>Superior izquierda</translation>
     </message>
     <message>
         <source>Top center</source>
-        <translation type="vanished">Arriba centro</translation>
+        <translation>Arriba centro</translation>
     </message>
     <message>
         <source>Top right</source>
-        <translation type="vanished">Superior derecha</translation>
+        <translation>Superior derecha</translation>
     </message>
     <message>
         <source>Middle left</source>
-        <translation type="vanished">Centro izquierda</translation>
+        <translation>Centro izquierda</translation>
     </message>
     <message>
         <source>Middle center</source>
-        <translation type="vanished">Mitad centro</translation>
+        <translation>Mitad centro</translation>
     </message>
     <message>
         <source>Middle right</source>
-        <translation type="vanished">Centro derecha</translation>
+        <translation>Centro derecha</translation>
     </message>
     <message>
         <source>Bottom left</source>
-        <translation type="vanished">Inferior izquierda</translation>
+        <translation>Inferior izquierda</translation>
     </message>
     <message>
         <source>Bottom center</source>
-        <translation type="vanished">Abajo centro</translation>
+        <translation>Abajo centro</translation>
     </message>
     <message>
         <source>Bottom right</source>
-        <translation type="vanished">Inferior derecha</translation>
+        <translation>Inferior derecha</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerColumnSortOrderDelegate</name>
     <message>
         <source>Ascending</source>
-        <translation type="vanished">Ascendente</translation>
+        <translation>Ascendente</translation>
     </message>
     <message>
         <source>Descending</source>
-        <translation type="vanished">Descendente</translation>
+        <translation>Descendente</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerColumnWidthDelegate</name>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>Automatic</source>
-        <translation type="vanished">Automático</translation>
+        <translation>Automático</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerFrame</name>
     <message>
         <source><frame></source>
-        <translation type="vanished"><marco></translation>
+        <translation><marco></translation>
     </message>
 </context>
 <context>
     <name>QgsComposerHtml</name>
     <message>
         <source>Composer HTML item</source>
-        <translation type="vanished">Elemento HTML del diseñador</translation>
+        <translation>Elemento HTML del diseñador</translation>
     </message>
     <message>
         <source><HTML frame></source>
-        <translation type="vanished"><Marco HTML></translation>
+        <translation><Marco HTML></translation>
     </message>
 </context>
 <context>
     <name>QgsComposerHtmlWidget</name>
     <message>
         <source>Use existing frames</source>
-        <translation type="vanished">Usar marcos existentes</translation>
+        <translation>Usar marcos existentes</translation>
     </message>
     <message>
         <source>Extend to next page</source>
-        <translation type="vanished">Extender a la página siguiente</translation>
+        <translation>Extender a la página siguiente</translation>
     </message>
     <message>
         <source>Repeat on every page</source>
-        <translation type="vanished">Repetir en todas las páginas</translation>
+        <translation>Repetir en todas las páginas</translation>
     </message>
     <message>
         <source>Repeat until finished</source>
-        <translation type="vanished">Repetir hasta finalizar</translation>
+        <translation>Repetir hasta finalizar</translation>
     </message>
     <message>
         <source>Change HTML url</source>
-        <translation type="vanished">Cambiar url HTML</translation>
+        <translation>Cambiar url HTML</translation>
     </message>
     <message>
         <source>Select HTML document</source>
-        <translation type="vanished">Seleccionar documento HTML</translation>
+        <translation>Seleccionar documento HTML</translation>
     </message>
     <message>
         <source>Change resize mode</source>
-        <translation type="vanished">Cambiar modo de redimensionar</translation>
+        <translation>Cambiar modo de redimensionar</translation>
     </message>
     <message>
         <source>Evaluate expressions changed</source>
-        <translation type="vanished">Expresiones de evaluación cambiadas</translation>
+        <translation>Expresiones de evaluación cambiadas</translation>
     </message>
     <message>
         <source>Use smart breaks changed</source>
-        <translation type="vanished">Uso de saltos inteligente cambiado</translation>
+        <translation>Uso de saltos inteligente cambiado</translation>
     </message>
     <message>
         <source>Page break distance changed</source>
-        <translation type="vanished">Distancia de salto de página cambiada</translation>
+        <translation>Distancia de salto de página cambiada</translation>
     </message>
     <message>
         <source>HTML changed</source>
-        <translation type="vanished">HTML cambiado</translation>
+        <translation>HTML cambiado</translation>
     </message>
     <message>
         <source>User stylesheet changed</source>
-        <translation type="vanished">Hoja de estilos de usuario cambiada</translation>
+        <translation>Hoja de estilos de usuario cambiada</translation>
     </message>
     <message>
         <source>User stylesheet toggled</source>
-        <translation type="vanished">Hoja de estilos de usuario conmutada</translation>
+        <translation>Hoja de estilos de usuario conmutada</translation>
     </message>
     <message>
         <source>Empty frame mode toggled</source>
-        <translation type="vanished">Modo de marco vacío conmutado</translation>
+        <translation>Modo de marco vacío conmutado</translation>
     </message>
     <message>
         <source>Hide background if empty toggled</source>
-        <translation type="vanished">Ocultar fondo si está vacío conmutado</translation>
+        <translation>Ocultar fondo si está vacío conmutado</translation>
     </message>
     <message>
         <source>HTML source changed</source>
-        <translation type="vanished">Origen HTML cambiado</translation>
+        <translation>Origen HTML cambiado</translation>
     </message>
     <message>
         <source>Insert expression</source>
-        <translation type="vanished">Insertar expresión</translation>
+        <translation>Insertar expresión</translation>
     </message>
     <message>
         <source>url string</source>
-        <translation type="vanished">Cadena de URL</translation>
+        <translation>Cadena de URL</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerHtmlWidgetBase</name>
     <message>
         <source>HTML Frame</source>
-        <translation type="vanished">Marco HTML</translation>
+        <translation>Marco HTML</translation>
     </message>
     <message>
         <source>HTML frame</source>
-        <translation type="vanished">Marco HTML</translation>
+        <translation>Marco HTML</translation>
     </message>
     <message>
         <source>URL</source>
-        <translation type="vanished">URL</translation>
+        <translation>URL</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>HTML Source</source>
-        <translation type="vanished">Origen de HTML</translation>
+        <translation>Origen de HTML</translation>
     </message>
     <message>
         <source>If checked, expressions inside [% %] tags will be evaluated prior to rendering the HTML</source>
-        <translation type="vanished">Si se marca, las expresiones dentro de etiquetas [% %] se evaluarán antes de representar el HTML</translation>
+        <translation>Si se marca, las expresiones dentro de etiquetas [% %] se evaluarán antes de representar el HTML</translation>
     </message>
     <message>
         <source>Evaluate QGIS expressions in HTML source</source>
-        <translation type="vanished">Evaluar expresiones de QGIS en la fuente de HTML</translation>
+        <translation>Evaluar expresiones de QGIS en la fuente de HTML</translation>
     </message>
     <message>
         <source>Source:</source>
-        <translation type="vanished">Fuente:</translation>
+        <translation>Fuente:</translation>
     </message>
     <message>
         <source>Insert an expression</source>
-        <translation type="vanished">Insertar una expresión</translation>
+        <translation>Insertar una expresión</translation>
     </message>
     <message>
         <source>Frames</source>
-        <translation type="vanished">Marcos</translation>
+        <translation>Marcos</translation>
     </message>
     <message>
         <source>Don't export page if frame is empty</source>
-        <translation type="vanished">No exportar página si el marco está vacío</translation>
+        <translation>No exportar página si el marco está vacío</translation>
     </message>
     <message>
         <source>Resize mode</source>
-        <translation type="vanished">Modo redimensionar</translation>
+        <translation>Modo redimensionar</translation>
     </message>
     <message>
         <source>Add Frame</source>
-        <translation type="vanished">Añadir marco</translation>
+        <translation>Añadir marco</translation>
     </message>
     <message>
         <source>Don't draw background if frame is empty</source>
-        <translation type="vanished">No dibujar fondo si el marco está vacío</translation>
+        <translation>No dibujar fondo si el marco está vacío</translation>
     </message>
     <message>
         <source>Use smart page breaks</source>
-        <translation type="vanished">Usar saltos de página inteligentes</translation>
+        <translation>Usar saltos de página inteligentes</translation>
     </message>
     <message>
         <source>Maximum distance</source>
-        <translation type="vanished">Distancia máxima</translation>
+        <translation>Distancia máxima</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>User stylesheet</source>
-        <translation type="vanished">Hoja de estilos de usuario</translation>
+        <translation>Hoja de estilos de usuario</translation>
     </message>
     <message>
         <source>Update HTML</source>
-        <translation type="vanished">Actualizar HTML</translation>
+        <translation>Actualizar HTML</translation>
     </message>
     <message>
         <source>Refresh HTML</source>
-        <translation type="vanished">Actualizar HTML</translation>
+        <translation>Actualizar HTML</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerImageExportOptionsDialog</name>
     <message>
         <source>Image export options</source>
-        <translation type="vanished">Opciones de exportación de imagen</translation>
+        <translation>Opciones de exportación de imagen</translation>
     </message>
     <message>
         <source>Export options</source>
-        <translation type="vanished">Opciones de exportación</translation>
+        <translation>Opciones de exportación</translation>
     </message>
     <message>
         <source>Export resolution</source>
-        <translation type="vanished">Resolución de exportación</translation>
+        <translation>Resolución de exportación</translation>
     </message>
     <message>
         <source>Page height</source>
-        <translation type="vanished">Altura de página</translation>
+        <translation>Altura de página</translation>
     </message>
     <message>
         <source> dpi</source>
-        <translation type="vanished">.ppp</translation>
+        <translation>.ppp</translation>
     </message>
     <message>
         <source>Auto</source>
-        <translation type="vanished">Auto</translation>
+        <translation>Auto</translation>
     </message>
     <message>
         <source> px</source>
-        <translation type="vanished"> px</translation>
+        <translation> px</translation>
     </message>
     <message>
         <source>Page width</source>
-        <translation type="vanished">Anchura de página</translation>
+        <translation>Anchura de página</translation>
     </message>
     <message>
         <source>Crop to content</source>
-        <translation type="vanished">Recortar al contenido</translation>
+        <translation>Recortar al contenido</translation>
     </message>
     <message>
         <source>Left</source>
-        <translation type="vanished">Izquierda</translation>
+        <translation>Izquierda</translation>
     </message>
     <message>
         <source>Right</source>
-        <translation type="vanished">Derecha</translation>
+        <translation>Derecha</translation>
     </message>
     <message>
         <source>Bottom</source>
-        <translation type="vanished">Abajo</translation>
+        <translation>Abajo</translation>
     </message>
     <message>
         <source>Top margin</source>
-        <translation type="vanished">Margen superior</translation>
+        <translation>Margen superior</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerItem</name>
     <message>
         <source><arrow></source>
-        <translation type="vanished"><flecha></translation>
+        <translation><flecha></translation>
     </message>
     <message>
         <source><group></source>
-        <translation type="vanished"><grupo></translation>
+        <translation><grupo></translation>
     </message>
     <message>
         <source><label></source>
-        <translation type="vanished"><etiqueta></translation>
+        <translation><etiqueta></translation>
     </message>
     <message>
         <source><legend></source>
-        <translation type="vanished"><leyenda></translation>
+        <translation><leyenda></translation>
     </message>
     <message>
         <source><map></source>
-        <translation type="vanished"><mapa></translation>
+        <translation><mapa></translation>
     </message>
     <message>
         <source><picture></source>
-        <translation type="vanished"><imagen></translation>
+        <translation><imagen></translation>
     </message>
     <message>
         <source><scale bar></source>
-        <translation type="vanished"><barra de escala></translation>
+        <translation><barra de escala></translation>
     </message>
     <message>
         <source><shape></source>
-        <translation type="vanished"><forma></translation>
+        <translation><forma></translation>
     </message>
     <message>
         <source><table></source>
-        <translation type="vanished"><tabla></translation>
+        <translation><tabla></translation>
     </message>
     <message>
         <source><attribute table></source>
-        <translation type="vanished"><tabla de atributos></translation>
+        <translation><tabla de atributos></translation>
     </message>
     <message>
         <source><text table></source>
-        <translation type="vanished"><tabla de texto></translation>
+        <translation><tabla de texto></translation>
     </message>
     <message>
         <source><frame></source>
-        <translation type="vanished"><marco></translation>
+        <translation><marco></translation>
     </message>
     <message>
         <source><item></source>
-        <translation type="vanished"><elemento></translation>
+        <translation><elemento></translation>
     </message>
 </context>
 <context>
     <name>QgsComposerItemWidget</name>
     <message>
         <source>Frame color changed</source>
-        <translation type="vanished">Cambiado el color del marco</translation>
+        <translation>Cambiado el color del marco</translation>
     </message>
     <message>
         <source>Background color changed</source>
-        <translation type="vanished">Cambiado el color de fondo</translation>
+        <translation>Cambiado el color de fondo</translation>
     </message>
     <message>
         <source>Item position changed</source>
-        <translation type="vanished">Cambiada la posición del elemento</translation>
+        <translation>Cambiada la posición del elemento</translation>
     </message>
     <message>
         <source>Item outline width</source>
-        <translation type="vanished">Anchura de línea exterior del elemento</translation>
+        <translation>Anchura de línea exterior del elemento</translation>
     </message>
     <message>
         <source>Item frame join style</source>
-        <translation type="vanished">Estilo de unión de marco del elemento</translation>
+        <translation>Estilo de unión de marco del elemento</translation>
     </message>
     <message>
         <source>Item frame toggled</source>
-        <translation type="vanished">Alternado de marco del elemento</translation>
+        <translation>Alternado de marco del elemento</translation>
     </message>
     <message>
         <source>Item background toggled</source>
-        <translation type="vanished">Fondo del elemento conmutado</translation>
+        <translation>Fondo del elemento conmutado</translation>
     </message>
     <message>
         <source>Select background color</source>
-        <translation type="vanished">Seleccionar color de fondo</translation>
+        <translation>Seleccionar color de fondo</translation>
     </message>
     <message>
         <source>Select frame color</source>
-        <translation type="vanished">Seleccionar color del marco</translation>
+        <translation>Seleccionar color del marco</translation>
     </message>
     <message>
         <source>Item blend mode changed</source>
-        <translation type="vanished">Cambiado el modo de mezcla del elemento</translation>
+        <translation>Cambiado el modo de mezcla del elemento</translation>
     </message>
     <message>
         <source>Item transparency changed</source>
-        <translation type="vanished">cambiada la transparencia del elemento</translation>
+        <translation>cambiada la transparencia del elemento</translation>
     </message>
     <message>
         <source>Item id changed</source>
-        <translation type="vanished">Cambiada la id del elemento</translation>
+        <translation>Cambiada la id del elemento</translation>
     </message>
     <message>
         <source>Item rotation changed</source>
-        <translation type="vanished">cambiada la rotación del elemento</translation>
+        <translation>cambiada la rotación del elemento</translation>
     </message>
     <message>
         <source>Exclude from exports changed</source>
-        <translation type="vanished">Excluir de exportaciones cambiado</translation>
+        <translation>Excluir de exportaciones cambiado</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerItemWidgetBase</name>
     <message>
         <source>Global Options</source>
-        <translation type="vanished">Opciones generales</translation>
+        <translation>Opciones generales</translation>
     </message>
     <message>
         <source>Position and size</source>
-        <translation type="vanished">Posición y tamaño</translation>
+        <translation>Posición y tamaño</translation>
     </message>
     <message>
         <source>Reference point</source>
-        <translation type="vanished">Punto de referencia</translation>
+        <translation>Punto de referencia</translation>
     </message>
     <message>
         <source>X</source>
-        <translation type="vanished">X</translation>
+        <translation>X</translation>
     </message>
     <message>
         <source>Y</source>
-        <translation type="vanished">Y</translation>
+        <translation>Y</translation>
     </message>
     <message>
         <source>Width</source>
-        <translation type="vanished">Anchura</translation>
+        <translation>Anchura</translation>
     </message>
     <message>
         <source>Height</source>
-        <translation type="vanished">Altura</translation>
+        <translation>Altura</translation>
     </message>
     <message>
         <source>Page</source>
-        <translation type="vanished">Página</translation>
+        <translation>Página</translation>
     </message>
     <message>
         <source>Rotation</source>
-        <translation type="vanished">Rotación</translation>
+        <translation>Rotación</translation>
     </message>
     <message>
         <source> °</source>
-        <translation type="vanished"> °</translation>
+        <translation> °</translation>
     </message>
     <message>
         <source>Variables</source>
-        <translation type="vanished">Variables</translation>
+        <translation>Variables</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Frame</source>
-        <translation type="vanished">Marco</translation>
+        <translation>Marco</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>Join style</source>
-        <translation type="vanished">Estilo de ángulos</translation>
+        <translation>Estilo de ángulos</translation>
     </message>
     <message>
         <source>Frame color</source>
-        <translation type="vanished">Color de marco</translation>
+        <translation>Color de marco</translation>
     </message>
     <message>
         <source>Background color</source>
-        <translation type="vanished">Color de fondo</translation>
+        <translation>Color de fondo</translation>
     </message>
     <message>
         <source>Rendering</source>
-        <translation type="vanished">Representación</translation>
+        <translation>Representación</translation>
     </message>
     <message>
         <source>Blending mode</source>
-        <translation type="vanished">Modo de mezcla</translation>
+        <translation>Modo de mezcla</translation>
     </message>
     <message>
         <source>Exclude item from exports</source>
-        <translation type="vanished">Excluir elemento de las exportaciones</translation>
+        <translation>Excluir elemento de las exportaciones</translation>
     </message>
     <message>
         <source>Thickness</source>
-        <translation type="vanished">Grosor</translation>
+        <translation>Grosor</translation>
     </message>
     <message>
         <source>Background</source>
-        <translation type="vanished">Fondo</translation>
+        <translation>Fondo</translation>
     </message>
     <message>
         <source>Transparency</source>
-        <translation type="vanished">Transparencia</translation>
+        <translation>Transparencia</translation>
     </message>
     <message>
         <source>Item ID</source>
-        <translation type="vanished">ID del elemento</translation>
+        <translation>ID del elemento</translation>
     </message>
     <message>
         <source>Id</source>
-        <translation type="vanished">ID</translation>
+        <translation>ID</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerLabel</name>
     <message>
         <source>Composer label item</source>
-        <translation type="vanished">Elemento etiqueta del diseñador</translation>
+        <translation>Elemento etiqueta del diseñador</translation>
     </message>
     <message>
         <source><HTML label></source>
-        <translation type="vanished"><etiqueta HTML></translation>
+        <translation><etiqueta HTML></translation>
     </message>
     <message>
         <source><label></source>
-        <translation type="vanished"><etiqueta></translation>
+        <translation><etiqueta></translation>
     </message>
     <message>
         <source>%1...</source>
-        <translation type="vanished">%1...</translation>
+        <translation>%1...</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerLabelWidget</name>
     <message>
         <source>Select font color</source>
-        <translation type="vanished">Seleccionar color de letra</translation>
+        <translation>Seleccionar color de letra</translation>
     </message>
     <message>
         <source>Label text HTML state changed</source>
-        <translation type="vanished">Cambiado el estado HTML del texto de etiqueta</translation>
+        <translation>Cambiado el estado HTML del texto de etiqueta</translation>
     </message>
     <message>
         <source>Label text changed</source>
-        <translation type="vanished">Cambiado el texto de la etiqueta</translation>
+        <translation>Cambiado el texto de la etiqueta</translation>
     </message>
     <message>
         <source>Label font changed</source>
-        <translation type="vanished">Cambiado el tipo de letra de la etiqueta</translation>
+        <translation>Cambiado el tipo de letra de la etiqueta</translation>
     </message>
     <message>
         <source>Label margin changed</source>
-        <translation type="vanished">Cambiado el margen de la etiqueta</translation>
+        <translation>Cambiado el margen de la etiqueta</translation>
     </message>
     <message>
         <source>Label color changed</source>
-        <translation type="vanished">Color de etiqueta cambiado</translation>
+        <translation>Color de etiqueta cambiado</translation>
     </message>
     <message>
         <source>Insert expression</source>
-        <translation type="vanished">Insertar expresión</translation>
+        <translation>Insertar expresión</translation>
     </message>
     <message>
         <source>Label alignment changed</source>
-        <translation type="vanished">Cambiada la alineación de la etiqueta</translation>
+        <translation>Cambiada la alineación de la etiqueta</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerLabelWidgetBase</name>
     <message>
         <source>Label Options</source>
-        <translation type="vanished">Opciones de etiquetas</translation>
+        <translation>Opciones de etiquetas</translation>
     </message>
     <message>
         <source>Label</source>
-        <translation type="vanished">Etiqueta</translation>
+        <translation>Etiqueta</translation>
     </message>
     <message>
         <source>Main properties</source>
-        <translation type="vanished">Propiedades principales</translation>
+        <translation>Propiedades principales</translation>
     </message>
     <message>
         <source>Render as HTML</source>
-        <translation type="vanished">Representar como HTML</translation>
+        <translation>Representar como HTML</translation>
     </message>
     <message>
         <source>Insert an expression...</source>
-        <translation type="vanished">Insertar una expresión...</translation>
+        <translation>Insertar una expresión...</translation>
     </message>
     <message>
         <source>Appearance</source>
-        <translation type="vanished">Apariencia</translation>
+        <translation>Apariencia</translation>
     </message>
     <message>
         <source>Font...</source>
-        <translation type="vanished">Tipo de letra...</translation>
+        <translation>Tipo de letra...</translation>
     </message>
     <message>
         <source>Font color</source>
-        <translation type="vanished">Color de letras</translation>
+        <translation>Color de letras</translation>
     </message>
     <message>
         <source>Horizontal alignment</source>
-        <translation type="vanished">Alineación horizontal</translation>
+        <translation>Alineación horizontal</translation>
     </message>
     <message>
         <source>Vertical alignment</source>
-        <translation type="vanished">Alineación vertical</translation>
+        <translation>Alineación vertical</translation>
     </message>
     <message>
         <source>Top</source>
-        <translation type="vanished">Arriba</translation>
+        <translation>Arriba</translation>
     </message>
     <message>
         <source>Middle</source>
-        <translation type="vanished">Medio</translation>
+        <translation>Medio</translation>
     </message>
     <message>
         <source>Bottom</source>
-        <translation type="vanished">Abajo</translation>
+        <translation>Abajo</translation>
     </message>
     <message>
         <source>Left</source>
-        <translation type="vanished">Izquierda</translation>
+        <translation>Izquierda</translation>
     </message>
     <message>
         <source>Center</source>
-        <translation type="vanished">Centro</translation>
+        <translation>Centro</translation>
     </message>
     <message>
         <source>Right</source>
-        <translation type="vanished">Derecha</translation>
+        <translation>Derecha</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>Horizontal margin</source>
-        <translation type="vanished">Margen horizontal</translation>
+        <translation>Margen horizontal</translation>
     </message>
     <message>
         <source>Vertical margin</source>
-        <translation type="vanished">Margen vertical</translation>
+        <translation>Margen vertical</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerLegend</name>
     <message>
         <source><legend></source>
-        <translation type="vanished"><leyenda></translation>
+        <translation><leyenda></translation>
     </message>
     <message>
         <source>%1...</source>
-        <translation type="vanished">%1...</translation>
+        <translation>%1...</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerLegendItemDialogBase</name>
     <message>
         <source>Legend item properties</source>
-        <translation type="vanished">Propiedades del elemento de la leyenda</translation>
+        <translation>Propiedades del elemento de la leyenda</translation>
     </message>
     <message>
         <source>Item text</source>
-        <translation type="vanished">Texto del elemento</translation>
+        <translation>Texto del elemento</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerLegendLayersDialogBase</name>
     <message>
         <source>Add layer to legend</source>
-        <translation type="vanished">Añadir capa al panel Capas</translation>
+        <translation>Añadir capa al panel Capas</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerLegendWidget</name>
     <message>
         <source>Select font color</source>
-        <translation type="vanished">Seleccionar color de letra</translation>
+        <translation>Seleccionar color de letra</translation>
     </message>
     <message>
         <source>Select border color</source>
-        <translation type="vanished">Seleccionar color de borde</translation>
+        <translation>Seleccionar color de borde</translation>
     </message>
     <message>
         <source>Item wrapping changed</source>
-        <translation type="vanished">Cambiada la envoltura del elemento</translation>
+        <translation>Cambiada la envoltura del elemento</translation>
     </message>
     <message>
         <source>Legend title changed</source>
-        <translation type="vanished">Cambiado el título de la leyenda</translation>
+        <translation>Cambiado el título de la leyenda</translation>
     </message>
     <message>
         <source>Legend title alignment changed</source>
-        <translation type="vanished">Cambiada la alineación del título de la leyenda</translation>
+        <translation>Cambiada la alineación del título de la leyenda</translation>
     </message>
     <message>
         <source>Legend column count</source>
-        <translation type="vanished">Cuenta de columnas de la leyenda</translation>
+        <translation>Cuenta de columnas de la leyenda</translation>
     </message>
     <message>
         <source>Legend split layers</source>
-        <translation type="vanished">Dividir capas de la leyenda</translation>
+        <translation>Dividir capas de la leyenda</translation>
     </message>
     <message>
         <source>Legend equal column width</source>
-        <translation type="vanished">Anchura de columnas de la leyenda igual</translation>
+        <translation>Anchura de columnas de la leyenda igual</translation>
     </message>
     <message>
         <source>Legend symbol width</source>
-        <translation type="vanished">Anchura de símbolo de la leyenda</translation>
+        <translation>Anchura de símbolo de la leyenda</translation>
     </message>
     <message>
         <source>Legend symbol height</source>
-        <translation type="vanished">Altura de símbolo de la leyenda</translation>
+        <translation>Altura de símbolo de la leyenda</translation>
     </message>
     <message>
         <source>Wms Legend width</source>
-        <translation type="vanished">Anchura de la leyenda WMS</translation>
+        <translation>Anchura de la leyenda WMS</translation>
     </message>
     <message>
         <source>Wms Legend height</source>
-        <translation type="vanished">Altura de la leyenda WMS</translation>
+        <translation>Altura de la leyenda WMS</translation>
     </message>
     <message>
         <source>Legend title space bottom</source>
-        <translation type="vanished">Inferior del espacio del título de la leyenda</translation>
+        <translation>Inferior del espacio del título de la leyenda</translation>
     </message>
     <message>
         <source>Legend group space</source>
-        <translation type="vanished">Espacio del grupo de la leyenda</translation>
+        <translation>Espacio del grupo de la leyenda</translation>
     </message>
     <message>
         <source>Legend layer space</source>
-        <translation type="vanished">Espacio de capas de la leyenda</translation>
+        <translation>Espacio de capas de la leyenda</translation>
     </message>
     <message>
         <source>Legend symbol space</source>
-        <translation type="vanished">Espacio de símbolos de la leyenda</translation>
+        <translation>Espacio de símbolos de la leyenda</translation>
     </message>
     <message>
         <source>Legend icon label space</source>
-        <translation type="vanished">Espacio de etiquetas de icono de la leyenda</translation>
+        <translation>Espacio de etiquetas de icono de la leyenda</translation>
     </message>
     <message>
         <source>Title font changed</source>
-        <translation type="vanished">Cambiado el tipo de letra del título</translation>
+        <translation>Cambiado el tipo de letra del título</translation>
     </message>
     <message>
         <source>Legend group font changed</source>
-        <translation type="vanished">Cambiado el tipo de letra del grupo de la leyenda</translation>
+        <translation>Cambiado el tipo de letra del grupo de la leyenda</translation>
     </message>
     <message>
         <source>Legend layer font changed</source>
-        <translation type="vanished">Cambiado el tipo de letra de la capa de la leyenda</translation>
+        <translation>Cambiado el tipo de letra de la capa de la leyenda</translation>
     </message>
     <message>
         <source>Legend item font changed</source>
-        <translation type="vanished">Cambiado el tipo de letra del elemento de la leyenda</translation>
+        <translation>Cambiado el tipo de letra del elemento de la leyenda</translation>
     </message>
     <message>
         <source>Legend font color changed</source>
-        <translation type="vanished">Cambiado el color de letras de la leyenda</translation>
+        <translation>Cambiado el color de letras de la leyenda</translation>
     </message>
     <message>
         <source>Legend box space</source>
-        <translation type="vanished">Espacio de caja de la leyenda</translation>
+        <translation>Espacio de caja de la leyenda</translation>
     </message>
     <message>
         <source>Legend map changed</source>
-        <translation type="vanished">Cambiado el mapa de la leyenda</translation>
+        <translation>Cambiado el mapa de la leyenda</translation>
     </message>
     <message>
         <source>Legend raster borders</source>
-        <translation type="vanished">Bordes ráster de leyenda</translation>
+        <translation>Bordes ráster de leyenda</translation>
     </message>
     <message>
         <source>Legend raster border width</source>
-        <translation type="vanished">Anchura de borde ráster de leyenda</translation>
+        <translation>Anchura de borde ráster de leyenda</translation>
     </message>
     <message>
         <source>Legend raster border color</source>
-        <translation type="vanished">Color de borde ráster de leyenda</translation>
+        <translation>Color de borde ráster de leyenda</translation>
     </message>
     <message>
         <source>Legend item properties</source>
-        <translation type="vanished">Propiedades del elemento de la leyenda</translation>
+        <translation>Propiedades del elemento de la leyenda</translation>
     </message>
     <message>
         <source>Item text</source>
-        <translation type="vanished">Texto del elemento</translation>
+        <translation>Texto del elemento</translation>
     </message>
     <message>
         <source>Legend item edited</source>
-        <translation type="vanished">Editado elemento de la leyenda</translation>
+        <translation>Editado elemento de la leyenda</translation>
     </message>
     <message>
         <source>Legend updated</source>
-        <translation type="vanished">Leyenda actualizada</translation>
+        <translation>Leyenda actualizada</translation>
     </message>
     <message>
         <source>Legend group added</source>
-        <translation type="vanished">Añadido grupo a la leyenda</translation>
+        <translation>Añadido grupo a la leyenda</translation>
     </message>
     <message>
         <source>Group</source>
-        <translation type="vanished">Grupo</translation>
+        <translation>Grupo</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerLegendWidgetBase</name>
     <message>
         <source>Legend Options</source>
-        <translation type="vanished">Opciones de la leyenda</translation>
+        <translation>Opciones de la leyenda</translation>
     </message>
     <message>
         <source>Legend</source>
-        <translation type="vanished">Leyenda</translation>
+        <translation>Leyenda</translation>
     </message>
     <message>
         <source>Main properties</source>
-        <translation type="vanished">Propiedades principales</translation>
+        <translation>Propiedades principales</translation>
     </message>
     <message>
         <source>&Title</source>
-        <translation type="vanished">&Título</translation>
+        <translation>&Título</translation>
     </message>
     <message>
         <source>Map</source>
-        <translation type="vanished">Mapa</translation>
+        <translation>Mapa</translation>
     </message>
     <message>
         <source>Wrap text on</source>
-        <translation type="vanished">Envolver texto</translation>
+        <translation>Envolver texto</translation>
     </message>
     <message>
         <source>Legend items</source>
-        <translation type="vanished">Elementos de la leyenda</translation>
+        <translation>Elementos de la leyenda</translation>
     </message>
     <message>
         <source>Add group</source>
-        <translation type="vanished">Añadir grupo</translation>
+        <translation>Añadir grupo</translation>
     </message>
     <message>
         <source>Show feature count for each class of vector layer.</source>
-        <translation type="vanished">Mostrar cuenta de objetos espaciales para clase de capa vectorial.</translation>
+        <translation>Mostrar cuenta de objetos espaciales para clase de capa vectorial.</translation>
     </message>
     <message>
         <source>Fonts</source>
-        <translation type="vanished">Tipos de letra</translation>
+        <translation>Tipos de letra</translation>
     </message>
     <message>
         <source>Space above text using subgroup style.</source>
-        <translation type="vanished">Espacio sobre el texto usando estilo de subgrupo.</translation>
+        <translation>Espacio sobre el texto usando estilo de subgrupo.</translation>
     </message>
     <message>
         <source>Subgroup space</source>
-        <translation type="vanished">Espacio del subgrupo</translation>
+        <translation>Espacio del subgrupo</translation>
     </message>
     <message>
         <source>Space above symbol and symbol label.</source>
-        <translation type="vanished">Espacio sobre el símbolo y etiqueta del símbolo.</translation>
+        <translation>Espacio sobre el símbolo y etiqueta del símbolo.</translation>
     </message>
     <message>
         <source>Column space</source>
-        <translation type="vanished">Espacio de columnas</translation>
+        <translation>Espacio de columnas</translation>
     </message>
     <message>
         <source>Columns</source>
-        <translation type="vanished">Columnas</translation>
+        <translation>Columnas</translation>
     </message>
     <message>
         <source>Count</source>
-        <translation type="vanished">Cuenta</translation>
+        <translation>Cuenta</translation>
     </message>
     <message>
         <source>Equal column widths</source>
-        <translation type="vanished">Anchura de columnas igual</translation>
+        <translation>Anchura de columnas igual</translation>
     </message>
     <message>
         <source>Split layers</source>
-        <translation type="vanished">Dividir capas</translation>
+        <translation>Dividir capas</translation>
     </message>
     <message>
         <source>Spacing</source>
-        <translation type="vanished">Separación</translation>
+        <translation>Separación</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>Title alignment:</source>
-        <translation type="vanished">Alineación del título:</translation>
+        <translation>Alineación del título:</translation>
     </message>
     <message>
         <source>Left</source>
-        <translation type="vanished">Izquierda</translation>
+        <translation>Izquierda</translation>
     </message>
     <message>
         <source>Center</source>
-        <translation type="vanished">Centro</translation>
+        <translation>Centro</translation>
     </message>
     <message>
         <source>Right</source>
-        <translation type="vanished">Derecha</translation>
+        <translation>Derecha</translation>
     </message>
     <message>
         <source>Update whole legend. Layers are added/removed according to main application legend. User defined labels will be deleted.</source>
-        <translation type="vanished">Actualizar toda la leyenda. Las capas se añaden/eliminan de acuerdo con la leyenda de la aplicación principal. Las etiquetas definidas por el usuario se borrarán.</translation>
+        <translation>Actualizar toda la leyenda. Las capas se añaden/eliminan de acuerdo con la leyenda de la aplicación principal. Las etiquetas definidas por el usuario se borrarán.</translation>
     </message>
     <message>
         <source>Update all</source>
-        <translation type="vanished">Actualizar todo</translation>
+        <translation>Actualizar todo</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Auto update</source>
-        <translation type="vanished">Auto actualizar</translation>
+        <translation>Auto actualizar</translation>
     </message>
     <message>
         <source>Filter Legend By Map Content</source>
-        <translation type="vanished">Filtrar leyenda por contenido del mapa</translation>
+        <translation>Filtrar leyenda por contenido del mapa</translation>
     </message>
     <message>
         <source>Filter out legend elements that lie outside the current atlas feature.</source>
-        <translation type="vanished">Eliminar elementos de la leyenda que caen fuera del objeto actual de atlas.</translation>
+        <translation>Eliminar elementos de la leyenda que caen fuera del objeto actual de atlas.</translation>
     </message>
     <message>
         <source>Only show items inside current atlas feature</source>
-        <translation type="vanished">Mostrar solo elementos dentro del objeto de atlas actual</translation>
+        <translation>Mostrar solo elementos dentro del objeto de atlas actual</translation>
     </message>
     <message>
         <source>Title font...</source>
-        <translation type="vanished">Tipo de letra del título...</translation>
+        <translation>Tipo de letra del título...</translation>
     </message>
     <message>
         <source>Subgroup font...</source>
-        <translation type="vanished">Tipo de letra de subgrupos...</translation>
+        <translation>Tipo de letra de subgrupos...</translation>
     </message>
     <message>
         <source>Group font...</source>
-        <translation type="vanished">Tipo de letra de grupo...</translation>
+        <translation>Tipo de letra de grupo...</translation>
     </message>
     <message>
         <source>Item font...</source>
-        <translation type="vanished">Tipo de letra de elemento...</translation>
+        <translation>Tipo de letra de elemento...</translation>
     </message>
     <message>
         <source>Font color</source>
-        <translation type="vanished">Color de letras</translation>
+        <translation>Color de letras</translation>
     </message>
     <message>
         <source>Allow splitting layer items into multiple columns.</source>
-        <translation type="vanished">Permitir dividir elementos de la capa en múltiples columnas.</translation>
+        <translation>Permitir dividir elementos de la capa en múltiples columnas.</translation>
     </message>
     <message>
         <source>Symbol</source>
-        <translation type="vanished">Símbolo</translation>
+        <translation>Símbolo</translation>
     </message>
     <message>
         <source>Symbol width</source>
-        <translation type="vanished">Anchura de símbolo</translation>
+        <translation>Anchura de símbolo</translation>
     </message>
     <message>
         <source>Symbol height</source>
-        <translation type="vanished">Altura de símbolo</translation>
+        <translation>Altura de símbolo</translation>
     </message>
     <message>
         <source>Draw border for raster symbols</source>
-        <translation type="vanished">Dibujar borde para símbolos ráster</translation>
+        <translation>Dibujar borde para símbolos ráster</translation>
     </message>
     <message>
         <source>Border color</source>
-        <translation type="vanished">Color de borde</translation>
+        <translation>Color de borde</translation>
     </message>
     <message>
         <source>Thickness</source>
-        <translation type="vanished">Grosor</translation>
+        <translation>Grosor</translation>
     </message>
     <message>
         <source>Hairline</source>
-        <translation type="vanished">Línea fina</translation>
+        <translation>Línea fina</translation>
     </message>
     <message>
         <source>WMS LegendGraphic</source>
-        <translation type="vanished">Gráfico de Leyenda WMS</translation>
+        <translation>Gráfico de Leyenda WMS</translation>
     </message>
     <message>
         <source>Legend width</source>
-        <translation type="vanished">Anchura de la leyenda</translation>
+        <translation>Anchura de la leyenda</translation>
     </message>
     <message>
         <source>Legend height</source>
-        <translation type="vanished">Altura de la leyenda</translation>
+        <translation>Altura de la leyenda</translation>
     </message>
     <message>
         <source>Space above text using group style.</source>
-        <translation type="vanished">Espacio sobre el texto usando estilo de grupo.</translation>
+        <translation>Espacio sobre el texto usando estilo de grupo.</translation>
     </message>
     <message>
         <source>Group Space</source>
-        <translation type="vanished">Espacio del grupo</translation>
+        <translation>Espacio del grupo</translation>
     </message>
     <message>
         <source>Symbol space</source>
-        <translation type="vanished">Espacio de símbolos</translation>
+        <translation>Espacio de símbolos</translation>
     </message>
     <message>
         <source>Space between symbol icon and symbol label (symbol label left margin).</source>
-        <translation type="vanished">Espacio entre icono de símbolo y etiqueta de símbolo (margen izquierdo de la etiqueta de símbolo).</translation>
+        <translation>Espacio entre icono de símbolo y etiqueta de símbolo (margen izquierdo de la etiqueta de símbolo).</translation>
     </message>
     <message>
         <source>Icon label space</source>
-        <translation type="vanished">Espacio de etiqueta de icono</translation>
+        <translation>Espacio de etiqueta de icono</translation>
     </message>
     <message>
         <source>Box space</source>
-        <translation type="vanished">Espacio de caja</translation>
+        <translation>Espacio de caja</translation>
     </message>
     <message>
         <source>Space below title.</source>
-        <translation type="vanished">Espacio debajo del título.</translation>
+        <translation>Espacio debajo del título.</translation>
     </message>
     <message>
         <source>Title space</source>
-        <translation type="vanished">Estilo del título</translation>
+        <translation>Estilo del título</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerManager</name>
     <message>
         <source>&Show</source>
-        <translation type="vanished">Mo&strar</translation>
+        <translation>Mo&strar</translation>
     </message>
     <message>
         <source>&Duplicate</source>
-        <translation type="vanished">&Duplicar</translation>
+        <translation>&Duplicar</translation>
     </message>
     <message>
         <source>&Remove</source>
-        <translation type="vanished">Elimina&r</translation>
+        <translation>Elimina&r</translation>
     </message>
     <message>
         <source>Re&name</source>
-        <translation type="vanished">Cambiar &nombre</translation>
+        <translation>Cambiar &nombre</translation>
     </message>
     <message>
         <source>Empty composer</source>
-        <translation type="vanished">Diseñador vacío</translation>
+        <translation>Diseñador vacío</translation>
     </message>
     <message>
         <source>Specific</source>
-        <translation type="vanished">Específico</translation>
+        <translation>Específico</translation>
     </message>
     <message>
         <source>Template error</source>
-        <translation type="vanished">Error de plantilla</translation>
+        <translation>Error de plantilla</translation>
     </message>
     <message>
         <source>Error, template file not found</source>
-        <translation type="vanished">Error, no se encontró el archivo de la plantilla</translation>
+        <translation>Error, no se encontró el archivo de la plantilla</translation>
     </message>
     <message>
         <source>Error, could not read file</source>
-        <translation type="vanished">Error, no se pudo leer el archivo</translation>
+        <translation>Error, no se pudo leer el archivo</translation>
     </message>
     <message>
         <source>Composer error</source>
-        <translation type="vanished">Error del diseñador</translation>
+        <translation>Error del diseñador</translation>
     </message>
     <message>
         <source>Error, could not create composer</source>
-        <translation type="vanished">Error, no se pudo crear el diseñador</translation>
+        <translation>Error, no se pudo crear el diseñador</translation>
     </message>
     <message>
         <source>Error, could not load template file</source>
-        <translation type="vanished">Error, no se pudo cargar el archivo de la plantilla</translation>
+        <translation>Error, no se pudo cargar el archivo de la plantilla</translation>
     </message>
     <message>
         <source>Choose template</source>
-        <translation type="vanished">Seleccionar plantilla</translation>
+        <translation>Seleccionar plantilla</translation>
     </message>
     <message>
         <source>Composer templates</source>
-        <translation type="vanished">Plantillas del diseñador</translation>
+        <translation>Plantillas del diseñador</translation>
     </message>
     <message>
         <source>File system error</source>
-        <translation type="vanished">Error del sistema de archivos</translation>
+        <translation>Error del sistema de archivos</translation>
     </message>
     <message>
         <source>Error, could not open or create local directory</source>
-        <translation type="vanished">Error, no se pudo abrir o crear el directorio local</translation>
+        <translation>Error, no se pudo abrir o crear el directorio local</translation>
     </message>
     <message>
         <source>Remove composers</source>
-        <translation type="vanished">Eliminar diseñadores</translation>
+        <translation>Eliminar diseñadores</translation>
     </message>
     <message>
         <source>Do you really want to remove all selected map composers?</source>
-        <translation type="vanished">¿Realmente quiere eliminar todos los diseñadores de mapas seleccionados?</translation>
+        <translation>¿Realmente quiere eliminar todos los diseñadores de mapas seleccionados?</translation>
     </message>
     <message>
         <source>Remove composer</source>
-        <translation type="vanished">Eliminar diseñador</translation>
+        <translation>Eliminar diseñador</translation>
     </message>
     <message>
         <source>Do you really want to remove the map composer '%1'?</source>
-        <translation type="vanished">¿Seguro que quiere eliminar el diseñador de impresión '%1'?</translation>
+        <translation>¿Seguro que quiere eliminar el diseñador de impresión '%1'?</translation>
     </message>
     <message>
         <source> copy</source>
-        <translation type="vanished"> copiar</translation>
+        <translation> copiar</translation>
     </message>
     <message>
         <source>Duplicating composer...</source>
-        <translation type="vanished">Duplicando diseñador...</translation>
+        <translation>Duplicando diseñador...</translation>
     </message>
     <message>
         <source>Duplicate Composer</source>
-        <translation type="vanished">Duplicar diseñador</translation>
+        <translation>Duplicar diseñador</translation>
     </message>
     <message>
         <source>Composer duplication failed.</source>
-        <translation type="vanished">Falló la duplicación del diseñador.</translation>
+        <translation>Falló la duplicación del diseñador.</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerManagerBase</name>
     <message>
         <source>Composer manager</source>
-        <translation type="vanished">Administrador de diseñadores</translation>
+        <translation>Administrador de diseñadores</translation>
     </message>
     <message>
         <source>New from template</source>
-        <translation type="vanished">Nuevo a partir de plantilla</translation>
+        <translation>Nuevo a partir de plantilla</translation>
     </message>
     <message>
         <source>Add</source>
-        <translation type="vanished">Añadir</translation>
+        <translation>Añadir</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Open template directory</source>
-        <translation type="vanished">Abrir directorio de plantillas</translation>
+        <translation>Abrir directorio de plantillas</translation>
     </message>
     <message>
         <source>user</source>
-        <translation type="vanished">usuario</translation>
+        <translation>usuario</translation>
     </message>
     <message>
         <source>default</source>
-        <translation type="vanished">predeterminado</translation>
+        <translation>predeterminado</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerMap</name>
     <message>
         <source>Map %1</source>
-        <translation type="vanished">Mapa %1</translation>
+        <translation>Mapa %1</translation>
     </message>
     <message>
         <source>Map will be printed here</source>
-        <translation type="vanished">El mapa se imprimirá aquí</translation>
+        <translation>El mapa se imprimirá aquí</translation>
     </message>
     <message>
         <source>Rendering map</source>
-        <translation type="vanished">Renderizando mapa</translation>
+        <translation>Renderizando mapa</translation>
     </message>
     <message>
         <source>Grid %1</source>
-        <translation type="vanished">Cuadrícula %1</translation>
+        <translation>Cuadrícula %1</translation>
     </message>
     <message>
         <source>Overview %1</source>
-        <translation type="vanished">Vista general %1</translation>
+        <translation>Vista general %1</translation>
     </message>
     <message>
         <source>Map Settings</source>
-        <translation type="vanished">Configuración del mapa</translation>
+        <translation>Configuración del mapa</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerMapGrid</name>
     <message>
         <source>Grid</source>
-        <translation type="vanished">Cuadrícula</translation>
+        <translation>Cuadrícula</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerMapWidget</name>
     <message>
         <source>Cache</source>
-        <translation type="vanished">Caché</translation>
+        <translation>Caché</translation>
     </message>
     <message>
         <source>Render</source>
-        <translation type="vanished">Representar</translation>
+        <translation>Representar</translation>
     </message>
     <message>
         <source>Rectangle</source>
-        <translation type="vanished">Rectángulo</translation>
+        <translation>Rectángulo</translation>
     </message>
     <message>
         <source>Solid</source>
-        <translation type="vanished">Sólido</translation>
+        <translation>Sólido</translation>
     </message>
     <message>
         <source>Cross</source>
-        <translation type="vanished">Cruz</translation>
+        <translation>Cruz</translation>
     </message>
     <message>
         <source>Markers</source>
-        <translation type="vanished">Marcadores</translation>
+        <translation>Marcadores</translation>
     </message>
     <message>
         <source>Decimal</source>
-        <translation type="vanished">Decimal</translation>
+        <translation>Decimal</translation>
     </message>
     <message>
         <source>Zebra</source>
-        <translation type="vanished">Cebra</translation>
+        <translation>Cebra</translation>
     </message>
     <message>
         <source>Map scale changed</source>
-        <translation type="vanished">Cambiada la escala del mapa</translation>
+        <translation>Cambiada la escala del mapa</translation>
     </message>
     <message>
         <source>Map rotation changed</source>
-        <translation type="vanished">Cambiada la rotación del mapa</translation>
+        <translation>Cambiada la rotación del mapa</translation>
     </message>
     <message>
         <source>Map extent changed</source>
-        <translation type="vanished">Cambiada la extensión del mapa</translation>
+        <translation>Cambiada la extensión del mapa</translation>
     </message>
     <message>
         <source>Select font color</source>
-        <translation type="vanished">Seleccionar color de letra</translation>
+        <translation>Seleccionar color de letra</translation>
     </message>
     <message>
         <source>Select grid frame color</source>
-        <translation type="vanished">Seleccionar color del marco de la cuadrícula</translation>
+        <translation>Seleccionar color del marco de la cuadrícula</translation>
     </message>
     <message>
         <source>Select grid frame fill color</source>
-        <translation type="vanished">Seleccionar color de relleno del marco de la cuadrícula</translation>
+        <translation>Seleccionar color de relleno del marco de la cuadrícula</translation>
     </message>
     <message>
         <source>Set layer list from a visibility preset</source>
-        <translation type="vanished">Establecer lista de capas a partir de definición prestablecida de visibilidad</translation>
+        <translation>Establecer lista de capas a partir de definición prestablecida de visibilidad</translation>
     </message>
     <message>
         <source>No presets defined</source>
-        <translation type="vanished">Ninguna definición prestablecida</translation>
+        <translation>Ninguna definición prestablecida</translation>
     </message>
     <message>
         <source>Canvas items toggled</source>
-        <translation type="vanished">Elementos del lienzo conmutados</translation>
+        <translation>Elementos del lienzo conmutados</translation>
     </message>
     <message>
         <source>Overview %1</source>
-        <translation type="vanished">Vista general %1</translation>
+        <translation>Vista general %1</translation>
     </message>
     <message>
         <source>Add map overview</source>
-        <translation type="vanished">Añadir vista general de mapa</translation>
+        <translation>Añadir vista general de mapa</translation>
     </message>
     <message>
         <source>Draw "%1" overview</source>
-        <translation type="vanished">Dibujar vista general "%1"</translation>
+        <translation>Dibujar vista general "%1"</translation>
     </message>
     <message>
         <source>Overview checkbox toggled</source>
-        <translation type="vanished">Casilla de vista general conmutada</translation>
+        <translation>Casilla de vista general conmutada</translation>
     </message>
     <message>
         <source>Overview map changed</source>
-        <translation type="vanished">Vista general del mapa cambiada</translation>
+        <translation>Vista general del mapa cambiada</translation>
     </message>
     <message>
         <source>Overview frame style changed</source>
-        <translation type="vanished">Cambiado estilo de marco de la vista previa</translation>
+        <translation>Cambiado estilo de marco de la vista previa</translation>
     </message>
     <message>
         <source>Grid %1</source>
-        <translation type="vanished">Cuadrícula %1</translation>
+        <translation>Cuadrícula %1</translation>
     </message>
     <message>
         <source>Frame and annotations only</source>
-        <translation type="vanished">Marco y anotaciones solamente</translation>
+        <translation>Marco y anotaciones solamente</translation>
     </message>
     <message>
         <source>Decimal with suffix</source>
-        <translation type="vanished">Decimal con sufijo</translation>
+        <translation>Decimal con sufijo</translation>
     </message>
     <message>
         <source>Degree, minute</source>
-        <translation type="vanished">Grado, minuto</translation>
+        <translation>Grado, minuto</translation>
     </message>
     <message>
         <source>Degree, minute with suffix</source>
-        <translation type="vanished">Grado, minuto con sufijo</translation>
+        <translation>Grado, minuto con sufijo</translation>
     </message>
     <message>
         <source>Degree, minute aligned</source>
-        <translation type="vanished">Grado, minuto alineado</translation>
+        <translation>Grado, minuto alineado</translation>
     </message>
     <message>
         <source>Degree, minute, second</source>
-        <translation type="vanished">Grado, minuto, segundo</translation>
+        <translation>Grado, minuto, segundo</translation>
     </message>
     <message>
         <source>Degree, minute, second with suffix</source>
-        <translation type="vanished">Grado, minuto, segundo con sufijo</translation>
+        <translation>Grado, minuto, segundo con sufijo</translation>
     </message>
     <message>
         <source>Degree, minute, second aligned</source>
-        <translation type="vanished">Grado, minuto, segundo alineado</translation>
+        <translation>Grado, minuto, segundo alineado</translation>
     </message>
     <message>
         <source>Custom</source>
-        <translation type="vanished">Personalizado</translation>
+        <translation>Personalizado</translation>
     </message>
     <message>
         <source>Transparent frame</source>
-        <translation type="vanished">Marco transparente</translation>
+        <translation>Marco transparente</translation>
     </message>
     <message>
         <source>Transparent fill</source>
-        <translation type="vanished">Relleno transparente</translation>
+        <translation>Relleno transparente</translation>
     </message>
     <message>
         <source>string matching a style preset name</source>
-        <translation type="vanished">cadena que coincide con el nombre de un predeterminado de estilo</translation>
+        <translation>cadena que coincide con el nombre de un predeterminado de estilo</translation>
     </message>
     <message>
         <source>list of map layer names separated by | characters</source>
-        <translation type="vanished">lista de nombre de capas de mapa separados por caracteres |</translation>
+        <translation>lista de nombre de capas de mapa separados por caracteres |</translation>
     </message>
     <message>
         <source>(none)</source>
-        <translation type="vanished">(ninguno)</translation>
+        <translation>(ninguno)</translation>
     </message>
     <message>
         <source>Add map grid</source>
-        <translation type="vanished">Añadir cuadrícula de mapa</translation>
+        <translation>Añadir cuadrícula de mapa</translation>
     </message>
     <message>
         <source>Draw "%1" grid</source>
-        <translation type="vanished">Dibujar cuadrícula "%1"</translation>
+        <translation>Dibujar cuadrícula "%1"</translation>
     </message>
     <message>
         <source>Map unit</source>
-        <translation type="vanished">Unidad de mapa</translation>
+        <translation>Unidad de mapa</translation>
     </message>
     <message>
         <source>Millimeter</source>
-        <translation type="vanished">Milímetro</translation>
+        <translation>Milímetro</translation>
     </message>
     <message>
         <source>Centimeter</source>
-        <translation type="vanished">Centímetro</translation>
+        <translation>Centímetro</translation>
     </message>
     <message>
         <source>change...</source>
-        <translation type="vanished">cambiar...</translation>
+        <translation>cambiar...</translation>
     </message>
     <message>
         <source>Grid markers style changed</source>
-        <translation type="vanished">Estilo de marcadores de cuadrícula cambiado</translation>
+        <translation>Estilo de marcadores de cuadrícula cambiado</translation>
     </message>
     <message>
         <source>Cross width changed</source>
-        <translation type="vanished">Anchura de cruz cambiada</translation>
+        <translation>Anchura de cruz cambiada</translation>
     </message>
     <message>
         <source>Frame width changed</source>
-        <translation type="vanished">Anchura de marco cambiada</translation>
+        <translation>Anchura de marco cambiada</translation>
     </message>
     <message>
         <source>Frame left side changed</source>
-        <translation type="vanished">Lado izquierdo del marco cambiado</translation>
+        <translation>Lado izquierdo del marco cambiado</translation>
     </message>
     <message>
         <source>Frame right side changed</source>
-        <translation type="vanished">Lado derecho del marco cambiado</translation>
+        <translation>Lado derecho del marco cambiado</translation>
     </message>
     <message>
         <source>Frame top side changed</source>
-        <translation type="vanished">Lado superior del marco cambiado</translation>
+        <translation>Lado superior del marco cambiado</translation>
     </message>
     <message>
         <source>Frame bottom side changed</source>
-        <translation type="vanished">Lado inferior del marco cambiado</translation>
+        <translation>Lado inferior del marco cambiado</translation>
     </message>
     <message>
         <source>Interior ticks</source>
-        <translation type="vanished">Marcas interiores</translation>
+        <translation>Marcas interiores</translation>
     </message>
     <message>
         <source>Exterior ticks</source>
-        <translation type="vanished">Marcas exteriores</translation>
+        <translation>Marcas exteriores</translation>
     </message>
     <message>
         <source>Interior and exterior ticks</source>
-        <translation type="vanished">Marcas interiores y exteriores</translation>
+        <translation>Marcas interiores y exteriores</translation>
     </message>
     <message>
         <source>Line border</source>
-        <translation type="vanished">Borde de línea</translation>
+        <translation>Borde de línea</translation>
     </message>
     <message>
         <source>Changed grid unit</source>
-        <translation type="vanished">Unidad de cuadrícula cambiada</translation>
+        <translation>Unidad de cuadrícula cambiada</translation>
     </message>
     <message>
         <source>Grid blend mode changed</source>
-        <translation type="vanished">Modo de mezcla de cuadrícula cambiado</translation>
+        <translation>Modo de mezcla de cuadrícula cambiado</translation>
     </message>
     <message>
         <source>Grid CRS changed</source>
-        <translation type="vanished">SRC de la cuadrícula cambiado</translation>
+        <translation>SRC de la cuadrícula cambiado</translation>
     </message>
     <message>
         <source>Expression based annotation</source>
-        <translation type="vanished">Anotación basada en expresión</translation>
+        <translation>Anotación basada en expresión</translation>
     </message>
     <message>
         <source>Annotation color changed</source>
-        <translation type="vanished">Color de anotarción cambiado</translation>
+        <translation>Color de anotarción cambiado</translation>
     </message>
     <message>
         <source>Grid checkbox toggled</source>
-        <translation type="vanished">Casilla de verificación de cuadrícula conmutada</translation>
+        <translation>Casilla de verificación de cuadrícula conmutada</translation>
     </message>
     <message>
         <source>Overview blend mode changed</source>
-        <translation type="vanished">Modo de mezcla de vista general cambiado</translation>
+        <translation>Modo de mezcla de vista general cambiado</translation>
     </message>
     <message>
         <source>Overview inverted toggled</source>
-        <translation type="vanished">Conmutada la vista general invertida</translation>
+        <translation>Conmutada la vista general invertida</translation>
     </message>
     <message>
         <source>Overview centered toggled</source>
-        <translation type="vanished">Conmutada la vista general centrada</translation>
+        <translation>Conmutada la vista general centrada</translation>
     </message>
     <message>
         <source>Grid interval changed</source>
-        <translation type="vanished">Cambiado el intervalo de la cuadrícula</translation>
+        <translation>Cambiado el intervalo de la cuadrícula</translation>
     </message>
     <message>
         <source>Grid offset changed</source>
-        <translation type="vanished">Cambiado el desplazamiento de la cuadrícula</translation>
+        <translation>Cambiado el desplazamiento de la cuadrícula</translation>
     </message>
     <message>
         <source>Grid line style changed</source>
-        <translation type="vanished">Cambiado el estilo de línea de cuadrícula</translation>
+        <translation>Cambiado el estilo de línea de cuadrícula</translation>
     </message>
     <message>
         <source>Grid type changed</source>
-        <translation type="vanished">Cambiado el tipo de cuadrícula</translation>
+        <translation>Cambiado el tipo de cuadrícula</translation>
     </message>
     <message>
         <source>Annotation font changed</source>
-        <translation type="vanished">Cambiado el tipo de letra de la anotación</translation>
+        <translation>Cambiado el tipo de letra de la anotación</translation>
     </message>
     <message>
         <source>Annotation distance changed</source>
-        <translation type="vanished">Cambiada la distancia de la anotación</translation>
+        <translation>Cambiada la distancia de la anotación</translation>
     </message>
     <message>
         <source>Annotation format changed</source>
-        <translation type="vanished">Cambiado el formato de la anotación</translation>
+        <translation>Cambiado el formato de la anotación</translation>
     </message>
     <message>
         <source>Annotation toggled</source>
-        <translation type="vanished">Anotación conmutada</translation>
+        <translation>Anotación conmutada</translation>
     </message>
     <message>
         <source>Changed annotation precision</source>
-        <translation type="vanished">Cambiada la precisión de la anotación</translation>
+        <translation>Cambiada la precisión de la anotación</translation>
     </message>
     <message>
         <source>Changed grid frame style</source>
-        <translation type="vanished">Cambiado estilo de marco de la cuadrícula</translation>
+        <translation>Cambiado estilo de marco de la cuadrícula</translation>
     </message>
     <message>
         <source>Changed grid frame line thickness</source>
-        <translation type="vanished">Cambiado el grosor de línea del marco de la cuadrícula</translation>
+        <translation>Cambiado el grosor de línea del marco de la cuadrícula</translation>
     </message>
     <message>
         <source>Grid frame color changed</source>
-        <translation type="vanished">Cambiado el color del marco de la cuadrícula</translation>
+        <translation>Cambiado el color del marco de la cuadrícula</translation>
     </message>
     <message>
         <source>Grid frame first fill color changed</source>
-        <translation type="vanished">Cambiado el primer color de relleno del marco de la cuadrícula</translation>
+        <translation>Cambiado el primer color de relleno del marco de la cuadrícula</translation>
     </message>
     <message>
         <source>Grid frame second fill color changed</source>
-        <translation type="vanished">Cambiado el segundo color de relleno del marco de la cuadrícula</translation>
+        <translation>Cambiado el segundo color de relleno del marco de la cuadrícula</translation>
     </message>
     <message>
         <source>Inside frame</source>
-        <translation type="vanished">Marco interior</translation>
+        <translation>Marco interior</translation>
     </message>
     <message>
         <source>Outside frame</source>
-        <translation type="vanished">Marco exterior</translation>
+        <translation>Marco exterior</translation>
     </message>
     <message>
         <source>Disabled</source>
-        <translation type="vanished">Deshabilitado</translation>
+        <translation>Deshabilitado</translation>
     </message>
     <message>
         <source>Horizontal</source>
-        <translation type="vanished">Horizontal</translation>
+        <translation>Horizontal</translation>
     </message>
     <message>
         <source>Annotation position changed</source>
-        <translation type="vanished">Cambiada la posición de la anotación</translation>
+        <translation>Cambiada la posición de la anotación</translation>
     </message>
     <message>
         <source>Changed annotation direction</source>
-        <translation type="vanished">Cambiada la dirección de la anotación</translation>
+        <translation>Cambiada la dirección de la anotación</translation>
     </message>
     <message>
         <source>Map %1</source>
-        <translation type="vanished">Mapa %1</translation>
+        <translation>Mapa %1</translation>
     </message>
     <message>
         <source>Frame divisions changed</source>
-        <translation type="vanished">Divisiones de marcos cambiadas</translation>
+        <translation>Divisiones de marcos cambiadas</translation>
     </message>
     <message>
         <source>Annotation display changed</source>
-        <translation type="vanished">Visualización de anotaciones cambiada</translation>
+        <translation>Visualización de anotaciones cambiada</translation>
     </message>
     <message>
         <source>Show all</source>
-        <translation type="vanished">Mostrar todo</translation>
+        <translation>Mostrar todo</translation>
     </message>
     <message>
         <source>Show latitude only</source>
-        <translation type="vanished">Mostrar latitud solo</translation>
+        <translation>Mostrar latitud solo</translation>
     </message>
     <message>
         <source>Show longitude only</source>
-        <translation type="vanished">Mostrar longitud solo</translation>
+        <translation>Mostrar longitud solo</translation>
     </message>
     <message>
         <source>All</source>
-        <translation type="vanished">Todos</translation>
+        <translation>Todos</translation>
     </message>
     <message>
         <source>Latitude/Y only</source>
-        <translation type="vanished">Latitud/Solo Y</translation>
+        <translation>Latitud/Solo Y</translation>
     </message>
     <message>
         <source>Longitude/X only</source>
-        <translation type="vanished">Longitud/Solo X</translation>
+        <translation>Longitud/Solo X</translation>
     </message>
     <message>
         <source>Vertical ascending</source>
-        <translation type="vanished">Ascendente vertical</translation>
+        <translation>Ascendente vertical</translation>
     </message>
     <message>
         <source>Vertical descending</source>
-        <translation type="vanished">Descendente vertical</translation>
+        <translation>Descendente vertical</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerMapWidgetBase</name>
     <message>
         <source>Map Options</source>
-        <translation type="vanished">Opciones de mapa</translation>
+        <translation>Opciones de mapa</translation>
     </message>
     <message>
         <source>Map</source>
-        <translation type="vanished">Mapa</translation>
+        <translation>Mapa</translation>
     </message>
     <message>
         <source>Main properties</source>
-        <translation type="vanished">Propiedades principales</translation>
+        <translation>Propiedades principales</translation>
     </message>
     <message>
         <source>Update preview</source>
-        <translation type="vanished">Actualizar vista preliminar</translation>
+        <translation>Actualizar vista preliminar</translation>
     </message>
     <message>
         <source>Scale</source>
-        <translation type="vanished">Escala</translation>
+        <translation>Escala</translation>
     </message>
     <message>
         <source>Map rotation</source>
-        <translation type="vanished">Rotación del mapa</translation>
+        <translation>Rotación del mapa</translation>
     </message>
     <message>
         <source>Draw map canvas items</source>
-        <translation type="vanished">Dibujar elementos de la vista del mapa</translation>
+        <translation>Dibujar elementos de la vista del mapa</translation>
     </message>
     <message>
         <source>Extents</source>
-        <translation type="vanished">Extensión</translation>
+        <translation>Extensión</translation>
     </message>
     <message>
         <source>X max</source>
-        <translation type="vanished">X Máx</translation>
+        <translation>X Máx</translation>
     </message>
     <message>
         <source>Y min</source>
-        <translation type="vanished">Y Mín</translation>
+        <translation>Y Mín</translation>
     </message>
     <message>
         <source>Y max</source>
-        <translation type="vanished">Y Máx</translation>
+        <translation>Y Máx</translation>
     </message>
     <message>
         <source>Set to map canvas extent</source>
-        <translation type="vanished">Establecer a la extensión de la vista del mapa</translation>
+        <translation>Establecer a la extensión de la vista del mapa</translation>
     </message>
     <message>
         <source>X min</source>
-        <translation type="vanished">X Mín</translation>
+        <translation>X Mín</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>View extent in map canvas</source>
-        <translation type="vanished">Extensión de la vista en el lienzo del mapa</translation>
+        <translation>Extensión de la vista en el lienzo del mapa</translation>
     </message>
     <message>
         <source>Controlled by atlas</source>
-        <translation type="vanished">Controlado por atlas</translation>
+        <translation>Controlado por atlas</translation>
     </message>
     <message>
         <source>Margin around feature</source>
-        <translation type="vanished">Margen alrededor del objeto espacial</translation>
+        <translation>Margen alrededor del objeto espacial</translation>
     </message>
     <message>
         <source>%</source>
-        <translation type="vanished">%</translation>
+        <translation>%</translation>
     </message>
     <message>
         <source>Fixed scale</source>
-        <translation type="vanished">Escala fija</translation>
+        <translation>Escala fija</translation>
     </message>
     <message>
         <source>Use one of the predefined scales of the project where the atlas feature best fits.</source>
-        <translation type="vanished">Usar una de las escalas predefinidas del proyecto en la que se ajuste mejor las características del atlas.</translation>
+        <translation>Usar una de las escalas predefinidas del proyecto en la que se ajuste mejor las características del atlas.</translation>
     </message>
     <message>
         <source>Predefined scale (best fit)</source>
-        <translation type="vanished">Escala predefinida (mejor ajuste)</translation>
+        <translation>Escala predefinida (mejor ajuste)</translation>
     </message>
     <message>
         <source>Offset</source>
-        <translation type="vanished">Desplazamiento</translation>
+        <translation>Desplazamiento</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>Blend mode</source>
-        <translation type="vanished">Modo de mezcla</translation>
+        <translation>Modo de mezcla</translation>
     </message>
     <message>
         <source>Interval</source>
-        <translation type="vanished">Intervalo</translation>
+        <translation>Intervalo</translation>
     </message>
     <message>
         <source>Frame size</source>
-        <translation type="vanished">Tamaño de marco</translation>
+        <translation>Tamaño de marco</translation>
     </message>
     <message>
         <source>Frame line thickness</source>
-        <translation type="vanished">Grosor de línea de marco</translation>
+        <translation>Grosor de línea de marco</translation>
     </message>
     <message>
         <source>Frame fill colors</source>
-        <translation type="vanished">Colores de relleno de marco</translation>
+        <translation>Colores de relleno de marco</translation>
     </message>
     <message>
         <source>Marker style</source>
-        <translation type="vanished">Estilo de marcador</translation>
+        <translation>Estilo de marcador</translation>
     </message>
     <message>
         <source>Invert overview</source>
-        <translation type="vanished">Invertir vista general</translation>
+        <translation>Invertir vista general</translation>
     </message>
     <message>
         <source>Center on overview</source>
-        <translation type="vanished">Centrar en la vista general</translation>
+        <translation>Centrar en la vista general</translation>
     </message>
     <message>
         <source>X </source>
-        <translation type="vanished">X</translation>
+        <translation>X</translation>
     </message>
     <message>
         <source> °</source>
-        <translation type="vanished"> °</translation>
+        <translation> °</translation>
     </message>
     <message>
         <source>Y </source>
-        <translation type="vanished">Y</translation>
+        <translation>Y</translation>
     </message>
     <message>
         <source>Cross width</source>
-        <translation type="vanished">Anchura de cruz</translation>
+        <translation>Anchura de cruz</translation>
     </message>
     <message>
         <source>Frame style</source>
-        <translation type="vanished">Estilo del marco</translation>
+        <translation>Estilo del marco</translation>
     </message>
     <message>
         <source>Line style</source>
-        <translation type="vanished">Estilo de línea</translation>
+        <translation>Estilo de línea</translation>
     </message>
     <message>
         <source>Layers</source>
-        <translation type="vanished">Capas</translation>
+        <translation>Capas</translation>
     </message>
     <message>
         <source>Follow visibility preset</source>
-        <translation type="vanished">Seguir definición prestablecida de visibilidad</translation>
+        <translation>Seguir definición prestablecida de visibilidad</translation>
     </message>
     <message>
         <source>Lock layers</source>
-        <translation type="vanished">Bloquear capas</translation>
+        <translation>Bloquear capas</translation>
     </message>
     <message>
         <source>Lock styles for layers</source>
-        <translation type="vanished">Bloquear estilos para las capas</translation>
+        <translation>Bloquear estilos para las capas</translation>
     </message>
     <message>
         <source>Grids</source>
-        <translation type="vanished">Cuadrículas</translation>
+        <translation>Cuadrículas</translation>
     </message>
     <message>
         <source>Add a new grid</source>
-        <translation type="vanished">Añadir una nueva cuadrícula</translation>
+        <translation>Añadir una nueva cuadrícula</translation>
     </message>
     <message>
         <source>Remove selected grid</source>
-        <translation type="vanished">Eliminar la cuadrícula seleccionada</translation>
+        <translation>Eliminar la cuadrícula seleccionada</translation>
     </message>
     <message>
         <source>Move selected grid up</source>
-        <translation type="vanished">Subir la cuadrícula seleccionada</translation>
+        <translation>Subir la cuadrícula seleccionada</translation>
     </message>
     <message>
         <source>Move selected grid down</source>
-        <translation type="vanished">Bajar la cuadrícula seleccionada</translation>
+        <translation>Bajar la cuadrícula seleccionada</translation>
     </message>
     <message>
         <source>Draw grid</source>
-        <translation type="vanished">Dibujar cuadrícula</translation>
+        <translation>Dibujar cuadrícula</translation>
     </message>
     <message>
         <source>Grid type</source>
-        <translation type="vanished">Tipo de cuadrícula</translation>
+        <translation>Tipo de cuadrícula</translation>
     </message>
     <message>
         <source>CRS</source>
-        <translation type="vanished">SRC</translation>
+        <translation>SRC</translation>
     </message>
     <message>
         <source>change...</source>
-        <translation type="vanished">cambiar...</translation>
+        <translation>cambiar...</translation>
     </message>
     <message>
         <source>Interval units</source>
-        <translation type="vanished">Unidades de intervalo</translation>
+        <translation>Unidades de intervalo</translation>
     </message>
     <message>
         <source>Map unit</source>
-        <translation type="vanished">Unidad de mapa</translation>
+        <translation>Unidad de mapa</translation>
     </message>
     <message>
         <source>Millimeter</source>
-        <translation type="vanished">Milímetro</translation>
+        <translation>Milímetro</translation>
     </message>
     <message>
         <source>Centimeter</source>
-        <translation type="vanished">Centímetro</translation>
+        <translation>Centímetro</translation>
     </message>
     <message>
         <source>Left side</source>
-        <translation type="vanished">Lado izquierdo</translation>
+        <translation>Lado izquierdo</translation>
     </message>
     <message>
         <source>Right side</source>
-        <translation type="vanished">Lado derecho</translation>
+        <translation>Lado derecho</translation>
     </message>
     <message>
         <source>Top side</source>
-        <translation type="vanished">Lado superior</translation>
+        <translation>Lado superior</translation>
     </message>
     <message>
         <source>Bottom side</source>
-        <translation type="vanished">Lado inferior</translation>
+        <translation>Lado inferior</translation>
     </message>
     <message>
         <source>No frame</source>
-        <translation type="vanished">Ningún marco</translation>
+        <translation>Ningún marco</translation>
     </message>
     <message>
         <source>Zebra</source>
-        <translation type="vanished">Cebra</translation>
+        <translation>Cebra</translation>
     </message>
     <message>
         <source>Interior ticks</source>
-        <translation type="vanished">Marcas interiores</translation>
+        <translation>Marcas interiores</translation>
     </message>
     <message>
         <source>Exterior ticks</source>
-        <translation type="vanished">Marcas exteriores</translation>
+        <translation>Marcas exteriores</translation>
     </message>
     <message>
         <source>Interior and exterior ticks</source>
-        <translation type="vanished">Marcas interiores y exteriores</translation>
+        <translation>Marcas interiores y exteriores</translation>
     </message>
     <message>
         <source>Line border</source>
-        <translation type="vanished">Borde de línea</translation>
+        <translation>Borde de línea</translation>
     </message>
     <message>
         <source>Draw coordinates</source>
-        <translation type="vanished">Dibujar coordenadas</translation>
+        <translation>Dibujar coordenadas</translation>
     </message>
     <message>
         <source>Format</source>
-        <translation type="vanished">Formato</translation>
+        <translation>Formato</translation>
     </message>
     <message>
         <source>Left</source>
-        <translation type="vanished">Izquierda</translation>
+        <translation>Izquierda</translation>
     </message>
     <message>
         <source>Right</source>
-        <translation type="vanished">Derecha</translation>
+        <translation>Derecha</translation>
     </message>
     <message>
         <source>Top</source>
-        <translation type="vanished">Arriba</translation>
+        <translation>Arriba</translation>
     </message>
     <message>
         <source>Bottom</source>
-        <translation type="vanished">Abajo</translation>
+        <translation>Abajo</translation>
     </message>
     <message>
         <source>Font</source>
-        <translation type="vanished">Tipo de letra</translation>
+        <translation>Tipo de letra</translation>
     </message>
     <message>
         <source>Font...</source>
-        <translation type="vanished">Tipo de letra...</translation>
+        <translation>Tipo de letra...</translation>
     </message>
     <message>
         <source>Font color</source>
-        <translation type="vanished">Color de letras</translation>
+        <translation>Color de letras</translation>
     </message>
     <message>
         <source>Distance to map frame</source>
-        <translation type="vanished">Distancia al marco del mapa</translation>
+        <translation>Distancia al marco del mapa</translation>
     </message>
     <message>
         <source>Coordinate precision</source>
-        <translation type="vanished">Precisión de coordenadas</translation>
+        <translation>Precisión de coordenadas</translation>
     </message>
     <message>
         <source>Overviews</source>
-        <translation type="vanished">Vistas generales</translation>
+        <translation>Vistas generales</translation>
     </message>
     <message>
         <source>Draw overview</source>
-        <translation type="vanished">Dibujar vista general</translation>
+        <translation>Dibujar vista general</translation>
     </message>
     <message>
         <source>Map frame</source>
-        <translation type="vanished">Marco de mapa</translation>
+        <translation>Marco de mapa</translation>
     </message>
     <message>
         <source>Blending mode</source>
-        <translation type="vanished">Modo de mezcla</translation>
+        <translation>Modo de mezcla</translation>
     </message>
     <message>
         <source>Change...</source>
-        <translation type="vanished">Cambiar...</translation>
+        <translation>Cambiar...</translation>
     </message>
     <message>
         <source>Right divisions</source>
-        <translation type="vanished">Divisiones derechas</translation>
+        <translation>Divisiones derechas</translation>
     </message>
     <message>
         <source>Left divisions</source>
-        <translation type="vanished">Divisiones izquierdas</translation>
+        <translation>Divisiones izquierdas</translation>
     </message>
     <message>
         <source>Top divisions</source>
-        <translation type="vanished">Divisiones superiores</translation>
+        <translation>Divisiones superiores</translation>
     </message>
     <message>
         <source>Bottom divisions</source>
-        <translation type="vanished">Divisiones inferiores</translation>
+        <translation>Divisiones inferiores</translation>
     </message>
     <message>
         <source>Add a new overview</source>
-        <translation type="vanished">Añadir una nueva vista general</translation>
+        <translation>Añadir una nueva vista general</translation>
     </message>
     <message>
         <source>Remove selected overview</source>
-        <translation type="vanished">Eliminar la vista general seleccionada</translation>
+        <translation>Eliminar la vista general seleccionada</translation>
     </message>
     <message>
         <source>Move selected overview up</source>
-        <translation type="vanished">Subir la vista general seleccionada</translation>
+        <translation>Subir la vista general seleccionada</translation>
     </message>
     <message>
         <source>Move selected overview down</source>
-        <translation type="vanished">Bajar la vista general seleccionada</translation>
+        <translation>Bajar la vista general seleccionada</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerModel</name>
     <message>
         <source>Item</source>
-        <translation type="vanished">Elemento</translation>
+        <translation>Elemento</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerMouseHandles</name>
     <message>
         <source>Change item position</source>
-        <translation type="vanished">Cambiar posición del elemento</translation>
+        <translation>Cambiar posición del elemento</translation>
     </message>
     <message>
         <source>Change item size</source>
-        <translation type="vanished">Cambiar tamaño del elemento</translation>
+        <translation>Cambiar tamaño del elemento</translation>
     </message>
     <message>
         <source>%1 items selected</source>
-        <translation type="vanished">%1 elementos seleccionados</translation>
+        <translation>%1 elementos seleccionados</translation>
     </message>
     <message>
         <source>1 item selected</source>
-        <translation type="vanished">Un elemento seleccionado</translation>
+        <translation>Un elemento seleccionado</translation>
     </message>
     <message>
         <source>dx: %1 mm dy: %2 mm</source>
-        <translation type="vanished">dx: %1 mm dy: %2 mm</translation>
+        <translation>dx: %1 mm dy: %2 mm</translation>
     </message>
     <message>
         <source>width: %1 mm height: %2 mm</source>
-        <translation type="vanished">anchura: %1 mm altura: %2 mm</translation>
+        <translation>anchura: %1 mm altura: %2 mm</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerMultiFrame</name>
     <message>
         <source><frame></source>
-        <translation type="vanished"><marco></translation>
+        <translation><marco></translation>
     </message>
 </context>
 <context>
     <name>QgsComposerNameDelegate</name>
     <message>
         <source>Rename composer</source>
-        <translation type="vanished">Cambiar nombre de diseñador</translation>
+        <translation>Cambiar nombre de diseñador</translation>
     </message>
     <message>
         <source>There is already a composer named "%1"</source>
-        <translation type="vanished">Ya hay un diseñador llamado "%1"</translation>
+        <translation>Ya hay un diseñador llamado "%1"</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerObject</name>
     <message>
         <source>list of map layer names separated by | characters</source>
-        <translation type="vanished">lista de nombre de capas de mapa separados por caracteres |</translation>
+        <translation>lista de nombre de capas de mapa separados por caracteres |</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerPicture</name>
     <message>
         <source>Picture expression eval error</source>
-        <translation type="vanished">Error de evaluación de expresión de dibujo</translation>
+        <translation>Error de evaluación de expresión de dibujo</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerPictureWidget</name>
     <message>
         <source>Select fill color</source>
-        <translation type="vanished">Seleccionar color de relleno</translation>
+        <translation>Seleccionar color de relleno</translation>
     </message>
     <message>
         <source>Select outline color</source>
-        <translation type="vanished">Seleccionar color de línea exterior</translation>
+        <translation>Seleccionar color de línea exterior</translation>
     </message>
     <message>
         <source>Select svg or image file</source>
-        <translation type="vanished">Seleccionar svg o archivo de imagen</translation>
+        <translation>Seleccionar svg o archivo de imagen</translation>
     </message>
     <message>
         <source>Picture changed</source>
-        <translation type="vanished">Imagen cambiada</translation>
+        <translation>Imagen cambiada</translation>
     </message>
     <message>
         <source>Picture rotation changed</source>
-        <translation type="vanished">Cambiada la rotación de la imagen</translation>
+        <translation>Cambiada la rotación de la imagen</translation>
     </message>
     <message>
         <source>Select new preview directory</source>
-        <translation type="vanished">Seleccionar nuevo directorio de previsualización</translation>
+        <translation>Seleccionar nuevo directorio de previsualización</translation>
     </message>
     <message>
         <source>Picture resize mode changed</source>
-        <translation type="vanished">Cambiado el modo de redimensionado de la imagen</translation>
+        <translation>Cambiado el modo de redimensionado de la imagen</translation>
     </message>
     <message>
         <source>Picture placement changed</source>
-        <translation type="vanished">Cambiada la ubicación de la imagen</translation>
+        <translation>Cambiada la ubicación de la imagen</translation>
     </message>
     <message>
         <source>Rotation synchronisation toggled</source>
-        <translation type="vanished">Sincronización de rotación conmutada</translation>
+        <translation>Sincronización de rotación conmutada</translation>
     </message>
     <message>
         <source>Rotation map changed</source>
-        <translation type="vanished">Cambió el mapa de rotación</translation>
+        <translation>Cambió el mapa de rotación</translation>
     </message>
     <message>
         <source>Creating icon for file %1</source>
-        <translation type="vanished">Creando icono para el archivo %1</translation>
+        <translation>Creando icono para el archivo %1</translation>
     </message>
     <message>
         <source>Picture fill color changed</source>
-        <translation type="vanished">Cambiado el color de relleno de dibujo</translation>
+        <translation>Cambiado el color de relleno de dibujo</translation>
     </message>
     <message>
         <source>Picture border color changed</source>
-        <translation type="vanished">Cambiado el color de borde de dibujo</translation>
+        <translation>Cambiado el color de borde de dibujo</translation>
     </message>
     <message>
         <source>Picture border width changed</source>
-        <translation type="vanished">Cambiada la anchyra de borde de dibujo</translation>
+        <translation>Cambiada la anchyra de borde de dibujo</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerPictureWidgetBase</name>
     <message>
         <source>Picture Options</source>
-        <translation type="vanished">Opciones de dibujo</translation>
+        <translation>Opciones de dibujo</translation>
     </message>
     <message>
         <source>Picture</source>
-        <translation type="vanished">Imagen</translation>
+        <translation>Imagen</translation>
     </message>
     <message>
         <source>Main properties</source>
-        <translation type="vanished">Propiedades principales</translation>
+        <translation>Propiedades principales</translation>
     </message>
     <message>
         <source>Image source</source>
-        <translation type="vanished">Origen de la imagen</translation>
+        <translation>Origen de la imagen</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Resize mode</source>
-        <translation type="vanished">Modo de redimensionado</translation>
+        <translation>Modo de redimensionado</translation>
     </message>
     <message>
         <source>Placement</source>
-        <translation type="vanished">Ubicación</translation>
+        <translation>Ubicación</translation>
     </message>
     <message>
         <source>Zoom</source>
-        <translation type="vanished">Zoom</translation>
+        <translation>Zoom</translation>
     </message>
     <message>
         <source>Stretch</source>
-        <translation type="vanished">Estirar</translation>
+        <translation>Estirar</translation>
     </message>
     <message>
         <source>Clip</source>
-        <translation type="vanished">Cortar</translation>
+        <translation>Cortar</translation>
     </message>
     <message>
         <source>Zoom and resize frame</source>
-        <translation type="vanished">Marco de redimensionado y zoom</translation>
+        <translation>Marco de redimensionado y zoom</translation>
     </message>
     <message>
         <source>Resize frame to image size</source>
-        <translation type="vanished">Redimensionar marco al tamaño de imagen</translation>
+        <translation>Redimensionar marco al tamaño de imagen</translation>
     </message>
     <message>
         <source>Top left</source>
-        <translation type="vanished">Superior izquierda</translation>
+        <translation>Superior izquierda</translation>
     </message>
     <message>
         <source>Top center</source>
-        <translation type="vanished">Arriba centro</translation>
+        <translation>Arriba centro</translation>
     </message>
     <message>
         <source>Top right</source>
-        <translation type="vanished">Superior derecha</translation>
+        <translation>Superior derecha</translation>
     </message>
     <message>
         <source>Middle left</source>
-        <translation type="vanished">Centro izquierda</translation>
+        <translation>Centro izquierda</translation>
     </message>
     <message>
         <source>Middle</source>
-        <translation type="vanished">Medio</translation>
+        <translation>Medio</translation>
     </message>
     <message>
         <source>Middle right</source>
-        <translation type="vanished">Centro derecha</translation>
+        <translation>Centro derecha</translation>
     </message>
     <message>
         <source>Bottom left</source>
-        <translation type="vanished">Inferior izquierda</translation>
+        <translation>Inferior izquierda</translation>
     </message>
     <message>
         <source>Bottom center</source>
-        <translation type="vanished">Abajo centro</translation>
+        <translation>Abajo centro</translation>
     </message>
     <message>
         <source>Bottom right</source>
-        <translation type="vanished">Inferior derecha</translation>
+        <translation>Inferior derecha</translation>
     </message>
     <message>
         <source>Search directories</source>
-        <translation type="vanished">Directorios de búsqueda</translation>
+        <translation>Directorios de búsqueda</translation>
     </message>
     <message>
         <source>Loading previews...</source>
-        <translation type="vanished">Cargando vistas preliminares...</translation>
+        <translation>Cargando vistas preliminares...</translation>
     </message>
     <message>
         <source>Image search paths</source>
-        <translation type="vanished">Rutas de búsqueda de imágenes</translation>
+        <translation>Rutas de búsqueda de imágenes</translation>
     </message>
     <message>
         <source>Remove</source>
-        <translation type="vanished">Eliminar</translation>
+        <translation>Eliminar</translation>
     </message>
     <message>
         <source>Add...</source>
-        <translation type="vanished">Añadir...</translation>
+        <translation>Añadir...</translation>
     </message>
     <message>
         <source>SVG Parameters</source>
-        <translation type="vanished">Parámetros SVG</translation>
+        <translation>Parámetros SVG</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>Outline color</source>
-        <translation type="vanished">Color de línea exterior</translation>
+        <translation>Color de línea exterior</translation>
     </message>
     <message>
         <source>Outline width</source>
-        <translation type="vanished">Anchura de línea exterior</translation>
+        <translation>Anchura de línea exterior</translation>
     </message>
     <message>
         <source>Fill color</source>
-        <translation type="vanished">Color de relleno</translation>
+        <translation>Color de relleno</translation>
     </message>
     <message>
         <source>Image rotation</source>
-        <translation type="vanished">Rotación de imagen</translation>
+        <translation>Rotación de imagen</translation>
     </message>
     <message>
         <source>Sync with map</source>
-        <translation type="vanished">Sincronizar con el mapa</translation>
+        <translation>Sincronizar con el mapa</translation>
     </message>
     <message>
         <source> °</source>
-        <translation type="vanished"> °</translation>
+        <translation> °</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerPolygon</name>
     <message>
         <source><polygon></source>
-        <translation type="vanished"><polígono></translation>
+        <translation><polígono></translation>
     </message>
 </context>
 <context>
     <name>QgsComposerPolygonWidget</name>
     <message>
         <source>Polygon style changed</source>
-        <translation type="vanished">Cambiado el estilo de polígono</translation>
+        <translation>Cambiado el estilo de polígono</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerPolygonWidgetBase</name>
     <message>
         <source>Form</source>
-        <translation type="vanished">Formulario</translation>
+        <translation>Formulario</translation>
     </message>
     <message>
         <source>Shape</source>
-        <translation type="vanished">Forma</translation>
+        <translation>Forma</translation>
     </message>
     <message>
         <source>Main properties</source>
-        <translation type="vanished">Propiedades principales</translation>
+        <translation>Propiedades principales</translation>
     </message>
     <message>
         <source>Style</source>
-        <translation type="vanished">Estilo</translation>
+        <translation>Estilo</translation>
     </message>
     <message>
         <source>Change...</source>
-        <translation type="vanished">Cambiar...</translation>
+        <translation>Cambiar...</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerPolyline</name>
     <message>
         <source><polyline></source>
-        <translation type="vanished"><polilínea></translation>
+        <translation><polilínea></translation>
     </message>
 </context>
 <context>
     <name>QgsComposerPolylineWidget</name>
     <message>
         <source>Polyline style changed</source>
-        <translation type="vanished">Cambiado el estilo de la polilínea</translation>
+        <translation>Cambiado el estilo de la polilínea</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerPolylineWidgetBase</name>
     <message>
         <source>Form</source>
-        <translation type="vanished">Formulario</translation>
+        <translation>Formulario</translation>
     </message>
     <message>
         <source>Arrow</source>
-        <translation type="vanished">Flecha</translation>
+        <translation>Flecha</translation>
     </message>
     <message>
         <source>Main properties</source>
-        <translation type="vanished">Propiedades principales</translation>
+        <translation>Propiedades principales</translation>
     </message>
     <message>
         <source>Line style...</source>
-        <translation type="vanished">Estilo de línea...</translation>
+        <translation>Estilo de línea...</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerScaleBar</name>
     <message>
         <source>units</source>
-        <translation type="vanished">unidades</translation>
+        <translation>unidades</translation>
     </message>
     <message>
         <source>km</source>
-        <translation type="vanished">km</translation>
+        <translation>km</translation>
     </message>
     <message>
         <source>m</source>
-        <translation type="vanished">m</translation>
+        <translation>m</translation>
     </message>
     <message>
         <source>miles</source>
-        <translation type="vanished">millas</translation>
+        <translation>millas</translation>
     </message>
     <message>
         <source>ft</source>
-        <translation type="vanished">pies</translation>
+        <translation>pies</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerScaleBarWidget</name>
     <message>
         <source>Single Box</source>
-        <translation type="vanished">Recuadro simple</translation>
+        <translation>Recuadro simple</translation>
     </message>
     <message>
         <source>Double Box</source>
-        <translation type="vanished">Recuadro doble</translation>
+        <translation>Recuadro doble</translation>
     </message>
     <message>
         <source>Line Ticks Middle</source>
-        <translation type="vanished">Línea con marcas en el centro</translation>
+        <translation>Línea con marcas en el centro</translation>
     </message>
     <message>
         <source>Line Ticks Down</source>
-        <translation type="vanished">Línea con marcas en el abajo</translation>
+        <translation>Línea con marcas en el abajo</translation>
     </message>
     <message>
         <source>Line Ticks Up</source>
-        <translation type="vanished">Línea con marcas en el arriba</translation>
+        <translation>Línea con marcas en el arriba</translation>
     </message>
     <message>
         <source>Numeric</source>
-        <translation type="vanished">Numérico</translation>
+        <translation>Numérico</translation>
     </message>
     <message>
         <source>Left</source>
-        <translation type="vanished">Izquierda</translation>
+        <translation>Izquierda</translation>
     </message>
     <message>
         <source>Middle</source>
-        <translation type="vanished">Medio</translation>
+        <translation>Medio</translation>
     </message>
     <message>
         <source>Right</source>
-        <translation type="vanished">Derecha</translation>
+        <translation>Derecha</translation>
     </message>
     <message>
         <source>Map units</source>
-        <translation type="vanished">Unidades del mapa</translation>
+        <translation>Unidades del mapa</translation>
     </message>
     <message>
         <source>Meters</source>
-        <translation type="vanished">Metros</translation>
+        <translation>Metros</translation>
     </message>
     <message>
         <source>Feet</source>
-        <translation type="vanished">Pies</translation>
+        <translation>Pies</translation>
     </message>
     <message>
         <source>Nautical Miles</source>
-        <translation type="vanished">Millas náuticas</translation>
+        <translation>Millas náuticas</translation>
     </message>
     <message>
         <source>Select fill color</source>
-        <translation type="vanished">Seleccionar color de relleno</translation>
+        <translation>Seleccionar color de relleno</translation>
     </message>
     <message>
         <source>Transparent fill</source>
-        <translation type="vanished">Relleno transparente</translation>
+        <translation>Relleno transparente</translation>
     </message>
     <message>
         <source>Select alternate fill color</source>
-        <translation type="vanished">Seleccionar color de relleno alternativo</translation>
+        <translation>Seleccionar color de relleno alternativo</translation>
     </message>
     <message>
         <source>Select font color</source>
-        <translation type="vanished">Seleccionar color de letra</translation>
+        <translation>Seleccionar color de letra</translation>
     </message>
     <message>
         <source>Select line color</source>
-        <translation type="vanished">Seleccionar color de línea</translation>
+        <translation>Seleccionar color de línea</translation>
     </message>
     <message>
         <source>Transparent line</source>
-        <translation type="vanished">Línea transparente</translation>
+        <translation>Línea transparente</translation>
     </message>
     <message>
         <source>Scalebar line color changed</source>
-        <translation type="vanished">Cambiado el color de la línea de la barra de escala</translation>
+        <translation>Cambiado el color de la línea de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar map changed</source>
-        <translation type="vanished">Cambiado el mapa de la barra de escala</translation>
+        <translation>Cambiado el mapa de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar line width</source>
-        <translation type="vanished">Anchura de línea de barra de escala</translation>
+        <translation>Anchura de línea de barra de escala</translation>
     </message>
     <message>
         <source>Scalebar segment size</source>
-        <translation type="vanished">Tamaño de segmento de barra de escala</translation>
+        <translation>Tamaño de segmento de barra de escala</translation>
     </message>
     <message>
         <source>Scalebar segments left</source>
-        <translation type="vanished">Segmentos de la barra de escala a la izquierda</translation>
+        <translation>Segmentos de la barra de escala a la izquierda</translation>
     </message>
     <message>
         <source>Number of scalebar segments changed</source>
-        <translation type="vanished">Cambiado el número de segmentos de la barra de escala</translation>
+        <translation>Cambiado el número de segmentos de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar height changed</source>
-        <translation type="vanished">Cambiada la altura de la barra de escala</translation>
+        <translation>Cambiada la altura de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar font changed</source>
-        <translation type="vanished">Cambiado el tipo de letra de la barra de escala</translation>
+        <translation>Cambiado el tipo de letra de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar font color changed</source>
-        <translation type="vanished">Cambiado el color de la barra de escala</translation>
+        <translation>Cambiado el color de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar color changed</source>
-        <translation type="vanished">Cambiado el color de la barra de escala</translation>
+        <translation>Cambiado el color de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar secondary color changed</source>
-        <translation type="vanished">Cambiado el color secundario de la barra de escala</translation>
+        <translation>Cambiado el color secundario de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar unit text</source>
-        <translation type="vanished">Texto de unidades de la barra de escala</translation>
+        <translation>Texto de unidades de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar map units per segment</source>
-        <translation type="vanished">Unidades de mapa de la barra de escala por segmento</translation>
+        <translation>Unidades de mapa de la barra de escala por segmento</translation>
     </message>
     <message>
         <source>Scalebar style changed</source>
-        <translation type="vanished">Cambiado el estilo de la barra de escala</translation>
+        <translation>Cambiado el estilo de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar label bar space</source>
-        <translation type="vanished">Espacio de la etiqueta de la barra de escala</translation>
+        <translation>Espacio de la etiqueta de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar box content space</source>
-        <translation type="vanished">Espacio del recuadro de la barra de escala</translation>
+        <translation>Espacio del recuadro de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar alignment</source>
-        <translation type="vanished">Alineación de la barra de escala</translation>
+        <translation>Alineación de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar changed to map units</source>
-        <translation type="vanished">Barra de escala cambiada a unidades de mapa</translation>
+        <translation>Barra de escala cambiada a unidades de mapa</translation>
     </message>
     <message>
         <source>Scalebar changed to feet</source>
-        <translation type="vanished">Barra de escala cambiada a pies</translation>
+        <translation>Barra de escala cambiada a pies</translation>
     </message>
     <message>
         <source>Scalebar changed to nautical miles</source>
-        <translation type="vanished">Barra de escala cambiada a millas náuticas</translation>
+        <translation>Barra de escala cambiada a millas náuticas</translation>
     </message>
     <message>
         <source>Scalebar changed to meters</source>
-        <translation type="vanished">Barra de escala cambiada a metros</translation>
+        <translation>Barra de escala cambiada a metros</translation>
     </message>
     <message>
         <source>Scalebar line join style</source>
-        <translation type="vanished">Estilo de unión de lineas de la barra de escala</translation>
+        <translation>Estilo de unión de lineas de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar line cap style</source>
-        <translation type="vanished">Estilo de extremos de línea de barra de escala</translation>
+        <translation>Estilo de extremos de línea de barra de escala</translation>
     </message>
     <message>
         <source>Scalebar segment size mode</source>
-        <translation type="vanished">Modo de tamaña de segmento de barra de escala</translation>
+        <translation>Modo de tamaña de segmento de barra de escala</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerScaleBarWidgetBase</name>
     <message>
         <source>Barscale Options</source>
-        <translation type="vanished">Opciones de la barra de escala</translation>
+        <translation>Opciones de la barra de escala</translation>
     </message>
     <message>
         <source>Scalebar</source>
-        <translation type="vanished">Barra de escala</translation>
+        <translation>Barra de escala</translation>
     </message>
     <message>
         <source>Main properties</source>
-        <translation type="vanished">Propiedades principales</translation>
+        <translation>Propiedades principales</translation>
     </message>
     <message>
         <source>Units</source>
-        <translation type="vanished">Unidades</translation>
+        <translation>Unidades</translation>
     </message>
     <message>
         <source>Scalebar units</source>
-        <translation type="vanished">Unidades de la barra de escala</translation>
+        <translation>Unidades de la barra de escala</translation>
     </message>
     <message>
         <source>&Label for units</source>
-        <translation type="vanished">&Etiqueta para unidades</translation>
+        <translation>&Etiqueta para unidades</translation>
     </message>
     <message>
         <source>Specifies how many scalebar units per labeled unit. Eg, if your scalebar units are set to "meters", a multiplier of 1000 will result in the scalebar labels in kilometers.</source>
-        <translation type="vanished">Especifica cuantas unidades de barra de escala por unidad etiquetada. Por ejemplo, si las unidades de su barra de escala están en "metros", un multiplicador de 1000 dará como resultado etiquetas de barra de escala en kilómetros.</translation>
+        <translation>Especifica cuantas unidades de barra de escala por unidad etiquetada. Por ejemplo, si las unidades de su barra de escala están en "metros", un multiplicador de 1000 dará como resultado etiquetas de barra de escala en kilómetros.</translation>
     </message>
     <message>
         <source>Text used for labeling the scalebar units, eg "m" or "km". This should be matched to the reflect the multiplier above. </source>
-        <translation type="vanished">Texto utilizado para etiquetar las unidades de la barra de escala, por ejemplo "m" o "km". Esto se debe hacer coincidir con el multiplicador de arriba.</translation>
+        <translation>Texto utilizado para etiquetar las unidades de la barra de escala, por ejemplo "m" o "km". Esto se debe hacer coincidir con el multiplicador de arriba.</translation>
     </message>
     <message>
         <source>Specifies the underlying units used for scalebar calculations, eg "meters" or "feet"</source>
-        <translation type="vanished">Especifica las unidades subyacentes utilizadas para los cálculos de la barra de escala, por ejemplo "metros" o "pies"</translation>
+        <translation>Especifica las unidades subyacentes utilizadas para los cálculos de la barra de escala, por ejemplo "metros" o "pies"</translation>
     </message>
     <message>
         <source>Label unit multiplier</source>
-        <translation type="vanished">Multiplicador de unidad de etiqueta</translation>
+        <translation>Multiplicador de unidad de etiqueta</translation>
     </message>
     <message>
         <source>Segments</source>
-        <translation type="vanished">Segmentos</translation>
+        <translation>Segmentos</translation>
     </message>
     <message>
         <source>Number of scalebar units per scalebar segment</source>
-        <translation type="vanished">Número de unidades de barra de escala por segmento de barra de escala</translation>
+        <translation>Número de unidades de barra de escala por segmento de barra de escala</translation>
     </message>
     <message>
         <source>left </source>
-        <translation type="vanished">Izquierda </translation>
+        <translation>Izquierda </translation>
     </message>
     <message>
         <source>right </source>
-        <translation type="vanished">derecha </translation>
+        <translation>derecha </translation>
     </message>
     <message>
         <source>&Map</source>
-        <translation type="vanished">&Mapa</translation>
+        <translation>&Mapa</translation>
     </message>
     <message>
         <source>St&yle</source>
-        <translation type="vanished">Est&ilo</translation>
+        <translation>Est&ilo</translation>
     </message>
     <message>
         <source> units</source>
-        <translation type="vanished"> unidades</translation>
+        <translation> unidades</translation>
     </message>
     <message>
         <source>Height</source>
-        <translation type="vanished">Altura</translation>
+        <translation>Altura</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>max </source>
-        <translation type="vanished">máx</translation>
+        <translation>máx</translation>
     </message>
     <message>
         <source>min </source>
-        <translation type="vanished">mín</translation>
+        <translation>mín</translation>
     </message>
     <message>
         <source>Fi&xed width</source>
-        <translation type="vanished">Anchura fi&ja</translation>
+        <translation>Anchura fi&ja</translation>
     </message>
     <message>
         <source>Fit segment width</source>
-        <translation type="vanished">Ajustar anchura de segmento</translation>
+        <translation>Ajustar anchura de segmento</translation>
     </message>
     <message>
         <source>Display</source>
-        <translation type="vanished">Visualizar</translation>
+        <translation>Visualizar</translation>
     </message>
     <message>
         <source>Box margin</source>
-        <translation type="vanished">Margen de caja</translation>
+        <translation>Margen de caja</translation>
     </message>
     <message>
         <source>Labels margin</source>
-        <translation type="vanished">Margen de etiquetas</translation>
+        <translation>Margen de etiquetas</translation>
     </message>
     <message>
         <source>Line width</source>
-        <translation type="vanished">Ancho de línea</translation>
+        <translation>Ancho de línea</translation>
     </message>
     <message>
         <source>Join style</source>
-        <translation type="vanished">Estilo de ángulos</translation>
+        <translation>Estilo de ángulos</translation>
     </message>
     <message>
         <source>Cap style</source>
-        <translation type="vanished">Estilo de extremos</translation>
+        <translation>Estilo de extremos</translation>
     </message>
     <message>
         <source>Alignment</source>
-        <translation type="vanished">Alineación</translation>
+        <translation>Alineación</translation>
     </message>
     <message>
         <source>Fonts and colors</source>
-        <translation type="vanished">Tipos de letra y colores</translation>
+        <translation>Tipos de letra y colores</translation>
     </message>
     <message>
         <source>Font color</source>
-        <translation type="vanished">Color de letras</translation>
+        <translation>Color de letras</translation>
     </message>
     <message>
         <source>Fill color</source>
-        <translation type="vanished">Color de relleno</translation>
+        <translation>Color de relleno</translation>
     </message>
     <message>
         <source>Secondary fill color</source>
-        <translation type="vanished">Color de relleno secundario</translation>
+        <translation>Color de relleno secundario</translation>
     </message>
     <message>
         <source>Line color</source>
-        <translation type="vanished">Color de línea</translation>
+        <translation>Color de línea</translation>
     </message>
     <message>
         <source>Font...</source>
-        <translation type="vanished">Tipo de letra...</translation>
+        <translation>Tipo de letra...</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerShape</name>
     <message>
         <source><ellipse></source>
-        <translation type="vanished"><elipse></translation>
+        <translation><elipse></translation>
     </message>
     <message>
         <source><rectangle></source>
-        <translation type="vanished"><rectángulo></translation>
+        <translation><rectángulo></translation>
     </message>
     <message>
         <source><triangle></source>
-        <translation type="vanished"><triángulo></translation>
+        <translation><triángulo></translation>
     </message>
     <message>
         <source><shape></source>
-        <translation type="vanished"><forma></translation>
+        <translation><forma></translation>
     </message>
 </context>
 <context>
     <name>QgsComposerShapeWidget</name>
     <message>
         <source>Ellipse</source>
-        <translation type="vanished">Elipse</translation>
+        <translation>Elipse</translation>
     </message>
     <message>
         <source>Rectangle</source>
-        <translation type="vanished">Rectángulo</translation>
+        <translation>Rectángulo</translation>
     </message>
     <message>
         <source>Triangle</source>
-        <translation type="vanished">Triángulo</translation>
+        <translation>Triángulo</translation>
     </message>
     <message>
         <source>Shape style changed</source>
-        <translation type="vanished">Cambiado el estilo de formas</translation>
+        <translation>Cambiado el estilo de formas</translation>
     </message>
     <message>
         <source>Shape radius changed</source>
-        <translation type="vanished">Radio de forma cambiado</translation>
+        <translation>Radio de forma cambiado</translation>
     </message>
     <message>
         <source>Shape type changed</source>
-        <translation type="vanished">Cambiado el tipo de forma</translation>
+        <translation>Cambiado el tipo de forma</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerShapeWidgetBase</name>
     <message>
         <source>Form</source>
-        <translation type="vanished">Formulario</translation>
+        <translation>Formulario</translation>
     </message>
     <message>
         <source>Shape</source>
-        <translation type="vanished">Forma</translation>
+        <translation>Forma</translation>
     </message>
     <message>
         <source>Main properties</source>
-        <translation type="vanished">Propiedades principales</translation>
+        <translation>Propiedades principales</translation>
     </message>
     <message>
         <source>Corner radius</source>
-        <translation type="vanished">Radio de la esquina</translation>
+        <translation>Radio de la esquina</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>Style</source>
-        <translation type="vanished">Estilo</translation>
+        <translation>Estilo</translation>
     </message>
     <message>
         <source>Change...</source>
-        <translation type="vanished">Cambiar...</translation>
+        <translation>Cambiar...</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerTableBackgroundColorsDialog</name>
     <message>
         <source>Table background customisation</source>
-        <translation type="vanished">Personalización de fondo de tabla</translation>
+        <translation>Personalización de fondo de tabla</translation>
     </message>
     <message>
         <source>Select background color</source>
-        <translation type="vanished">Seleccionar color de fondo</translation>
+        <translation>Seleccionar color de fondo</translation>
     </message>
     <message>
         <source>No background</source>
-        <translation type="vanished">Sin fondo</translation>
+        <translation>Sin fondo</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerTableBackgroundDialog</name>
     <message>
         <source>Table Background Colors</source>
-        <translation type="vanished">Colores de fondo de la tabla</translation>
+        <translation>Colores de fondo de la tabla</translation>
     </message>
     <message>
         <source>Odd rows</source>
-        <translation type="vanished">Filas impares</translation>
+        <translation>Filas impares</translation>
     </message>
     <message>
         <source>Header row</source>
-        <translation type="vanished">Fila de encabezado</translation>
+        <translation>Fila de encabezado</translation>
     </message>
     <message>
         <source><html><head/><body><p>Check options to enable shading for matching cells. Options lower in this list will take precedence over higher options. Eg, if both &quot;<span style=" font-style:italic;">First row</span>&quot; and &quot;<span style=" font-style:italic;">Odd rows</span>&quot; are checked, the cells in the first row will be shaded using the color specified for &quot;<span styl [...]
-        <translation type="vanished"><html><head/><body><p>Marque las opciones para habilitar el sombreado de las celdas coincidentes. Las opciones más abajo en esta lista tendrán precedencia sobre las más altas. Por ejemplo, si están marcadas tanto &quot;<span style=" font-style:italic;">Primera fila</span>&quot; como &quot;<span style=" font-style:italic;">Filas impares</span>&quot; las celdas de la pri [...]
+        <translation><html><head/><body><p>Marque las opciones para habilitar el sombreado de las celdas coincidentes. Las opciones más abajo en esta lista tendrán precedencia sobre las más altas. Por ejemplo, si están marcadas tanto &quot;<span style=" font-style:italic;">Primera fila</span>&quot; como &quot;<span style=" font-style:italic;">Filas impares</span>&quot; las celdas de la primera fila se som [...]
     </message>
     <message>
         <source>Last column</source>
-        <translation type="vanished">Última columna</translation>
+        <translation>Última columna</translation>
     </message>
     <message>
         <source>Odd columns</source>
-        <translation type="vanished">Columnas impares</translation>
+        <translation>Columnas impares</translation>
     </message>
     <message>
         <source>Even rows</source>
-        <translation type="vanished">Filas pares</translation>
+        <translation>Filas pares</translation>
     </message>
     <message>
         <source>Even columns</source>
-        <translation type="vanished">Columnas pares</translation>
+        <translation>Columnas pares</translation>
     </message>
     <message>
         <source>First row</source>
-        <translation type="vanished">Primera fila</translation>
+        <translation>Primera fila</translation>
     </message>
     <message>
         <source>First column</source>
-        <translation type="vanished">Primera columna</translation>
+        <translation>Primera columna</translation>
     </message>
     <message>
         <source>Last row</source>
-        <translation type="vanished">Última fila</translation>
+        <translation>Última fila</translation>
     </message>
     <message>
         <source>Default cell background</source>
-        <translation type="vanished">Fondo de celda predeterminado</translation>
+        <translation>Fondo de celda predeterminado</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerTableSortColumnsProxyModel</name>
     <message>
         <source>Descending</source>
-        <translation type="vanished">Descendente</translation>
+        <translation>Descendente</translation>
     </message>
     <message>
         <source>Ascending</source>
-        <translation type="vanished">Ascendente</translation>
+        <translation>Ascendente</translation>
     </message>
     <message>
         <source>Attribute</source>
-        <translation type="vanished">Atributo</translation>
+        <translation>Atributo</translation>
     </message>
     <message>
         <source>Sort Order</source>
-        <translation type="vanished">Orden de ordenación</translation>
+        <translation>Orden de ordenación</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerTableSortColumnsProxyModelV2</name>
     <message>
         <source>Descending</source>
-        <translation type="vanished">Descendente</translation>
+        <translation>Descendente</translation>
     </message>
     <message>
         <source>Ascending</source>
-        <translation type="vanished">Ascendente</translation>
+        <translation>Ascendente</translation>
     </message>
     <message>
         <source>Attribute</source>
-        <translation type="vanished">Atributo</translation>
+        <translation>Atributo</translation>
     </message>
     <message>
         <source>Sort Order</source>
-        <translation type="vanished">Orden de ordenación</translation>
+        <translation>Orden de ordenación</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerTableV2</name>
     <message>
         <source>No matching records</source>
-        <translation type="vanished">Ningún registro coincidente</translation>
+        <translation>Ningún registro coincidente</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerTableWidget</name>
     <message>
         <source>Map %1</source>
-        <translation type="vanished">Mapa %1</translation>
+        <translation>Mapa %1</translation>
     </message>
     <message>
         <source>Table grid line</source>
-        <translation type="vanished">Línea de cuadrícula de tabla</translation>
+        <translation>Línea de cuadrícula de tabla</translation>
     </message>
     <message>
         <source>Table feature filter toggled</source>
-        <translation type="vanished">Filtro de objeto de tabla conmutado</translation>
+        <translation>Filtro de objeto de tabla conmutado</translation>
     </message>
     <message>
         <source>Table feature filter modified</source>
-        <translation type="vanished">Filtro de objeto de tabla modificado</translation>
+        <translation>Filtro de objeto de tabla modificado</translation>
     </message>
     <message>
         <source>Expression based filter</source>
-        <translation type="vanished">Expresión basada en filtro</translation>
+        <translation>Expresión basada en filtro</translation>
     </message>
     <message>
         <source>Table header alignment changed</source>
-        <translation type="vanished">Cambiada la alineación de la cabecera de tabla</translation>
+        <translation>Cambiada la alineación de la cabecera de tabla</translation>
     </message>
     <message>
         <source>Table layer changed</source>
-        <translation type="vanished">Cambiada la capa de la tabla</translation>
+        <translation>Cambiada la capa de la tabla</translation>
     </message>
     <message>
         <source>Table attribute settings</source>
-        <translation type="vanished">Configuración de la tabla de atributos</translation>
+        <translation>Configuración de la tabla de atributos</translation>
     </message>
     <message>
         <source>Select header font color</source>
-        <translation type="vanished">Seleccionar color de letra del encabezado</translation>
+        <translation>Seleccionar color de letra del encabezado</translation>
     </message>
     <message>
         <source>Select content font color</source>
-        <translation type="vanished">Seleccionar color de letra del contenido</translation>
+        <translation>Seleccionar color de letra del contenido</translation>
     </message>
     <message>
         <source>Table map changed</source>
-        <translation type="vanished">Cambiado el mapa de la tabla</translation>
+        <translation>Cambiado el mapa de la tabla</translation>
     </message>
     <message>
         <source>Table maximum columns</source>
-        <translation type="vanished">Máximo de columnas de la tabla</translation>
+        <translation>Máximo de columnas de la tabla</translation>
     </message>
     <message>
         <source>Select Font</source>
-        <translation type="vanished">Seleccionar tipo de letra</translation>
+        <translation>Seleccionar tipo de letra</translation>
     </message>
     <message>
         <source>Table header font</source>
-        <translation type="vanished">Tipo de letra de la cabecera de la tabla</translation>
+        <translation>Tipo de letra de la cabecera de la tabla</translation>
     </message>
     <message>
         <source>Table header font color</source>
-        <translation type="vanished">Color de letra de encabezado de tabla</translation>
+        <translation>Color de letra de encabezado de tabla</translation>
     </message>
     <message>
         <source>Table content font</source>
-        <translation type="vanished">Tipo de letra del contenido de la tabla</translation>
+        <translation>Tipo de letra del contenido de la tabla</translation>
     </message>
     <message>
         <source>Table content font color</source>
-        <translation type="vanished">Color de letra de contenido de tabla</translation>
+        <translation>Color de letra de contenido de tabla</translation>
     </message>
     <message>
         <source>Select grid color</source>
-        <translation type="vanished">Seleccionar color de cuadrícula</translation>
+        <translation>Seleccionar color de cuadrícula</translation>
     </message>
     <message>
         <source>Table grid color</source>
-        <translation type="vanished">Color de cuadrícula de la tabla</translation>
+        <translation>Color de cuadrícula de la tabla</translation>
     </message>
     <message>
         <source>Table grid toggled</source>
-        <translation type="vanished">Conmutada la cuadrícula de la tabla</translation>
+        <translation>Conmutada la cuadrícula de la tabla</translation>
     </message>
     <message>
         <source>Table visible only toggled</source>
-        <translation type="vanished">Tabla visible solamente conmutado</translation>
+        <translation>Tabla visible solamente conmutado</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerTableWidgetBase</name>
     <message>
         <source>Attribute Table</source>
-        <translation type="vanished">Tabla de atributos</translation>
+        <translation>Tabla de atributos</translation>
     </message>
     <message>
         <source>Attribute table</source>
-        <translation type="vanished">Tabla de atributos</translation>
+        <translation>Tabla de atributos</translation>
     </message>
     <message>
         <source>Main properties</source>
-        <translation type="vanished">Propiedades principales</translation>
+        <translation>Propiedades principales</translation>
     </message>
     <message>
         <source>Layer</source>
-        <translation type="vanished">Capa</translation>
+        <translation>Capa</translation>
     </message>
     <message>
         <source>Attributes...</source>
-        <translation type="vanished">Atributos...</translation>
+        <translation>Atributos...</translation>
     </message>
     <message>
         <source>Feature filtering</source>
-        <translation type="vanished">Filtrado de objetos espaciales</translation>
+        <translation>Filtrado de objetos espaciales</translation>
     </message>
     <message>
         <source>Composer map</source>
-        <translation type="vanished">Mapa de diseñador</translation>
+        <translation>Mapa de diseñador</translation>
     </message>
     <message>
         <source>Line width</source>
-        <translation type="vanished">Ancho de línea</translation>
+        <translation>Ancho de línea</translation>
     </message>
     <message>
         <source>Color</source>
-        <translation type="vanished">Color</translation>
+        <translation>Color</translation>
     </message>
     <message>
         <source>Fonts and text styling</source>
-        <translation type="vanished">Estilo de letras y texto</translation>
+        <translation>Estilo de letras y texto</translation>
     </message>
     <message>
         <source>Table heading</source>
-        <translation type="vanished">Encabezado de tabla</translation>
+        <translation>Encabezado de tabla</translation>
     </message>
     <message>
         <source>Alignment</source>
-        <translation type="vanished">Alineación</translation>
+        <translation>Alineación</translation>
     </message>
     <message>
         <source>Font</source>
-        <translation type="vanished">Tipo de letra</translation>
+        <translation>Tipo de letra</translation>
     </message>
     <message>
         <source>Choose font...</source>
-        <translation type="vanished">Elija tipo de letra...</translation>
+        <translation>Elija tipo de letra...</translation>
     </message>
     <message>
         <source>Table contents</source>
-        <translation type="vanished">Contenido de tabla</translation>
+        <translation>Contenido de tabla</translation>
     </message>
     <message>
         <source>Maximum rows</source>
-        <translation type="vanished">Máximo de filas</translation>
+        <translation>Máximo de filas</translation>
     </message>
     <message>
         <source>Margin</source>
-        <translation type="vanished">Margen</translation>
+        <translation>Margen</translation>
     </message>
     <message>
         <source>Show only visible features</source>
-        <translation type="vanished">Mostrar sólo los objetos espaciales seleccionados</translation>
+        <translation>Mostrar sólo los objetos espaciales seleccionados</translation>
     </message>
     <message>
         <source>Refresh table data</source>
-        <translation type="vanished">Actualizar datos de la tabla</translation>
+        <translation>Actualizar datos de la tabla</translation>
     </message>
     <message>
         <source>Filter with</source>
-        <translation type="vanished">Filtrar con</translation>
+        <translation>Filtrar con</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>Show grid</source>
-        <translation type="vanished">Mostrar cuadrícula</translation>
+        <translation>Mostrar cuadrícula</translation>
     </message>
     <message>
         <source>Follow column alignment</source>
-        <translation type="vanished">Seguir alineación de columna</translation>
+        <translation>Seguir alineación de columna</translation>
     </message>
     <message>
         <source>Left</source>
-        <translation type="vanished">Izquierda</translation>
+        <translation>Izquierda</translation>
     </message>
     <message>
         <source>Center</source>
-        <translation type="vanished">Centro</translation>
+        <translation>Centro</translation>
     </message>
     <message>
         <source>Right</source>
-        <translation type="vanished">Derecha</translation>
+        <translation>Derecha</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerVectorLegendBase</name>
     <message>
         <source>Vector Legend Options</source>
-        <translation type="vanished">Opciones de leyenda vectorizada</translation>
+        <translation>Opciones de leyenda vectorizada</translation>
     </message>
     <message>
         <source>Preview</source>
-        <translation type="vanished">Previsualización</translation>
+        <translation>Previsualización</translation>
     </message>
     <message>
         <source>Map</source>
-        <translation type="vanished">Mapa</translation>
+        <translation>Mapa</translation>
     </message>
     <message>
         <source>Title</source>
-        <translation type="vanished">Título</translation>
+        <translation>Título</translation>
     </message>
     <message>
         <source>Layers</source>
-        <translation type="vanished">Capas</translation>
+        <translation>Capas</translation>
     </message>
     <message>
         <source>Group</source>
-        <translation type="vanished">Grupo</translation>
+        <translation>Grupo</translation>
     </message>
     <message>
         <source>ID</source>
-        <translation type="vanished">ID</translation>
+        <translation>ID</translation>
     </message>
     <message>
         <source>Box</source>
-        <translation type="vanished">Cajetín</translation>
+        <translation>Cajetín</translation>
     </message>
     <message>
         <source>Font</source>
-        <translation type="vanished">Fuente</translation>
+        <translation>Fuente</translation>
     </message>
 </context>
 <context>
     <name>QgsComposerView</name>
     <message>
         <source>QGIS</source>
-        <translation type="vanished">QGIS</translation>
+        <translation>QGIS</translation>
     </message>
     <message>
         <source>Label added</source>
-        <translation type="vanished">Etiqueta añadida</translation>
+        <translation>Etiqueta añadida</translation>
     </message>
     <message>
         <source>Scale bar added</source>
-        <translation type="vanished">Barra de escala añadida</translation>
+        <translation>Barra de escala añadida</translation>
     </message>
     <message>
         <source>Legend added</source>
-        <translation type="vanished">Leyenda añadida</translation>
+        <translation>Leyenda añadida</translation>
     </message>
     <message>
         <source>Picture added</source>
-        <translation type="vanished">Imagen añadida</translation>
+        <translation>Imagen añadida</translation>
     </message>
     <message>
         <source>Table added</source>
-        <translation type="vanished">Tabla añadida</translation>
+        <translation>Tabla añadida</translation>
     </message>
     <message>
         <source>Shape added</source>
-        <translation type="vanished">Figura geométrica añadida</translation>
+        <translation>Figura geométrica añadida</translation>
     </message>
     <message>
         <source>Move item node</source>
-        <translation type="vanished">Mover nodo de elemento</translation>
+        <translation>Mover nodo de elemento</translation>
     </message>
     <message>
         <source>Polygon added</source>
-        <translation type="vanished">Polígono añadido</translation>
+        <translation>Polígono añadido</translation>
     </message>
     <message>
         <source>Polyline added</source>
-        <translation type="vanished">Polilínea añadida</translation>
+        <translation>Polilínea añadida</translation>
     </message>
     <message>
         <source>Move item content</source>
-        <translation type="vanished">Mover contenido del elemento</translation>
+        <translation>Mover contenido del elemento</translation>
     </message>
     <message>
         <source>Arrow added</source>
-        <translation type="vanished">Flecha añadida</translation>
+        <translation>Flecha añadida</translation>
     </message>
     <message>
         <source>Map added</source>
-        <translation type="vanished">Mapa añadido</translation>
+        <translation>Mapa añadido</translation>
     </message>
     <message>
         <source>Attribute table added</source>
-        <translation type="vanished">Tabla de atributos añadida</translation>
+        <translation>Tabla de atributos añadida</translation>
     </message>
     <message>
         <source>Attribute table frame added</source>
-        <translation type="vanished">Marco de tabla de atributos añadido</translation>
+        <translation>Marco de tabla de atributos añadido</translation>
     </message>
     <message>
         <source>HTML item added</source>
-        <translation type="vanished">Elemento HTML añadido </translation>
+        <translation>Elemento HTML añadido </translation>
     </message>
     <message>
         <source>HTML frame added</source>
-        <translation type="vanished">Marco HTML añadido </translation>
+        <translation>Marco HTML añadido </translation>
     </message>
     <message>
         <source>Add item node</source>
-        <translation type="vanished">Añadir nodo de elemento</translation>
+        <translation>Añadir nodo de elemento</translation>
     </message>
     <message>
         <source>Remove item node</source>
-        <translation type="vanished">Eliminar nodo de elemento</translation>
+        <translation>Eliminar nodo de elemento</translation>
     </message>
     <message>
         <source>Item moved</source>
-        <translation type="vanished">Elemento movido</translation>
+        <translation>Elemento movido</translation>
     </message>
     <message>
         <source>Zoom item content</source>
-        <translation type="vanished">Zoom al contenido del elemento</translation>
+        <translation>Zoom al contenido del elemento</translation>
     </message>
 </context>
 <context>
     <name>QgsComposition</name>
     <message>
         <source>Label added</source>
-        <translation type="vanished">Etiqueta añadida</translation>
+        <translation>Etiqueta añadida</translation>
     </message>
     <message>
         <source>Map added</source>
-        <translation type="vanished">Mapa añadido</translation>
+        <translation>Mapa añadido</translation>
     </message>
     <message>
         <source>Arrow added</source>
-        <translation type="vanished">Flecha añadida</translation>
+        <translation>Flecha añadida</translation>
     </message>
     <message>
         <source>Scale bar added</source>
-        <translation type="vanished">Barra de escala añadida</translation>
+        <translation>Barra de escala añadida</translation>
     </message>
     <message>
         <source>Shape added</source>
-        <translation type="vanished">Forma añadida</translation>
+        <translation>Forma añadida</translation>
     </message>
     <message>
         <source>Polygon added</source>
-        <translation type="vanished">Polígono añadido</translation>
+        <translation>Polígono añadido</translation>
     </message>
     <message>
         <source>Polyline added</source>
-        <translation type="vanished">Polilínea añadida</translation>
+        <translation>Polilínea añadida</translation>
     </message>
     <message>
         <source>Picture added</source>
-        <translation type="vanished">Imagen añadida</translation>
+        <translation>Imagen añadida</translation>
     </message>
     <message>
         <source>Legend added</source>
-        <translation type="vanished">Leyenda añadida</translation>
+        <translation>Leyenda añadida</translation>
     </message>
     <message>
         <source>Table added</source>
-        <translation type="vanished">Tabla añadida</translation>
+        <translation>Tabla añadida</translation>
     </message>
     <message>
         <source>Group added</source>
-        <translation type="vanished">Grupo añadido</translation>
+        <translation>Grupo añadido</translation>
     </message>
     <message>
         <source>Aligned items left</source>
-        <translation type="vanished">Elementos alineados a la izquierda</translation>
+        <translation>Elementos alineados a la izquierda</translation>
     </message>
     <message>
         <source>Aligned items horizontal center</source>
-        <translation type="vanished">Elementos alineados al centro horizontal</translation>
+        <translation>Elementos alineados al centro horizontal</translation>
     </message>
     <message>
         <source>Aligned items vertical center</source>
-        <translation type="vanished">Elementos alineados al centro vertical</translation>
+        <translation>Elementos alineados al centro vertical</translation>
     </message>
     <message>
         <source>Aligned items right</source>
-        <translation type="vanished">Elementos alineados a la derecha</translation>
+        <translation>Elementos alineados a la derecha</translation>
     </message>
     <message>
         <source>Aligned items top</source>
-        <translation type="vanished">Elementos alineados arriba</translation>
+        <translation>Elementos alineados arriba</translation>
     </message>
     <message>
         <source>Aligned items bottom</source>
-        <translation type="vanished">Elementos alineados abajo</translation>
+        <translation>Elementos alineados abajo</translation>
     </message>
     <message>
         <source>Items locked</source>
-        <translation type="vanished">Elementos bloqueados</translation>
+        <translation>Elementos bloqueados</translation>
     </message>
     <message>
         <source>Items unlocked</source>
-        <translation type="vanished">Elementos desbloqueados</translation>
+        <translation>Elementos desbloqueados</translation>
     </message>
     <message>
         <source>Items grouped</source>
-        <translation type="vanished">Elementos agrupados</translation>
+        <translation>Elementos agrupados</translation>
     </message>
     <message>
         <source>Items ungrouped</source>
-        <translation type="vanished">Elementos desagrupados</translation>
+        <translation>Elementos desagrupados</translation>
     </message>
     <message>
         <source>Item z-order changed</source>
-        <translation type="vanished">Orden Z de los elementos cambiados</translation>
+        <translation>Orden Z de los elementos cambiados</translation>
     </message>
     <message>
         <source>Remove item group</source>
-        <translation type="vanished">Eliminar grupo de elementos</translation>
+        <translation>Eliminar grupo de elementos</translation>
     </message>
     <message>
         <source>Frame deleted</source>
-        <translation type="vanished">Marco eliminado</translation>
+        <translation>Marco eliminado</translation>
     </message>
     <message>
         <source>Item deleted</source>
-        <translation type="vanished">Elemento borrado</translation>
+        <translation>Elemento borrado</translation>
     </message>
     <message>
         <source>Multiframe removed</source>
-        <translation type="vanished">Multimarco eliminado</translation>
+        <translation>Multimarco eliminado</translation>
     </message>
 </context>
 <context>
     <name>QgsCompositionBase</name>
     <message>
         <source>Composition</source>
-        <translation type="vanished">Diseño</translation>
+        <translation>Diseño</translation>
     </message>
     <message>
         <source>Paper</source>
-        <translation type="vanished">Papel</translation>
+        <translation>Papel</translation>
     </message>
     <message>
         <source>Size</source>
-        <translation type="vanished">Tamaño</translation>
+        <translation>Tamaño</translation>
     </message>
     <message>
         <source>Units</source>
-        <translation type="vanished">Unidades</translation>
+        <translation>Unidades</translation>
     </message>
     <message>
         <source>Width</source>
-        <translation type="vanished">Anchura</translation>
+        <translation>Anchura</translation>
     </message>
     <message>
         <source>Height</source>
-        <translation type="vanished">Altura</translation>
+        <translation>Altura</translation>
     </message>
     <message>
         <source>Orientation</source>
-        <translation type="vanished">Orientación</translation>
+        <translation>Orientación</translation>
     </message>
 </context>
 <context>
     <name>QgsCompositionWidget</name>
     <message>
         <source>mm</source>
-        <translation type="vanished">mm</translation>
+        <translation>mm</translation>
     </message>
     <message>
         <source>inch</source>
-        <translation type="vanished">pulgada</translation>
+        <translation>pulgada</translation>
     </message>
     <message>
         <source>Landscape</source>
-        <translation type="vanished">Horizontal</translation>
+        <translation>Horizontal</translation>
     </message>
     <message>
         <source>Portrait</source>
-        <translation type="vanished">Vertical</translation>
+        <translation>Vertical</translation>
     </message>
     <message>
         <source>A5 (148x210 mm)</source>
-        <translation type="vanished">A5 (148x210 mm)</translation>
+        <translation>A5 (148x210 mm)</translation>
     </message>
     <message>
         <source>A4 (210x297 mm)</source>
-        <translation type="vanished">A4 (210x297 mm)</translation>
+        <translation>A4 (210x297 mm)</translation>
     </message>
     <message>
         <source>A3 (297x420 mm)</source>
-        <translation type="vanished">A3 (297x420 mm)</translation>
+        <translation>A3 (297x420 mm)</translation>
     </message>
     <message>
         <source>A2 (420x594 mm)</source>
-        <translation type="vanished">A2 (420x594 mm)</translation>
+        <translation>A2 (420x594 mm)</translation>
     </message>
     <message>
         <source>A1 (594x841 mm)</source>
-        <translation type="vanished">A1 (594x841 mm)</translation>
+        <translation>A1 (594x841 mm)</translation>
     </message>
     <message>
         <source>A0 (841x1189 mm)</source>
-        <translation type="vanished">A0 (841x1189 mm)</translation>
+        <translation>A0 (841x1189 mm)</translation>
     </message>
     <message>
         <source>B5 (176 x 250 mm)</source>
-        <translation type="vanished">B5 (176 x 250 mm)</translation>
+        <translation>B5 (176 x 250 mm)</translation>
     </message>
     <message>
         <source>B4 (250 x 353 mm)</source>
-        <translation type="vanished">B4 (250 x 353 mm)</translation>
+        <translation>B4 (250 x 353 mm)</translation>
     </message>
     <message>
         <source>B3 (353 x 500 mm)</source>
-        <translation type="vanished">B3 (353 x 500 mm)</translation>
+        <translation>B3 (353 x 500 mm)</translation>
     </message>
     <message>
         <source>B2 (500 x 707 mm)</source>
-        <translation type="vanished">B2 (500 x 707 mm)</translation>
+        <translation>B2 (500 x 707 mm)</translation>
     </message>
     <message>
         <source>B1 (707 x 1000 mm)</source>
-        <translation type="vanished">B1 (707 x 1000 mm)</translation>
+        <translation>B1 (707 x 1000 mm)</translation>
     </message>
     <message>
         <source>B0 (1000 x 1414 mm)</source>
-        <translation type="vanished">B0 (1000 x 1414 mm)</translation>
+        <translation>B0 (1000 x 1414 mm)</translation>
     </message>
     <message>
         <source>Legal (8.5x14 in)</source>
-        <translation type="vanished">Legal (8.5x14 pulgadas)</translation>
+        <translation>Legal (8.5x14 pulgadas)</translation>
     </message>
     <message>
         <source>ANSI A (Letter; 8.5x11 in)</source>
-        <translation type="vanished">ANSI A (Letter; 8.5x11 pulgadas)</translation>
+        <translation>ANSI A (Letter; 8.5x11 pulgadas)</translation>
     </message>
     <message>
         <source>ANSI B (Tabloid; 11x17 in)</source>
-        <translation type="vanished">ANSI B (Tabloide; 11x17 pulgadas)</translation>
+        <translation>ANSI B (Tabloide; 11x17 pulgadas)</translation>
     </message>
     <message>
         <source>ANSI C (17x22 in)</source>
-        <translation type="vanished">ANSI C (17x22 pulgadas)</translation>
+        <translation>ANSI C (17x22 pulgadas)</translation>
     </message>
     <message>
         <source>ANSI D (22x34 in)</source>
-        <translation type="vanished">ANSI D (22x34 pulgadas)</translation>
+        <translation>ANSI D (22x34 pulgadas)</translation>
     </message>
     <message>
         <source>ANSI E (34x44 in)</source>
-        <translation type="vanished">ANSI E (34x44 pulgadas)</translation>
+        <translation>ANSI E (34x44 pulgadas)</translation>
     </message>
     <message>
         <source>Arch A (9x12 in)</source>
-        <translation type="vanished">Arch A (9x12 pulgadas)</translation>
+        <translation>Arch A (9x12 pulgadas)</translation>
     </message>
     <message>
         <source>Arch B (12x18 in)</source>
-        <translation type="vanished">Arch B (12x18 pulgadas)</translation>
+        <translation>Arch B (12x18 pulgadas)</translation>
     </message>
     <message>
         <source>Arch C (18x24 in)</source>
-        <translation type="vanished">Arch C (18x24 pulgadas)</translation>
+        <translation>Arch C (18x24 pulgadas)</translation>
     </message>
     <message>
         <source>Arch D (24x36 in)</source>
-        <translation type="vanished">Arch D (24x36 pulgadas)</translation>
+        <translation>Arch D (24x36 pulgadas)</translation>
     </message>
     <message>
         <source>Arch E (36x48 in)</source>
-        <translation type="vanished">Arch E (36x48 pulgadas)</translation>
+        <translation>Arch E (36x48 pulgadas)</translation>
     </message>
     <message>
         <source>Arch E1 (30x42 in)</source>
-        <translation type="vanished">Arch E1 (30x42 pulgadas)</translation>
+        <translation>Arch E1 (30x42 pulgadas)</translation>
     </message>
     <message>
         <source>Custom</source>
-        <translation type="vanished">Personalizado</translation>
+        <translation>Personalizado</translation>
     </message>
 </context>
 <context>
     <name>QgsCompositionWidgetBase</name>
     <message>
         <source>Composition</source>
-        <translation type="vanished">Diseño</translation>
+        <translation>Diseño</translation>
     </message>
     <message>
         <source>Presets</source>
-        <translation type="vanished">Preestablecidos</translation>
+        <translation>Preestablecidos</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Width</source>
-        <translation type="vanished">Anchura</translation>
+        <translation>Anchura</translation>
     </message>
     <message>
         <source>Height</source>
-        <translation type="vanished">Altura</translation>
+        <translation>Altura</translation>
     </message>
     <message>
         <source>Units</source>
-        <translation type="vanished">Unidades</translation>
+        <translation>Unidades</translation>
     </message>
     <message>
         <source>Number of pages</source>
-        <translation type="vanished">Número de páginas</translation>
+        <translation>Número de páginas</translation>
     </message>
     <message>
         <source>Orientation</source>
-        <translation type="vanished">Orientación</translation>
+        <translation>Orientación</translation>
     </message>
     <message>
         <source>Export resolution</source>
-        <translation type="vanished">Resolución de exportación</translation>
+        <translation>Resolución de exportación</translation>
     </message>
     <message>
         <source>Print as raster</source>
-        <translation type="vanished">Imprimir como ráster</translation>
+        <translation>Imprimir como ráster</translation>
     </message>
     <message>
         <source>Variables</source>
-        <translation type="vanished">Variables</translation>
+        <translation>Variables</translation>
     </message>
     <message>
         <source>Change...</source>
-        <translation type="vanished">Cambiar...</translation>
+        <translation>Cambiar...</translation>
     </message>
     <message>
         <source>Page background</source>
-        <translation type="vanished">Fondo de página</translation>
+        <translation>Fondo de página</translation>
     </message>
     <message>
         <source>If checked, a separate world file which georeferences exported images will be created</source>
-        <translation type="vanished">Si se marca, se creará un archivo de georreferenciación separado que georreferencia las imágenes exportadas</translation>
+        <translation>Si se marca, se creará un archivo de georreferenciación separado que georreferencia las imágenes exportadas</translation>
     </message>
     <message>
         <source>Save world file</source>
-        <translation type="vanished">Guardas archivo de georreferenciación</translation>
+        <translation>Guardas archivo de georreferenciación</translation>
     </message>
     <message>
         <source>Reference map</source>
-        <translation type="vanished">Mapa de referencia</translation>
+        <translation>Mapa de referencia</translation>
     </message>
     <message>
         <source>Specifies the map which is used to georeference composer exports</source>
-        <translation type="vanished">Especifica el mapa que se usa para georreferenciar las exportaciones del diseñador</translation>
+        <translation>Especifica el mapa que se usa para georreferenciar las exportaciones del diseñador</translation>
     </message>
     <message>
         <source>Snap tolerance</source>
-        <translation type="vanished">Tolerancia de autoensamblado</translation>
+        <translation>Tolerancia de autoensamblado</translation>
     </message>
     <message>
         <source> px</source>
-        <translation type="vanished"> px</translation>
+        <translation> px</translation>
     </message>
     <message>
         <source> dpi</source>
-        <translation type="vanished">.ppp</translation>
+        <translation>.ppp</translation>
     </message>
     <message>
         <source>Page size</source>
-        <translation type="vanished">Tamaño de página</translation>
+        <translation>Tamaño de página</translation>
     </message>
     <message>
         <source>Resize page to content</source>
-        <translation type="vanished">Ajustar página al contenido</translation>
+        <translation>Ajustar página al contenido</translation>
     </message>
     <message>
         <source>Top margin (mm)</source>
-        <translation type="vanished">Margen superior (mm)</translation>
+        <translation>Margen superior (mm)</translation>
     </message>
     <message>
         <source>Left</source>
-        <translation type="vanished">Izquierda</translation>
+        <translation>Izquierda</translation>
     </message>
     <message>
         <source>Right</source>
-        <translation type="vanished">Derecha</translation>
+        <translation>Derecha</translation>
     </message>
     <message>
         <source>Bottom</source>
-        <translation type="vanished">Abajo</translation>
+        <translation>Abajo</translation>
     </message>
     <message>
         <source>Resize page</source>
-        <translation type="vanished">Ajustar página</translation>
+        <translation>Ajustar página</translation>
     </message>
     <message>
         <source>Page settings</source>
-        <translation type="vanished">Configuración de página</translation>
+        <translation>Configuración de página</translation>
     </message>
     <message>
         <source>Export settings</source>
-        <translation type="vanished">Configuración de exportación</translation>
+        <translation>Configuración de exportación</translation>
     </message>
     <message>
         <source>Guides and Grid</source>
-        <translation type="vanished">Guías y cuadrícula</translation>
+        <translation>Guías y cuadrícula</translation>
     </message>
     <message>
         <source>Grid spacing</source>
-        <translation type="vanished">Espaciado de cuadrícula</translation>
+        <translation>Espaciado de cuadrícula</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>Grid offset</source>
-        <translation type="vanished">Desplazamiento de la cuadrícula</translation>
+        <translation>Desplazamiento de la cuadrícula</translation>
     </message>
     <message>
         <source>x: </source>
-        <translation type="vanished">X: </translation>
+        <translation>X: </translation>
     </message>
     <message>
         <source>y: </source>
-        <translation type="vanished">Y: </translation>
+        <translation>Y: </translation>
     </message>
 </context>
 <context>
     <name>QgsCompoundColorWidget</name>
     <message>
         <source>Select palette file</source>
-        <translation type="vanished">Seleccionar archivo de paleta</translation>
+        <translation>Seleccionar archivo de paleta</translation>
     </message>
     <message>
         <source>Invalid file</source>
-        <translation type="vanished">Archivo no válido</translation>
+        <translation>Archivo no válido</translation>
     </message>
     <message>
         <source>Error, file does not exist or is not readable</source>
-        <translation type="vanished">Error, el archivo no existe o no se puede leer</translation>
+        <translation>Error, el archivo no existe o no se puede leer</translation>
     </message>
     <message>
         <source>Error, no colors found in palette file</source>
-        <translation type="vanished">Error, no se han encontrado colores en el archivo de paleta</translation>
+        <translation>Error, no se han encontrado colores en el archivo de paleta</translation>
     </message>
     <message>
         <source>Palette file is not readable</source>
-        <translation type="vanished">El archivo de paleta no se puede leer</translation>
+        <translation>El archivo de paleta no se puede leer</translation>
     </message>
     <message>
         <source>No colors found in palette file</source>
-        <translation type="vanished">No se han encontrado colores en el archivo de paleta</translation>
+        <translation>No se han encontrado colores en el archivo de paleta</translation>
     </message>
     <message>
         <location filename="../src/gui/qgscompoundcolorwidget.cpp" line="287"/>
@@ -51183,15 +51183,15 @@ Por favor, pruebe una resolución menor o un tamaño de papel más pequeño.</tr
     </message>
     <message>
         <source>Palette file</source>
-        <translation type="vanished">Archivo de paleta</translation>
+        <translation>Archivo de paleta</translation>
     </message>
     <message>
         <source>Error exporting</source>
-        <translation type="vanished">Error al exportar</translation>
+        <translation>Error al exportar</translation>
     </message>
     <message>
         <source>Error writing palette file</source>
-        <translation type="vanished">Error al escribir el archivo de paleta</translation>
+        <translation>Error al escribir el archivo de paleta</translation>
     </message>
 </context>
 <context>
@@ -51253,7 +51253,7 @@ Por favor, pruebe una resolución menor o un tamaño de papel más pequeño.</tr
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscompoundcolorwidget.ui" line="105"/>
@@ -51390,7 +51390,7 @@ Por favor, pruebe una resolución menor o un tamaño de papel más pequeño.</tr
     <name>QgsConfigureShortcutsDialog</name>
     <message>
         <source>Configure shortcuts</source>
-        <translation type="vanished">Configurar atajos de teclado</translation>
+        <translation>Configurar atajos de teclado</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsconfigureshortcutsdialog.ui" line="14"/>
@@ -51440,7 +51440,7 @@ Por favor, pruebe una resolución menor o un tamaño de papel más pequeño.</tr
     </message>
     <message>
         <source>Save shortcuts</source>
-        <translation type="vanished">Guardar atajos de teclado</translation>
+        <translation>Guardar atajos de teclado</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsconfigureshortcutsdialog.cpp" line="106"/>
@@ -51456,7 +51456,7 @@ Por favor, pruebe una resolución menor o un tamaño de papel más pequeño.</tr
     </message>
     <message>
         <source>Saving shortcuts</source>
-        <translation type="vanished">Guardando atajos de teclado</translation>
+        <translation>Guardando atajos de teclado</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsconfigureshortcutsdialog.cpp" line="121"/>
@@ -51467,11 +51467,11 @@ Por favor, pruebe una resolución menor o un tamaño de papel más pequeño.</tr
     </message>
     <message>
         <source>Load shortcuts</source>
-        <translation type="vanished">Cargar atajos de teclado</translation>
+        <translation>Cargar atajos de teclado</translation>
     </message>
     <message>
         <source>Loading shortcuts</source>
-        <translation type="vanished">Cargando atajos de teclado</translation>
+        <translation>Cargando atajos de teclado</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsconfigureshortcutsdialog.cpp" line="105"/>
@@ -51542,7 +51542,7 @@ Por favor, pruebe una resolución menor o un tamaño de papel más pequeño.</tr
     </message>
     <message>
         <source>Shortcut conflict</source>
-        <translation type="vanished">Conflicto de atajos de teclado</translation>
+        <translation>Conflicto de atajos de teclado</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsconfigureshortcutsdialog.cpp" line="438"/>
@@ -51554,44 +51554,44 @@ Por favor, pruebe una resolución menor o un tamaño de papel más pequeño.</tr
     <name>QgsContextHelp</name>
     <message>
         <source>Error starting help viewer [%1]</source>
-        <translation type="vanished">Error al iniciar el visor de la ayuda [%1]</translation>
+        <translation>Error al iniciar el visor de la ayuda [%1]</translation>
     </message>
     <message>
         <source>Context help</source>
-        <translation type="vanished">Ayuda contextual</translation>
+        <translation>Ayuda contextual</translation>
     </message>
     <message>
         <source><h3>Oops! QGIS can't find help for this form.</h3>The help file for %1 was not found for your language<br>If you would like to create it, contact the QGIS development team</source>
-        <translation type="vanished"><h3>¡Vaya! QGIS no puede encontrar ayuda para este formulario.</h3>No se encontró el archivo de ayuda para %1 en su idioma<br>Si quiere crearlo, póngase en contacto con el equipo de desarrollo de QGIS</translation>
+        <translation><h3>¡Vaya! QGIS no puede encontrar ayuda para este formulario.</h3>No se encontró el archivo de ayuda para %1 en su idioma<br>Si quiere crearlo, póngase en contacto con el equipo de desarrollo de QGIS</translation>
     </message>
 </context>
 <context>
     <name>QgsCoordinateTransform</name>
     <message>
         <source>The source spatial reference system (CRS) is not valid. The coordinates can not be reprojected. The CRS is: %1</source>
-        <translation type="vanished">El sistema de referencia espacial (SRC) de origen no es válido. No se pueden reproyectar las coordenadas. El SRC es: %1</translation>
+        <translation>El sistema de referencia espacial (SRC) de origen no es válido. No se pueden reproyectar las coordenadas. El SRC es: %1</translation>
     </message>
     <message>
         <source>CRS</source>
-        <translation type="vanished">SRC</translation>
+        <translation>SRC</translation>
     </message>
     <message>
         <source>The destination spatial reference system (CRS) is not valid. The coordinates can not be reprojected. The CRS is: %1</source>
-        <translation type="vanished">El sistema de referencia espacial (SRC) de destino no es válido. No se pueden reproyectar las coordenadas. El SRC es: %1</translation>
+        <translation>El sistema de referencia espacial (SRC) de destino no es válido. No se pueden reproyectar las coordenadas. El SRC es: %1</translation>
     </message>
     <message>
         <source>inverse transform</source>
-        <translation type="vanished">transformación inversa</translation>
+        <translation>transformación inversa</translation>
     </message>
     <message>
         <source>forward transform</source>
-        <translation type="vanished">transformación hacia adelante</translation>
+        <translation>transformación hacia adelante</translation>
     </message>
     <message>
         <source>%1 of
 %2PROJ.4: %3 +to %4
 Error: %5</source>
-        <translation type="vanished">%1 de
+        <translation>%1 de
 %2PROJ.4: %3 +a %4
 Error: %5</translation>
     </message>
@@ -51760,21 +51760,21 @@ y el archivo actual es [%3]</translation>
     <name>QgsCptCityColorRampV2Dialog</name>
     <message>
         <source>Selections by theme</source>
-        <translation type="vanished">Selecciones por tema</translation>
+        <translation>Selecciones por tema</translation>
     </message>
     <message>
         <source>All by author</source>
-        <translation type="vanished">Por autor</translation>
+        <translation>Por autor</translation>
     </message>
     <message>
         <source>You can download a more complete set of cpt-city gradients by installing the "Color Ramp Manager" plugin (you must enable Experimental plugins in the plugin manager).
 
 </source>
-        <translation type="vanished">Puede descargar un conjunto de gradientes cpt-city más completo  instalando el plugin "Color Ramp Manager" plugin (Debe habilitar complementos experimentales en el instalador de complementos). </translation>
+        <translation>Puede descargar un conjunto de gradientes cpt-city más completo  instalando el plugin "Color Ramp Manager" plugin (Debe habilitar complementos experimentales en el instalador de complementos). </translation>
     </message>
     <message>
         <source>All Ramps (%1)</source>
-        <translation type="vanished">Todas las rampas (%1)</translation>
+        <translation>Todas las rampas (%1)</translation>
     </message>
     <message>
         <source>Error - cpt-city gradient files not found.
@@ -51788,7 +51788,7 @@ You can install the entire cpt-city archive or a selection for QGIS.
 
 This file can be found at [%2]
 and current file is [%3]</source>
-        <translation type="vanished">Error - no se han encontrado los archivos de gradientes de ciudades-cpt.
+        <translation>Error - no se han encontrado los archivos de gradientes de ciudades-cpt.
 
 Tiene dos formas de instalarlos:
 
@@ -51802,54 +51802,54 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>%1 directory details</source>
-        <translation type="vanished">%1 Detalles del directorio</translation>
+        <translation>%1 Detalles del directorio</translation>
     </message>
     <message>
         <source>%1 gradient details</source>
-        <translation type="vanished">%1 Detalles del gradiente</translation>
+        <translation>%1 Detalles del gradiente</translation>
     </message>
 </context>
 <context>
     <name>QgsCptCityColorRampV2DialogBase</name>
     <message>
         <source>cpt-city color ramp</source>
-        <translation type="vanished">Rampa de color cpt-city</translation>
+        <translation>Rampa de color cpt-city</translation>
     </message>
     <message>
         <source>Selection and preview</source>
-        <translation type="vanished">Selección y vista previa</translation>
+        <translation>Selección y vista previa</translation>
     </message>
     <message>
         <source>License</source>
-        <translation type="vanished">Licencia</translation>
+        <translation>Licencia</translation>
     </message>
     <message>
         <source>Palette</source>
-        <translation type="vanished">Paleta</translation>
+        <translation>Paleta</translation>
     </message>
     <message>
         <source>Path</source>
-        <translation type="vanished">Ruta</translation>
+        <translation>Ruta</translation>
     </message>
     <message>
         <source>Information</source>
-        <translation type="vanished">Información</translation>
+        <translation>Información</translation>
     </message>
     <message>
         <source>Author(s)</source>
-        <translation type="vanished">Autor(es)</translation>
+        <translation>Autor(es)</translation>
     </message>
     <message>
         <source>Source</source>
-        <translation type="vanished">Fuente</translation>
+        <translation>Fuente</translation>
     </message>
     <message>
         <source>Details</source>
-        <translation type="vanished">Detalles</translation>
+        <translation>Detalles</translation>
     </message>
     <message>
         <source>Save as standard gradient</source>
-        <translation type="vanished">Guardar como gradiente estándar</translation>
+        <translation>Guardar como gradiente estándar</translation>
     </message>
 </context>
 <context>
@@ -51940,7 +51940,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Show</source>
-        <translation type="vanished">Mostrar</translation>
+        <translation>Mostrar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscredentialdialog.ui" line="138"/>
@@ -52145,7 +52145,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Copy existing CRS</source>
-        <translation type="vanished">Copiar SRC existente</translation>
+        <translation>Copiar SRC existente</translation>
     </message>
 </context>
 <context>
@@ -52162,7 +52162,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Description</source>
-        <translation type="vanished">Descripción</translation>
+        <translation>Descripción</translation>
     </message>
     <message>
         <location filename="../src/app/qgscustomization.cpp" line="232"/>
@@ -52181,7 +52181,7 @@ y el archivo actual es [%3]</translation>
     <name>QgsCustomizationDialogBase</name>
     <message>
         <source>Customization</source>
-        <translation type="vanished">Personalización</translation>
+        <translation>Personalización</translation>
     </message>
     <message>
         <location filename="../src/ui/qgscustomizationdialogbase.ui" line="14"/>
@@ -52248,7 +52248,7 @@ y el archivo actual es [%3]</translation>
     <name>QgsDashSpaceDialogBase</name>
     <message>
         <source>Dash space pattern</source>
-        <translation type="vanished">Patrón de espacio del guión</translation>
+        <translation>Patrón de espacio del guión</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/qgsdashspacedialogbase.ui" line="14"/>
@@ -52270,206 +52270,206 @@ y el archivo actual es [%3]</translation>
     <name>QgsDataDefinedButton</name>
     <message>
         <source>Description...</source>
-        <translation type="vanished">Descripción...</translation>
+        <translation>Descripción...</translation>
     </message>
     <message>
         <source>Edit...</source>
-        <translation type="vanished">Editar...</translation>
+        <translation>Editar...</translation>
     </message>
     <message>
         <source>Paste</source>
-        <translation type="vanished">Pegar</translation>
+        <translation>Pegar</translation>
     </message>
     <message>
         <source>Copy</source>
-        <translation type="vanished">Copiar</translation>
+        <translation>Copiar</translation>
     </message>
     <message>
         <source>Clear</source>
-        <translation type="vanished">Limpiar</translation>
+        <translation>Limpiar</translation>
     </message>
     <message>
         <source>Assistant...</source>
-        <translation type="vanished">Asistente...</translation>
+        <translation>Asistente...</translation>
     </message>
     <message>
         <source>string</source>
-        <translation type="vanished">cadena</translation>
+        <translation>cadena</translation>
     </message>
     <message>
         <source>int</source>
-        <translation type="vanished">entero</translation>
+        <translation>entero</translation>
     </message>
     <message>
         <source>double</source>
-        <translation type="vanished">doble</translation>
+        <translation>doble</translation>
     </message>
     <message>
         <source>Field type: </source>
-        <translation type="vanished">Tipo de campo.</translation>
+        <translation>Tipo de campo.</translation>
     </message>
     <message>
         <source>integer</source>
-        <translation type="vanished">entero</translation>
+        <translation>entero</translation>
     </message>
     <message>
         <source>unknown type</source>
-        <translation type="vanished">tipo desconocido</translation>
+        <translation>tipo desconocido</translation>
     </message>
     <message>
         <source>Data defined override</source>
-        <translation type="vanished">Suplantación definida por datos</translation>
+        <translation>Suplantación definida por datos</translation>
     </message>
     <message>
         <source>expression</source>
-        <translation type="vanished">expresión</translation>
+        <translation>expresión</translation>
     </message>
     <message>
         <source>field</source>
-        <translation type="vanished">campo</translation>
+        <translation>campo</translation>
     </message>
     <message>
         <source>Deactivate</source>
-        <translation type="vanished">Desactivar</translation>
+        <translation>Desactivar</translation>
     </message>
     <message>
         <source>Activate</source>
-        <translation type="vanished">Activar</translation>
+        <translation>Activar</translation>
     </message>
     <message>
         <source>Attribute field</source>
-        <translation type="vanished">Campo de atributos</translation>
+        <translation>Campo de atributos</translation>
     </message>
     <message>
         <source>No matching field types found</source>
-        <translation type="vanished">No se ha encontrado ningún tipo de campo coincidente</translation>
+        <translation>No se ha encontrado ningún tipo de campo coincidente</translation>
     </message>
     <message>
         <source>Expression</source>
-        <translation type="vanished">Expresión</translation>
+        <translation>Expresión</translation>
     </message>
     <message>
         <source>No variables set</source>
-        <translation type="vanished">Ninguna variable establecida</translation>
+        <translation>Ninguna variable establecida</translation>
     </message>
     <message>
         <source>Current: </source>
-        <translation type="vanished">Actual:</translation>
+        <translation>Actual:</translation>
     </message>
     <message>
         <source>Data definition description</source>
-        <translation type="vanished">Descripción de la definición de datos</translation>
+        <translation>Descripción de la definición de datos</translation>
     </message>
     <message>
         <source>undefined</source>
-        <translation type="vanished">indefinido</translation>
+        <translation>indefinido</translation>
     </message>
     <message>
         <source>Parse error: %1</source>
-        <translation type="vanished">Error de análisis: %1</translation>
+        <translation>Error de análisis: %1</translation>
     </message>
     <message>
         <source>'%1' field missing</source>
-        <translation type="vanished">falta el campo '%1'</translation>
+        <translation>falta el campo '%1'</translation>
     </message>
     <message>
         <source><b><u>Data defined override</u></b><br></source>
-        <translation type="vanished"><b><u>Suplantación definida por datos</u></b><br></translation>
+        <translation><b><u>Suplantación definida por datos</u></b><br></translation>
     </message>
     <message>
         <source><b>Active: </b>%1&nbsp;&nbsp;&nbsp;<i>(ctrl|right-click toggles)</i><br></source>
-        <translation type="vanished"><b>Activa: </b>%1&nbsp;&nbsp;&nbsp;<i>(ctrl|clic-derecho alterna)</i><br></translation>
+        <translation><b>Activa: </b>%1&nbsp;&nbsp;&nbsp;<i>(ctrl|clic-derecho alterna)</i><br></translation>
     </message>
     <message>
         <source>yes</source>
-        <translation type="vanished">si</translation>
+        <translation>si</translation>
     </message>
     <message>
         <source>no</source>
-        <translation type="vanished">no</translation>
+        <translation>no</translation>
     </message>
     <message>
         <source><b>Usage:</b><br>%1<br></source>
-        <translation type="vanished"><b>Uso:</b><br>%1<br></translation>
+        <translation><b>Uso:</b><br>%1<br></translation>
     </message>
     <message>
         <source><b>Expected input:</b><br>%1<br></source>
-        <translation type="vanished"><b>Entrada esperada:</b><br>%1<br></translation>
+        <translation><b>Entrada esperada:</b><br>%1<br></translation>
     </message>
     <message>
         <source><b>Valid input types:</b><br>%1<br></source>
-        <translation type="vanished"><b>Tipos de entrada válidos:</b><br>%1<br></translation>
+        <translation><b>Tipos de entrada válidos:</b><br>%1<br></translation>
     </message>
     <message>
         <source><b>Current definition %1:</b><br>%2</source>
-        <translation type="vanished"><b>Definición actual %1:</b><br>%2</translation>
+        <translation><b>Definición actual %1:</b><br>%2</translation>
     </message>
     <message>
         <source>string </source>
-        <translation type="vanished">cadena</translation>
+        <translation>cadena</translation>
     </message>
     <message>
         <source>single character</source>
-        <translation type="vanished">carácter único</translation>
+        <translation>carácter único</translation>
     </message>
     <message>
         <source>bool [<b>1</b>=True|<b>0</b>=False]</source>
-        <translation type="vanished">bool [<b>1</b>=Verdadero|<b>0</b>=Falso]</translation>
+        <translation>bool [<b>1</b>=Verdadero|<b>0</b>=Falso]</translation>
     </message>
     <message>
         <source>string of variable length</source>
-        <translation type="vanished">cadena de longitud variable</translation>
+        <translation>cadena de longitud variable</translation>
     </message>
     <message>
         <source>int [&lt;= 0 =&gt;]</source>
-        <translation type="vanished">ent [&lt;= 0 =&gt;]</translation>
+        <translation>ent [&lt;= 0 =&gt;]</translation>
     </message>
     <message>
         <source>int [&gt;= 0]</source>
-        <translation type="vanished">ent [&gt;= 0]</translation>
+        <translation>ent [&gt;= 0]</translation>
     </message>
     <message>
         <source>int [&gt;= 1]</source>
-        <translation type="vanished">ent [&gt;= 1]</translation>
+        <translation>ent [&gt;= 1]</translation>
     </message>
     <message>
         <source>double [&lt;= 0.0 =&gt;]</source>
-        <translation type="vanished">doble [&lt;= 0.0 =&gt;]</translation>
+        <translation>doble [&lt;= 0.0 =&gt;]</translation>
     </message>
     <message>
         <source>double [&gt;= 0.0]</source>
-        <translation type="vanished">doble [&gt;= 0.0]</translation>
+        <translation>doble [&gt;= 0.0]</translation>
     </message>
     <message>
         <source>int [0-100]</source>
-        <translation type="vanished">ent [0-100]</translation>
+        <translation>ent [0-100]</translation>
     </message>
     <message>
         <source>double [0.0-1.0]</source>
-        <translation type="vanished">doble [0.0-10.0] {0.0-1.0]?}</translation>
+        <translation>doble [0.0-10.0] {0.0-1.0]?}</translation>
     </message>
     <message>
         <source>Variable</source>
-        <translation type="vanished">Variable</translation>
+        <translation>Variable</translation>
     </message>
     <message>
         <source>string [<b>filepath</b>]</source>
-        <translation type="vanished">cadena [<b>rutaarchivo</b>]</translation>
+        <translation>cadena [<b>rutaarchivo</b>]</translation>
     </message>
     <message>
         <source>[<b><dash>;<space></b>] e.g. '8;2;1;2'</source>
-        <translation type="vanished">[<b><dash>;<space></b>] ej. '8;2;1;2'</translation>
+        <translation>[<b><dash>;<space></b>] ej. '8;2;1;2'</translation>
     </message>
 </context>
 <context>
     <name>QgsDataDefinedButtonPlugin</name>
     <message>
         <source>A widget to define the scale range</source>
-        <translation type="vanished">Un control para definir el rango de la escala</translation>
+        <translation>Un control para definir el rango de la escala</translation>
     </message>
     <message>
         <source>A widget to define the scale range.</source>
-        <translation type="vanished">Un control para definir el rango de la escala.</translation>
+        <translation>Un control para definir el rango de la escala.</translation>
     </message>
 </context>
 <context>
@@ -52481,7 +52481,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Symbol rotation</source>
-        <translation type="vanished">Rotación de símbolo</translation>
+        <translation>Rotación de símbolo</translation>
     </message>
 </context>
 <context>
@@ -52493,11 +52493,11 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Symbol size</source>
-        <translation type="vanished">Tamaño de símbolo</translation>
+        <translation>Tamaño de símbolo</translation>
     </message>
     <message>
         <source>Size Assistant...</source>
-        <translation type="vanished">Asistente de tamaño...</translation>
+        <translation>Asistente de tamaño...</translation>
     </message>
 </context>
 <context>
@@ -52570,7 +52570,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Data-defined size legend</source>
-        <translation type="vanished">Tamaño de leyenda definido por datos</translation>
+        <translation>Tamaño de leyenda definido por datos</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsdatadefinedsizelegendwidget.cpp" line="82"/>
@@ -52597,27 +52597,27 @@ y el archivo actual es [%3]</translation>
     <name>QgsDataDefinedSymbolDialog</name>
     <message>
         <source>Data defined properties</source>
-        <translation type="vanished">Propiedades definidas por datos</translation>
+        <translation>Propiedades definidas por datos</translation>
     </message>
     <message>
         <source>Property</source>
-        <translation type="vanished">Propiedad</translation>
+        <translation>Propiedad</translation>
     </message>
     <message>
         <source>Expression</source>
-        <translation type="vanished">Expresión</translation>
+        <translation>Expresión</translation>
     </message>
     <message>
         <source>Help</source>
-        <translation type="vanished">Ayuda</translation>
+        <translation>Ayuda</translation>
     </message>
     <message>
         <source>double</source>
-        <translation type="vanished">doble</translation>
+        <translation>doble</translation>
     </message>
     <message>
         <source>'feature'|'viewport'</source>
-        <translation type="vanished">'objeto'|'área de visualización'</translation>
+        <translation>'objeto'|'área de visualización'</translation>
     </message>
 </context>
 <context>
@@ -52642,15 +52642,15 @@ y el archivo actual es [%3]</translation>
     <name>QgsDataDefinedValueDialog</name>
     <message>
         <source>Dialog</source>
-        <translation type="vanished">Diálogo</translation>
+        <translation>Diálogo</translation>
     </message>
     <message>
         <source>Label</source>
-        <translation type="vanished">Etiqueta</translation>
+        <translation>Etiqueta</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -52662,7 +52662,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Symbol width</source>
-        <translation type="vanished">Anchura de símbolo</translation>
+        <translation>Anchura de símbolo</translation>
     </message>
 </context>
 <context>
@@ -52710,7 +52710,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source><html><head/><body><table border="0" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;" cellspacing="2" cellpadding="0" bgcolor="#f6f6f6"><thead><tr><td style=" vertical-align:top; padding-left:10; padding-right:15; padding-top:5; padding-bottom:5;"><p align="center"><span style=" font-family:'Open Sans,sans-serif&a [...]
-        <translation type="vanished"><html><head/><body><table border="0" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;" cellspacing="2" cellpadding="0" bgcolor="#f6f6f6"><thead><tr><td style=" vertical-align:top; padding-left:10; padding-right:15; padding-top:5; padding-bottom:5;"><p align="center"><span style=" font-family:'O [...]
+        <translation><html><head/><body><table border="0" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;" cellspacing="2" cellpadding="0" bgcolor="#f6f6f6"><thead><tr><td style=" vertical-align:top; padding-left:10; padding-right:15; padding-top:5; padding-bottom:5;"><p align="center"><span style=" font-family:'Open Sans,sans-se [...]
     </message>
     <message>
         <location filename="../src/ui/editorwidgets/qgsdatetimeeditconfig.ui" line="78"/>
@@ -52917,11 +52917,11 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Date & time</source>
-        <translation type="vanished">Fecha y hora</translation>
+        <translation>Fecha y hora</translation>
     </message>
     <message>
         <source>Custom format</source>
-        <translation type="vanished">Formato personalizado</translation>
+        <translation>Formato personalizado</translation>
     </message>
     <message>
         <location filename="../src/ui/editorwidgets/qgsdatetimeeditconfig.ui" line="114"/>
@@ -52957,7 +52957,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/editorwidgets/qgsdatetimeeditconfig.ui" line="134"/>
@@ -53015,26 +53015,26 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>unknown</source>
-        <translation type="vanished">desconocido</translation>
+        <translation>desconocido</translation>
     </message>
 </context>
 <context>
     <name>QgsDatumTransformDialogBase</name>
     <message>
         <source>Select datum transformations</source>
-        <translation type="vanished">Seleccionar transformaciones de dátum</translation>
+        <translation>Seleccionar transformaciones de dátum</translation>
     </message>
     <message>
         <source>src transform</source>
-        <translation type="vanished">Transformar src</translation>
+        <translation>Transformar src</translation>
     </message>
     <message>
         <source>dst transform</source>
-        <translation type="vanished">Transformar dst</translation>
+        <translation>Transformar dst</translation>
     </message>
     <message>
         <source>Remember selection</source>
-        <translation type="vanished">Recordar selección</translation>
+        <translation>Recordar selección</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdatumtransformdialogbase.ui" line="14"/>
@@ -53058,7 +53058,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Layer</source>
-        <translation type="vanished">Capa</translation>
+        <translation>Capa</translation>
     </message>
 </context>
 <context>
@@ -53118,7 +53118,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Edit Connection...</source>
-        <translation type="vanished">Editar conexión...</translation>
+        <translation>Editar conexión...</translation>
     </message>
     <message>
         <location filename="../src/providers/db2/qgsdb2dataitems.cpp" line="261"/>
@@ -53132,27 +53132,27 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Refresh connection</source>
-        <translation type="vanished">Refrescar conexión</translation>
+        <translation>Refrescar conexión</translation>
     </message>
     <message>
         <source>Edit connection...</source>
-        <translation type="vanished">Editar conexión...</translation>
+        <translation>Editar conexión...</translation>
     </message>
     <message>
         <source>Delete connection</source>
-        <translation type="vanished">Borrar conexión</translation>
+        <translation>Borrar conexión</translation>
     </message>
     <message>
         <source>Copying features...</source>
-        <translation type="vanished">Copiando objetos...</translation>
+        <translation>Copiando objetos...</translation>
     </message>
     <message>
         <source>Abort</source>
-        <translation type="vanished">Abortar</translation>
+        <translation>Abortar</translation>
     </message>
     <message>
         <source>Import layer</source>
-        <translation type="vanished">Importar capa</translation>
+        <translation>Importar capa</translation>
     </message>
     <message>
         <location filename="../src/providers/db2/qgsdb2dataitems.cpp" line="331"/>
@@ -53161,7 +53161,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>%1: OK!</source>
-        <translation type="vanished">%1: ¡Correcto!</translation>
+        <translation>%1: ¡Correcto!</translation>
     </message>
     <message>
         <location filename="../src/providers/db2/qgsdb2dataitems.cpp" line="362"/>
@@ -53172,7 +53172,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Import cancelled.</source>
-        <translation type="vanished">Importación cancelada.</translation>
+        <translation>Importación cancelada.</translation>
     </message>
     <message>
         <location filename="../src/providers/db2/qgsdb2dataitems.cpp" line="376"/>
@@ -53194,11 +53194,11 @@ y el archivo actual es [%3]</translation>
     <name>QgsDb2NewConnection</name>
     <message>
         <source>Configurations</source>
-        <translation type="vanished">Configuraciones</translation>
+        <translation>Configuraciones</translation>
     </message>
     <message>
         <source>Saving passwords</source>
-        <translation type="vanished">Guardar contraseñas</translation>
+        <translation>Guardar contraseñas</translation>
     </message>
     <message>
         <location filename="../src/providers/db2/qgsdb2newconnection.cpp" line="85"/>
@@ -53234,7 +53234,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Save connection</source>
-        <translation type="vanished">Guardar conexión</translation>
+        <translation>Guardar conexión</translation>
     </message>
     <message>
         <location filename="../src/providers/db2/qgsdb2newconnection.cpp" line="98"/>
@@ -53246,11 +53246,11 @@ y el archivo actual es [%3]</translation>
     <name>QgsDb2NewConnectionBase</name>
     <message>
         <source>Create a New DB2 connection</source>
-        <translation type="vanished">Crear una nueva conexión DB2</translation>
+        <translation>Crear una nueva conexión DB2</translation>
     </message>
     <message>
         <source>DB2 Connect Status: </source>
-        <translation type="vanished">Estado de conexión DB2:</translation>
+        <translation>Estado de conexión DB2:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdb2newconnectionbase.ui" line="24"/>
@@ -53304,15 +53304,15 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Username</source>
-        <translation type="vanished">Nombre de usuario</translation>
+        <translation>Nombre de usuario</translation>
     </message>
     <message>
         <source>Save</source>
-        <translation type="vanished">Guardar</translation>
+        <translation>Guardar</translation>
     </message>
     <message>
         <source>Password</source>
-        <translation type="vanished">Contraseña</translation>
+        <translation>Contraseña</translation>
     </message>
 </context>
 <context>
@@ -53392,7 +53392,7 @@ y el archivo actual es [%3]</translation>
     <name>QgsDb2RootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <location filename="../src/providers/db2/qgsdb2dataitems.cpp" line="429"/>
@@ -53422,7 +53422,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>&Add</source>
-        <translation type="vanished">&Añadir</translation>
+        <translation>&Añadir</translation>
     </message>
     <message>
         <location filename="../src/providers/db2/qgsdb2sourceselect.cpp" line="146"/>
@@ -53511,7 +53511,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Load connections</source>
-        <translation type="vanished">Cargar conexiones</translation>
+        <translation>Cargar conexiones</translation>
     </message>
     <message>
         <location filename="../src/providers/db2/qgsdb2sourceselect.cpp" line="266"/>
@@ -53560,7 +53560,7 @@ y el archivo actual es [%3]</translation>
     <name>QgsDb2SourceSelectDelegate</name>
     <message>
         <source>Select...</source>
-        <translation type="vanished">Seleccionar...</translation>
+        <translation>Seleccionar...</translation>
     </message>
     <message>
         <location filename="../src/providers/db2/qgsdb2sourceselect.cpp" line="103"/>
@@ -53630,11 +53630,11 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Detecting...</source>
-        <translation type="vanished">Detectando...</translation>
+        <translation>Detectando...</translation>
     </message>
     <message>
         <source>Select...</source>
-        <translation type="vanished">Seleccionar...</translation>
+        <translation>Seleccionar...</translation>
     </message>
     <message>
         <location filename="../src/providers/db2/qgsdb2tablemodel.cpp" line="117"/>
@@ -53643,46 +53643,46 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>Enter...</source>
-        <translation type="vanished">Introducir...</translation>
+        <translation>Introducir...</translation>
     </message>
     <message>
         <source>Point</source>
-        <translation type="vanished">Punto</translation>
+        <translation>Punto</translation>
     </message>
     <message>
         <source>Multipoint</source>
-        <translation type="vanished">Multipunto</translation>
+        <translation>Multipunto</translation>
     </message>
     <message>
         <source>Line</source>
-        <translation type="vanished">Línea</translation>
+        <translation>Línea</translation>
     </message>
     <message>
         <source>Multiline</source>
-        <translation type="vanished">Multilínea</translation>
+        <translation>Multilínea</translation>
     </message>
     <message>
         <source>Polygon</source>
-        <translation type="vanished">Polígono</translation>
+        <translation>Polígono</translation>
     </message>
     <message>
         <source>Multipolygon</source>
-        <translation type="vanished">Multipolígono</translation>
+        <translation>Multipolígono</translation>
     </message>
     <message>
         <source>No Geometry</source>
-        <translation type="vanished">Ninguna geometría</translation>
+        <translation>Ninguna geometría</translation>
     </message>
     <message>
         <source>Unknown Geometry</source>
-        <translation type="vanished">Geometría desconocida</translation>
+        <translation>Geometría desconocida</translation>
     </message>
 </context>
 <context>
     <name>QgsDbSourceSelectBase</name>
     <message>
         <source>Add PostGIS layers</source>
-        <translation type="vanished">Añadir capas PostGIS</translation>
+        <translation>Añadir capas PostGIS</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdbsourceselectbase.ui" line="14"/>
@@ -53795,7 +53795,7 @@ y el archivo actual es [%3]</translation>
     </message>
     <message>
         <source>&Enter your copyright label here:</source>
-        <translation type="vanished">Introduzca su &etiqueta de copyright aquí:</translation>
+        <translation>Introduzca su &etiqueta de copyright aquí:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdecorationcopyrightdialog.ui" line="148"/>
@@ -53867,14 +53867,14 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Select text color</source>
-        <translation type="vanished">Seleccionar color de texto</translation>
+        <translation>Seleccionar color de texto</translation>
     </message>
 </context>
 <context>
     <name>QgsDecorationGrid</name>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <location filename="../src/app/qgsdecorationgrid.cpp" line="808"/>
@@ -53901,7 +53901,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please select a raster layer</source>
-        <translation type="vanished">Por favor, seleccione una capa ráster</translation>
+        <translation>Por favor, seleccione una capa ráster</translation>
     </message>
     <message>
         <location filename="../src/app/qgsdecorationgrid.cpp" line="819"/>
@@ -53910,14 +53910,14 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Layer CRS must be equal to project CRS</source>
-        <translation type="vanished">El SRC de la capa debe ser igual al SRC del proyecto</translation>
+        <translation>El SRC de la capa debe ser igual al SRC del proyecto</translation>
     </message>
 </context>
 <context>
     <name>QgsDecorationGridDialog</name>
     <message>
         <source>Grid properties</source>
-        <translation type="vanished">Propiedades de cuadrícula</translation>
+        <translation>Propiedades de cuadrícula</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdecorationgriddialog.ui" line="23"/>
@@ -53961,7 +53961,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Font...</source>
-        <translation type="vanished">Tipo de letra...</translation>
+        <translation>Tipo de letra...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdecorationgriddialog.ui" line="69"/>
@@ -54408,7 +54408,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Select scalebar color</source>
-        <translation type="vanished">Seleccionar color de la barra de escala</translation>
+        <translation>Seleccionar color de la barra de escala</translation>
     </message>
 </context>
 <context>
@@ -54425,7 +54425,7 @@ no mostrados</translation>
     <name>QgsDelAttrDialogBase</name>
     <message>
         <source>Delete fields</source>
-        <translation type="vanished">Borrar campos</translation>
+        <translation>Borrar campos</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdelattrdialogbase.ui" line="14"/>
@@ -54598,7 +54598,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>Choose a delimited text file to open</source>
-        <translation type="vanished">Seleccione un archivo de texto delimitado para abrir</translation>
+        <translation>Seleccione un archivo de texto delimitado para abrir</translation>
     </message>
     <message>
         <location filename="../src/providers/delimitedtext/qgsdelimitedtextsourceselect.cpp" line="97"/>
@@ -54700,15 +54700,15 @@ no mostrados</translation>
     </message>
     <message>
         <source>Full path to the delimited text file</source>
-        <translation type="vanished">Ruta completa al archivo de texto delimitado</translation>
+        <translation>Ruta completa al archivo de texto delimitado</translation>
     </message>
     <message>
         <source>Full path to the delimited text file. In order to properly parse the fields in the file, the delimiter must be defined prior to entering the file name. Use the Browse button to the right of this field to choose the input file.</source>
-        <translation type="vanished">Ruta completa al archivo de texto delimitado. Para poder analizar los campos del archivo correctamente, el delimitador debe definirse antes de introducir el nombre del archivo. Utilice el botón Explorar situado a la derecha de este campo para seleccionar el archivo de entrada.</translation>
+        <translation>Ruta completa al archivo de texto delimitado. Para poder analizar los campos del archivo correctamente, el delimitador debe definirse antes de introducir el nombre del archivo. Utilice el botón Explorar situado a la derecha de este campo para seleccionar el archivo de entrada.</translation>
     </message>
     <message>
         <source>Layer name</source>
-        <translation type="vanished">Nombre de la capa</translation>
+        <translation>Nombre de la capa</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdelimitedtextsourceselectbase.ui" line="113"/>
@@ -54722,15 +54722,15 @@ no mostrados</translation>
     </message>
     <message>
         <source>Browse to find the delimited text file to be processed</source>
-        <translation type="vanished">Explorar para buscar el archivo de texto delimitado a procesar</translation>
+        <translation>Explorar para buscar el archivo de texto delimitado a procesar</translation>
     </message>
     <message>
         <source>Use this button to browse to the location of the delimited text file. This button will not be enabled until a delimiter has been entered in the <i>Delimiter</i> box. Once a file is chosen, the X and Y field drop-down boxes will be populated with the fields from the delimited text file.</source>
-        <translation type="vanished">Use este botón para buscar el archivo de texto. Este botón no se activará hasta que se haya introducido un delimitador en el recuadro <i> Delimitador</i>. Una vez que se ha seleccionado un archivo, los cuadros combinados de las coordenadas X e Y se rellenarán con los campos del archivo de texto delimitado.</translation>
+        <translation>Use este botón para buscar el archivo de texto. Este botón no se activará hasta que se haya introducido un delimitador en el recuadro <i> Delimitador</i>. Una vez que se ha seleccionado un archivo, los cuadros combinados de las coordenadas X e Y se rellenarán con los campos del archivo de texto delimitado.</translation>
     </message>
     <message>
         <source>Browse...</source>
-        <translation type="vanished">Explorar...</translation>
+        <translation>Explorar...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdelimitedtextsourceselectbase.ui" line="747"/>
@@ -54831,15 +54831,15 @@ no mostrados</translation>
     </message>
     <message>
         <source>Record options</source>
-        <translation type="vanished">Opciones de registro</translation>
+        <translation>Opciones de registro</translation>
     </message>
     <message>
         <source>Field options</source>
-        <translation type="vanished">Opciones de campo</translation>
+        <translation>Opciones de campo</translation>
     </message>
     <message>
         <source>File format </source>
-        <translation type="vanished">Formato de archivo </translation>
+        <translation>Formato de archivo </translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdelimitedtextsourceselectbase.ui" line="701"/>
@@ -54870,7 +54870,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>File Format</source>
-        <translation type="vanished">Formato de archivo</translation>
+        <translation>Formato de archivo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdelimitedtextsourceselectbase.ui" line="215"/>
@@ -54981,7 +54981,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>Well known text (WKT) </source>
-        <translation type="vanished">Texto bien conocido (WKT)</translation>
+        <translation>Texto bien conocido (WKT)</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdelimitedtextsourceselectbase.ui" line="881"/>
@@ -55073,7 +55073,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>Other delimiters</source>
-        <translation type="vanished">Otros delimitadores</translation>
+        <translation>Otros delimitadores</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdelimitedtextsourceselectbase.ui" line="397"/>
@@ -55147,7 +55147,7 @@ no mostrados</translation>
     </message>
     <message>
         <source><p align="right">X field</p></source>
-        <translation type="vanished"><p align="right">Coordenada X</p></translation>
+        <translation><p align="right">Coordenada X</p></translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdelimitedtextsourceselectbase.ui" line="951"/>
@@ -55158,7 +55158,7 @@ no mostrados</translation>
     </message>
     <message>
         <source><p align="right">Y field</p></source>
-        <translation type="vanished"><p align="right">Coordenada Y</p></translation>
+        <translation><p align="right">Coordenada Y</p></translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdelimitedtextsourceselectbase.ui" line="982"/>
@@ -55195,7 +55195,7 @@ no mostrados</translation>
     <name>QgsDiagramProperties</name>
     <message>
         <source>Select background color</source>
-        <translation type="vanished">Seleccionar color de fondo</translation>
+        <translation>Seleccionar color de fondo</translation>
     </message>
     <message>
         <location filename="../src/app/qgsdiagramproperties.cpp" line="105"/>
@@ -55204,43 +55204,43 @@ no mostrados</translation>
     </message>
     <message>
         <source>Select pen color</source>
-        <translation type="vanished">Seleccionar color de plumilla</translation>
+        <translation>Seleccionar color de plumilla</translation>
     </message>
     <message>
         <source>Transparent outline</source>
-        <translation type="vanished">Línea exterior transparente</translation>
+        <translation>Línea exterior transparente</translation>
     </message>
     <message>
         <source>Around Point</source>
-        <translation type="vanished">Alrededor de punto</translation>
+        <translation>Alrededor de punto</translation>
     </message>
     <message>
         <source>Over Point</source>
-        <translation type="vanished">Sobre punto</translation>
+        <translation>Sobre punto</translation>
     </message>
     <message>
         <source>Around Line</source>
-        <translation type="vanished">Alrededor de línea</translation>
+        <translation>Alrededor de línea</translation>
     </message>
     <message>
         <source>Over Line</source>
-        <translation type="vanished">Sobre línea</translation>
+        <translation>Sobre línea</translation>
     </message>
     <message>
         <source>Around Centroid</source>
-        <translation type="vanished">Alrededor de centroide</translation>
+        <translation>Alrededor de centroide</translation>
     </message>
     <message>
         <source>Over Centroid</source>
-        <translation type="vanished">Sobre centroide</translation>
+        <translation>Sobre centroide</translation>
     </message>
     <message>
         <source>Perimeter</source>
-        <translation type="vanished">Perímetro</translation>
+        <translation>Perímetro</translation>
     </message>
     <message>
         <source>Inside Polygon</source>
-        <translation type="vanished">Dentro de polígono</translation>
+        <translation>Dentro de polígono</translation>
     </message>
     <message>
         <location filename="../src/app/qgsdiagramproperties.cpp" line="91"/>
@@ -55310,7 +55310,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>None</source>
-        <translation type="vanished">Ninguno</translation>
+        <translation>Ninguno</translation>
     </message>
     <message>
         <location filename="../src/app/qgsdiagramproperties.cpp" line="184"/>
@@ -55334,7 +55334,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>Unknown diagram type.</source>
-        <translation type="vanished">Tipo de diagrama desconocido</translation>
+        <translation>Tipo de diagrama desconocido</translation>
     </message>
     <message>
         <location filename="../src/app/qgsdiagramproperties.cpp" line="457"/>
@@ -55378,7 +55378,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>Expression based attribute</source>
-        <translation type="vanished">Atributo basado en expresión</translation>
+        <translation>Atributo basado en expresión</translation>
     </message>
     <message>
         <location filename="../src/app/qgsdiagramproperties.cpp" line="722"/>
@@ -55390,7 +55390,7 @@ no mostrados</translation>
     <name>QgsDiagramPropertiesBase</name>
     <message>
         <source>Priority:</source>
-        <translation type="vanished">Prioridad:</translation>
+        <translation>Prioridad:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdiagrampropertiesbase.ui" line="1574"/>
@@ -55404,7 +55404,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>Appearance</source>
-        <translation type="vanished">Apariencia</translation>
+        <translation>Apariencia</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdiagrampropertiesbase.ui" line="752"/>
@@ -55423,7 +55423,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>Font...</source>
-        <translation type="vanished">Tipo de letra...</translation>
+        <translation>Tipo de letra...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdiagrampropertiesbase.ui" line="759"/>
@@ -55459,7 +55459,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>Scale linearly between 0 and the following attribute value / diagram size:</source>
-        <translation type="vanished">Escalar linealmente entre 0 y el siguiente valor del atributo/tamaño de diagrama:</translation>
+        <translation>Escalar linealmente entre 0 y el siguiente valor del atributo/tamaño de diagrama:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdiagrampropertiesbase.ui" line="485"/>
@@ -55572,15 +55572,15 @@ no mostrados</translation>
     </message>
     <message>
         <source>Data defined position</source>
-        <translation type="vanished">Posición definida por datos</translation>
+        <translation>Posición definida por datos</translation>
     </message>
     <message>
         <source>x</source>
-        <translation type="vanished">x</translation>
+        <translation>x</translation>
     </message>
     <message>
         <source>y</source>
-        <translation type="vanished">y</translation>
+        <translation>y</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdiagrampropertiesbase.ui" line="221"/>
@@ -55612,11 +55612,11 @@ no mostrados</translation>
     </message>
     <message>
         <source>Transparency</source>
-        <translation type="vanished">Transparencia</translation>
+        <translation>Transparencia</translation>
     </message>
     <message>
         <source> %</source>
-        <translation type="vanished"> %</translation>
+        <translation> %</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdiagrampropertiesbase.ui" line="625"/>
@@ -55630,7 +55630,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>Data defined visibility</source>
-        <translation type="vanished">Visibilidad definida por datos</translation>
+        <translation>Visibilidad definida por datos</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdiagrampropertiesbase.ui" line="1277"/>
@@ -55654,7 +55654,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>Controls how labels are drawn on top of each other. Labels with a higher z-index are drawn above labels with a lower z-index.</source>
-        <translation type="vanished">Controla cómo se dibujan unas etiquetas encima de otras. Etiquetas con índice Z más alto se dibujan encima de etiquetas con índice Z más bajo.</translation>
+        <translation>Controla cómo se dibujan unas etiquetas encima de otras. Etiquetas con índice Z más alto se dibujan encima de etiquetas con índice Z más bajo.</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdiagrampropertiesbase.ui" line="1517"/>
@@ -55763,11 +55763,11 @@ no mostrados</translation>
     </message>
     <message>
         <source>Show legend entries for diagram size</source>
-        <translation type="vanished">Mostrar entradas de la leyenda para tamaño de diagrama</translation>
+        <translation>Mostrar entradas de la leyenda para tamaño de diagrama</translation>
     </message>
     <message>
         <source>Legend symbol...</source>
-        <translation type="vanished">Símbolo de la leyenda...</translation>
+        <translation>Símbolo de la leyenda...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdiagrampropertiesbase.ui" line="179"/>
@@ -55952,7 +55952,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>Expression based preview</source>
-        <translation type="vanished">Vista preliminar basada en expresión</translation>
+        <translation>Vista preliminar basada en expresión</translation>
     </message>
     <message>
         <location filename="../src/gui/attributetable/qgsdualview.cpp" line="472"/>
@@ -55961,7 +55961,7 @@ no mostrados</translation>
     </message>
     <message>
         <source>Could not set preview column</source>
-        <translation type="vanished">No se pudo establecer la columna de vista preliminar</translation>
+        <translation>No se pudo establecer la columna de vista preliminar</translation>
     </message>
     <message>
         <location filename="../src/gui/attributetable/qgsdualview.cpp" line="490"/>
@@ -56031,7 +56031,7 @@ Error del analizador:
     </message>
     <message>
         <source>&Set width...</source>
-        <translation type="vanished">E&stablecer anchura...</translation>
+        <translation>E&stablecer anchura...</translation>
     </message>
     <message>
         <location filename="../src/gui/attributetable/qgsdualview.cpp" line="632"/>
@@ -56040,11 +56040,11 @@ Error del analizador:
     </message>
     <message>
         <source>&Organize columns...</source>
-        <translation type="vanished">&Organizar columnas...</translation>
+        <translation>&Organizar columnas...</translation>
     </message>
     <message>
         <source>&Sort...</source>
-        <translation type="vanished">O&rdenar...</translation>
+        <translation>O&rdenar...</translation>
     </message>
     <message>
         <location filename="../src/gui/attributetable/qgsdualview.cpp" line="699"/>
@@ -56073,7 +56073,7 @@ Error del analizador:
     </message>
     <message>
         <source>Configure attribute table sort order</source>
-        <translation type="vanished">Configurar criterio de ordenación de tabla de atributos</translation>
+        <translation>Configurar criterio de ordenación de tabla de atributos</translation>
     </message>
     <message>
         <location filename="../src/gui/attributetable/qgsdualview.cpp" line="733"/>
@@ -56087,7 +56087,7 @@ Error del analizador:
     </message>
     <message>
         <source>Loading features...</source>
-        <translation type="vanished">Cargando objetos espaciales...</translation>
+        <translation>Cargando objetos espaciales...</translation>
     </message>
     <message>
         <location filename="../src/gui/attributetable/qgsdualview.cpp" line="935"/>
@@ -56096,7 +56096,7 @@ Error del analizador:
     </message>
     <message>
         <source>Attribute table</source>
-        <translation type="vanished">Tabla de atributos</translation>
+        <translation>Tabla de atributos</translation>
     </message>
     <message>
         <location filename="../src/gui/attributetable/qgsdualview.cpp" line="941"/>
@@ -56108,7 +56108,7 @@ Error del analizador:
     <name>QgsDualViewBase</name>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdualviewbase.ui" line="97"/>
@@ -56300,14 +56300,14 @@ Error del analizador:
     </message>
     <message>
         <source>DXF files *.dxf *.DXF</source>
-        <translation type="vanished">Archivos DXF *.dxf *.DXF</translation>
+        <translation>Archivos DXF *.dxf *.DXF</translation>
     </message>
 </context>
 <context>
     <name>QgsDxfExportDialogBase</name>
     <message>
         <source>DXF export</source>
-        <translation type="vanished">Exportación a DXF</translation>
+        <translation>Exportación a DXF</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdxfexportdialogbase.ui" line="26"/>
@@ -56326,7 +56326,7 @@ Error del analizador:
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdxfexportdialogbase.ui" line="14"/>
@@ -56335,7 +56335,7 @@ Error del analizador:
     </message>
     <message>
         <source>…</source>
-        <translation type="vanished">…</translation>
+        <translation>…</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdxfexportdialogbase.ui" line="47"/>
@@ -56389,7 +56389,7 @@ Error del analizador:
     </message>
     <message>
         <source>Visibility presets</source>
-        <translation type="vanished">Definiciones prestablecidas de visibilidad</translation>
+        <translation>Definiciones prestablecidas de visibilidad</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsdxfexportdialogbase.ui" line="164"/>
@@ -56421,7 +56421,7 @@ Error del analizador:
     </message>
     <message>
         <source>File Name</source>
-        <translation type="vanished">Nombre de archivo</translation>
+        <translation>Nombre de archivo</translation>
     </message>
     <message>
         <location filename="../src/gui/editorwidgets/core/qgseditorwidgetregistry.cpp" line="49"/>
@@ -56440,7 +56440,7 @@ Error del analizador:
     </message>
     <message>
         <source>Check Box</source>
-        <translation type="vanished">Casilla de verificación</translation>
+        <translation>Casilla de verificación</translation>
     </message>
     <message>
         <location filename="../src/gui/editorwidgets/core/qgseditorwidgetregistry.cpp" line="45"/>
@@ -56489,11 +56489,11 @@ Error del analizador:
     </message>
     <message>
         <source>Photo</source>
-        <translation type="vanished">Foto</translation>
+        <translation>Foto</translation>
     </message>
     <message>
         <source>Web View</source>
-        <translation type="vanished">Vista web</translation>
+        <translation>Vista web</translation>
     </message>
     <message>
         <location filename="../src/gui/editorwidgets/core/qgseditorwidgetregistry.cpp" line="55"/>
@@ -56512,18 +56512,18 @@ Error del analizador:
     </message>
     <message>
         <source>External Resource</source>
-        <translation type="vanished">Recurso externo</translation>
+        <translation>Recurso externo</translation>
     </message>
 </context>
 <context>
     <name>QgsEditorWidgetWrapper</name>
     <message>
         <source>predicate is True</source>
-        <translation type="vanished">el predicado es Verdadero</translation>
+        <translation>el predicado es Verdadero</translation>
     </message>
     <message>
         <source>predicate is False</source>
-        <translation type="vanished">el predicado es Falso</translation>
+        <translation>el predicado es Falso</translation>
     </message>
     <message>
         <location filename="../src/gui/editorwidgets/core/qgseditorwidgetwrapper.cpp" line="156"/>
@@ -56620,19 +56620,19 @@ Error del analizador:
     <name>QgsEllipseSymbolLayerV2Widget</name>
     <message>
         <source>Select fill color</source>
-        <translation type="vanished">Seleccionar color de relleno</translation>
+        <translation>Seleccionar color de relleno</translation>
     </message>
     <message>
         <source>Transparent fill</source>
-        <translation type="vanished">Relleno transparente</translation>
+        <translation>Relleno transparente</translation>
     </message>
     <message>
         <source>Select border color</source>
-        <translation type="vanished">Seleccionar color de borde</translation>
+        <translation>Seleccionar color de borde</translation>
     </message>
     <message>
         <source>Transparent border</source>
-        <translation type="vanished">Borde transparente</translation>
+        <translation>Borde transparente</translation>
     </message>
 </context>
 <context>
@@ -56662,7 +56662,7 @@ Error del analizador:
     <name>QgsEmbeddedLayerSelectDialog</name>
     <message>
         <source>Select layers to embed</source>
-        <translation type="vanished">Seleccionar capas a empotrar</translation>
+        <translation>Seleccionar capas a empotrar</translation>
     </message>
     <message>
         <location filename="../src/providers/virtual/qgsembeddedlayerselect.ui" line="14"/>
@@ -56705,63 +56705,63 @@ Error del analizador:
     <name>QgsEngineConfigDialog</name>
     <message>
         <source>Search method</source>
-        <translation type="vanished">Modo de búsqueda</translation>
+        <translation>Modo de búsqueda</translation>
     </message>
     <message>
         <source>Chain (fast)</source>
-        <translation type="vanished">Cadena (rápido)</translation>
+        <translation>Cadena (rápido)</translation>
     </message>
     <message>
         <source>Popmusic Tabu</source>
-        <translation type="vanished">Popmusic Tabu</translation>
+        <translation>Popmusic Tabu</translation>
     </message>
     <message>
         <source>Popmusic Chain</source>
-        <translation type="vanished">Popmusic Chain</translation>
+        <translation>Popmusic Chain</translation>
     </message>
     <message>
         <source>Popmusic Tabu Chain</source>
-        <translation type="vanished">Popmusic Tabu Chain</translation>
+        <translation>Popmusic Tabu Chain</translation>
     </message>
     <message>
         <source>FALP (fastest)</source>
-        <translation type="vanished">FALP (el más rápido)</translation>
+        <translation>FALP (el más rápido)</translation>
     </message>
     <message>
         <source>Number of candidates</source>
-        <translation type="vanished">Número de candidatos</translation>
+        <translation>Número de candidatos</translation>
     </message>
     <message>
         <source>Point</source>
-        <translation type="vanished">Punto</translation>
+        <translation>Punto</translation>
     </message>
     <message>
         <source>Line</source>
-        <translation type="vanished">Línea</translation>
+        <translation>Línea</translation>
     </message>
     <message>
         <source>Polygon</source>
-        <translation type="vanished">Polígono</translation>
+        <translation>Polígono</translation>
     </message>
     <message>
         <source>(i.e. including colliding objects)</source>
-        <translation type="vanished">(esto es, incluir objetos que se superponen)</translation>
+        <translation>(esto es, incluir objetos que se superponen)</translation>
     </message>
     <message>
         <source>Draw text as outlines (recommended)</source>
-        <translation type="vanished">Dibujar texto como líneas exteriores (recomendado)</translation>
+        <translation>Dibujar texto como líneas exteriores (recomendado)</translation>
     </message>
     <message>
         <source>Show all labels and features for all layers</source>
-        <translation type="vanished">Mostrar todos los objetos y etiquetas de todas las capas</translation>
+        <translation>Mostrar todos los objetos y etiquetas de todas las capas</translation>
     </message>
     <message>
         <source>Automated Placement Engine</source>
-        <translation type="vanished">Motor de emplazamiento automatizado</translation>
+        <translation>Motor de emplazamiento automatizado</translation>
     </message>
     <message>
         <source>Show candidates (for debugging)</source>
-        <translation type="vanished">Mostrar candidatos (para depuración)</translation>
+        <translation>Mostrar candidatos (para depuración)</translation>
     </message>
 </context>
 <context>
@@ -56827,23 +56827,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>(no root)</source>
-        <translation type="vanished">(ninguna raíz)</translation>
+        <translation>(ninguna raíz)</translation>
     </message>
     <message>
         <source>Unary minus only for numeric values.</source>
-        <translation type="vanished">Menos unario solo para valores numéricos</translation>
+        <translation>Menos unario solo para valores numéricos</translation>
     </message>
     <message>
         <source>Can't preform /, *, or % on DateTime and Interval</source>
-        <translation type="vanished">No se puede cambiar al formato /, *, o % a HoraFecha e Intervalo</translation>
+        <translation>No se puede cambiar al formato /, *, o % a HoraFecha e Intervalo</translation>
     </message>
     <message>
         <source>[unsupported type;%1; value:%2]</source>
-        <translation type="vanished">[tipo no admitido; %1; valor: %2]</translation>
+        <translation>[tipo no admitido; %1; valor: %2]</translation>
     </message>
     <message>
         <source>Column '%1' not found</source>
-        <translation type="vanished">No se encontró la columna '%1'</translation>
+        <translation>No se encontró la columna '%1'</translation>
     </message>
     <message>
         <location filename="../src/core/expression/qgsexpression.cpp" line="510"/>
@@ -57020,11 +57020,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>'%1...'</source>
-        <translation type="vanished">'%1...'</translation>
+        <translation>'%1...'</translation>
     </message>
     <message>
         <source>%1...</source>
-        <translation type="vanished">%1...</translation>
+        <translation>%1...</translation>
     </message>
     <message>
         <location filename="../src/core/expression/qgsexpression.cpp" line="851"/>
@@ -57044,6016 +57044,6016 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Returns the area of the current feature. The area calculated by this function respects both the current project's ellipsoid setting and area unit settings. Eg, if an ellipsoid has been set for the project then the calculated area will be ellipsoidal, and if no ellipsoid is set then the calculated area will be planimetric.</source>
-        <translation type="vanished">Devuelve el área del objeto actual. El área calculada por esta función respeta tanto la configuración del elipsoide del proyecto actual como la de las unidades de superficie. Por ejemplo, si se ha establecido un elipsoide para el proyecto, entonces el área calculada será elipsoidal y si no hay elipsoide establecido, entonces el área calculada será planimétrica.</translation>
+        <translation>Devuelve el área del objeto actual. El área calculada por esta función respeta tanto la configuración del elipsoide del proyecto actual como la de las unidades de superficie. Por ejemplo, si se ha establecido un elipsoide para el proyecto, entonces el área calculada será elipsoidal y si no hay elipsoide establecido, entonces el área calculada será planimétrica.</translation>
     </message>
     <message>
         <source>$area</source>
-        <translation type="vanished">$area</translation>
+        <translation>$area</translation>
     </message>
     <message>
         <source>42</source>
-        <translation type="vanished">42</translation>
+        <translation>42</translation>
     </message>
     <message>
         <source>In atlas generation, returns the current feature that is iterated over on the coverage layer. This can be used with the 'attribute' function to return attribute values from the current atlas feature.</source>
-        <translation type="vanished">En la generación de atlas, devuelve el objeto actual sobre el que se está iterando en la capa de cobertura. Se puede usar con la función 'attribute' para devolver los valores de atributo del objeto actual de atlas.</translation>
+        <translation>En la generación de atlas, devuelve el objeto actual sobre el que se está iterando en la capa de cobertura. Se puede usar con la función 'attribute' para devolver los valores de atributo del objeto actual de atlas.</translation>
     </message>
     <message>
         <source>$atlasfeature</source>
-        <translation type="vanished">$atlasfeature</translation>
+        <translation>$atlasfeature</translation>
     </message>
     <message>
         <source>attribute( $atlasfeature, 'name' )</source>
-        <translation type="vanished">attribute( $atlasfeature, 'nombre' )</translation>
+        <translation>attribute( $atlasfeature, 'nombre' )</translation>
     </message>
     <message>
         <source>value stored in 'name' attribute for the current atlas feature</source>
-        <translation type="vanished">valor guardado en el atributo 'nombre' del objeto de atlas actual</translation>
+        <translation>valor guardado en el atributo 'nombre' del objeto de atlas actual</translation>
     </message>
     <message>
         <source>Returns the feature id of the current row while using atlas. This enables you to use features of atlas in rules and for example show or hide features based on their id.</source>
-        <translation type="vanished">Devuelve el ID del objeto espacial de la fila actual mientras se usa atlas. Esto le permite usar objetos de atlas en reglas y por ejemplo mostrar u ocultar objetos en base a su ID.</translation>
+        <translation>Devuelve el ID del objeto espacial de la fila actual mientras se usa atlas. Esto le permite usar objetos de atlas en reglas y por ejemplo mostrar u ocultar objetos en base a su ID.</translation>
     </message>
     <message>
         <source>$atlasfeatureid</source>
-        <translation type="vanished">$atlasfeatureid</translation>
+        <translation>$atlasfeatureid</translation>
     </message>
     <message>
         <source>$atlasfeatureid = $id</source>
-        <translation type="vanished">$atlasfeatureid = $id</translation>
+        <translation>$atlasfeatureid = $id</translation>
     </message>
     <message>
         <source>true</source>
-        <translation type="vanished">verdadero</translation>
+        <translation>verdadero</translation>
     </message>
     <message>
         <source>Returns the geometry of the current feature iterated in atlas. Can be used for rule based display of geometry when using atlas. For example to only show geometries of other layers when their geometry intersects the iterated geometry of features using atlas.</source>
-        <translation type="vanished">Devuelve la geometría del objeto espacial actual iterado en atlas. Se puede usar para representar geometrías en base a reglas cuando se usa atlas. Por ejemplo, para mostrar sólo las geometrías de otras capas cuando su geometría interseca la geometría iterada de objetos espaciales que usan atlas.</translation>
+        <translation>Devuelve la geometría del objeto espacial actual iterado en atlas. Se puede usar para representar geometrías en base a reglas cuando se usa atlas. Por ejemplo, para mostrar sólo las geometrías de otras capas cuando su geometría interseca la geometría iterada de objetos espaciales que usan atlas.</translation>
     </message>
     <message>
         <source>$atlasgeometry</source>
-        <translation type="vanished">$atlasgeometry</translation>
+        <translation>$atlasgeometry</translation>
     </message>
     <message>
         <source>intersects( $atlasgeometry, $geometry )</source>
-        <translation type="vanished">intersects( $atlasgeometry, $geometry )</translation>
+        <translation>intersects( $atlasgeometry, $geometry )</translation>
     </message>
     <message>
         <source>Returns the current feature being evaluated. This can be used with the 'attribute' function to evaluate attribute values from the current feature.</source>
-        <translation type="vanished">Devuelve el objeto espacial que está siendo evaluado. Se puede usar con la función 'attribute' para evaluar los valores de atributo del objeto actual.</translation>
+        <translation>Devuelve el objeto espacial que está siendo evaluado. Se puede usar con la función 'attribute' para evaluar los valores de atributo del objeto actual.</translation>
     </message>
     <message>
         <source>$currentfeature</source>
-        <translation type="vanished">$currentfeature</translation>
+        <translation>$currentfeature</translation>
     </message>
     <message>
         <source>attribute( $currentfeature, 'name' )</source>
-        <translation type="vanished">attribute( $currentfeature, 'nombre' )</translation>
+        <translation>attribute( $currentfeature, 'nombre' )</translation>
     </message>
     <message>
         <source>value stored in 'name' attribute for the current feature</source>
-        <translation type="vanished">valor guardado en el atributo 'nombre' del objeto actual</translation>
+        <translation>valor guardado en el atributo 'nombre' del objeto actual</translation>
     </message>
     <message>
         <source>In atlas generation, returns the current feature number that is iterated over on the coverage layer.</source>
-        <translation type="vanished">En la generación de atlas, devuelve el número de objetos actuales sobre los que se está iterando en la capa de cobertura. </translation>
+        <translation>En la generación de atlas, devuelve el número de objetos actuales sobre los que se está iterando en la capa de cobertura. </translation>
     </message>
     <message>
         <source>$feature</source>
-        <translation type="vanished">$feature</translation>
+        <translation>$feature</translation>
     </message>
     <message>
         <source>2</source>
-        <translation type="vanished">2</translation>
+        <translation>2</translation>
     </message>
     <message>
         <source>Returns the geometry of the current feature. Can be used for processing with other functions.</source>
-        <translation type="vanished">Devuelve la geometría del objeto actual. Se puede usar para procesos con otras funciones.</translation>
+        <translation>Devuelve la geometría del objeto actual. Se puede usar para procesos con otras funciones.</translation>
     </message>
     <message>
         <source>$geometry</source>
-        <translation type="vanished">$geometry</translation>
+        <translation>$geometry</translation>
     </message>
     <message>
         <source>geomToWKT( $geometry )</source>
-        <translation type="vanished">geomToWKT( $geometry )</translation>
+        <translation>geomToWKT( $geometry )</translation>
     </message>
     <message>
         <source>POINT(6 50)</source>
-        <translation type="vanished">PUNTO(6 50)</translation>
+        <translation>PUNTO(6 50)</translation>
     </message>
     <message>
         <source>Returns the feature id of the current row.</source>
-        <translation type="vanished">Devuelve el ID del objeto de la fila actual.</translation>
+        <translation>Devuelve el ID del objeto de la fila actual.</translation>
     </message>
     <message>
         <source>$id</source>
-        <translation type="vanished">$id</translation>
+        <translation>$id</translation>
     </message>
     <message>
         <source>Returns the length of a linestring. If you need the length of a border of a polygon, use $perimeter instead. The length calculated by this function respects both the current project's ellipsoid setting and distance unit settings. Eg, if an ellipsoid has been set for the project then the calculated length will be ellipsoidal, and if no ellipsoid is set then the calculated length will be planimetric.</source>
-        <translation type="vanished">Devuelve la longitud de una cadena lineal. Si necesita la longitud del borde de un polígono, utilice $perimeter en su lugar. La longitud calculada por esta función respeta tanto la configuración del elipsoide del proyecto actual como la de las unidades de distancia. Por ejemplo, si se ha establecido un elipsoide para el proyecto, entonces la longitud calculada será elipsoidal y si no hay elipsoide establecido, entonces la longitud calculada será plani [...]
+        <translation>Devuelve la longitud de una cadena lineal. Si necesita la longitud del borde de un polígono, utilice $perimeter en su lugar. La longitud calculada por esta función respeta tanto la configuración del elipsoide del proyecto actual como la de las unidades de distancia. Por ejemplo, si se ha establecido un elipsoide para el proyecto, entonces la longitud calculada será elipsoidal y si no hay elipsoide establecido, entonces la longitud calculada será planimétrica.</translation>
     </message>
     <message>
         <source>$length</source>
-        <translation type="vanished">$length</translation>
+        <translation>$length</translation>
     </message>
     <message>
         <source>42.4711</source>
-        <translation type="vanished">42.4711</translation>
+        <translation>42.4711</translation>
     </message>
     <message>
         <source>Returns the id of the current map item if the map is being drawn in a composition, or "canvas" if the map is being drawn within the main QGIS window.</source>
-        <translation type="vanished">Devuelve la ID del elemento actual del mapa si se está dibujando el mapa en una composición o "lienzo" si el mapa se está dibujando dentro de la ventana principal de QGIS.</translation>
+        <translation>Devuelve la ID del elemento actual del mapa si se está dibujando el mapa en una composición o "lienzo" si el mapa se está dibujando dentro de la ventana principal de QGIS.</translation>
     </message>
     <message>
         <source>$map</source>
-        <translation type="vanished">$map</translation>
+        <translation>$map</translation>
     </message>
     <message>
         <source>"overview_map"</source>
-        <translation type="vanished">"mapa_general"</translation>
+        <translation>"mapa_general"</translation>
     </message>
     <message>
         <source>"canvas"</source>
-        <translation type="vanished">"lienzo"</translation>
+        <translation>"lienzo"</translation>
     </message>
     <message>
         <source>In atlas generation, returns the total number of features within the coverage layer.</source>
-        <translation type="vanished">En la generación de atlas, devuelve el número total de objetos dentro de la capa de cobertura. </translation>
+        <translation>En la generación de atlas, devuelve el número total de objetos dentro de la capa de cobertura. </translation>
     </message>
     <message>
         <source>$numfeatures</source>
-        <translation type="vanished">$numfeatures</translation>
+        <translation>$numfeatures</translation>
     </message>
     <message>
         <source>Returns the total number of pages in the composition.</source>
-        <translation type="vanished">Devuelve el número total de páginas de la composición.</translation>
+        <translation>Devuelve el número total de páginas de la composición.</translation>
     </message>
     <message>
         <source>$numpages</source>
-        <translation type="vanished">$numpages</translation>
+        <translation>$numpages</translation>
     </message>
     <message>
         <source>Returns the current page number within a composition.</source>
-        <translation type="vanished">Devuelve el número de la página actual dentro de una composición.</translation>
+        <translation>Devuelve el número de la página actual dentro de una composición.</translation>
     </message>
     <message>
         <source>$page</source>
-        <translation type="vanished">$page</translation>
+        <translation>$page</translation>
     </message>
     <message>
         <source>Returns the perimeter length of the current feature. The perimeter calculated by this function respects both the current project's ellipsoid setting and distance unit settings. Eg, if an ellipsoid has been set for the project then the calculated perimeter will be ellipsoidal, and if no ellipsoid is set then the calculated perimeter will be planimetric.</source>
-        <translation type="vanished">Devuelve la longitud del perímetro del objeto actual. El perímetro calculado por esta función respeta tanto la configuración del elipsoide del proyecto actual como la de las unidades de distancia. Por ejemplo, si se ha establecido un elipsoide para el proyecto, entonces el perímetro calculado será elipsoidal y si no hay elipsoide establecido, entonces el perímetro calculado será planimétrica.</translation>
+        <translation>Devuelve la longitud del perímetro del objeto actual. El perímetro calculado por esta función respeta tanto la configuración del elipsoide del proyecto actual como la de las unidades de distancia. Por ejemplo, si se ha establecido un elipsoide para el proyecto, entonces el perímetro calculado será elipsoidal y si no hay elipsoide establecido, entonces el perímetro calculado será planimétrica.</translation>
     </message>
     <message>
         <source>$perimeter</source>
-        <translation type="vanished">$perimeter</translation>
+        <translation>$perimeter</translation>
     </message>
     <message>
         <source>Returns the number of the current row.</source>
-        <translation type="vanished">Devuelve el número de la fila actual.</translation>
+        <translation>Devuelve el número de la fila actual.</translation>
     </message>
     <message>
         <source>$rownum</source>
-        <translation type="vanished">$rownum</translation>
+        <translation>$rownum</translation>
     </message>
     <message>
         <source>4711</source>
-        <translation type="vanished">4711</translation>
+        <translation>4711</translation>
     </message>
     <message>
         <source>$scale</source>
-        <translation type="vanished">$scale</translation>
+        <translation>$scale</translation>
     </message>
     <message>
         <source>10000</source>
-        <translation type="vanished">10000</translation>
+        <translation>10000</translation>
     </message>
     <message>
         <source>Returns the x coordinate of the current feature.</source>
-        <translation type="vanished">Devuelve la coordenada X del objeto actual.</translation>
+        <translation>Devuelve la coordenada X del objeto actual.</translation>
     </message>
     <message>
         <source>$x</source>
-        <translation type="vanished">$x</translation>
+        <translation>$x</translation>
     </message>
     <message>
         <source>Retrieves a x coordinate of the current feature's geometry.</source>
-        <translation type="vanished">Obtiene una coordenada X de la geometría del objeto actual.</translation>
+        <translation>Obtiene una coordenada X de la geometría del objeto actual.</translation>
     </message>
     <message>
         <source>$x_at</source>
-        <translation type="vanished">$x_at</translation>
+        <translation>$x_at</translation>
     </message>
     <message>
         <source>index of point of a line (indices start at 0; negative values apply from the last index)</source>
-        <translation type="vanished">índice de punto de una línea (los índices comienzan en 0; los valores negativos se aplican desde el último índice)</translation>
+        <translation>índice de punto de una línea (los índices comienzan en 0; los valores negativos se aplican desde el último índice)</translation>
     </message>
     <message>
         <source>$x_at(1)</source>
-        <translation type="vanished">$x_at(1)</translation>
+        <translation>$x_at(1)</translation>
     </message>
     <message>
         <source>5</source>
-        <translation type="vanished">5</translation>
+        <translation>5</translation>
     </message>
     <message>
         <source>Returns the y coordinate of the current feature.</source>
-        <translation type="vanished">Devuelve la coordenada Y del objeto actual.</translation>
+        <translation>Devuelve la coordenada Y del objeto actual.</translation>
     </message>
     <message>
         <source>$y</source>
-        <translation type="vanished">$y</translation>
+        <translation>$y</translation>
     </message>
     <message>
         <source>Retrieves a y coordinate of the current feature's geometry.</source>
-        <translation type="vanished">Obtiene una coordenada Y de la geometría del objeto actual.</translation>
+        <translation>Obtiene una coordenada Y de la geometría del objeto actual.</translation>
     </message>
     <message>
         <source>$y_at</source>
-        <translation type="vanished">$y_at</translation>
+        <translation>$y_at</translation>
     </message>
     <message>
         <source>$y_at(1)</source>
-        <translation type="vanished">$y_at(1)</translation>
+        <translation>$y_at(1)</translation>
     </message>
     <message>
         <source>Returns 1 when condition a and b are true.</source>
-        <translation type="vanished">Devuelve 1 cuando las condiciones a y b son verdaderas.</translation>
+        <translation>Devuelve 1 cuando las condiciones a y b son verdaderas.</translation>
     </message>
     <message>
         <source>AND</source>
-        <translation type="vanished">Y</translation>
+        <translation>Y</translation>
     </message>
     <message>
         <source>condition</source>
-        <translation type="vanished">condición</translation>
+        <translation>condición</translation>
     </message>
     <message>
         <source>TRUE AND TRUE</source>
-        <translation type="vanished">VERDADERO Y VERDADERO</translation>
+        <translation>VERDADERO Y VERDADERO</translation>
     </message>
     <message>
         <source>1</source>
-        <translation type="vanished">1</translation>
+        <translation>1</translation>
     </message>
     <message>
         <source>TRUE AND FALSE</source>
-        <translation type="vanished">VERDADERO Y FALSO</translation>
+        <translation>VERDADERO Y FALSO</translation>
     </message>
     <message>
         <source>0</source>
-        <translation type="vanished">0</translation>
+        <translation>0</translation>
     </message>
     <message>
         <source>4 = 2+2 AND 1 = 1</source>
-        <translation type="vanished">4 = 2+2 Y 1 = 1</translation>
+        <translation>4 = 2+2 Y 1 = 1</translation>
     </message>
     <message>
         <source>4 = 2+2 AND 1 = 2</source>
-        <translation type="vanished">4 = 2+2 Y 1 = 2</translation>
+        <translation>4 = 2+2 Y 1 = 2</translation>
     </message>
     <message>
         <source><pre><br>CASE<br>WHEN <i>condition</i> THEN <i>result</i><br>[ ...n ]<br>[ ELSE <i>result</i> ]<br>END<br></pre>[ ] marks optional components<br><h4>Arguments</h4><br><i>  WHEN condition</i> - The condition expression to evaluate. <br><br><i>  THEN result</i> - If <i>condition</i> evaluates to True then <i>result [...]
-        <translation type="vanished"><pre><br>CASE<br>WHEN <i>condición</i> THEN <i>resultado</i><br>[ ...n ]<br>[ ELSE <i>resultado</i> ]<br>END<br></pre>[ ] marca componentes opcionales<br><h4>Argumentos</h4><br><i>  WHEN condición</i> - La expresión condicional a evaluar. <br><br><i>  THEN resultado</i> - Si <i>condición</i> se eva [...]
+        <translation><pre><br>CASE<br>WHEN <i>condición</i> THEN <i>resultado</i><br>[ ...n ]<br>[ ELSE <i>resultado</i> ]<br>END<br></pre>[ ] marca componentes opcionales<br><h4>Argumentos</h4><br><i>  WHEN condición</i> - La expresión condicional a evaluar. <br><br><i>  THEN resultado</i> - Si <i>condición</i> se evalúa como Verdade [...]
     </message>
     <message>
         <source>This group contains functions for manipulating colors</source>
-        <translation type="vanished">Este grupo contiene funciones para manipular colores</translation>
+        <translation>Este grupo contiene funciones para manipular colores</translation>
     </message>
     <message>
         <source>This group contains functions to handle conditional checks in expressions.</source>
-        <translation type="vanished">Este grupo contiene funciones para realizar comprobaciones condicionales en expresiones.</translation>
+        <translation>Este grupo contiene funciones para realizar comprobaciones condicionales en expresiones.</translation>
     </message>
     <message>
         <source>This group contains functions that operate on condition.</source>
-        <translation type="vanished">Este grupo contiene funciones que operan en condiciones.</translation>
+        <translation>Este grupo contiene funciones que operan en condiciones.</translation>
     </message>
     <message>
         <source>Conditions</source>
-        <translation type="vanished">Condiciones</translation>
+        <translation>Condiciones</translation>
     </message>
     <message>
         <source>This group contains functions to convert on data type to another e.g string to integer, integer to string.</source>
-        <translation type="vanished">Este grupo contiene funciones para convertir unos tipos de datos en otros, por ejemplo cadena a entero o entero a cadena.</translation>
+        <translation>Este grupo contiene funciones para convertir unos tipos de datos en otros, por ejemplo cadena a entero o entero a cadena.</translation>
     </message>
     <message>
         <source>This group contains custom user-created Python functions.</source>
-        <translation type="vanished">Este grupo contiene funciones de Python personalizadas creadas por el usuario.</translation>
+        <translation>Este grupo contiene funciones de Python personalizadas creadas por el usuario.</translation>
     </message>
     <message>
         <source>Custom</source>
-        <translation type="vanished">Personalizado</translation>
+        <translation>Personalizado</translation>
     </message>
     <message>
         <source>This group contains functions for handling date and time data.</source>
-        <translation type="vanished">Este grupo contiene funciones para manipular datos de fecha y hora.</translation>
+        <translation>Este grupo contiene funciones para manipular datos de fecha y hora.</translation>
     </message>
     <message>
         <source>Double click to add field name to expression string.<br>Right-Click on field name to open context menu sample value loading options.</source>
-        <translation type="vanished">Doble clic para añadir el nombre del campo a la cadena de la expresión.<br>Clic derecho en el nombre del campo para abrir un menú contextual con opciones para cargar valores de muestra.</translation>
+        <translation>Doble clic para añadir el nombre del campo a la cadena de la expresión.<br>Clic derecho en el nombre del campo para abrir un menú contextual con opciones para cargar valores de muestra.</translation>
     </message>
     <message>
         <source>Field</source>
-        <translation type="vanished">Campo</translation>
+        <translation>Campo</translation>
     </message>
     <message>
         <source>Loading field values from WFS layers isn't supported, before the layer is actually inserted, ie. when building queries.</source>
-        <translation type="vanished">La carga de valores de campo de capas WFS no está soportada antes de que la capa esté realmente insertada, esto es, al hacer consultas.</translation>
+        <translation>La carga de valores de campo de capas WFS no está soportada antes de que la capa esté realmente insertada, esto es, al hacer consultas.</translation>
     </message>
     <message>
         <source>Contains a list of fields from the layer.  Sample values can also be accessed via right-click.<br>Select the field name from the list then right-click to access context menu with options to load sample values from the selected field.</source>
-        <translation type="vanished">Contiene una lista de campos de la capa. También se puede acceder a valores de ejemplo mediante clic derecho.<br>Seleccione el nombre del campo de la lista y luego haga clic derecho para acceder al menú contextual con opciones para cargar valores de ejemplo del campo seleccionado.</translation>
+        <translation>Contiene una lista de campos de la capa. También se puede acceder a valores de ejemplo mediante clic derecho.<br>Seleccione el nombre del campo de la lista y luego haga clic derecho para acceder al menú contextual con opciones para cargar valores de ejemplo del campo seleccionado.</translation>
     </message>
     <message>
         <source>This group contains functions for fuzzy comparisons between values.</source>
-        <translation type="vanished">Este grupo contiene funciones para comparaciones simples entre valores.</translation>
+        <translation>Este grupo contiene funciones para comparaciones simples entre valores.</translation>
     </message>
     <message>
         <source>This group contains general assorted functions.</source>
-        <translation type="vanished">Este grupo contiene funciones generales variadas.</translation>
+        <translation>Este grupo contiene funciones generales variadas.</translation>
     </message>
     <message>
         <source>This group contains functions that operate on geometry objects e.g length, area.</source>
-        <translation type="vanished">Este grupo contiene funciones que operan sobre elementos de geometría, como longitud o área.</translation>
+        <translation>Este grupo contiene funciones que operan sobre elementos de geometría, como longitud o área.</translation>
     </message>
     <message>
         <source>GeometryGroup</source>
-        <translation type="vanished">GrupoDeGreometría</translation>
+        <translation>GrupoDeGreometría</translation>
     </message>
     <message>
         <source>Returns 1 if the first parameter matches case-insensitive the supplied pattern. LIKE can be used instead of ILIKE to make the match case-sensitive. Works with numbers also.</source>
-        <translation type="vanished">Devuelve 1 si el primer parámetro coincide con el patrón proporcionado, sin tener en cuenta mayúsculas/minúsculas. LIKE se puede usar en vez de ILIKE para hacer que la coincidencia tenga en cuenta las mayúsculas. También funciona con números.</translation>
+        <translation>Devuelve 1 si el primer parámetro coincide con el patrón proporcionado, sin tener en cuenta mayúsculas/minúsculas. LIKE se puede usar en vez de ILIKE para hacer que la coincidencia tenga en cuenta las mayúsculas. También funciona con números.</translation>
     </message>
     <message>
         <source>ILIKE</source>
-        <translation type="vanished">DISTINTO DE</translation>
+        <translation>ICOMO</translation>
     </message>
     <message>
         <source>string to search</source>
-        <translation type="vanished">cadena a buscar</translation>
+        <translation>cadena a buscar</translation>
     </message>
     <message>
         <source>pattern to find</source>
-        <translation type="vanished">patrón a encontrar</translation>
+        <translation>patrón a encontrar</translation>
     </message>
     <message>
         <source>'A' ILIKE 'A'</source>
-        <translation type="vanished">'A' ICOMO 'A'</translation>
+        <translation>'A' ICOMO 'A'</translation>
     </message>
     <message>
         <source>'A' ILIKE 'a'</source>
-        <translation type="vanished">'A' ICOMO 'a'</translation>
+        <translation>'A' ICOMO 'a'</translation>
     </message>
     <message>
         <source>'A' ILIKE 'B'</source>
-        <translation type="vanished">'A' ICOMO 'B'</translation>
+        <translation>'A' ICOMO 'B'</translation>
     </message>
     <message>
         <source>'ABC' ILIKE 'b'</source>
-        <translation type="vanished">'ABC' ICOMO 'b'</translation>
+        <translation>'ABC' ICOMO 'b'</translation>
     </message>
     <message>
         <source>'ABC' ILIKE 'B'</source>
-        <translation type="vanished">'ABC' ICOMO 'B'</translation>
+        <translation>'ABC' ICOMO 'B'</translation>
     </message>
     <message>
         <source>'ABC' ILIKE '%b%'</source>
-        <translation type="vanished">'ABC' ICOMO '%b%'</translation>
+        <translation>'ABC' ICOMO '%b%'</translation>
     </message>
     <message>
         <source>'ABC' ILIKE '%B%'</source>
-        <translation type="vanished">'ABC' ICOMO '%B%'</translation>
+        <translation>'ABC' ICOMO '%B%'</translation>
     </message>
     <message>
         <source>Returns 1 if value is found within a list of values.</source>
-        <translation type="vanished">Devuelve 1 si el valor se encuentra dentro de una lista de valores.</translation>
+        <translation>Devuelve 1 si el valor se encuentra dentro de una lista de valores.</translation>
     </message>
     <message>
         <source>IN</source>
-        <translation type="vanished">EN</translation>
+        <translation>EN</translation>
     </message>
     <message>
         <source>value</source>
-        <translation type="vanished">valor</translation>
+        <translation>valor</translation>
     </message>
     <message>
         <source>list of values</source>
-        <translation type="vanished">lista de valores</translation>
+        <translation>lista de valores</translation>
     </message>
     <message>
         <source>'A' IN ('A','B')</source>
-        <translation type="vanished">'A' EN ('A','B')</translation>
+        <translation>'A' EN ('A','B')</translation>
     </message>
     <message>
         <source>'A' IN ('C','B')</source>
-        <translation type="vanished">'A' EN ('C','B')</translation>
+        <translation>'A' EN ('C','B')</translation>
     </message>
     <message>
         <source>Returns 1 if a is the same as b.</source>
-        <translation type="vanished">Devuelve 1 si a el lo mismo que b.</translation>
+        <translation>Devuelve 1 si a el lo mismo que b.</translation>
     </message>
     <message>
         <source>IS</source>
-        <translation type="vanished">ES</translation>
+        <translation>ES</translation>
     </message>
     <message>
         <source>any value</source>
-        <translation type="vanished">cualquier valor</translation>
+        <translation>cualquier valor</translation>
     </message>
     <message>
         <source>'A' IS 'A'</source>
-        <translation type="vanished">'A' ES 'A'</translation>
+        <translation>'A' ES 'A'</translation>
     </message>
     <message>
         <source>'A' IS 'a'</source>
-        <translation type="vanished">'A' ES 'a'</translation>
+        <translation>'A' ES 'a'</translation>
     </message>
     <message>
         <source>4 IS 4</source>
-        <translation type="vanished">4 ES 4</translation>
+        <translation>4 ES 4</translation>
     </message>
     <message>
         <source>4 IS 2+2</source>
-        <translation type="vanished">4 ES 2+2</translation>
+        <translation>4 ES 2+2</translation>
     </message>
     <message>
         <source>4 IS 2</source>
-        <translation type="vanished">4 ES 2</translation>
+        <translation>4 ES 2</translation>
     </message>
     <message>
         <source>$geometry IS NULL</source>
-        <translation type="vanished">$geometry ES NULO</translation>
+        <translation>$geometry ES NULO</translation>
     </message>
     <message>
         <source>0, if your geometry is not NULL</source>
-        <translation type="vanished">0 si su geometría no es NULO</translation>
+        <translation>0 si su geometría no es NULO</translation>
     </message>
     <message>
         <source>Returns 1 if a is not the same as b.</source>
-        <translation type="vanished">Devuelve 1 si a no es lo mismo que b.</translation>
+        <translation>Devuelve 1 si a no es lo mismo que b.</translation>
     </message>
     <message>
         <source>IS NOT</source>
-        <translation type="vanished">NO ES</translation>
+        <translation>NO ES</translation>
     </message>
     <message>
         <source>'a' IS NOT 'b'</source>
-        <translation type="vanished">'a' NO ES 'b'</translation>
+        <translation>'a' NO ES 'b'</translation>
     </message>
     <message>
         <source>'a' IS NOT 'a'</source>
-        <translation type="vanished">'a' NO ES 'a'</translation>
+        <translation>'a' NO ES 'a'</translation>
     </message>
     <message>
         <source>4 IS NOT 2+2</source>
-        <translation type="vanished">4 NO ES 2+2</translation>
+        <translation>4 NO ES 2+2</translation>
     </message>
     <message>
         <source>Returns 1 if the first parameter matches the supplied pattern. Works with numbers also.</source>
-        <translation type="vanished">Devuelve 1 si el primer parámetro coincide con el patrón proporcionado. También funciona con números.</translation>
+        <translation>Devuelve 1 si el primer parámetro coincide con el patrón proporcionado. También funciona con números.</translation>
     </message>
     <message>
         <source>LIKE</source>
-        <translation type="vanished">COMO</translation>
+        <translation>COMO</translation>
     </message>
     <message>
         <source>pattern to compare value with</source>
-        <translation type="vanished">patrón con el que comparar el valor</translation>
+        <translation>patrón con el que comparar el valor</translation>
     </message>
     <message>
         <source>'A' LIKE 'A'</source>
-        <translation type="vanished">'A' COMO 'A'</translation>
+        <translation>'A' COMO 'A'</translation>
     </message>
     <message>
         <source>'A' LIKE 'a'</source>
-        <translation type="vanished">'A' COMO 'a'</translation>
+        <translation>'A' COMO 'a'</translation>
     </message>
     <message>
         <source>'A' LIKE 'B'</source>
-        <translation type="vanished">'A' COMO 'B'</translation>
+        <translation>'A' COMO 'B'</translation>
     </message>
     <message>
         <source>'ABC' LIKE 'B'</source>
-        <translation type="vanished">'ABC' COMO 'B'</translation>
+        <translation>'ABC' COMO 'B'</translation>
     </message>
     <message>
         <source>'ABC' LIKE '%B%'</source>
-        <translation type="vanished">'ABC' COMO '%B%'</translation>
+        <translation>'ABC' COMO '%B%'</translation>
     </message>
     <message>
         <source>This group contains math functions e.g square root, sin and cos</source>
-        <translation type="vanished">Este grupo contiene funciones matemáticas, por ejemplo raíz cuadrada, seno y coseno</translation>
+        <translation>Este grupo contiene funciones matemáticas, por ejemplo raíz cuadrada, seno y coseno</translation>
     </message>
     <message>
         <source>Negates a condition.</source>
-        <translation type="vanished">Niega una condición.</translation>
+        <translation>Niega una condición.</translation>
     </message>
     <message>
         <source>NOT</source>
-        <translation type="vanished">NO</translation>
+        <translation>NO</translation>
     </message>
     <message>
         <source>NOT 1</source>
-        <translation type="vanished">NO 1</translation>
+        <translation>NO 1</translation>
     </message>
     <message>
         <source>NOT 0</source>
-        <translation type="vanished">NO 0</translation>
+        <translation>NO 0</translation>
     </message>
     <message>
         <source>Equates to a null value.</source>
-        <translation type="vanished">Equivale a un valor nulo.</translation>
+        <translation>Equivale a un valor nulo.</translation>
     </message>
     <message>
         <source>NULL</source>
-        <translation type="vanished">NULO</translation>
+        <translation>NULO</translation>
     </message>
     <message>
         <source>a null value</source>
-        <translation type="vanished">un valor nulo</translation>
+        <translation>un valor nulo</translation>
     </message>
     <message>
         <source>To test for NULL use an <pre>IS NULL</pre> or <pre>IS NOT NULL</pre> expression.</source>
-        <translation type="vanished">Para probar NULO use una expresión <pre>ES NULO</pre> o <pre>NO ES NULO</pre>.</translation>
+        <translation>Para probar NULO use una expresión <pre>ES NULO</pre> o <pre>NO ES NULO</pre>.</translation>
     </message>
     <message>
         <source>Returns 1 when condition a or b is true.</source>
-        <translation type="vanished">Devuelve 1 cuando la condición a o la b es verdadera.</translation>
+        <translation>Devuelve 1 cuando la condición a o la b es verdadera.</translation>
     </message>
     <message>
         <source>OR</source>
-        <translation type="vanished">O</translation>
+        <translation>O</translation>
     </message>
     <message>
         <source>4 = 2+2 OR 1 = 1</source>
-        <translation type="vanished">4 = 2+2 O 1 = 1</translation>
+        <translation>4 = 2+2 O 1 = 1</translation>
     </message>
     <message>
         <source>4 = 2+2 OR 1 = 2</source>
-        <translation type="vanished">4 = 2+2 O 1 = 2</translation>
+        <translation>4 = 2+2 O 1 = 2</translation>
     </message>
     <message>
         <source>4 = 2   OR 1 = 2</source>
-        <translation type="vanished">4 = 2   O 1 = 2</translation>
+        <translation>4 = 2   O 1 = 2</translation>
     </message>
     <message>
         <source>This group contains operators e.g + - *</source>
-        <translation type="vanished">Este grupo contiene operadores como + - *</translation>
+        <translation>Este grupo contiene operadores como + - *</translation>
     </message>
     <message>
         <source>This group contains recently used expressions.</source>
-        <translation type="vanished">Este grupo contiene expresiones usadas recientemente.</translation>
+        <translation>Este grupo contiene expresiones usadas recientemente.</translation>
     </message>
     <message>
         <source>Recent (Selection)</source>
-        <translation type="vanished">Reciente (Selección)</translation>
+        <translation>Reciente (Selección)</translation>
     </message>
     <message>
         <source>This group contains functions that operate on record identifiers.</source>
-        <translation type="vanished">Este grupo contiene funciones que operan sobre identificadores de registros.</translation>
+        <translation>Este grupo contiene funciones que operan sobre identificadores de registros.</translation>
     </message>
     <message>
         <source>This group contains functions that operate on strings e.g replace, convert to upper case.</source>
-        <translation type="vanished">Este grupo contiene funciones que operan sobre cadenas, por ejemplo reemplazar, convertir a mayúsculas.</translation>
+        <translation>Este grupo contiene funciones que operan sobre cadenas, por ejemplo reemplazar, convertir a mayúsculas.</translation>
     </message>
     <message>
         <source>This group contains dynamic variables which can be inserted into your expressions.</source>
-        <translation type="vanished">Este grupo contiene variables dinámicas que se pueden insertar en sus expresiones.</translation>
+        <translation>Este grupo contiene variables dinámicas que se pueden insertar en sus expresiones.</translation>
     </message>
     <message>
         <source>Returns the absolute value of a number.</source>
-        <translation type="vanished">Devuelve el valor absoluto de un número.</translation>
+        <translation>Devuelve el valor absoluto de un número.</translation>
     </message>
     <message>
         <source>abs</source>
-        <translation type="vanished">abs</translation>
+        <translation>abs</translation>
     </message>
     <message>
         <source>a number</source>
-        <translation type="vanished">un número</translation>
+        <translation>un número</translation>
     </message>
     <message>
         <source>abs(-2)</source>
-        <translation type="vanished">abs(-2)</translation>
+        <translation>abs(-2)</translation>
     </message>
     <message>
         <source>Returns the inverse cosine of a value in radians.</source>
-        <translation type="vanished">Devuelve el arco coseno de un valor en radianes.</translation>
+        <translation>Devuelve el arco coseno de un valor en radianes.</translation>
     </message>
     <message>
         <source>acos</source>
-        <translation type="vanished">arcos</translation>
+        <translation>arcos</translation>
     </message>
     <message>
         <source>cosine of an angle in radians</source>
-        <translation type="vanished">coseno de un ángulo en radianes</translation>
+        <translation>coseno de un ángulo en radianes</translation>
     </message>
     <message>
         <source>acos(0.5)</source>
-        <translation type="vanished">acos(0.5)</translation>
+        <translation>acos(0.5)</translation>
     </message>
     <message>
         <source>1.0471975511966</source>
-        <translation type="vanished">1.0471975511966</translation>
+        <translation>1.0471975511966</translation>
     </message>
     <message>
         <source>Returns the difference between two dates or datetimes.<br>The difference is returned as a <code>Interval</code> and needs to be used with one of the following functions in order to extract useful information:<br /><ul><li><code>year</code><li><code>month</code><li><code>week</code><li><code>day</code><li><code>hour</code><li><code>minute</ [...]
-        <translation type="vanished">Devuelve la diferencia entre dos fechas o fechas y horas.<br>La diferencia se devuelve como un <code>Intervalo</code> y es necesario usarla con una de las siguientes funciones para extraer información útil:<br /><ul><li><code>año</code><li><code>mes</code><li><code>semana</code><li><code>día</code><li><code>hora</code><li><c [...]
+        <translation>Devuelve la diferencia entre dos fechas o fechas y horas.<br>La diferencia se devuelve como un <code>Intervalo</code> y es necesario usarla con una de las siguientes funciones para extraer información útil:<br /><ul><li><code>año</code><li><code>mes</code><li><code>semana</code><li><code>día</code><li><code>hora</code><li><code>minuto&lt [...]
     </message>
     <message>
         <source>age</source>
-        <translation type="vanished">edad</translation>
+        <translation>edad</translation>
     </message>
     <message>
         <source>a string, date or datetime representing the later date</source>
-        <translation type="vanished">una cadena, fecha o fecha y hora que representa la fecha posterior</translation>
+        <translation>una cadena, fecha o fecha y hora que representa la fecha posterior</translation>
     </message>
     <message>
         <source>a string, date or datetime representing the earlier date</source>
-        <translation type="vanished">una cadena, fecha o fecha y hora que representa la fecha anterior</translation>
+        <translation>una cadena, fecha o fecha y hora que representa la fecha anterior</translation>
     </message>
     <message>
         <source>age('2012-05-12','2012-05-2')</source>
-        <translation type="vanished">age('2012-05-12','2012-05-2')</translation>
+        <translation>age('2012-05-12','2012-05-2')</translation>
     </message>
     <message>
         <source>interval</source>
-        <translation type="vanished">intervalo</translation>
+        <translation>intervalo</translation>
     </message>
     <message>
         <source>use <code>day</code> to extract number of days</source>
-        <translation type="vanished">use <code>day</code> para extraer el número de días</translation>
+        <translation>use <code>day</code> para extraer el número de días</translation>
     </message>
     <message>
         <source>day(age('2012-05-12','2012-05-2'))</source>
-        <translation type="vanished">day(age('2012-05-12','2012-05-2'))</translation>
+        <translation>day(age('2012-05-12','2012-05-2'))</translation>
     </message>
     <message>
         <source>10</source>
-        <translation type="vanished">10</translation>
+        <translation>10</translation>
     </message>
     <message>
         <source>Returns the area of a geometry polygon object. Calculations are always planimetric in the Spatial Reference System (SRS) of this geometry, and the units of the returned area will match the units for the SRS. This differs from the calculations performed by the $area function, which will perform ellipsoidal calculations based on the project's ellipsoid and area unit settings.</source>
-        <translation type="vanished">Devuelve el área de un objeto de geometría de tipo polígono. Los cálculos siempre son planimétricos en el Sistema de Rerefencia Espacial (SRE) de esta geometría y las unidades del área devuelta coincidirán con las unidades del SRE. Esto difiere de los cálculos hechos por la función $area, que hará cálculos elipsoidales basados en el elipsoide del proyecto y la configuración de las unidades de superficie.</translation>
+        <translation>Devuelve el área de un objeto de geometría de tipo polígono. Los cálculos siempre son planimétricos en el Sistema de Rerefencia Espacial (SRE) de esta geometría y las unidades del área devuelta coincidirán con las unidades del SRE. Esto difiere de los cálculos hechos por la función $area, que hará cálculos elipsoidales basados en el elipsoide del proyecto y la configuración de las unidades de superficie.</translation>
     </message>
     <message>
         <source>area</source>
-        <translation type="vanished">área</translation>
+        <translation>área</translation>
     </message>
     <message>
         <source>geometry</source>
-        <translation type="vanished">geometría</translation>
+        <translation>geometría</translation>
     </message>
     <message>
         <source>polygon geometry object</source>
-        <translation type="vanished">objeto de geometría poligonal</translation>
+        <translation>objeto de geometría poligonal</translation>
     </message>
     <message>
         <source>area(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'))</source>
-        <translation type="vanished">area(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'))</translation>
+        <translation>area(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'))</translation>
     </message>
     <message>
         <source>8.0</source>
-        <translation type="vanished">8.0</translation>
+        <translation>8.0</translation>
     </message>
     <message>
         <source>Returns the inverse sine of a value in radians.</source>
-        <translation type="vanished">Devuelve el arcoseno de un valor en radianes.</translation>
+        <translation>Devuelve el arcoseno de un valor en radianes.</translation>
     </message>
     <message>
         <source>asin</source>
-        <translation type="vanished">arcsen</translation>
+        <translation>arcsen</translation>
     </message>
     <message>
         <source>sine of an angle in radians</source>
-        <translation type="vanished">seno de un ángulo en radianes</translation>
+        <translation>seno de un ángulo en radianes</translation>
     </message>
     <message>
         <source>asin(1.0)</source>
-        <translation type="vanished">arcsen(1.0)</translation>
+        <translation>arcsen(1.0)</translation>
     </message>
     <message>
         <source>1.5707963267949</source>
-        <translation type="vanished">1.5707963267949</translation>
+        <translation>1.5707963267949</translation>
     </message>
     <message>
         <source>Returns the inverse tangent of a value in radians.</source>
-        <translation type="vanished">Devuelve la arcotangente de un valor en radianes.</translation>
+        <translation>Devuelve la arcotangente de un valor en radianes.</translation>
     </message>
     <message>
         <source>atan</source>
-        <translation type="vanished">arctan</translation>
+        <translation>arctan</translation>
     </message>
     <message>
         <source>tan of an angle in radians</source>
-        <translation type="vanished">tangente de un ángulo en radianes</translation>
+        <translation>tangente de un ángulo en radianes</translation>
     </message>
     <message>
         <source>atan(0.5)</source>
-        <translation type="vanished">arctan(0.5)</translation>
+        <translation>arctan(0.5)</translation>
     </message>
     <message>
         <source>0.463647609000806</source>
-        <translation type="vanished">0.463647609000806</translation>
+        <translation>0.463647609000806</translation>
     </message>
     <message>
         <source>Returns the inverse tangent of dy/dx by using the signs of the two arguments to determine the quadrant of the result.</source>
-        <translation type="vanished">Devuelve la arcotangente de dy/dx usandi los signos de los dos argumentos para determinar el cuadrante del resultado.</translation>
+        <translation>Devuelve la arcotangente de dy/dx usandi los signos de los dos argumentos para determinar el cuadrante del resultado.</translation>
     </message>
     <message>
         <source>atan2</source>
-        <translation type="vanished">arctan2</translation>
+        <translation>arctan2</translation>
     </message>
     <message>
         <source>y coordinate difference</source>
-        <translation type="vanished">diferencia de la coordenada Y</translation>
+        <translation>diferencia de la coordenada Y</translation>
     </message>
     <message>
         <source>x coordinate difference</source>
-        <translation type="vanished">diferencia de la coordenada Y</translation>
+        <translation>diferencia de la coordenada Y</translation>
     </message>
     <message>
         <source>atan2(1.0, 1.732)</source>
-        <translation type="vanished">arctan2(1.0, 1.732)</translation>
+        <translation>arctan2(1.0, 1.732)</translation>
     </message>
     <message>
         <source>0.523611477769969</source>
-        <translation type="vanished">0.523611477769969</translation>
+        <translation>0.523611477769969</translation>
     </message>
     <message>
         <source>Returns the value of a specified attribute from a feature.</source>
-        <translation type="vanished">Devuelve el valor del atributo especificado de un objeto.</translation>
+        <translation>Devuelve el valor del atributo especificado de un objeto.</translation>
     </message>
     <message>
         <source>attribute</source>
-        <translation type="vanished">atributo</translation>
+        <translation>atributo</translation>
     </message>
     <message>
         <source>a feature</source>
-        <translation type="vanished">un objeto espacial</translation>
+        <translation>un objeto espacial</translation>
     </message>
     <message>
         <source>name of attribute to be returned</source>
-        <translation type="vanished">nombre del atributo a devolver</translation>
+        <translation>nombre del atributo a devolver</translation>
     </message>
     <message>
         <source>azimuth</source>
-        <translation type="vanished">azimut</translation>
+        <translation>azimut</translation>
     </message>
     <message>
         <source>point geometry</source>
-        <translation type="vanished">geometría de punto</translation>
+        <translation>geometría de punto</translation>
     </message>
     <message>
         <source>degrees( azimuth( make_point(25, 45), make_point(75, 100) ) )</source>
-        <translation type="vanished">degrees( azimuth( make_point(25, 45), make_point(75, 100) ) )</translation>
+        <translation>degrees( azimuth( make_point(25, 45), make_point(75, 100) ) )</translation>
     </message>
     <message>
         <source>42.273689</source>
-        <translation type="vanished">42.273689</translation>
+        <translation>42.273689</translation>
     </message>
     <message>
         <source>degrees( azimuth( make_point(75, 100), make_point(25,45) ) )</source>
-        <translation type="vanished">degrees( azimuth( make_point(75, 100), make_point(25,45) ) )</translation>
+        <translation>degrees( azimuth( make_point(75, 100), make_point(25,45) ) )</translation>
     </message>
     <message>
         <source>222.273689</source>
-        <translation type="vanished">222.273689</translation>
+        <translation>222.273689</translation>
     </message>
     <message>
         <source>Returns a geometry which represents the bounding box of an input geometry. Calculations are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Devuelve una geometría que representa el recuadro delimitador de una geometría de entrada. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
+        <translation>Devuelve una geometría que representa el recuadro delimitador de una geometría de entrada. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
     </message>
     <message>
         <source>bounds</source>
-        <translation type="vanished">límites</translation>
+        <translation>límites</translation>
     </message>
     <message>
         <source>a geometry</source>
-        <translation type="vanished">una geometría</translation>
+        <translation>una geometría</translation>
     </message>
     <message>
         <source>bounds($geometry)</source>
-        <translation type="vanished">bounds($geometry)</translation>
+        <translation>bounds($geometry)</translation>
     </message>
     <message>
         <source>bounding box of $geometry</source>
-        <translation type="vanished">recuadro delimitador de $geometry</translation>
+        <translation>recuadro delimitador de $geometry</translation>
     </message>
     <message>
         <source>Returns the height of the bounding box of a geometry. Calculations are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Devuelve la altura del recuadro delimitador de una geometría. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
+        <translation>Devuelve la altura del recuadro delimitador de una geometría. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
     </message>
     <message>
         <source>bounds_height</source>
-        <translation type="vanished">bounds_height</translation>
+        <translation>bounds_height</translation>
     </message>
     <message>
         <source>bounds_height($geometry)</source>
-        <translation type="vanished">bounds_height($geometry)</translation>
+        <translation>bounds_height($geometry)</translation>
     </message>
     <message>
         <source>height of bounding box of $geometry</source>
-        <translation type="vanished">altura del recuadro delimitador de $geometry</translation>
+        <translation>altura del recuadro delimitador de $geometry</translation>
     </message>
     <message>
         <source>Returns the width of the bounding box of a geometry. Calculations are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Devuelve la anchura del recuadro delimitador de una geometría. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
+        <translation>Devuelve la anchura del recuadro delimitador de una geometría. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
     </message>
     <message>
         <source>bounds_width</source>
-        <translation type="vanished">bounds_width</translation>
+        <translation>bounds_width</translation>
     </message>
     <message>
         <source>bounds_width($geometry)</source>
-        <translation type="vanished">bounds_width($geometry)</translation>
+        <translation>bounds_width($geometry)</translation>
     </message>
     <message>
         <source>width of bounding box of $geometry</source>
-        <translation type="vanished">anchura del recuadro delimitador de $geometry</translation>
+        <translation>anchura del recuadro delimitador de $geometry</translation>
     </message>
     <message>
         <source>Returns a geometry that represents all points whose distance from this geometry is less than or equal to distance. Calculations are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Devuelve una geometría que representa todos los puntos cuya distancia desde esta geometría es menor o igual que distancia. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
+        <translation>Devuelve una geometría que representa todos los puntos cuya distancia desde esta geometría es menor o igual que distancia. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
     </message>
     <message>
         <source>buffer</source>
-        <translation type="vanished">buffer</translation>
+        <translation>buffer</translation>
     </message>
     <message>
         <source>distance</source>
-        <translation type="vanished">distancia</translation>
+        <translation>distancia</translation>
     </message>
     <message>
         <source>buffer distance in layer units</source>
-        <translation type="vanished">distancia de buffer en unidades de la capa</translation>
+        <translation>distancia de buffer en unidades de la capa</translation>
     </message>
     <message>
         <source>buffer($geometry, 10.5)</source>
-        <translation type="vanished">buffer($geometry, 10.5)</translation>
+        <translation>buffer($geometry, 10.5)</translation>
     </message>
     <message>
         <source>polygon of $geometry buffered by 10.5 units</source>
-        <translation type="vanished">polígono de $geometry con un buffer de 10.5 unidades</translation>
+        <translation>polígono de $geometry con un buffer de 10.5 unidades</translation>
     </message>
     <message>
         <source>Rounds a number upwards.</source>
-        <translation type="vanished">Redondea un número por arriba.</translation>
+        <translation>Redondea un número por arriba.</translation>
     </message>
     <message>
         <source>ceil</source>
-        <translation type="vanished">ceil</translation>
+        <translation>ceil</translation>
     </message>
     <message>
         <source>ceil(4.9)</source>
-        <translation type="vanished">ceil(4.9)</translation>
+        <translation>ceil(4.9)</translation>
     </message>
     <message>
         <source>ceil(-4.9)</source>
-        <translation type="vanished">ceil(-4.9)</translation>
+        <translation>ceil(-4.9)</translation>
     </message>
     <message>
         <source>-4</source>
-        <translation type="vanished">-4</translation>
+        <translation>-4</translation>
     </message>
     <message>
         <source>Returns the geometric center of a geometry.</source>
-        <translation type="vanished">Devuelve el centro geométrico de una geometría.</translation>
+        <translation>Devuelve el centro geométrico de una geometría.</translation>
     </message>
     <message>
         <source>centroid</source>
-        <translation type="vanished">centroide</translation>
+        <translation>centroide</translation>
     </message>
     <message>
         <source>centroid($geometry)</source>
-        <translation type="vanished">centroid($geometry)</translation>
+        <translation>centroid($geometry)</translation>
     </message>
     <message>
         <source>a point geometry</source>
-        <translation type="vanished">una geometría de punto</translation>
+        <translation>una geometría de punto</translation>
     </message>
     <message>
         <source>Restricts an input value to a specified range.</source>
-        <translation type="vanished">Restringe un valor de entrada a un rango especificado.</translation>
+        <translation>Restringe un valor de entrada a un rango especificado.</translation>
     </message>
     <message>
         <source>clamp</source>
-        <translation type="vanished">clamp</translation>
+        <translation>clamp</translation>
     </message>
     <message>
         <source>the smallest value <i>input</i> is allowed to take.</source>
-        <translation type="vanished">el valor más pequeño que puede tomar <i>entrada</i>.</translation>
+        <translation>el valor más pequeño que puede tomar <i>entrada</i>.</translation>
     </message>
     <message>
         <source>a value which will be restricted to the range specified by <i>minimum</i> and <i>maximum</i></source>
-        <translation type="vanished">un valor que se puede restringir al intervalo especificado por <i>mínimo</i> y <i>máximo</i></translation>
+        <translation>un valor que se puede restringir al intervalo especificado por <i>mínimo</i> y <i>máximo</i></translation>
     </message>
     <message>
         <source>the largest value <i>input</i> is allowed to take</source>
-        <translation type="vanished">el valor más grande que puede tomar <i>entrada</i>.</translation>
+        <translation>el valor más grande que puede tomar <i>entrada</i>.</translation>
     </message>
     <message>
         <source>clamp(1,5,10)</source>
-        <translation type="vanished">clamp(1,5,10)</translation>
+        <translation>clamp(1,5,10)</translation>
     </message>
     <message>
         <source><i>input</i> is between 1 and 10 so is returned unchanged</source>
-        <translation type="vanished"><i>entrada</i> está entre 1 y 10 así que se devuelve sin cambio</translation>
+        <translation><i>entrada</i> está entre 1 y 10 así que se devuelve sin cambio</translation>
     </message>
     <message>
         <source>clamp(1,0,10)</source>
-        <translation type="vanished">clamp(1,0,10)</translation>
+        <translation>clamp(1,0,10)</translation>
     </message>
     <message>
         <source><i>input</i> is less than minimum value of 1, so function returns 1</source>
-        <translation type="vanished"><i>entrada</i> es menor que el valor mínimo de 1, así que la función devuelve 1</translation>
+        <translation><i>entrada</i> es menor que el valor mínimo de 1, así que la función devuelve 1</translation>
     </message>
     <message>
         <source>clamp(1,11,10)</source>
-        <translation type="vanished">clamp(1,11,10)</translation>
+        <translation>clamp(1,11,10)</translation>
     </message>
     <message>
         <source><i>input</i> is greater than maximum value of 10, so function returns 10</source>
-        <translation type="vanished"><i>entrada</i> es mayor que el valor máximo de 10, así que la función devuelve 10</translation>
+        <translation><i>entrada</i> es mayor que el valor máximo de 10, así que la función devuelve 10</translation>
     </message>
     <message>
         <source>Returns the point on geometry 1 that is closest to geometry 2.</source>
-        <translation type="vanished">Devuelve el punto de la geometría 1 que está más cerca de la geometría 2.</translation>
+        <translation>Devuelve el punto de la geometría 1 que está más cerca de la geometría 2.</translation>
     </message>
     <message>
         <source>closest_point</source>
-        <translation type="vanished">closest_point</translation>
+        <translation>closest_point</translation>
     </message>
     <message>
         <source>geometry to find closest point on</source>
-        <translation type="vanished">geometría en la que encontrar el punto más cercano</translation>
+        <translation>geometría en la que encontrar el punto más cercano</translation>
     </message>
     <message>
         <source>geometry to find closest point to</source>
-        <translation type="vanished">geometría a la que encontrar el punto más cercano</translation>
+        <translation>geometría a la que encontrar el punto más cercano</translation>
     </message>
     <message>
         <source>geom_to_wkt(closest_point(geom_from_wkt('LINESTRING (20 80, 98 190, 110 180, 50 75 )'),geom_from_wkt('POINT(100 100)')))</source>
-        <translation type="vanished">geom_to_wkt(closest_point(geom_from_wkt('LINESTRING (20 80, 98 190, 110 180, 50 75 )'),geom_from_wkt('POINT(100 100)')))</translation>
+        <translation>geom_to_wkt(closest_point(geom_from_wkt('LINESTRING (20 80, 98 190, 110 180, 50 75 )'),geom_from_wkt('POINT(100 100)')))</translation>
     </message>
     <message>
         <source>Point(73.0769 115.384)</source>
-        <translation type="vanished">Point(73.0769 115.384)</translation>
+        <translation>Point(73.0769 115.384)</translation>
     </message>
     <message>
         <source>Returns the first non-NULL value from the expression list.<br>This function can take any number of arguments.</source>
-        <translation type="vanished">Devuelve el primer valor no-NULO de la lista de expresiones<br>Esta función puede tomar cualquier número de argumentos.</translation>
+        <translation>Devuelve el primer valor no-NULO de la lista de expresiones<br>Esta función puede tomar cualquier número de argumentos.</translation>
     </message>
     <message>
         <source>coalesce</source>
-        <translation type="vanished">coalesce</translation>
+        <translation>coalesce</translation>
     </message>
     <message>
         <source>any valid expression or value, irregardless of type.</source>
-        <translation type="vanished">cualquier expresión o valor válidos, da igual el tipo.</translation>
+        <translation>cualquier expresión o valor válidos, da igual el tipo.</translation>
     </message>
     <message>
         <source>coalesce(NULL, 2)</source>
-        <translation type="vanished">coalesce(NULO, 2)</translation>
+        <translation>coalesce(NULO, 2)</translation>
     </message>
     <message>
         <source>coalesce(NULL, 2, 3)</source>
-        <translation type="vanished">coalesce(NULO, 2, 3)</translation>
+        <translation>coalesce(NULO, 2, 3)</translation>
     </message>
     <message>
         <source>coalesce(7, NULL, 3*2)</source>
-        <translation type="vanished">coalesce(7, NULO, 3*2)</translation>
+        <translation>coalesce(7, NULO, 3*2)</translation>
     </message>
     <message>
         <source>7</source>
-        <translation type="vanished">7</translation>
+        <translation>7</translation>
     </message>
     <message>
         <source>coalesce("fieldA", "fallbackField", 'ERROR')</source>
-        <translation type="vanished">coalesce("campoA", "fallbackField", 'ERROR')</translation>
+        <translation>coalesce("campoA", "fallbackField", 'ERROR')</translation>
     </message>
     <message>
         <source>value of fieldA if it is non-NULL else the value of "fallbackField" or the string 'ERROR' if both are NULL</source>
-        <translation type="vanished">el valor del campoA si no es NULO, de lo contrario el valor de "fallbackField" o la cadena 'ERROR' si ambos son NULO</translation>
+        <translation>el valor del campoA si no es NULO, de lo contrario el valor de "fallbackField" o la cadena 'ERROR' si ambos son NULO</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its cyan, magenta, yellow and black components</source>
-        <translation type="vanished">Devuelve una representación en forma de cadena de un color en base a sus componentes cian, magenta, amarillo y negro</translation>
+        <translation>Devuelve una representación en forma de cadena de un color en base a sus componentes cian, magenta, amarillo y negro</translation>
     </message>
     <message>
         <source>color_cmyk</source>
-        <translation type="vanished">color_cmyk</translation>
+        <translation>color_cmyk</translation>
     </message>
     <message>
         <source>cyan component of the color, as a percentage integer value from 0 to 100</source>
-        <translation type="vanished">componente cian del color, como un valor entero de porcentaje de 0 a 100</translation>
+        <translation>componente cian del color, como un valor entero de porcentaje de 0 a 100</translation>
     </message>
     <message>
         <source>magenta component of the color, as a percentage integer value from 0 to 100</source>
-        <translation type="vanished">componente magenta del color, como un valor entero de porcentaje de 0 a 100</translation>
+        <translation>componente magenta del color, como un valor entero de porcentaje de 0 a 100</translation>
     </message>
     <message>
         <source>yellow component of the color, as a percentage integer value from 0 to 100</source>
-        <translation type="vanished">componente amarillo del color, como un valor entero de porcentaje de 0 a 100</translation>
+        <translation>componente amarillo del color, como un valor entero de porcentaje de 0 a 100</translation>
     </message>
     <message>
         <source>black component of the color, as a percentage integer value from 0 to 100</source>
-        <translation type="vanished">componente negro del color, como un valor entero de porcentaje de 0 a 100</translation>
+        <translation>componente negro del color, como un valor entero de porcentaje de 0 a 100</translation>
     </message>
     <message>
         <source>color_cmyk(100,50,0,10)</source>
-        <translation type="vanished">color_cmyk(100,50,0,10)</translation>
+        <translation>color_cmyk(100,50,0,10)</translation>
     </message>
     <message>
         <source>0,115,230</source>
-        <translation type="vanished">0,115,230</translation>
+        <translation>0,115,230</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its cyan, magenta, yellow, black and alpha (transparency) components</source>
-        <translation type="vanished">Devuelve una representación en forma de cadena de un color en base a sus componentes cian, magenta, amarillo, negro y alfa (transparencia)</translation>
+        <translation>Devuelve una representación en forma de cadena de un color en base a sus componentes cian, magenta, amarillo, negro y alfa (transparencia)</translation>
     </message>
     <message>
         <source>color_cmyka</source>
-        <translation type="vanished">color_cmyka</translation>
+        <translation>color_cmyka</translation>
     </message>
     <message>
         <source>alpha component as an integer value from 0 (completely transparent) to 255 (opaque).</source>
-        <translation type="vanished">componente alfa como un valor entero de 0 (completamente transparente) a 255 (opaco).</translation>
+        <translation>componente alfa como un valor entero de 0 (completamente transparente) a 255 (opaco).</translation>
     </message>
     <message>
         <source>color_cmyk(100,50,0,10,200)</source>
-        <translation type="vanished">color_cmyk(100,50,0,10,200)</translation>
+        <translation>color_cmyk(100,50,0,10,200)</translation>
     </message>
     <message>
         <source>0,115,230,200</source>
-        <translation type="vanished">0,115,230,200</translation>
+        <translation>0,115,230,200</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its hue, saturation, and lightness attributes.</source>
-        <translation type="vanished">Devuelve una representación en forma de cadena de un color en base a sus atributos de matiz, saturación y luminosidad.</translation>
+        <translation>Devuelve una representación en forma de cadena de un color en base a sus atributos de matiz, saturación y luminosidad.</translation>
     </message>
     <message>
         <source>color_hsl</source>
-        <translation type="vanished">color_hsl</translation>
+        <translation>color_hsl</translation>
     </message>
     <message>
         <source>hue of the color, as an integer value from 0 to 360</source>
-        <translation type="vanished">matiz de un color, como un entero de 0 a 360</translation>
+        <translation>matiz de un color, como un entero de 0 a 360</translation>
     </message>
     <message>
         <source>saturation percentage of the color as an integer value from 0 to 100</source>
-        <translation type="vanished">porcentaje de saturación del color, como un valor entero de 0 a 100</translation>
+        <translation>porcentaje de saturación del color, como un valor entero de 0 a 100</translation>
     </message>
     <message>
         <source>lightness percentage of the color as an integer value from 0 to 100</source>
-        <translation type="vanished">porcentaje de luminosidad del color, como un valor entero de 0 a 100</translation>
+        <translation>porcentaje de luminosidad del color, como un valor entero de 0 a 100</translation>
     </message>
     <message>
         <source>color_hsl(100,50,70)</source>
-        <translation type="vanished">color_hsl(100,50,70)</translation>
+        <translation>color_hsl(100,50,70)</translation>
     </message>
     <message>
         <source>166,217,140</source>
-        <translation type="vanished">166,217,140</translation>
+        <translation>166,217,140</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its hue, saturation, lightness and alpha (transparency) attributes</source>
-        <translation type="vanished">Devuelve una representación en forma de cadena de un color en base a sus atributos de matiz, saturación, luminosidad y canal alfa (transparencia).</translation>
+        <translation>Devuelve una representación en forma de cadena de un color en base a sus atributos de matiz, saturación, luminosidad y canal alfa (transparencia).</translation>
     </message>
     <message>
         <source>color_hsla</source>
-        <translation type="vanished">color_hsla</translation>
+        <translation>color_hsla</translation>
     </message>
     <message>
         <source>color_hsla(100,50,70,200)</source>
-        <translation type="vanished">color_hsla(100,50,70,200)</translation>
+        <translation>color_hsla(100,50,70,200)</translation>
     </message>
     <message>
         <source>166,217,140,200</source>
-        <translation type="vanished">166,217,140,200</translation>
+        <translation>166,217,140,200</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its hue, saturation, and value attributes.</source>
-        <translation type="vanished">Devuelve una representación en forma de cadena de un color en base a sus atributos de matiz, saturación y valor.</translation>
+        <translation>Devuelve una representación en forma de cadena de un color en base a sus atributos de matiz, saturación y valor.</translation>
     </message>
     <message>
         <source>color_hsv</source>
-        <translation type="vanished">color_hsv</translation>
+        <translation>color_hsv</translation>
     </message>
     <message>
         <source>value percentage of the color as an integer from 0 to 100</source>
-        <translation type="vanished">porcentaje de valor del color, como un valor entero de 0 a 100</translation>
+        <translation>porcentaje de valor del color, como un valor entero de 0 a 100</translation>
     </message>
     <message>
         <source>color_hsv(40,100,100)</source>
-        <translation type="vanished">color_hsv(40,100,100)</translation>
+        <translation>color_hsv(40,100,100)</translation>
     </message>
     <message>
         <source>255,170,0</source>
-        <translation type="vanished">255,170,0</translation>
+        <translation>255,170,0</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its hue, saturation, value and alpha (transparency) attributes.</source>
-        <translation type="vanished">Devuelve una representación en forma de cadena de un color en base a sus atributos de matiz, saturación, valor y canal alfa (transparencia).</translation>
+        <translation>Devuelve una representación en forma de cadena de un color en base a sus atributos de matiz, saturación, valor y canal alfa (transparencia).</translation>
     </message>
     <message>
         <source>color_hsva</source>
-        <translation type="vanished">color_hsva</translation>
+        <translation>color_hsva</translation>
     </message>
     <message>
         <source>alpha component as an integer value from 0 (completely transparent) to 255 (opaque)</source>
-        <translation type="vanished">componente alfa como un valor entero de 0 (completamente transparente) a 255 (opaco)</translation>
+        <translation>componente alfa como un valor entero de 0 (completamente transparente) a 255 (opaco)</translation>
     </message>
     <message>
         <source>color_hsva(40,100,100,200)</source>
-        <translation type="vanished">color_hsva(40,100,100,200)</translation>
+        <translation>color_hsva(40,100,100,200)</translation>
     </message>
     <message>
         <source>255,170,0,200</source>
-        <translation type="vanished">255,170,0,200</translation>
+        <translation>255,170,0,200</translation>
     </message>
     <message>
         <source>Returns a specific component from a color string, eg the red component or alpha component.</source>
-        <translation type="vanished">Devuelve un componente específico de la cadena de un color, por ejemplo el componente rojo o el alfa.</translation>
+        <translation>Devuelve un componente específico de la cadena de un color, por ejemplo el componente rojo o el alfa.</translation>
     </message>
     <message>
         <source>color_part</source>
-        <translation type="vanished">color_part</translation>
+        <translation>color_part</translation>
     </message>
     <message>
         <source>a color string</source>
-        <translation type="vanished">una cadena de color</translation>
+        <translation>una cadena de color</translation>
     </message>
     <message>
         <source>a string corresponding to the color component to return. Valid options are:<br /><ul><li>red: RGB red component (0-255)</li><li>green: RGB green component (0-255)</li><li>blue: RGB blue component (0-255)</li><li>alpha: alpha (transparency) value (0-255)</li><li>hue: HSV hue (0-360)</li><li>saturation: HSV saturation (0-100)</li><li>value: HSV value (0-100)</li><li>hsl_hue [...]
-        <translation type="vanished">una cadena que corresponde al componente del color a devolver. Las opciones válidas son:<br /><ul><li>red: componente rojo RGB (0-255)</li><li>green: componente verde RGB (0-255)</li><li>blue: componente azul RGB (0-255)</li><li>alpha: valor alfa (transparencia) (0-255)</li><li>hue: matiz HSV (0-360)</li><li>saturation: saturación HSV (0-100)</li><li>value: valor [...]
+        <translation>una cadena que corresponde al componente del color a devolver. Las opciones válidas son:<br /><ul><li>red: componente rojo RGB (0-255)</li><li>green: componente verde RGB (0-255)</li><li>blue: componente azul RGB (0-255)</li><li>alpha: valor alfa (transparencia) (0-255)</li><li>hue: matiz HSV (0-360)</li><li>saturation: saturación HSV (0-100)</li><li>value: valor HSV (0-100)< [...]
     </message>
     <message>
         <source>color_part('200,10,30','green')</source>
-        <translation type="vanished">color_part('200,10,30','green')</translation>
+        <translation>color_part('200,10,30','green')</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its red, green, and blue components.</source>
-        <translation type="vanished">Devuelve una representación en forma de cadena de un color en base a sus componentes rojo, verde y azul.</translation>
+        <translation>Devuelve una representación en forma de cadena de un color en base a sus componentes rojo, verde y azul.</translation>
     </message>
     <message>
         <source>color_rgb</source>
-        <translation type="vanished">color_rgb</translation>
+        <translation>color_rgb</translation>
     </message>
     <message>
         <source>red component as an integer value from 0 to 255</source>
-        <translation type="vanished">componente rojo del color, como un valor entero de 0 a 255</translation>
+        <translation>componente rojo del color, como un valor entero de 0 a 255</translation>
     </message>
     <message>
         <source>green component as an integer value from 0 to 255</source>
-        <translation type="vanished">componente verde del color, como un valor entero de 0 a 255</translation>
+        <translation>componente verde del color, como un valor entero de 0 a 255</translation>
     </message>
     <message>
         <source>blue component as an integer value from 0 to 255</source>
-        <translation type="vanished">componente azul del color, como un valor entero de 0 a 255</translation>
+        <translation>componente azul del color, como un valor entero de 0 a 255</translation>
     </message>
     <message>
         <source>color_rgb(255,127,0)</source>
-        <translation type="vanished">color_rgb(255,127,0)</translation>
+        <translation>color_rgb(255,127,0)</translation>
     </message>
     <message>
         <source>255,127,0</source>
-        <translation type="vanished">255,127,0</translation>
+        <translation>255,127,0</translation>
     </message>
     <message>
         <source>Returns a string representation of a color based on its red, green, blue, and alpha (transparency) components.</source>
-        <translation type="vanished">Devuelve una representación en forma de cadena de un color en base a sus componentes rojo, verde, azul y alfa (transparencia).</translation>
+        <translation>Devuelve una representación en forma de cadena de un color en base a sus componentes rojo, verde, azul y alfa (transparencia).</translation>
     </message>
     <message>
         <source>color_rgba</source>
-        <translation type="vanished">color_rgba</translation>
+        <translation>color_rgba</translation>
     </message>
     <message>
         <source>color_rgba(255,127,0,200)</source>
-        <translation type="vanished">color_rgba(255,127,0,200)</translation>
+        <translation>color_rgba(255,127,0,200)</translation>
     </message>
     <message>
         <source>255,127,0,200</source>
-        <translation type="vanished">255,127,0,200</translation>
+        <translation>255,127,0,200</translation>
     </message>
     <message>
         <source>Returns the combination of two geometries.</source>
-        <translation type="vanished">Devuelve la combinación de dos geometrías.</translation>
+        <translation>Devuelve la combinación de dos geometrías.</translation>
     </message>
     <message>
         <source>combine</source>
-        <translation type="vanished">combinar</translation>
+        <translation>combinar</translation>
     </message>
     <message>
         <source>geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 2 1)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 2 1)' ) ) )</translation>
+        <translation>geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 2 1)' ) ) )</translation>
     </message>
     <message>
         <source>MULTILINESTRING((4 4, 2 1), (3 3, 4 4), (4 4, 5 5))</source>
-        <translation type="vanished">MULTILINESTRING((4 4, 2 1), (3 3, 4 4), (4 4, 5 5))</translation>
+        <translation>MULTILINESTRING((4 4, 2 1), (3 3, 4 4), (4 4, 5 5))</translation>
     </message>
     <message>
         <source>geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 6 6, 2 1)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 6 6, 2 1)' ) ) )</translation>
+        <translation>geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 6 6, 2 1)' ) ) )</translation>
     </message>
     <message>
         <source>LINESTRING(3 3, 4 4, 6 6, 2 1)</source>
-        <translation type="vanished">LINESTRING(3 3, 4 4, 6 6, 2 1)</translation>
+        <translation>LINESTRING(3 3, 4 4, 6 6, 2 1)</translation>
     </message>
     <message>
         <source>Concatenates several strings to one. NULL values are converted to empty strings. Other values (like numbers) are converted to strings.</source>
-        <translation type="vanished">Concatena varias cadenas en una. Los valores NULO se convierten a cadenas vacías. Otros valores (como números) se convierten en cadenas.</translation>
+        <translation>Concatena varias cadenas en una. Los valores NULO se convierten a cadenas vacías. Otros valores (como números) se convierten en cadenas.</translation>
     </message>
     <message>
         <source>concat</source>
-        <translation type="vanished">concat</translation>
+        <translation>concat</translation>
     </message>
     <message>
         <source>a string value</source>
-        <translation type="vanished">un valor de cadena</translation>
+        <translation>un valor de cadena</translation>
     </message>
     <message>
         <source>concat('sun', 'set')</source>
-        <translation type="vanished">concat('para', 'sol')</translation>
+        <translation>concat('para', 'sol')</translation>
     </message>
     <message>
         <source>'sunset'</source>
-        <translation type="vanished">'parasol'</translation>
+        <translation>'parasol'</translation>
     </message>
     <message>
         <source>concat('a','b','c','d','e')</source>
-        <translation type="vanished">concat('a','b','c','d','e')</translation>
+        <translation>concat('a','b','c','d','e')</translation>
     </message>
     <message>
         <source>'abcde'</source>
-        <translation type="vanished">'abcde'</translation>
+        <translation>'abcde'</translation>
     </message>
     <message>
         <source>concat('Anno ', 1984)</source>
-        <translation type="vanished">concat('Año ', 1984)</translation>
+        <translation>concat('Año ', 1984)</translation>
     </message>
     <message>
         <source>'Anno 1984'</source>
-        <translation type="vanished">'Año 1984'</translation>
+        <translation>'Año 1984'</translation>
     </message>
     <message>
         <source>concat('The Wall', NULL)</source>
-        <translation type="vanished">concat('El Muro', NULO)</translation>
+        <translation>concat('El Muro', NULO)</translation>
     </message>
     <message>
         <source>'The Wall'</source>
-        <translation type="vanished">'El Muro'</translation>
+        <translation>'El Muro'</translation>
     </message>
     <message>
         <source>Tests whether a geometry contains another. Returns true if and only if no points of geometry b lie in the exterior of geometry a, and at least one point of the interior of b lies in the interior of a.</source>
-        <translation type="vanished">Comprueba si una geometría contiene a otra. Devuelve verdadero si y solo si ningún punto de la geometría b cae en el exterior de la geometría a y al menos un punto del interior de b cae en el interior de a.</translation>
+        <translation>Comprueba si una geometría contiene a otra. Devuelve verdadero si y solo si ningún punto de la geometría b cae en el exterior de la geometría a y al menos un punto del interior de b cae en el interior de a.</translation>
     </message>
     <message>
         <source>contains</source>
-        <translation type="vanished">contiene</translation>
+        <translation>contiene</translation>
     </message>
     <message>
         <source>contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'POINT(0.5 0.5 )' ) )</source>
-        <translation type="vanished">contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'POINT(0.5 0.5 )' ) )</translation>
+        <translation>contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'POINT(0.5 0.5 )' ) )</translation>
     </message>
     <message>
         <source>contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>false</source>
-        <translation type="vanished">falso</translation>
+        <translation>falso</translation>
     </message>
     <message>
         <source>Returns the convex hull of a geometry. It represents the minimum convex geometry that encloses all geometries within the set.</source>
-        <translation type="vanished">Devuelve la envolvente convexa de una geometría. Representa la geometría convexa mínima que encierra todas las geometrías del conjunto.</translation>
+        <translation>Devuelve la envolvente convexa de una geometría. Representa la geometría convexa mínima que encierra todas las geometrías del conjunto.</translation>
     </message>
     <message>
         <source>convex_hull</source>
-        <translation type="vanished">convex_hull</translation>
+        <translation>convex_hull</translation>
     </message>
     <message>
         <source>geom_to_wkt( convex_hull( geom_from_wkt( 'LINESTRING(3 3, 4 4, 4 10)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( convex_hull( geom_from_wkt( 'LINESTRING(3 3, 4 4, 4 10)' ) ) )</translation>
+        <translation>geom_to_wkt( convex_hull( geom_from_wkt( 'LINESTRING(3 3, 4 4, 4 10)' ) ) )</translation>
     </message>
     <message>
         <source>POLYGON((3 3,4 10,4 4,3 3))</source>
-        <translation type="vanished">POLYGON((3 3,4 10,4 4,3 3))</translation>
+        <translation>POLYGON((3 3,4 10,4 4,3 3))</translation>
     </message>
     <message>
         <source>Returns cosine of an angle.</source>
-        <translation type="vanished">Devuelve el coseno de un ángulo.</translation>
+        <translation>Devuelve el coseno de un ángulo.</translation>
     </message>
     <message>
         <source>cos</source>
-        <translation type="vanished">cos</translation>
+        <translation>cos</translation>
     </message>
     <message>
         <source>angle in radians</source>
-        <translation type="vanished">ángulo en radianes</translation>
+        <translation>ángulo en radianes</translation>
     </message>
     <message>
         <source>cos(1.571)</source>
-        <translation type="vanished">cos(1.571)</translation>
+        <translation>cos(1.571)</translation>
     </message>
     <message>
         <source>0.000796326710733263</source>
-        <translation type="vanished">0.000796326710733263</translation>
+        <translation>0.000796326710733263</translation>
     </message>
     <message>
         <source>Tests whether a geometry crosses another. Returns true if the supplied geometries have some, but not all, interior points in common.</source>
-        <translation type="vanished">Comprueba si una geometría cruza otra. Devuelve verdadero si las geometrías proporcionadas tienen algún punto interior en común, pero no todos.</translation>
+        <translation>Comprueba si una geometría cruza otra. Devuelve verdadero si las geometrías proporcionadas tienen algún punto interior en común, pero no todos.</translation>
     </message>
     <message>
         <source>crosses</source>
-        <translation type="vanished">cruza</translation>
+        <translation>cruza</translation>
     </message>
     <message>
         <source>crosses( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">crosses( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>crosses( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>crosses( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">crosses( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>crosses( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>Returns a darker (or lighter) color string</source>
-        <translation type="vanished">Devuelve una cadena de color más oscura (o más clara)</translation>
+        <translation>Devuelve una cadena de color más oscura (o más clara)</translation>
     </message>
     <message>
         <source>darker</source>
-        <translation type="vanished">más oscuro</translation>
+        <translation>más oscuro</translation>
     </message>
     <message>
         <source>a integer number corresponding to the darkening factor:<ul><li>if the factor is greater than 100, this functions returns a darker color (for e.g., setting factor to 300 returns a color that has one-third the brightness);</li><li>if the factor is less than 100, the return color is lighter, but using the lighter() function for this purpose is recommended;</li><li>if the factor is 0 or negative, the return value is unspecified.</li>& [...]
-        <translation type="vanished">un número entero que corresponde al factor de oscurecimiento:<ul><li>Si el factor es mayor de 100, esta función devuelve un color más oscuro (por ej., establecer el factor a 300 devuelve un color que tiene un tercio de brillo);</li><li>Si el factor es menor que 100, el color devuelto es más claro, pero se recomienda usar la función lighter() para este propósito;</li><li>Si el factor es 0 o negativo, el valor devuelt [...]
+        <translation>un número entero que corresponde al factor de oscurecimiento:<ul><li>Si el factor es mayor de 100, esta función devuelve un color más oscuro (por ej., establecer el factor a 300 devuelve un color que tiene un tercio de brillo);</li><li>Si el factor es menor que 100, el color devuelto es más claro, pero se recomienda usar la función lighter() para este propósito;</li><li>Si el factor es 0 o negativo, el valor devuelto es inespecífic [...]
     </message>
     <message>
         <source>darker('200,10,30',300)</source>
-        <translation type="vanished">darker('200,10,30',300)</translation>
+        <translation>darker('200,10,30',300)</translation>
     </message>
     <message>
         <source>'66,3,10,255'</source>
-        <translation type="vanished">'66,3,10,255'</translation>
+        <translation>'66,3,10,255'</translation>
     </message>
     <message>
         <source>Extract the day from a date, or the number of days from an interval.</source>
-        <translation type="vanished">Extrae el día de una fecha o el número de días de un intervalo.</translation>
+        <translation>Extrae el día de una fecha o el número de días de un intervalo.</translation>
     </message>
     <message>
         <source>Date variant</source>
-        <translation type="vanished">Variante de fecha</translation>
+        <translation>Variante de fecha</translation>
     </message>
     <message>
         <source>Extract the day from a date or datetime.</source>
-        <translation type="vanished">Extrae el día de una fecha o fecha y hora.</translation>
+        <translation>Extrae el día de una fecha o fecha y hora.</translation>
     </message>
     <message>
         <source>a date or datetime value</source>
-        <translation type="vanished">una fecha o fecha y hora</translation>
+        <translation>una fecha o fecha y hora</translation>
     </message>
     <message>
         <source>day('2012-05-12')</source>
-        <translation type="vanished">day('2012-05-12')</translation>
+        <translation>day('2012-05-12')</translation>
     </message>
     <message>
         <source>12</source>
-        <translation type="vanished">12</translation>
+        <translation>12</translation>
     </message>
     <message>
         <source>Interval variant</source>
-        <translation type="vanished">Variante de intervalo</translation>
+        <translation>Variante de intervalo</translation>
     </message>
     <message>
         <source>Calculate the length in days of an interval.</source>
-        <translation type="vanished">Calcula la longitud en días de un intervalo.</translation>
+        <translation>Calcula la longitud en días de un intervalo.</translation>
     </message>
     <message>
         <source>interval value to return number of days from</source>
-        <translation type="vanished">intervalo del que devolver el número de días</translation>
+        <translation>intervalo del que devolver el número de días</translation>
     </message>
     <message>
         <source>day(tointerval('3 days'))</source>
-        <translation type="vanished">day(tointerval('3 días'))</translation>
+        <translation>day(tointerval('3 días'))</translation>
     </message>
     <message>
         <source>3</source>
-        <translation type="vanished">3</translation>
+        <translation>3</translation>
     </message>
     <message>
         <source>day(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">day(age('2012-01-01','2010-01-01'))</translation>
+        <translation>day(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>730</source>
-        <translation type="vanished">730</translation>
+        <translation>730</translation>
     </message>
     <message>
         <source>Returns the day of the week for a specified date or datetime. The returned value ranges from 0 to 6, where 0 corresponds to a Sunday and 6 to a Saturday.</source>
-        <translation type="vanished">Devuelve el día de la semana para una fecha o fecha y hora especificadas. El valor devuelto varía entre 0 y 6, donde 0 corresponde a domingo y 6 a sábado.</translation>
+        <translation>Devuelve el día de la semana para una fecha o fecha y hora especificadas. El valor devuelto varía entre 0 y 6, donde 0 corresponde a domingo y 6 a sábado.</translation>
     </message>
     <message>
         <source>day_of_week</source>
-        <translation type="vanished">day_of_week</translation>
+        <translation>day_of_week</translation>
     </message>
     <message>
         <source>date or datetime value</source>
-        <translation type="vanished">una fecha o fecha y hora</translation>
+        <translation>una fecha o fecha y hora</translation>
     </message>
     <message>
         <source>day_of_week(todate('2015-09-21'))</source>
-        <translation type="vanished">day_of_week(todate('2015-09-21'))</translation>
+        <translation>day_of_week(todate('2015-09-21'))</translation>
     </message>
     <message>
         <source>Converts from radians to degrees.</source>
-        <translation type="vanished">Convierte de radianes a grados.</translation>
+        <translation>Convierte de radianes a grados.</translation>
     </message>
     <message>
         <source>degrees</source>
-        <translation type="vanished">grados</translation>
+        <translation>grados</translation>
     </message>
     <message>
         <source>radians</source>
-        <translation type="vanished">radianes</translation>
+        <translation>radianes</translation>
     </message>
     <message>
         <source>numeric value</source>
-        <translation type="vanished">valor numérico</translation>
+        <translation>valor numérico</translation>
     </message>
     <message>
         <source>180</source>
-        <translation type="vanished">180</translation>
+        <translation>180</translation>
     </message>
     <message>
         <source>degrees(1)</source>
-        <translation type="vanished">grados(1)</translation>
+        <translation>grados(1)</translation>
     </message>
     <message>
         <source>57.2958</source>
-        <translation type="vanished">57.2958</translation>
+        <translation>57.2958</translation>
     </message>
     <message>
         <source>Returns a geometry that represents that part of geometry_a that does not intersect with geometry_b.</source>
-        <translation type="vanished">Devuelve una geometría que representa la parte de la geometría_a que no interseca con la geometría_b.</translation>
+        <translation>Devuelve una geometría que representa la parte de la geometría_a que no interseca con la geometría_b.</translation>
     </message>
     <message>
         <source>difference</source>
-        <translation type="vanished">difference</translation>
+        <translation>difference</translation>
     </message>
     <message>
         <source>geom_to_wkt( difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) )</translation>
+        <translation>geom_to_wkt( difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) )</translation>
     </message>
     <message>
         <source>LINESTRING(4 4, 5 5)</source>
-        <translation type="vanished">LINESTRING(4 4, 5 5)</translation>
+        <translation>LINESTRING(4 4, 5 5)</translation>
     </message>
     <message>
         <source>Tests whether geometries do not spatially intersect. Returns true if the geometries do not share any space together.</source>
-        <translation type="vanished">Comprueba si las geometría no se intersecan espacialmente. Devuelve verdadero si las geometrías no comparten ningún espacio en común.</translation>
+        <translation>Comprueba si las geometría no se intersecan espacialmente. Devuelve verdadero si las geometrías no comparten ningún espacio en común.</translation>
     </message>
     <message>
         <source>disjoint</source>
-        <translation type="vanished">inconexo</translation>
+        <translation>inconexo</translation>
     </message>
     <message>
         <source>disjoint( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">disjoint( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>disjoint( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>disjoint( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'POINT(4 4)' ))</source>
-        <translation type="vanished">disjoint( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'POINT(4 4)' ))</translation>
+        <translation>disjoint( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'POINT(4 4)' ))</translation>
     </message>
     <message>
         <source>Returns the minimum distance (based on spatial ref) between two geometries in projected units.</source>
-        <translation type="vanished">Devuelve la distancia mínima (basada en la referencia espacial) entre dos geometrías en unidades proyectadas.</translation>
+        <translation>Devuelve la distancia mínima (basada en la referencia espacial) entre dos geometrías en unidades proyectadas.</translation>
     </message>
     <message>
         <source>distance( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(4 8)' ) )</source>
-        <translation type="vanished">distance( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(4 8)' ) )</translation>
+        <translation>distance( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(4 8)' ) )</translation>
     </message>
     <message>
         <source>4</source>
-        <translation type="vanished">4</translation>
+        <translation>4</translation>
     </message>
     <message>
         <source>Returns the last node from a geometry.</source>
-        <translation type="vanished">Devuelve el último nodo de una geometría.</translation>
+        <translation>Devuelve el último nodo de una geometría.</translation>
     </message>
     <message>
         <source>end_point</source>
-        <translation type="vanished">end_point</translation>
+        <translation>end_point</translation>
     </message>
     <message>
         <source>geometry object</source>
-        <translation type="vanished">objeto de geometría</translation>
+        <translation>objeto de geometría</translation>
     </message>
     <message>
         <source>geom_to_wkt(end_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</source>
-        <translation type="vanished">geom_to_wkt(end_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</translation>
+        <translation>geom_to_wkt(end_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</translation>
     </message>
     <message>
         <source>'Point (0 2)'</source>
-        <translation type="vanished">'Point (0 2)'</translation>
+        <translation>'Point (0 2)'</translation>
     </message>
     <message>
         <source>Evaluates an expression which is passed in a string. Useful to expand dynamic parameters passed as context variables or fields.</source>
-        <translation type="vanished">Evalúa una expresión que es pasada en una cadena. Útil para expandir parámetros dinámicos pasados como variables de contexto o campos.</translation>
+        <translation>Evalúa una expresión que es pasada en una cadena. Útil para expandir parámetros dinámicos pasados como variables de contexto o campos.</translation>
     </message>
     <message>
         <source>eval</source>
-        <translation type="vanished">eval</translation>
+        <translation>eval</translation>
     </message>
     <message>
         <source>an expression string</source>
-        <translation type="vanished">una cadena de expresión</translation>
+        <translation>una cadena de expresión</translation>
     </message>
     <message>
         <source>Returns exponential of an value.</source>
-        <translation type="vanished">Devuelve la exponencial de un valor.</translation>
+        <translation>Devuelve la exponencial de un valor.</translation>
     </message>
     <message>
         <source>exp</source>
-        <translation type="vanished">exp</translation>
+        <translation>exp</translation>
     </message>
     <message>
         <source>number to return exponent of</source>
-        <translation type="vanished">número del que devolver la exponencial</translation>
+        <translation>número del que devolver la exponencial</translation>
     </message>
     <message>
         <source>exp(1.0)</source>
-        <translation type="vanished">exp(1.0)</translation>
+        <translation>exp(1.0)</translation>
     </message>
     <message>
         <source>2.71828182845905</source>
-        <translation type="vanished">2.71828182845905</translation>
+        <translation>2.71828182845905</translation>
     </message>
     <message>
         <source>Returns a line string representing the exterior ring of a polygon geometry. If the geometry is not a polygon then the result will be null.</source>
-        <translation type="vanished">Devuelve una cadena de línea que representa el anillo exterior de una geometría de tipo polígono. Si la geometría no es un polígono entonces el resultado será nulo.</translation>
+        <translation>Devuelve una cadena de línea que representa el anillo exterior de una geometría de tipo polígono. Si la geometría no es un polígono entonces el resultado será nulo.</translation>
     </message>
     <message>
         <source>exterior_ring</source>
-        <translation type="vanished">exterior_ring</translation>
+        <translation>exterior_ring</translation>
     </message>
     <message>
         <source>a polygon geometry</source>
-        <translation type="vanished">una geometría de polígono</translation>
+        <translation>una geometría de polígono</translation>
     </message>
     <message>
         <source>Returns an extruded version of the input (Multi-)Curve or (Multi-)Linestring geometry with an extension specified by x and y.</source>
-        <translation type="vanished">Devuelve una versión extruida de la geometría de entrada (multi)curva o (multi)línea, con una extensión especificada por X e Y.</translation>
+        <translation>Devuelve una versión extruida de la geometría de entrada (multi)curva o (multi)línea, con una extensión especificada por X e Y.</translation>
     </message>
     <message>
         <source>extrude</source>
-        <translation type="vanished">extrudir</translation>
+        <translation>extrudir</translation>
     </message>
     <message>
         <source>Returns a point projected from a start point using a distance and bearing (azimuth) in radians.</source>
-        <translation type="vanished">Devuelve un punto proyectado desde un punto de inicio usando una distancia y un rumbo (azimut) en radianes.</translation>
+        <translation>Devuelve un punto proyectado desde un punto de inicio usando una distancia y un rumbo (azimut) en radianes.</translation>
     </message>
     <message>
         <source>project</source>
-        <translation type="vanished">proyecto</translation>
+        <translation>proyecto</translation>
     </message>
     <message>
         <source>start point</source>
-        <translation type="vanished">punto de inicio</translation>
+        <translation>punto de inicio</translation>
     </message>
     <message>
         <source>distance to project</source>
-        <translation type="vanished">distancia a proyectar</translation>
+        <translation>distancia a proyectar</translation>
     </message>
     <message>
         <source>bearing in radians clockwise, where 0 corresponds to north</source>
-        <translation type="vanished">rumbo en radianes en sentido horario, donde 0 coresponde al norte</translation>
+        <translation>rumbo en radianes en sentido horario, donde 0 coresponde al norte</translation>
     </message>
     <message>
         <source>Saved ramp variant</source>
-        <translation type="vanished">Variante de rampa guardada</translation>
+        <translation>Variante de rampa guardada</translation>
     </message>
     <message>
         <source>Returns a string representing a color from a saved ramp</source>
-        <translation type="vanished">Devuelve una cadena que representa un color de una rampa guardada</translation>
+        <translation>Devuelve una cadena que representa un color de una rampa guardada</translation>
     </message>
     <message>
         <source>Expression-created ramp variant</source>
-        <translation type="vanished">Variante de rampa creada por expresión</translation>
+        <translation>Variante de rampa creada por expresión</translation>
     </message>
     <message>
         <source>Returns a string representing a color from an expression-created ramp</source>
-        <translation type="vanished">Devuelve una cadena que representa un color de una rampa creada por expresión</translation>
+        <translation>Devuelve una cadena que representa un color de una rampa creada por expresión</translation>
     </message>
     <message>
         <source>the color ramp</source>
-        <translation type="vanished">la rampa de color</translation>
+        <translation>la rampa de color</translation>
     </message>
     <message>
         <source>Returns statistics from a raster layer.</source>
-        <translation type="vanished">Devuelve estadísticas de una capa ráster.</translation>
+        <translation>Devuelve estadísticas de una capa ráster.</translation>
     </message>
     <message>
         <source>a string, representing either a raster layer name or layer ID</source>
-        <translation type="vanished">una cadena que representa bien el nombre de una capa ráster o el ID de la capa</translation>
+        <translation>una cadena que representa bien el nombre de una capa ráster o el ID de la capa</translation>
     </message>
     <message>
         <source>integer representing the band number from the raster layer, starting at 1</source>
-        <translation type="vanished">entero que representa el número de banda de la capa ráster, comenzando por 1</translation>
+        <translation>entero que representa el número de banda de la capa ráster, comenzando por 1</translation>
     </message>
     <message>
         <source>a string corresponding to the property to return. Valid options are:<br /><ul><li>min: minimum value</li><li>max: maximum value</li><li>avg: average (mean) value</li><li>stdev: standard deviation of values</li><li>range: range of values (max - min)</li><li>sum: sum of all values from raster</li></ul></source>
-        <translation type="vanished">una cadena que corresponde a la propiedad a devolver. Las opciones válidas son:<br /><ul><li>min: valor mínimo</li><li>max: valor máximo</li><li>avg: valor medio</li><li>stdev: desviación estándar de los valores</li><li>range: intervalo de valores (max - min)</li><li>sum: suma de todos los valores del ráster</li></ul></translation>
+        <translation>una cadena que corresponde a la propiedad a devolver. Las opciones válidas son:<br /><ul><li>min: valor mínimo</li><li>max: valor máximo</li><li>avg: valor medio</li><li>stdev: desviación estándar de los valores</li><li>range: intervalo de valores (max - min)</li><li>sum: suma de todos los valores del ráster</li></ul></translation>
     </message>
     <message>
         <source>Average value from band 1 from 'lc' raster layer</source>
-        <translation type="vanished">Valor promedio de la banda 1 de la capa ráster 'lc'</translation>
+        <translation>Valor promedio de la banda 1 de la capa ráster 'lc'</translation>
     </message>
     <message>
         <source>Minimum value from band 3 from 'ac2010' raster layer</source>
-        <translation type="vanished">Valor mínimo de la banda 3 de la capa ráster 'ac2010'</translation>
+        <translation>Valor mínimo de la banda 3 de la capa ráster 'ac2010'</translation>
     </message>
     <message>
         <source>Return the first matching position matching a regular expression within a string, or 0 if the substring is not found.</source>
-        <translation type="vanished">Devuelve la primera posición que coincide con una expresión regular dentro de una cadena o 0 si no se encuentra la subcadena.</translation>
+        <translation>Devuelve la primera posición que coincide con una expresión regular dentro de una cadena o 0 si no se encuentra la subcadena.</translation>
     </message>
     <message>
         <source>The regular expression to test against. Backslash characters must be double escaped (e.g., "\\s" to match a white space character).</source>
-        <translation type="vanished">La expresión regular frente a la que probar. El carácter barra invertida se debe escapar doblemente (ej.: "\\s" para capturar un carácter espacio en blanco).</translation>
+        <translation>La expresión regular frente a la que probar. El carácter barra invertida se debe escapar doblemente (ej.: "\\s" para capturar un carácter espacio en blanco).</translation>
     </message>
     <message>
         <source>Returns an array of all strings captured by capturing groups, in the order the groups themselves appear in the supplied regular expression against a string.</source>
-        <translation type="vanished">Devuelve una matriz de todas las cadenas capturadas por grupos de captura, en el orden en el que los propios grupos aparecen en la expresión regular proporcionada contra la cadena.</translation>
+        <translation>Devuelve una matriz de todas las cadenas capturadas por grupos de captura, en el orden en el que los propios grupos aparecen en la expresión regular proporcionada contra la cadena.</translation>
     </message>
     <message>
         <source>the string to capture groups from against the regular expression</source>
-        <translation type="vanished">la cadena para capturar grupos desde la expresión regular</translation>
+        <translation>la cadena para capturar grupos desde la expresión regular</translation>
     </message>
     <message>
         <source>the regular expression used to capture groups</source>
-        <translation type="vanished">la expresión regular usada para capturar grupos</translation>
+        <translation>la expresión regular usada para capturar grupos</translation>
     </message>
     <message>
         <source>The regular expression to replace. Backslash characters must be double escaped (e.g., "\\s" to match a white space character).</source>
-        <translation type="vanished">La expresión regular a reemplazar. El carácter barra invertida se debe escapar doblemente (ej.: "\\s" para capturar un carácter espacio en blanco).</translation>
+        <translation>La expresión regular a reemplazar. El carácter barra invertida se debe escapar doblemente (ej.: "\\s" para capturar un carácter espacio en blanco).</translation>
     </message>
     <message>
         <source>The string that will replace any matching occurrences of the supplied regular expression. Captured groups can be inserted into the replacement string using \\1, \\2, etc.</source>
-        <translation type="vanished">La cadena que remplazará cualquier coincidencia con la expresión regular. Los grupos capturados se pueden insertar en la cadena de remplazo usando \\1, \\2, etc.</translation>
+        <translation>La cadena que remplazará cualquier coincidencia con la expresión regular. Los grupos capturados se pueden insertar en la cadena de remplazo usando \\1, \\2, etc.</translation>
     </message>
     <message>
         <source>The regular expression to match against. Backslash characters must be double escaped (e.g., "\\s" to match a white space character).</source>
-        <translation type="vanished">La expresión regular frente a la que coincidir. El carácter barra invertida se debe escapar doblemente (ej.: "\\s" para capturar un carácter espacio en blanco).</translation>
+        <translation>La expresión regular frente a la que coincidir. El carácter barra invertida se debe escapar doblemente (ej.: "\\s" para capturar un carácter espacio en blanco).</translation>
     </message>
     <message>
         <source>Returns a string with the supplied string, array, or map of strings replaced.</source>
-        <translation type="vanished">Devuelve una cadena con la cadena, matriz o mapa de cadenas proporcionados reemplazados.</translation>
+        <translation>Devuelve una cadena con la cadena, matriz o mapa de cadenas proporcionados reemplazados.</translation>
     </message>
     <message>
         <source>String & array variant</source>
-        <translation type="vanished">Variante de cadena y matriz</translation>
+        <translation>Variante de cadena y matriz</translation>
     </message>
     <message>
         <source>Returns a string with the supplied string or array of strings replaced by a string or an array of strings.</source>
-        <translation type="vanished">Devuelve una cadena con la cadena o matriz de cadenas reemplazados por una cadena o una matriz de cadenas.</translation>
+        <translation>Devuelve una cadena con la cadena o matriz de cadenas reemplazados por una cadena o una matriz de cadenas.</translation>
     </message>
     <message>
         <source>the string or array of strings to replace</source>
-        <translation type="vanished">la cadena o matriz de cadenas a reemplazar</translation>
+        <translation>la cadena o matriz de cadenas a reemplazar</translation>
     </message>
     <message>
         <source>the string or array of strings to use as a replacement</source>
-        <translation type="vanished">la cadena o matriz de cadenas a usar como reemplazo</translation>
+        <translation>la cadena o matriz de cadenas a usar como reemplazo</translation>
     </message>
     <message>
         <source>'QGIS XYZ'</source>
-        <translation type="vanished">'QGIS XYZ'</translation>
+        <translation>'QGIS XYZ'</translation>
     </message>
     <message>
         <source>'GI'</source>
-        <translation type="vanished">'GI'</translation>
+        <translation>'GI'</translation>
     </message>
     <message>
         <source>Map variant</source>
-        <translation type="vanished">Variante del mapa</translation>
+        <translation>Variante del mapa</translation>
     </message>
     <message>
         <source>Returns a string with the supplied map keys replaced by paired values.</source>
-        <translation type="vanished">Devuelve una cadena con las claves del mapa proporcionadas sustituidas por valores por pares.</translation>
+        <translation>Devuelve una cadena con las claves del mapa proporcionadas sustituidas por valores por pares.</translation>
     </message>
     <message>
         <source>the map containing keys and values</source>
-        <translation type="vanished">el mapa que contiene claves y valores</translation>
+        <translation>el mapa que contiene claves y valores</translation>
     </message>
     <message>
         <source>The value which should be resolved. Most likely a field.</source>
-        <translation type="vanished">El valor que se debe resolver. Probablemente un campo.</translation>
+        <translation>El valor que se debe resolver. Probablemente un campo.</translation>
     </message>
     <message>
         <source>The field name for which the widget configuration should be loaded. (Optional)</source>
-        <translation type="vanished">El nombre de campo para el que se debe cargar la configuración del control. (Opcional).</translation>
+        <translation>El nombre de campo para el que se debe cargar la configuración del control. (Opcional).</translation>
     </message>
     <message>
         <source>Description for value</source>
-        <translation type="vanished">Descripción para valor</translation>
+        <translation>Descripción para valor</translation>
     </message>
     <message>
         <source>Description for static value</source>
-        <translation type="vanished">Descripción para valor estático</translation>
+        <translation>Descripción para valor estático</translation>
     </message>
     <message>
         <source>Sets a specific color component for a color string, e.g., the red component or alpha component.</source>
-        <translation type="vanished">Establece el componente de un color específico para la cadena de un color, por ejemplo el componente rojo o el alfa.</translation>
+        <translation>Establece el componente de un color específico para la cadena de un color, por ejemplo el componente rojo o el alfa.</translation>
     </message>
     <message>
         <source>Simplifies a geometry by removing nodes using a distance based threshold (ie, the Douglas Peucker algorithm). The algorithm preserves large deviations in geometries and reduces the number of vertices in nearly straight segments.</source>
-        <translation type="vanished">Simplifica una geometría eliminando nodos usando un margen basado en distancia (esto es, el algoritmo Douglas Peucker). El algoritmo conserva grandes desviaciones de las geometrías y reduce el número de vértices en segmentos prácticamente rectos.</translation>
+        <translation>Simplifica una geometría eliminando nodos usando un margen basado en distancia (esto es, el algoritmo Douglas Peucker). El algoritmo conserva grandes desviaciones de las geometrías y reduce el número de vértices en segmentos prácticamente rectos.</translation>
     </message>
     <message>
         <source>simplify</source>
-        <translation type="vanished">simplificar</translation>
+        <translation>simplificar</translation>
     </message>
     <message>
         <source>maximum deviation from straight segments for points to be removed</source>
-        <translation type="vanished">desviación máxima de segmentos rectos para eliminar puntos</translation>
+        <translation>desviación máxima de segmentos rectos para eliminar puntos</translation>
     </message>
     <message>
         <source>Simplifies a geometry by removing nodes using an area based threshold (ie, the Visvalingam-Whyatt algorithm). The algorithm removes vertices which create small areas in geometries, e.g., narrow spikes or nearly straight segments.</source>
-        <translation type="vanished">Simplifica una geometría eliminando nodos usando un margen basado en área (esto es, el algoritmo Visvalingam-Whyatt). El algoritmo elimina vértices que crean pequeñas áreas en las geometrías, por ejemplo salientes estrechos o segmentos prácticamente rectos.</translation>
+        <translation>Simplifica una geometría eliminando nodos usando un margen basado en área (esto es, el algoritmo Visvalingam-Whyatt). El algoritmo elimina vértices que crean pequeñas áreas en las geometrías, por ejemplo salientes estrechos o segmentos prácticamente rectos.</translation>
     </message>
     <message>
         <source>a measure of the maximum area created by a node for the node to be removed</source>
-        <translation type="vanished">una medida del área máxima creada por un nodo para eliminar el nodo</translation>
+        <translation>una medida del área máxima creada por un nodo para eliminar el nodo</translation>
     </message>
     <message>
         <source>Returns a geometry formed by buffering out just one side of a linestring geometry. Distances are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Devuelve una geometría formada haciendo un buffer de una geometría de línea hacia un lado. Las distancias están en el Sistema de Referencia Espacial de esta geometría.</translation>
+        <translation>Devuelve una geometría formada haciendo un buffer de una geometría de línea hacia un lado. Las distancias están en el Sistema de Referencia Espacial de esta geometría.</translation>
     </message>
     <message>
         <source>buffer distance. Positive values will be buffered to the left of lines, negative values to the right</source>
-        <translation type="vanished">distancia de buffer. Para valores positivos se hará un buffer a la izquierda de las líneas y para valores negativos a la derecha.</translation>
+        <translation>distancia de buffer. Para valores positivos se hará un buffer a la izquierda de las líneas y para valores negativos a la derecha.</translation>
     </message>
     <message>
         <source>number of segments to use to represent a quarter circle when a round join style is used. A larger number results in a smoother buffer with more nodes.</source>
-        <translation type="vanished">número de segmentos a usar para representar un cuarto de círculo cuando se utilice un estilo de unión redondo. Un número mayor da como resultado un buffer más suave con más nodos.</translation>
+        <translation>número de segmentos a usar para representar un cuarto de círculo cuando se utilice un estilo de unión redondo. Un número mayor da como resultado un buffer más suave con más nodos.</translation>
     </message>
     <message>
         <source>line buffered to the left by 10.5 units, using more segments to result in a smoother buffer</source>
-        <translation type="vanished">buffer de línea a la izquierda en 10.5 unidades, usando más segmentos para obtener un buffer más suabe.</translation>
+        <translation>buffer de línea a la izquierda en 10.5 unidades, usando más segmentos para obtener un buffer más suabe.</translation>
     </message>
     <message>
         <source>line buffered to the left by 10.5 units, using a beveled join</source>
-        <translation type="vanished">línea hecha buffer a la izquierda por 10.5 unidades, usando una unión en bisel</translation>
+        <translation>línea hecha buffer a la izquierda por 10.5 unidades, usando una unión en bisel</translation>
     </message>
     <message>
         <source>Smooths a geometry by adding extra nodes which round off corners in the geometry.</source>
-        <translation type="vanished">Suaviza una geometría añadiendo nodos extra que redondean las esquinas de la geometría.</translation>
+        <translation>Suaviza una geometría añadiendo nodos extra que redondean las esquinas de la geometría.</translation>
     </message>
     <message>
         <source>number of smoothing iterations to apply. Larger numbers result in smoother but more complex geometries.</source>
-        <translation type="vanished">número de iteraciones de suavizado a aplicar. Números grandes dan lugar a geometrías más suaves, pero más complejas.</translation>
+        <translation>número de iteraciones de suavizado a aplicar. Números grandes dan lugar a geometrías más suaves, pero más complejas.</translation>
     </message>
     <message>
         <source>value between 0 and 0.5 which controls how tightly the smoothed geometry follow the original geometry. Smaller values result in a tighter smoothing, larger values result in looser smoothing.</source>
-        <translation type="vanished">valor entre 0 y 0,5 que controla hasta qué punto se ajusta la geometría suavizada a la original. Número pequeños dan lugar a un suavizado más ajustado, mientras que números mayores dan lugar a un ajustado más laxo.</translation>
+        <translation>valor entre 0 y 0,5 que controla hasta qué punto se ajusta la geometría suavizada a la original. Número pequeños dan lugar a un suavizado más ajustado, mientras que números mayores dan lugar a un ajustado más laxo.</translation>
     </message>
     <message>
         <source>minimum length of segments to apply smoothing to. This parameter can be used to avoid placing excessive additional nodes in shorter segments of the geometry.</source>
-        <translation type="vanished">longitud mínima de segmento a la que aplicar el suavizado. Este parámetro se puede usar para evitar colocar un número excesivo de nodos adicionales en los segmentos más cortos de la geometría.</translation>
+        <translation>longitud mínima de segmento a la que aplicar el suavizado. Este parámetro se puede usar para evitar colocar un número excesivo de nodos adicionales en los segmentos más cortos de la geometría.</translation>
     </message>
     <message>
         <source>maximum angle at node for smoothing to be applied (0-180). By lowering the maximum angle intentionally sharp corners in the geometry can be preserved. For instance, a value of 80 degrees will retain right angles in the geometry.</source>
-        <translation type="vanished">ángulo máximo en el nodo para aplicar suavizado (0-180). Disminuyendo el ángulo máximo se pueden conservar esquinas intencionadamente agudas de la geometría. Por ejemplo, un valor de 80 grados conservará los ángulos rectos de la geometría.</translation>
+        <translation>ángulo máximo en el nodo para aplicar suavizado (0-180). Disminuyendo el ángulo máximo se pueden conservar esquinas intencionadamente agudas de la geometría. Por ejemplo, un valor de 80 grados conservará los ángulos rectos de la geometría.</translation>
     </message>
     <message>
         <source>Splits string into an array using supplied delimiter and optional string for empty values.</source>
-        <translation type="vanished">Divide una cadena en una matriz usando el delimitador proporcionado y una cadena opcional para valores vacíos.</translation>
+        <translation>Divide una cadena en una matriz usando el delimitador proporcionado y una cadena opcional para valores vacíos.</translation>
     </message>
     <message>
         <source>the string delimiter used to split the input string</source>
-        <translation type="vanished">el delimitador de cadena utilizado para dividir la cadena de entrada</translation>
+        <translation>el delimitador de cadena utilizado para dividir la cadena de entrada</translation>
     </message>
     <message>
         <source>integer representing start position to extract from; if start is negative, the return string will begin at the end of the string minus the start value</source>
-        <translation type="vanished">entero que representa el punto inicial desde el que extraer; si el comienzo es negativo, la cadena devuelta comenzará al final de la cadena menos el valor de inicio</translation>
+        <translation>entero que representa el punto inicial desde el que extraer; si el comienzo es negativo, la cadena devuelta comenzará al final de la cadena menos el valor de inicio</translation>
     </message>
     <message>
         <source>integer representing length of string to extract; if length is negative, the return string will omit the given length of characters from the end of the string</source>
-        <translation type="vanished">entero que representa la longitud de cadena a extraer; si la longitud es negativa, la cadena devuelta omitirá la longitud de caracteres indicada desde el final de la cadena</translation>
+        <translation>entero que representa la longitud de cadena a extraer; si la longitud es negativa, la cadena devuelta omitirá la longitud de caracteres indicada desde el final de la cadena</translation>
     </message>
     <message>
         <source>x</source>
-        <translation type="vanished">X</translation>
+        <translation>X</translation>
     </message>
     <message>
         <source>x extension, numeric value</source>
-        <translation type="vanished">extensión X, valor numérico</translation>
+        <translation>extensión X, valor numérico</translation>
     </message>
     <message>
         <source>y</source>
-        <translation type="vanished">Y</translation>
+        <translation>Y</translation>
     </message>
     <message>
         <source>y extension, numeric value</source>
-        <translation type="vanished">extensión Y, valor numérico</translation>
+        <translation>extensión Y, valor numérico</translation>
     </message>
     <message>
         <source>Rounds a number downwards.</source>
-        <translation type="vanished">Redondea un número por abajo.</translation>
+        <translation>Redondea un número por abajo.</translation>
     </message>
     <message>
         <source>floor</source>
-        <translation type="vanished">floor</translation>
+        <translation>floor</translation>
     </message>
     <message>
         <source>floor(4.9)</source>
-        <translation type="vanished">floor(4.9)</translation>
+        <translation>floor(4.9)</translation>
     </message>
     <message>
         <source>floor(-4.9)</source>
-        <translation type="vanished">floor(-4.9)</translation>
+        <translation>floor(-4.9)</translation>
     </message>
     <message>
         <source>-5</source>
-        <translation type="vanished">-5</translation>
+        <translation>-5</translation>
     </message>
     <message>
         <source>Format a string using supplied arguments.</source>
-        <translation type="vanished">Da formato a una cadena usando los argumentos proporcionados.</translation>
+        <translation>Da formato a una cadena usando los argumentos proporcionados.</translation>
     </message>
     <message>
         <source>format</source>
-        <translation type="vanished">format</translation>
+        <translation>format</translation>
     </message>
     <message>
         <source>A string with place holders for the arguments. Use %1, %2, etc for placeholders. Placeholders can be repeated.</source>
-        <translation type="vanished">Una cadena con localizadores de posición para los argumentos. Utilice %1, %2, etc. para los localizadores de posición. Los localizadores se pueden repetir.</translation>
+        <translation>Una cadena con localizadores de posición para los argumentos. Utilice %1, %2, etc. para los localizadores de posición. Los localizadores se pueden repetir.</translation>
     </message>
     <message>
         <source>any type. Any number of arguments.</source>
-        <translation type="vanished">Cualquier tipo. Cualquier número de argumentos.</translation>
+        <translation>Cualquier tipo. Cualquier número de argumentos.</translation>
     </message>
     <message>
         <source>format('This %1 a %2','is', 'test')</source>
-        <translation type="vanished">format('Esto %1 una %2','es', 'prueba')</translation>
+        <translation>format('Esto %1 una %2','es', 'prueba')</translation>
     </message>
     <message>
         <source>'This is a test''</source>
-        <translation type="vanished">'Esto es una prueba'</translation>
+        <translation>'Esto es una prueba'</translation>
     </message>
     <message>
         <source>Format a date type or string into a custom string format. Uses Qt date/time format strings.  See <a href='http://qt-project.org/doc/qt-4.8/qdatetime.html#toString'>QDateTime::toString</a>.</source>
-        <translation type="vanished">De formato a un tipo fecha o cadena en un formato cadena personalizado.. Usa cadenas en formato fecha/hora de Qt.  Vea <a href='http://qt-project.org/doc/qt-4.8/qdatetime.html#toString'>QDateTime::toString</a>.</translation>
+        <translation>De formato a un tipo fecha o cadena en un formato cadena personalizado.. Usa cadenas en formato fecha/hora de Qt.  Vea <a href='http://qt-project.org/doc/qt-4.8/qdatetime.html#toString'>QDateTime::toString</a>.</translation>
     </message>
     <message>
         <source>format_date</source>
-        <translation type="vanished">format_date</translation>
+        <translation>format_date</translation>
     </message>
     <message>
         <source>date, time or datetime value</source>
-        <translation type="vanished">valor de fecha, hora o fecha y hora</translation>
+        <translation>valor de fecha, hora o fecha y hora</translation>
     </message>
     <message>
         <source>String template used to format the string. <table><thead><tr><th>Expression</th><th>Output</th></tr></thead><tr valign="top"><td>d</td><td>the day as number without a leading zero (1 to 31)</td></tr><tr valign="top"><td>dd</td><td>the day as number with a leading zero (01 to 31)</td></tr><tr valign="top"><td&g [...]
-        <translation type="vanished">Plantilla de cadena usada para dar formato a la cadena. <table><thead><tr><th>Expresión</th><th>Salida</th></tr></thead><tr valign="top"><td>d</td><td>el día como número sin cero delante (1 a 31)</td></tr><tr valign="top"><td>dd</td><td>el día como número con cero delante (01 a 31)</td></tr><tr valign=&qu [...]
+        <translation>Plantilla de cadena usada para dar formato a la cadena. <table><thead><tr><th>Expresión</th><th>Salida</th></tr></thead><tr valign="top"><td>d</td><td>el día como número sin cero delante (1 a 31)</td></tr><tr valign="top"><td>dd</td><td>el día como número con cero delante (01 a 31)</td></tr><tr valign="top"> [...]
     </message>
     <message>
         <source>format_date('2012-05-15','dd.MM.yyyy')</source>
-        <translation type="vanished">format_date('2012-05-15','dd.MM.yyyy')</translation>
+        <translation>format_date('2012-05-15','dd.MM.yyyy')</translation>
     </message>
     <message>
         <source>'15.05.2012'</source>
-        <translation type="vanished">'15.05.2012'</translation>
+        <translation>'15.05.2012'</translation>
     </message>
     <message>
         <source>Returns a number formatted with the locale separator for thousands. Also truncates the number to the number of supplied places.</source>
-        <translation type="vanished">Devuelve un número formateado con el separador local de miles. También trunca el número al número de decimales indicado.</translation>
+        <translation>Devuelve un número formateado con el separador local de miles. También trunca el número al número de decimales indicado.</translation>
     </message>
     <message>
         <source>format_number</source>
-        <translation type="vanished">format_number</translation>
+        <translation>format_number</translation>
     </message>
     <message>
         <source>number to be formatted</source>
-        <translation type="vanished">número al que aplicar el formato</translation>
+        <translation>número al que aplicar el formato</translation>
     </message>
     <message>
         <source>integer representing the number of decimal places to truncate the string to.</source>
-        <translation type="vanished">entero que representa el número de posiciones decimales al que truncar la cadena.</translation>
+        <translation>entero que representa el número de posiciones decimales al que truncar la cadena.</translation>
     </message>
     <message>
         <source>format_number(10000000.332,2)</source>
-        <translation type="vanished">format_number(10000000.332,2)</translation>
+        <translation>format_number(10000000.332,2)</translation>
     </message>
     <message>
         <source>'10,000,000.33'</source>
-        <translation type="vanished">'10.000.000.33'</translation>
+        <translation>'10.000.000.33'</translation>
     </message>
     <message>
         <source>Returns a geometry from a GML representation of geometry.</source>
-        <translation type="vanished">Devuelve una geometría a partir de una representación GML de geometría.</translation>
+        <translation>Devuelve una geometría a partir de una representación GML de geometría.</translation>
     </message>
     <message>
         <source>geom_from_gml</source>
-        <translation type="vanished">geom_from_gml</translation>
+        <translation>geom_from_gml</translation>
     </message>
     <message>
         <source>GML representation of a geometry as a string</source>
-        <translation type="vanished">Representación GML de una geometría como una cadena</translation>
+        <translation>Representación GML de una geometría como una cadena</translation>
     </message>
     <message>
         <source>geom_from_gml( '<gml:LineString srsName="EPSG:4326"><gml:coordinates>4,4 5,5 6,6</gml:coordinates></gml:LineString>')</source>
-        <translation type="vanished">geom_from_gml( '<gml:LineString srsName="EPSG:4326"><gml:coordinates>4,4 5,5 6,6</gml:coordinates></gml:LineString>')</translation>
+        <translation>geom_from_gml( '<gml:LineString srsName="EPSG:4326"><gml:coordinates>4,4 5,5 6,6</gml:coordinates></gml:LineString>')</translation>
     </message>
     <message>
         <source>a geometry object</source>
-        <translation type="vanished">un objeto de geometría</translation>
+        <translation>un objeto de geometría</translation>
     </message>
     <message>
         <source>Returns a geometry created from a Well-Known Text (WKT) representation.</source>
-        <translation type="vanished">Devuelve una geometría creada a partir de una representación WKT (Texto Bien Conocido).</translation>
+        <translation>Devuelve una geometría creada a partir de una representación WKT (Texto Bien Conocido).</translation>
     </message>
     <message>
         <source>geom_from_wkt</source>
-        <translation type="vanished">geom_from_wkt</translation>
+        <translation>geom_from_wkt</translation>
     </message>
     <message>
         <source>Well-Known Text (WKT) representation of a geometry</source>
-        <translation type="vanished">Representación WKT (Texto Bien Conocido) de una geometría</translation>
+        <translation>Representación WKT (Texto Bien Conocido) de una geometría</translation>
     </message>
     <message>
         <source>geom_from_wkt( 'POINT(4 5)' )</source>
-        <translation type="vanished">geom_from_wkt( 'POINT(4 5)' )</translation>
+        <translation>geom_from_wkt( 'POINT(4 5)' )</translation>
     </message>
     <message>
         <source>Returns the Well-Known Text (WKT) representation of the geometry without SRID metadata.</source>
-        <translation type="vanished">Devuelve una representación WKT (Texto Bien Conocido) de la geometría sin metadatos SRID.</translation>
+        <translation>Devuelve una representación WKT (Texto Bien Conocido) de la geometría sin metadatos SRID.</translation>
     </message>
     <message>
         <source>geom_to_wkt</source>
-        <translation type="vanished">geom_to_wkt</translation>
+        <translation>geom_to_wkt</translation>
     </message>
     <message>
         <source>geom_to_wkt( $geometry )</source>
-        <translation type="vanished">geom_to_wkt( $geometry )</translation>
+        <translation>geom_to_wkt( $geometry )</translation>
     </message>
     <message>
         <source>Returns a feature's geometry.</source>
-        <translation type="vanished">Devuelve la geometría de un objeto.</translation>
+        <translation>Devuelve la geometría de un objeto.</translation>
     </message>
     <message>
         <source>a feature object</source>
-        <translation type="vanished">un objeto espacial</translation>
+        <translation>un objeto espacial</translation>
     </message>
     <message>
         <source>geom_to_wkt( geometry( get_feature( layer, attributeField, value ) ) )</source>
-        <translation type="vanished">geom_to_wkt( geometry( get_feature( capa, campo, valor ) ) )</translation>
+        <translation>geom_to_wkt( geometry( get_feature( capa, campo, valor ) ) )</translation>
     </message>
     <message>
         <source>'POINT(6 50)'</source>
-        <translation type="vanished">'PUNTO(6 50)'</translation>
+        <translation>'PUNTO(6 50)'</translation>
     </message>
     <message>
         <source>intersects( $geometry, geometry( get_feature( layer, attributeField, value ) ) )</source>
-        <translation type="vanished">intersects( $geometry, geometry( get_feature( capa, campo, valor ) ) )</translation>
+        <translation>intersects( $geometry, geometry( get_feature( capa, campo, valor ) ) )</translation>
     </message>
     <message>
         <source>Returns a specific geometry from a geometry collection, or null if the input geometry is not a collection.</source>
-        <translation type="vanished">Devuelve una geometría específica a partir de una colección de geometrías o nulo si la geometría de entrada no es una colección.</translation>
+        <translation>Devuelve una geometría específica a partir de una colección de geometrías o nulo si la geometría de entrada no es una colección.</translation>
     </message>
     <message>
         <source>geometry_n</source>
-        <translation type="vanished">geometry_n</translation>
+        <translation>geometry_n</translation>
     </message>
     <message>
         <source>geometry collection</source>
-        <translation type="vanished">colección de geometrías</translation>
+        <translation>colección de geometrías</translation>
     </message>
     <message>
         <source>index of geometry to return, where 1 is the first geometry in the collection</source>
-        <translation type="vanished">índice de la geometría a devolver, donde 1 es la primera geometría de la colección</translation>
+        <translation>índice de la geometría a devolver, donde 1 es la primera geometría de la colección</translation>
     </message>
     <message>
         <source>Returns the first feature of a layer matching a given attribute value.</source>
-        <translation type="vanished">Devuelve el primer objeto de una capa que coincide con un valor de atributo dado.</translation>
+        <translation>Devuelve el primer objeto de una capa que coincide con un valor de atributo dado.</translation>
     </message>
     <message>
         <source>get_feature</source>
-        <translation type="vanished">get_feature</translation>
+        <translation>get_feature</translation>
     </message>
     <message>
         <source>layer name or ID</source>
-        <translation type="vanished">nombre o ID de capa </translation>
+        <translation>nombre o ID de capa </translation>
     </message>
     <message>
         <source>attribute name</source>
-        <translation type="vanished">nombre del atributo</translation>
+        <translation>nombre del atributo</translation>
     </message>
     <message>
         <source>attribute value to match</source>
-        <translation type="vanished">valor de atributo con el que coincidir</translation>
+        <translation>valor de atributo con el que coincidir</translation>
     </message>
     <message>
         <source>get_feature('streets','name','main st')</source>
-        <translation type="vanished">get_feature('calles','nombre','calle principal')</translation>
+        <translation>get_feature('calles','nombre','calle principal')</translation>
     </message>
     <message>
         <source>first feature found in "streets" layer with "main st" value in the "name" field</source>
-        <translation type="vanished">primer objeto encontrado en la capa "calles" con el valor "calle principal" en el campo "nombre"</translation>
+        <translation>primer objeto encontrado en la capa "calles" con el valor "calle principal" en el campo "nombre"</translation>
     </message>
     <message>
         <source>Returns the Hamming distance between two strings. This equates to the number of characters at corresponding positions within the input strings where the characters are different. The input strings must be the same length, and the comparison is case-sensitive.</source>
-        <translation type="vanished">Devuelve la distancia de Hamming entre dos cadenas. Esto es igual al número de caracteres en las posiciones correspondientes dentro de las cadenas de entrada donde los caracteres son diferentes. Las cadenas de entrada deben tener la misma longitud y la comparación es sensible a mayúsculas.</translation>
+        <translation>Devuelve la distancia de Hamming entre dos cadenas. Esto es igual al número de caracteres en las posiciones correspondientes dentro de las cadenas de entrada donde los caracteres son diferentes. Las cadenas de entrada deben tener la misma longitud y la comparación es sensible a mayúsculas.</translation>
     </message>
     <message>
         <source>hamming_distance</source>
-        <translation type="vanished">hamming_distance</translation>
+        <translation>hamming_distance</translation>
     </message>
     <message>
         <source>a string</source>
-        <translation type="vanished">una cadena</translation>
+        <translation>una cadena</translation>
     </message>
     <message>
         <source>hamming_distance('abc','xec')</source>
-        <translation type="vanished">hamming_distance('abc','xec')</translation>
+        <translation>hamming_distance('abc','xec')</translation>
     </message>
     <message>
         <source>hamming_distance('abc','ABc')</source>
-        <translation type="vanished">hamming_distance('abc','ABc')</translation>
+        <translation>hamming_distance('abc','ABc')</translation>
     </message>
     <message>
         <source>hamming_distance(upper('abc'),upper('ABC'))</source>
-        <translation type="vanished">hamming_distance(upper('abc'),upper('ABC'))</translation>
+        <translation>hamming_distance(upper('abc'),upper('ABC'))</translation>
     </message>
     <message>
         <source>Extract the hour part from a datetime or time, or the number of hours from an interval.</source>
-        <translation type="vanished">Extrae la parte horaria de una fecha y hora u hora o el número de horas de un intervalo.</translation>
+        <translation>Extrae la parte horaria de una fecha y hora u hora o el número de horas de un intervalo.</translation>
     </message>
     <message>
         <source>Time variant</source>
-        <translation type="vanished">Variante de hora</translation>
+        <translation>Variante de hora</translation>
     </message>
     <message>
         <source>Extract the hour part from a time or datetime.</source>
-        <translation type="vanished">Extrae la parte horaria de una hora o fecha y hora u hora.</translation>
+        <translation>Extrae la parte horaria de una hora o fecha y hora u hora.</translation>
     </message>
     <message>
         <source>a time or datetime value</source>
-        <translation type="vanished">un valor de hora o fecha y hora</translation>
+        <translation>un valor de hora o fecha y hora</translation>
     </message>
     <message>
         <source>hour('2012-07-22T13:24:57')</source>
-        <translation type="vanished">hour('2012-07-22T13:24:57')</translation>
+        <translation>hour('2012-07-22T13:24:57')</translation>
     </message>
     <message>
         <source>13</source>
-        <translation type="vanished">13</translation>
+        <translation>13</translation>
     </message>
     <message>
         <source>Calculate the length in hours of an interval.</source>
-        <translation type="vanished">Calcula la longitud en horas de un intervalo.</translation>
+        <translation>Calcula la longitud en horas de un intervalo.</translation>
     </message>
     <message>
         <source>interval value to return number of hours from</source>
-        <translation type="vanished">intervalo del que devolver el número de horas</translation>
+        <translation>intervalo del que devolver el número de horas</translation>
     </message>
     <message>
         <source>hour(tointerval('3 hours'))</source>
-        <translation type="vanished">hour(tointerval('3 horas'))</translation>
+        <translation>hour(tointerval('3 horas'))</translation>
     </message>
     <message>
         <source>hour(age('2012-07-22T13:00:00','2012-07-22T10:00:00'))</source>
-        <translation type="vanished">hour(age('2012-07-22T13:00:00','2012-07-22T10:00:00'))</translation>
+        <translation>hour(age('2012-07-22T13:00:00','2012-07-22T10:00:00'))</translation>
     </message>
     <message>
         <source>hour(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">hour(age('2012-01-01','2010-01-01'))</translation>
+        <translation>hour(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>17520</source>
-        <translation type="vanished">17520</translation>
+        <translation>17520</translation>
     </message>
     <message>
         <source>Tests a condition and returns a different result depending on the conditional check.</source>
-        <translation type="vanished">Prueba una condición y devuelve un resultado diferente dependiendo de la comprobación condicional.</translation>
+        <translation>Prueba una condición y devuelve un resultado diferente dependiendo de la comprobación condicional.</translation>
     </message>
     <message>
         <source>if</source>
-        <translation type="vanished">if</translation>
+        <translation>if</translation>
     </message>
     <message>
         <source>the condition which should be checked</source>
-        <translation type="vanished">la condición que se debe evaluar</translation>
+        <translation>la condición que se debe evaluar</translation>
     </message>
     <message>
         <source>'One'</source>
-        <translation type="vanished">'Uno'</translation>
+        <translation>'Uno'</translation>
     </message>
     <message>
         <source>the result which will be returned when the condition is true or another value that does not convert to false.</source>
-        <translation type="vanished">el resultado que se devolverá cuando la condición sea verdadera u otro valor que no convierta a falso.</translation>
+        <translation>el resultado que se devolverá cuando la condición sea verdadera u otro valor que no convierta a falso.</translation>
     </message>
     <message>
         <source>the result which will be returned when the condition is false or another value that converts to false like 0 or ''. NULL will also be converted to false.</source>
-        <translation type="vanished">el resultado que se devolverá cuando la condición sea falsa u otro valor que convierta a falso como 0 o ". NULO también se convertirá a falso.</translation>
+        <translation>el resultado que se devolverá cuando la condición sea falsa u otro valor que convierta a falso como 0 o ". NULO también se convertirá a falso.</translation>
     </message>
     <message>
         <source>'Yes'</source>
-        <translation type="vanished">'Sí'</translation>
+        <translation>'Sí'</translation>
     </message>
     <message>
         <source>'No'</source>
-        <translation type="vanished">'No'</translation>
+        <translation>'No'</translation>
     </message>
     <message>
         <source>'Zero'</source>
-        <translation type="vanished">'Cero'</translation>
+        <translation>'Cero'</translation>
     </message>
     <message>
         <source>Returns a specific interior ring from a polygon geometry, or null if the geometry is not a polygon.</source>
-        <translation type="vanished">Devuelve un anillo interior específico de una geometría de tipo polígono o nulo si la geometría no es un polígono.</translation>
+        <translation>Devuelve un anillo interior específico de una geometría de tipo polígono o nulo si la geometría no es un polígono.</translation>
     </message>
     <message>
         <source>interior_ring_n</source>
-        <translation type="vanished">interior_ring_n</translation>
+        <translation>interior_ring_n</translation>
     </message>
     <message>
         <source>polygon geometry</source>
-        <translation type="vanished">geometría de tipo polígono</translation>
+        <translation>geometría de tipo polígono</translation>
     </message>
     <message>
         <source>index of interior to return, where 1 is the first interior ring</source>
-        <translation type="vanished">índice del interior a devolver, donde 1 es el primer anillo interior</translation>
+        <translation>índice del interior a devolver, donde 1 es el primer anillo interior</translation>
     </message>
     <message>
         <source>Returns a geometry that represents the shared portion of two geometries.</source>
-        <translation type="vanished">Devuelve una geometría que representa la parte compartida de dos geometrías.</translation>
+        <translation>Devuelve una geometría que representa la parte compartida de dos geometrías.</translation>
     </message>
     <message>
         <source>intersection</source>
-        <translation type="vanished">intersección</translation>
+        <translation>intersección</translation>
     </message>
     <message>
         <source>geom_to_wkt( intersection( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( intersection( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) )</translation>
+        <translation>geom_to_wkt( intersection( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) )</translation>
     </message>
     <message>
         <source>LINESTRING(3 3, 4 4)</source>
-        <translation type="vanished">LINESTRING(3 3, 4 4)</translation>
+        <translation>LINESTRING(3 3, 4 4)</translation>
     </message>
     <message>
         <source>Tests whether a geometry intersects another. Returns true if the geometries spatially intersect (share any portion of space) and false if they do not.</source>
-        <translation type="vanished">Comprueba si una geometría se interseca con otra. Devuelve verdadero si las geometrías se intersecan espacialmente (comparten alguna porción de espacio) y falso en caso contrario.</translation>
+        <translation>Comprueba si una geometría se interseca con otra. Devuelve verdadero si las geometrías se intersecan espacialmente (comparten alguna porción de espacio) y falso en caso contrario.</translation>
     </message>
     <message>
         <source>intersects</source>
-        <translation type="vanished">interseca</translation>
+        <translation>interseca</translation>
     </message>
     <message>
         <source>intersects( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">intersects( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>intersects( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>intersects( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'POINT(5 5)' ) )</source>
-        <translation type="vanished">intersects( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'POINT(5 5)' ) )</translation>
+        <translation>intersects( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'POINT(5 5)' ) )</translation>
     </message>
     <message>
         <source>Tests whether a geometry's bounding box overlaps another geometry's bounding box. Returns true if the geometries spatially intersect the bounding box defined and false if they do not.</source>
-        <translation type="vanished">Comprueba si el recuadro delimitador de una geometría solapa con el de otra geometría. Devuelve verdadero si los recuadros delimitadores de las geometrías se intersecan espacialmente y falso en caso contrario.</translation>
+        <translation>Comprueba si el recuadro delimitador de una geometría solapa con el de otra geometría. Devuelve verdadero si los recuadros delimitadores de las geometrías se intersecan espacialmente y falso en caso contrario.</translation>
     </message>
     <message>
         <source>intersects_bbox</source>
-        <translation type="vanished">intersects_bbox</translation>
+        <translation>intersects_bbox</translation>
     </message>
     <message>
         <source>intersects_bbox( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">intersects_bbox( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>intersects_bbox( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>intersects_bbox( geom_from_wkt( 'POINT(6 5)' ), geom_from_wkt( 'POLYGON((3 3, 4 4, 5 5, 3 3))' ) )</source>
-        <translation type="vanished">intersects_bbox( geom_from_wkt( 'POINT(6 5)' ), geom_from_wkt( 'POLYGON((3 3, 4 4, 5 5, 3 3))' ) )</translation>
+        <translation>intersects_bbox( geom_from_wkt( 'POINT(6 5)' ), geom_from_wkt( 'POLYGON((3 3, 4 4, 5 5, 3 3))' ) )</translation>
     </message>
     <message>
         <source>Returns true if a line string is closed (start and end points are coincident), or false if a line string is not closed. If the geometry is not a line string then the result will be null.</source>
-        <translation type="vanished">Devuelve verdadero si una cadena de línea está cerrada (los puntos de inicio y final coinciden) o falso si la cadena de línea no está cerrada. Si la geometría no es una cadena de línea entonces el resultado será nulo.</translation>
+        <translation>Devuelve verdadero si una cadena de línea está cerrada (los puntos de inicio y final coinciden) o falso si la cadena de línea no está cerrada. Si la geometría no es una cadena de línea entonces el resultado será nulo.</translation>
     </message>
     <message>
         <source>is_closed</source>
-        <translation type="vanished">is_closed</translation>
+        <translation>is_closed</translation>
     </message>
     <message>
         <source>a line string geometry</source>
-        <translation type="vanished">una geometría de cadena de línea</translation>
+        <translation>una geometría de cadena de línea</translation>
     </message>
     <message>
         <source>Returns a matching layer property or metadata value.</source>
-        <translation type="vanished">Devuelve el valor de una propiedad o metadato de una capa.</translation>
+        <translation>Devuelve el valor de una propiedad o metadato de una capa.</translation>
     </message>
     <message>
         <source>layer_property</source>
-        <translation type="vanished">layer_property</translation>
+        <translation>layer_property</translation>
     </message>
     <message>
         <source>a string, representing either a layer name or layer ID</source>
-        <translation type="vanished">Una cadena que represente el nombre o la ID de una capa</translation>
+        <translation>Una cadena que represente el nombre o la ID de una capa</translation>
     </message>
     <message>
         <source>a string corresponding to the property to return. Valid options are:<br /><ul><li>name: layer name</li><li>id: layer ID</li><li>title: metadata title string</li><li>abstract: metadata abstract string</li><li>keywords: metadata keywords</li><li>data_url: metadata URL</li><li>attribution: metadata attribution string</li><li>attribution_url: metadata attribution URL</li&g [...]
-        <translation type="vanished">Una cadena que corresponda a la propiedad a devolver. Las opciones válidas son:<br /><ul><li>name: nombre de la capa</li><li>id: ID de la capa</li><li>title: cadena de título de los metadatos</li><li>abstract: cadena resumen de los metadatos</li><li>keywords: palabras clave de los metadatos</li><li>data_url: URL de los metadatos</li><li>attribution: cadena de atr [...]
+        <translation>Una cadena que corresponda a la propiedad a devolver. Las opciones válidas son:<br /><ul><li>name: nombre de la capa</li><li>id: ID de la capa</li><li>title: cadena de título de los metadatos</li><li>abstract: cadena resumen de los metadatos</li><li>keywords: palabras clave de los metadatos</li><li>data_url: URL de los metadatos</li><li>attribution: cadena de atribución de los m [...]
     </message>
     <message>
         <source>layer_property('streets','title')</source>
-        <translation type="vanished">layer_property('calles','title')</translation>
+        <translation>layer_property('calles','title')</translation>
     </message>
     <message>
         <source>'Basemap Streets'</source>
-        <translation type="vanished">'Mapa base de calles'</translation>
+        <translation>'Mapa base de calles'</translation>
     </message>
     <message>
         <source>layer_property('airports','feature_count')</source>
-        <translation type="vanished">layer_property('aeropuertos','feature_count')</translation>
+        <translation>layer_property('aeropuertos','feature_count')</translation>
     </message>
     <message>
         <source>120</source>
-        <translation type="vanished">120</translation>
+        <translation>120</translation>
     </message>
     <message>
         <source>layer_property('landsat','crs')</source>
-        <translation type="vanished">layer_property('landsat','crs')</translation>
+        <translation>layer_property('landsat','crs')</translation>
     </message>
     <message>
         <source>'EPSG:4326'</source>
-        <translation type="vanished">'EPSG:4326'</translation>
+        <translation>'EPSG:4326'</translation>
     </message>
     <message>
         <source>Returns a substring that contains the <i>n</i> leftmost characters of the string.</source>
-        <translation type="vanished">Devuelve una subcadena que contiene los <i>n</i> caracteres más a la izquierda de la cadena.</translation>
+        <translation>Devuelve una subcadena que contiene los <i>n</i> caracteres más a la izquierda de la cadena.</translation>
     </message>
     <message>
         <source>left</source>
-        <translation type="vanished">left</translation>
+        <translation>left</translation>
     </message>
     <message>
         <source>integer. The number of characters from the left of the string to return.</source>
-        <translation type="vanished">Entero. El número de caracteres a devolver desde la izquierda de la cadena.</translation>
+        <translation>Entero. El número de caracteres a devolver desde la izquierda de la cadena.</translation>
     </message>
     <message>
         <source>left('Hello World',5)</source>
-        <translation type="vanished">left('Hola Mundo',4)</translation>
+        <translation>left('Hola Mundo',4)</translation>
     </message>
     <message>
         <source>'Hello'</source>
-        <translation type="vanished">'Hola'</translation>
+        <translation>'Hola'</translation>
     </message>
     <message>
         <source>Returns the number of characters in a string or the length of a geometry linestring.</source>
-        <translation type="vanished">Devuelve el número de caracteres de una cadena o la longitud de la cadena que define una geometría.</translation>
+        <translation>Devuelve el número de caracteres de una cadena o la longitud de la cadena que define una geometría.</translation>
     </message>
     <message>
         <source>String variant</source>
-        <translation type="vanished">Variante de cadena</translation>
+        <translation>Variante de cadena</translation>
     </message>
     <message>
         <source>Returns the number of characters in a string.</source>
-        <translation type="vanished">Devuelve el número de caracteres de una cadena.</translation>
+        <translation>Devuelve el número de caracteres de una cadena.</translation>
     </message>
     <message>
         <source>string to count length of</source>
-        <translation type="vanished">cadena de la que medir la longitud</translation>
+        <translation>cadena de la que medir la longitud</translation>
     </message>
     <message>
         <source>length('hello')</source>
-        <translation type="vanished">length('hola')</translation>
+        <translation>length('hola')</translation>
     </message>
     <message>
         <source>Geometry variant</source>
-        <translation type="vanished">Variante de geometría</translation>
+        <translation>Variante de geometría</translation>
     </message>
     <message>
         <source>Calculate the length of a geometry line object. Calculations are always planimetric in the Spatial Reference System (SRS) of this geometry, and the units of the returned length will match the units for the SRS. This differs from the calculations performed by the $length function, which will perform ellipsoidal calculations based on the project's ellipsoid and distance unit settings.</source>
-        <translation type="vanished">Calcula la longitud de un objeto de geometría lineal. Los cálculos siempre son planimétricos en el Sistema de Rerefencia Espacial (SRE) de esta geometría y las unidades de la longitud devuelta coincidirán con las unidades del SRE. Esto difiere de los cálculos hechos por la función $lenght, que hará cálculos elipsoidales basados en el elipsoide del proyecto y la configuración de las unidades de longitud.</translation>
+        <translation>Calcula la longitud de un objeto de geometría lineal. Los cálculos siempre son planimétricos en el Sistema de Rerefencia Espacial (SRE) de esta geometría y las unidades de la longitud devuelta coincidirán con las unidades del SRE. Esto difiere de los cálculos hechos por la función $lenght, que hará cálculos elipsoidales basados en el elipsoide del proyecto y la configuración de las unidades de longitud.</translation>
     </message>
     <message>
         <source>line geometry object</source>
-        <translation type="vanished">objeto de geometría lineal</translation>
+        <translation>objeto de geometría lineal</translation>
     </message>
     <message>
         <source>length(geom_from_wkt('LINESTRING(0 0, 4 0)'))</source>
-        <translation type="vanished">length(geom_from_wkt('LINESTRING(0 0, 4 0)'))</translation>
+        <translation>length(geom_from_wkt('LINESTRING(0 0, 4 0)'))</translation>
     </message>
     <message>
         <source>4.0</source>
-        <translation type="vanished">4.0</translation>
+        <translation>4.0</translation>
     </message>
     <message>
         <source>Returns the Levenshtein edit distance between two strings. This equates to the minimum number of character edits (insertions, deletions or substitutions) required to change one string to another.<br />The Levenshtein distance is a measure of the similarity between two strings. Smaller distances mean the strings are more similar, and larger distances indicate more different strings. The distance is case sensitive.</source>
-        <translation type="vanished">Devuelve la distancia de edición de Levenshtein entre dos cadenas. Esto es el número mínimo de ediciones de caracteres (inserciones, borrados o sustituciones) necesario para convertir una cadena en otra.<br />La distancia de Levenshtein es una medida de la similitud entre dos cadenas. Distancias menores significan que las cadenas son más parecidas y distancias mayores indican más diferencia entre las cadenas. La distancia distingue entre mayúscu [...]
+        <translation>Devuelve la distancia de edición de Levenshtein entre dos cadenas. Esto es el número mínimo de ediciones de caracteres (inserciones, borrados o sustituciones) necesario para convertir una cadena en otra.<br />La distancia de Levenshtein es una medida de la similitud entre dos cadenas. Distancias menores significan que las cadenas son más parecidas y distancias mayores indican más diferencia entre las cadenas. La distancia distingue entre mayúsculas y minúsculas [...]
     </message>
     <message>
         <source>levenshtein</source>
-        <translation type="vanished">levenshtein</translation>
+        <translation>levenshtein</translation>
     </message>
     <message>
         <source>levenshtein('kittens','mitten')</source>
-        <translation type="vanished">levenshtein('mínimo','máximo')</translation>
+        <translation>levenshtein('mínimo','máximo')</translation>
     </message>
     <message>
         <source>levenshtein('Kitten','kitten')</source>
-        <translation type="vanished">levenshtein('Mínimo','mínimo')</translation>
+        <translation>levenshtein('Mínimo','mínimo')</translation>
     </message>
     <message>
         <source>levenshtein(upper('Kitten'),upper('kitten'))</source>
-        <translation type="vanished">levenshtein(upper('Mínimo'),upper('mínimo'))</translation>
+        <translation>levenshtein(upper('Mínimo'),upper('mínimo'))</translation>
     </message>
     <message>
         <source>Returns a lighter (or darker) color string</source>
-        <translation type="vanished">Devuelve una cadena de color más clara (o más oscura)</translation>
+        <translation>Devuelve una cadena de color más clara (o más oscura)</translation>
     </message>
     <message>
         <source>lighter</source>
-        <translation type="vanished">más claro</translation>
+        <translation>más claro</translation>
     </message>
     <message>
         <source>a integer number corresponding to the lightening factor:<ul><li>if the factor is greater than 100, this functions returns a lighter color (for e.g., setting factor to 150 returns a color that is 50% brighter);</li><li>if the factor is less than 100, the return color is darker, but using the darker() function for this purpose is recommended;</li><li>if the factor is 0 or negative, the return value is unspecified.</li></ul></source>
-        <translation type="vanished">un número entero que corresponde al factor de aclarado:<ul><li>Si el factor es mayor de 100, esta función devuelve un color más claro (por ej., establecer el factor a 150 devuelve un color que es un 50% más brillante);</li><li>Si el factor es menor que 100, el color devuelto es más oscuro, pero se recomienda usar la función darker() para este propósito;</li><li>Si el factor es 0 o negativo, el valor devuelto es ines [...]
+        <translation>un número entero que corresponde al factor de aclarado:<ul><li>Si el factor es mayor de 100, esta función devuelve un color más claro (por ej., establecer el factor a 150 devuelve un color que es un 50% más brillante);</li><li>Si el factor es menor que 100, el color devuelto es más oscuro, pero se recomienda usar la función darker() para este propósito;</li><li>Si el factor es 0 o negativo, el valor devuelto es inespecífico.</li [...]
     </message>
     <message>
         <source>'255,158,168,255'</source>
-        <translation type="vanished">'255,158,168,255'</translation>
+        <translation>'255,158,168,255'</translation>
     </message>
     <message>
         <source>Returns the natural logarithm of a value.</source>
-        <translation type="vanished">Devuelve el logaritmo neperiano de un valor.</translation>
+        <translation>Devuelve el logaritmo neperiano de un valor.</translation>
     </message>
     <message>
         <source>ln</source>
-        <translation type="vanished">ln</translation>
+        <translation>ln</translation>
     </message>
     <message>
         <source>ln(1)</source>
-        <translation type="vanished">ln(1)</translation>
+        <translation>ln(1)</translation>
     </message>
     <message>
         <source>ln(2.7182818284590452354)</source>
-        <translation type="vanished">ln(2.7182818284590452354)</translation>
+        <translation>ln(2.7182818284590452354)</translation>
     </message>
     <message>
         <source>Returns the value of the logarithm of the passed value and base.</source>
-        <translation type="vanished">Devuelve el logaritmo del valor y la base pasados.</translation>
+        <translation>Devuelve el logaritmo del valor y la base pasados.</translation>
     </message>
     <message>
         <source>log</source>
-        <translation type="vanished">log</translation>
+        <translation>log</translation>
     </message>
     <message>
         <source>any positive number</source>
-        <translation type="vanished">cualquier número positivo</translation>
+        <translation>cualquier número positivo</translation>
     </message>
     <message>
         <source>log(2, 32)</source>
-        <translation type="vanished">log(2, 32)</translation>
+        <translation>log(2, 32)</translation>
     </message>
     <message>
         <source>log(0.5, 32)</source>
-        <translation type="vanished">log(0.5, 32)</translation>
+        <translation>log(0.5, 32)</translation>
     </message>
     <message>
         <source>Returns the value of the base 10 logarithm of the passed expression.</source>
-        <translation type="vanished">Devuelve el logaritmo en base 10 de la expresión pasada.</translation>
+        <translation>Devuelve el logaritmo en base 10 de la expresión pasada.</translation>
     </message>
     <message>
         <source>log10</source>
-        <translation type="vanished">log10</translation>
+        <translation>log10</translation>
     </message>
     <message>
         <source>log10(1)</source>
-        <translation type="vanished">log10(1)</translation>
+        <translation>log10(1)</translation>
     </message>
     <message>
         <source>log10(100)</source>
-        <translation type="vanished">log10(100)</translation>
+        <translation>log10(100)</translation>
     </message>
     <message>
         <source>Returns the longest common substring between two strings. This substring is the longest string that is a substring of the two input strings. Eg, the longest common substring of "ABABC" and "BABCA" is "ABC". The substring is case sensitive.</source>
-        <translation type="vanished">Devuelve la subcadena más larga común entre dos cadenas. Esta subcadena es la cadena más larga que es una subcadena de las dos cadenas de entrada. Por ejemplo, la subcadena más larga de "ABABC" y "BABCA" es "ABC". La subcadena distingue entre mayúsculas y minúsculas.</translation>
+        <translation>Devuelve la subcadena más larga común entre dos cadenas. Esta subcadena es la cadena más larga que es una subcadena de las dos cadenas de entrada. Por ejemplo, la subcadena más larga de "ABABC" y "BABCA" es "ABC". La subcadena distingue entre mayúsculas y minúsculas.</translation>
     </message>
     <message>
         <source>longest_common_substring</source>
-        <translation type="vanished">longest_common_substring</translation>
+        <translation>longest_common_substring</translation>
     </message>
     <message>
         <source>longest_common_substring('ABABC','BABCA')</source>
-        <translation type="vanished">longest_common_substring('ABABC','BABCA')</translation>
+        <translation>longest_common_substring('ABABC','BABCA')</translation>
     </message>
     <message>
         <source>'ABC'</source>
-        <translation type="vanished">'ABC'</translation>
+        <translation>'ABC'</translation>
     </message>
     <message>
         <source>longest_common_substring('abcDeF','abcdef')</source>
-        <translation type="vanished">longest_common_substring('abcDeF','abcdef')</translation>
+        <translation>longest_common_substring('abcDeF','abcdef')</translation>
     </message>
     <message>
         <source>'abc'</source>
-        <translation type="vanished">'abc'</translation>
+        <translation>'abc'</translation>
     </message>
     <message>
         <source>longest_common_substring(upper('abcDeF'),upper('abcdex'))</source>
-        <translation type="vanished">longest_common_substring(upper('abcDeF'),upper('abcdex'))</translation>
+        <translation>longest_common_substring(upper('abcDeF'),upper('abcdex'))</translation>
     </message>
     <message>
         <source>'ABCDE'</source>
-        <translation type="vanished">'ABCDE'</translation>
+        <translation>'ABCDE'</translation>
     </message>
     <message>
         <source>Converts a string to lower case letters.</source>
-        <translation type="vanished">Convierte una cadena a letras minúsculas.</translation>
+        <translation>Convierte una cadena a letras minúsculas.</translation>
     </message>
     <message>
         <source>lower</source>
-        <translation type="vanished">lower</translation>
+        <translation>lower</translation>
     </message>
     <message>
         <source>the string to convert to lower case</source>
-        <translation type="vanished">la cadena a convertir a minúsculas</translation>
+        <translation>la cadena a convertir a minúsculas</translation>
     </message>
     <message>
         <source>lower('HELLO World')</source>
-        <translation type="vanished">lower('HOLA Mundo')</translation>
+        <translation>lower('HOLA Mundo')</translation>
     </message>
     <message>
         <source>'hello world'</source>
-        <translation type="vanished">'hola mundo'</translation>
+        <translation>'hola mundo'</translation>
     </message>
     <message>
         <source>Returns a string padded to supplied width using a fill character.</source>
-        <translation type="vanished">Devuelve una cadena ampliada a la anchura indicada usando un carácter de relleno.</translation>
+        <translation>Devuelve una cadena ampliada a la anchura indicada usando un carácter de relleno.</translation>
     </message>
     <message>
         <source>lpad</source>
-        <translation type="vanished">lpad</translation>
+        <translation>lpad</translation>
     </message>
     <message>
         <source>string to pad</source>
-        <translation type="vanished">cadena a ampliar</translation>
+        <translation>cadena a ampliar</translation>
     </message>
     <message>
         <source>length of new string</source>
-        <translation type="vanished">longitud de la nueva cadena</translation>
+        <translation>longitud de la nueva cadena</translation>
     </message>
     <message>
         <source>character to pad the remaining space with</source>
-        <translation type="vanished">carácter con el que rellenar los espacios restantes</translation>
+        <translation>carácter con el que rellenar los espacios restantes</translation>
     </message>
     <message>
         <source>lpad('Hello', 10, 'x')</source>
-        <translation type="vanished">lpad('Hola', 10, 'x')</translation>
+        <translation>lpad('Hola', 10, 'x')</translation>
     </message>
     <message>
         <source>'xxxxxHello'</source>
-        <translation type="vanished">'xxxxxxHola'</translation>
+        <translation>'xxxxxxHola'</translation>
     </message>
     <message>
         <source>Returns the m value of a point geometry.</source>
-        <translation type="vanished">Devuelve el valor m de una geometría de punto.</translation>
+        <translation>Devuelve el valor m de una geometría de punto.</translation>
     </message>
     <message>
         <source>m</source>
-        <translation type="vanished">m</translation>
+        <translation>m</translation>
     </message>
     <message>
         <source>Creates a line geometry from a series of point geometries.</source>
-        <translation type="vanished">Crea una geometría de línea a partir de una serie de geometrías de puntos.</translation>
+        <translation>Crea una geometría de línea a partir de una serie de geometrías de puntos.</translation>
     </message>
     <message>
         <source>make_line</source>
-        <translation type="vanished">make_line</translation>
+        <translation>make_line</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_line(make_point(2,4),make_point(3,5)))</source>
-        <translation type="vanished">geom_to_wkt(make_line(make_point(2,4),make_point(3,5)))</translation>
+        <translation>geom_to_wkt(make_line(make_point(2,4),make_point(3,5)))</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_line(make_point(2,4),make_point(3,5),make_point(9,7)))</source>
-        <translation type="vanished">geom_to_wkt(make_line(make_point(2,4),make_point(3,5),make_point(9,7)))</translation>
+        <translation>geom_to_wkt(make_line(make_point(2,4),make_point(3,5),make_point(9,7)))</translation>
     </message>
     <message>
         <source>Creates a point geometry from an x and y (and optional z and m) value.</source>
-        <translation type="vanished">Crea una geometría de punto a partir de unos valores de X e Y (y opcionalmente Z).</translation>
+        <translation>Crea una geometría de punto a partir de unos valores de X e Y (y opcionalmente Z).</translation>
     </message>
     <message>
         <source>make_point</source>
-        <translation type="vanished">make_point</translation>
+        <translation>make_point</translation>
     </message>
     <message>
         <source>x coordinate of point</source>
-        <translation type="vanished">Coordenada X del punto</translation>
+        <translation>Coordenada X del punto</translation>
     </message>
     <message>
         <source>y coordinate of point</source>
-        <translation type="vanished">Coordenada Y del punto</translation>
+        <translation>Coordenada Y del punto</translation>
     </message>
     <message>
         <source>z</source>
-        <translation type="vanished">z</translation>
+        <translation>z</translation>
     </message>
     <message>
         <source>optional z coordinate of point</source>
-        <translation type="vanished">coordenada Z opcional del punto</translation>
+        <translation>coordenada Z opcional del punto</translation>
     </message>
     <message>
         <source>Returns the current scale denominator of the map canvas.<br><br>Note: This function is only available in some contexts and will be 0 otherwise.</source>
-        <translation type="vanished">Devuelve el denominador de la escala actual de la vista del mapa.<br><br>Nota: esta función solo está disponible en algunos contextos y en otros casos será 0.</translation>
+        <translation>Devuelve el denominador de la escala actual de la vista del mapa.<br><br>Nota: esta función solo está disponible en algunos contextos y en otros casos será 0.</translation>
     </message>
     <message>
         <source>Returns an aggregate value calculated using features from another layer.</source>
-        <translation type="vanished">Devuelve un valor agregado calculado usando objetos de otra capa.</translation>
+        <translation>Devuelve un valor agregado calculado usando objetos de otra capa.</translation>
     </message>
     <message>
         <source>aggregate</source>
-        <translation type="vanished">agregar</translation>
+        <translation>agregar</translation>
     </message>
     <message>
         <source>sub expression or field name to aggregate</source>
-        <translation type="vanished">sub expresión o nombre de campo a agregar</translation>
+        <translation>sub expresión o nombre de campo a agregar</translation>
     </message>
     <message>
         <source>optional string to use to join values for 'concatenate' aggregate</source>
-        <translation type="vanished">cadena opcional a usar para unir valores para el agregado 'concatenar'</translation>
+        <translation>cadena opcional a usar para unir valores para el agregado 'concatenar'</translation>
     </message>
     <message>
         <source>sum of all values from the passengers field in the rail_stations layer</source>
-        <translation type="vanished">suma de todos los valores del campo passengers de la capa rail_stations</translation>
+        <translation>suma de todos los valores del campo passengers de la capa rail_stations</translation>
     </message>
     <message>
         <source>calculates a daily average of "passengers" by dividing the "passengers" field by 7 before summing the values</source>
-        <translation type="vanished">calcula una media diaria de "passengers" dividiendo el campo "passengers" por 7 antes de sumar los valores</translation>
+        <translation>calcula una media diaria de "passengers" dividiendo el campo "passengers" por 7 antes de sumar los valores</translation>
     </message>
     <message>
         <source>sums up all values from the "passengers" field from features where the "class" attribute is greater than 3 only</source>
-        <translation type="vanished">suma todos los valores del campo "passengers" de los objetos en los que el atributo "class" es mayor que 3</translation>
+        <translation>suma todos los valores del campo "passengers" de los objetos en los que el atributo "class" es mayor que 3</translation>
     </message>
     <message>
         <source>comma separated list of the name field for all features in the rail_stations layer</source>
-        <translation type="vanished">lista separada por comas del campo name para todos los objetos de la capa rail_stations</translation>
+        <translation>lista separada por comas del campo name para todos los objetos de la capa rail_stations</translation>
     </message>
     <message>
         <source>Returns the north-based azimuth as the angle in radians measured clockwise from the vertical on point_a to point_b.</source>
-        <translation type="vanished">Devuelve el azimut basado en el Norte como el ángulo en radianes medido en sentido horario desde la vertical en el punto_A al Punto_b.</translation>
+        <translation>Devuelve el azimut basado en el Norte como el ángulo en radianes medido en sentido horario desde la vertical en el punto_A al Punto_b.</translation>
     </message>
     <message>
         <source>Returns the all aggregated strings from a field or expression joined by a delimiter.</source>
-        <translation type="vanished">Devuelve todas las cadenas agregadas a partir de un campo o expresión unida por un delimitador.</translation>
+        <translation>Devuelve todas las cadenas agregadas a partir de un campo o expresión unida por un delimitador.</translation>
     </message>
     <message>
         <source>sub expression of field to aggregate</source>
-        <translation type="vanished">subexpresión de campo a agregar</translation>
+        <translation>subexpresión de campo a agregar</translation>
     </message>
     <message>
         <source>Returns the area of the current feature. The area calculated by this function respects both the current project's ellipsoid setting and area unit settings. For example, if an ellipsoid has been set for the project then the calculated area will be ellipsoidal, and if no ellipsoid is set then the calculated area will be planimetric.</source>
-        <translation type="vanished">Devuelve el área del objeto actual. El área calculada por esta función respeta tanto la configuración del elipsoide del proyecto actual como la de las unidades de área. Por ejemplo, si se ha establecido un elipsoide para el proyecto, entonces el área calculada será elipsoidal y si no se ha establecido ningún elipsoide, entonces el área calculada será planimétrica.</translation>
+        <translation>Devuelve el área del objeto actual. El área calculada por esta función respeta tanto la configuración del elipsoide del proyecto actual como la de las unidades de área. Por ejemplo, si se ha establecido un elipsoide para el proyecto, entonces el área calculada será elipsoidal y si no se ha establecido ningún elipsoide, entonces el área calculada será planimétrica.</translation>
     </message>
     <message>
         <source>Returns the length of a linestring. If you need the length of a border of a polygon, use $perimeter instead. The length calculated by this function respects both the current project's ellipsoid setting and distance unit settings. For example, if an ellipsoid has been set for the project then the calculated length will be ellipsoidal, and if no ellipsoid is set then the calculated length will be planimetric.</source>
-        <translation type="vanished">Devuelve la longitud de una cadena de líneas. Si necesita la longitud del contorno de un polígono, utilice mejor $perimeter. El longitud calculada por esta función respeta tanto la configuración del elipsoide del proyecto actual como la de las unidades de longitud. Por ejemplo, si se ha establecido un elipsoide para el proyecto, entonces la longitud calculada será elipsoidal y si no se ha establecido ningún elipsoide, entonces la longitud calculada se [...]
+        <translation>Devuelve la longitud de una cadena de líneas. Si necesita la longitud del contorno de un polígono, utilice mejor $perimeter. El longitud calculada por esta función respeta tanto la configuración del elipsoide del proyecto actual como la de las unidades de longitud. Por ejemplo, si se ha establecido un elipsoide para el proyecto, entonces la longitud calculada será elipsoidal y si no se ha establecido ningún elipsoide, entonces la longitud calculada será planimétrica. [...]
     </message>
     <message>
         <source>Returns the perimeter length of the current feature. The perimeter calculated by this function respects both the current project's ellipsoid setting and distance unit settings. For example, if an ellipsoid has been set for the project then the calculated perimeter will be ellipsoidal, and if no ellipsoid is set then the calculated perimeter will be planimetric.</source>
-        <translation type="vanished">Devuelve la longitud del perímetro del objeto actual. El perímetro calculado por esta función respeta tanto la configuración del elipsoide del proyecto actual como la de las unidades de distancia. Por ejemplo, si se ha establecido un elipsoide para el proyecto, entonces el perímetro calculado será elipsoidal y si no se ha establecido ningún elipsoide, entonces el perímetro calculado será planimétrico.</translation>
+        <translation>Devuelve la longitud del perímetro del objeto actual. El perímetro calculado por esta función respeta tanto la configuración del elipsoide del proyecto actual como la de las unidades de distancia. Por ejemplo, si se ha establecido un elipsoide para el proyecto, entonces el perímetro calculado será elipsoidal y si no se ha establecido ningún elipsoide, entonces el perímetro calculado será planimétrico.</translation>
     </message>
     <message>
         <source>Contains functions which aggregate values over layers and fields.</source>
-        <translation type="vanished">Contiene funciones que agregan valores sobre capas y campos.</translation>
+        <translation>Contiene funciones que agregan valores sobre capas y campos.</translation>
     </message>
     <message>
         <source>Aggregates</source>
-        <translation type="vanished">Agregados</translation>
+        <translation>Agregados</translation>
     </message>
     <message>
         <source>This group contains expression functions for the creation and manipulation of arrays (also known as list data structures). The order of values within the array matters, in contrary to the 'map' data structure, where the order of key-value pairs is irrelevant and values are identified by their keys.</source>
-        <translation type="vanished">Este grupo contiene funciones de expresiones para la creación y manipulación de matrices (también conocidas como estructuras de datos en lista). El orden de los valores dentro de la matriz importa, a diferencia de la estructura de datos de "mapa", en donde el orden de pares clave-valor es irrelevante y los valores se identifican por sus claves.</translation>
+        <translation>Este grupo contiene funciones de expresiones para la creación y manipulación de matrices (también conocidas como estructuras de datos en lista). El orden de los valores dentro de la matriz importa, a diferencia de la estructura de datos de "mapa", en donde el orden de pares clave-valor es irrelevante y los valores se identifican por sus claves.</translation>
     </message>
     <message>
         <source>Arrays</source>
-        <translation type="vanished">Matrices</translation>
+        <translation>Matrices</translation>
     </message>
     <message>
         <source>Double-click to add field name to expression string.<br>Right-Click on field name to open context menu sample value loading options.</source>
-        <translation type="vanished">Doble clic para añadir un nombre de campo a la cadena de la expresión.<br>Clic derecho en el nombre del campo para abrir un menú contextual con opciones para cargar valores de muestra.</translation>
+        <translation>Doble clic para añadir un nombre de campo a la cadena de la expresión.<br>Clic derecho en el nombre del campo para abrir un menú contextual con opciones para cargar valores de muestra.</translation>
     </message>
     <message>
         <source>'ABC' ILIKE '_b_'</source>
-        <translation type="vanished">'ABC' ILIKE '_b_'</translation>
+        <translation>'ABC' ILIKE '_b_'</translation>
     </message>
     <message>
         <source>'ABC' ILIKE '_B_'</source>
-        <translation type="vanished">'ABC' ILIKE '_B_'</translation>
+        <translation>'ABC' ILIKE '_B_'</translation>
     </message>
     <message>
         <source>'ABCD' ILIKE '_b_'</source>
-        <translation type="vanished">'ABCD' ILIKE '_b_'</translation>
+        <translation>'ABCD' ILIKE '_b_'</translation>
     </message>
     <message>
         <source>'ABCD' ILIKE '_B_'</source>
-        <translation type="vanished">'ABCD' ILIKE '_B_'</translation>
+        <translation>'ABCD' ILIKE '_B_'</translation>
     </message>
     <message>
         <source>'ABCD' ILIKE '_b%'</source>
-        <translation type="vanished">'ABCD' ILIKE '_b%'</translation>
+        <translation>'ABCD' ILIKE '_b%'</translation>
     </message>
     <message>
         <source>'ABCD' ILIKE '_B%'</source>
-        <translation type="vanished">'ABCD' ILIKE '_B%'</translation>
+        <translation>'ABCD' ILIKE '_B%'</translation>
     </message>
     <message>
         <source>'ABCD' ILIKE '%b%'</source>
-        <translation type="vanished">'ABCD' ILIKE '%b%'</translation>
+        <translation>'ABCD' ILIKE '%b%'</translation>
     </message>
     <message>
         <source>'ABCD' ILIKE '%B%'</source>
-        <translation type="vanished">'ABCD' ILIKE '%B%'</translation>
+        <translation>'ABCD' ILIKE '%B%'</translation>
     </message>
     <message>
         <source>'ABC' LIKE '_B_'</source>
-        <translation type="vanished">'ABC' LIKE '_B_'</translation>
+        <translation>'ABC' LIKE '_B_'</translation>
     </message>
     <message>
         <source>'ABCD' LIKE '_B_'</source>
-        <translation type="vanished">'ABCD' LIKE '_B_'</translation>
+        <translation>'ABCD' LIKE '_B_'</translation>
     </message>
     <message>
         <source>'ABCD' LIKE '_B%'</source>
-        <translation type="vanished">'ABCD' LIKE '_B%'</translation>
+        <translation>'ABCD' LIKE '_B%'</translation>
     </message>
     <message>
         <source>'ABCD' LIKE '%B%'</source>
-        <translation type="vanished">'ABCD' LIKE '%B%'</translation>
+        <translation>'ABCD' LIKE '%B%'</translation>
     </message>
     <message>
         <source>'1%' LIKE '1\%'</source>
-        <translation type="vanished">'1%' LIKE '1\%'</translation>
+        <translation>'1%' LIKE '1\%'</translation>
     </message>
     <message>
         <source>'1_' LIKE '1\%'</source>
-        <translation type="vanished">'1_' LIKE '1\%'</translation>
+        <translation>'1_' LIKE '1\%'</translation>
     </message>
     <message>
         <source>Contains a list of map layers available in the current project.</source>
-        <translation type="vanished">Contiene una lista de capas de mapa disponibles en el proyecto actual.</translation>
+        <translation>Contiene una lista de capas de mapa disponibles en el proyecto actual.</translation>
     </message>
     <message>
         <source>Map Layers</source>
-        <translation type="vanished">Capas de mapa</translation>
+        <translation>Capas de mapa</translation>
     </message>
     <message>
         <source>This group contains expression functions for the creation and manipulation of 'map' data structures (also known as dictionary objects, key-value pairs, or associative arrays). One can assign values to given keys. The order of the key-value pairs in the map object is not relevant.</source>
-        <translation type="vanished">Este grupo contiene funciones de expresiones para la creación y manipulación de estructuras de datos de "mapa" (también conocidos como objetos de diccionario, pares clave-valor o matrices asociativas). Se pueden asignar valores a las claves dadas. El orden de los pares clave-valor en el objeto de mapa es irrelevante.</translation>
+        <translation>Este grupo contiene funciones de expresiones para la creación y manipulación de estructuras de datos de "mapa" (también conocidos como objetos de diccionario, pares clave-valor o matrices asociativas). Se pueden asignar valores a las claves dadas. El orden de los pares clave-valor en el objeto de mapa es irrelevante.</translation>
     </message>
     <message>
         <source>Maps</source>
-        <translation type="vanished">Mapas</translation>
+        <translation>Mapas</translation>
     </message>
     <message>
         <source>Contains a list of relations available in the current project.</source>
-        <translation type="vanished">Contiene una lista de relaciones disponibles en el proyecto actual.</translation>
+        <translation>Contiene una lista de relaciones disponibles en el proyecto actual.</translation>
     </message>
     <message>
         <source>Relations</source>
-        <translation type="vanished">Relaciones</translation>
+        <translation>Relaciones</translation>
     </message>
     <message>
         <source>optional filter expression to limit the features used for calculating the aggregate. Fields and geometry are from the features on the joined layer. The source feature can be accessed with the variable @parent.</source>
-        <translation type="vanished">expresión de filtrado opcional para limitar los objetos usados para calcular el agregado. Los campos y geometrías son de los objetos de la capa unida. Se puede acceder al objeto de origen con la variable @parent.</translation>
+        <translation>expresión de filtrado opcional para limitar los objetos usados para calcular el agregado. Los campos y geometrías son de los objetos de la capa unida. Se puede acceder al objeto de origen con la variable @parent.</translation>
     </message>
     <message>
         <source>aggregate(layer:='countries', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry(@parent) ) )</source>
-        <translation type="vanished">aggregate(layer:='países', aggregate:='max', expression:="código", filter:=intersects( $geometry, geometry(@parent) ) )</translation>
+        <translation>aggregate(layer:='países', aggregate:='max', expression:="código", filter:=intersects( $geometry, geometry(@parent) ) )</translation>
     </message>
     <message>
         <source>The country code of an intersecting country on the layer 'countries'</source>
-        <translation type="vanished">El código del país de un país que intersecte en la capa 'países'</translation>
+        <translation>El código del país de un país que intersecte en la capa 'países'</translation>
     </message>
     <message>
         <source>Returns the bisector angle (average angle) to the geometry for a specified vertex on a linestring geometry. Angles are in degrees clockwise from north.</source>
-        <translation type="vanished">Devuelve un ángulo bisectriz (ángulo medio) a la geometría para un vértice especificado en una geometría de cadena de línea. Los ángulos están en grados en sentido horario a partir del norte.</translation>
+        <translation>Devuelve un ángulo bisectriz (ángulo medio) a la geometría para un vértice especificado en una geometría de cadena de línea. Los ángulos están en grados en sentido horario a partir del norte.</translation>
     </message>
     <message>
         <source>a linestring geometry</source>
-        <translation type="vanished">una geometría de cadena de línea</translation>
+        <translation>una geometría de cadena de línea</translation>
     </message>
     <message>
         <source>vertex index, starting from 0</source>
-        <translation type="vanished">índice de vértice, comenzando desde 0</translation>
+        <translation>índice de vértice, comenzando desde 0</translation>
     </message>
     <message>
         <source>45.0</source>
-        <translation type="vanished">45.0</translation>
+        <translation>45.0</translation>
     </message>
     <message>
         <source>Returns an array containing all the values passed as parameter.</source>
-        <translation type="vanished">Devuelve una matriz que contiene todos los valores pasados como parámetros.</translation>
+        <translation>Devuelve una matriz que contiene todos los valores pasados como parámetros.</translation>
     </message>
     <message>
         <source>a value</source>
-        <translation type="vanished">un valor</translation>
+        <translation>un valor</translation>
     </message>
     <message>
         <source>Returns an array of aggregated values from a field or expression.</source>
-        <translation type="vanished">Devuelve una matriz de valores agregados a partir de un campo o expresión.</translation>
+        <translation>Devuelve una matriz de valores agregados a partir de un campo o expresión.</translation>
     </message>
     <message>
         <source>optional expression to use to group aggregate calculations</source>
-        <translation type="vanished">expresión opcional a usar para agrupar cálculos de agregados</translation>
+        <translation>expresión opcional a usar para agrupar cálculos de agregados</translation>
     </message>
     <message>
         <source>optional expression to use to filter features used to calculate aggregate</source>
-        <translation type="vanished">expresión opcional a usar para filtrar objetos utilizados para calcular el agregado</translation>
+        <translation>expresión opcional a usar para filtrar objetos utilizados para calcular el agregado</translation>
     </message>
     <message>
         <source>Returns an array with the given value added at the end.</source>
-        <translation type="vanished">Devuelve una matriz con el valor dado añadido al final.</translation>
+        <translation>Devuelve una matriz con el valor dado añadido al final.</translation>
     </message>
     <message>
         <source>an array</source>
-        <translation type="vanished">una matriz</translation>
+        <translation>una matriz</translation>
     </message>
     <message>
         <source>the value to add</source>
-        <translation type="vanished">el valor a añadir</translation>
+        <translation>el valor a añadir</translation>
     </message>
     <message>
         <source>Returns an array containing all the given arrays concatenated.</source>
-        <translation type="vanished">Devuelve una matriz que contiene todas las matrices dadas concatenadas.</translation>
+        <translation>Devuelve una matriz que contiene todas las matrices dadas concatenadas.</translation>
     </message>
     <message>
         <source>Returns true if an array contains the given value.</source>
-        <translation type="vanished">Devuelve verdadero si una matriz contiene el valor dado.</translation>
+        <translation>Devuelve verdadero si una matriz contiene el valor dado.</translation>
     </message>
     <message>
         <source>the value to search</source>
-        <translation type="vanished">el valor a buscar</translation>
+        <translation>el valor a buscar</translation>
     </message>
     <message>
         <source>Returns an array containing distinct values of the given array.</source>
-        <translation type="vanished">Devuelve una matriz que contiene los valores distintos de la matriz dada.</translation>
+        <translation>Devuelve una matriz que contiene los valores distintos de la matriz dada.</translation>
     </message>
     <message>
         <source>array_distinct</source>
-        <translation type="vanished">array_distinct</translation>
+        <translation>array_distinct</translation>
     </message>
     <message>
         <source>array_distinct(array(1,2,3,2,1))</source>
-        <translation type="vanished">array_distinct(array(1,2,3,2,1))</translation>
+        <translation>array_distinct(array(1,2,3,2,1))</translation>
     </message>
     <message>
         <source>array: 1,2,3</source>
-        <translation type="vanished">matriz: 1,2,3</translation>
+        <translation>matriz: 1,2,3</translation>
     </message>
     <message>
         <source>Returns the index (0 for the first one) of a value within an array. Returns -1 if the value is not found.</source>
-        <translation type="vanished">Devuelve el índice de un valor dentro de una matriz (0 para el primero). Devuelve -1 si no se encuentra el valor.</translation>
+        <translation>Devuelve el índice de un valor dentro de una matriz (0 para el primero). Devuelve -1 si no se encuentra el valor.</translation>
     </message>
     <message>
         <source>Returns the first value of an array.</source>
-        <translation type="vanished">Devuelve el primer valor de una matriz.</translation>
+        <translation>Devuelve el primer valor de una matriz.</translation>
     </message>
     <message>
         <source>'a'</source>
-        <translation type="vanished">'a'</translation>
+        <translation>'a'</translation>
     </message>
     <message>
         <source>Returns the Nth value (0 for the first one) of an array.</source>
-        <translation type="vanished">Devuelve el valor N de una matriz (0 para el primero).</translation>
+        <translation>Devuelve el valor N de una matriz (0 para el primero).</translation>
     </message>
     <message>
         <source>the index to get (0 based)</source>
-        <translation type="vanished">el índica a obtener (basado en 0)</translation>
+        <translation>el índica a obtener (basado en 0)</translation>
     </message>
     <message>
         <source>'b'</source>
-        <translation type="vanished">'b'</translation>
+        <translation>'b'</translation>
     </message>
     <message>
         <source>Returns an array with the given value added at the given position.</source>
-        <translation type="vanished">Devuelve una matriz con el valor dado añadido en la posición indicada.</translation>
+        <translation>Devuelve una matriz con el valor dado añadido en la posición indicada.</translation>
     </message>
     <message>
         <source>the position where to add (0 based)</source>
-        <translation type="vanished">la posición en la que añadir (basado en 0)</translation>
+        <translation>la posición en la que añadir (basado en 0)</translation>
     </message>
     <message>
         <source>Returns true if any element of array1 exists in array2.</source>
-        <translation type="vanished">Devuelve verdadero si un elemento de la matriz1 está presente en la matriz2</translation>
+        <translation>Devuelve verdadero si un elemento de la matriz1 está presente en la matriz2</translation>
     </message>
     <message>
         <source>another array</source>
-        <translation type="vanished">otra matriz</translation>
+        <translation>otra matriz</translation>
     </message>
     <message>
         <source>Returns the last value of an array.</source>
-        <translation type="vanished">Devuelve el último valor de una matriz.</translation>
+        <translation>Devuelve el último valor de una matriz.</translation>
     </message>
     <message>
         <source>'c'</source>
-        <translation type="vanished">'c'</translation>
+        <translation>'c'</translation>
     </message>
     <message>
         <source>Returns the number of elements of an array.</source>
-        <translation type="vanished">Devuelve el número de elementos de una matriz.</translation>
+        <translation>Devuelve el número de elementos de una matriz.</translation>
     </message>
     <message>
         <source>Returns an array with the given value added at the beginning.</source>
-        <translation type="vanished">Devuelve una matriz con el valor dado añadido al principio.</translation>
+        <translation>Devuelve una matriz con el valor dado añadido al principio.</translation>
     </message>
     <message>
         <source>Returns an array with all the entries of the given value removed.</source>
-        <translation type="vanished">Devuelve una matriz con todas las entradas del valor dado eliminadas.</translation>
+        <translation>Devuelve una matriz con todas las entradas del valor dado eliminadas.</translation>
     </message>
     <message>
         <source>the values to remove</source>
-        <translation type="vanished">los valores a eliminar</translation>
+        <translation>los valores a eliminar</translation>
     </message>
     <message>
         <source>Returns an array with the given index removed.</source>
-        <translation type="vanished">Devuelve una matriz con el índice dado eliminado.</translation>
+        <translation>Devuelve una matriz con el índice dado eliminado.</translation>
     </message>
     <message>
         <source>the position to remove (0 based)</source>
-        <translation type="vanished">la posición a eliminar (basado en 0)</translation>
+        <translation>la posición a eliminar (basado en 0)</translation>
     </message>
     <message>
         <source>Returns the given array with array values in reversed order.</source>
-        <translation type="vanished">Devuelve la matriz dada con los valores de la matriz en orden inverso.</translation>
+        <translation>Devuelve la matriz dada con los valores de la matriz en orden inverso.</translation>
     </message>
     <message>
         <source>Returns a portion of the array. The slice is defined by the start_pos and end_pos arguments.</source>
-        <translation type="vanished">Devuelve una porción de la matriz. El fragmento es definido por los argumentos start_pos y end_pos.</translation>
+        <translation>Devuelve una porción de la matriz. El fragmento es definido por los argumentos start_pos y end_pos.</translation>
     </message>
     <message>
         <source>the index of the start position of the slice (0 based). The start_pos index is included in the slice. If you use a negative start_pos, the index is counted from the end of the list (-1 based).</source>
-        <translation type="vanished">el índice de la posición inicial del fragmento (basado en 0). El índice de start_pos se incluye en el fragmento. Si se usa una start_pos negativa, el índice se cuenta desde el final de la lista (basado en -1).</translation>
+        <translation>el índice de la posición inicial del fragmento (basado en 0). El índice de start_pos se incluye en el fragmento. Si se usa una start_pos negativa, el índice se cuenta desde el final de la lista (basado en -1).</translation>
     </message>
     <message>
         <source>the index of the end position of the slice (0 based). The end_pos index is included in the slice. If you use a negative end_pos, the index is counted from the end of the list (-1 based).</source>
-        <translation type="vanished">el índice de la posición final del fragmento (basado en 0). El índice de end_pos se incluye en el fragmento. Si se usa una end_pos negativa, el índice se cuenta desde el final de la lista (basado en -1).</translation>
+        <translation>el índice de la posición final del fragmento (basado en 0). El índice de end_pos se incluye en el fragmento. Si se usa una end_pos negativa, el índice se cuenta desde el final de la lista (basado en -1).</translation>
     </message>
     <message>
         <source>Concatenates array elements into a string separated by a delimiter using and optional string for empty values.</source>
-        <translation type="vanished">Concatena elementos de una matriz en una cadena separada por un delimitador, utilizando una cadena opcional para valores vacíos.</translation>
+        <translation>Concatena elementos de una matriz en una cadena separada por un delimitador, utilizando una cadena opcional para valores vacíos.</translation>
     </message>
     <message>
         <source>array_to_string</source>
-        <translation type="vanished">array_to_string</translation>
+        <translation>array_to_string</translation>
     </message>
     <message>
         <source>the input array</source>
-        <translation type="vanished">la matriz de entrada</translation>
+        <translation>la matriz de entrada</translation>
     </message>
     <message>
         <source>the string delimiter used to separate concatenated array elements</source>
-        <translation type="vanished">el delimitador de cadena utilizado para separa los elementos de la matriz concatenados</translation>
+        <translation>el delimitador de cadena utilizado para separa los elementos de la matriz concatenados</translation>
     </message>
     <message>
         <source>the optional string to use as replacement for empty (zero length) matches</source>
-        <translation type="vanished">la cadena opcional usada como reemplazo para coincidencias vacías (longitud cero)</translation>
+        <translation>la cadena opcional usada como reemplazo para coincidencias vacías (longitud cero)</translation>
     </message>
     <message>
         <source>array_to_string(array('1','2','3'),',')</source>
-        <translation type="vanished">array_to_string(array('1','2','3'),',')</translation>
+        <translation>array_to_string(array('1','2','3'),',')</translation>
     </message>
     <message>
         <source>'1,2,3'</source>
-        <translation type="vanished">'2.12' {1,2,3'?}</translation>
+        <translation>'2.12' {1,2,3'?}</translation>
     </message>
     <message>
         <source>array_to_string(array('1','','3'),',','0')</source>
-        <translation type="vanished">array_to_string(array('1','','3'),',','0')</translation>
+        <translation>array_to_string(array('1','','3'),',','0')</translation>
     </message>
     <message>
         <source>'1,0,3'</source>
-        <translation type="vanished">'2.12' {1,0,3'?}</translation>
+        <translation>'2.12' {1,0,3'?}</translation>
     </message>
     <message>
         <source>boundary</source>
-        <translation type="vanished">contorno</translation>
+        <translation>contorno</translation>
     </message>
     <message>
         <source>Returns the character associated with a unicode code.</source>
-        <translation type="vanished">Devuelve el carácter asociado con un código unicode.</translation>
+        <translation>Devuelve el carácter asociado con un código unicode.</translation>
     </message>
     <message>
         <source>char</source>
-        <translation type="vanished">char</translation>
+        <translation>char</translation>
     </message>
     <message>
         <source>a unicode code number</source>
-        <translation type="vanished">un número de código unicode</translation>
+        <translation>un número de código unicode</translation>
     </message>
     <message>
         <source>'Q'</source>
-        <translation type="vanished">'Q'</translation>
+        <translation>'Q'</translation>
     </message>
     <message>
         <source>any valid expression or value, regardless of type.</source>
-        <translation type="vanished">cualquier expresión o valor válidos, sin importar el tipo.</translation>
+        <translation>cualquier expresión o valor válidos, sin importar el tipo.</translation>
     </message>
     <message>
         <source>Returns the multipart geometry of aggregated geometries from an expression</source>
-        <translation type="vanished">Devuelve la geometría multiparte de geometrías agregadas a partir una expresión.</translation>
+        <translation>Devuelve la geometría multiparte de geometrías agregadas a partir una expresión.</translation>
     </message>
     <message>
         <source>geometry expression to aggregate</source>
-        <translation type="vanished">expresión de geometría a agregar.</translation>
+        <translation>expresión de geometría a agregar.</translation>
     </message>
     <message>
         <source>multipart geometry of aggregated geometries</source>
-        <translation type="vanished">geometría multiparte de geometrías agregadas</translation>
+        <translation>geometría multiparte de geometrías agregadas</translation>
     </message>
     <message>
         <source>Returns a specific component from a color string, e.g., the red component or alpha component.</source>
-        <translation type="vanished">Devuelve un componente específico de una cadena de color, por ejemplo el componente rojo o el alfa.</translation>
+        <translation>Devuelve un componente específico de una cadena de color, por ejemplo el componente rojo o el alfa.</translation>
     </message>
     <message>
         <source>optional string to use to join values</source>
-        <translation type="vanished">cadena opcional a usar para unir valores</translation>
+        <translation>cadena opcional a usar para unir valores</translation>
     </message>
     <message>
         <source>concatenate("town_name",group_by:="state",concatenator:=',')</source>
-        <translation type="vanished">concatenar("nombre_ciudad",agrupar_por:="estado",concatenador:=',')</translation>
+        <translation>concatenar("nombre_ciudad",agrupar_por:="estado",concatenador:=',')</translation>
     </message>
     <message>
         <source>comma separated list of town_names, grouped by state field</source>
-        <translation type="vanished">lista separada por comas de nombres_ciudad, agrupados por el campo estado</translation>
+        <translation>lista separada por comas de nombres_ciudad, agrupados por el campo estado</translation>
     </message>
     <message>
         <source>Returns the count of matching features.</source>
-        <translation type="vanished">Devuelve el recuento de objetos coincidentes.</translation>
+        <translation>Devuelve el recuento de objetos coincidentes.</translation>
     </message>
     <message>
         <source>count</source>
-        <translation type="vanished">Número</translation>
+        <translation>Número</translation>
     </message>
     <message>
         <source>count("stations",group_by:="state")</source>
-        <translation type="vanished">contar("estaciones",agrupar_por:="estado")</translation>
+        <translation>contar("estaciones",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>Returns the count of distinct values.</source>
-        <translation type="vanished">Devuelve el recuento de valores distintos.</translation>
+        <translation>Devuelve el recuento de valores distintos.</translation>
     </message>
     <message>
         <source>count_distinct("stations",group_by:="state")</source>
-        <translation type="vanished">contar_distintos("estaciones",agrupar_por:="estado")</translation>
+        <translation>contar_distintos("estaciones",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>count of distinct stations values, grouped by state field</source>
-        <translation type="vanished">cuenta de valores distintos de estaciones, agrupados por el campo estado</translation>
+        <translation>cuenta de valores distintos de estaciones, agrupados por el campo estado</translation>
     </message>
     <message>
         <source>Returns the count of missing (null) values.</source>
-        <translation type="vanished">Devuelve el recuento de valores que faltan (nulo).</translation>
+        <translation>Devuelve el recuento de valores que faltan (nulo).</translation>
     </message>
     <message>
         <source>count_missing("stations",group_by:="state")</source>
-        <translation type="vanished">contar_faltantes("estaciones",agrupar_por:="estado")</translation>
+        <translation>contar_faltantes("estaciones",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>count of missing (null) station values, grouped by state field</source>
-        <translation type="vanished">cuenta de valores que faltan (nulos) de estaciones, agrupados por el campo estado</translation>
+        <translation>cuenta de valores que faltan (nulos) de estaciones, agrupados por el campo estado</translation>
     </message>
     <message>
         <source>declare whether the color ramp is discrete</source>
-        <translation type="vanished">declarar si la rampa de color es discreta</translation>
+        <translation>declarar si la rampa de color es discreta</translation>
     </message>
     <message>
         <source>Returns the distance along the geometry to a specified vertex.</source>
-        <translation type="vanished">Devuelve la distancia a lo largo de la geometría a un vértice especificado.</translation>
+        <translation>Devuelve la distancia a lo largo de la geometría a un vértice especificado.</translation>
     </message>
     <message>
         <source>distance_to_vertex</source>
-        <translation type="vanished">distance_to_vertex</translation>
+        <translation>distance_to_vertex</translation>
     </message>
     <message>
         <source>10.0</source>
-        <translation type="vanished">10.0</translation>
+        <translation>10.0</translation>
     </message>
     <message>
         <source>Gets an environment variable and returns its content as a string. If the variable is not found, `NULL` will be returned. This is handy to inject system specific configuration like drive letters or path prefixes. Definition of environment variables depends on the operating system, please check with your system administrator or the operating system documentation how this can be set.</source>
-        <translation type="vanished">Obtiene una variable de entorno y devuelve su contenido como cadena. Si la variable no se encuentra devuelve "NULO". Esto es útil para introducir configuraciones específicas del sistema, como la letra de unidad o prefijos de rutas. La definición de variables de entorno depende del sistema operativo, por favor consulte cómo se puede establecer con el administrador de su equipo o en la documentación del sistema operativo.</translation>
+        <translation>Obtiene una variable de entorno y devuelve su contenido como cadena. Si la variable no se encuentra devuelve "NULO". Esto es útil para introducir configuraciones específicas del sistema, como la letra de unidad o prefijos de rutas. La definición de variables de entorno depende del sistema operativo, por favor consulte cómo se puede establecer con el administrador de su equipo o en la documentación del sistema operativo.</translation>
     </message>
     <message>
         <source>The name of the environment variable which should be retrieved.</source>
-        <translation type="vanished">El nombre de la variable de entorno que de debe recuperar.</translation>
+        <translation>El nombre de la variable de entorno que de debe recuperar.</translation>
     </message>
     <message>
         <source>'Z:'</source>
-        <translation type="vanished">'Z:'</translation>
+        <translation>'Z:'</translation>
     </message>
     <message>
         <source>Return the interval in milliseconds between the unix epoch and a given date value.</source>
-        <translation type="vanished">Devuelve el intervalo en milisegundos entre el tiempo Unix y el valor de la fecha dada.</translation>
+        <translation>Devuelve el intervalo en milisegundos entre el tiempo Unix y el valor de la fecha dada.</translation>
     </message>
     <message>
         <source>Extends the start and end of a linestring geometry by a specified amount. Lines are extended using the bearing of the first and last segment in the line. Distances are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Extiende el inicio y final de una geometría de cadena de líneas en una cantidad especificada. Las líneas se extienden usando el rumbo del primer y último segmentos de la línea. Las distancias están el Sistema de Referencia Espacial de esta geometría.</translation>
+        <translation>Extiende el inicio y final de una geometría de cadena de líneas en una cantidad especificada. Las líneas se extienden usando el rumbo del primer y último segmentos de la línea. Las distancias están el Sistema de Referencia Espacial de esta geometría.</translation>
     </message>
     <message>
         <source>extend</source>
-        <translation type="vanished">extend</translation>
+        <translation>extend</translation>
     </message>
     <message>
         <source>a (multi)linestring geometry</source>
-        <translation type="vanished">una geometría de (multi)cadena de líneas</translation>
+        <translation>una geometría de (multi)cadena de líneas</translation>
     </message>
     <message>
         <source>distance to extend the start of the line</source>
-        <translation type="vanished">distancia a extender el inicio de la línea</translation>
+        <translation>distancia a extender el inicio de la línea</translation>
     </message>
     <message>
         <source>distance to extend the end of the line.</source>
-        <translation type="vanished">distancia a extender el final de la línea.</translation>
+        <translation>distancia a extender el final de la línea.</translation>
     </message>
     <message>
         <source>geom_to_wkt(extend(geom_from_wkt('LineString(0 0, 1 0, 1 1)'),1,2))</source>
-        <translation type="vanished">geom_to_wkt(extend(geom_from_wkt('LineString(0 0, 1 0, 1 1)'),1,2))</translation>
+        <translation>geom_to_wkt(extend(geom_from_wkt('LineString(0 0, 1 0, 1 1)'),1,2))</translation>
     </message>
     <message>
         <source>LineString (-1 0, 1 0, 1 3)</source>
-        <translation type="vanished">LineString (-1 0, 1 0, 1 3)</translation>
+        <translation>LineString (-1 0, 1 0, 1 3)</translation>
     </message>
     <message>
         <source>Returns the feature with an id on a layer.</source>
-        <translation type="vanished">Devuelve el objeto de una capa con una ID.</translation>
+        <translation>Devuelve el objeto de una capa con una ID.</translation>
     </message>
     <message>
         <source>layer, layer name or layer id</source>
-        <translation type="vanished">capa, nombre de capa o ID de capa</translation>
+        <translation>capa, nombre de capa o ID de capa</translation>
     </message>
     <message>
         <source>the id of the feature which should be returned</source>
-        <translation type="vanished">la ID del objeto que se debe devolver</translation>
+        <translation>la ID del objeto que se debe devolver</translation>
     </message>
     <message>
         <source>get_feature('streets', 1)</source>
-        <translation type="vanished">get_feature('calles', 1)</translation>
+        <translation>get_feature('calles', 1)</translation>
     </message>
     <message>
         <source>the feature with the id 1 on the layer "streets"</source>
-        <translation type="vanished">el objeto con ID 1 de la capa "calles"</translation>
+        <translation>el objeto con ID 1 de la capa "calles"</translation>
     </message>
     <message>
         <source>Returns the Hausdorff distance between two geometries. This is basically a measure of how similar or dissimilar 2 geometries are, with a lower distance indicating more similar geometries.<br>The function can be executed with an optional densify fraction argument. If not specified, an approximation to the standard Hausdorff distance is used. This approximation is exact or close enough for a large subset of useful cases. Examples of these are:<br><br><l [...]
-        <translation type="vanished">Devuelve la distancia de Hausdorff entre dos geometrías. Esto es básicamente una medida de cómo de similares o diferentes son dos geometrías, con una distancia menor indicando geometrías más parecidas.<br>La función se puede ejecutar con un argumento fracción de densificación opcional. Si no se especifica se usará una aproximación de la distancia estándar de Hausdorff. Esta aproximación es exacta o suficientemente aproximada para un gran subconj [...]
+        <translation>Devuelve la distancia de Hausdorff entre dos geometrías. Esto es básicamente una medida de cómo de similares o diferentes son dos geometrías, con una distancia menor indicando geometrías más parecidas.<br>La función se puede ejecutar con un argumento fracción de densificación opcional. Si no se especifica se usará una aproximación de la distancia estándar de Hausdorff. Esta aproximación es exacta o suficientemente aproximada para un gran subconjunto de casos út [...]
     </message>
     <message>
         <source>Returns the inclination measured from the zenith (0) to the nadir (180) on point_a to point_b.</source>
-        <translation type="vanished">Devuelve la inclinación medida desde el cénit (0) al nadir (180) en el punto A al punto B.</translation>
+        <translation>Devuelve la inclinación medida desde el cénit (0) al nadir (180) en el punto A al punto B.</translation>
     </message>
     <message>
         <source>90.0</source>
-        <translation type="vanished">90.0</translation>
+        <translation>90.0</translation>
     </message>
     <message>
         <source>Returns the calculated inter quartile range from a field or expression.</source>
-        <translation type="vanished">Devuelve el rango de intercuartil calculado a partir de un campo o expresión.</translation>
+        <translation>Devuelve el rango de intercuartil calculado a partir de un campo o expresión.</translation>
     </message>
     <message>
         <source>inter quartile range of population value, grouped by state field</source>
-        <translation type="vanished">rango de intercuartil del valor de población, agrupado por el campo estado</translation>
+        <translation>rango de intercuartil del valor de población, agrupado por el campo estado</translation>
     </message>
     <message>
         <source>Returns true if a specified layer is visible.</source>
-        <translation type="vanished">Devuelve verdadero si la capa especificada es visible.</translation>
+        <translation>Devuelve verdadero si la capa especificada es visible.</translation>
     </message>
     <message>
         <source>Returns if a feature is selected. If called with no parameters checks the current feature.</source>
-        <translation type="vanished">Devuelve si un objeto está seleccionado. Si se llama sin parámetros comprueba el objeto actual.</translation>
+        <translation>Devuelve si un objeto está seleccionado. Si se llama sin parámetros comprueba el objeto actual.</translation>
     </message>
     <message>
         <source>is_selected</source>
-        <translation type="vanished">está_seleccionado</translation>
+        <translation>está_seleccionado</translation>
     </message>
     <message>
         <source>The feature which should be checked for selection.</source>
-        <translation type="vanished">El objeto que se debería comprobar si está o no seleccionado.</translation>
+        <translation>El objeto que se debería comprobar si está o no seleccionado.</translation>
     </message>
     <message>
         <source>The layer (or its id or name) on which the selection will be checked.</source>
-        <translation type="vanished">La capa (o su ID o nombre) sobre la que se comprobará la selección.</translation>
+        <translation>La capa (o su ID o nombre) sobre la que se comprobará la selección.</translation>
     </message>
     <message>
         <source>is_selected()</source>
-        <translation type="vanished">está_seleccionado()</translation>
+        <translation>está_seleccionado()</translation>
     </message>
     <message>
         <source>True if the current feature is selected.</source>
-        <translation type="vanished">Verdadero si el objeto actual está seleccionado.</translation>
+        <translation>Verdadero si el objeto actual está seleccionado.</translation>
     </message>
     <message>
         <source>is_selected(get_feature('streets', 'name', "street_name"), 'streets')</source>
-        <translation type="vanished">is_selected(get_feature('calles', 'nombre', "nombre_calle"), 'calles')</translation>
+        <translation>is_selected(get_feature('calles', 'nombre', "nombre_calle"), 'calles')</translation>
     </message>
     <message>
         <source>True if the current building's street is selected.</source>
-        <translation type="vanished">Verdadero si la calle del edificio actual está seleccionada.</translation>
+        <translation>Verdadero si la calle del edificio actual está seleccionada.</translation>
     </message>
     <message>
         <source>Returns a map of variables from a composer item inside this composition.</source>
-        <translation type="vanished">Devuelve un mapa de variables a partir de un elemento del diseñador dentro de esta composición.</translation>
+        <translation>Devuelve un mapa de variables a partir de un elemento del diseñador dentro de esta composición.</translation>
     </message>
     <message>
         <source>item_variables</source>
-        <translation type="vanished">item_variables</translation>
+        <translation>item_variables</translation>
     </message>
     <message>
         <source>composer item ID</source>
-        <translation type="vanished">ID del elemento del diseñador</translation>
+        <translation>ID del elemento del diseñador</translation>
     </message>
     <message>
         <source>map_get(item_variables('main_map'), 'map_scale')</source>
-        <translation type="vanished">map_get(item_variables('mapa_principal'), 'escala_de_mapa')</translation>
+        <translation>map_get(item_variables('mapa_principal'), 'escala_de_mapa')</translation>
     </message>
     <message>
         <source>2000</source>
-        <translation type="vanished">2000</translation>
+        <translation>2000</translation>
     </message>
     <message>
         <source>a string corresponding to the property to return. Valid options are:<br /><ul><li>name: layer name</li><li>id: layer ID</li><li>title: metadata title string</li><li>abstract: metadata abstract string</li><li>keywords: metadata keywords</li><li>data_url: metadata URL</li><li>attribution: metadata attribution string</li><li>attribution_url: metadata attribution URL</li&g [...]
-        <translation type="vanished">Una cadena que corresponda a la propiedad a devolver. Las opciones válidas son:<br /><ul><li>name: nombre de la capa</li><li>id: ID de la capa</li><li>title: cadena de título de los metadatos</li><li>abstract: cadena resumen de los metadatos</li><li>keywords: palabras clave de los metadatos</li><li>data_url: URL de los metadatos</li><li>attribution: cadena de atr [...]
+        <translation>Una cadena que corresponda a la propiedad a devolver. Las opciones válidas son:<br /><ul><li>name: nombre de la capa</li><li>id: ID de la capa</li><li>title: cadena de título de los metadatos</li><li>abstract: cadena resumen de los metadatos</li><li>keywords: palabras clave de los metadatos</li><li>data_url: URL de los metadatos</li><li>attribution: cadena de atribución de los m [...]
     </message>
     <message>
         <source>Returns the angle parallel to the geometry at a specified distance along a linestring geometry. Angles are in degrees clockwise from north.</source>
-        <translation type="vanished">Devuelve el ángulo paralelo a la geometría a una distancia especificada a lo largo de una geometría cadena de líneas (linestring). Los ángulos están en grados en sentido horario desde el Norte.</translation>
+        <translation>Devuelve el ángulo paralelo a la geometría a una distancia especificada a lo largo de una geometría cadena de líneas (linestring). Los ángulos están en grados en sentido horario desde el Norte.</translation>
     </message>
     <message>
         <source>distance along line to interpolate angle at</source>
-        <translation type="vanished">distancia a lo largo de la línea a la que interpolar el ángulo</translation>
+        <translation>distancia a lo largo de la línea a la que interpolar el ángulo</translation>
     </message>
     <message>
         <source>Returns the point interpolated by a specified distance along a linestring geometry.</source>
-        <translation type="vanished">Devuelve el punto interpolado a una distancia especificada a lo largo de una geometría cadena de líneas (linestring).</translation>
+        <translation>Devuelve el punto interpolado a una distancia especificada a lo largo de una geometría cadena de líneas (linestring).</translation>
     </message>
     <message>
         <source>line_interpolate_point</source>
-        <translation type="vanished">line_interpolate_point</translation>
+        <translation>line_interpolate_point</translation>
     </message>
     <message>
         <source>distance along line to interpolate</source>
-        <translation type="vanished">distancia a lo largo de la línea a la que interpolar</translation>
+        <translation>distancia a lo largo de la línea a la que interpolar</translation>
     </message>
     <message>
         <source>Returns the distance along a linestring corresponding to the closest position the linestring comes to a specified point geometry.</source>
-        <translation type="vanished">Devuelve la distancia a lo largo de un cadena de líneas que corresponde a la posición más cercana a la que llega la línea de una geometría de punto especificada.</translation>
+        <translation>Devuelve la distancia a lo largo de un cadena de líneas que corresponde a la posición más cercana a la que llega la línea de una geometría de punto especificada.</translation>
     </message>
     <message>
         <source>line_locate_point</source>
-        <translation type="vanished">line_locate_point</translation>
+        <translation>line_locate_point</translation>
     </message>
     <message>
         <source>point geometry to locate closest position on linestring to</source>
-        <translation type="vanished">geometría de punto a la que encontrar la posición más cercana desde la cadena de líneas</translation>
+        <translation>geometría de punto a la que encontrar la posición más cercana desde la cadena de líneas</translation>
     </message>
     <message>
         <source>5.0</source>
-        <translation type="vanished">5.0</translation>
+        <translation>5.0</translation>
     </message>
     <message>
         <source>Returns a LineString or MultiLineString geometry, where any connected LineStrings from the input geometry have been merged into a single linestring. This function will return null if passed a geometry which is not a LineString/MultiLineString.</source>
-        <translation type="vanished">Devuelve una cadena de líneas o multicadena de líneas en la que cualquier cadena de líneas conectada desde la geometría de entrada se ha combinado en una única cadena de líneas. Esta función devolverá nulo si se pasa una geometría que no es una cadena de líneas/multicadena de líneas.</translation>
+        <translation>Devuelve una cadena de líneas o multicadena de líneas en la que cualquier cadena de líneas conectada desde la geometría de entrada se ha combinado en una única cadena de líneas. Esta función devolverá nulo si se pasa una geometría que no es una cadena de líneas/multicadena de líneas.</translation>
     </message>
     <message>
         <source>line_merge</source>
-        <translation type="vanished">line_merge</translation>
+        <translation>line_merge</translation>
     </message>
     <message>
         <source>a LineString/MultiLineString geometry</source>
-        <translation type="vanished">una geometría cadena de líneas/multicadena de líneas</translation>
+        <translation>una geometría cadena de líneas/multicadena de líneas</translation>
     </message>
     <message>
         <source>Returns the longest common substring between two strings. This substring is the longest string that is a substring of the two input strings. For example, the longest common substring of "ABABC" and "BABCA" is "ABC". The substring is case sensitive.</source>
-        <translation type="vanished">Devuelve la subcadena común más larga entre dos cadenas. Esta subcadena es la más larga que es una subcadena de las dos cadenas de entrada. Por ejemplo, la subcadena más larga común de "ABABC" y "BABCA" es "ABC". La subcadena distingue mayúsculas/minúsculas.</translation>
+        <translation>Devuelve la subcadena común más larga entre dos cadenas. Esta subcadena es la más larga que es una subcadena de las dos cadenas de entrada. Por ejemplo, la subcadena más larga común de "ABABC" y "BABCA" es "ABC". La subcadena distingue mayúsculas/minúsculas.</translation>
     </message>
     <message>
         <source>Returns the aggregate majority of values (most commonly occurring value) from a field or expression.</source>
-        <translation type="vanished">Devuelve la mayoría agregada de los valores (valores que aparecen de forma más común) de un campo o expresión.</translation>
+        <translation>Devuelve la mayoría agregada de los valores (valores que aparecen de forma más común) de un campo o expresión.</translation>
     </message>
     <message>
         <source>majority</source>
-        <translation type="vanished">mayoría</translation>
+        <translation>mayoría</translation>
     </message>
     <message>
         <source>majority("class",group_by:="state")</source>
-        <translation type="vanished">mayoría("clase",agrupar_por:="estado")</translation>
+        <translation>mayoría("clase",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>most commonly occurring class value, grouped by state field</source>
-        <translation type="vanished">valor de clase que ocurre con más frecuencia, agrupado por el campo estado</translation>
+        <translation>valor de clase que ocurre con más frecuencia, agrupado por el campo estado</translation>
     </message>
     <message>
         <source>Creates a circular polygon.</source>
-        <translation type="vanished">Crea un polígono circular.</translation>
+        <translation>Crea un polígono circular.</translation>
     </message>
     <message>
         <source>center point of the circle</source>
-        <translation type="vanished">punto centro del círculo</translation>
+        <translation>punto centro del círculo</translation>
     </message>
     <message>
         <source>radius of the circle</source>
-        <translation type="vanished">radio del círculo</translation>
+        <translation>radio del círculo</translation>
     </message>
     <message>
         <source>optional argument for polygon segmentation. By default this value is 36</source>
-        <translation type="vanished">argumento opcional para la segmentación de polígonos. Por omisión, este valor es 36.</translation>
+        <translation>argumento opcional para la segmentación de polígonos. Por omisión, este valor es 36.</translation>
     </message>
     <message>
         <source>Creates an elliptical polygon.</source>
-        <translation type="vanished">Crea un polígono elíptico.</translation>
+        <translation>Crea un polígono elíptico.</translation>
     </message>
     <message>
         <source>center point of the ellipse</source>
-        <translation type="vanished">punto centro de la elipse</translation>
+        <translation>punto centro de la elipse</translation>
     </message>
     <message>
         <source>semi-major axis of the ellipse</source>
-        <translation type="vanished">semieje mayor de la elipse</translation>
+        <translation>semieje mayor de la elipse</translation>
     </message>
     <message>
         <source>semi-minor axis of the ellipse</source>
-        <translation type="vanished">semieje menor de la elipse</translation>
+        <translation>semieje menor de la elipse</translation>
     </message>
     <message>
         <source>orientation of the ellipse</source>
-        <translation type="vanished">orientación de la elipse</translation>
+        <translation>orientación de la elipse</translation>
     </message>
     <message>
         <source>optional m value of point</source>
-        <translation type="vanished">valor m opcional de punto</translation>
+        <translation>valor m opcional de punto</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_point(2,4))</source>
-        <translation type="vanished">geom_to_wkt(make_point(2,4))</translation>
+        <translation>geom_to_wkt(make_point(2,4))</translation>
     </message>
     <message>
         <source>'Point (2 4)'</source>
-        <translation type="vanished">'Point (2 4)'</translation>
+        <translation>'Point (2 4)'</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_point(2,4,6))</source>
-        <translation type="vanished">geom_to_wkt(make_point(2,4,6))</translation>
+        <translation>geom_to_wkt(make_point(2,4,6))</translation>
     </message>
     <message>
         <source>'PointZ (2 4 6)'</source>
-        <translation type="vanished">'PointZ (2 4 6)'</translation>
+        <translation>'PointZ (2 4 6)'</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_point(2,4,6,8))</source>
-        <translation type="vanished">geom_to_wkt(make_point(2,4,6,8))</translation>
+        <translation>geom_to_wkt(make_point(2,4,6,8))</translation>
     </message>
     <message>
         <source>'PointZM (2 4 6 8)'</source>
-        <translation type="vanished">'PointZM (2 4 6 8)'</translation>
+        <translation>'PointZM (2 4 6 8)'</translation>
     </message>
     <message>
         <source>Creates a point geometry from an x, y coordinate and m value.</source>
-        <translation type="vanished">Crea una geometría de punto a partir de una coordenada X, Y y un valor m.</translation>
+        <translation>Crea una geometría de punto a partir de una coordenada X, Y y un valor m.</translation>
     </message>
     <message>
         <source>make_point_m</source>
-        <translation type="vanished">make_point_m</translation>
+        <translation>make_point_m</translation>
     </message>
     <message>
         <source>m value of point</source>
-        <translation type="vanished">valor m de punto</translation>
+        <translation>valor m de punto</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_point_m(2,4,6))</source>
-        <translation type="vanished">geom_to_wkt(make_point_m(2,4,6))</translation>
+        <translation>geom_to_wkt(make_point_m(2,4,6))</translation>
     </message>
     <message>
         <source>'PointM (2 4 6)'</source>
-        <translation type="vanished">'PointM (2 4 6)'</translation>
+        <translation>'PointM (2 4 6)'</translation>
     </message>
     <message>
         <source>Creates a polygon geometry from an outer ring and optional series of inner ring geometries.</source>
-        <translation type="vanished">Crea una geometría de polígono a partir de un anillo exterior y series opcionales de geometrías interiores de anillo.</translation>
+        <translation>Crea una geometría de polígono a partir de un anillo exterior y series opcionales de geometrías interiores de anillo.</translation>
     </message>
     <message>
         <source>make_polygon</source>
-        <translation type="vanished">make_polygon</translation>
+        <translation>make_polygon</translation>
     </message>
     <message>
         <source>closed line geometry for polygon's outer ring</source>
-        <translation type="vanished">geometría de línea cerrada para anillo exterior del polígono</translation>
+        <translation>geometría de línea cerrada para anillo exterior del polígono</translation>
     </message>
     <message>
         <source>optional closed line geometry for inner ring</source>
-        <translation type="vanished">geometría de línea cerrada opcional para anillo interior</translation>
+        <translation>geometría de línea cerrada opcional para anillo interior</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )')))</source>
-        <translation type="vanished">geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )')))</translation>
+        <translation>geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )')))</translation>
     </message>
     <message>
         <source>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</source>
-        <translation type="vanished">'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</translation>
+        <translation>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))'</translation>
     </message>
     <message>
         <source>geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )'),geom_from_wkt('LINESTRING( 0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1 )'),geom_from_wkt('LINESTRING( 0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8 )')))</source>
-        <translation type="vanished">geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )'),geom_from_wkt('LINESTRING( 0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1 )'),geom_from_wkt('LINESTRING( 0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8 )')))</translation>
+        <translation>geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )'),geom_from_wkt('LINESTRING( 0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1 )'),geom_from_wkt('LINESTRING( 0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8 )')))</translation>
     </message>
     <message>
         <source>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0),(0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1),(0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8))'</source>
-        <translation type="vanished">'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0),(0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1),(0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8))'</translation>
+        <translation>'Polygon ((0 0, 0 1, 1 1, 1 0, 0 0),(0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1),(0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8))'</translation>
     </message>
     <message>
         <source>Creates a regular polygon.</source>
-        <translation type="vanished">Crea un polígono regular.</translation>
+        <translation>Crea un polígono regular.</translation>
     </message>
     <message>
         <source>center of the regular polygon</source>
-        <translation type="vanished">centro del polígono regular</translation>
+        <translation>centro del polígono regular</translation>
     </message>
     <message>
         <source>second point. The first if the regular polygon is inscribed. The midpoint of the first side if the regular polygon is circumscribed.</source>
-        <translation type="vanished">segundo punto. El primero si el polígono regular es inscrito. El punto central de la primera cara si el polígono regular es circunscrito.</translation>
+        <translation>segundo punto. El primero si el polígono regular es inscrito. El punto central de la primera cara si el polígono regular es circunscrito.</translation>
     </message>
     <message>
         <source>Number of sides/edges of the regular polygon</source>
-        <translation type="vanished">Número de caras/bordes del polígono regular</translation>
+        <translation>Número de caras/bordes del polígono regular</translation>
     </message>
     <message>
         <source>Optional argument to construct the regular polygon. By default this value is 0. Value can be 0 (inscribed) or 1 (circumscribed)</source>
-        <translation type="vanished">Argumento opcional para construir el polígono regular. Por omisión este valor es 0. El valor puede ser 0 (inscrito) o 1 (circunscrito).</translation>
+        <translation>Argumento opcional para construir el polígono regular. Por omisión este valor es 0. El valor puede ser 0 (inscrito) o 1 (circunscrito).</translation>
     </message>
     <message>
         <source>Returns a map containing all the keys and values passed as pair of parameters.</source>
-        <translation type="vanished">Devuelve un mapa que contiene todas las claves y valores pasados como pares de parámetros.</translation>
+        <translation>Devuelve un mapa que contiene todas las claves y valores pasados como pares de parámetros.</translation>
     </message>
     <message>
         <source>map</source>
-        <translation type="vanished">map</translation>
+        <translation>map</translation>
     </message>
     <message>
         <source>a key (string)</source>
-        <translation type="vanished">una clave (cadena)</translation>
+        <translation>una clave (cadena)</translation>
     </message>
     <message>
         <source>map('1','one','2', 'two')</source>
-        <translation type="vanished">map('1','uno','2', 'dos')</translation>
+        <translation>map('1','uno','2', 'dos')</translation>
     </message>
     <message>
         <source>map: 1: 'one', 2: 'two'</source>
-        <translation type="vanished">map: 1: 'uno', 2: 'dos'</translation>
+        <translation>map: 1: 'uno', 2: 'dos'</translation>
     </message>
     <message>
         <source>Returns all the keys of a map as an array.</source>
-        <translation type="vanished">Devuelve todas las claves de un mapa como una matriz.</translation>
+        <translation>Devuelve todas las claves de un mapa como una matriz.</translation>
     </message>
     <message>
         <source>map_akeys</source>
-        <translation type="vanished">map_akeys</translation>
+        <translation>map_akeys</translation>
     </message>
     <message>
         <source>a map</source>
-        <translation type="vanished">un mapa</translation>
+        <translation>un mapa</translation>
     </message>
     <message>
         <source>map_akeys(map('1','one','2','two'))</source>
-        <translation type="vanished">map_akeys(map('1','uno','2','dos'))</translation>
+        <translation>map_akeys(map('1','uno','2','dos'))</translation>
     </message>
     <message>
         <source>array: '1', '2'</source>
-        <translation type="vanished">matriz: '1', '2'</translation>
+        <translation>matriz: '1', '2'</translation>
     </message>
     <message>
         <source>Returns all the values of a map as an array.</source>
-        <translation type="vanished">Devuelve todos los valores de un mapa como una matriz.</translation>
+        <translation>Devuelve todos los valores de un mapa como una matriz.</translation>
     </message>
     <message>
         <source>map_avals</source>
-        <translation type="vanished">map_avals</translation>
+        <translation>map_avals</translation>
     </message>
     <message>
         <source>map_avals(map('1','one','2','two'))</source>
-        <translation type="vanished">map_avals(map('1','uno','2','dos'))</translation>
+        <translation>map_avals(map('1','uno','2','dos'))</translation>
     </message>
     <message>
         <source>array: 'one', 'two'</source>
-        <translation type="vanished">matriz: 'uno', 'dos'</translation>
+        <translation>matriz: 'uno', 'dos'</translation>
     </message>
     <message>
         <source>Returns a map containing all the entries of the given maps. If two maps contain the same key, the value of the second map is taken.</source>
-        <translation type="vanished">Devuelve un mapa que contiene todas las entradas de los mapas dados. Si dos mapas contienen la misma clave, se toma el valor del segundo mapa.</translation>
+        <translation>Devuelve un mapa que contiene todas las entradas de los mapas dados. Si dos mapas contienen la misma clave, se toma el valor del segundo mapa.</translation>
     </message>
     <message>
         <source>map_concat</source>
-        <translation type="vanished">map_concat</translation>
+        <translation>map_concat</translation>
     </message>
     <message>
         <source>map_concat(map('1','one', '2','overridden'),map('2','two', '3','three'))</source>
-        <translation type="vanished">map_concat(map('1','uno', '2','sobreescrito'),map('2','dos', '3','tres'))</translation>
+        <translation>map_concat(map('1','uno', '2','sobreescrito'),map('2','dos', '3','tres'))</translation>
     </message>
     <message>
         <source>map: 1: 'one, 2: 'two', 3: 'three'</source>
-        <translation type="vanished">mapa: 1: 'uno, 2: 'dos', 3: 'tres'</translation>
+        <translation>mapa: 1: 'uno, 2: 'dos', 3: 'tres'</translation>
     </message>
     <message>
         <source>Returns a map with the given key and its corresponding value deleted.</source>
-        <translation type="vanished">Devuelve un mapa con las claves dadas y sus valores correspondientes borrados.</translation>
+        <translation>Devuelve un mapa con las claves dadas y sus valores correspondientes borrados.</translation>
     </message>
     <message>
         <source>map_delete</source>
-        <translation type="vanished">map_delete</translation>
+        <translation>map_delete</translation>
     </message>
     <message>
         <source>the key to delete</source>
-        <translation type="vanished">la clave a borrar</translation>
+        <translation>la clave a borrar</translation>
     </message>
     <message>
         <source>map_delete(map('1','one','2','two'),'2')</source>
-        <translation type="vanished">map_delete(map('1','uno','2','dos'),'2')</translation>
+        <translation>map_delete(map('1','uno','2','dos'),'2')</translation>
     </message>
     <message>
         <source>map: 1: 'one'</source>
-        <translation type="vanished">mapa: 1: 'uno'</translation>
+        <translation>mapa: 1: 'uno'</translation>
     </message>
     <message>
         <source>Returns true if the given key exists in the map.</source>
-        <translation type="vanished">Devuelve verdadero si la clave dada existe en el mapa.</translation>
+        <translation>Devuelve verdadero si la clave dada existe en el mapa.</translation>
     </message>
     <message>
         <source>map_exist</source>
-        <translation type="vanished">map_exist</translation>
+        <translation>map_exist</translation>
     </message>
     <message>
         <source>the key to lookup</source>
-        <translation type="vanished">la clave a buscar</translation>
+        <translation>la clave a buscar</translation>
     </message>
     <message>
         <source>map_exist(map('1','one','2','two'),'3')</source>
-        <translation type="vanished">map_exist(map('1','uno','2','dos'),'3')</translation>
+        <translation>map_exist(map('1','uno','2','dos'),'3')</translation>
     </message>
     <message>
         <source>Returns the value of a map, given it's key.</source>
-        <translation type="vanished">Devuelve el valor de un mapa, dada su clave.</translation>
+        <translation>Devuelve el valor de un mapa, dada su clave.</translation>
     </message>
     <message>
         <source>map_get</source>
-        <translation type="vanished">map_get</translation>
+        <translation>map_get</translation>
     </message>
     <message>
         <source>map_get(map('1','one','2','two'),'2')</source>
-        <translation type="vanished">map_get(map('1','uno','2','dos'),'2')</translation>
+        <translation>map_get(map('1','uno','2','dos'),'2')</translation>
     </message>
     <message>
         <source>'two'</source>
-        <translation type="vanished">'dos'</translation>
+        <translation>'dos'</translation>
     </message>
     <message>
         <source>Returns a map with an added key/value.</source>
-        <translation type="vanished">Devuelve un mapa con una clave/valor añadidos.</translation>
+        <translation>Devuelve un mapa con una clave/valor añadidos.</translation>
     </message>
     <message>
         <source>map_insert</source>
-        <translation type="vanished">map_insert</translation>
+        <translation>map_insert</translation>
     </message>
     <message>
         <source>the key to add</source>
-        <translation type="vanished">la clave a añadir</translation>
+        <translation>la clave a añadir</translation>
     </message>
     <message>
         <source>map_insert(map('1','one'),'3','three')</source>
-        <translation type="vanished">map_insert(map('1','uno'),'3','tres')</translation>
+        <translation>map_insert(map('1','uno'),'3','tres')</translation>
     </message>
     <message>
         <source>map: 1: 'one', 3: 'three'</source>
-        <translation type="vanished">mapa: 1: 'uno', 3: 'tres'</translation>
+        <translation>mapa: 1: 'uno', 3: 'tres'</translation>
     </message>
     <message>
         <source>Returns the largest value in a set of values.</source>
-        <translation type="vanished">Devuelve el valor más grande de un conjunto de valores.</translation>
+        <translation>Devuelve el valor más grande de un conjunto de valores.</translation>
     </message>
     <message>
         <source>max</source>
-        <translation type="vanished">máx</translation>
+        <translation>máx</translation>
     </message>
     <message>
         <source>max(2,10.2,5.5)</source>
-        <translation type="vanished">max(2,10.2,5.5)</translation>
+        <translation>max(2,10.2,5.5)</translation>
     </message>
     <message>
         <source>10.2</source>
-        <translation type="vanished">10.2</translation>
+        <translation>10.2</translation>
     </message>
     <message>
         <source>Returns the maximum length of strings from a field or expression.</source>
-        <translation type="vanished">Devuelve la longitud máxima de cadenas a partir de un campo o expresión.</translation>
+        <translation>Devuelve la longitud máxima de cadenas a partir de un campo o expresión.</translation>
     </message>
     <message>
         <source>max_length</source>
-        <translation type="vanished">max_length</translation>
+        <translation>max_length</translation>
     </message>
     <message>
         <source>max_length("town_name",group_by:="state")</source>
-        <translation type="vanished">longitud_max("nombre_ciudad",agrupar_por:="estado")</translation>
+        <translation>longitud_max("nombre_ciudad",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>maximum length of town_name, grouped by state field</source>
-        <translation type="vanished">longitud máxima de nombre_ciudad, agrupada por el campo estado</translation>
+        <translation>longitud máxima de nombre_ciudad, agrupada por el campo estado</translation>
     </message>
     <message>
         <source>Returns the aggregate maximum value from a field or expression.</source>
-        <translation type="vanished">Devuelve el valor máximo agregado a partir de un campo o expresión.</translation>
+        <translation>Devuelve el valor máximo agregado a partir de un campo o expresión.</translation>
     </message>
     <message>
         <source>maximum("population",group_by:="state")</source>
-        <translation type="vanished">máximo("población",agrupar_por:="estado")</translation>
+        <translation>máximo("población",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>maximum population value, grouped by state field</source>
-        <translation type="vanished">valor máximo de población, agrupado por el campo estado</translation>
+        <translation>valor máximo de población, agrupado por el campo estado</translation>
     </message>
     <message>
         <source>Returns the aggregate mean value from a field or expression.</source>
-        <translation type="vanished">Devuelve el valor medio agregado a partir de un campo o expresión.</translation>
+        <translation>Devuelve el valor medio agregado a partir de un campo o expresión.</translation>
     </message>
     <message>
         <source>mean</source>
-        <translation type="vanished">media</translation>
+        <translation>media</translation>
     </message>
     <message>
         <source>mean("population",group_by:="state")</source>
-        <translation type="vanished">media("población",agrupar_por:="estado")</translation>
+        <translation>media("población",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>mean population value, grouped by state field</source>
-        <translation type="vanished">valor medio de población, agrupado por el campo estado</translation>
+        <translation>valor medio de población, agrupado por el campo estado</translation>
     </message>
     <message>
         <source>Returns the aggregate median value from a field or expression.</source>
-        <translation type="vanished">Devuelve el valor de la mediana agregada a partir de un campo o expresión.</translation>
+        <translation>Devuelve el valor de la mediana agregada a partir de un campo o expresión.</translation>
     </message>
     <message>
         <source>median</source>
-        <translation type="vanished">mediana</translation>
+        <translation>mediana</translation>
     </message>
     <message>
         <source>median("population",group_by:="state")</source>
-        <translation type="vanished">mediana("población",agrupar_por:="estado")</translation>
+        <translation>mediana("población",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>median population value, grouped by state field</source>
-        <translation type="vanished">valor mediana de población, agrupado por el campo estado</translation>
+        <translation>valor mediana de población, agrupado por el campo estado</translation>
     </message>
     <message>
         <source>Returns the smallest value in a set of values.</source>
-        <translation type="vanished">Devuelve el valor más pequeño de un conjunto de valores.</translation>
+        <translation>Devuelve el valor más pequeño de un conjunto de valores.</translation>
     </message>
     <message>
         <source>min</source>
-        <translation type="vanished">mín</translation>
+        <translation>mín</translation>
     </message>
     <message>
         <source>min(20.5,10,6.2)</source>
-        <translation type="vanished">min(20.5,10,6.2)</translation>
+        <translation>min(20.5,10,6.2)</translation>
     </message>
     <message>
         <source>6.2</source>
-        <translation type="vanished">6.2</translation>
+        <translation>6.2</translation>
     </message>
     <message>
         <source>Returns the minimum length of strings from a field or expression.</source>
-        <translation type="vanished">Devuelve la longitud mínima de cadenas a partir de un campo o expresión.</translation>
+        <translation>Devuelve la longitud mínima de cadenas a partir de un campo o expresión.</translation>
     </message>
     <message>
         <source>min_length</source>
-        <translation type="vanished">min_length</translation>
+        <translation>min_length</translation>
     </message>
     <message>
         <source>min_length("town_name",group_by:="state")</source>
-        <translation type="vanished">longitud_min("nombre_ciudad",agrupar_por:="estado")</translation>
+        <translation>longitud_min("nombre_ciudad",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>minimum length of town_name, grouped by state field</source>
-        <translation type="vanished">longitud mínima de nombre_ciudad, agrupada por el campo estado</translation>
+        <translation>longitud mínima de nombre_ciudad, agrupada por el campo estado</translation>
     </message>
     <message>
         <source>Returns the minimal enclosing circle of a geometry. It represents the minimum circle that encloses all geometries within the set.</source>
-        <translation type="vanished">Devuelve el círculo envolvente mínimo de una geometría. Representa el círculo mínimo que encierra todas las geometrías del conjunto.</translation>
+        <translation>Devuelve el círculo envolvente mínimo de una geometría. Representa el círculo mínimo que encierra todas las geometrías del conjunto.</translation>
     </message>
     <message>
         <source>Returns the aggregate minimum value from a field or expression.</source>
-        <translation type="vanished">Devuelve el valor mínimo agregado a partir de un campo o expresión.</translation>
+        <translation>Devuelve el valor mínimo agregado a partir de un campo o expresión.</translation>
     </message>
     <message>
         <source>minimum("population",group_by:="state")</source>
-        <translation type="vanished">mínimo("población",agrupar_por:="estado")</translation>
+        <translation>mínimo("población",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>minimum population value, grouped by state field</source>
-        <translation type="vanished">valor mínimo de población, agrupado por el campo estado</translation>
+        <translation>valor mínimo de población, agrupado por el campo estado</translation>
     </message>
     <message>
         <source>Returns the aggregate minority of values (least occurring value) from a field or expression.</source>
-        <translation type="vanished">Devuelve la minoría agregada de valores (valor que ocurre con menos frecuencia) a partir de un campo o expresión.</translation>
+        <translation>Devuelve la minoría agregada de valores (valor que ocurre con menos frecuencia) a partir de un campo o expresión.</translation>
     </message>
     <message>
         <source>minority</source>
-        <translation type="vanished">minoría</translation>
+        <translation>minoría</translation>
     </message>
     <message>
         <source>minority("class",group_by:="state")</source>
-        <translation type="vanished">mayoría("clase",agrupar_por:="estado")</translation>
+        <translation>mayoría("clase",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>least occurring class value, grouped by state field</source>
-        <translation type="vanished">valor de clase que ocurre con menos frecuencia, agrupado por el campo estado</translation>
+        <translation>valor de clase que ocurre con menos frecuencia, agrupado por el campo estado</translation>
     </message>
     <message>
         <source>Extract the minutes part from a datetime or time, or the number of minutes from an interval.</source>
-        <translation type="vanished">Extrae los minutos de una fecha y hora u hora o el número de minutos de un intervalo.</translation>
+        <translation>Extrae los minutos de una fecha y hora u hora o el número de minutos de un intervalo.</translation>
     </message>
     <message>
         <source>Extract the minutes part from a time or datetime.</source>
-        <translation type="vanished">Extrae los minutos de una hora o fecha y hora.</translation>
+        <translation>Extrae los minutos de una hora o fecha y hora.</translation>
     </message>
     <message>
         <source>minute('2012-07-22T13:24:57')</source>
-        <translation type="vanished">minute('2012-07-22T13:24:57')</translation>
+        <translation>minute('2012-07-22T13:24:57')</translation>
     </message>
     <message>
         <source>24</source>
-        <translation type="vanished">24</translation>
+        <translation>24</translation>
     </message>
     <message>
         <source>Calculate the length in minutes of an interval.</source>
-        <translation type="vanished">Calcula la longitud en minutos de un intervalo.</translation>
+        <translation>Calcula la longitud en minutos de un intervalo.</translation>
     </message>
     <message>
         <source>interval value to return number of minutes from</source>
-        <translation type="vanished">intervalo del que devolver el número de minutos</translation>
+        <translation>intervalo del que devolver el número de minutos</translation>
     </message>
     <message>
         <source>minute(tointerval('3 minutes'))</source>
-        <translation type="vanished">minute(tointerval('3 minutos'))</translation>
+        <translation>minute(tointerval('3 minutos'))</translation>
     </message>
     <message>
         <source>minute(age('2012-07-22T00:20:00','2012-07-22T00:00:00'))</source>
-        <translation type="vanished">minute(age('2012-07-22T00:20:00','2012-07-22T00:00:00'))</translation>
+        <translation>minute(age('2012-07-22T00:20:00','2012-07-22T00:00:00'))</translation>
     </message>
     <message>
         <source>20</source>
-        <translation type="vanished">20</translation>
+        <translation>20</translation>
     </message>
     <message>
         <source>minute(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">minute(age('2012-01-01','2010-01-01'))</translation>
+        <translation>minute(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>1051200</source>
-        <translation type="vanished">1051200</translation>
+        <translation>1051200</translation>
     </message>
     <message>
         <source>Extract the month part from a date, or the number of months from an interval.</source>
-        <translation type="vanished">Extrae el mes de una fecha o el número de meses de un intervalo.</translation>
+        <translation>Extrae el mes de una fecha o el número de meses de un intervalo.</translation>
     </message>
     <message>
         <source>Extract the month part from a date or datetime.</source>
-        <translation type="vanished">Extrae el mes de una fecha o fecha y hora.</translation>
+        <translation>Extrae el mes de una fecha o fecha y hora.</translation>
     </message>
     <message>
         <source>month('2012-05-12')</source>
-        <translation type="vanished">month('2012-05-12')</translation>
+        <translation>month('2012-05-12')</translation>
     </message>
     <message>
         <source>05</source>
-        <translation type="vanished">05</translation>
+        <translation>05</translation>
     </message>
     <message>
         <source>Calculate the length in months of an interval.</source>
-        <translation type="vanished">Calcula la longitud en meses de un intervalo.</translation>
+        <translation>Calcula la longitud en meses de un intervalo.</translation>
     </message>
     <message>
         <source>interval value to return number of months from</source>
-        <translation type="vanished">intervalo del que devolver el número de meses</translation>
+        <translation>intervalo del que devolver el número de meses</translation>
     </message>
     <message>
         <source>month(to_interval('3 months'))</source>
-        <translation type="vanished">month(to_interval('3 meses'))</translation>
+        <translation>month(to_interval('3 meses'))</translation>
     </message>
     <message>
         <source>month(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">month(age('2012-01-01','2010-01-01'))</translation>
+        <translation>month(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>4.03333</source>
-        <translation type="vanished">4.03333</translation>
+        <translation>4.03333</translation>
     </message>
     <message>
         <source>Returns a multipoint geometry consisting of every node in the input geometry.</source>
-        <translation type="vanished">Devuelve una geometría multipunto consistente en cada nodo de la geometría de entrada.</translation>
+        <translation>Devuelve una geometría multipunto consistente en cada nodo de la geometría de entrada.</translation>
     </message>
     <message>
         <source>nodes_to_points</source>
-        <translation type="vanished">nodes_to_points</translation>
+        <translation>nodes_to_points</translation>
     </message>
     <message>
         <source>optional argument specifying whether to include duplicate nodes which close lines or polygons rings. Defaults to false, set to true to avoid including these duplicate nodes in the output collection.</source>
-        <translation type="vanished">argumento opcional que especifica si incluir nodos duplicados que cierran líneas o anillos de polígonos. El valor predeterminado es falso, establecer a verdadero para evitar incluir estos nodos duplicados en la colección de salida.</translation>
+        <translation>argumento opcional que especifica si incluir nodos duplicados que cierran líneas o anillos de polígonos. El valor predeterminado es falso, establecer a verdadero para evitar incluir estos nodos duplicados en la colección de salida.</translation>
     </message>
     <message>
         <source>geom_to_wkt(nodes_to_points(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)')))</source>
-        <translation type="vanished">geom_to_wkt(nodes_to_points(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)')))</translation>
+        <translation>geom_to_wkt(nodes_to_points(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)')))</translation>
     </message>
     <message>
         <source>'MultiPoint ((0 0),(1 1),(2 2))'</source>
-        <translation type="vanished">'MultiPoint ((0 0),(1 1),(2 2))'</translation>
+        <translation>'MultiPoint ((0 0),(1 1),(2 2))'</translation>
     </message>
     <message>
         <source>geom_to_wkt(nodes_to_points(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1))'),true))</source>
-        <translation type="vanished">geom_to_wkt(nodes_to_points(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1))'),true))</translation>
+        <translation>geom_to_wkt(nodes_to_points(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1))'),true))</translation>
     </message>
     <message>
         <source>'MultiPoint ((-1 -1),(4 0),(4 2),(0 2))'</source>
-        <translation type="vanished">'MultiPoint ((-1 -1),(4 0),(4 2),(0 2))'</translation>
+        <translation>'MultiPoint ((-1 -1),(4 0),(4 2),(0 2))'</translation>
     </message>
     <message>
         <source>Returns the current date and time.</source>
-        <translation type="vanished">Devuelve la fecha y hora actuales.</translation>
+        <translation>Devuelve la fecha y hora actuales.</translation>
     </message>
     <message>
         <source>now</source>
-        <translation type="vanished">now</translation>
+        <translation>now</translation>
     </message>
     <message>
         <source>now()</source>
-        <translation type="vanished">now()</translation>
+        <translation>now()</translation>
     </message>
     <message>
         <source>2012-07-22T13:24:57</source>
-        <translation type="vanished">2012-07-22T13:24:57</translation>
+        <translation>2012-07-22T13:24:57</translation>
     </message>
     <message>
         <source>Returns the number of geometries in a geometry collection, or null if the input geometry is not a collection.</source>
-        <translation type="vanished">Devuelve el número de geometrías en una colección de geometrías o nulo si la geometría de entrada no es una colección.</translation>
+        <translation>Devuelve el número de geometrías en una colección de geometrías o nulo si la geometría de entrada no es una colección.</translation>
     </message>
     <message>
         <source>num_geometries</source>
-        <translation type="vanished">num_geometries</translation>
+        <translation>num_geometries</translation>
     </message>
     <message>
         <source>num_geometries(geom_from_wkt('GEOMETRYCOLLECTION(POINT(0 1), POINT(0 0), POINT(1 0), POINT(1 1))'))'),3))</source>
-        <translation type="vanished">num_geometries(geom_from_wkt('GEOMETRYCOLLECTION(POINT(0 1), POINT(0 0), POINT(1 0), POINT(1 1))'))'),3))</translation>
+        <translation>num_geometries(geom_from_wkt('GEOMETRYCOLLECTION(POINT(0 1), POINT(0 0), POINT(1 0), POINT(1 1))'))'),3))</translation>
     </message>
     <message>
         <source>Returns the number of interior rings in a polygon or geometry collection, or null if the input geometry is not a polygon or collection.</source>
-        <translation type="vanished">Devuelve el número de anillos interiores de un polígono o una colección de geometrías o nulo si la geometría de entrada no es un polígono o una colección.</translation>
+        <translation>Devuelve el número de anillos interiores de un polígono o una colección de geometrías o nulo si la geometría de entrada no es un polígono o una colección.</translation>
     </message>
     <message>
         <source>num_interior_rings</source>
-        <translation type="vanished">num_interior_rings</translation>
+        <translation>num_interior_rings</translation>
     </message>
     <message>
         <source>input geometry</source>
-        <translation type="vanished">geometría de entrada</translation>
+        <translation>geometría de entrada</translation>
     </message>
     <message>
         <source>Returns the number of vertices in a geometry.</source>
-        <translation type="vanished">Devuelve el número de vértices de una geometría.</translation>
+        <translation>Devuelve el número de vértices de una geometría.</translation>
     </message>
     <message>
         <source>num_points</source>
-        <translation type="vanished">num_points</translation>
+        <translation>num_points</translation>
     </message>
     <message>
         <source>num_points($geometry)</source>
-        <translation type="vanished">num_points($geometry)</translation>
+        <translation>num_points($geometry)</translation>
     </message>
     <message>
         <source>number of vertices in $geometry</source>
-        <translation type="vanished">número de vértices en $geometry</translation>
+        <translation>número de vértices en $geometry</translation>
     </message>
     <message>
         <source>Returns the number of rings (including exterior rings) in a polygon or geometry collection, or null if the input geometry is not a polygon or collection.</source>
-        <translation type="vanished">Devuelve el número de anillos (incluidos los anillos exteriores) de un polígono o una colección de geometrías o nulo si la geometría de entrada no es un polígono o una colección.</translation>
+        <translation>Devuelve el número de anillos (incluidos los anillos exteriores) de un polígono o una colección de geometrías o nulo si la geometría de entrada no es un polígono o una colección.</translation>
     </message>
     <message>
         <source>num_rings</source>
-        <translation type="vanished">num_rings</translation>
+        <translation>num_rings</translation>
     </message>
     <message>
         <source>Returns the number of selected features on a given layer. By default works on the layer on which the expression is evaluated.</source>
-        <translation type="vanished">Devuelve el número de objetos seleccionados de una capa dada. Por omisión se aplica a la capa en la que se evalúa la expresión.</translation>
+        <translation>Devuelve el número de objetos seleccionados de una capa dada. Por omisión se aplica a la capa en la que se evalúa la expresión.</translation>
     </message>
     <message>
         <source>num_selected</source>
-        <translation type="vanished">num_selected</translation>
+        <translation>num_selected</translation>
     </message>
     <message>
         <source>num_selected()</source>
-        <translation type="vanished">num_selected()</translation>
+        <translation>num_selected()</translation>
     </message>
     <message>
         <source>The number of selected features on the current layer.</source>
-        <translation type="vanished">El número de objetos seleccionados de la capa actual.</translation>
+        <translation>El número de objetos seleccionados de la capa actual.</translation>
     </message>
     <message>
         <source>num_selected('streets')</source>
-        <translation type="vanished">num_selected('calles')</translation>
+        <translation>num_selected('calles')</translation>
     </message>
     <message>
         <source>The number of selected features on the layer streets</source>
-        <translation type="vanished">El ńumero de objetos seleccionados de la capa calles</translation>
+        <translation>El ńumero de objetos seleccionados de la capa calles</translation>
     </message>
     <message>
         <source>Returns a geometry formed by offsetting a linestring geometry to the side. Distances are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Devuelve una geometría formada desplazando una geometría de línea hacia un lado. Las distancias están en el Sistema de Referencia Espacial de esta geometría.</translation>
+        <translation>Devuelve una geometría formada desplazando una geometría de línea hacia un lado. Las distancias están en el Sistema de Referencia Espacial de esta geometría.</translation>
     </message>
     <message>
         <source>offset_curve</source>
-        <translation type="vanished">offset_curve</translation>
+        <translation>offset_curve</translation>
     </message>
     <message>
         <source>offset distance. Positive values will be buffered to the left of lines, negative values to the right</source>
-        <translation type="vanished">distancia de desplazamiento. Para valores positivos se hará un buffer a la izquierda de las líneas y para valores negativos para la derecha.</translation>
+        <translation>distancia de desplazamiento. Para valores positivos se hará un buffer a la izquierda de las líneas y para valores negativos para la derecha.</translation>
     </message>
     <message>
         <source>number of segments to use to represent a quarter circle when a round join style is used. A larger number results in a smoother line with more nodes.</source>
-        <translation type="vanished">número de segmentos a usar para representar un cuarto de círculo cuando se utilice un estilo de unión redondo. Un número mayor da como resultado una línea más suave con más nodos.</translation>
+        <translation>número de segmentos a usar para representar un cuarto de círculo cuando se utilice un estilo de unión redondo. Un número mayor da como resultado una línea más suave con más nodos.</translation>
     </message>
     <message>
         <source>join style for corners, where 1 = round, 2 = miter and 3 = bevel</source>
-        <translation type="vanished">estilo de unión para esquinas, donde 1 = redondo, 2 = inglete y 3 = bisel</translation>
+        <translation>estilo de unión para esquinas, donde 1 = redondo, 2 = inglete y 3 = bisel</translation>
     </message>
     <message>
         <source>limit on the miter ratio used for very sharp corners (when using miter joins only)</source>
-        <translation type="vanished">límite en el radio del inglete utilizado para esquinas muy agudas (solamente al utilizar uniones en inglete)</translation>
+        <translation>límite en el radio del inglete utilizado para esquinas muy agudas (solamente al utilizar uniones en inglete)</translation>
     </message>
     <message>
         <source>offset_curve($geometry, 10.5)</source>
-        <translation type="vanished">offset_curve($geometry, 10.5)</translation>
+        <translation>offset_curve($geometry, 10.5)</translation>
     </message>
     <message>
         <source>line offset to the left by 10.5 units</source>
-        <translation type="vanished">desplazamiento de línea a la izquierda en 10,5 unidades</translation>
+        <translation>desplazamiento de línea a la izquierda en 10,5 unidades</translation>
     </message>
     <message>
         <source>offset_curve($geometry, -10.5)</source>
-        <translation type="vanished">offset_curve($geometry, -10.5)</translation>
+        <translation>offset_curve($geometry, -10.5)</translation>
     </message>
     <message>
         <source>line offset to the right by 10.5 units</source>
-        <translation type="vanished">desplazamiento de línea a la derecha en 10,5 unidades</translation>
+        <translation>desplazamiento de línea a la derecha en 10,5 unidades</translation>
     </message>
     <message>
         <source>offset_curve($geometry, 10.5, segments=16, join=1)</source>
-        <translation type="vanished">offset_curve($geometry, 10.5, segments=16, join=1)</translation>
+        <translation>offset_curve($geometry, 10.5, segments=16, join=1)</translation>
     </message>
     <message>
         <source>line offset to the left by 10.5 units, using more segments to result in a smoother curve</source>
-        <translation type="vanished">desplazamiento de línea a la izquierda en 10,5 unidades, usando más segmentos para obtener una curva más suave</translation>
+        <translation>desplazamiento de línea a la izquierda en 10,5 unidades, usando más segmentos para obtener una curva más suave</translation>
     </message>
     <message>
         <source>offset_curve($geometry, 10.5, join=3)</source>
-        <translation type="vanished">offset_curve($geometry, 10.5, join=3)</translation>
+        <translation>offset_curve($geometry, 10.5, join=3)</translation>
     </message>
     <message>
         <source>line offset to the left by 10.5 units, using a beveled join</source>
-        <translation type="vanished">desplazamiento de línea a la izquierda por 10.5 unidades, usando una unión en bisel</translation>
+        <translation>desplazamiento de línea a la izquierda por 10.5 unidades, usando una unión en bisel</translation>
     </message>
     <message>
         <source>Multiplication of two values</source>
-        <translation type="vanished">Multiplicación de dos valores</translation>
+        <translation>Multiplicación de dos valores</translation>
     </message>
     <message>
         <source>*</source>
-        <translation type="vanished">*</translation>
+        <translation>*</translation>
     </message>
     <message>
         <source>5 * 4</source>
-        <translation type="vanished">5 * 4</translation>
+        <translation>5 * 4</translation>
     </message>
     <message>
         <source>5 * NULL</source>
-        <translation type="vanished">5 * NULO</translation>
+        <translation>5 * NULO</translation>
     </message>
     <message>
         <source>Joins two values together into a string.<br><br>If one of the values is NULL the result will be NULL. See the CONCAT function for a different behavior.</source>
-        <translation type="vanished">Une dos valores en una cadena.<br><br>Si uno de los valores es NULO el resultado será NULO. Vea la función CONCAT para un comportamiento diferente.</translation>
+        <translation>Une dos valores en una cadena.<br><br>Si uno de los valores es NULO el resultado será NULO. Vea la función CONCAT para un comportamiento diferente.</translation>
     </message>
     <message>
         <source>||</source>
-        <translation type="vanished">||</translation>
+        <translation>||</translation>
     </message>
     <message>
         <source>'Here' || ' and ' || 'there'</source>
-        <translation type="vanished">'Aquí' || ' y || 'allí'</translation>
+        <translation>'Aquí' || ' y || 'allí'</translation>
     </message>
     <message>
         <source>'Here and there'</source>
-        <translation type="vanished">'Aquí y allí'</translation>
+        <translation>'Aquí y allí'</translation>
     </message>
     <message>
         <source>'Nothing' || NULL</source>
-        <translation type="vanished">'Nada' || NULO</translation>
+        <translation>'Nada' || NULO</translation>
     </message>
     <message>
         <source>'Dia: ' || "Diameter"</source>
-        <translation type="vanished">'Dia: ' || "Diámetro"</translation>
+        <translation>'Dia: ' || "Diámetro"</translation>
     </message>
     <message>
         <source>'Dia: 25'</source>
-        <translation type="vanished">'Dia: 25'</translation>
+        <translation>'Dia: 25'</translation>
     </message>
     <message>
         <source>1 || 2</source>
-        <translation type="vanished">1 || 2</translation>
+        <translation>1 || 2</translation>
     </message>
     <message>
         <source>'12'</source>
-        <translation type="vanished">'12'</translation>
+        <translation>'12'</translation>
     </message>
     <message>
         <source>Division of two values</source>
-        <translation type="vanished">División de dos valores</translation>
+        <translation>División de dos valores</translation>
     </message>
     <message>
         <source>/</source>
-        <translation type="vanished">/</translation>
+        <translation>/</translation>
     </message>
     <message>
         <source>5 / 4</source>
-        <translation type="vanished">5 / 4</translation>
+        <translation>5 / 4</translation>
     </message>
     <message>
         <source>1.25</source>
-        <translation type="vanished">1.25</translation>
+        <translation>1.25</translation>
     </message>
     <message>
         <source>5 / NULL</source>
-        <translation type="vanished">5 / NULO</translation>
+        <translation>5 / NULO</translation>
     </message>
     <message>
         <source>Compares two values and evaluates to 1 if they are equal.</source>
-        <translation type="vanished">Compara dos valores y evalúa a 1 si son iguales.</translation>
+        <translation>Compara dos valores y evalúa a 1 si son iguales.</translation>
     </message>
     <message>
         <source>=</source>
-        <translation type="vanished">=</translation>
+        <translation>=</translation>
     </message>
     <message>
         <source>5 = 4</source>
-        <translation type="vanished">5 = 4</translation>
+        <translation>5 = 4</translation>
     </message>
     <message>
         <source>4 = 4</source>
-        <translation type="vanished">4 = 4</translation>
+        <translation>4 = 4</translation>
     </message>
     <message>
         <source>5 = NULL</source>
-        <translation type="vanished">5 = NULO</translation>
+        <translation>5 = NULO</translation>
     </message>
     <message>
         <source>NULL = NULL</source>
-        <translation type="vanished">NULO = NULO</translation>
+        <translation>NULO = NULO</translation>
     </message>
     <message>
         <source>Power of two values.</source>
-        <translation type="vanished">Potencia de dos valores.</translation>
+        <translation>Potencia de dos valores.</translation>
     </message>
     <message>
         <source>^</source>
-        <translation type="vanished">^</translation>
+        <translation>^</translation>
     </message>
     <message>
         <source>5 ^ 4</source>
-        <translation type="vanished">5 ^ 4</translation>
+        <translation>5 ^ 4</translation>
     </message>
     <message>
         <source>625</source>
-        <translation type="vanished">625</translation>
+        <translation>625</translation>
     </message>
     <message>
         <source>5 ^ NULL</source>
-        <translation type="vanished">5 ^ NULO</translation>
+        <translation>5 ^ NULO</translation>
     </message>
     <message>
         <source>Compares two values and evaluates to 1 if the left value is greater or equal than the right value.</source>
-        <translation type="vanished">Compara dos valores y evalúa a 1 si el valor izquierdo es mayor o igual que el valor derecho.</translation>
+        <translation>Compara dos valores y evalúa a 1 si el valor izquierdo es mayor o igual que el valor derecho.</translation>
     </message>
     <message>
         <source>>=</source>
-        <translation type="vanished">>=</translation>
+        <translation>>=</translation>
     </message>
     <message>
         <source>5 &gt;= 4</source>
-        <translation type="vanished">5 &gt;= 4</translation>
+        <translation>5 &gt;= 4</translation>
     </message>
     <message>
         <source>5 &gt;= 5</source>
-        <translation type="vanished">5 &gt;= 5</translation>
+        <translation>5 &gt;= 5</translation>
     </message>
     <message>
         <source>4 &gt;= 5</source>
-        <translation type="vanished">4 &gt;= 5</translation>
+        <translation>4 &gt;= 5</translation>
     </message>
     <message>
         <source>Compares two values and evaluates to 1 if the left value is greater than the right value.</source>
-        <translation type="vanished">Compara dos valores y evalúa a 1 si el valor izquierdo es mayor que el valor derecho.</translation>
+        <translation>Compara dos valores y evalúa a 1 si el valor izquierdo es mayor que el valor derecho.</translation>
     </message>
     <message>
         <source>></source>
-        <translation type="vanished">></translation>
+        <translation>></translation>
     </message>
     <message>
         <source>5 &gt; 4</source>
-        <translation type="vanished">5 &gt; 4</translation>
+        <translation>5 &gt; 4</translation>
     </message>
     <message>
         <source>5 &gt; 5</source>
-        <translation type="vanished">5 &gt; 5</translation>
+        <translation>5 &gt; 5</translation>
     </message>
     <message>
         <source>4 &gt; 5</source>
-        <translation type="vanished">4 &gt; 5</translation>
+        <translation>4 &gt; 5</translation>
     </message>
     <message>
         <source>Compares two values and evaluates to 1 if the left value is less or equal than the right value.</source>
-        <translation type="vanished">Compara dos valores y evalúa a 1 si el valor izquierdo es menor o igual que el valor derecho.</translation>
+        <translation>Compara dos valores y evalúa a 1 si el valor izquierdo es menor o igual que el valor derecho.</translation>
     </message>
     <message>
         <source><=</source>
-        <translation type="vanished"><=</translation>
+        <translation><=</translation>
     </message>
     <message>
         <source>5 &lt;= 4</source>
-        <translation type="vanished">5 &lt;= 4</translation>
+        <translation>5 &lt;= 4</translation>
     </message>
     <message>
         <source>5 &lt;= 5</source>
-        <translation type="vanished">5 &lt;= 5</translation>
+        <translation>5 &lt;= 5</translation>
     </message>
     <message>
         <source>4 &lt;= 5</source>
-        <translation type="vanished">4 &lt;= 5</translation>
+        <translation>4 &lt;= 5</translation>
     </message>
     <message>
         <source>Compares two values and evaluates to 1 if the left value is less than the right value.</source>
-        <translation type="vanished">Compara dos valores y evalúa a 1 si el valor izquierdo es menor que el valor derecho.</translation>
+        <translation>Compara dos valores y evalúa a 1 si el valor izquierdo es menor que el valor derecho.</translation>
     </message>
     <message>
         <source><</source>
-        <translation type="vanished"><</translation>
+        <translation><</translation>
     </message>
     <message>
         <source>5 &lt; 4</source>
-        <translation type="vanished">5 &lt; 4</translation>
+        <translation>5 &lt; 4</translation>
     </message>
     <message>
         <source>5 &lt; 5</source>
-        <translation type="vanished">5 &lt; 5</translation>
+        <translation>5 &lt; 5</translation>
     </message>
     <message>
         <source>4 &lt; 5</source>
-        <translation type="vanished">4 &lt; 5</translation>
+        <translation>4 &lt; 5</translation>
     </message>
     <message>
         <source>Subtraction of two values. If one of the values is NULL the result will be NULL.</source>
-        <translation type="vanished">Sustracción de dos valores. Si uno de los valores es NULO el resultado será NULO.</translation>
+        <translation>Sustracción de dos valores. Si uno de los valores es NULO el resultado será NULO.</translation>
     </message>
     <message>
         <source>-</source>
-        <translation type="vanished">-</translation>
+        <translation>-</translation>
     </message>
     <message>
         <source>5 - 4</source>
-        <translation type="vanished">5 - 4</translation>
+        <translation>5 - 4</translation>
     </message>
     <message>
         <source>5 - NULL</source>
-        <translation type="vanished">5 - NULO</translation>
+        <translation>5 - NULO</translation>
     </message>
     <message>
         <source>Remainder of division</source>
-        <translation type="vanished">Resto de la división</translation>
+        <translation>Resto de la división</translation>
     </message>
     <message>
         <source>%</source>
-        <translation type="vanished">%</translation>
+        <translation>%</translation>
     </message>
     <message>
         <source>5 % 4</source>
-        <translation type="vanished">5 % 4</translation>
+        <translation>5 % 4</translation>
     </message>
     <message>
         <source>5 % NULL</source>
-        <translation type="vanished">5 % NULO</translation>
+        <translation>5 % NULO</translation>
     </message>
     <message>
         <source>Compares two values and evaluates to 1 if they are not equal.</source>
-        <translation type="vanished">Compara dos valores y evalúa a 1 si no son iguales.</translation>
+        <translation>Compara dos valores y evalúa a 1 si no son iguales.</translation>
     </message>
     <message>
         <source><></source>
-        <translation type="vanished"><></translation>
+        <translation><></translation>
     </message>
     <message>
         <source>5 &lt;&gt; 4</source>
-        <translation type="vanished">5 &lt;&gt; 4</translation>
+        <translation>5 &lt;&gt; 4</translation>
     </message>
     <message>
         <source>4 &lt;&gt; 4</source>
-        <translation type="vanished">4 &lt;&gt; 4</translation>
+        <translation>4 &lt;&gt; 4</translation>
     </message>
     <message>
         <source>5 &lt;&gt; NULL</source>
-        <translation type="vanished">5 &lt;&gt; NULO</translation>
+        <translation>5 &lt;&gt; NULO</translation>
     </message>
     <message>
         <source>NULL &lt;&gt; NULL</source>
-        <translation type="vanished">NULO &lt;&gt; NULO</translation>
+        <translation>NULO &lt;&gt; NULO</translation>
     </message>
     <message>
         <source>Addition of two values. If one of the values is NULL the result will be NULL.</source>
-        <translation type="vanished">Suma de dos valores. Si uno de los valores es NULO el resultado será NULO.</translation>
+        <translation>Suma de dos valores. Si uno de los valores es NULO el resultado será NULO.</translation>
     </message>
     <message>
         <source>+</source>
-        <translation type="vanished">+</translation>
+        <translation>+</translation>
     </message>
     <message>
         <source>5 + 4</source>
-        <translation type="vanished">5 + 4</translation>
+        <translation>5 + 4</translation>
     </message>
     <message>
         <source>9</source>
-        <translation type="vanished">9</translation>
+        <translation>9</translation>
     </message>
     <message>
         <source>5 + NULL</source>
-        <translation type="vanished">5 + NULO</translation>
+        <translation>5 + NULO</translation>
     </message>
     <message>
         <source>Performs a regular expression match on a string value.</source>
-        <translation type="vanished">Realiza una comprobación de coincidencia con expresión regular sobre el valor de una cadena.</translation>
+        <translation>Realiza una comprobación de coincidencia con expresión regular sobre el valor de una cadena.</translation>
     </message>
     <message>
         <source>~</source>
-        <translation type="vanished">~</translation>
+        <translation>~</translation>
     </message>
     <message>
         <source>'hello' ~ 'll'</source>
-        <translation type="vanished">'hola' ~ 'll'</translation>
+        <translation>'hola' ~ 'll'</translation>
     </message>
     <message>
         <source>'hello' ~ '^ll'</source>
-        <translation type="vanished">'hola' ~ '^ll'</translation>
+        <translation>'hola' ~ '^ll'</translation>
     </message>
     <message>
         <source>'hello' ~ 'llo$'</source>
-        <translation type="vanished">'hola' ~ 'llo$'</translation>
+        <translation>'hola' ~ 'llo$'</translation>
     </message>
     <message>
         <source>Orders the parts of a MultiGeometry by a given criteria</source>
-        <translation type="vanished">Ordena las partes de una MultiGeometría por los criterios dados</translation>
+        <translation>Ordena las partes de una MultiGeometría por los criterios dados</translation>
     </message>
     <message>
         <source>order_parts</source>
-        <translation type="vanished">order_parts</translation>
+        <translation>order_parts</translation>
     </message>
     <message>
         <source>a multi-type geometry</source>
-        <translation type="vanished">una geometría multi tipo</translation>
+        <translation>una geometría multi tipo</translation>
     </message>
     <message>
         <source>an expression string defining the order criteria</source>
-        <translation type="vanished">una cadena de expresión que define los criterios de ordenación</translation>
+        <translation>una cadena de expresión que define los criterios de ordenación</translation>
     </message>
     <message>
         <source>boolean, True for ascending, False for descending</source>
-        <translation type="vanished">lógico, Verdadero para ascendente, Falso para descendente</translation>
+        <translation>lógico, Verdadero para ascendente, Falso para descendente</translation>
     </message>
     <message>
         <source>order_parts(geom_from_wkt('MultiPolygon (((1 1, 5 1, 5 5, 1 5, 1 1)),((1 1, 9 1, 9 9, 1 9, 1 1)))'), 'area($geometry)', False)</source>
-        <translation type="vanished">order_parts(geom_from_wkt('MultiPolygon (((1 1, 5 1, 5 5, 1 5, 1 1)),((1 1, 9 1, 9 9, 1 9, 1 1)))'), 'area($geometry)', False)</translation>
+        <translation>order_parts(geom_from_wkt('MultiPolygon (((1 1, 5 1, 5 5, 1 5, 1 1)),((1 1, 9 1, 9 9, 1 9, 1 1)))'), 'area($geometry)', False)</translation>
     </message>
     <message>
         <source>MultiPolygon (((1 1, 9 1, 9 9, 1 9, 1 1)),((1 1, 5 1, 5 5, 1 5, 1 1)))</source>
-        <translation type="vanished">MultiPolygon (((1 1, 9 1, 9 9, 1 9, 1 1)),((1 1, 5 1, 5 5, 1 5, 1 1)))</translation>
+        <translation>MultiPolygon (((1 1, 9 1, 9 9, 1 9, 1 1)),((1 1, 5 1, 5 5, 1 5, 1 1)))</translation>
     </message>
     <message>
         <source>order_parts(geom_from_wkt('LineString(1 2, 3 2, 4 3)'), '1', True)</source>
-        <translation type="vanished">order_parts(geom_from_wkt('LineString(1 2, 3 2, 4 3)'), '1', True)</translation>
+        <translation>order_parts(geom_from_wkt('LineString(1 2, 3 2, 4 3)'), '1', True)</translation>
     </message>
     <message>
         <source>LineString(1 2, 3 2, 4 3)</source>
-        <translation type="vanished">LineString(1 2, 3 2, 4 3)</translation>
+        <translation>LineString(1 2, 3 2, 4 3)</translation>
     </message>
     <message>
         <source>Returns a geometry which represents the minimal oriented bounding box of an input geometry.</source>
-        <translation type="vanished">Devuelve una geometría que representa el recuadro delimitador orientado mínimo de una geometría de entrada.</translation>
+        <translation>Devuelve una geometría que representa el recuadro delimitador orientado mínimo de una geometría de entrada.</translation>
     </message>
     <message>
         <source>Tests whether a geometry overlaps another. Returns true if the geometries share space, are of the same dimension, but are not completely contained by each other.</source>
-        <translation type="vanished">Comprueba si una geometría solapa con otra. Devuelve verdadero si las geometrías comparten espacio, son de la misma dimensión, pero no están contenidas en la otra.</translation>
+        <translation>Comprueba si una geometría solapa con otra. Devuelve verdadero si las geometrías comparten espacio, son de la misma dimensión, pero no están contenidas en la otra.</translation>
     </message>
     <message>
         <source>overlaps</source>
-        <translation type="vanished">solapa</translation>
+        <translation>solapa</translation>
     </message>
     <message>
         <source>overlaps( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 5, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">overlaps( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 5, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>overlaps( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 5, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>overlaps( geom_from_wkt( 'LINESTRING(0 0, 1 1)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">overlaps( geom_from_wkt( 'LINESTRING(0 0, 1 1)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>overlaps( geom_from_wkt( 'LINESTRING(0 0, 1 1)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>Returns the value of a processing algorithm input parameter.</source>
-        <translation type="vanished">Devuelve el valor del parámetro de entrada de un algoritmo de procesos</translation>
+        <translation>Devuelve el valor del parámetro de entrada de un algoritmo de procesos</translation>
     </message>
     <message>
         <source>parameter</source>
-        <translation type="vanished">parámetro</translation>
+        <translation>parámetro</translation>
     </message>
     <message>
         <source>name of the corresponding input parameter</source>
-        <translation type="vanished">nombre del parámetro de entrada correspondiente</translation>
+        <translation>nombre del parámetro de entrada correspondiente</translation>
     </message>
     <message>
         <source>5.6</source>
-        <translation type="vanished">5.6</translation>
+        <translation>5.6</translation>
     </message>
     <message>
         <source>Returns the perimeter of a geometry polygon object. Calculations are always planimetric in the Spatial Reference System (SRS) of this geometry, and the units of the returned perimeter will match the units for the SRS. This differs from the calculations performed by the $perimeter function, which will perform ellipsoidal calculations based on the project's ellipsoid and distance unit settings.</source>
-        <translation type="vanished">Devuelve el perímetro de un objeto de geometría de tipo polígono. Los cálculos siempre son planimétricos en el Sistema de Rerefencia Espacial (SRE) de esta geometría y las unidades del perímetro devuelto coincidirán con las unidades del SRE. Esto difiere de los cálculos hechos por la función $perimeter, que hará cálculos elipsoidales basados en el elipsoide del proyecto y la configuración de las unidades de distancia.</translation>
+        <translation>Devuelve el perímetro de un objeto de geometría de tipo polígono. Los cálculos siempre son planimétricos en el Sistema de Rerefencia Espacial (SRE) de esta geometría y las unidades del perímetro devuelto coincidirán con las unidades del SRE. Esto difiere de los cálculos hechos por la función $perimeter, que hará cálculos elipsoidales basados en el elipsoide del proyecto y la configuración de las unidades de distancia.</translation>
     </message>
     <message>
         <source>perimeter</source>
-        <translation type="vanished">perimeter</translation>
+        <translation>perimeter</translation>
     </message>
     <message>
         <source>perimeter(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'))</source>
-        <translation type="vanished">perimeter(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'))</translation>
+        <translation>perimeter(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'))</translation>
     </message>
     <message>
         <source>12.0</source>
-        <translation type="vanished">12.0</translation>
+        <translation>12.0</translation>
     </message>
     <message>
         <source>Returns value of pi for calculations.</source>
-        <translation type="vanished">Devuelve el valor de Pi para cálculos.</translation>
+        <translation>Devuelve el valor de Pi para cálculos.</translation>
     </message>
     <message>
         <source>pi</source>
-        <translation type="vanished">pi</translation>
+        <translation>pi</translation>
     </message>
     <message>
         <source>pi()</source>
-        <translation type="vanished">pi()</translation>
+        <translation>pi()</translation>
     </message>
     <message>
         <source>3.14159265358979</source>
-        <translation type="vanished">3.14159265358979</translation>
+        <translation>3.14159265358979</translation>
     </message>
     <message>
         <source>Returns a specific node from a geometry.</source>
-        <translation type="vanished">Devuelve un nodo específico de una geometría.</translation>
+        <translation>Devuelve un nodo específico de una geometría.</translation>
     </message>
     <message>
         <source>point_n</source>
-        <translation type="vanished">point_n</translation>
+        <translation>point_n</translation>
     </message>
     <message>
         <source>index of node to return, where 1 is the first node</source>
-        <translation type="vanished">posición del nodo a devolver, donde 1 es el primer nodo</translation>
+        <translation>posición del nodo a devolver, donde 1 es el primer nodo</translation>
     </message>
     <message>
         <source>geom_to_wkt(point_n(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'),2))</source>
-        <translation type="vanished">geom_to_wkt(point_n(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'),2))</translation>
+        <translation>geom_to_wkt(point_n(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'),2))</translation>
     </message>
     <message>
         <source>'Point (4 0)'</source>
-        <translation type="vanished">'Point (4 0)'</translation>
+        <translation>'Point (4 0)'</translation>
     </message>
     <message>
         <source>Returns a point guaranteed to lie on the surface of a geometry.</source>
-        <translation type="vanished">Devuelve un punto garantizando que cae en la superficie de una geometría.</translation>
+        <translation>Devuelve un punto garantizando que cae en la superficie de una geometría.</translation>
     </message>
     <message>
         <source>point_on_surface</source>
-        <translation type="vanished">point_on_surface</translation>
+        <translation>point_on_surface</translation>
     </message>
     <message>
         <source>point_on_surface($geometry)</source>
-        <translation type="vanished">point_on_surface($geometry)</translation>
+        <translation>point_on_surface($geometry)</translation>
     </message>
     <message>
         <source>Calculates the approximate pole of inaccessibility for a surface, which is the most distant internal point from the boundary of the surface. This function uses the 'polylabel' algorithm (Vladimir Agafonkin, 2016), which is an iterative approach guaranteed to find the true pole of inaccessibility within a specified tolerance. More precise tolerances require more iterations and will take longer to calculate.</source>
-        <translation type="vanished">Calcula el polo aproximado de inaccesibilidad para una superficie, que es el punto interno de una superficie más distante del borde de la superficie. Esta función usa el algoritmo "polylabel" (Vladimir Agafonkin, 2016), que es una aproximación iterativa que garantiza encontrar el polo real de inaccesibilidad dentro de una tolerancia especificada. Tolerancias más precisas requieren más iteraciones y llevará más tiempo calcularlas.</translation>
+        <translation>Calcula el polo aproximado de inaccesibilidad para una superficie, que es el punto interno de una superficie más distante del borde de la superficie. Esta función usa el algoritmo "polylabel" (Vladimir Agafonkin, 2016), que es una aproximación iterativa que garantiza encontrar el polo real de inaccesibilidad dentro de una tolerancia especificada. Tolerancias más precisas requieren más iteraciones y llevará más tiempo calcularlas.</translation>
     </message>
     <message>
         <source>pole_of_inaccessibility</source>
-        <translation type="vanished">pole_of_inaccessibility</translation>
+        <translation>pole_of_inaccessibility</translation>
     </message>
     <message>
         <source>maximum distance between the returned point and the true pole location</source>
-        <translation type="vanished">distancia máxima entre el punto devuelto y la localización del polo verdadero</translation>
+        <translation>distancia máxima entre el punto devuelto y la localización del polo verdadero</translation>
     </message>
     <message>
         <source>geom_to_wkt(pole_of_inaccessibility( geom_from_wkt('POLYGON((0 1,0 9,3 10,3 3, 10 3, 10 1, 0 1))'), 0.1))</source>
-        <translation type="vanished">geom_to_wkt(pole_of_inaccessibility( geom_from_wkt('POLYGON((0 1,0 9,3 10,3 3, 10 3, 10 1, 0 1))'), 0.1))</translation>
+        <translation>geom_to_wkt(pole_of_inaccessibility( geom_from_wkt('POLYGON((0 1,0 9,3 10,3 3, 10 3, 10 1, 0 1))'), 0.1))</translation>
     </message>
     <message>
         <source>Point(1.55, 1.55)</source>
-        <translation type="vanished">Point(73.0769 115.384) {1.55, 1.55)?}</translation>
+        <translation>Point(73.0769 115.384) {1.55, 1.55)?}</translation>
     </message>
     <message>
         <source>Returns a color from the project's color scheme.</source>
-        <translation type="vanished">Devuelve un color del esquema de color del proyecto.</translation>
+        <translation>Devuelve un color del esquema de color del proyecto.</translation>
     </message>
     <message>
         <source>project_color</source>
-        <translation type="vanished">project_color</translation>
+        <translation>project_color</translation>
     </message>
     <message>
         <source>a color name</source>
-        <translation type="vanished">el nombre de un color</translation>
+        <translation>el nombre de un color</translation>
     </message>
     <message>
         <source>project_color('Logo color')</source>
-        <translation type="vanished">project_color('Logo color')</translation>
+        <translation>project_color('Logo color')</translation>
     </message>
     <message>
         <source>20,140,50</source>
-        <translation type="vanished">20,140,50</translation>
+        <translation>20,140,50</translation>
     </message>
     <message>
         <source>Returns the calculated first quartile from a field or expression.</source>
-        <translation type="vanished">Devuelve el primer cuartil calculado a partir de un campo o expresión.</translation>
+        <translation>Devuelve el primer cuartil calculado a partir de un campo o expresión.</translation>
     </message>
     <message>
         <source>q1</source>
-        <translation type="vanished">q1</translation>
+        <translation>q1</translation>
     </message>
     <message>
         <source>q1("population",group_by:="state")</source>
-        <translation type="vanished">q1("población",agrupar_por:="estado")</translation>
+        <translation>q1("población",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>first quartile of population value, grouped by state field</source>
-        <translation type="vanished">primer cuartil del valor de población, agrupado por el campo estado</translation>
+        <translation>primer cuartil del valor de población, agrupado por el campo estado</translation>
     </message>
     <message>
         <source>Returns the calculated third quartile from a field or expression.</source>
-        <translation type="vanished">Devuelve el tercer cuartil calculado a partir de un campo o expresión.</translation>
+        <translation>Devuelve el tercer cuartil calculado a partir de un campo o expresión.</translation>
     </message>
     <message>
         <source>q3</source>
-        <translation type="vanished">q3</translation>
+        <translation>q3</translation>
     </message>
     <message>
         <source>q3("population",group_by:="state")</source>
-        <translation type="vanished">q3("población",agrupar_por:="estado")</translation>
+        <translation>q3("población",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>third quartile of population value, grouped by state field</source>
-        <translation type="vanished">tercer cuartil del valor de población, agrupado por el campo estado</translation>
+        <translation>tercer cuartil del valor de población, agrupado por el campo estado</translation>
     </message>
     <message>
         <source>Converts from degrees to radians.</source>
-        <translation type="vanished">Convierte de grados a radianes.</translation>
+        <translation>Convierte de grados a radianes.</translation>
     </message>
     <message>
         <source>radians(180)</source>
-        <translation type="vanished">radianes(180)</translation>
+        <translation>radianes(180)</translation>
     </message>
     <message>
         <source>3.14159</source>
-        <translation type="vanished">3.14159</translation>
+        <translation>3.14159</translation>
     </message>
     <message>
         <source>radians(57.2958)</source>
-        <translation type="vanished">radianes(57.2958)</translation>
+        <translation>radianes(57.2958)</translation>
     </message>
     <message>
         <source>Returns a string representing a color from a color ramp.</source>
-        <translation type="vanished">Devuelve una cadena que representa un color de una rampa de color.</translation>
+        <translation>Devuelve una cadena que representa un color de una rampa de color.</translation>
     </message>
     <message>
         <source>ramp_color</source>
-        <translation type="vanished">ramp_color</translation>
+        <translation>ramp_color</translation>
     </message>
     <message>
         <source>the name of the color ramp as a string, for example 'Spectral'</source>
-        <translation type="vanished">el nombre de la rampa de color como una cadena, por ejemplo 'Spectral'</translation>
+        <translation>el nombre de la rampa de color como una cadena, por ejemplo 'Spectral'</translation>
     </message>
     <message>
         <source>the position on the ramp to select the color from as a real number between 0 and 1</source>
-        <translation type="vanished">la posición en la rampa de la que seleccionar el color, como un número real entre 0 y 1</translation>
+        <translation>la posición en la rampa de la que seleccionar el color, como un número real entre 0 y 1</translation>
     </message>
     <message>
         <source>ramp_color('Spectral',0.3)</source>
-        <translation type="vanished">ramp_color('Spectral',0.3)</translation>
+        <translation>ramp_color('Spectral',0.3)</translation>
     </message>
     <message>
         <source>'253,190,115,255'</source>
-        <translation type="vanished">'253,190,115,255'</translation>
+        <translation>'253,190,115,255'</translation>
     </message>
     <message>
         <source>The color ramps available vary between QGIS installations. This function may not give the expected results if you move your QGIS project between installations.</source>
-        <translation type="vanished">Las rampas de color disponibles varían entre instalaciones de QGIS. Esta función puede no dar el resultado esperado su mueve su proyecto de QGIS entre instalaciones.</translation>
+        <translation>Las rampas de color disponibles varían entre instalaciones de QGIS. Esta función puede no dar el resultado esperado su mueve su proyecto de QGIS entre instalaciones.</translation>
     </message>
     <message>
         <source>Returns a random integer within the range specified by the minimum and maximum argument (inclusive).</source>
-        <translation type="vanished">Devuelve un entero aleatorio dentro del rango especificado por los argumentos mínimo y máximo (incluidos).</translation>
+        <translation>Devuelve un entero aleatorio dentro del rango especificado por los argumentos mínimo y máximo (incluidos).</translation>
     </message>
     <message>
         <source>rand</source>
-        <translation type="vanished">rand</translation>
+        <translation>rand</translation>
     </message>
     <message>
         <source>an integer representing the smallest possible random number desired</source>
-        <translation type="vanished">un entero que representa el menor número aleatorio posible deseado</translation>
+        <translation>un entero que representa el menor número aleatorio posible deseado</translation>
     </message>
     <message>
         <source>an integer representing the largest possible random number desired</source>
-        <translation type="vanished">un entero que representa el mayor número aleatorio posible deseado</translation>
+        <translation>un entero que representa el mayor número aleatorio posible deseado</translation>
     </message>
     <message>
         <source>rand(1, 10)</source>
-        <translation type="vanished">rand(1, 10)</translation>
+        <translation>rand(1, 10)</translation>
     </message>
     <message>
         <source>8</source>
-        <translation type="vanished">8</translation>
+        <translation>8</translation>
     </message>
     <message>
         <source>Returns a random float within the range specified by the minimum and maximum argument (inclusive).</source>
-        <translation type="vanished">Devuelve un número de coma flotante dentro del rango especificado por los argumentos mínimo y máximo (incluidos).</translation>
+        <translation>Devuelve un número de coma flotante dentro del rango especificado por los argumentos mínimo y máximo (incluidos).</translation>
     </message>
     <message>
         <source>randf</source>
-        <translation type="vanished">randf</translation>
+        <translation>randf</translation>
     </message>
     <message>
         <source>an float representing the smallest possible random number desired</source>
-        <translation type="vanished">un número de coma flotante que representa el menor número aleatorio posible deseado</translation>
+        <translation>un número de coma flotante que representa el menor número aleatorio posible deseado</translation>
     </message>
     <message>
         <source>an float representing the largest possible random number desired</source>
-        <translation type="vanished">un número de coma flotante que representa el mayor número aleatorio posible deseado</translation>
+        <translation>un número de coma flotante que representa el mayor número aleatorio posible deseado</translation>
     </message>
     <message>
         <source>randf(1, 10)</source>
-        <translation type="vanished">randf(1, 10)</translation>
+        <translation>randf(1, 10)</translation>
     </message>
     <message>
         <source>4.59258286403147</source>
-        <translation type="vanished">4.59258286403147</translation>
+        <translation>4.59258286403147</translation>
     </message>
     <message>
         <source>Returns the aggregate range of values (maximum - minimum) from a field or expression.</source>
-        <translation type="vanished">Devuelve el rango agregado de valores (máximo - mínimo) de un campo o expresión.</translation>
+        <translation>Devuelve el rango agregado de valores (máximo - mínimo) de un campo o expresión.</translation>
     </message>
     <message>
         <source>range</source>
-        <translation type="vanished">intervalo</translation>
+        <translation>intervalo</translation>
     </message>
     <message>
         <source>range("population",group_by:="state")</source>
-        <translation type="vanished">rango("población",agrupar_por:="estado")</translation>
+        <translation>rango("población",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>range of population values, grouped by state field</source>
-        <translation type="vanished">rango de valores de población, agrupado por el campo estado</translation>
+        <translation>rango de valores de población, agrupado por el campo estado</translation>
     </message>
     <message>
         <source>Returns true if any part of a string matches the supplied regular expression.</source>
-        <translation type="vanished">Devuelve verdadero si cualquier parte de una cadena coincide con la expresión regular proporcionada.</translation>
+        <translation>Devuelve verdadero si cualquier parte de una cadena coincide con la expresión regular proporcionada.</translation>
     </message>
     <message>
         <source>regexp_match</source>
-        <translation type="vanished">regexp_match</translation>
+        <translation>regexp_match</translation>
     </message>
     <message>
         <source>the string to test against the regular expression</source>
-        <translation type="vanished">La cadena a probar frente a la expresión regular</translation>
+        <translation>La cadena a probar frente a la expresión regular</translation>
     </message>
     <message>
         <source>The regular expression to test against. Backslash characters must be double escaped (eg "\s" to match a white space character). Non-greedy regular expressions are not supported.</source>
-        <translation type="vanished">La expresión regular frente a la que probar. El carácter barra invertida se debe escapar doblemente (ej.: "\s" para capturar un carácter espacio en blanco). No se admiten las expresiones regulares "non-greedy".</translation>
+        <translation>La expresión regular frente a la que probar. El carácter barra invertida se debe escapar doblemente (ej.: "\s" para capturar un carácter espacio en blanco). No se admiten las expresiones regulares "non-greedy".</translation>
     </message>
     <message>
         <source>regexp_match('QGIS ROCKS','\sROCKS')</source>
-        <translation type="vanished">regexp_match('QGIS MOLA','\\sMOLA')</translation>
+        <translation>regexp_match('QGIS MOLA','\\sMOLA')</translation>
     </message>
     <message>
         <source>Returns a string with the supplied regular expression replaced.</source>
-        <translation type="vanished">Devuelve una cadena en la que se ha remplazado la expresión regular proporcionada.</translation>
+        <translation>Devuelve una cadena en la que se ha remplazado la expresión regular proporcionada.</translation>
     </message>
     <message>
         <source>regexp_replace</source>
-        <translation type="vanished">regexp_replace</translation>
+        <translation>regexp_replace</translation>
     </message>
     <message>
         <source>the string to replace matches in</source>
-        <translation type="vanished">la cadena a remplazar en las coincidencias</translation>
+        <translation>la cadena a remplazar en las coincidencias</translation>
     </message>
     <message>
         <source>The regular expression to replace. Backslash characters must be double escaped (eg "\s" to match a white space character). Non-greedy regular expressions are not supported.</source>
-        <translation type="vanished">La expresión regular a remplazar. El carácter barra invertida se debe escapar doblemente (ej.: "\s" para capturar un carácter espacio en blanco). No se admiten las expresiones regulares "non-greedy".</translation>
+        <translation>La expresión regular a remplazar. El carácter barra invertida se debe escapar doblemente (ej.: "\s" para capturar un carácter espacio en blanco). No se admiten las expresiones regulares "non-greedy".</translation>
     </message>
     <message>
         <source>The string that will replace any matching occurrences of the supplied regular expression. Captured groups can be inserted into the replacement string using \1, \2, etc.</source>
-        <translation type="vanished">La cadena que remplazará cualquier coincidencia con la expresión regular. Los grupos capturados se pueden insertar en la cadena de remplazo usando \1, \2, etc.</translation>
+        <translation>La cadena que remplazará cualquier coincidencia con la expresión regular. Los grupos capturados se pueden insertar en la cadena de remplazo usando \1, \2, etc.</translation>
     </message>
     <message>
         <source>regexp_replace('QGIS SHOULD ROCK','\sSHOULD\s',' DOES ')</source>
-        <translation type="vanished">regexp_replace('QGIS SERÍA GUAY','\\sSERÍA\\s',' ES ')</translation>
+        <translation>regexp_replace('QGIS SERÍA GUAY','\\sSERÍA\\s',' ES ')</translation>
     </message>
     <message>
         <source>'QGIS DOES ROCK'</source>
-        <translation type="vanished">'QGIS ES GUAY'</translation>
+        <translation>'QGIS ES GUAY'</translation>
     </message>
     <message>
         <source>Returns the portion of a string which matches a supplied regular expression.</source>
-        <translation type="vanished">Devuelve la parte de una cadena que coincide con una expresión regular proporcionada.</translation>
+        <translation>Devuelve la parte de una cadena que coincide con una expresión regular proporcionada.</translation>
     </message>
     <message>
         <source>regexp_substr</source>
-        <translation type="vanished">regexp_substr</translation>
+        <translation>regexp_substr</translation>
     </message>
     <message>
         <source>the string to find matches in</source>
-        <translation type="vanished">la cadena en la que encontrar coincidencias</translation>
+        <translation>la cadena en la que encontrar coincidencias</translation>
     </message>
     <message>
         <source>The regular expression to match against. Backslash characters must be double escaped (eg "\s" to match a white space character). Non-greedy regular expressions are not supported.</source>
-        <translation type="vanished">La expresión regular frente a la que probar. El carácter barra invertida se debe escapar doblemente (ej.: "\s" para capturar un carácter espacio en blanco). No se admiten las expresiones regulares "non-greedy".</translation>
+        <translation>La expresión regular frente a la que probar. El carácter barra invertida se debe escapar doblemente (ej.: "\s" para capturar un carácter espacio en blanco). No se admiten las expresiones regulares "non-greedy".</translation>
     </message>
     <message>
         <source>regexp_substr('abc123','(\d+)')</source>
-        <translation type="vanished">regexp_substr('abc123','(\d+)')</translation>
+        <translation>regexp_substr('abc123','(\d+)')</translation>
     </message>
     <message>
         <source>'123'</source>
-        <translation type="vanished">'123'</translation>
+        <translation>'123'</translation>
     </message>
     <message>
         <source>Tests the Dimensional Extended 9 Intersection Model (DE-9IM) representation of the relationship between two geometries.</source>
-        <translation type="vanished">Prueba la representación del Modelo de Intersección 9 Extendido Dimensional (DE-9IM) de la relación entre dos geometrías.</translation>
+        <translation>Prueba la representación del Modelo de Intersección 9 Extendido Dimensional (DE-9IM) de la relación entre dos geometrías.</translation>
     </message>
     <message>
         <source>Relationship variant</source>
-        <translation type="vanished">Variante de relación</translation>
+        <translation>Variante de relación</translation>
     </message>
     <message>
         <source>Returns the Dimensional Extended 9 Intersection Model (DE-9IM) representation of the relationship between two geometries.</source>
-        <translation type="vanished">Devuelve la representación del Modelo de Intersección 9 Extendido Dimensional (DE-9IM) de la relación entre dos geometrías.</translation>
+        <translation>Devuelve la representación del Modelo de Intersección 9 Extendido Dimensional (DE-9IM) de la relación entre dos geometrías.</translation>
     </message>
     <message>
         <source>relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ) )</source>
-        <translation type="vanished">relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ) )</translation>
+        <translation>relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ) )</translation>
     </message>
     <message>
         <source>'FF1F00102'</source>
-        <translation type="vanished">'FF1F00102'</translation>
+        <translation>'FF1F00102'</translation>
     </message>
     <message>
         <source>Pattern match variant</source>
-        <translation type="vanished">Variante de coincidencia de patrón</translation>
+        <translation>Variante de coincidencia de patrón</translation>
     </message>
     <message>
         <source>Tests whether the DE-9IM relationship between two geometries matches a specified pattern.</source>
-        <translation type="vanished">Prueba si la relación DE-9IM entre dos geometrías coincide con el patrón especificado.</translation>
+        <translation>Prueba si la relación DE-9IM entre dos geometrías coincide con el patrón especificado.</translation>
     </message>
     <message>
         <source>DE-9IM pattern to match</source>
-        <translation type="vanished">Patrón DE-9IM con el que coincidir</translation>
+        <translation>Patrón DE-9IM con el que coincidir</translation>
     </message>
     <message>
         <source>True</source>
-        <translation type="vanished">Verdadero</translation>
+        <translation>Verdadero</translation>
     </message>
     <message>
         <source>Returns an aggregate value calculated using all matching child features from a layer relation.</source>
-        <translation type="vanished">Devuelve un valor agregado calculado usando todos los objetos hijos coincidentes de una relación de capas.</translation>
+        <translation>Devuelve un valor agregado calculado usando todos los objetos hijos coincidentes de una relación de capas.</translation>
     </message>
     <message>
         <source>a string, representing a relation ID</source>
-        <translation type="vanished">una cadena que representa una ID de relación</translation>
+        <translation>una cadena que representa una ID de relación</translation>
     </message>
     <message>
         <source>mean value of all matching child features using the 'my_relation' relation</source>
-        <translation type="vanished">valor medio de todos los objetos hijos coincidentes usando la relación 'mi_relación'</translation>
+        <translation>valor medio de todos los objetos hijos coincidentes usando la relación 'mi_relación'</translation>
     </message>
     <message>
         <source>sum of the passengers field divided by 7 for all matching child features using the 'my_relation' relation</source>
-        <translation type="vanished">suma del campo pasajeros dividido por 7 de todos los objetos hijos coincidentes usando la relación 'mi_relación'</translation>
+        <translation>suma del campo pasajeros dividido por 7 de todos los objetos hijos coincidentes usando la relación 'mi_relación'</translation>
     </message>
     <message>
         <source>comma separated list of the towns field for all matching child features using the 'my_relation' relation</source>
-        <translation type="vanished">lista separada por coma del campo ciudades para todos los objetos hijos coincidentes usando la relación 'mi_relación' </translation>
+        <translation>lista separada por coma del campo ciudades para todos los objetos hijos coincidentes usando la relación 'mi_relación' </translation>
     </message>
     <message>
         <source>Returns a string with the the supplied string replaced.</source>
-        <translation type="vanished">Devuelve una cadena en la que se ha remplazado la cadena proporcionada.</translation>
+        <translation>Devuelve una cadena en la que se ha remplazado la cadena proporcionada.</translation>
     </message>
     <message>
         <source>replace</source>
-        <translation type="vanished">remplazar</translation>
+        <translation>remplazar</translation>
     </message>
     <message>
         <source>the input string</source>
-        <translation type="vanished">la cadena de entrada</translation>
+        <translation>la cadena de entrada</translation>
     </message>
     <message>
         <source>the string to replace</source>
-        <translation type="vanished">la cadena a remplazar</translation>
+        <translation>la cadena a remplazar</translation>
     </message>
     <message>
         <source>the string to use as a replacement</source>
-        <translation type="vanished">la cadena a usar como remplazo</translation>
+        <translation>la cadena a usar como remplazo</translation>
     </message>
     <message>
         <source>replace('QGIS SHOULD ROCK','SHOULD','DOES')</source>
-        <translation type="vanished">replace('QGIS SERÍA GUAY','SERÍA','ES')</translation>
+        <translation>replace('QGIS SERÍA GUAY','SERÍA','ES')</translation>
     </message>
     <message>
         <source>Reverses the direction of a line string by reversing the order of its vertices.</source>
-        <translation type="vanished">Cambia el sentido de una línea invirtiendo el orden de sus vértices.</translation>
+        <translation>Cambia el sentido de una línea invirtiendo el orden de sus vértices.</translation>
     </message>
     <message>
         <source>reverse</source>
-        <translation type="vanished">invertir</translation>
+        <translation>invertir</translation>
     </message>
     <message>
         <source>'LINESTRING(2 2, 1 1, 0 0)'</source>
-        <translation type="vanished">'LINESTRING(2 2, 1 1, 0 0)'</translation>
+        <translation>'LINESTRING(2 2, 1 1, 0 0)'</translation>
     </message>
     <message>
         <source>Returns a substring that contains the <i>n</i> rightmost characters of the string.</source>
-        <translation type="vanished">Devuelve una subcadena que contiene los <i>n</i> caracteres más a la derecha de la cadena.</translation>
+        <translation>Devuelve una subcadena que contiene los <i>n</i> caracteres más a la derecha de la cadena.</translation>
     </message>
     <message>
         <source>right</source>
-        <translation type="vanished">right</translation>
+        <translation>right</translation>
     </message>
     <message>
         <source>integer. The number of characters from the right of the string to return.</source>
-        <translation type="vanished">Entero. El número de caracteres a devolver desde la derecha de la cadena.</translation>
+        <translation>Entero. El número de caracteres a devolver desde la derecha de la cadena.</translation>
     </message>
     <message>
         <source>right('Hello World',5)</source>
-        <translation type="vanished">right('Hola Mundo',5)</translation>
+        <translation>right('Hola Mundo',5)</translation>
     </message>
     <message>
         <source>'World'</source>
-        <translation type="vanished">'Mundo'</translation>
+        <translation>'Mundo'</translation>
     </message>
     <message>
         <source>Rounds a number to number of decimal places.</source>
-        <translation type="vanished">Redondea un número al número de posiciones decimales.</translation>
+        <translation>Redondea un número al número de posiciones decimales.</translation>
     </message>
     <message>
         <source>round</source>
-        <translation type="vanished">round</translation>
+        <translation>round</translation>
     </message>
     <message>
         <source>decimal number to be rounded</source>
-        <translation type="vanished">número decimal a redondear</translation>
+        <translation>número decimal a redondear</translation>
     </message>
     <message>
         <source>Optional integer representing number of places to round decimals to. Can be negative.</source>
-        <translation type="vanished">Entero opcional que representa el número de posiciones decimales al que redondear. Puede ser negativo.</translation>
+        <translation>Entero opcional que representa el número de posiciones decimales al que redondear. Puede ser negativo.</translation>
     </message>
     <message>
         <source>round(1234.567, 2)</source>
-        <translation type="vanished">round(1234.567, 2)</translation>
+        <translation>round(1234.567, 2)</translation>
     </message>
     <message>
         <source>1234.57</source>
-        <translation type="vanished">1234.57</translation>
+        <translation>1234.57</translation>
     </message>
     <message>
         <source>round(1234.567)</source>
-        <translation type="vanished">round(1234.567)</translation>
+        <translation>round(1234.567)</translation>
     </message>
     <message>
         <source>1235</source>
-        <translation type="vanished">1235</translation>
+        <translation>1235</translation>
     </message>
     <message>
         <source>rpad</source>
-        <translation type="vanished">rpad</translation>
+        <translation>rpad</translation>
     </message>
     <message>
         <source>rpad('Hello', 10, 'x')</source>
-        <translation type="vanished">rpad('Hola', 10, 'x')</translation>
+        <translation>rpad('Hola', 10, 'x')</translation>
     </message>
     <message>
         <source>'Helloxxxxx'</source>
-        <translation type="vanished">'Holaxxxxxx'</translation>
+        <translation>'Holaxxxxxx'</translation>
     </message>
     <message>
         <source>Transforms a given value from an input domain to an output range using an exponential curve. This function can be used to ease values in or out of the specified output range.</source>
-        <translation type="vanished">Transforma un valor dado de un dominio de entrada a un rango de salida usando una curva exponencial. Esta función se puede usar para facilitar valores dentro o fuera del rango de salida especificado.</translation>
+        <translation>Transforma un valor dado de un dominio de entrada a un rango de salida usando una curva exponencial. Esta función se puede usar para facilitar valores dentro o fuera del rango de salida especificado.</translation>
     </message>
     <message>
         <source>scale_exp</source>
-        <translation type="vanished">scale_exp</translation>
+        <translation>scale_exp</translation>
     </message>
     <message>
         <source>A value in the input domain. The function will return a corresponding scaled value in the output range.</source>
-        <translation type="vanished">Un valor del dominio de entrada. La función devolverá un valor escalado correspondiente en el rango de salida.</translation>
+        <translation>Un valor del dominio de entrada. La función devolverá un valor escalado correspondiente en el rango de salida.</translation>
     </message>
     <message>
         <source>Specifies the minimum value in the input domain, the smallest value the input value should take.</source>
-        <translation type="vanished">Especifica el valor mínimo del dominio de entrada, el valor más pequeño que debería tomar el valor de entrada.</translation>
+        <translation>Especifica el valor mínimo del dominio de entrada, el valor más pequeño que debería tomar el valor de entrada.</translation>
     </message>
     <message>
         <source>Specifies the maximum value in the input domain, the largest value the input value should take.</source>
-        <translation type="vanished">Especifica el valor máximo del dominio de entrada, el valor más grande que debería tomar el valor de entrada.</translation>
+        <translation>Especifica el valor máximo del dominio de entrada, el valor más grande que debería tomar el valor de entrada.</translation>
     </message>
     <message>
         <source>Specifies the minimum value in the output range, the smallest value which should be output by the function.</source>
-        <translation type="vanished">Especifica el valor mínimo del dominio de salida, el valor más pequeño que debería producir la función.</translation>
+        <translation>Especifica el valor mínimo del dominio de salida, el valor más pequeño que debería producir la función.</translation>
     </message>
     <message>
         <source>Specifies the maximum value in the output range, the largest value which should be output by the function.</source>
-        <translation type="vanished">Especifica el valor máximo del dominio de salida, el valor más grande que debería producir la función.</translation>
+        <translation>Especifica el valor máximo del dominio de salida, el valor más grande que debería producir la función.</translation>
     </message>
     <message>
         <source>A positive value (greater than 0), which dictates the way input values are mapped to the output range. Large exponents will cause the output values to 'ease in', starting slowly before accelerating as the input values approach the domain maximum. Smaller exponents (less than 1) will cause output values to 'ease out', where the mapping starts quickly but slows as it approaches the domain maximum.</source>
-        <translation type="vanished">Un valor positivo (mayor que 0) que dicta la forma en la que los valores de entrada son trasladados al rango de salida. Exponentes grandes harán que los valores de salida "converjan", comenzando lentamente antes de acelerar a medida que los valores de entrada se acercan al máximo del dominio. Exponentes más pequeños (menores que 1) harán que los valores de salida "diverjan", de forma que el traslado comienza rápidamente pero se ral [...]
+        <translation>Un valor positivo (mayor que 0) que dicta la forma en la que los valores de entrada son trasladados al rango de salida. Exponentes grandes harán que los valores de salida "converjan", comenzando lentamente antes de acelerar a medida que los valores de entrada se acercan al máximo del dominio. Exponentes más pequeños (menores que 1) harán que los valores de salida "diverjan", de forma que el traslado comienza rápidamente pero se ralentiza a medida  [...]
     </message>
     <message>
         <source>scale_exp(5,0,10,0,100,2)</source>
-        <translation type="vanished">scale_exp(5,0,10,0,100,2)</translation>
+        <translation>scale_exp(5,0,10,0,100,2)</translation>
     </message>
     <message>
         <source>25</source>
-        <translation type="vanished">25</translation>
+        <translation>25</translation>
     </message>
     <message>
         <source>easing in, using an exponent of 2</source>
-        <translation type="vanished">"convergiendo", usando un exponente de 2</translation>
+        <translation>"convergiendo", usando un exponente de 2</translation>
     </message>
     <message>
         <source>scale_exp(3,0,10,0,100,0.5)</source>
-        <translation type="vanished">scale_exp(3,0,10,0,100,0.5)</translation>
+        <translation>scale_exp(3,0,10,0,100,0.5)</translation>
     </message>
     <message>
         <source>54.772</source>
-        <translation type="vanished">54.772</translation>
+        <translation>54.772</translation>
     </message>
     <message>
         <source>easing out, using an exponent of 0.5</source>
-        <translation type="vanished">"divergiendo", usando un exponente de 0,5</translation>
+        <translation>"divergiendo", usando un exponente de 0,5</translation>
     </message>
     <message>
         <source>Transforms a given value from an input domain to an output range using linear interpolation.</source>
-        <translation type="vanished">Transforma un valor dado de un dominio de entrada a un rango de salida usando interpolación lineal.</translation>
+        <translation>Transforma un valor dado de un dominio de entrada a un rango de salida usando interpolación lineal.</translation>
     </message>
     <message>
         <source>scale_linear</source>
-        <translation type="vanished">scale_linear</translation>
+        <translation>scale_linear</translation>
     </message>
     <message>
         <source>scale_linear(5,0,10,0,100)</source>
-        <translation type="vanished">scale_linear(5,0,10,0,100)</translation>
+        <translation>scale_linear(5,0,10,0,100)</translation>
     </message>
     <message>
         <source>72</source>
-        <translation type="vanished">72</translation>
+        <translation>72</translation>
     </message>
     <message>
         <source>scale_linear(0.2,0,1,0,360)</source>
-        <translation type="vanished">scale_linear(0.2,0,1,0,360)</translation>
+        <translation>scale_linear(0.2,0,1,0,360)</translation>
     </message>
     <message>
         <source>scaling a value between 0 and 1 to an angle between 0 and 360</source>
-        <translation type="vanished">escalando un valor entre 0 y 1 a un ángulo entre 0 y 360</translation>
+        <translation>escalando un valor entre 0 y 1 a un ángulo entre 0 y 360</translation>
     </message>
     <message>
         <source>scale_linear(1500,1000,10000,9,20)</source>
-        <translation type="vanished">scale_linear(1500,1000,10000,9,20)</translation>
+        <translation>scale_linear(1500,1000,10000,9,20)</translation>
     </message>
     <message>
         <source>10.22</source>
-        <translation type="vanished">10.22</translation>
+        <translation>10.22</translation>
     </message>
     <message>
         <source>scaling a population which varies between 1000 and 10000 to a font size between 9 and 20</source>
-        <translation type="vanished">escalando una poblacion que varía entre 1000 y 10000 a un tamaño de letra entre 9 y 20</translation>
+        <translation>escalando una poblacion que varía entre 1000 y 10000 a un tamaño de letra entre 9 y 20</translation>
     </message>
     <message>
         <source>Extract the seconds part from a datetime or time, or the number of seconds from an interval.</source>
-        <translation type="vanished">Extrae los segundos de una fecha y hora u hora o el número de segundos de un intervalo.</translation>
+        <translation>Extrae los segundos de una fecha y hora u hora o el número de segundos de un intervalo.</translation>
     </message>
     <message>
         <source>Extract the seconds part from a time or datetime.</source>
-        <translation type="vanished">Extrae los segundos de una hora o fecha y hora.</translation>
+        <translation>Extrae los segundos de una hora o fecha y hora.</translation>
     </message>
     <message>
         <source>second('2012-07-22T13:24:57')</source>
-        <translation type="vanished">second('2012-07-22T13:24:57')</translation>
+        <translation>second('2012-07-22T13:24:57')</translation>
     </message>
     <message>
         <source>57</source>
-        <translation type="vanished">57</translation>
+        <translation>57</translation>
     </message>
     <message>
         <source>Calculate the length in seconds of an interval.</source>
-        <translation type="vanished">Calcula la longitud en segundos de un intervalo.</translation>
+        <translation>Calcula la longitud en segundos de un intervalo.</translation>
     </message>
     <message>
         <source>interval value to return number of seconds from</source>
-        <translation type="vanished">intervalo del que devolver el número de segundos </translation>
+        <translation>intervalo del que devolver el número de segundos </translation>
     </message>
     <message>
         <source>second(age('2012-07-22T00:20:00','2012-07-22T00:00:00'))</source>
-        <translation type="vanished">second(age('2012-07-22T00:20:00','2012-07-22T00:00:00'))</translation>
+        <translation>second(age('2012-07-22T00:20:00','2012-07-22T00:00:00'))</translation>
     </message>
     <message>
         <source>1200</source>
-        <translation type="vanished">1200</translation>
+        <translation>1200</translation>
     </message>
     <message>
         <source>second(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">second(age('2012-01-01','2010-01-01'))</translation>
+        <translation>second(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>63072000</source>
-        <translation type="vanished">63072000</translation>
+        <translation>63072000</translation>
     </message>
     <message>
         <source>Returns a multi line geometry consisting of a line for every segment in the input geometry.</source>
-        <translation type="vanished">Devuelve una geometría multilínea que consiste en una línea para cada segmento de la geometría de entrada.</translation>
+        <translation>Devuelve una geometría multilínea que consiste en una línea para cada segmento de la geometría de entrada.</translation>
     </message>
     <message>
         <source>segments_to_lines</source>
-        <translation type="vanished">segments_to_lines</translation>
+        <translation>segments_to_lines</translation>
     </message>
     <message>
         <source>Sets a specific color component for a color string, eg the red component or alpha component.</source>
-        <translation type="vanished">Establece el componente de un color específico para la cadena de un color, por ejemplo el componente rojo o el alfa.</translation>
+        <translation>Establece el componente de un color específico para la cadena de un color, por ejemplo el componente rojo o el alfa.</translation>
     </message>
     <message>
         <source>set_color_part</source>
-        <translation type="vanished">set_color_part</translation>
+        <translation>set_color_part</translation>
     </message>
     <message>
         <source>a string corresponding to the color component to set. Valid options are:<br /><ul><li>red: RGB red component (0-255)</li><li>green: RGB green component (0-255)</li><li>blue: RGB blue component (0-255)</li><li>alpha: alpha (transparency) value (0-255)</li><li>hue: HSV hue (0-360)</li><li>saturation: HSV saturation (0-100)</li><li>value: HSV value (0-100)</li><li>hsl_hue: H [...]
-        <translation type="vanished">una cadena que corresponde al componente del color a establecer. Las opciones válidas son:<br /><ul><li>red: componente rojo RGB (0-255)</li><li>green: componente verde RGB (0-255)</li><li>blue: componente azul RGB (0-255)</li><li>alpha: valor alfa (transparencia) (0-255)</li><li>hue: matiz HSV (0-360)</li><li>saturation: saturación HSV (0-100)</li><li>value: val [...]
+        <translation>una cadena que corresponde al componente del color a establecer. Las opciones válidas son:<br /><ul><li>red: componente rojo RGB (0-255)</li><li>green: componente verde RGB (0-255)</li><li>blue: componente azul RGB (0-255)</li><li>alpha: valor alfa (transparencia) (0-255)</li><li>hue: matiz HSV (0-360)</li><li>saturation: saturación HSV (0-100)</li><li>value: valor HSV (0-100)&l [...]
     </message>
     <message>
         <source>new value for color component, respecting the ranges listed above</source>
-        <translation type="vanished">valor nuevo para el componente de color, restetando los rangos listados arriba</translation>
+        <translation>valor nuevo para el componente de color, restetando los rangos listados arriba</translation>
     </message>
     <message>
         <source>set_color_part('200,10,30','green',50)</source>
-        <translation type="vanished">set_color_part('200,10,30','green',50)</translation>
+        <translation>set_color_part('200,10,30','green',50)</translation>
     </message>
     <message>
         <source>200,50,30</source>
-        <translation type="vanished">200,50,30</translation>
+        <translation>200,50,30</translation>
     </message>
     <message>
         <source>Returns the shortest line joining geometry 1 to geometry 2. The resultant line will start at geometry 1 and end at geometry 2.</source>
-        <translation type="vanished">Devuelve la línea más corta que une la geometría 1 con la geometría 2. La línea resultante empezará en la geometría 1 y terminará en la geometría 2.</translation>
+        <translation>Devuelve la línea más corta que une la geometría 1 con la geometría 2. La línea resultante empezará en la geometría 1 y terminará en la geometría 2.</translation>
     </message>
     <message>
         <source>shortest_line</source>
-        <translation type="vanished">shortest_line</translation>
+        <translation>shortest_line</translation>
     </message>
     <message>
         <source>geometry to find shortest line from</source>
-        <translation type="vanished">geometría desde la que encontrar la línea más corta</translation>
+        <translation>geometría desde la que encontrar la línea más corta</translation>
     </message>
     <message>
         <source>geometry to find shortest line to</source>
-        <translation type="vanished">geometría hasta la que encontrar la línea más corta</translation>
+        <translation>geometría hasta la que encontrar la línea más corta</translation>
     </message>
     <message>
         <source>Returns the sine of an angle.</source>
-        <translation type="vanished">Devuelve el seno de un ángulo.</translation>
+        <translation>Devuelve el seno de un ángulo.</translation>
     </message>
     <message>
         <source>sin</source>
-        <translation type="vanished">sen</translation>
+        <translation>sen</translation>
     </message>
     <message>
         <source>sin(1.571)</source>
-        <translation type="vanished">sin(1.571)</translation>
+        <translation>sin(1.571)</translation>
     </message>
     <message>
         <source>0.999999682931835</source>
-        <translation type="vanished">0.999999682931835</translation>
+        <translation>0.999999682931835</translation>
     </message>
     <message>
         <source>Returns the Soundex representation of a string. Soundex is a phonetic matching algorithm, so strings with similar sounds should be represented by the same Soundex code.</source>
-        <translation type="vanished">Devuelve la representación Soundex de una cadena. Soundex es un algoritmo de coincidencia fonética, de forma que cadenas con sonidos similares deben representarse por el mismo código Soundex.</translation>
+        <translation>Devuelve la representación Soundex de una cadena. Soundex es un algoritmo de coincidencia fonética, de forma que cadenas con sonidos similares deben representarse por el mismo código Soundex.</translation>
     </message>
     <message>
         <source>soundex</source>
-        <translation type="vanished">soundex</translation>
+        <translation>soundex</translation>
     </message>
     <message>
         <source>soundex('robert')</source>
-        <translation type="vanished">soundex('robert')</translation>
+        <translation>soundex('robert')</translation>
     </message>
     <message>
         <source>'R163'</source>
-        <translation type="vanished">'R163'</translation>
+        <translation>'R163'</translation>
     </message>
     <message>
         <source>soundex('rupert')</source>
-        <translation type="vanished">soundex('rupert')</translation>
+        <translation>soundex('rupert')</translation>
     </message>
     <message>
         <source>soundex('rubin')</source>
-        <translation type="vanished">soundex('rubin')</translation>
+        <translation>soundex('rubin')</translation>
     </message>
     <message>
         <source>'R150'</source>
-        <translation type="vanished">'R150'</translation>
+        <translation>'R150'</translation>
     </message>
     <message>
         <source>Returns square root of a value.</source>
-        <translation type="vanished">Devuelve la raíz cuadrada de un valor.</translation>
+        <translation>Devuelve la raíz cuadrada de un valor.</translation>
     </message>
     <message>
         <source>sqrt</source>
-        <translation type="vanished">raíz cuadrada</translation>
+        <translation>raíz cuadrada</translation>
     </message>
     <message>
         <source>sqrt(9)</source>
-        <translation type="vanished">sqrt(9)</translation>
+        <translation>sqrt(9)</translation>
     </message>
     <message>
         <source>Returns the first node from a geometry.</source>
-        <translation type="vanished">Devuelve el primer nodo de una geometría.</translation>
+        <translation>Devuelve el primer nodo de una geometría.</translation>
     </message>
     <message>
         <source>start_point</source>
-        <translation type="vanished">start_point</translation>
+        <translation>start_point</translation>
     </message>
     <message>
         <source>geom_to_wkt(start_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</source>
-        <translation type="vanished">geom_to_wkt(start_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</translation>
+        <translation>geom_to_wkt(start_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)')))</translation>
     </message>
     <message>
         <source>Returns the aggregate standard deviation value from a field or expression.</source>
-        <translation type="vanished">Devuelve la desviación estándar agregada a partir de un campo o expresión.</translation>
+        <translation>Devuelve la desviación estándar agregada a partir de un campo o expresión.</translation>
     </message>
     <message>
         <source>stdev</source>
-        <translation type="vanished">stdev</translation>
+        <translation>stdev</translation>
     </message>
     <message>
         <source>stdev("population",group_by:="state")</source>
-        <translation type="vanished">desv_est("población",agrupar_por:="estado")</translation>
+        <translation>desv_est("población",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>standard deviation of population value, grouped by state field</source>
-        <translation type="vanished">desviación estándar del valor de población, agrupado por el campo estado</translation>
+        <translation>desviación estándar del valor de población, agrupado por el campo estado</translation>
     </message>
     <message>
         <source>Return the first matching position of a substring within another string, or 0 if the substring is not found.</source>
-        <translation type="vanished">Devuelve la primera posición coincidente de una subcadena dentro de otra cadena o 0 si no se encuentra la subcadena.</translation>
+        <translation>Devuelve la primera posición coincidente de una subcadena dentro de otra cadena o 0 si no se encuentra la subcadena.</translation>
     </message>
     <message>
         <source>strpos</source>
-        <translation type="vanished">strpos</translation>
+        <translation>strpos</translation>
     </message>
     <message>
         <source>string that is to be searched</source>
-        <translation type="vanished">cadena en la que buscar</translation>
+        <translation>cadena en la que buscar</translation>
     </message>
     <message>
         <source>string to search for</source>
-        <translation type="vanished">cadena a buscar</translation>
+        <translation>cadena a buscar</translation>
     </message>
     <message>
         <source>strpos('HELLO WORLD','WORLD')</source>
-        <translation type="vanished">strpos('ADIÓS MUNDO','MUNDO')</translation>
+        <translation>strpos('ADIÓS MUNDO','MUNDO')</translation>
     </message>
     <message>
         <source>strpos('HELLO WORLD','GOODBYE')</source>
-        <translation type="vanished">strpos('HOLA MUNDO','ADIÓS')</translation>
+        <translation>strpos('HOLA MUNDO','ADIÓS')</translation>
     </message>
     <message>
         <source>Returns a part of a string.</source>
-        <translation type="vanished">Devuelve una parte de una cadena.</translation>
+        <translation>Devuelve una parte de una cadena.</translation>
     </message>
     <message>
         <source>substr</source>
-        <translation type="vanished">substr</translation>
+        <translation>substr</translation>
     </message>
     <message>
         <source>the full input string</source>
-        <translation type="vanished">la cadena de entrada completa</translation>
+        <translation>la cadena de entrada completa</translation>
     </message>
     <message>
         <source>integer representing start position to extract from</source>
-        <translation type="vanished">entero que representa la posición inicial desde la que extraer</translation>
+        <translation>entero que representa la posición inicial desde la que extraer</translation>
     </message>
     <message>
         <source>integer representing length of string to extract</source>
-        <translation type="vanished">entero que representa la longitud de la cadena a extraer</translation>
+        <translation>entero que representa la longitud de la cadena a extraer</translation>
     </message>
     <message>
         <source>substr('HELLO WORLD',3,5)</source>
-        <translation type="vanished">substr('HOLA MUNDO'',3,5)</translation>
+        <translation>substr('HOLA MUNDO'',3,5)</translation>
     </message>
     <message>
         <source>'LLO W'</source>
-        <translation type="vanished">'LA MU'</translation>
+        <translation>'LA MU'</translation>
     </message>
     <message>
         <source>Returns the aggregate summed value from a field or expression.</source>
-        <translation type="vanished">Devuelve el valor sumado agregado a partir de un campo o expresión.</translation>
+        <translation>Devuelve el valor sumado agregado a partir de un campo o expresión.</translation>
     </message>
     <message>
         <source>sum</source>
-        <translation type="vanished">suma</translation>
+        <translation>suma</translation>
     </message>
     <message>
         <source>sum("population",group_by:="state")</source>
-        <translation type="vanished">suma("población",agrupar_por:="estado")</translation>
+        <translation>suma("población",agrupar_por:="estado")</translation>
     </message>
     <message>
         <source>summed population value, grouped by state field</source>
-        <translation type="vanished">valor de población sumado, agrupado por el campo estado</translation>
+        <translation>valor de población sumado, agrupado por el campo estado</translation>
     </message>
     <message>
         <source>Returns a geometry that represents the portions of two geometries that do not intersect.</source>
-        <translation type="vanished">Devuelve una geometría que representa las partes de dos geometrías que no se intersecan.</translation>
+        <translation>Devuelve una geometría que representa las partes de dos geometrías que no se intersecan.</translation>
     </message>
     <message>
         <source>sym_difference</source>
-        <translation type="vanished">sym_difference</translation>
+        <translation>sym_difference</translation>
     </message>
     <message>
         <source>geom_to_wkt( sym_difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 8 8)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( sym_difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 8 8)' ) ) )</translation>
+        <translation>geom_to_wkt( sym_difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 8 8)' ) ) )</translation>
     </message>
     <message>
         <source>LINESTRING(5 5, 8 8)</source>
-        <translation type="vanished">LINESTRING(5 5, 8 8)</translation>
+        <translation>LINESTRING(5 5, 8 8)</translation>
     </message>
     <message>
         <source>Returns the tangent of an angle.</source>
-        <translation type="vanished">Devuelve la tangente de un ángulo.</translation>
+        <translation>Devuelve la tangente de un ángulo.</translation>
     </message>
     <message>
         <source>tan</source>
-        <translation type="vanished">tan</translation>
+        <translation>tan</translation>
     </message>
     <message>
         <source>tan(1.0)</source>
-        <translation type="vanished">tan(1.0)</translation>
+        <translation>tan(1.0)</translation>
     </message>
     <message>
         <source>1.5574077246549</source>
-        <translation type="vanished">1.5574077246549</translation>
+        <translation>1.5574077246549</translation>
     </message>
     <message>
         <source>Converts all words of a string to title case (all words lower case with leading capital letter).</source>
-        <translation type="vanished">Convierte todas las palabras de una cadena a formato de título (todas las palabras en minúscula con la primera letra en mayúscula).</translation>
+        <translation>Convierte todas las palabras de una cadena a formato de título (todas las palabras en minúscula con la primera letra en mayúscula).</translation>
     </message>
     <message>
         <source>title</source>
-        <translation type="vanished">title</translation>
+        <translation>title</translation>
     </message>
     <message>
         <source>the string to convert to title case</source>
-        <translation type="vanished">la cadena a convertir a formato de título</translation>
+        <translation>la cadena a convertir a formato de título</translation>
     </message>
     <message>
         <source>title('hello WOrld')</source>
-        <translation type="vanished">title('hola MUndo')</translation>
+        <translation>title('hola MUndo')</translation>
     </message>
     <message>
         <source>'Hello World'</source>
-        <translation type="vanished">'Hola Mundo'</translation>
+        <translation>'Hola Mundo'</translation>
     </message>
     <message>
         <source>Convert a string into a date object.</source>
-        <translation type="vanished">Convierte una cadena en un objeto fecha.</translation>
+        <translation>Convierte una cadena en un objeto fecha.</translation>
     </message>
     <message>
         <source>to_date</source>
-        <translation type="vanished">to_date</translation>
+        <translation>to_date</translation>
     </message>
     <message>
         <source>string representing a date value</source>
-        <translation type="vanished">cadena que representa un valor de fecha</translation>
+        <translation>cadena que representa un valor de fecha</translation>
     </message>
     <message>
         <source>to_date('2012-05-04')</source>
-        <translation type="vanished">to_date('2012-05-04')</translation>
+        <translation>to_date('2012-05-04')</translation>
     </message>
     <message>
         <source>2012-05-04</source>
-        <translation type="vanished">2012-05-04</translation>
+        <translation>2012-05-04</translation>
     </message>
     <message>
         <source>Convert a string into a datetime object.</source>
-        <translation type="vanished">Convierte una cadena en un objeto fecha y hora.</translation>
+        <translation>Convierte una cadena en un objeto fecha y hora.</translation>
     </message>
     <message>
         <source>to_datetime</source>
-        <translation type="vanished">to_datetime</translation>
+        <translation>to_datetime</translation>
     </message>
     <message>
         <source>string representing a datetime value</source>
-        <translation type="vanished">cadena que representa un valor de fecha y hora</translation>
+        <translation>cadena que representa un valor de fecha y hora</translation>
     </message>
     <message>
         <source>to_datetime('2012-05-04 12:50:00')</source>
-        <translation type="vanished">to_datetime('2012-05-04 12:50:00')</translation>
+        <translation>to_datetime('2012-05-04 12:50:00')</translation>
     </message>
     <message>
         <source>2012-05-04T12:50:00</source>
-        <translation type="vanished">2012-05-04T12:50:00</translation>
+        <translation>2012-05-04T12:50:00</translation>
     </message>
     <message>
         <source>Converts a string to integer number. Nothing is returned if a value cannot be converted to integer (e.g '123asd' is invalid).</source>
-        <translation type="vanished">Convierte una cadena a número entero. No devuelve nada si un valor no se puede convertir a entero (ej.: '123asd' no es válido).</translation>
+        <translation>Convierte una cadena a número entero. No devuelve nada si un valor no se puede convertir a entero (ej.: '123asd' no es válido).</translation>
     </message>
     <message>
         <source>to_int</source>
-        <translation type="vanished">to_int</translation>
+        <translation>to_int</translation>
     </message>
     <message>
         <source>string to convert to integer number</source>
-        <translation type="vanished">cadena a convertir a número entero</translation>
+        <translation>cadena a convertir a número entero</translation>
     </message>
     <message>
         <source>to_int('123')</source>
-        <translation type="vanished">to_int('123')</translation>
+        <translation>to_int('123')</translation>
     </message>
     <message>
         <source>123</source>
-        <translation type="vanished">123</translation>
+        <translation>123</translation>
     </message>
     <message>
         <source>Converts a string to a interval type.  Can be used to take days, hours, month, etc of a date.</source>
-        <translation type="vanished">Convierte una cadena a un tipo intervalo. Se puede usar para tomar días, horas, meses, etc. de una fecha.</translation>
+        <translation>Convierte una cadena a un tipo intervalo. Se puede usar para tomar días, horas, meses, etc. de una fecha.</translation>
     </message>
     <message>
         <source>to_interval</source>
-        <translation type="vanished">to_interval</translation>
+        <translation>to_interval</translation>
     </message>
     <message>
         <source>a string representing an interval. Allowable formats include {n} days {n} hours {n} months.</source>
-        <translation type="vanished">una cadena que representa un intervalo. Los formatos permitidos incluyen {n} días {n} horas {n} meses.</translation>
+        <translation>una cadena que representa un intervalo. Los formatos permitidos incluyen {n} días {n} horas {n} meses.</translation>
     </message>
     <message>
         <source>to_datetime('2012-05-05 12:00:00') - to_interval('1 day 2 hours')</source>
-        <translation type="vanished">to_datetime('2012-05-05 12:00:00') - to_interval('1 día 2 horas')</translation>
+        <translation>to_datetime('2012-05-05 12:00:00') - to_interval('1 día 2 horas')</translation>
     </message>
     <message>
         <source>2012-05-04T10:00:00</source>
-        <translation type="vanished">2012-05-04T10:00:00</translation>
+        <translation>2012-05-04T10:00:00</translation>
     </message>
     <message>
         <source>Converts a string to a real number. Nothing is returned if a value cannot be converted to real (e.g '123.56asd' is invalid).  Numbers are rounded after saving changes if the precision is smaller than the result of the conversion.</source>
-        <translation type="vanished">Convierte una cadena a número real. No devuelve nada si un valor no se puede convertir a real (ej.: '123.56asd' no es válido). Los números se redondean después de guardar los cambios si la precisión es menor que el resultado de la conversión.</translation>
+        <translation>Convierte una cadena a número real. No devuelve nada si un valor no se puede convertir a real (ej.: '123.56asd' no es válido). Los números se redondean después de guardar los cambios si la precisión es menor que el resultado de la conversión.</translation>
     </message>
     <message>
         <source>to_real</source>
-        <translation type="vanished">to_real</translation>
+        <translation>to_real</translation>
     </message>
     <message>
         <source>string to convert to real number</source>
-        <translation type="vanished">cadena a convertir a número real</translation>
+        <translation>cadena a convertir a número real</translation>
     </message>
     <message>
         <source>to_real('123.45')</source>
-        <translation type="vanished">to_real('123.45')</translation>
+        <translation>to_real('123.45')</translation>
     </message>
     <message>
         <source>123.45</source>
-        <translation type="vanished">123.45</translation>
+        <translation>123.45</translation>
     </message>
     <message>
         <source>Converts a number to string.</source>
-        <translation type="vanished">Convierte un número en cadena.</translation>
+        <translation>Convierte un número en cadena.</translation>
     </message>
     <message>
         <source>to_string</source>
-        <translation type="vanished">to_string</translation>
+        <translation>to_string</translation>
     </message>
     <message>
         <source>Integer or real value. The number to convert to string.</source>
-        <translation type="vanished">Valor entero o real. El número a convertir en cadena.</translation>
+        <translation>Valor entero o real. El número a convertir en cadena.</translation>
     </message>
     <message>
         <source>to_string(123)</source>
-        <translation type="vanished">to_string(123)</translation>
+        <translation>to_string(123)</translation>
     </message>
     <message>
         <source>Convert a string into a time object.</source>
-        <translation type="vanished">Convierte una cadena en un objeto hora.</translation>
+        <translation>Convierte una cadena en un objeto hora.</translation>
     </message>
     <message>
         <source>to_time</source>
-        <translation type="vanished">to_time</translation>
+        <translation>to_time</translation>
     </message>
     <message>
         <source>string representing a time value</source>
-        <translation type="vanished">cadena que representa un valor hora</translation>
+        <translation>cadena que representa un valor hora</translation>
     </message>
     <message>
         <source>to_time('12:30:01')</source>
-        <translation type="vanished">to_time('12:30:01')</translation>
+        <translation>to_time('12:30:01')</translation>
     </message>
     <message>
         <source>12:30:01</source>
-        <translation type="vanished">12:30:01</translation>
+        <translation>12:30:01</translation>
     </message>
     <message>
         <source>Tests whether a geometry touches another. Returns true if the geometries have at least one point in common, but their interiors do not intersect.</source>
-        <translation type="vanished">Comprueba si una geometría toca a otra. Devuelve verdadero si las geometrías tienen al menos un punto en común, pero sus interiores no se intersecan.</translation>
+        <translation>Comprueba si una geometría toca a otra. Devuelve verdadero si las geometrías tienen al menos un punto en común, pero sus interiores no se intersecan.</translation>
     </message>
     <message>
         <source>touches</source>
-        <translation type="vanished">toca</translation>
+        <translation>toca</translation>
     </message>
     <message>
         <source>touches( geom_from_wkt( 'LINESTRING(5 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</source>
-        <translation type="vanished">touches( geom_from_wkt( 'LINESTRING(5 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
+        <translation>touches( geom_from_wkt( 'LINESTRING(5 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) )</translation>
     </message>
     <message>
         <source>touches( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) )</source>
-        <translation type="vanished">touches( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) )</translation>
+        <translation>touches( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) )</translation>
     </message>
     <message>
         <source>Returns the geometry transformed from a source CRS to a destination CRS.</source>
-        <translation type="vanished">Devuelve la geometría transformada desde un SRC de origen a otro de destino.</translation>
+        <translation>Devuelve la geometría transformada desde un SRC de origen a otro de destino.</translation>
     </message>
     <message>
         <source>transform</source>
-        <translation type="vanished">transform</translation>
+        <translation>transform</translation>
     </message>
     <message>
         <source>the source auth CRS ID</source>
-        <translation type="vanished">ID del SRC de origen</translation>
+        <translation>ID del SRC de origen</translation>
     </message>
     <message>
         <source>the destination auth CRS ID</source>
-        <translation type="vanished">ID del SRC de destino</translation>
+        <translation>ID del SRC de destino</translation>
     </message>
     <message>
         <source>geom_to_wkt( transform( $geometry, 'EPSG:2154', 'EPSG:4326' ) )</source>
-        <translation type="vanished">geom_to_wkt( transform( $geometry, 'EPSG:2154', 'EPSG:4326' ) )</translation>
+        <translation>geom_to_wkt( transform( $geometry, 'EPSG:2154', 'EPSG:4326' ) )</translation>
     </message>
     <message>
         <source>POINT(0 51)</source>
-        <translation type="vanished">POINT(0 51)</translation>
+        <translation>POINT(0 51)</translation>
     </message>
     <message>
         <source>Returns a translated version of a geometry. Calculations are in the Spatial Reference System of this geometry.</source>
-        <translation type="vanished">Devuelve una versión convertida de una geometría. Los cálculos se hacen en el Sistema de Referencia Espacial de la geometría.</translation>
+        <translation>Devuelve una versión convertida de una geometría. Los cálculos se hacen en el Sistema de Referencia Espacial de la geometría.</translation>
     </message>
     <message>
         <source>translate</source>
-        <translation type="vanished">Convertir</translation>
+        <translation>Convertir</translation>
     </message>
     <message>
         <source>delta x</source>
-        <translation type="vanished">delta x</translation>
+        <translation>delta x</translation>
     </message>
     <message>
         <source>delta y</source>
-        <translation type="vanished">delta y</translation>
+        <translation>delta y</translation>
     </message>
     <message>
         <source>translate($geometry, 5, 10)</source>
-        <translation type="vanished">convertir($geometría,5,10)</translation>
+        <translation>convertir($geometría,5,10)</translation>
     </message>
     <message>
         <source>a geometry of the same type like the original one</source>
-        <translation type="vanished">una geometría del mismo tipo que la original</translation>
+        <translation>una geometría del mismo tipo que la original</translation>
     </message>
     <message>
         <source>Removes all leading and trailing whitespace (spaces, tabs, etc) from a string.</source>
-        <translation type="vanished">Elimina todos los espacios en blanco (espacios, tabuladores, etc.) de comienzo y final de una cadena.</translation>
+        <translation>Elimina todos los espacios en blanco (espacios, tabuladores, etc.) de comienzo y final de una cadena.</translation>
     </message>
     <message>
         <source>trim</source>
-        <translation type="vanished">trim</translation>
+        <translation>trim</translation>
     </message>
     <message>
         <source>string to trim</source>
-        <translation type="vanished">cadena a limpiar</translation>
+        <translation>cadena a limpiar</translation>
     </message>
     <message>
         <source>trim('   hello world    ')</source>
-        <translation type="vanished">trim('   hola mundo    ')</translation>
+        <translation>trim('   hola mundo    ')</translation>
     </message>
     <message>
         <source>Returns a geometry that represents the point set union of the geometries.</source>
-        <translation type="vanished">Devuelve una geometría que representa el conjunto unión de los puntos de las geometrías.</translation>
+        <translation>Devuelve una geometría que representa el conjunto unión de los puntos de las geometrías.</translation>
     </message>
     <message>
         <source>union</source>
-        <translation type="vanished">union</translation>
+        <translation>union</translation>
     </message>
     <message>
         <source>geom_to_wkt( union( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) ) )</source>
-        <translation type="vanished">geom_to_wkt( union( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) ) )</translation>
+        <translation>geom_to_wkt( union( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) ) )</translation>
     </message>
     <message>
         <source>MULTIPOINT(4 4, 5 5)</source>
-        <translation type="vanished">MULTIPOINT(4 4, 5 5)</translation>
+        <translation>MULTIPOINT(4 4, 5 5)</translation>
     </message>
     <message>
         <source>Converts a string to upper case letters.</source>
-        <translation type="vanished">Convierte una cadena a letras mayúsculas.</translation>
+        <translation>Convierte una cadena a letras mayúsculas.</translation>
     </message>
     <message>
         <source>upper</source>
-        <translation type="vanished">upper</translation>
+        <translation>upper</translation>
     </message>
     <message>
         <source>the string to convert to upper case</source>
-        <translation type="vanished">la cadena a convertir a mayúsculas</translation>
+        <translation>la cadena a convertir a mayúsculas</translation>
     </message>
     <message>
         <source>upper('hello WOrld')</source>
-        <translation type="vanished">upper('hola MUndo')</translation>
+        <translation>upper('hola MUndo')</translation>
     </message>
     <message>
         <source>'HELLO WORLD'</source>
-        <translation type="vanished">'HOLA MUNDO'</translation>
+        <translation>'HOLA MUNDO'</translation>
     </message>
     <message>
         <source>Generates a Universally Unique Identifier (UUID) for each row using the Qt <a href='http://qt-project.org/doc/qt-4.8/quuid.html#createUuid'>QUuid::createUuid</a>  method.  Each UUID is 38 characters long.</source>
-        <translation type="vanished">Genera un Identificador Universal Único (UUID) para cada fila usando el método <a href='http://qt-project.org/doc/qt-4.8/quuid.html#createUuid'>QUuid::createUuid</a>
+        <translation>Genera un Identificador Universal Único (UUID) para cada fila usando el método <a href='http://qt-project.org/doc/qt-4.8/quuid.html#createUuid'>QUuid::createUuid</a>
 de Qt. Cada UUID tiene 38 caracteres de longitud.</translation>
     </message>
     <message>
         <source>uuid</source>
-        <translation type="vanished">uuid</translation>
+        <translation>uuid</translation>
     </message>
     <message>
         <source>uuid()</source>
-        <translation type="vanished">uuid()</translation>
+        <translation>uuid()</translation>
     </message>
     <message>
         <source>'{0bd2f60f-f157-4a6d-96af-d4ba4cb366a1}'</source>
-        <translation type="vanished">'{0bd2f60f-f157-4a6d-96af-d4ba4cb366a1}'</translation>
+        <translation>'{0bd2f60f-f157-4a6d-96af-d4ba4cb366a1}'</translation>
     </message>
     <message>
         <source>Returns the value stored within a specified variable.</source>
-        <translation type="vanished">Devuelve el valor guardado dentro de una variable especificada.</translation>
+        <translation>Devuelve el valor guardado dentro de una variable especificada.</translation>
     </message>
     <message>
         <source>var</source>
-        <translation type="vanished">var</translation>
+        <translation>var</translation>
     </message>
     <message>
         <source>a variable name</source>
-        <translation type="vanished">un nombre de variable</translation>
+        <translation>un nombre de variable</translation>
     </message>
     <message>
         <source>var('qgis_version')</source>
-        <translation type="vanished">var('qgis_version')</translation>
+        <translation>var('qgis_version')</translation>
     </message>
     <message>
         <source>'2.12'</source>
-        <translation type="vanished">'2.12'</translation>
+        <translation>'2.12'</translation>
     </message>
     <message>
         <source>Extract the week number from a date, or the number of weeks from an interval.</source>
-        <translation type="vanished">Extrae el número de la semana de una fecha o el número de semanas de un intervalo.</translation>
+        <translation>Extrae el número de la semana de una fecha o el número de semanas de un intervalo.</translation>
     </message>
     <message>
         <source>Extract the week number from a date or datetime.</source>
-        <translation type="vanished">Extrae el número de la semana de una fecha o fecha y hora.</translation>
+        <translation>Extrae el número de la semana de una fecha o fecha y hora.</translation>
     </message>
     <message>
         <source>week('2012-05-12')</source>
-        <translation type="vanished">week('2012-05-12')</translation>
+        <translation>week('2012-05-12')</translation>
     </message>
     <message>
         <source>19</source>
-        <translation type="vanished">19</translation>
+        <translation>19</translation>
     </message>
     <message>
         <source>Calculate the length in weeks of an interval.</source>
-        <translation type="vanished">Calcula la longitud en semanas de un intervalo.</translation>
+        <translation>Calcula la longitud en semanas de un intervalo.</translation>
     </message>
     <message>
         <source>week(tointerval('3 weeks'))</source>
-        <translation type="vanished">week(tointerval('3 semanas'))</translation>
+        <translation>week(tointerval('3 semanas'))</translation>
     </message>
     <message>
         <source>week(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">week(age('2012-01-01','2010-01-01'))</translation>
+        <translation>week(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>104.285</source>
-        <translation type="vanished">104.285</translation>
+        <translation>104.285</translation>
     </message>
     <message>
         <source>This function sets a variable for any expression code that will be provided as 3rd argument. This is only useful for complicated expressions, where the same calculated value needs to be used in different places.</source>
-        <translation type="vanished">Esta función establece una variable para el código de cualquier expresión que se proporcionará como tercer argumento. Esto solo es útil para expresiones complejas, en las que se necesita usar el mismo valor calculado en diferentes sitios.</translation>
+        <translation>Esta función establece una variable para el código de cualquier expresión que se proporcionará como tercer argumento. Esto solo es útil para expresiones complejas, en las que se necesita usar el mismo valor calculado en diferentes sitios.</translation>
     </message>
     <message>
         <source>the name of the variable to set</source>
-        <translation type="vanished">el nombre de la variable a establecer</translation>
+        <translation>el nombre de la variable a establecer</translation>
     </message>
     <message>
         <source>the value to set</source>
-        <translation type="vanished">el valor a establecer</translation>
+        <translation>el valor a establecer</translation>
     </message>
     <message>
         <source>the expression for which the variable will be available</source>
-        <translation type="vanished">la expresión para la que estará disponible la variable</translation>
+        <translation>la expresión para la que estará disponible la variable</translation>
     </message>
     <message>
         <source>Tests whether a geometry is within another. Returns true if the geometry a is completely within geometry b.</source>
-        <translation type="vanished">Comprueba si una geometría está dentro de otra. Devuelve verdadero si la geometría a está completamente dentro de la geometría b.</translation>
+        <translation>Comprueba si una geometría está dentro de otra. Devuelve verdadero si la geometría a está completamente dentro de la geometría b.</translation>
     </message>
     <message>
         <source>within</source>
-        <translation type="vanished">dentro</translation>
+        <translation>dentro</translation>
     </message>
     <message>
         <source>within( geom_from_wkt( 'POINT( 0.5 0.5)' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ) )</source>
-        <translation type="vanished">within( geom_from_wkt( 'POINT( 0.5 0.5)' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ) )</translation>
+        <translation>within( geom_from_wkt( 'POINT( 0.5 0.5)' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ) )</translation>
     </message>
     <message>
         <source>within( geom_from_wkt( 'POINT( 5 5 )' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ) )</source>
-        <translation type="vanished">within( geom_from_wkt( 'POINT( 5 5 )' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ) )</translation>
+        <translation>within( geom_from_wkt( 'POINT( 5 5 )' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ) )</translation>
     </message>
     <message>
         <source>Returns a string wrapped to a maximum/minimum number of characters.</source>
-        <translation type="vanished">Devuelve una cadena ajustada un número de caracteres máximo/mínimo</translation>
+        <translation>Devuelve una cadena ajustada un número de caracteres máximo/mínimo</translation>
     </message>
     <message>
         <source>wordwrap</source>
-        <translation type="vanished">wordwrap</translation>
+        <translation>wordwrap</translation>
     </message>
     <message>
         <source>the string to be wrapped</source>
-        <translation type="vanished">la cadena a ajustar</translation>
+        <translation>la cadena a ajustar</translation>
     </message>
     <message>
         <source>an integer. If wrap_length is positive the number represents the ideal maximum number of characters to wrap; if negative, the number represents the minimum number of characters to wrap.</source>
-        <translation type="vanished">un entero. Si wrap_lenght es positivo el número representa el número máximo ideal de caracteres a ajustar; si es negativo, el número representa el número mínimo de caracteres a ajustar.</translation>
+        <translation>un entero. Si wrap_lenght es positivo el número representa el número máximo ideal de caracteres a ajustar; si es negativo, el número representa el número mínimo de caracteres a ajustar.</translation>
     </message>
     <message>
         <source>the delimiter string to wrap to a new line (optional).</source>
-        <translation type="vanished">la cadena delimitador a ajustar a una nueva línea (opcional).</translation>
+        <translation>la cadena delimitador a ajustar a una nueva línea (opcional).</translation>
     </message>
     <message>
         <source>wordwrap('UNIVERSITY OF QGIS',13)</source>
-        <translation type="vanished">wordwrap('UNIVERSIDAD DE QGIS',14)</translation>
+        <translation>wordwrap('UNIVERSIDAD DE QGIS',14)</translation>
     </message>
     <message>
         <source>'UNIVERSITY OF<br>QGIS'</source>
-        <translation type="vanished">'UNIVERSIDAD DE<br>QGIS'</translation>
+        <translation>'UNIVERSIDAD DE<br>QGIS'</translation>
     </message>
     <message>
         <source>wordwrap('UNIVERSITY OF QGIS',-3)</source>
-        <translation type="vanished">wordwrap('UNIVERSIDAD DE QGIS',-3)</translation>
+        <translation>wordwrap('UNIVERSIDAD DE QGIS',-3)</translation>
     </message>
     <message>
         <source>'UNIVERSITY<br>OF QGIS'</source>
-        <translation type="vanished">'UNIVERSIDAD<br>DE QGIS'</translation>
+        <translation>'UNIVERSIDAD<br>DE QGIS'</translation>
     </message>
     <message>
         <source>Returns the x coordinate of a point geometry, or the x-coordinate of the centroid for a non-point geometry.</source>
-        <translation type="vanished">Devuelve la coordenada X de una geometría de tipo punto o la coordenada X del centroide de una geometría que no sea de puntos.</translation>
+        <translation>Devuelve la coordenada X de una geometría de tipo punto o la coordenada X del centroide de una geometría que no sea de puntos.</translation>
     </message>
     <message>
         <source>x( geom_from_wkt( 'POINT(2 5)' ) )</source>
-        <translation type="vanished">x( geom_from_wkt( 'POINT(2 5)' ) )</translation>
+        <translation>x( geom_from_wkt( 'POINT(2 5)' ) )</translation>
     </message>
     <message>
         <source>x( $geometry )</source>
-        <translation type="vanished">x( $geometría)</translation>
+        <translation>x( $geometría)</translation>
     </message>
     <message>
         <source>x coordinate of the current feature's centroid</source>
-        <translation type="vanished">coordenada X del centroide del objeto actual</translation>
+        <translation>coordenada X del centroide del objeto actual</translation>
     </message>
     <message>
         <source>Returns the maximum x coordinate of a geometry. Calculations are in the spatial reference system of this geometry.</source>
-        <translation type="vanished">Devuelve la coordenada X máxima de una geometría. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
+        <translation>Devuelve la coordenada X máxima de una geometría. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
     </message>
     <message>
         <source>x_max</source>
-        <translation type="vanished">x_max</translation>
+        <translation>x_max</translation>
     </message>
     <message>
         <source>x_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</source>
-        <translation type="vanished">x_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
+        <translation>x_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
     </message>
     <message>
         <source>Returns the minimum x coordinate of a geometry. Calculations are in the spatial reference system of this geometry.</source>
-        <translation type="vanished">Devuelve la coordenada X mínima de una geometría. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
+        <translation>Devuelve la coordenada X mínima de una geometría. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
     </message>
     <message>
         <source>x_min</source>
-        <translation type="vanished">x_min</translation>
+        <translation>x_min</translation>
     </message>
     <message>
         <source>x_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</source>
-        <translation type="vanished">x_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
+        <translation>x_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
     </message>
     <message>
         <source>Returns the y coordinate of a point geometry, or the y-coordinate of the centroid for a non-point geometry.</source>
-        <translation type="vanished">Devuelve la coordenada Y de una geometría de tipo punto o la coordenada Y del centroide de una geometría que no sea de puntos.</translation>
+        <translation>Devuelve la coordenada Y de una geometría de tipo punto o la coordenada Y del centroide de una geometría que no sea de puntos.</translation>
     </message>
     <message>
         <source>y( geom_from_wkt( 'POINT(2 5)' ) )</source>
-        <translation type="vanished">y( geom_from_wkt( 'POINT(2 5)' ) )</translation>
+        <translation>y( geom_from_wkt( 'POINT(2 5)' ) )</translation>
     </message>
     <message>
         <source>y( $geometry )</source>
-        <translation type="vanished">y( $geometría )</translation>
+        <translation>y( $geometría )</translation>
     </message>
     <message>
         <source>y coordinate of the current feature's centroid</source>
-        <translation type="vanished">coordenada Y del centroide del objeto actual</translation>
+        <translation>coordenada Y del centroide del objeto actual</translation>
     </message>
     <message>
         <source>Returns the maximum y coordinate of a geometry. Calculations are in the spatial reference system of this geometry.</source>
-        <translation type="vanished">Devuelve la coordenada Y máxima de una geometría. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
+        <translation>Devuelve la coordenada Y máxima de una geometría. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
     </message>
     <message>
         <source>y_max</source>
-        <translation type="vanished">y_max</translation>
+        <translation>y_max</translation>
     </message>
     <message>
         <source>y_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</source>
-        <translation type="vanished">y_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
+        <translation>y_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
     </message>
     <message>
         <source>Returns the minimum y coordinate of a geometry. Calculations are in the spatial reference system of this geometry.</source>
-        <translation type="vanished">Devuelve la coordenada Y mínima de una geometría. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
+        <translation>Devuelve la coordenada Y mínima de una geometría. Los cálculos están en el Sistema de Referencia Espacial de esta geometría.</translation>
     </message>
     <message>
         <source>y_min</source>
-        <translation type="vanished">y_min</translation>
+        <translation>y_min</translation>
     </message>
     <message>
         <source>y_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</source>
-        <translation type="vanished">y_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
+        <translation>y_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') )</translation>
     </message>
     <message>
         <source>Extract the year part from a date, or the number of years from an interval.</source>
-        <translation type="vanished">Extrae el año de una fecha o el número de años de un intervalo.</translation>
+        <translation>Extrae el año de una fecha o el número de años de un intervalo.</translation>
     </message>
     <message>
         <source>Extract the year part from a date or datetime.</source>
-        <translation type="vanished">Extrae el año de una fecha o fecha y hora.</translation>
+        <translation>Extrae el año de una fecha o fecha y hora.</translation>
     </message>
     <message>
         <source>year('2012-05-12')</source>
-        <translation type="vanished">year('2012-05-12')</translation>
+        <translation>year('2012-05-12')</translation>
     </message>
     <message>
         <source>2012</source>
-        <translation type="vanished">2012</translation>
+        <translation>2012</translation>
     </message>
     <message>
         <source>Calculate the length in years of an interval.</source>
-        <translation type="vanished">Calcula la longitud en años de un intervalo.</translation>
+        <translation>Calcula la longitud en años de un intervalo.</translation>
     </message>
     <message>
         <source>interval value to return number of years from</source>
-        <translation type="vanished">intervalo del que devolver el número de años</translation>
+        <translation>intervalo del que devolver el número de años</translation>
     </message>
     <message>
         <source>year(to_interval('3 years'))</source>
-        <translation type="vanished">year(to_interval('3 años'))</translation>
+        <translation>year(to_interval('3 años'))</translation>
     </message>
     <message>
         <source>year(age('2012-01-01','2010-01-01'))</source>
-        <translation type="vanished">year(age('2012-01-01','2010-01-01'))</translation>
+        <translation>year(age('2012-01-01','2010-01-01'))</translation>
     </message>
     <message>
         <source>1.9986</source>
-        <translation type="vanished">1.9986</translation>
+        <translation>1.9986</translation>
     </message>
     <message>
         <source>Returns the z coordinate of a point geometry.</source>
-        <translation type="vanished">Devuelve la coordenada Z de una geometría de punto.</translation>
+        <translation>Devuelve la coordenada Z de una geometría de punto.</translation>
     </message>
     <message>
         <source>i</source>
-        <translation type="vanished">i</translation>
+        <translation>i</translation>
     </message>
     <message>
         <source>a</source>
-        <translation type="vanished">a</translation>
+        <translation>a</translation>
     </message>
     <message>
         <source>b</source>
-        <translation type="vanished">b</translation>
+        <translation>b</translation>
     </message>
     <message>
         <source>string/number</source>
-        <translation type="vanished">cadena/número</translation>
+        <translation>cadena/número</translation>
     </message>
     <message>
         <source>pattern</source>
-        <translation type="vanished">patrón</translation>
+        <translation>patrón</translation>
     </message>
     <message>
         <source>datetime1</source>
-        <translation type="vanished">fechahora1</translation>
+        <translation>fechahora1</translation>
     </message>
     <message>
         <source>datetime2</source>
-        <translation type="vanished">fechahora2</translation>
+        <translation>fechahora2</translation>
     </message>
     <message>
         <source>dy</source>
-        <translation type="vanished">dy</translation>
+        <translation>dy</translation>
     </message>
     <message>
         <source>dx</source>
-        <translation type="vanished">dx</translation>
+        <translation>dx</translation>
     </message>
     <message>
         <source>feature</source>
-        <translation type="vanished">objeto espacial</translation>
+        <translation>objeto espacial</translation>
     </message>
     <message>
         <source>attribute_name</source>
-        <translation type="vanished">nombre_de_atributo</translation>
+        <translation>nombre_de_atributo</translation>
     </message>
     <message>
         <source>Returns the north-based azimuth as the angle in radians measured clockwise from the vertical on pointA to pointB.</source>
-        <translation type="vanished">Devuelve el azimut basado en el Norte como el ángulo en radianes medido en sentido horario desde la vertical en el puntoA al PuntoB</translation>
+        <translation>Devuelve el azimut basado en el Norte como el ángulo en radianes medido en sentido horario desde la vertical en el puntoA al PuntoB</translation>
     </message>
     <message>
         <source>pointA</source>
-        <translation type="vanished">puntoA</translation>
+        <translation>puntoA</translation>
     </message>
     <message>
         <source>pointB</source>
-        <translation type="vanished">puntoB</translation>
+        <translation>puntoB</translation>
     </message>
     <message>
         <source>geom</source>
-        <translation type="vanished">geometría</translation>
+        <translation>geometría</translation>
     </message>
     <message>
         <source>minimum</source>
-        <translation type="vanished">mínimo</translation>
+        <translation>mínimo</translation>
     </message>
     <message>
         <source>input</source>
-        <translation type="vanished">entrada</translation>
+        <translation>entrada</translation>
     </message>
     <message>
         <source>maximum</source>
-        <translation type="vanished">máximo</translation>
+        <translation>máximo</translation>
     </message>
     <message>
         <source>geometry 1</source>
-        <translation type="vanished">geometría 1</translation>
+        <translation>geometría 1</translation>
     </message>
     <message>
         <source>geometry 2</source>
-        <translation type="vanished">geometría 2</translation>
+        <translation>geometría 2</translation>
     </message>
     <message>
         <source>expression1</source>
-        <translation type="vanished">expresión1</translation>
+        <translation>expresión1</translation>
     </message>
     <message>
         <source>expression2</source>
-        <translation type="vanished">expresión2</translation>
+        <translation>expresión2</translation>
     </message>
     <message>
         <source>cyan</source>
-        <translation type="vanished">cian</translation>
+        <translation>cian</translation>
     </message>
     <message>
         <source>magenta</source>
-        <translation type="vanished">magenta</translation>
+        <translation>magenta</translation>
     </message>
     <message>
         <source>yellow</source>
-        <translation type="vanished">amarillo</translation>
+        <translation>amarillo</translation>
     </message>
     <message>
         <source>black</source>
-        <translation type="vanished">negro</translation>
+        <translation>negro</translation>
     </message>
     <message>
         <source>alpha</source>
-        <translation type="vanished">alfa</translation>
+        <translation>alfa</translation>
     </message>
     <message>
         <source>hue</source>
-        <translation type="vanished">matiz</translation>
+        <translation>matiz</translation>
     </message>
     <message>
         <source>saturation</source>
-        <translation type="vanished">saturación</translation>
+        <translation>saturación</translation>
     </message>
     <message>
         <source>lightness</source>
-        <translation type="vanished">luminosidad</translation>
+        <translation>luminosidad</translation>
     </message>
     <message>
         <source>color</source>
-        <translation type="vanished">color</translation>
+        <translation>color</translation>
     </message>
     <message>
         <source>component</source>
-        <translation type="vanished">componente</translation>
+        <translation>componente</translation>
     </message>
     <message>
         <source>red</source>
-        <translation type="vanished">rojo</translation>
+        <translation>rojo</translation>
     </message>
     <message>
         <source>green</source>
-        <translation type="vanished">verde</translation>
+        <translation>verde</translation>
     </message>
     <message>
         <source>blue</source>
-        <translation type="vanished">azul</translation>
+        <translation>azul</translation>
     </message>
     <message>
         <source>geometry1</source>
-        <translation type="vanished">geometría1</translation>
+        <translation>geometría1</translation>
     </message>
     <message>
         <source>geometry2</source>
-        <translation type="vanished">geometría2</translation>
+        <translation>geometría2</translation>
     </message>
     <message>
         <source>string1</source>
-        <translation type="vanished">cadena1</translation>
+        <translation>cadena1</translation>
     </message>
     <message>
         <source>string2</source>
-        <translation type="vanished">cadena2</translation>
+        <translation>cadena2</translation>
     </message>
     <message>
         <source>string</source>
-        <translation type="vanished">cadena</translation>
+        <translation>cadena</translation>
     </message>
     <message>
         <source>geometry a</source>
-        <translation type="vanished">geometría a</translation>
+        <translation>geometría a</translation>
     </message>
     <message>
         <source>geometry b</source>
-        <translation type="vanished">geometría b</translation>
+        <translation>geometría b</translation>
     </message>
     <message>
         <source>angle</source>
-        <translation type="vanished">ángulo</translation>
+        <translation>ángulo</translation>
     </message>
     <message>
         <source>factor</source>
-        <translation type="vanished">factor</translation>
+        <translation>factor</translation>
     </message>
     <message>
         <source>date</source>
-        <translation type="vanished">fecha</translation>
+        <translation>fecha</translation>
     </message>
     <message>
         <source>geometry_a</source>
-        <translation type="vanished">geomertría_a</translation>
+        <translation>geomertría_a</translation>
     </message>
     <message>
         <source>geometry_b</source>
-        <translation type="vanished">geometría_b</translation>
+        <translation>geometría_b</translation>
     </message>
     <message>
         <source>arg1</source>
-        <translation type="vanished">argumento1</translation>
+        <translation>argumento1</translation>
     </message>
     <message>
         <source>arg2</source>
-        <translation type="vanished">argumento2</translation>
+        <translation>argumento2</translation>
     </message>
     <message>
         <source>arg</source>
-        <translation type="vanished">argumento</translation>
+        <translation>argumento</translation>
     </message>
     <message>
         <source>datetime</source>
-        <translation type="vanished">fechahora</translation>
+        <translation>fechahora</translation>
     </message>
     <message>
         <source>number</source>
-        <translation type="vanished">número</translation>
+        <translation>número</translation>
     </message>
     <message>
         <source>places</source>
-        <translation type="vanished">decimales</translation>
+        <translation>decimales</translation>
     </message>
     <message>
         <source>gml</source>
-        <translation type="vanished">gml</translation>
+        <translation>gml</translation>
     </message>
     <message>
         <source>text</source>
-        <translation type="vanished">texto</translation>
+        <translation>texto</translation>
     </message>
     <message>
         <source>index</source>
-        <translation type="vanished">índice</translation>
+        <translation>índice</translation>
     </message>
     <message>
         <source>layer</source>
-        <translation type="vanished">capa</translation>
+        <translation>capa</translation>
     </message>
     <message>
         <source>result_when_true</source>
-        <translation type="vanished">resultado_cuando_verdadero</translation>
+        <translation>resultado_cuando_verdadero</translation>
     </message>
     <message>
         <source>the result which will be returned when the condition is True</source>
-        <translation type="vanished">el resultado que se debe devolver cuando la condición es Verdadero</translation>
+        <translation>el resultado que se debe devolver cuando la condición es Verdadero</translation>
     </message>
     <message>
         <source>result_when_false</source>
-        <translation type="vanished">resultado_cuando_falso</translation>
+        <translation>resultado_cuando_falso</translation>
     </message>
     <message>
         <source>the result which will be returned when the condition is False</source>
-        <translation type="vanished">el resultado que se debe devolver cuando la condición es Falso</translation>
+        <translation>el resultado que se debe devolver cuando la condición es Falso</translation>
     </message>
     <message>
         <source>if( 1, 'One', 'Not One' )</source>
-        <translation type="vanished">if( 1, 'Uno', 'No uno' )</translation>
+        <translation>if( 1, 'Uno', 'No uno' )</translation>
     </message>
     <message>
         <source>if( 8, 'One', 'Not One' )</source>
-        <translation type="vanished">if( 8, 'Uno', 'No uno' )</translation>
+        <translation>if( 8, 'Uno', 'No uno' )</translation>
     </message>
     <message>
         <source>'Not One'</source>
-        <translation type="vanished">'No uno'</translation>
+        <translation>'No uno'</translation>
     </message>
     <message>
         <source>property</source>
-        <translation type="vanished">propiedad</translation>
+        <translation>propiedad</translation>
     </message>
     <message>
         <source>length</source>
-        <translation type="vanished">longitud</translation>
+        <translation>longitud</translation>
     </message>
     <message>
         <source>base</source>
-        <translation type="vanished">base</translation>
+        <translation>base</translation>
     </message>
     <message>
         <source>width</source>
-        <translation type="vanished"> anchura</translation>
+        <translation> anchura</translation>
     </message>
     <message>
         <source>fill</source>
-        <translation type="vanished">relleno</translation>
+        <translation>relleno</translation>
     </message>
     <message>
         <source>point1</source>
-        <translation type="vanished">punto1</translation>
+        <translation>punto1</translation>
     </message>
     <message>
         <source>point2</source>
-        <translation type="vanished">punto2</translation>
+        <translation>punto2</translation>
     </message>
     <message>
         <source>point</source>
-        <translation type="vanished">punto</translation>
+        <translation>punto</translation>
     </message>
     <message>
         <source>outerRing</source>
-        <translation type="vanished">anilloExterior</translation>
+        <translation>anilloExterior</translation>
     </message>
     <message>
         <source>innerRing1</source>
-        <translation type="vanished">anilloInterior1</translation>
+        <translation>anilloInterior1</translation>
     </message>
     <message>
         <source>innerRing2</source>
-        <translation type="vanished">anilloInterior2</translation>
+        <translation>anilloInterior2</translation>
     </message>
     <message>
         <source>innerRing</source>
-        <translation type="vanished">anilloInterior</translation>
+        <translation>anilloInterior</translation>
     </message>
     <message>
         <source>value1</source>
-        <translation type="vanished">valor1</translation>
+        <translation>valor1</translation>
     </message>
     <message>
         <source>value2</source>
-        <translation type="vanished">valor2</translation>
+        <translation>valor2</translation>
     </message>
     <message>
         <source>orderby</source>
-        <translation type="vanished">orderar por</translation>
+        <translation>orderar por</translation>
     </message>
     <message>
         <source>ascending</source>
-        <translation type="vanished">ascendente</translation>
+        <translation>ascendente</translation>
     </message>
     <message>
         <source>name</source>
-        <translation type="vanished">nombre</translation>
+        <translation>nombre</translation>
     </message>
     <message>
         <source>ramp_name</source>
-        <translation type="vanished">nombre_rampa</translation>
+        <translation>nombre_rampa</translation>
     </message>
     <message>
         <source>input_string</source>
-        <translation type="vanished">cadena_entrada</translation>
+        <translation>cadena_entrada</translation>
     </message>
     <message>
         <source>regex</source>
-        <translation type="vanished">exp_reg</translation>
+        <translation>exp_reg</translation>
     </message>
     <message>
         <source>replacement</source>
-        <translation type="vanished">remplazo</translation>
+        <translation>remplazo</translation>
     </message>
     <message>
         <source>before</source>
-        <translation type="vanished">antes</translation>
+        <translation>antes</translation>
     </message>
     <message>
         <source>after</source>
-        <translation type="vanished">después</translation>
+        <translation>después</translation>
     </message>
     <message>
         <source>decimal</source>
-        <translation type="vanished">decimal</translation>
+        <translation>decimal</translation>
     </message>
     <message>
         <source>val</source>
-        <translation type="vanished">valor</translation>
+        <translation>valor</translation>
     </message>
     <message>
         <source>domain_min</source>
-        <translation type="vanished">dominio_mín</translation>
+        <translation>dominio_mín</translation>
     </message>
     <message>
         <source>domain_max</source>
-        <translation type="vanished">dominio_máx</translation>
+        <translation>dominio_máx</translation>
     </message>
     <message>
         <source>range_min</source>
-        <translation type="vanished">rango_mín</translation>
+        <translation>rango_mín</translation>
     </message>
     <message>
         <source>range_max</source>
-        <translation type="vanished">rango_máx</translation>
+        <translation>rango_máx</translation>
     </message>
     <message>
         <source>exponent</source>
-        <translation type="vanished">exponente</translation>
+        <translation>exponente</translation>
     </message>
     <message>
         <source>haystack</source>
-        <translation type="vanished">pajar</translation>
+        <translation>pajar</translation>
     </message>
     <message>
         <source>needle</source>
-        <translation type="vanished">aguja</translation>
+        <translation>aguja</translation>
     </message>
     <message>
         <source>startpos</source>
-        <translation type="vanished">startpos</translation>
+        <translation>startpos</translation>
     </message>
     <message>
         <source>source_auth_id</source>
-        <translation type="vanished">id_src_origen</translation>
+        <translation>id_src_origen</translation>
     </message>
     <message>
         <source>dest_auth_id</source>
-        <translation type="vanished">id_src_destino</translation>
+        <translation>id_src_destino</translation>
     </message>
     <message>
         <source>wrap_length</source>
-        <translation type="vanished">wrap_length</translation>
+        <translation>wrap_length</translation>
     </message>
     <message>
         <source>delimiter_string</source>
-        <translation type="vanished">delimiter_string</translation>
+        <translation>delimiter_string</translation>
     </message>
     <message>
         <location filename="../src/core/expression/qgsexpressionfunction.cpp" line="4381"/>
@@ -63070,7 +63070,7 @@ de Qt. Cada UUID tiene 38 caracteres de longitud.</translation>
     <name>QgsExpressionBuilderDialogBase</name>
     <message>
         <source>Expression string builder</source>
-        <translation type="vanished">Constructor de cadenas de expresiones</translation>
+        <translation>Constructor de cadenas de expresiones</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsexpressionbuilderdialogbase.ui" line="14"/>
@@ -63154,7 +63154,7 @@ de Qt. Cada UUID tiene 38 caracteres de longitud.</translation>
     </message>
     <message>
         <source>More info on expression error</source>
-        <translation type="vanished">Más información sobre el error de la expresión</translation>
+        <translation>Más información sobre el error de la expresión</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsexpressionbuilderwidget.cpp" line="793"/>
@@ -63176,7 +63176,7 @@ de Qt. Cada UUID tiene 38 caracteres de longitud.</translation>
     </message>
     <message>
         <source>Load values</source>
-        <translation type="vanished">Cargar valores</translation>
+        <translation>Cargar valores</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsexpressionbuilder.ui" line="461"/>
@@ -63280,7 +63280,7 @@ de Qt. Cada UUID tiene 38 caracteres de longitud.</translation>
     </message>
     <message>
         <source>New Line </source>
-        <translation type="vanished">Línea nueva</translation>
+        <translation>Línea nueva</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsexpressionbuilder.ui" line="283"/>
@@ -63461,15 +63461,15 @@ Cambiar el nombre del script y guardar para permitir que QGIS lo cargue automát
     </message>
     <message>
         <source>Close</source>
-        <translation type="vanished">Cerrar</translation>
+        <translation>Cerrar</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Select</source>
-        <translation type="vanished">Seleccionar</translation>
+        <translation>Seleccionar</translation>
     </message>
 </context>
 <context>
@@ -63563,7 +63563,7 @@ Cambiar el nombre del script y guardar para permitir que QGIS lo cargue automát
     </message>
     <message>
         <source>Layer extent</source>
-        <translation type="vanished">Extensión de la capa</translation>
+        <translation>Extensión de la capa</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsextentgroupboxwidget.ui" line="89"/>
@@ -63595,7 +63595,7 @@ Cambiar el nombre del script y guardar para permitir que QGIS lo cargue automát
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/editorwidgets/qgsexternalresourceconfigdlg.ui" line="144"/>
@@ -63609,11 +63609,11 @@ Cambiar el nombre del script y guardar para permitir que QGIS lo cargue automát
     </message>
     <message>
         <source><html><head/><body><p>If possible, this option makes the storage of the filenames with relative paths from the current QGIS project path.</p><p>Eg: if your QGIS project is in <span style=" font-style:italic;">&quot;/home/user/my_project.qgs&quot;</span> and your filename is <span style=" font-style:italic;">&quot;/home/user/data/files/test.pdf&quot;</span>, the attribute will o [...]
-        <translation type="vanished"><html><head/><body><p>Si es posible, esta opción almacena los nombres de archivos con rutas relativas desde la ruta del proyecto actual de QGIS.</p><p>Ej: si su proyecto de QGIS está en <span style=" font-style:italic;">&quot;/home/usuario/mi_proyecto.qgs&quot;</span> y el nombre de su archivo es <span style=" font-style:italic;">&quot;/home/usuario/datos/archivos/te [...]
+        <translation><html><head/><body><p>Si es posible, esta opción almacena los nombres de archivos con rutas relativas desde la ruta del proyecto actual de QGIS.</p><p>Ej: si su proyecto de QGIS está en <span style=" font-style:italic;">&quot;/home/usuario/mi_proyecto.qgs&quot;</span> y el nombre de su archivo es <span style=" font-style:italic;">&quot;/home/usuario/datos/archivos/test.pdf&quot; [...]
     </message>
     <message>
         <source><html><head/><body><p>If possible, this option makes the storage of the filenames with relative paths from the default path set just above.</p><p>Eg: if your default path is <span style=" font-style:italic;">&quot;/home/user/data/&quot;</span> and your filename is <span style=" font-style:italic;">&quot;/home/user/data/files/test.pdf&quot;</span>, the attribute will only store  [...]
-        <translation type="vanished"><html><head/><body><p>Si es posible, esta opción guarda los nombres de archivos con rutas relativas a la ruta predeterminada establecida justo encima.</p><p>Ej: si su ruta predeterminada es <span style=" font-style:italic;">&quot;/home/user/data/&quot;</span> y el nombre de su archivo es <span style=" font-style:italic;">&quot;/home/user/data/files/test.pdf&quot; [...]
+        <translation><html><head/><body><p>Si es posible, esta opción guarda los nombres de archivos con rutas relativas a la ruta predeterminada establecida justo encima.</p><p>Ej: si su ruta predeterminada es <span style=" font-style:italic;">&quot;/home/user/data/&quot;</span> y el nombre de su archivo es <span style=" font-style:italic;">&quot;/home/user/data/files/test.pdf&quot;</span>, e [...]
     </message>
     <message>
         <location filename="../src/ui/editorwidgets/qgsexternalresourceconfigdlg.ui" line="209"/>
@@ -63818,11 +63818,11 @@ Cambiar el nombre del script y guardar para permitir que QGIS lo cargue automát
     </message>
     <message>
         <source>Evaluation error</source>
-        <translation type="vanished">Error de evaluación</translation>
+        <translation>Error de evaluación</translation>
     </message>
     <message>
         <source>Provider error</source>
-        <translation type="vanished">Error del proveedor</translation>
+        <translation>Error del proveedor</translation>
     </message>
     <message>
         <location filename="../src/app/qgsfieldcalculator.cpp" line="225"/>
@@ -63831,7 +63831,7 @@ Cambiar el nombre del script y guardar para permitir que QGIS lo cargue automát
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <location filename="../src/app/qgsfieldcalculator.cpp" line="176"/>
@@ -63874,7 +63874,7 @@ Cambiar el nombre del script y guardar para permitir que QGIS lo cargue automát
     <name>QgsFieldCalculatorBase</name>
     <message>
         <source>Field calculator</source>
-        <translation type="vanished">Calculadora de campos</translation>
+        <translation>Calculadora de campos</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsfieldcalculatorbase.ui" line="20"/>
@@ -63883,7 +63883,7 @@ Cambiar el nombre del script y guardar para permitir que QGIS lo cargue automát
     </message>
     <message>
         <source>You are editing information on this layer but the layer is currently not in edit mode. If you click Ok, edit mode will automatically be turned on.</source>
-        <translation type="vanished">Está editando información de esta capa, pero la capa no está actualmente en modo edición. Si pulsa Aceptar se activará automáticamente el modo de edición.</translation>
+        <translation>Está editando información de esta capa, pero la capa no está actualmente en modo edición. Si pulsa Aceptar se activará automáticamente el modo de edición.</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsfieldcalculatorbase.ui" line="59"/>
@@ -63963,7 +63963,7 @@ Cambiar el nombre del script y guardar para permitir que QGIS lo cargue automát
     <name>QgsFieldConditionalFormatWidget</name>
     <message>
         <source>Conditional style rule expression</source>
-        <translation type="vanished">Expresión de rebla de estilo condicional</translation>
+        <translation>Expresión de rebla de estilo condicional</translation>
     </message>
     <message>
         <location filename="../src/gui/attributetable/qgsfieldconditionalformatwidget.cpp" line="60"/>
@@ -64005,7 +64005,7 @@ Cambiar el nombre del script y guardar para permitir que QGIS lo cargue automát
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsfieldconditionalformatwidget.ui" line="275"/>
@@ -64106,7 +64106,7 @@ Cambiar el nombre del script y guardar para permitir que QGIS lo cargue automát
     <name>QgsFieldExpressionWidget</name>
     <message>
         <source>Expression dialog</source>
-        <translation type="vanished">Diálogo de expresiones</translation>
+        <translation>Diálogo de expresiones</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsfieldexpressionwidget.cpp" line="30"/>
@@ -64131,67 +64131,67 @@ Cambiar el nombre del script y guardar para permitir que QGIS lo cargue automát
     <name>QgsFieldsProperties</name>
     <message>
         <source>Label</source>
-        <translation type="vanished">Etiqueta</translation>
+        <translation>Etiqueta</translation>
     </message>
     <message>
         <source>Id</source>
-        <translation type="vanished">ID</translation>
+        <translation>ID</translation>
     </message>
     <message>
         <source>Name</source>
-        <translation type="vanished">Nombre</translation>
+        <translation>Nombre</translation>
     </message>
     <message>
         <source>Type</source>
-        <translation type="vanished">Tipo</translation>
+        <translation>Tipo</translation>
     </message>
     <message>
         <source>Type name</source>
-        <translation type="vanished">Nombre de tipo</translation>
+        <translation>Nombre de tipo</translation>
     </message>
     <message>
         <source>Length</source>
-        <translation type="vanished">Longitud</translation>
+        <translation>Longitud</translation>
     </message>
     <message>
         <source>Precision</source>
-        <translation type="vanished">Precisión</translation>
+        <translation>Precisión</translation>
     </message>
     <message>
         <source>Comment</source>
-        <translation type="vanished">Comentario</translation>
+        <translation>Comentario</translation>
     </message>
     <message>
         <source>Edit widget</source>
-        <translation type="vanished">Modo de edición</translation>
+        <translation>Modo de edición</translation>
     </message>
     <message>
         <source>Alias</source>
-        <translation type="vanished">Alias</translation>
+        <translation>Alias</translation>
     </message>
     <message>
         <source>Layer</source>
-        <translation type="vanished">Capa</translation>
+        <translation>Capa</translation>
     </message>
     <message>
         <source>Field</source>
-        <translation type="vanished">Campo</translation>
+        <translation>Campo</translation>
     </message>
     <message>
         <source>Cardinality</source>
-        <translation type="vanished">Cardinalidad</translation>
+        <translation>Cardinalidad</translation>
     </message>
     <message>
         <source>Load from external file</source>
-        <translation type="vanished">Cargar de archivo externo</translation>
+        <translation>Cargar de archivo externo</translation>
     </message>
     <message>
         <source>Provide code in this dialog</source>
-        <translation type="vanished">Proporcionar código en este diálogo</translation>
+        <translation>Proporcionar código en este diálogo</translation>
     </message>
     <message>
         <source>Load from the environment</source>
-        <translation type="vanished">Cargar del entorno</translation>
+        <translation>Cargar del entorno</translation>
     </message>
     <message>
         <source># -*- coding: utf-8 -*-
@@ -64211,7 +64211,7 @@ def my_form_open(dialog, layer, feature):
 	geom = feature.geometry()
 	control = dialog.findChild(QWidget, "MyLineEdit")
 </source>
-        <translation type="vanished"># -*- codificación: utf-8 -*-
+        <translation># -*- codificación: utf-8 -*-
 """
 Los formularios de QGIS pueden tener una función de Python que
 es llamada cuando se abre el formulario.
@@ -64231,210 +64231,210 @@ def my_form_open(dialog, layer, feature):
     </message>
     <message>
         <source>Many to one relation</source>
-        <translation type="vanished">Relación muchos a uno</translation>
+        <translation>Relación muchos a uno</translation>
     </message>
     <message>
         <source>Added attribute</source>
-        <translation type="vanished">Atributo añadido</translation>
+        <translation>Atributo añadido</translation>
     </message>
     <message>
         <source>Failed to add field</source>
-        <translation type="vanished">No se pudo añadir el campo</translation>
+        <translation>No se pudo añadir el campo</translation>
     </message>
     <message>
         <source>Failed to add field '%1' of type '%2'. Is the field name unique?</source>
-        <translation type="vanished">No se pudo añadir el campo '%1' de tipo '%2'. ¿Es único el nombre del campo?</translation>
+        <translation>No se pudo añadir el campo '%1' de tipo '%2'. ¿Es único el nombre del campo?</translation>
     </message>
     <message>
         <source>Deleted attributes</source>
-        <translation type="vanished">Atributos borrados</translation>
+        <translation>Atributos borrados</translation>
     </message>
     <message>
         <source>Rename attribute</source>
-        <translation type="vanished">Cambiar nombre de atributo</translation>
+        <translation>Cambiar nombre de atributo</translation>
     </message>
     <message>
         <source>Failed to rename field</source>
-        <translation type="vanished">No se pudo cambiar el nombre del campo</translation>
+        <translation>No se pudo cambiar el nombre del campo</translation>
     </message>
     <message>
         <source>Failed to rename field to '%1'. Is the field name unique?</source>
-        <translation type="vanished">No se pudo cambiar el nombre del campo a '%1'. ¿Es único el nombre del campo?</translation>
+        <translation>No se pudo cambiar el nombre del campo a '%1'. ¿Es único el nombre del campo?</translation>
     </message>
     <message>
         <source>Line edit</source>
-        <translation type="vanished">Edición de líneas</translation>
+        <translation>Edición de líneas</translation>
     </message>
     <message>
         <source>Unique values</source>
-        <translation type="vanished">Valores únicos</translation>
+        <translation>Valores únicos</translation>
     </message>
     <message>
         <source>Classification</source>
-        <translation type="vanished">Clasificación</translation>
+        <translation>Clasificación</translation>
     </message>
     <message>
         <source>Value map</source>
-        <translation type="vanished">Mapa de valor</translation>
+        <translation>Mapa de valor</translation>
     </message>
     <message>
         <source>File name</source>
-        <translation type="vanished">Nombre de archivo</translation>
+        <translation>Nombre de archivo</translation>
     </message>
     <message>
         <source>Enumeration</source>
-        <translation type="vanished">Enumeración</translation>
+        <translation>Enumeración</translation>
     </message>
     <message>
         <source>Immutable</source>
-        <translation type="vanished">Inmutable</translation>
+        <translation>Inmutable</translation>
     </message>
     <message>
         <source>Hidden</source>
-        <translation type="vanished">Oculto</translation>
+        <translation>Oculto</translation>
     </message>
     <message>
         <source>Checkbox</source>
-        <translation type="vanished">Casilla de verificación</translation>
+        <translation>Casilla de verificación</translation>
     </message>
     <message>
         <source>Text edit</source>
-        <translation type="vanished">Edición de texto</translation>
+        <translation>Edición de texto</translation>
     </message>
     <message>
         <source>Calendar</source>
-        <translation type="vanished">Calendario</translation>
+        <translation>Calendario</translation>
     </message>
     <message>
         <source>Value relation</source>
-        <translation type="vanished">Relación de valores</translation>
+        <translation>Relación de valores</translation>
     </message>
     <message>
         <source>UUID generator</source>
-        <translation type="vanished">Generador de UUID</translation>
+        <translation>Generador de UUID</translation>
     </message>
     <message>
         <source>Photo</source>
-        <translation type="vanished">Foto</translation>
+        <translation>Foto</translation>
     </message>
     <message>
         <source>Web view</source>
-        <translation type="vanished">Vista web</translation>
+        <translation>Vista web</translation>
     </message>
     <message>
         <source>Color</source>
-        <translation type="vanished">Color</translation>
+        <translation>Color</translation>
     </message>
     <message>
         <source>Select Python file</source>
-        <translation type="vanished">Seleccionar archivo de Python</translation>
+        <translation>Seleccionar archivo de Python</translation>
     </message>
     <message>
         <source>Python file</source>
-        <translation type="vanished">Archivo de Python</translation>
+        <translation>Archivo de Python</translation>
     </message>
     <message>
         <source>Select edit form</source>
-        <translation type="vanished">Seleccionar formulario de edición</translation>
+        <translation>Seleccionar formulario de edición</translation>
     </message>
     <message>
         <source>UI file</source>
-        <translation type="vanished">Archivo UI</translation>
+        <translation>Archivo UI</translation>
     </message>
 </context>
 <context>
     <name>QgsFieldsPropertiesBase</name>
     <message>
         <source>Field calculator</source>
-        <translation type="vanished">Calculadora de campos</translation>
+        <translation>Calculadora de campos</translation>
     </message>
     <message>
         <source>Click to toggle table editing</source>
-        <translation type="vanished">Pulsar para conmutar la edición de la tabla</translation>
+        <translation>Pulsar para conmutar la edición de la tabla</translation>
     </message>
     <message>
         <source>Toggle editing mode</source>
-        <translation type="vanished">Conmutar el modo edición</translation>
+        <translation>Conmutar el modo edición</translation>
     </message>
     <message>
         <source>Ctrl+N</source>
-        <translation type="vanished">Ctrl+N</translation>
+        <translation>Ctrl+N</translation>
     </message>
     <message>
         <source>Fields</source>
-        <translation type="vanished">Campos</translation>
+        <translation>Campos</translation>
     </message>
     <message>
         <source>Attribute editor layout</source>
-        <translation type="vanished">Disposición del editor de atributos</translation>
+        <translation>Disposición del editor de atributos</translation>
     </message>
     <message>
         <source>Delete field</source>
-        <translation type="vanished">Eliminar campo</translation>
+        <translation>Eliminar campo</translation>
     </message>
     <message>
         <source>Ctrl+X</source>
-        <translation type="vanished">Ctrl+X</translation>
+        <translation>Ctrl+X</translation>
     </message>
     <message>
         <source>New field</source>
-        <translation type="vanished">Nuevo campo</translation>
+        <translation>Nuevo campo</translation>
     </message>
     <message>
         <source>Relations</source>
-        <translation type="vanished">Relaciones</translation>
+        <translation>Relaciones</translation>
     </message>
     <message>
         <source>Python init code</source>
-        <translation type="vanished">Código init de Python</translation>
+        <translation>Código init de Python</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>…</source>
-        <translation type="vanished">…</translation>
+        <translation>…</translation>
     </message>
     <message>
         <source>Edit UI</source>
-        <translation type="vanished">Editar IU</translation>
+        <translation>Editar IU</translation>
     </message>
     <message>
         <source>+</source>
-        <translation type="vanished">+</translation>
+        <translation>+</translation>
     </message>
     <message>
         <source>-</source>
-        <translation type="vanished">-</translation>
+        <translation>-</translation>
     </message>
     <message>
         <source>></source>
-        <translation type="vanished">></translation>
+        <translation>></translation>
     </message>
     <message>
         <source>^</source>
-        <translation type="vanished">^</translation>
+        <translation>^</translation>
     </message>
     <message>
         <source>v</source>
-        <translation type="vanished">v</translation>
+        <translation>v</translation>
     </message>
     <message>
         <source>Function name</source>
-        <translation type="vanished">Nombre de función</translation>
+        <translation>Nombre de función</translation>
     </message>
     <message>
         <source>Enter the name of the form init function.</source>
-        <translation type="vanished">Introduzca el nombre de la función de inicio de formulario.</translation>
+        <translation>Introduzca el nombre de la función de inicio de formulario.</translation>
     </message>
     <message>
         <source>External file</source>
-        <translation type="vanished">Archivo externo</translation>
+        <translation>Archivo externo</translation>
     </message>
     <message>
         <source>Suppress attribute form pop-up after feature creation</source>
-        <translation type="vanished">Suprimir formulario emergente de atributos después de crear objetos espaciales</translation>
+        <translation>Suprimir formulario emergente de atributos después de crear objetos espaciales</translation>
     </message>
     <message>
         <source>QGIS forms can have a Python function that is called when the form is opened.
@@ -64454,7 +64454,7 @@ An example is:
 Reference in function name: my_form_open
 
 </source>
-        <translation type="vanished">Los formularios de QGIS pueden tener una función de Python que es llamada cuando se abre el formulario.
+        <translation>Los formularios de QGIS pueden tener una función de Python que es llamada cuando se abre el formulario.
 Utilice esta función para añadir lógica extra a sus formularios.
 El código de la función se puede cargar del código fuente introducido en este
 diálogo, de un archivo de Python externo o del entorno (por ejemplo, de un
@@ -64475,31 +64475,31 @@ Referencia en el nombre de la función: my_form_open
     </message>
     <message>
         <source>Default</source>
-        <translation type="vanished">Predeterminado</translation>
+        <translation>Predeterminado</translation>
     </message>
     <message>
         <source>On</source>
-        <translation type="vanished">Conectado</translation>
+        <translation>Conectado</translation>
     </message>
     <message>
         <source>Off</source>
-        <translation type="vanished">Desconectado</translation>
+        <translation>Desconectado</translation>
     </message>
     <message>
         <source>Autogenerate</source>
-        <translation type="vanished">Autogenerar</translation>
+        <translation>Autogenerar</translation>
     </message>
     <message>
         <source>Drag and drop designer</source>
-        <translation type="vanished">Diseñador de arrastrar y soltar</translation>
+        <translation>Diseñador de arrastrar y soltar</translation>
     </message>
     <message>
         <source>Provide ui-file</source>
-        <translation type="vanished">Proporcionar archivo UI</translation>
+        <translation>Proporcionar archivo UI</translation>
     </message>
     <message>
         <source>Python Init function</source>
-        <translation type="vanished">Función de Inicio de Python</translation>
+        <translation>Función de Inicio de Python</translation>
     </message>
 </context>
 <context>
@@ -64594,7 +64594,7 @@ Referencia en el nombre de la función: my_form_open
     </message>
     <message>
         <source>Download failed</source>
-        <translation type="vanished">Falló la descarga</translation>
+        <translation>Falló la descarga</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsfiledownloaderdialog.cpp" line="51"/>
@@ -64606,11 +64606,11 @@ Referencia en el nombre de la función: my_form_open
     <name>QgsFileNameWidgetWrapper</name>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Select a file</source>
-        <translation type="vanished">Seleccionar un archivo</translation>
+        <translation>Seleccionar un archivo</translation>
     </message>
 </context>
 <context>
@@ -64645,18 +64645,18 @@ Referencia en el nombre de la función: my_form_open
     <name>QgsFilledMarkerSymbolLayerWidget</name>
     <message>
         <source>Size Assistant...</source>
-        <translation type="vanished">Asistente de tamaño...</translation>
+        <translation>Asistente de tamaño...</translation>
     </message>
     <message>
         <source>string </source>
-        <translation type="vanished">cadena</translation>
+        <translation>cadena</translation>
     </message>
 </context>
 <context>
     <name>QgsFirstRunDialog</name>
     <message>
         <source>Dialog</source>
-        <translation type="vanished">Diálogo</translation>
+        <translation>Diálogo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsfirstrundialog.ui" line="14"/>
@@ -64749,7 +64749,7 @@ Referencia en el nombre de la función: my_form_open
     </message>
     <message>
         <source>Configure format...</source>
-        <translation type="vanished">Configurar formato...</translation>
+        <translation>Configurar formato...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsfontbutton.cpp" line="589"/>
@@ -64784,15 +64784,15 @@ Referencia en el nombre de la función: my_form_open
     <name>QgsFontMarkerSymbolLayerV2Widget</name>
     <message>
         <source>Select symbol fill color</source>
-        <translation type="vanished">Seleccionar color de relleno del símbolo</translation>
+        <translation>Seleccionar color de relleno del símbolo</translation>
     </message>
     <message>
         <source>Select symbol outline color</source>
-        <translation type="vanished">Seleccionar color de línea exterior del símbolo</translation>
+        <translation>Seleccionar color de línea exterior del símbolo</translation>
     </message>
     <message>
         <source>Size Assistant...</source>
-        <translation type="vanished">Asistente de tamaño...</translation>
+        <translation>Asistente de tamaño...</translation>
     </message>
 </context>
 <context>
@@ -64825,11 +64825,11 @@ Referencia en el nombre de la función: my_form_open
     <name>QgsFormAnnotationDialogBase</name>
     <message>
         <source>Form annotation</source>
-        <translation type="vanished">Anotación de formulario</translation>
+        <translation>Anotación de formulario</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsformannotationdialogbase.ui" line="14"/>
@@ -64919,113 +64919,113 @@ Referencia en el nombre de la función: my_form_open
     <name>QgsGPSDetector</name>
     <message>
         <source>internal GPS</source>
-        <translation type="vanished">GPS interno</translation>
+        <translation>GPS interno</translation>
     </message>
     <message>
         <source>local gpsd</source>
-        <translation type="vanished">gpsd local</translation>
+        <translation>gpsd local</translation>
     </message>
 </context>
 <context>
     <name>QgsGPSDeviceDialog</name>
     <message>
         <source>New device %1</source>
-        <translation type="vanished">Nuevo receptor %1</translation>
+        <translation>Nuevo receptor %1</translation>
     </message>
     <message>
         <source>Delete Device</source>
-        <translation type="vanished">Borrar dispositivo</translation>
+        <translation>Borrar dispositivo</translation>
     </message>
     <message>
         <source>Are you sure?</source>
-        <translation type="vanished">¿Está seguro?</translation>
+        <translation>¿Está seguro?</translation>
     </message>
     <message>
         <source>Are you sure that you want to delete this device?</source>
-        <translation type="vanished">¿Está seguro de que quiere borrar este receptor?</translation>
+        <translation>¿Está seguro de que quiere borrar este receptor?</translation>
     </message>
 </context>
 <context>
     <name>QgsGPSDeviceDialogBase</name>
     <message>
         <source>GPS Device Editor</source>
-        <translation type="vanished">Editor de receptores GPS</translation>
+        <translation>Editor de receptores GPS</translation>
     </message>
     <message>
         <source>Devices</source>
-        <translation type="vanished">Dispositivos</translation>
+        <translation>Dispositivos</translation>
     </message>
     <message>
         <source>Delete</source>
-        <translation type="vanished">Borrar</translation>
+        <translation>Borrar</translation>
     </message>
     <message>
         <source>New</source>
-        <translation type="vanished">Nueva</translation>
+        <translation>Nueva</translation>
     </message>
     <message>
         <source>Update</source>
-        <translation type="vanished">Actualizar</translation>
+        <translation>Actualizar</translation>
     </message>
     <message>
         <source>Device name</source>
-        <translation type="vanished">Nombre del dispositivo</translation>
+        <translation>Nombre del dispositivo</translation>
     </message>
     <message>
         <source>This is the name of the device as it will appear in the lists</source>
-        <translation type="vanished">Así es como aparecerá el nombre del receptor en la lista</translation>
+        <translation>Así es como aparecerá el nombre del receptor en la lista</translation>
     </message>
     <message>
         <source>Commands</source>
-        <translation type="vanished">Comandos</translation>
+        <translation>Comandos</translation>
     </message>
     <message>
         <source>Track download</source>
-        <translation type="vanished">Descarga de trazas</translation>
+        <translation>Descarga de trazas</translation>
     </message>
     <message>
         <source>Route upload</source>
-        <translation type="vanished">Subida de rutas</translation>
+        <translation>Subida de rutas</translation>
     </message>
     <message>
         <source>Waypoint download</source>
-        <translation type="vanished">Descarga de waypoints</translation>
+        <translation>Descarga de waypoints</translation>
     </message>
     <message>
         <source>The command that is used to download routes from the device</source>
-        <translation type="vanished">El comando que se usa para descargar rutas del receptor</translation>
+        <translation>El comando que se usa para descargar rutas del receptor</translation>
     </message>
     <message>
         <source>Route download</source>
-        <translation type="vanished">Descarga de rutas</translation>
+        <translation>Descarga de rutas</translation>
     </message>
     <message>
         <source>The command that is used to upload waypoints to the device</source>
-        <translation type="vanished">El comando que se usa para cargar waypoints al receptor</translation>
+        <translation>El comando que se usa para cargar waypoints al receptor</translation>
     </message>
     <message>
         <source>Track upload</source>
-        <translation type="vanished">Subida de trazas</translation>
+        <translation>Subida de trazas</translation>
     </message>
     <message>
         <source>The command that is used to download tracks from the device</source>
-        <translation type="vanished">El comando que se usa para descargar trazas del receptor</translation>
+        <translation>El comando que se usa para descargar trazas del receptor</translation>
     </message>
     <message>
         <source>The command that is used to upload routes to the device</source>
-        <translation type="vanished">El comando que se usa para cargar rutas al receptor</translation>
+        <translation>El comando que se usa para cargar rutas al receptor</translation>
     </message>
     <message>
         <source>The command that is used to download waypoints from the device</source>
-        <translation type="vanished">El comando que se usa para descargar waypoints del receptor</translation>
+        <translation>El comando que se usa para descargar waypoints del receptor</translation>
     </message>
     <message>
         <source>The command that is used to upload tracks to the device</source>
-        <translation type="vanished">El comando que se usa para cargar trazas al receptor</translation>
+        <translation>El comando que se usa para cargar trazas al receptor</translation>
     </message>
     <message>
         <source>Waypoint upload</source>
-        <translation type="vanished">Subida de waypoints</translation>
+        <translation>Subida de waypoints</translation>
     </message>
     <message>
         <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
@@ -65033,7 +65033,7 @@ Referencia en el nombre de la función: my_form_open
 p, li { white-space: pre-wrap; }
 </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
 <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif'; font-size:9pt;">In the download and upload commands there can be special words that will be replaced by QGIS when the commands are used. These words are:</span><span style=" font-family:'Sans Serif'; font-size:9pt; font-style:italic;">%babel</span>&lt [...]
-        <translation type="vanished"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+        <translation><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
 <html><head><meta name="qrichtext" content="1" /><style type="text/css">
 p, li { white-space: pre-wrap; }
 </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
@@ -65044,180 +65044,180 @@ p, li { white-space: pre-wrap; }
     <name>QgsGPSInformationWidget</name>
     <message>
         <source>/gps</source>
-        <translation type="vanished">/gps</translation>
+        <translation>/gps</translation>
     </message>
     <message>
         <source>No path to the GPS port is specified. Please enter a path then try again.</source>
-        <translation type="vanished">No se ha especificado la ruta al GPS. Por favor, introduzca una ruta y pruebe de nuevo.</translation>
+        <translation>No se ha especificado la ruta al GPS. Por favor, introduzca una ruta y pruebe de nuevo.</translation>
     </message>
     <message>
         <source>Connecting...</source>
-        <translation type="vanished">Conectando...</translation>
+        <translation>Conectando...</translation>
     </message>
     <message>
         <source>Connecting to GPS device...</source>
-        <translation type="vanished">Conectando a dispositivo GPS...</translation>
+        <translation>Conectando a dispositivo GPS...</translation>
     </message>
     <message>
         <source>Timed out!</source>
-        <translation type="vanished">¡Expiró la conexión!</translation>
+        <translation>¡Expiró la conexión!</translation>
     </message>
     <message>
         <source>Failed to connect to GPS device.</source>
-        <translation type="vanished">No se pudo conectar al dispositivo GPS.</translation>
+        <translation>No se pudo conectar al dispositivo GPS.</translation>
     </message>
     <message>
         <source>Connected!</source>
-        <translation type="vanished">¡Conectado!</translation>
+        <translation>¡Conectado!</translation>
     </message>
     <message>
         <source>Dis&connect</source>
-        <translation type="vanished">Des&conectar</translation>
+        <translation>Des&conectar</translation>
     </message>
     <message>
         <source>Connected to GPS device.</source>
-        <translation type="vanished">Conectado al dispositivo GPS.</translation>
+        <translation>Conectado al dispositivo GPS.</translation>
     </message>
     <message>
         <source>Error opening log file.</source>
-        <translation type="vanished">Error al abrir el archivo de registro.</translation>
+        <translation>Error al abrir el archivo de registro.</translation>
     </message>
     <message>
         <source>Disconnected...</source>
-        <translation type="vanished">Desconectado...</translation>
+        <translation>Desconectado...</translation>
     </message>
     <message>
         <source>&Connect</source>
-        <translation type="vanished">&Conectar</translation>
+        <translation>&Conectar</translation>
     </message>
     <message>
         <source>Disconnected from GPS device.</source>
-        <translation type="vanished">Desconectado del dispositivo GPS.</translation>
+        <translation>Desconectado del dispositivo GPS.</translation>
     </message>
     <message>
         <source>%1 m</source>
-        <translation type="vanished">%1 m</translation>
+        <translation>%1 m</translation>
     </message>
     <message>
         <source>%1 km/h</source>
-        <translation type="vanished">%1 km/h</translation>
+        <translation>%1 km/h</translation>
     </message>
     <message>
         <source>Automatic</source>
-        <translation type="vanished">Automática</translation>
+        <translation>Automática</translation>
     </message>
     <message>
         <source>Manual</source>
-        <translation type="vanished">Manual</translation>
+        <translation>Manual</translation>
     </message>
     <message>
         <source>3D</source>
-        <translation type="vanished">3D</translation>
+        <translation>3D</translation>
     </message>
     <message>
         <source>2D</source>
-        <translation type="vanished">2D</translation>
+        <translation>2D</translation>
     </message>
     <message>
         <source>No fix</source>
-        <translation type="vanished">No fijo</translation>
+        <translation>No fijo</translation>
     </message>
     <message>
         <source>Differential</source>
-        <translation type="vanished">Diferencial</translation>
+        <translation>Diferencial</translation>
     </message>
     <message>
         <source>Non-differential</source>
-        <translation type="vanished">No diferencial</translation>
+        <translation>No diferencial</translation>
     </message>
     <message>
         <source>No position</source>
-        <translation type="vanished">Ninguna posición</translation>
+        <translation>Ninguna posición</translation>
     </message>
     <message>
         <source>Valid</source>
-        <translation type="vanished">Válido</translation>
+        <translation>Válido</translation>
     </message>
     <message>
         <source>Invalid</source>
-        <translation type="vanished">No válido</translation>
+        <translation>No válido</translation>
     </message>
     <message>
         <source>Not enough vertices</source>
-        <translation type="vanished">Vértices insuficientes</translation>
+        <translation>Vértices insuficientes</translation>
     </message>
     <message>
         <source>Cannot close a line feature until it has at least two vertices.</source>
-        <translation type="vanished">No se puede cerrar una línea hasta que tenga al menos dos vértices.</translation>
+        <translation>No se puede cerrar una línea hasta que tenga al menos dos vértices.</translation>
     </message>
     <message>
         <source>Cannot close a polygon feature until it has at least three vertices.</source>
-        <translation type="vanished">No se puede cerrar un polígono hasta que tenga al menos tres vértices.</translation>
+        <translation>No se puede cerrar un polígono hasta que tenga al menos tres vértices.</translation>
     </message>
     <message>
         <source>Feature added</source>
-        <translation type="vanished">Objeto espacial añadido</translation>
+        <translation>Objeto espacial añadido</translation>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <source>Could not commit changes to layer %1
 
 Errors: %2
 </source>
-        <translation type="vanished">No se pudieron aplicar los cambios a la capa %1
+        <translation>No se pudieron aplicar los cambios a la capa %1
 
 Errores: %2
 </translation>
     </message>
     <message>
         <source>The feature could not be added because removing the polygon intersections would change the geometry type</source>
-        <translation type="vanished">No se pudo añadir el objeto espacial porque eliminar las intersecciones de polígonos cambiaría el tipo de geometría</translation>
+        <translation>No se pudo añadir el objeto espacial porque eliminar las intersecciones de polígonos cambiaría el tipo de geometría</translation>
     </message>
     <message>
         <source>An error was reported during intersection removal</source>
-        <translation type="vanished">Se informó de un error durante la eliminación de la intersección</translation>
+        <translation>Se informó de un error durante la eliminación de la intersección</translation>
     </message>
     <message>
         <source>Cannot add feature. Unknown WKB type. Choose a different layer and try again.</source>
-        <translation type="vanished">No se puede añadir el objeto espacial. Tipo WKB desconocido. Elija otra capa y pruebe de nuevo.</translation>
+        <translation>No se puede añadir el objeto espacial. Tipo WKB desconocido. Elija otra capa y pruebe de nuevo.</translation>
     </message>
     <message>
         <source>Save GPS log file as</source>
-        <translation type="vanished">Guardar archivo de registro del GPS como</translation>
+        <translation>Guardar archivo de registro del GPS como</translation>
     </message>
     <message>
         <source>NMEA files</source>
-        <translation type="vanished">Archivos NMEA</translation>
+        <translation>Archivos NMEA</translation>
     </message>
     <message>
         <source>&Add feature</source>
-        <translation type="vanished">&Añadir objeto espacial</translation>
+        <translation>&Añadir objeto espacial</translation>
     </message>
     <message>
         <source>&Add Point</source>
-        <translation type="vanished">&Añadir punto</translation>
+        <translation>&Añadir punto</translation>
     </message>
     <message>
         <source>&Add Line</source>
-        <translation type="vanished">&Añadir línea</translation>
+        <translation>&Añadir línea</translation>
     </message>
     <message>
         <source>&Add Polygon</source>
-        <translation type="vanished">&Añadir polígono</translation>
+        <translation>&Añadir polígono</translation>
     </message>
 </context>
 <context>
     <name>QgsGPSInformationWidgetBase</name>
     <message>
         <source>GPS Connect</source>
-        <translation type="vanished">Conectar GPS</translation>
+        <translation>Conectar GPS</translation>
     </message>
     <message>
         <source>&Add feature</source>
-        <translation type="vanished">&Añadir objeto espacial</translation>
+        <translation>&Añadir objeto espacial</translation>
     </message>
     <message>
         <source>Quick status indicator:
@@ -65227,7 +65227,7 @@ red = no fix or bad fix
 gray = no data
 
 2D/3D depends on this information being available</source>
-        <translation type="vanished">Indicador rápido de estado:
+        <translation>Indicador rápido de estado:
 verde = bueno o 3D fijo
 amarillo = 2D fijo bueno
 gris = sin datos
@@ -65236,580 +65236,580 @@ gris = sin datos
     </message>
     <message>
         <source>Add track point</source>
-        <translation type="vanished">Añadir punto de traza</translation>
+        <translation>Añadir punto de traza</translation>
     </message>
     <message>
         <source>Reset track</source>
-        <translation type="vanished">Restablecer traza</translation>
+        <translation>Restablecer traza</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>…</source>
-        <translation type="vanished">…</translation>
+        <translation>…</translation>
     </message>
     <message>
         <source>Position</source>
-        <translation type="vanished">Posición</translation>
+        <translation>Posición</translation>
     </message>
     <message>
         <source>Signal</source>
-        <translation type="vanished">Señal</translation>
+        <translation>Señal</translation>
     </message>
     <message>
         <source>Satellite</source>
-        <translation type="vanished">Satélite</translation>
+        <translation>Satélite</translation>
     </message>
     <message>
         <source>Options</source>
-        <translation type="vanished">Opciones</translation>
+        <translation>Opciones</translation>
     </message>
     <message>
         <source>Debug</source>
-        <translation type="vanished">Depurar</translation>
+        <translation>Depurar</translation>
     </message>
     <message>
         <source>&Connect</source>
-        <translation type="vanished">&Conectar</translation>
+        <translation>&Conectar</translation>
     </message>
     <message>
         <source>latitude of position fix (degrees)</source>
-        <translation type="vanished">latitud de la posición capturada (grados)</translation>
+        <translation>latitud de la posición capturada (grados)</translation>
     </message>
     <message>
         <source>Longitude</source>
-        <translation type="vanished">Longitud</translation>
+        <translation>Longitud</translation>
     </message>
     <message>
         <source>longitude of position fix (degrees)</source>
-        <translation type="vanished">longitud de la posición capturada (grados)</translation>
+        <translation>longitud de la posición capturada (grados)</translation>
     </message>
     <message>
         <source>antenna altitude with respect to geoid (mean sea level)</source>
-        <translation type="vanished">altura de la antena con respecto al geoide (nivel medio del mar)</translation>
+        <translation>altura de la antena con respecto al geoide (nivel medio del mar)</translation>
     </message>
     <message>
         <source>Altitude</source>
-        <translation type="vanished">Altitud</translation>
+        <translation>Altitud</translation>
     </message>
     <message>
         <source>Latitude</source>
-        <translation type="vanished">Latitud</translation>
+        <translation>Latitud</translation>
     </message>
     <message>
         <source>Time of fix</source>
-        <translation type="vanished">Hora de la captura</translation>
+        <translation>Hora de la captura</translation>
     </message>
     <message>
         <source>date/time of position fix (UTC)</source>
-        <translation type="vanished">fecha/hora de la posición capturada (UTC)</translation>
+        <translation>fecha/hora de la posición capturada (UTC)</translation>
     </message>
     <message>
         <source>speed over ground</source>
-        <translation type="vanished">velocidad sobre el terreno</translation>
+        <translation>velocidad sobre el terreno</translation>
     </message>
     <message>
         <source>Speed</source>
-        <translation type="vanished">Velocidad</translation>
+        <translation>Velocidad</translation>
     </message>
     <message>
         <source>track direction (degrees)</source>
-        <translation type="vanished">dirección de la traza (grados)</translation>
+        <translation>dirección de la traza (grados)</translation>
     </message>
     <message>
         <source>Direction</source>
-        <translation type="vanished">Sentido</translation>
+        <translation>Sentido</translation>
     </message>
     <message>
         <source>Horizontal Dilution of Precision</source>
-        <translation type="vanished">Dilución horizontal de la precisión</translation>
+        <translation>Dilución horizontal de la precisión</translation>
     </message>
     <message>
         <source>HDOP</source>
-        <translation type="vanished">DHP</translation>
+        <translation>DHP</translation>
     </message>
     <message>
         <source>Vertical Dilution of Precision</source>
-        <translation type="vanished">Dilución vertical de la precisión</translation>
+        <translation>Dilución vertical de la precisión</translation>
     </message>
     <message>
         <source>VDOP</source>
-        <translation type="vanished">DVP</translation>
+        <translation>DVP</translation>
     </message>
     <message>
         <source>Position Dilution of Precision</source>
-        <translation type="vanished">Dilución por posición de la precisión</translation>
+        <translation>Dilución por posición de la precisión</translation>
     </message>
     <message>
         <source>PDOP</source>
-        <translation type="vanished">PDOP</translation>
+        <translation>PDOP</translation>
     </message>
     <message>
         <source>GPS receiver configuration 2D/3D mode: Automatic or Manual</source>
-        <translation type="vanished">Configuración del modo 2D/3D del receptor GPS: automático o manual</translation>
+        <translation>Configuración del modo 2D/3D del receptor GPS: automático o manual</translation>
     </message>
     <message>
         <source>Mode</source>
-        <translation type="vanished">Modo</translation>
+        <translation>Modo</translation>
     </message>
     <message>
         <source>position fix dimensions: 2D, 3D or No fix</source>
-        <translation type="vanished">dimensiones de la captura de la posición: 2D, 3D ninguna captura</translation>
+        <translation>dimensiones de la captura de la posición: 2D, 3D ninguna captura</translation>
     </message>
     <message>
         <source>Dimensions</source>
-        <translation type="vanished">Dimensiones</translation>
+        <translation>Dimensiones</translation>
     </message>
     <message>
         <source>quality of the position fix: Differential, Non-differential or No position</source>
-        <translation type="vanished">calidad de la captura de posición: diferencial, no diferencia o sin posición</translation>
+        <translation>calidad de la captura de posición: diferencial, no diferencia o sin posición</translation>
     </message>
     <message>
         <source>Quality</source>
-        <translation type="vanished">Calidad</translation>
+        <translation>Calidad</translation>
     </message>
     <message>
         <source>position fix status: Valid or Invalid</source>
-        <translation type="vanished">Estado de la captura de posición: válido o no válido</translation>
+        <translation>Estado de la captura de posición: válido o no válido</translation>
     </message>
     <message>
         <source>Status</source>
-        <translation type="vanished">Estado</translation>
+        <translation>Estado</translation>
     </message>
     <message>
         <source>number of satellites used in the position fix</source>
-        <translation type="vanished">número de satélites usado en la captura de posición</translation>
+        <translation>número de satélites usado en la captura de posición</translation>
     </message>
     <message>
         <source>Satellites</source>
-        <translation type="vanished">Satélites</translation>
+        <translation>Satélites</translation>
     </message>
     <message>
         <source>H accuracy</source>
-        <translation type="vanished">Precisión H</translation>
+        <translation>Precisión H</translation>
     </message>
     <message>
         <source>V accuracy</source>
-        <translation type="vanished">Precisión V</translation>
+        <translation>Precisión V</translation>
     </message>
     <message>
         <source>H accurancy</source>
-        <translation type="vanished">Precisión H</translation>
+        <translation>Precisión H</translation>
     </message>
     <message>
         <source>V accurancy</source>
-        <translation type="vanished">Precisión V</translation>
+        <translation>Precisión V</translation>
     </message>
     <message>
         <source>Connection</source>
-        <translation type="vanished">Conexión</translation>
+        <translation>Conexión</translation>
     </message>
     <message>
         <source>Autodetect</source>
-        <translation type="vanished">Autodetectar</translation>
+        <translation>Autodetectar</translation>
     </message>
     <message>
         <source>Serial device</source>
-        <translation type="vanished">Dispositivo serie</translation>
+        <translation>Dispositivo serie</translation>
     </message>
     <message>
         <source>Refresh serial device list</source>
-        <translation type="vanished">Refrescar lista de dispositivos serie</translation>
+        <translation>Refrescar lista de dispositivos serie</translation>
     </message>
     <message>
         <source>Port</source>
-        <translation type="vanished">Puerto</translation>
+        <translation>Puerto</translation>
     </message>
     <message>
         <source>Host</source>
-        <translation type="vanished">Servidor</translation>
+        <translation>Servidor</translation>
     </message>
     <message>
         <source>Device</source>
-        <translation type="vanished">Dispositivo</translation>
+        <translation>Dispositivo</translation>
     </message>
     <message>
         <source>00000; </source>
-        <translation type="vanished">00000; </translation>
+        <translation>00000; </translation>
     </message>
     <message>
         <source>gpsd</source>
-        <translation type="vanished">gpsd</translation>
+        <translation>gpsd</translation>
     </message>
     <message>
         <source>Internal</source>
-        <translation type="vanished">Interno</translation>
+        <translation>Interno</translation>
     </message>
     <message>
         <source>Digitizing</source>
-        <translation type="vanished">Digitalización</translation>
+        <translation>Digitalización</translation>
     </message>
     <message>
         <source>Track</source>
-        <translation type="vanished">Traza</translation>
+        <translation>Traza</translation>
     </message>
     <message>
         <source>Automatically add points</source>
-        <translation type="vanished">Añadir puntos automáticamente</translation>
+        <translation>Añadir puntos automáticamente</translation>
     </message>
     <message>
         <source>Track width in pixels</source>
-        <translation type="vanished">Anchura de la traza en píxeles</translation>
+        <translation>Anchura de la traza en píxeles</translation>
     </message>
     <message>
         <source> width</source>
-        <translation type="vanished"> anchura</translation>
+        <translation> anchura</translation>
     </message>
     <message>
         <source>Color</source>
-        <translation type="vanished">Color</translation>
+        <translation>Color</translation>
     </message>
     <message>
         <source>save layer after every feature added</source>
-        <translation type="vanished">guardar capa después de añadir cada objeto espacial</translation>
+        <translation>guardar capa después de añadir cada objeto espacial</translation>
     </message>
     <message>
         <source>Automatically save added feature</source>
-        <translation type="vanished">Guardar automáticamente objeto espacial añadido</translation>
+        <translation>Guardar automáticamente objeto espacial añadido</translation>
     </message>
     <message>
         <source>save GPS data (NMEA sentences) to a file</source>
-        <translation type="vanished">guardar datos GPS (sentencias NMEA) en un archivo</translation>
+        <translation>guardar datos GPS (sentencias NMEA) en un archivo</translation>
     </message>
     <message>
         <source>Log File</source>
-        <translation type="vanished">Archivo de registro</translation>
+        <translation>Archivo de registro</translation>
     </message>
     <message>
         <source>browse for log file</source>
-        <translation type="vanished">buscar archivo de registro</translation>
+        <translation>buscar archivo de registro</translation>
     </message>
     <message>
         <source>Map centering</source>
-        <translation type="vanished">Centrado de mapa</translation>
+        <translation>Centrado de mapa</translation>
     </message>
     <message>
         <source>when leaving</source>
-        <translation type="vanished">al salir</translation>
+        <translation>al salir</translation>
     </message>
     <message>
         <source>% of map extent</source>
-        <translation type="vanished">% de la extensión del mapa</translation>
+        <translation>% de la extensión del mapa</translation>
     </message>
     <message>
         <source>never</source>
-        <translation type="vanished">nunca</translation>
+        <translation>nunca</translation>
     </message>
     <message>
         <source>always</source>
-        <translation type="vanished">siempre</translation>
+        <translation>siempre</translation>
     </message>
     <message>
         <source>Cursor</source>
-        <translation type="vanished">Cursor</translation>
+        <translation>Cursor</translation>
     </message>
     <message>
         <source>Small</source>
-        <translation type="vanished">Pequeño</translation>
+        <translation>Pequeño</translation>
     </message>
     <message>
         <source>Large</source>
-        <translation type="vanished">Grande</translation>
+        <translation>Grande</translation>
     </message>
 </context>
 <context>
     <name>QgsGPSPlugin</name>
     <message>
         <source>&GPS Tools</source>
-        <translation type="vanished">Herramientas &GPS</translation>
+        <translation>Herramientas &GPS</translation>
     </message>
     <message>
         <source>&Create new GPX layer</source>
-        <translation type="vanished">&Crear nueva capa GPX</translation>
+        <translation>&Crear nueva capa GPX</translation>
     </message>
     <message>
         <source>Creates a new GPX layer and displays it on the map canvas</source>
-        <translation type="vanished">Crea una capa GPX nueva y la muestra en la vista del mapa</translation>
+        <translation>Crea una capa GPX nueva y la muestra en la vista del mapa</translation>
     </message>
     <message>
         <source>&GPS</source>
-        <translation type="vanished">&GPS</translation>
+        <translation>&GPS</translation>
     </message>
     <message>
         <source>Save new GPX file as...</source>
-        <translation type="vanished">Guardar nuevo archivo GPX como...</translation>
+        <translation>Guardar nuevo archivo GPX como...</translation>
     </message>
     <message>
         <source>GPS eXchange file</source>
-        <translation type="vanished">Archivo GPS eXchange</translation>
+        <translation>Archivo GPS eXchange</translation>
     </message>
     <message>
         <source>Could not create file</source>
-        <translation type="vanished">No se pudo crear el archivo</translation>
+        <translation>No se pudo crear el archivo</translation>
     </message>
     <message>
         <source>Unable to create a GPX file with the given name. Try again with another name or in another directory.</source>
-        <translation type="vanished">No se pudo crear un archivo GPX con el nombre dado. Pruebe otra vez con otro nombre o en otro directorio.</translation>
+        <translation>No se pudo crear un archivo GPX con el nombre dado. Pruebe otra vez con otro nombre o en otro directorio.</translation>
     </message>
     <message>
         <source>GPX Loader</source>
-        <translation type="vanished">Cargador de GPX</translation>
+        <translation>Cargador de GPX</translation>
     </message>
     <message>
         <source>Unable to read the selected file.
 Please reselect a valid file.</source>
-        <translation type="vanished">No se puede leer el archivo seleccionado.
+        <translation>No se puede leer el archivo seleccionado.
 Por favor vuelva a seleccionar un archivo válido.</translation>
     </message>
     <message>
         <source>Could not start process</source>
-        <translation type="vanished">No se pudo iniciar el proceso</translation>
+        <translation>No se pudo iniciar el proceso</translation>
     </message>
     <message>
         <source>Could not start GPSBabel!</source>
-        <translation type="vanished">¡No se pudo iniciar GPSBabel!</translation>
+        <translation>¡No se pudo iniciar GPSBabel!</translation>
     </message>
     <message>
         <source>Importing data...</source>
-        <translation type="vanished">Importando datos...</translation>
+        <translation>Importando datos...</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="vanished">Cancelar</translation>
+        <translation>Cancelar</translation>
     </message>
     <message>
         <source>Could not import data from %1!
 
 </source>
-        <translation type="vanished">¡No se pudieron importar datos de %1!
+        <translation>¡No se pudieron importar datos de %1!
 
 </translation>
     </message>
     <message>
         <source>Error importing data</source>
-        <translation type="vanished">Error al importar datos</translation>
+        <translation>Error al importar datos</translation>
     </message>
     <message>
         <source>Could not convert data from %1!
 
 </source>
-        <translation type="vanished">¡No se pudieron convertir los datos desde %1!</translation>
+        <translation>¡No se pudieron convertir los datos desde %1!</translation>
     </message>
     <message>
         <source>Error converting data</source>
-        <translation type="vanished">Error al convertir datos</translation>
+        <translation>Error al convertir datos</translation>
     </message>
     <message>
         <source>Not supported</source>
-        <translation type="vanished">No soportado</translation>
+        <translation>No soportado</translation>
     </message>
     <message>
         <source>This device does not support downloading of %1.</source>
-        <translation type="vanished">El dispositivo no admite la descarga de %1.</translation>
+        <translation>El dispositivo no admite la descarga de %1.</translation>
     </message>
     <message>
         <source>Downloading data...</source>
-        <translation type="vanished">Descargando datos...</translation>
+        <translation>Descargando datos...</translation>
     </message>
     <message>
         <source>Could not download data from GPS!
 
 </source>
-        <translation type="vanished">¡No se pudieron descargar datos del GPS!
+        <translation>¡No se pudieron descargar datos del GPS!
 
 </translation>
     </message>
     <message>
         <source>Error downloading data</source>
-        <translation type="vanished">Error al descargar datos</translation>
+        <translation>Error al descargar datos</translation>
     </message>
     <message>
         <source>This device does not support uploading of %1.</source>
-        <translation type="vanished">El dispositivo no admite la carga de %1.</translation>
+        <translation>El dispositivo no admite la carga de %1.</translation>
     </message>
     <message>
         <source>Uploading data...</source>
-        <translation type="vanished">Cargando datos...</translation>
+        <translation>Cargando datos...</translation>
     </message>
     <message>
         <source>Error while uploading data to GPS!
 
 </source>
-        <translation type="vanished">¡Error al cargar datos al GPS!
+        <translation>¡Error al cargar datos al GPS!
 
 </translation>
     </message>
     <message>
         <source>Error uploading data</source>
-        <translation type="vanished">Error al cargar datos</translation>
+        <translation>Error al cargar datos</translation>
     </message>
 </context>
 <context>
     <name>QgsGPSPluginGui</name>
     <message>
         <source>GPX files (*.gpx)</source>
-        <translation type="vanished">Archivos GPX (*.gpx)</translation>
+        <translation>Archivos GPX (*.gpx)</translation>
     </message>
     <message>
         <source>Waypoints</source>
-        <translation type="vanished">Waypoints</translation>
+        <translation>Waypoints</translation>
     </message>
     <message>
         <source>Routes</source>
-        <translation type="vanished">Rutas</translation>
+        <translation>Rutas</translation>
     </message>
     <message>
         <source>Tracks</source>
-        <translation type="vanished">Trazas</translation>
+        <translation>Trazas</translation>
     </message>
     <message>
         <source>Choose a file name to save under</source>
-        <translation type="vanished">Seleccione un nombre de archivo bajo el que guardar</translation>
+        <translation>Seleccione un nombre de archivo bajo el que guardar</translation>
     </message>
     <message>
         <source>GPS eXchange format</source>
-        <translation type="vanished">Formato GPS eXchange</translation>
+        <translation>Formato GPS eXchange</translation>
     </message>
     <message>
         <source>Select GPX file</source>
-        <translation type="vanished">Seleccionar archivo GPX</translation>
+        <translation>Seleccionar archivo GPX</translation>
     </message>
     <message>
         <source>Select file and format to import</source>
-        <translation type="vanished">Seleccionar archivo y formato a importar</translation>
+        <translation>Seleccionar archivo y formato a importar</translation>
     </message>
     <message>
         <source>Waypoints from a route</source>
-        <translation type="vanished">Waypoints de una ruta</translation>
+        <translation>Waypoints de una ruta</translation>
     </message>
     <message>
         <source>Waypoints from a track</source>
-        <translation type="vanished">Waypoints de una traza</translation>
+        <translation>Waypoints de una traza</translation>
     </message>
     <message>
         <source>Route from waypoints</source>
-        <translation type="vanished">Ruta de waypoints</translation>
+        <translation>Ruta de waypoints</translation>
     </message>
     <message>
         <source>Track from waypoints</source>
-        <translation type="vanished">Traza de waypoints</translation>
+        <translation>Traza de waypoints</translation>
     </message>
     <message>
         <source>GPS eXchange format (*.gpx)</source>
-        <translation type="vanished">formato GPS eXchange (*.gpx)</translation>
+        <translation>formato GPS eXchange (*.gpx)</translation>
     </message>
 </context>
 <context>
     <name>QgsGPSPluginGuiBase</name>
     <message>
         <source>GPS Tools</source>
-        <translation type="vanished">Herramientas GPS</translation>
+        <translation>Herramientas GPS</translation>
     </message>
     <message>
         <source>Load GPX file</source>
-        <translation type="vanished">Cargar archivo GPX</translation>
+        <translation>Cargar archivo GPX</translation>
     </message>
     <message>
         <source>File</source>
-        <translation type="vanished">Archivo</translation>
+        <translation>Archivo</translation>
     </message>
     <message>
         <source>Browse...</source>
-        <translation type="vanished">Explorar...</translation>
+        <translation>Explorar...</translation>
     </message>
     <message>
         <source>Feature types</source>
-        <translation type="vanished">Tipos de objeto espacial</translation>
+        <translation>Tipos de objeto espacial</translation>
     </message>
     <message>
         <source>Waypoints</source>
-        <translation type="vanished">Waypoints</translation>
+        <translation>Waypoints</translation>
     </message>
     <message>
         <source>Routes</source>
-        <translation type="vanished">Rutas</translation>
+        <translation>Rutas</translation>
     </message>
     <message>
         <source>Tracks</source>
-        <translation type="vanished">Trazas</translation>
+        <translation>Trazas</translation>
     </message>
     <message>
         <source>Import other file</source>
-        <translation type="vanished">Importar otro archivo</translation>
+        <translation>Importar otro archivo</translation>
     </message>
     <message>
         <source>File to import</source>
-        <translation type="vanished">Archivo a importar</translation>
+        <translation>Archivo a importar</translation>
     </message>
     <message>
         <source>Feature type</source>
-        <translation type="vanished">Tipo de objeto espacial</translation>
+        <translation>Tipo de objeto espacial</translation>
     </message>
     <message>
         <source>Layer name</source>
-        <translation type="vanished">Nombre de la capa</translation>
+        <translation>Nombre de la capa</translation>
     </message>
     <message>
         <source>GPX output file</source>
-        <translation type="vanished">Archivo GPX de salida</translation>
+        <translation>Archivo GPX de salida</translation>
     </message>
     <message>
         <source>Save As...</source>
-        <translation type="vanished">Guardar como...</translation>
+        <translation>Guardar como...</translation>
     </message>
     <message>
         <source>(Note: Selecting correct file type in browser dialog important!)</source>
-        <translation type="vanished">(Nota: ¡Seleccionar el tipo de archivo correcto en el diálogo de exploración es importante!)</translation>
+        <translation>(Nota: ¡Seleccionar el tipo de archivo correcto en el diálogo de exploración es importante!)</translation>
     </message>
     <message>
         <source>Download from GPS</source>
-        <translation type="vanished">Descargar desde GPS</translation>
+        <translation>Descargar desde GPS</translation>
     </message>
     <message>
         <source>GPS device</source>
-        <translation type="vanished">Receptor GPS</translation>
+        <translation>Receptor GPS</translation>
     </message>
     <message>
         <source>Edit devices...</source>
-        <translation type="vanished">Editar dispositivos...</translation>
+        <translation>Editar dispositivos...</translation>
     </message>
     <message>
         <source>Port</source>
-        <translation type="vanished">Puerto</translation>
+        <translation>Puerto</translation>
     </message>
     <message>
         <source>Refresh</source>
-        <translation type="vanished">Actualizar</translation>
+        <translation>Actualizar</translation>
     </message>
     <message>
         <source>Output file</source>
-        <translation type="vanished">Archivo de salida</translation>
+        <translation>Archivo de salida</translation>
     </message>
     <message>
         <source>Upload to GPS</source>
-        <translation type="vanished">Cargar al GPS</translation>
+        <translation>Cargar al GPS</translation>
     </message>
     <message>
         <source>Data layer</source>
-        <translation type="vanished">Capa de datos</translation>
+        <translation>Capa de datos</translation>
     </message>
     <message>
         <source>Edit devices</source>
-        <translation type="vanished">Editar receptores</translation>
+        <translation>Editar receptores</translation>
     </message>
     <message>
         <source>GPX Conversions</source>
-        <translation type="vanished">Conversiones GPX</translation>
+        <translation>Conversiones GPX</translation>
     </message>
     <message>
         <source>GPX input file</source>
-        <translation type="vanished">Archivo GPX de entrada</translation>
+        <translation>Archivo GPX de entrada</translation>
     </message>
     <message>
         <source>Conversion</source>
-        <translation type="vanished">Conversión</translation>
+        <translation>Conversión</translation>
     </message>
 </context>
 <context>
@@ -65889,19 +65889,19 @@ Por favor vuelva a seleccionar un archivo válido.</translation>
     </message>
     <message>
         <source>Band</source>
-        <translation type="vanished">Banda</translation>
+        <translation>Banda</translation>
     </message>
     <message>
         <source>Format not supported</source>
-        <translation type="vanished">Formato no soportado</translation>
+        <translation>Formato no soportado</translation>
     </message>
     <message>
         <source>Cannot read data</source>
-        <translation type="vanished">No se pueden leer los datos</translation>
+        <translation>No se pueden leer los datos</translation>
     </message>
     <message>
         <source>Cannot get GDAL raster band: %1</source>
-        <translation type="vanished">No se puede obtener la banda ráster de GDAL: %1</translation>
+        <translation>No se puede obtener la banda ráster de GDAL: %1</translation>
     </message>
 </context>
 <context>
@@ -65934,15 +65934,15 @@ Por favor vuelva a seleccionar un archivo válido.</translation>
     <name>QgsGenericProjectionSelector</name>
     <message>
         <source>Define this layer's coordinate reference system:</source>
-        <translation type="vanished">Defina el sistema de referencia de coordenadas de esta capa:</translation>
+        <translation>Defina el sistema de referencia de coordenadas de esta capa:</translation>
     </message>
     <message>
         <source>This layer appears to have no projection specification.</source>
-        <translation type="vanished">Parece que esta capa no tiene especificada la proyección.</translation>
+        <translation>Parece que esta capa no tiene especificada la proyección.</translation>
     </message>
     <message>
         <source>By default, this layer will now have its projection set to that of the project, but you may override this by selecting a different projection below.</source>
-        <translation type="vanished">Por omisión, se utilizará la misma que para el proyecto, pero puede ignorarla seleccionado una proyección diferente a continuación.</translation>
+        <translation>Por omisión, se utilizará la misma que para el proyecto, pero puede ignorarla seleccionado una proyección diferente a continuación.</translation>
     </message>
 </context>
 <context>
@@ -65957,7 +65957,7 @@ Por favor vuelva a seleccionar un archivo válido.</translation>
     <name>QgsGeoNodeConnectionItem</name>
     <message>
         <source>Edit Connection...</source>
-        <translation type="vanished">Editar conexión...</translation>
+        <translation>Editar conexión...</translation>
     </message>
     <message>
         <location filename="../src/providers/geonode/qgsgeonodedataitems.cpp" line="71"/>
@@ -66062,7 +66062,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     <name>QgsGeoNodeRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <location filename="../src/providers/geonode/qgsgeonodedataitems.cpp" line="244"/>
@@ -66165,7 +66165,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     <name>QgsGeoPackageAbstractLayerItem</name>
     <message>
         <source>Delete Layer '%1'...</source>
-        <translation type="vanished">Borrar capa '%1'...</translation>
+        <translation>Borrar capa '%1'...</translation>
     </message>
     <message>
         <location filename="../src/providers/ogr/qgsgeopackagedataitems.cpp" line="532"/>
@@ -66198,7 +66198,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>Create a New Layer or Table...</source>
-        <translation type="vanished">Crear una nueva capa o tabla...</translation>
+        <translation>Crear una nueva capa o tabla...</translation>
     </message>
     <message>
         <location filename="../src/providers/ogr/qgsgeopackagedataitems.cpp" line="185"/>
@@ -66302,7 +66302,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>Create a New Layer or Table...</source>
-        <translation type="vanished">Crear una nueva capa o tabla...</translation>
+        <translation>Crear una nueva capa o tabla...</translation>
     </message>
 </context>
 <context>
@@ -66317,11 +66317,11 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     <name>QgsGeoPackageRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <source>Create Database...</source>
-        <translation type="vanished">Crear base de datos...</translation>
+        <translation>Crear base de datos...</translation>
     </message>
     <message>
         <location filename="../src/providers/ogr/qgsgeopackagedataitems.cpp" line="80"/>
@@ -66338,11 +66338,11 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     <name>QgsGeomColumnTypeThread</name>
     <message>
         <source>Retrieving tables of %1...</source>
-        <translation type="vanished">Recopilando tablas de %1...</translation>
+        <translation>Recopilando tablas de %1...</translation>
     </message>
     <message>
         <source>Scanning column %1.%2.%3...</source>
-        <translation type="vanished">Escaneando columna %1.%2.%3...</translation>
+        <translation>Escaneando columna %1.%2.%3...</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgscolumntypethread.cpp" line="57"/>
@@ -66445,7 +66445,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     <name>QgsGeometryChecker</name>
     <message>
         <source>No action</source>
-        <translation type="vanished">Ninguna acción</translation>
+        <translation>Ninguna acción</translation>
     </message>
 </context>
 <context>
@@ -66462,7 +66462,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>Settings</source>
-        <translation type="vanished">Configuración</translation>
+        <translation>Configuración</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckerdialog.cpp" line="45"/>
@@ -66476,7 +66476,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     <name>QgsGeometryCheckerFixDialog</name>
     <message>
         <source>Fix errors</source>
-        <translation type="vanished">Corregir errores</translation>
+        <translation>Corregir errores</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckfixdialog.cpp" line="41"/>
@@ -66692,7 +66692,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>When a row is selected, move canvas to:</source>
-        <translation type="vanished">Cuando se seleccione una fila, mover el lienzo a:</translation>
+        <translation>Cuando se seleccione una fila, mover el lienzo a:</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckerresulttab.ui" line="81"/>
@@ -66741,7 +66741,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>Check errors occurred</source>
-        <translation type="vanished">Ocurrieron errores de comprobación</translation>
+        <translation>Ocurrieron errores de comprobación</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckerresulttab.cpp" line="161"/>
@@ -66766,7 +66766,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>ESRI Shapefile (*.shp);;</source>
-        <translation type="vanished">Archivos shape de ESRI (*.shp);;</translation>
+        <translation>Archivos shape de ESRI (*.shp);;</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckerresulttab.cpp" line="133"/>
@@ -66775,11 +66775,11 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>GeoPackage (*.gpkg);;</source>
-        <translation type="vanished">GeoPackage (*.gpkg);;</translation>
+        <translation>GeoPackage (*.gpkg);;</translation>
     </message>
     <message>
         <source>Failed to export errors to shapefile.</source>
-        <translation type="vanished">No se pudieron exportar los errores a archivo shape.</translation>
+        <translation>No se pudieron exportar los errores a archivo shape.</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckerresulttab.cpp" line="240"/>
@@ -66823,7 +66823,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>The layer has been removed.</source>
-        <translation type="vanished">Se ha eliminado la capa.</translation>
+        <translation>Se ha eliminado la capa.</translation>
     </message>
 </context>
 <context>
@@ -66835,7 +66835,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>Input vector layer</source>
-        <translation type="vanished">Capa vectorial de entrada</translation>
+        <translation>Capa vectorial de entrada</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckersetuptab.ui" line="98"/>
@@ -66844,7 +66844,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>Geometry validity:</source>
-        <translation type="vanished">Validez de geometría:</translation>
+        <translation>Validez de geometría:</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckersetuptab.ui" line="205"/>
@@ -66863,7 +66863,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>Allowed geometry types:</source>
-        <translation type="vanished">Tipos de geometría permitidos:</translation>
+        <translation>Tipos de geometría permitidos:</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckersetuptab.ui" line="71"/>
@@ -67032,7 +67032,7 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>Geometry properties:</source>
-        <translation type="vanished">Propiedades de geometría:</translation>
+        <translation>Propiedades de geometría:</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckersetuptab.ui" line="272"/>
@@ -67046,27 +67046,27 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>Geometry conditions:</source>
-        <translation type="vanished">Condiciones de geometría:</translation>
+        <translation>Condiciones de geometría:</translation>
     </message>
     <message>
         <source>Minimum angle between segments (deg):</source>
-        <translation type="vanished">Ángulo mínimo entre segmentos (grados):</translation>
+        <translation>Ángulo mínimo entre segmentos (grados):</translation>
     </message>
     <message>
         <source>Minimal segment length (map units):</source>
-        <translation type="vanished">Longitud mínima de segmento (unidades de mapa):</translation>
+        <translation>Longitud mínima de segmento (unidades de mapa):</translation>
     </message>
     <message>
         <source>Minimal polygon area (map units sqr.):</source>
-        <translation type="vanished">Área mínima de polígono (unidades de mapa al cuadrado):</translation>
+        <translation>Área mínima de polígono (unidades de mapa al cuadrado):</translation>
     </message>
     <message>
         <source>No sliver polygons:</source>
-        <translation type="vanished">Ningún polígono astilla:</translation>
+        <translation>Ningún polígono astilla:</translation>
     </message>
     <message>
         <source>Maximum thinness:</source>
-        <translation type="vanished">Delgadez máxima:</translation>
+        <translation>Delgadez máxima:</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckersetuptab.ui" line="425"/>
@@ -67075,19 +67075,19 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>Max. area (map units sqr.):</source>
-        <translation type="vanished">Área máxima (unidades de mapa al cuadrado):</translation>
+        <translation>Área máxima (unidades de mapa al cuadrado):</translation>
     </message>
     <message>
         <source>Topology checks:</source>
-        <translation type="vanished">Comprobaciones de topología:</translation>
+        <translation>Comprobaciones de topología:</translation>
     </message>
     <message>
         <source>Check for overlaps smaller than (map units sqr.):</source>
-        <translation type="vanished">Comprobar solapamientos más pequeños que (unidades de mapa al cuadrado):</translation>
+        <translation>Comprobar solapamientos más pequeños que (unidades de mapa al cuadrado):</translation>
     </message>
     <message>
         <source>Check for gaps smaller than (map units sqr.):</source>
-        <translation type="vanished">Comprobar huecos más pequeños que (unidades de mapa al cuadrado):</translation>
+        <translation>Comprobar huecos más pequeños que (unidades de mapa al cuadrado):</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckersetuptab.ui" line="491"/>
@@ -67111,19 +67111,19 @@ por favor, verifique si %1 es una instancia de GeoNode válida.
     </message>
     <message>
         <source>Tolerance:</source>
-        <translation type="vanished">Tolerancia:</translation>
+        <translation>Tolerancia:</translation>
     </message>
     <message>
         <source>Output vector layer</source>
-        <translation type="vanished">Capa vectorial de salida</translation>
+        <translation>Capa vectorial de salida</translation>
     </message>
     <message>
         <source>&Modify input layer</source>
-        <translation type="vanished">&Modificar capa de entrada</translation>
+        <translation>&Modificar capa de entrada</translation>
     </message>
     <message>
         <source>Create &new layer</source>
-        <translation type="vanished">Crear capa &nueva</translation>
+        <translation>Crear capa &nueva</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckersetuptab.ui" line="755"/>
@@ -67200,15 +67200,15 @@ Se puede hacer la comprobación de la geometría, pero no será posible corregir
     </message>
     <message>
         <source>Select Output File</source>
-        <translation type="vanished">Seleccione archivo de salida</translation>
+        <translation>Seleccione archivo de salida</translation>
     </message>
     <message>
         <source>Invalid Output Layer</source>
-        <translation type="vanished">Capa de salida no válida</translation>
+        <translation>Capa de salida no válida</translation>
     </message>
     <message>
         <source>The chosen output layer is the same as the input layer.</source>
-        <translation type="vanished">La capa de salida elegida es la misma que la capa de entrada.</translation>
+        <translation>La capa de salida elegida es la misma que la capa de entrada.</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckersetuptab.cpp" line="266"/>
@@ -67217,7 +67217,7 @@ Se puede hacer la comprobación de la geometría, pero no será posible corregir
     </message>
     <message>
         <source>The input layer is not allowed to be in editing mode.</source>
-        <translation type="vanished">No está permitido que la capa de entrada esté en modo edición.</translation>
+        <translation>No está permitido que la capa de entrada esté en modo edición.</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckersetuptab.cpp" line="275"/>
@@ -67241,7 +67241,7 @@ Se puede hacer la comprobación de la geometría, pero no será posible corregir
     </message>
     <message>
         <source>Failed to create the output layer: %1</source>
-        <translation type="vanished">No se pudo crear la capa de salida: %1</translation>
+        <translation>No se pudo crear la capa de salida: %1</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckersetuptab.cpp" line="492"/>
@@ -67250,11 +67250,11 @@ Se puede hacer la comprobación de la geometría, pero no será posible corregir
     </message>
     <message>
         <source>Non-editable Output Format</source>
-        <translation type="vanished">Formato de salida no editable</translation>
+        <translation>Formato de salida no editable</translation>
     </message>
     <message>
         <source>The output file format does not support editing features. The geometry check can be performed, but it will not be possible to fix any errors. Do you want to continue?</source>
-        <translation type="vanished">El formato del archivo de salida no admite la edición de objetos. Se puede hacer la comprobación de la geometría, pero no será posible corregir los errores. ¿Quiere continuar?</translation>
+        <translation>El formato del archivo de salida no admite la edición de objetos. Se puede hacer la comprobación de la geometría, pero no será posible corregir los errores. ¿Quiere continuar?</translation>
     </message>
     <message>
         <location filename="../src/plugins/geometry_checker/qgsgeometrycheckersetuptab.cpp" line="412"/>
@@ -67266,7 +67266,7 @@ Se puede hacer la comprobación de la geometría, pero no será posible corregir
     <name>QgsGeometryContainedCheck</name>
     <message>
         <source>Feature %1 within feature %2: %3</source>
-        <translation type="vanished">Objeto %1 dentro del objeto %2: %3</translation>
+        <translation>Objeto %1 dentro del objeto %2: %3</translation>
     </message>
     <message>
         <location filename="../src/analysis/vector/geometry_checker/qgsgeometrycontainedcheck.cpp" line="31"/>
@@ -67304,7 +67304,7 @@ Se puede hacer la comprobación de la geometría, pero no será posible corregir
     <name>QgsGeometryContainedCheckError</name>
     <message>
         <source>Within %1</source>
-        <translation type="vanished">Dentro de %1</translation>
+        <translation>Dentro de %1</translation>
     </message>
     <message>
         <location filename="../src/analysis/vector/geometry_checker/qgsgeometrycontainedcheck.h" line="43"/>
@@ -67357,7 +67357,7 @@ Se puede hacer la comprobación de la geometría, pero no será posible corregir
     <name>QgsGeometryDuplicateCheck</name>
     <message>
         <source>Duplicate check between features %1 and %2: %3</source>
-        <translation type="vanished">Comprobación de duplicados entre los objetos %1 y %2: %3</translation>
+        <translation>Comprobación de duplicados entre los objetos %1 y %2: %3</translation>
     </message>
     <message>
         <location filename="../src/analysis/vector/geometry_checker/qgsgeometryduplicatecheck.cpp" line="53"/>
@@ -67585,7 +67585,7 @@ Se puede hacer la comprobación de la geometría, pero no será posible corregir
     <name>QgsGeometryOverlapCheck</name>
     <message>
         <source>Overlap check between features %1 and %2: %3</source>
-        <translation type="vanished">Comprobación de superposición entre los objetos %1 y %2: %3</translation>
+        <translation>Comprobación de superposición entre los objetos %1 y %2: %3</translation>
     </message>
     <message>
         <location filename="../src/analysis/vector/geometry_checker/qgsgeometryoverlapcheck.cpp" line="36"/>
@@ -67750,117 +67750,117 @@ Se puede hacer la comprobación de la geometría, pero no será posible corregir
     <name>QgsGeometrySnapper</name>
     <message>
         <source>Failed to read feature %1 of input layer.</source>
-        <translation type="vanished">No se pudo leer el objeto %1 de la capa de entrada.</translation>
+        <translation>No se pudo leer el objeto %1 de la capa de entrada.</translation>
     </message>
 </context>
 <context>
     <name>QgsGeometrySnapperDialog</name>
     <message>
         <source>Geometry Snapper</source>
-        <translation type="vanished">Ajustador de Geometría</translation>
+        <translation>Ajustador de Geometría</translation>
     </message>
     <message>
         <source>Input vector layer</source>
-        <translation type="vanished">Capa vectorial de entrada</translation>
+        <translation>Capa vectorial de entrada</translation>
     </message>
     <message>
         <source>Only selected features</source>
-        <translation type="vanished">Sólo objetos espaciales seleccionados</translation>
+        <translation>Sólo objetos espaciales seleccionados</translation>
     </message>
     <message>
         <source>Reference layer</source>
-        <translation type="vanished">Capa de referencia</translation>
+        <translation>Capa de referencia</translation>
     </message>
     <message>
         <source>Options</source>
-        <translation type="vanished">Opciones</translation>
+        <translation>Opciones</translation>
     </message>
     <message>
         <source>Maximum snapping distance (map units):</source>
-        <translation type="vanished">Distancia máxima de autoensamblado (unidades de mapa):</translation>
+        <translation>Distancia máxima de autoensamblado (unidades de mapa):</translation>
     </message>
     <message>
         <source>Output vector layer</source>
-        <translation type="vanished">Capa vectorial de salida</translation>
+        <translation>Capa vectorial de salida</translation>
     </message>
     <message>
         <source>&Modify input layer</source>
-        <translation type="vanished">&Modificar capa de entrada</translation>
+        <translation>&Modificar capa de entrada</translation>
     </message>
     <message>
         <source>Create new &layer</source>
-        <translation type="vanished">Crear &capa nueva</translation>
+        <translation>Crear &capa nueva</translation>
     </message>
     <message>
         <source>Browse</source>
-        <translation type="vanished">Explorar</translation>
+        <translation>Explorar</translation>
     </message>
     <message>
         <source>Run</source>
-        <translation type="vanished">Ejecutar</translation>
+        <translation>Ejecutar</translation>
     </message>
     <message>
         <source>Select Output File</source>
-        <translation type="vanished">Seleccione archivo de salida</translation>
+        <translation>Seleccione archivo de salida</translation>
     </message>
     <message>
         <source>Invalid Output Layer</source>
-        <translation type="vanished">Capa de salida no válida</translation>
+        <translation>Capa de salida no válida</translation>
     </message>
     <message>
         <source>The chosen output layer is the same as an input layer.</source>
-        <translation type="vanished">La capa de salida elegida es la misma que una capa de entrada.</translation>
+        <translation>La capa de salida elegida es la misma que una capa de entrada.</translation>
     </message>
     <message>
         <source>Layer Creation Failed</source>
-        <translation type="vanished">Falló la creación de la capa</translation>
+        <translation>Falló la creación de la capa</translation>
     </message>
     <message>
         <source>Failed to create the output layer: %1</source>
-        <translation type="vanished">No se pudo crear la capa de salida: %1</translation>
+        <translation>No se pudo crear la capa de salida: %1</translation>
     </message>
     <message>
         <source><p>The following errors occurred:</p><ul><li>%1</li></ul></source>
-        <translation type="vanished"><p>Ocurrieron los siguientes errores:</p><ul><li>%1</li></ul></translation>
+        <translation><p>Ocurrieron los siguientes errores:</p><ul><li>%1</li></ul></translation>
     </message>
     <message>
         <source>Non-editable Output Format</source>
-        <translation type="vanished">Formato de salida no editable</translation>
+        <translation>Formato de salida no editable</translation>
     </message>
     <message>
         <source>The output file format does not support editing features. Please select another output file format.</source>
-        <translation type="vanished">El formato del archivo de salida no admite la edición de objetos. Por favor, seleccione otro formato de archivo de salida.</translation>
+        <translation>El formato del archivo de salida no admite la edición de objetos. Por favor, seleccione otro formato de archivo de salida.</translation>
     </message>
     <message>
         <source>Errors occurred</source>
-        <translation type="vanished">Hubo errores</translation>
+        <translation>Hubo errores</translation>
     </message>
 </context>
 <context>
     <name>QgsGeometrySnapperPlugin</name>
     <message>
         <source>Snap geometries</source>
-        <translation type="vanished">Autoensamblar geometrías</translation>
+        <translation>Autoensamblar geometrías</translation>
     </message>
     <message>
         <source>G&eometry Tools</source>
-        <translation type="vanished">Herramientas de g&eometría</translation>
+        <translation>Herramientas de g&eometría</translation>
     </message>
     <message>
         <source>Geometry Snapper</source>
-        <translation type="vanished">Ajustador de Geometría</translation>
+        <translation>Ajustador de Geometría</translation>
     </message>
     <message>
         <source>Snap geometries to a reference layer</source>
-        <translation type="vanished">Ajustar geometrías a una capa de referencia</translation>
+        <translation>Ajustar geometrías a una capa de referencia</translation>
     </message>
     <message>
         <source>Vector</source>
-        <translation type="vanished">Vector</translation>
+        <translation>Vector</translation>
     </message>
     <message>
         <source>Version 0.1</source>
-        <translation type="vanished">Versión 0.1</translation>
+        <translation>Versión 0.1</translation>
     </message>
 </context>
 <context>
@@ -67900,7 +67900,7 @@ Se puede hacer la comprobación de la geometría, pero no será posible corregir
     <name>QgsGeometryTypeCheckError</name>
     <message>
         <source>Overlap with %1</source>
-        <translation type="vanished">Superponer con %1</translation>
+        <translation>Superponer con %1</translation>
     </message>
     <message>
         <location filename="../src/analysis/vector/geometry_checker/qgsgeometryoverlapcheck.h" line="67"/>
@@ -68227,7 +68227,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsGeorefPlugin</name>
     <message>
         <source>&Georeferencer...</source>
-        <translation type="vanished">&Georreferenciador...</translation>
+        <translation>&Georreferenciador...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgsgeorefplugin.cpp" line="95"/>
@@ -68642,7 +68642,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>GDAL script</source>
-        <translation type="vanished">script de Gdal</translation>
+        <translation>script de Gdal</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgsgeorefplugingui.cpp" line="1924"/>
@@ -68979,7 +68979,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsGlobePluginDialog</name>
     <message>
         <source>Custom...</source>
-        <translation type="vanished">Personalizar...</translation>
+        <translation>Personalizar...</translation>
     </message>
     <message>
         <location filename="../src/plugins/globe/qgsglobeplugindialog.cpp" line="52"/>
@@ -69245,7 +69245,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Terrain following behaviour</source>
-        <translation type="vanished">Siguiente comportamiento del terreno</translation>
+        <translation>Siguiente comportamiento del terreno</translation>
     </message>
     <message>
         <location filename="../src/plugins/globe/qgsglobevectorlayerpropertiespage.ui" line="39"/>
@@ -69271,7 +69271,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Granulatiry at which to sample the terrain</source>
-        <translation type="vanished">Granularidad a la que muestrear el terreno</translation>
+        <translation>Granularidad a la que muestrear el terreno</translation>
     </message>
     <message>
         <location filename="../src/plugins/globe/qgsglobevectorlayerpropertiespage.ui" line="63"/>
@@ -69547,7 +69547,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsGlowWidget</name>
     <message>
         <source>Select glow color</source>
-        <translation type="vanished">Seleccionar color de reflejos</translation>
+        <translation>Seleccionar color de reflejos</translation>
     </message>
     <message>
         <location filename="../src/gui/effects/qgspainteffectwidget.cpp" line="414"/>
@@ -69761,11 +69761,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Connecting...</source>
-        <translation type="vanished">Conectando...</translation>
+        <translation>Conectando...</translation>
     </message>
     <message>
         <source>Connecting to GPS device...</source>
-        <translation type="vanished">Conectando a dispositivo GPS...</translation>
+        <translation>Conectando a dispositivo GPS...</translation>
     </message>
     <message>
         <location filename="../src/app/gps/qgsgpsinformationwidget.cpp" line="444"/>
@@ -69799,7 +69799,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Disconnected...</source>
-        <translation type="vanished">Desconectado...</translation>
+        <translation>Desconectado...</translation>
     </message>
     <message>
         <location filename="../src/app/gps/qgsgpsinformationwidget.cpp" line="431"/>
@@ -69913,7 +69913,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Not enough vertices</source>
-        <translation type="vanished">Vértices insuficientes</translation>
+        <translation>Vértices insuficientes</translation>
     </message>
     <message>
         <location filename="../src/app/gps/qgsgpsinformationwidget.cpp" line="792"/>
@@ -69933,7 +69933,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <location filename="../src/app/gps/qgsgpsinformationwidget.cpp" line="837"/>
@@ -69949,11 +69949,11 @@ Errores: %2
     </message>
     <message>
         <source>The feature could not be added because removing the polygon intersections would change the geometry type</source>
-        <translation type="vanished">No se pudo añadir el objeto espacial porque eliminar las intersecciones de polígonos cambiaría el tipo de geometría</translation>
+        <translation>No se pudo añadir el objeto espacial porque eliminar las intersecciones de polígonos cambiaría el tipo de geometría</translation>
     </message>
     <message>
         <source>An error was reported during intersection removal</source>
-        <translation type="vanished">Se informó de un error durante la eliminación de la intersección</translation>
+        <translation>Se informó de un error durante la eliminación de la intersección</translation>
     </message>
     <message>
         <location filename="../src/app/gps/qgsgpsinformationwidget.cpp" line="930"/>
@@ -70393,7 +70393,7 @@ gris = sin datos
     </message>
     <message>
         <source>Save new GPX file as...</source>
-        <translation type="vanished">Guardar nuevo archivo GPX como...</translation>
+        <translation>Guardar nuevo archivo GPX como...</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="164"/>
@@ -70455,7 +70455,7 @@ Por favor vuelva a seleccionar un archivo válido.</translation>
     </message>
     <message>
         <source>Importing data...</source>
-        <translation type="vanished">Importando datos...</translation>
+        <translation>Importando datos...</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="274"/>
@@ -70510,7 +70510,7 @@ Por favor vuelva a seleccionar un archivo válido.</translation>
     </message>
     <message>
         <source>Downloading data...</source>
-        <translation type="vanished">Descargando datos...</translation>
+        <translation>Descargando datos...</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="457"/>
@@ -70533,7 +70533,7 @@ Por favor vuelva a seleccionar un archivo válido.</translation>
     </message>
     <message>
         <source>Uploading data...</source>
-        <translation type="vanished">Cargando datos...</translation>
+        <translation>Cargando datos...</translation>
     </message>
     <message>
         <location filename="../src/plugins/gps_importer/qgsgpsplugin.cpp" line="547"/>
@@ -70889,11 +70889,11 @@ Por favor vuelva a seleccionar un archivo válido.</translation>
     <name>QgsGradientFillSymbolLayerV2Widget</name>
     <message>
         <source>Select gradient color</source>
-        <translation type="vanished">Seleccionar color de gradiente</translation>
+        <translation>Seleccionar color de gradiente</translation>
     </message>
     <message>
         <source>Transparent</source>
-        <translation type="vanished">Transparente</translation>
+        <translation>Transparente</translation>
     </message>
 </context>
 <context>
@@ -70946,178 +70946,178 @@ Por favor vuelva a seleccionar un archivo válido.</translation>
     <name>QgsGraduatedSymbolRendererV2Model</name>
     <message>
         <source>Symbol</source>
-        <translation type="vanished">Símbolo</translation>
+        <translation>Símbolo</translation>
     </message>
     <message>
         <source>Values</source>
-        <translation type="vanished">Valores</translation>
+        <translation>Valores</translation>
     </message>
     <message>
         <source>Legend</source>
-        <translation type="vanished">Leyenda</translation>
+        <translation>Leyenda</translation>
     </message>
 </context>
 <context>
     <name>QgsGraduatedSymbolRendererV2Widget</name>
     <message>
         <source>Column</source>
-        <translation type="vanished">Columna</translation>
+        <translation>Columna</translation>
     </message>
     <message>
         <source>Symbol</source>
-        <translation type="vanished">Símbolo</translation>
+        <translation>Símbolo</translation>
     </message>
     <message>
         <source>Change...</source>
-        <translation type="vanished">Cambiar...</translation>
+        <translation>Cambiar...</translation>
     </message>
     <message>
         <source>Classes</source>
-        <translation type="vanished">Clases</translation>
+        <translation>Clases</translation>
     </message>
     <message>
         <source>Color ramp</source>
-        <translation type="vanished">Rampa de color</translation>
+        <translation>Rampa de color</translation>
     </message>
     <message>
         <source>Precision of upper and lower values in label text.
 Positive is number of decimal places
 Negative rounds to powers of 10</source>
-        <translation type="vanished">Precisión de los valores superiores e inferiores en texto de etiquetas.
+        <translation>Precisión de los valores superiores e inferiores en texto de etiquetas.
 Positivo es el número de decimales
 Negativo redondea a potencias de 10</translation>
     </message>
     <message>
         <source>Check to remove trailing zeroes after the decimal point from the upper and lower values in the legend.</source>
-        <translation type="vanished">Compruebe que elimina los ceros después de la coma de los valores superiores e inferiores de la leyenda.</translation>
+        <translation>Compruebe que elimina los ceros después de la coma de los valores superiores e inferiores de la leyenda.</translation>
     </message>
     <message>
         <source>Size from </source>
-        <translation type="vanished">Tamaño desde</translation>
+        <translation>Tamaño desde</translation>
     </message>
     <message>
         <source>to</source>
-        <translation type="vanished">hasta</translation>
+        <translation>hasta</translation>
     </message>
     <message>
         <source>Template for the legend text associated with each classification.  
 Use "%1" for the lower bound of the classification, and "%2" for the upper bound.</source>
-        <translation type="vanished">Plantilla para el texto de la leyenda asociado con cada clasificación.
+        <translation>Plantilla para el texto de la leyenda asociado con cada clasificación.
 Use "%1" para el límite inferior de la clasificación y "%2" para el superior.</translation>
     </message>
     <message>
         <source>Mode</source>
-        <translation type="vanished">Modo</translation>
+        <translation>Modo</translation>
     </message>
     <message>
         <source>Equal Interval</source>
-        <translation type="vanished">Intervalo igual</translation>
+        <translation>Intervalo igual</translation>
     </message>
     <message>
         <source>Quantile (Equal Count)</source>
-        <translation type="vanished">Cuantil (cuenta igual)</translation>
+        <translation>Cuantil (cuenta igual)</translation>
     </message>
     <message>
         <source>Natural Breaks (Jenks)</source>
-        <translation type="vanished">Natural Breaks (Jenks)</translation>
+        <translation>Natural Breaks (Jenks)</translation>
     </message>
     <message>
         <source>Standard Deviation</source>
-        <translation type="vanished">Desviación estándar</translation>
+        <translation>Desviación estándar</translation>
     </message>
     <message>
         <source>Pretty Breaks</source>
-        <translation type="vanished">Pretty Breaks</translation>
+        <translation>Pretty Breaks</translation>
     </message>
     <message>
         <source>Histogram</source>
-        <translation type="vanished">Histograma</translation>
+        <translation>Histograma</translation>
     </message>
     <message>
         <source>Precison </source>
-        <translation type="vanished">Precisión</translation>
+        <translation>Precisión</translation>
     </message>
     <message>
         <source>Method</source>
-        <translation type="vanished">Método</translation>
+        <translation>Método</translation>
     </message>
     <message>
         <source><html><head/><body><p>Choose between color and size graduation. </p><p><br/></p><p>If you want to combine both, use a data-defined size for the symbol and graduate by color.</p></body></html></source>
-        <translation type="vanished"><html><head/><body><p>Elija entre graduación de color o de tamaño. </p><p><br/></p><p>Si quiere combinar ambas, use un tamaño definido por los datos para el símbolo y gradúe por color.</p></body></html></translation>
+        <translation><html><head/><body><p>Elija entre graduación de color o de tamaño. </p><p><br/></p><p>Si quiere combinar ambas, use un tamaño definido por los datos para el símbolo y gradúe por color.</p></body></html></translation>
     </message>
     <message>
         <source>Edit</source>
-        <translation type="vanished">Editar</translation>
+        <translation>Editar</translation>
     </message>
     <message>
         <source>Invert</source>
-        <translation type="vanished">Invertir</translation>
+        <translation>Invertir</translation>
     </message>
     <message>
         <source>Legend Format</source>
-        <translation type="vanished">Formato de leyenda</translation>
+        <translation>Formato de leyenda</translation>
     </message>
     <message>
         <source>Trim</source>
-        <translation type="vanished">Limpiar</translation>
+        <translation>Limpiar</translation>
     </message>
     <message>
         <source>Classify</source>
-        <translation type="vanished">Clasificar</translation>
+        <translation>Clasificar</translation>
     </message>
     <message>
         <source>Add class</source>
-        <translation type="vanished">Añadir clase</translation>
+        <translation>Añadir clase</translation>
     </message>
     <message>
         <source>Delete</source>
-        <translation type="vanished">Borrar</translation>
+        <translation>Borrar</translation>
     </message>
     <message>
         <source>Delete all</source>
-        <translation type="vanished">Borrar todo</translation>
+        <translation>Borrar todo</translation>
     </message>
     <message>
         <source>Link class boundaries</source>
-        <translation type="vanished">Enlazar contornos de clase</translation>
+        <translation>Enlazar contornos de clase</translation>
     </message>
     <message>
         <source>Advanced</source>
-        <translation type="vanished">Avanzado</translation>
+        <translation>Avanzado</translation>
     </message>
     <message>
         <source>Symbol levels...</source>
-        <translation type="vanished">Niveles de símbolos...</translation>
+        <translation>Niveles de símbolos...</translation>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <source>There are no available color ramps. You can add them in Style Manager.</source>
-        <translation type="vanished">No hay rampas de color disponibles. Puede añadirlas en el Administrador de estilos.</translation>
+        <translation>No hay rampas de color disponibles. Puede añadirlas en el Administrador de estilos.</translation>
     </message>
     <message>
         <source>The selected color ramp is not available.</source>
-        <translation type="vanished">La rampa de color seleccionada no está disponible.</translation>
+        <translation>La rampa de color seleccionada no está disponible.</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="vanished">Advertencia</translation>
+        <translation>Advertencia</translation>
     </message>
     <message>
         <source>Natural break classification (Jenks) is O(n2) complexity, your classification may take a long time.
 Press cancel to abort breaks calculation or OK to continue.</source>
-        <translation type="vanished">La clasificación de ruptura natural (Jenks) es complejidad 0(n2), su clasificación puede llevar bastante tiempo.
+        <translation>La clasificación de ruptura natural (Jenks) es complejidad 0(n2), su clasificación puede llevar bastante tiempo.
 Presione Cancelar para abortar el cálculo de rupturas u OK para continuar.</translation>
     </message>
     <message>
         <source>Linked range warning</source>
-        <translation type="vanished">Advertencia de rango enlazado</translation>
+        <translation>Advertencia de rango enlazado</translation>
     </message>
     <message>
         <source>Rows will be reordered before linking boundaries. Continue?</source>
-        <translation type="vanished">Se reordenarán las filas antes de enlazar los límites. ¿Continuar?</translation>
+        <translation>Se reordenarán las filas antes de enlazar los límites. ¿Continuar?</translation>
     </message>
 </context>
 <context>
@@ -71271,11 +71271,11 @@ Negativo redondea a potencias de 10</translation>
     </message>
     <message>
         <source>Symbol levels...</source>
-        <translation type="vanished">Niveles de símbolos...</translation>
+        <translation>Niveles de símbolos...</translation>
     </message>
     <message>
         <source>Data-defined size legend...</source>
-        <translation type="vanished">Tamaño de leyenda definido por datos...</translation>
+        <translation>Tamaño de leyenda definido por datos...</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsgraduatedsymbolrendererwidget.cpp" line="528"/>
@@ -71306,7 +71306,7 @@ Negativo redondea a potencias de 10</translation>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsgraduatedsymbolrendererwidget.cpp" line="693"/>
@@ -71317,7 +71317,7 @@ Negativo redondea a potencias de 10</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="vanished">Advertencia</translation>
+        <translation>Advertencia</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsgraduatedsymbolrendererwidget.cpp" line="826"/>
@@ -71328,7 +71328,7 @@ Presione Cancelar para abortar el cálculo de rupturas u OK para continuar.</tra
     </message>
     <message>
         <source>Linked range warning</source>
-        <translation type="vanished">Advertencia de rango enlazado</translation>
+        <translation>Advertencia de rango enlazado</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsgraduatedsymbolrendererwidget.cpp" line="1051"/>
@@ -71392,7 +71392,7 @@ Presione Cancelar para abortar el cálculo de rupturas u OK para continuar.</tra
     </message>
     <message>
         <source>Cannot read region</source>
-        <translation type="vanished">No se puede leer la región</translation>
+        <translation>No se puede leer la región</translation>
     </message>
     <message>
         <location filename="../src/providers/grass/qgsgrass.cpp" line="1948"/>
@@ -71442,11 +71442,11 @@ Presione Cancelar para abortar el cálculo de rupturas u OK para continuar.</tra
     </message>
     <message>
         <source>Cannot query raster </source>
-        <translation type="vanished">No se puede consultar el ráster </translation>
+        <translation>No se puede consultar el ráster </translation>
     </message>
     <message>
         <source>Cannot delete</source>
-        <translation type="vanished">No se puede borrar</translation>
+        <translation>No se puede borrar</translation>
     </message>
     <message>
         <location filename="../src/providers/grass/qgsgrass.cpp" line="2355"/>
@@ -71474,7 +71474,7 @@ Presione Cancelar para abortar el cálculo de rupturas u OK para continuar.</tra
     </message>
     <message>
         <source>Ok</source>
-        <translation type="vanished">Aceptar</translation>
+        <translation>Aceptar</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassutils.cpp" line="151"/>
@@ -71524,7 +71524,7 @@ Presione Cancelar para abortar el cálculo de rupturas u OK para continuar.</tra
     </message>
     <message>
         <source>cancelling</source>
-        <translation type="vanished">cancelando</translation>
+        <translation>cancelando</translation>
     </message>
 </context>
 <context>
@@ -71991,7 +71991,7 @@ en la linea %2 columna %3</translation>
     <name>QgsGrassMapcalcBase</name>
     <message>
         <source>MainWindow</source>
-        <translation type="vanished">Ventana principal</translation>
+        <translation>Ventana principal</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassmapcalcbase.ui" line="14"/>
@@ -72028,7 +72028,7 @@ en la linea %2 columna %3</translation>
     </message>
     <message>
         <source>topology version 7</source>
-        <translation type="vanished">versión de topología 7</translation>
+        <translation>versión de topología 7</translation>
     </message>
     <message>
         <location filename="../src/providers/grass/qgsgrassprovidermodule.cpp" line="546"/>
@@ -72287,7 +72287,7 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="vanished">Advertencia</translation>
+        <translation>Advertencia</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassmoduleparam.cpp" line="805"/>
@@ -72311,7 +72311,7 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>PostGIS driver in OGR does not support schemas!<br>Only the table name will be used.<br>It can result in wrong input if more tables of the same name<br>are present in the database.</source>
-        <translation type="vanished">El controlador PostGIS de OGR no soporta esquemas.<br>Sólo se usará el nombre de la tabla.<br>Esto puede dar como resultado entradas incorrectas si hay más tablas con el mismo nombre<br>en la base de datos.</translation>
+        <translation>El controlador PostGIS de OGR no soporta esquemas.<br>Sólo se usará el nombre de la tabla.<br>Esto puede dar como resultado entradas incorrectas si hay más tablas con el mismo nombre<br>en la base de datos.</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassmoduleparam.cpp" line="1015"/>
@@ -72749,7 +72749,7 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>Database:</source>
-        <translation type="vanished">Base de datos:</translation>
+        <translation>Base de datos:</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="661"/>
@@ -72836,7 +72836,7 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>New mapset:</source>
-        <translation type="vanished">Nuevo directorio de mapas:</translation>
+        <translation>Nuevo directorio de mapas:</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassnewmapsetbase.ui" line="515"/>
@@ -72855,11 +72855,11 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>Location:</source>
-        <translation type="vanished">Localización:</translation>
+        <translation>Localización:</translation>
     </message>
     <message>
         <source>Mapset:</source>
-        <translation type="vanished">Directorio de mapas:</translation>
+        <translation>Directorio de mapas:</translation>
     </message>
 </context>
 <context>
@@ -72882,7 +72882,7 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>Select color</source>
-        <translation type="vanished">Seleccionar color</translation>
+        <translation>Seleccionar color</translation>
     </message>
     <message>
         <location filename="../src/providers/grass/qgsgrassoptions.cpp" line="121"/>
@@ -73153,7 +73153,7 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>Text, limited variable length (varchar)</source>
-        <translation type="vanished">Texto, longitud variable limitada (varchar)</translation>
+        <translation>Texto, longitud variable limitada (varchar)</translation>
     </message>
     <message>
         <location filename="../src/providers/grass/qgsgrassprovider.cpp" line="245"/>
@@ -73208,7 +73208,7 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>Cannot draw raster</source>
-        <translation type="vanished">No se puede dibujar el ráster</translation>
+        <translation>No se puede dibujar el ráster</translation>
     </message>
     <message>
         <location filename="../src/providers/grass/qgsgrassrasterprovider.cpp" line="213"/>
@@ -73321,7 +73321,7 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>Select GRASS mapcalc schema</source>
-        <translation type="vanished">Seleccionar esquema mapcalc de GRASS</translation>
+        <translation>Seleccionar esquema mapcalc de GRASS</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrassselect.cpp" line="89"/>
@@ -73536,7 +73536,7 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qgsgrasstoolsbase.ui" line="105"/>
@@ -73665,7 +73665,7 @@ en la línea %2 columna %3</translation>
     <name>QgsGroupWMSDataDialogBase</name>
     <message>
         <source>Set group WMS data</source>
-        <translation type="vanished">Establecer datos WMS del grupo</translation>
+        <translation>Establecer datos WMS del grupo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsgroupwmsdatadialogbase.ui" line="49"/>
@@ -73723,7 +73723,7 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>Stop editing</source>
-        <translation type="vanished">Detener edición</translation>
+        <translation>Detener edición</translation>
     </message>
     <message>
         <location filename="../src/app/qgsguivectorlayertools.cpp" line="107"/>
@@ -73828,7 +73828,7 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>Select file to replace '%1'</source>
-        <translation type="vanished">Seleccionar archivo a remplazar '%1'</translation>
+        <translation>Seleccionar archivo a remplazar '%1'</translation>
     </message>
     <message>
         <location filename="../src/app/qgshandlebadlayers.cpp" line="274"/>
@@ -73837,7 +73837,7 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>Select new directory of selected files</source>
-        <translation type="vanished">Seleccione el nuevo directorio de los archivos seleccionados</translation>
+        <translation>Seleccione el nuevo directorio de los archivos seleccionados</translation>
     </message>
     <message>
         <location filename="../src/app/qgshandlebadlayers.cpp" line="382"/>
@@ -73860,7 +73860,7 @@ en la línea %2 columna %3</translation>
     <name>QgsHandleBadLayersBase</name>
     <message>
         <source>Handle bad layers</source>
-        <translation type="vanished">Manejo de capas incorrectas</translation>
+        <translation>Manejo de capas incorrectas</translation>
     </message>
     <message>
         <location filename="../src/ui/qgshandlebadlayersbase.ui" line="14"/>
@@ -73930,11 +73930,11 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>Edit</source>
-        <translation type="vanished">Editar</translation>
+        <translation>Editar</translation>
     </message>
     <message>
         <source>Invert</source>
-        <translation type="vanished">Invertir</translation>
+        <translation>Invertir</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/qgsheatmaprendererwidgetbase.ui" line="147"/>
@@ -73951,18 +73951,18 @@ en la línea %2 columna %3</translation>
     <name>QgsHelpViewer</name>
     <message>
         <source>QGIS Help</source>
-        <translation type="vanished">Ayuda de QGIS</translation>
+        <translation>Ayuda de QGIS</translation>
     </message>
 </context>
 <context>
     <name>QgsHelpViewerBase</name>
     <message>
         <source>QGIS Help</source>
-        <translation type="vanished">Ayuda de QGIS</translation>
+        <translation>Ayuda de QGIS</translation>
     </message>
     <message>
         <source>about:blank</source>
-        <translation type="vanished">acerca de:vacío</translation>
+        <translation>acerca de:vacío</translation>
     </message>
 </context>
 <context>
@@ -73974,11 +73974,11 @@ en la línea %2 columna %3</translation>
     </message>
     <message>
         <source>Altitude (degrees)</source>
-        <translation type="vanished">Altitud (grados)</translation>
+        <translation>Altitud (grados)</translation>
     </message>
     <message>
         <source>Azimuth (degrees)</source>
-        <translation type="vanished"> Azimut (grados)</translation>
+        <translation> Azimut (grados)</translation>
     </message>
     <message>
         <location filename="../src/ui/raster/qgshillshaderendererwidget.ui" line="62"/>
@@ -74044,7 +74044,7 @@ en la línea %2 columna %3</translation>
     <name>QgsHtmlAnnotationDialog</name>
     <message>
         <source>HTML annotation</source>
-        <translation type="vanished">Anotación HTML</translation>
+        <translation>Anotación HTML</translation>
     </message>
     <message>
         <location filename="../src/app/qgshtmlannotationdialog.cpp" line="36"/>
@@ -74066,57 +74066,57 @@ en la línea %2 columna %3</translation>
     <name>QgsHttpTransaction</name>
     <message>
         <source>WMS Server responded unexpectedly with HTTP Status Code %1 (%2)</source>
-        <translation type="vanished">El servidor WMS ha respondido de forma inesperada con el código de estado HTTP %1 (%2)</translation>
+        <translation>El servidor WMS ha respondido de forma inesperada con el código de estado HTTP %1 (%2)</translation>
     </message>
     <message>
         <source>Received %1 of %2 bytes</source>
-        <translation type="vanished">Recibidos %1 de %2 bytes</translation>
+        <translation>Recibidos %1 de %2 bytes</translation>
     </message>
     <message>
         <source>Received %1 bytes (total unknown)</source>
-        <translation type="vanished">Recibidos %1 bytes (total desconocido)</translation>
+        <translation>Recibidos %1 bytes (total desconocido)</translation>
     </message>
     <message>
         <source>HTTP response completed, however there was an error: %1</source>
-        <translation type="vanished">Respuesta HTTP completada, sin embargo ha habido un error: %1</translation>
+        <translation>Respuesta HTTP completada, sin embargo ha habido un error: %1</translation>
     </message>
     <message>
         <source>HTTP transaction completed, however there was an error: %1</source>
-        <translation type="vanished">Transacción HTTP completada, sin embargo ha habido un error: %1</translation>
+        <translation>Transacción HTTP completada, sin embargo ha habido un error: %1</translation>
     </message>
     <message>
         <source>Not connected</source>
-        <translation type="vanished">No conectado</translation>
+        <translation>No conectado</translation>
     </message>
     <message>
         <source>Looking up '%1'</source>
-        <translation type="vanished">Buscando '%1'</translation>
+        <translation>Buscando '%1'</translation>
     </message>
     <message>
         <source>Connecting to '%1'</source>
-        <translation type="vanished">Conectando a '%1'</translation>
+        <translation>Conectando a '%1'</translation>
     </message>
     <message>
         <source>Sending request '%1'</source>
-        <translation type="vanished">Enviando petición '%1'</translation>
+        <translation>Enviando petición '%1'</translation>
     </message>
     <message>
         <source>Receiving reply</source>
-        <translation type="vanished">Recibiendo respuesta</translation>
+        <translation>Recibiendo respuesta</translation>
     </message>
     <message>
         <source>Response is complete</source>
-        <translation type="vanished">La respuesta está completa</translation>
+        <translation>La respuesta está completa</translation>
     </message>
     <message>
         <source>Closing down connection</source>
-        <translation type="vanished">Cerrando la conexión</translation>
+        <translation>Cerrando la conexión</translation>
     </message>
     <message numerus="yes">
         <source>Network timed out after %n second(s) of inactivity.
 This may be a problem in your network connection or at the WMS server.</source>
         <comment>inactivity timeout</comment>
-        <translation type="vanished">
+        <translation>
             <numerusform>La conexión expiró después de 1 segundo de inactividad.
 Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusform>
             <numerusform>La conexión expiró después de %n segundos de inactividad.
@@ -74128,11 +74128,11 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     <name>QgsIDWInterpolatorDialogBase</name>
     <message>
         <source>Dialog</source>
-        <translation type="vanished">Diálogo</translation>
+        <translation>Diálogo</translation>
     </message>
     <message>
         <source>Distance coefficient P</source>
-        <translation type="vanished">Coeficiente P de distancia</translation>
+        <translation>Coeficiente P de distancia</translation>
     </message>
 </context>
 <context>
@@ -74245,7 +74245,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>New results will be expanded by default.</source>
-        <translation type="vanished">Los nuevos resultados se expandirán por omisión.</translation>
+        <translation>Los nuevos resultados se expandirán por omisión.</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsidentifyresultsbase.ui" line="300"/>
@@ -74260,7 +74260,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>Copy selected feature to clipboard.</source>
-        <translation type="vanished">Copiar los objetos espaciales seleccionados al portapapeles.</translation>
+        <translation>Copiar los objetos espaciales seleccionados al portapapeles.</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsidentifyresultsbase.ui" line="336"/>
@@ -74269,7 +74269,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>Print selected HTML response.</source>
-        <translation type="vanished">Imprimir la respuesta HTML seleccionada.</translation>
+        <translation>Imprimir la respuesta HTML seleccionada.</translation>
     </message>
 </context>
 <context>
@@ -74353,7 +74353,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>feature id</source>
-        <translation type="vanished">ID del objeto espacial</translation>
+        <translation>ID del objeto espacial</translation>
     </message>
     <message>
         <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="595"/>
@@ -74442,7 +74442,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>Layer properties...</source>
-        <translation type="vanished">Propiedades de la capa...</translation>
+        <translation>Propiedades de la capa...</translation>
     </message>
     <message>
         <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="1077"/>
@@ -74461,11 +74461,11 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>Cannot print</source>
-        <translation type="vanished">No se puede imprimir</translation>
+        <translation>No se puede imprimir</translation>
     </message>
     <message>
         <source>Cannot print this item</source>
-        <translation type="vanished">No se puede imprimir este elemento</translation>
+        <translation>No se puede imprimir este elemento</translation>
     </message>
 </context>
 <context>
@@ -74495,7 +74495,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     <name>QgsIdentifyResultsWebViewItem</name>
     <message>
         <source>Loading...</source>
-        <translation type="vanished">Cargando...</translation>
+        <translation>Cargando...</translation>
     </message>
     <message>
         <location filename="../src/app/qgsidentifyresultsdialog.cpp" line="275"/>
@@ -74507,7 +74507,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     <name>QgsImageWarper</name>
     <message>
         <source>Progress indication</source>
-        <translation type="vanished">Indicación de progreso</translation>
+        <translation>Indicación de progreso</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgsimagewarper.cpp" line="216"/>
@@ -74519,149 +74519,149 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     <name>QgsInterpolationDialog</name>
     <message>
         <source>Triangular interpolation (TIN)</source>
-        <translation type="vanished">Interpolación triangular (TIN)</translation>
+        <translation>Interpolación triangular (TIN)</translation>
     </message>
     <message>
         <source>Inverse Distance Weighting (IDW)</source>
-        <translation type="vanished">Ponderación inversa a la distancia (IDW)</translation>
+        <translation>Ponderación inversa a la distancia (IDW)</translation>
     </message>
     <message>
         <source>No input data for interpolation</source>
-        <translation type="vanished">Ningún dato de entrada para interpolar</translation>
+        <translation>Ningún dato de entrada para interpolar</translation>
     </message>
     <message>
         <source>Please add one or more input layers</source>
-        <translation type="vanished">Por favor, especifique una o más capas de entrada</translation>
+        <translation>Por favor, especifique una o más capas de entrada</translation>
     </message>
     <message>
         <source>Output file name invalid</source>
-        <translation type="vanished">Nombre de fichero de salida no válido</translation>
+        <translation>Nombre de fichero de salida no válido</translation>
     </message>
     <message>
         <source>Please enter a valid output file name</source>
-        <translation type="vanished">Por favor, introduzca un nombre de fichero de salida válido</translation>
+        <translation>Por favor, introduzca un nombre de fichero de salida válido</translation>
     </message>
     <message>
         <source>Break lines</source>
-        <translation type="vanished">Líneas de ruptura</translation>
+        <translation>Líneas de ruptura</translation>
     </message>
     <message>
         <source>Structure lines</source>
-        <translation type="vanished">Líneas de estructura</translation>
+        <translation>Líneas de estructura</translation>
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Save interpolated raster as...</source>
-        <translation type="vanished">Guardar el ráster interpolado como...</translation>
+        <translation>Guardar el ráster interpolado como...</translation>
     </message>
 </context>
 <context>
     <name>QgsInterpolationDialogBase</name>
     <message>
         <source>Interpolation plugin</source>
-        <translation type="vanished">Complemento de interpolación</translation>
+        <translation>Complemento de interpolación</translation>
     </message>
     <message>
         <source>Input</source>
-        <translation type="vanished">Entrada</translation>
+        <translation>Entrada</translation>
     </message>
     <message>
         <source>Vector layers</source>
-        <translation type="vanished">Capas vectoriales</translation>
+        <translation>Capas vectoriales</translation>
     </message>
     <message>
         <source>Interpolation attribute</source>
-        <translation type="vanished">Atributo de interpolación</translation>
+        <translation>Atributo de interpolación</translation>
     </message>
     <message>
         <source>Use z-Coordinate for interpolation</source>
-        <translation type="vanished">Usar coordenada Z para interpolación</translation>
+        <translation>Usar coordenada Z para interpolación</translation>
     </message>
     <message>
         <source>Add</source>
-        <translation type="vanished">Añadir</translation>
+        <translation>Añadir</translation>
     </message>
     <message>
         <source>Remove</source>
-        <translation type="vanished">Eliminar</translation>
+        <translation>Eliminar</translation>
     </message>
     <message>
         <source>Vector layer</source>
-        <translation type="vanished">Capa Vector</translation>
+        <translation>Capa Vector</translation>
     </message>
     <message>
         <source>Attribute</source>
-        <translation type="vanished">Atributo</translation>
+        <translation>Atributo</translation>
     </message>
     <message>
         <source>Type</source>
-        <translation type="vanished">Tipo</translation>
+        <translation>Tipo</translation>
     </message>
     <message>
         <source>Output</source>
-        <translation type="vanished">Salida</translation>
+        <translation>Salida</translation>
     </message>
     <message>
         <source>Interpolation method</source>
-        <translation type="vanished">Método de interpolación</translation>
+        <translation>Método de interpolación</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Number of columns</source>
-        <translation type="vanished">Número de columnas</translation>
+        <translation>Número de columnas</translation>
     </message>
     <message>
         <source>Number of rows</source>
-        <translation type="vanished">Número de filas</translation>
+        <translation>Número de filas</translation>
     </message>
     <message>
         <source>Cellsize X</source>
-        <translation type="vanished">Tamaño X de celda</translation>
+        <translation>Tamaño X de celda</translation>
     </message>
     <message>
         <source>Cellsize Y</source>
-        <translation type="vanished">Tamaño Y de celda</translation>
+        <translation>Tamaño Y de celda</translation>
     </message>
     <message>
         <source>X min</source>
-        <translation type="vanished">X mín</translation>
+        <translation>X mín</translation>
     </message>
     <message>
         <source>X max</source>
-        <translation type="vanished">X máx</translation>
+        <translation>X máx</translation>
     </message>
     <message>
         <source>Y min</source>
-        <translation type="vanished">Y mín</translation>
+        <translation>Y mín</translation>
     </message>
     <message>
         <source>Y max</source>
-        <translation type="vanished">Y máx</translation>
+        <translation>Y máx</translation>
     </message>
     <message>
         <source>Set to current extent</source>
-        <translation type="vanished">Establecer a la extensión actual</translation>
+        <translation>Establecer a la extensión actual</translation>
     </message>
     <message>
         <source>Output file </source>
-        <translation type="vanished">Archivo de salida </translation>
+        <translation>Archivo de salida </translation>
     </message>
     <message>
         <source>Add result to project</source>
-        <translation type="vanished">Añadir resultados al proyecto</translation>
+        <translation>Añadir resultados al proyecto</translation>
     </message>
 </context>
 <context>
     <name>QgsInterpolationPlugin</name>
     <message>
         <source>&Interpolation</source>
-        <translation type="vanished">&Interpolación</translation>
+        <translation>&Interpolación</translation>
     </message>
 </context>
 <context>
@@ -74688,7 +74688,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>Sub renderer:</source>
-        <translation type="vanished">Sub renderizador:</translation>
+        <translation>Sub renderizador:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsinvertedpolygonrendererwidgetbase.ui" line="37"/>
@@ -74723,11 +74723,11 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     <name>QgsJoinDialogBase</name>
     <message>
         <source>Add vector join</source>
-        <translation type="vanished">Añadir unión vectorial</translation>
+        <translation>Añadir unión vectorial</translation>
     </message>
     <message>
         <source>Add Vector join</source>
-        <translation type="vanished">Añadir unión vectorial</translation>
+        <translation>Añadir unión vectorial</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsjoindialogbase.ui" line="14"/>
@@ -74781,11 +74781,11 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>Choose which fields are joined</source>
-        <translation type="vanished">Elija qué campos se unen</translation>
+        <translation>Elija qué campos se unen</translation>
     </message>
     <message>
         <source>Custom field name prefix</source>
-        <translation type="vanished">Prefijo de nombre de campo personalizado</translation>
+        <translation>Prefijo de nombre de campo personalizado</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsjoindialogbase.ui" line="108"/>
@@ -74802,7 +74802,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     <name>QgsLUDialogBase</name>
     <message>
         <source>Enter class bounds</source>
-        <translation type="vanished">Introducir límites de la clase</translation>
+        <translation>Introducir límites de la clase</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsludialogbase.ui" line="14"/>
@@ -74824,230 +74824,230 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     <name>QgsLabelDialog</name>
     <message>
         <source>Auto</source>
-        <translation type="vanished">Auto</translation>
+        <translation>Auto</translation>
     </message>
 </context>
 <context>
     <name>QgsLabelDialogBase</name>
     <message>
         <source>Form1</source>
-        <translation type="vanished">Form1</translation>
+        <translation>Form1</translation>
     </message>
     <message>
         <source>Label Properties</source>
-        <translation type="vanished">Propiedades de etiquetas</translation>
+        <translation>Propiedades de etiquetas</translation>
     </message>
     <message>
         <source>Placement</source>
-        <translation type="vanished">Ubicación</translation>
+        <translation>Ubicación</translation>
     </message>
     <message>
         <source>Below Right</source>
-        <translation type="vanished">Abajo derecha</translation>
+        <translation>Abajo derecha</translation>
     </message>
     <message>
         <source>Right</source>
-        <translation type="vanished">Derecha</translation>
+        <translation>Derecha</translation>
     </message>
     <message>
         <source>Below</source>
-        <translation type="vanished">Abajo</translation>
+        <translation>Abajo</translation>
     </message>
     <message>
         <source>Over</source>
-        <translation type="vanished">Sobre</translation>
+        <translation>Sobre</translation>
     </message>
     <message>
         <source>Above</source>
-        <translation type="vanished">Encima de</translation>
+        <translation>Encima de</translation>
     </message>
     <message>
         <source>Left</source>
-        <translation type="vanished">Izquierda</translation>
+        <translation>Izquierda</translation>
     </message>
     <message>
         <source>Below Left</source>
-        <translation type="vanished">Abajo izquierda</translation>
+        <translation>Abajo izquierda</translation>
     </message>
     <message>
         <source>Above Right</source>
-        <translation type="vanished">Encima derecha</translation>
+        <translation>Encima derecha</translation>
     </message>
     <message>
         <source>Above Left</source>
-        <translation type="vanished">Abajo izquierda</translation>
+        <translation>Abajo izquierda</translation>
     </message>
     <message>
         <source>Use scale dependent rendering</source>
-        <translation type="vanished">Utilizar representación dependiente de la escala</translation>
+        <translation>Utilizar representación dependiente de la escala</translation>
     </message>
     <message>
         <source>Maximum</source>
-        <translation type="vanished">Máximo</translation>
+        <translation>Máximo</translation>
     </message>
     <message>
         <source>Minimum</source>
-        <translation type="vanished">Mínimo</translation>
+        <translation>Mínimo</translation>
     </message>
     <message>
         <source>Buffer labels</source>
-        <translation type="vanished">Hacer buffer de etiquetas</translation>
+        <translation>Hacer buffer de etiquetas</translation>
     </message>
     <message>
         <source>Buffer size</source>
-        <translation type="vanished">Tamaño de la zona de influencia</translation>
+        <translation>Tamaño de la zona de influencia</translation>
     </message>
     <message>
         <source>In points</source>
-        <translation type="vanished">En puntos</translation>
+        <translation>En puntos</translation>
     </message>
     <message>
         <source>In map units</source>
-        <translation type="vanished">En unidades del mapa</translation>
+        <translation>En unidades del mapa</translation>
     </message>
     <message>
         <source>Color</source>
-        <translation type="vanished">Color</translation>
+        <translation>Color</translation>
     </message>
     <message>
         <source>%</source>
-        <translation type="vanished">%</translation>
+        <translation>%</translation>
     </message>
     <message>
         <source>Transparency </source>
-        <translation type="vanished">Transparencia </translation>
+        <translation>Transparencia </translation>
     </message>
     <message>
         <source>Offset</source>
-        <translation type="vanished">Desplazamiento</translation>
+        <translation>Desplazamiento</translation>
     </message>
     <message>
         <source>X offset </source>
-        <translation type="vanished">Desplazamiento X </translation>
+        <translation>Desplazamiento X </translation>
     </message>
     <message>
         <source>Y offset </source>
-        <translation type="vanished">Desplazamiento Y </translation>
+        <translation>Desplazamiento Y </translation>
     </message>
     <message>
         <source>Basic label options</source>
-        <translation type="vanished">Opciones básicas de etiquetado</translation>
+        <translation>Opciones básicas de etiquetado</translation>
     </message>
     <message>
         <source>Field containing label</source>
-        <translation type="vanished">Campo que contiene la etiqueta</translation>
+        <translation>Campo que contiene la etiqueta</translation>
     </message>
     <message>
         <source>Default label</source>
-        <translation type="vanished">Etiqueta predeterminada</translation>
+        <translation>Etiqueta predeterminada</translation>
     </message>
     <message>
         <source>Font size</source>
-        <translation type="vanished">Tamaño de letra</translation>
+        <translation>Tamaño de letra</translation>
     </message>
     <message>
         <source>Angle (deg)</source>
-        <translation type="vanished">Ángulo (grados)</translation>
+        <translation>Ángulo (grados)</translation>
     </message>
     <message>
         <source>°</source>
-        <translation type="vanished">°</translation>
+        <translation>°</translation>
     </message>
     <message>
         <source>Font</source>
-        <translation type="vanished">Tipo de letra</translation>
+        <translation>Tipo de letra</translation>
     </message>
     <message>
         <source>Multiline labels?</source>
-        <translation type="vanished">¿Etiquetas multilínea?</translation>
+        <translation>¿Etiquetas multilínea?</translation>
     </message>
     <message>
         <source>Label only selected features</source>
-        <translation type="vanished">Etiquetar sólo lo objetos espaciales seleccionados</translation>
+        <translation>Etiquetar sólo lo objetos espaciales seleccionados</translation>
     </message>
     <message>
         <source>Advanced</source>
-        <translation type="vanished">Avanzado</translation>
+        <translation>Avanzado</translation>
     </message>
     <message>
         <source>Data defined placement</source>
-        <translation type="vanished">Ubicación definida por datos</translation>
+        <translation>Ubicación definida por datos</translation>
     </message>
     <message>
         <source>Data defined properties</source>
-        <translation type="vanished">Propiedades definidas por datos</translation>
+        <translation>Propiedades definidas por datos</translation>
     </message>
     <message>
         <source>&Font family</source>
-        <translation type="vanished">&Familia del tipo de letra</translation>
+        <translation>&Familia del tipo de letra</translation>
     </message>
     <message>
         <source>&Bold</source>
-        <translation type="vanished">&Negrita</translation>
+        <translation>&Negrita</translation>
     </message>
     <message>
         <source>&Italic</source>
-        <translation type="vanished">&Cursiva</translation>
+        <translation>&Cursiva</translation>
     </message>
     <message>
         <source>&Underline</source>
-        <translation type="vanished">&Subrayado</translation>
+        <translation>&Subrayado</translation>
     </message>
     <message>
         <source>&Size</source>
-        <translation type="vanished">&Tamaño</translation>
+        <translation>&Tamaño</translation>
     </message>
     <message>
         <source>Size units</source>
-        <translation type="vanished">Unidades de tamaño</translation>
+        <translation>Unidades de tamaño</translation>
     </message>
     <message>
         <source>&Color</source>
-        <translation type="vanished">&Color</translation>
+        <translation>&Color</translation>
     </message>
     <message>
         <source>Strikeout</source>
-        <translation type="vanished">Tachado</translation>
+        <translation>Tachado</translation>
     </message>
     <message>
         <source>Data defined buffer</source>
-        <translation type="vanished">Buffer definido por datos</translation>
+        <translation>Buffer definido por datos</translation>
     </message>
     <message>
         <source>Transparency:</source>
-        <translation type="vanished">Transparencia:</translation>
+        <translation>Transparencia:</translation>
     </message>
     <message>
         <source>Size:</source>
-        <translation type="vanished">Tamaño:</translation>
+        <translation>Tamaño:</translation>
     </message>
     <message>
         <source>Data defined position</source>
-        <translation type="vanished">Posición definida por datos</translation>
+        <translation>Posición definida por datos</translation>
     </message>
     <message>
         <source>X Coordinate</source>
-        <translation type="vanished">Coordenada X</translation>
+        <translation>Coordenada X</translation>
     </message>
     <message>
         <source>Y Coordinate</source>
-        <translation type="vanished">Coordenada Y</translation>
+        <translation>Coordenada Y</translation>
     </message>
     <message>
         <source>X Offset (pts)</source>
-        <translation type="vanished">Desplazamiento X (pts)</translation>
+        <translation>Desplazamiento X (pts)</translation>
     </message>
     <message>
         <source>Y Offset (pts)</source>
-        <translation type="vanished">Desplazamiento Y (pts)</translation>
+        <translation>Desplazamiento Y (pts)</translation>
     </message>
     <message>
         <source>Preview:</source>
-        <translation type="vanished">Previsualizar:</translation>
+        <translation>Previsualizar:</translation>
     </message>
     <message>
         <source>QGIS Rocks!</source>
-        <translation type="vanished">¡QGIS Avanza!</translation>
+        <translation>¡QGIS Avanza!</translation>
     </message>
 </context>
 <context>
@@ -75148,11 +75148,11 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>Font color</source>
-        <translation type="vanished">Color de letras</translation>
+        <translation>Color de letras</translation>
     </message>
     <message>
         <source>Buffer color</source>
-        <translation type="vanished">Color de buffer</translation>
+        <translation>Color de buffer</translation>
     </message>
     <message>
         <location filename="../src/app/qgslabelpropertydialog.cpp" line="186"/>
@@ -75209,7 +75209,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     <name>QgsLabelPropertyDialogBase</name>
     <message>
         <source>Label properties</source>
-        <translation type="vanished">Propiedades de etiquetas</translation>
+        <translation>Propiedades de etiquetas</translation>
     </message>
     <message>
         <location filename="../src/ui/qgslabelpropertydialogbase.ui" line="22"/>
@@ -75309,11 +75309,11 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>Min </source>
-        <translation type="vanished">Mín</translation>
+        <translation>Mín</translation>
     </message>
     <message>
         <source>Max </source>
-        <translation type="vanished">Máx</translation>
+        <translation>Máx</translation>
     </message>
     <message>
         <location filename="../src/ui/qgslabelpropertydialogbase.ui" line="92"/>
@@ -75384,75 +75384,75 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     <name>QgsLabelingGui</name>
     <message>
         <source>% of length</source>
-        <translation type="vanished">% de longitud</translation>
+        <translation>% de longitud</translation>
     </message>
     <message>
         <source>Over the feature's interior</source>
-        <translation type="vanished">Sobre el interior del objeto</translation>
+        <translation>Sobre el interior del objeto</translation>
     </message>
     <message>
         <source>Over the feature's boundary</source>
-        <translation type="vanished">Sobre el contorno del objeto</translation>
+        <translation>Sobre el contorno del objeto</translation>
     </message>
     <message>
         <source>From point</source>
-        <translation type="vanished">Desde punto</translation>
+        <translation>Desde punto</translation>
     </message>
     <message>
         <source>From symbol bounds</source>
-        <translation type="vanished">Desde el contorno de los símbolos</translation>
+        <translation>Desde el contorno de los símbolos</translation>
     </message>
     <message>
         <source>Select fill color</source>
-        <translation type="vanished">Seleccionar color de relleno</translation>
+        <translation>Seleccionar color de relleno</translation>
     </message>
     <message>
         <source>Select text color</source>
-        <translation type="vanished">Seleccionar color de texto</translation>
+        <translation>Seleccionar color de texto</translation>
     </message>
     <message>
         <source>Select buffer color</source>
-        <translation type="vanished">Seleccionar color de buffer</translation>
+        <translation>Seleccionar color de buffer</translation>
     </message>
     <message>
         <source>Select border color</source>
-        <translation type="vanished">Seleccionar color de borde</translation>
+        <translation>Seleccionar color de borde</translation>
     </message>
     <message>
         <source>Select shadow color</source>
-        <translation type="vanished">Seleccionar color de sombra</translation>
+        <translation>Seleccionar color de sombra</translation>
     </message>
     <message>
         <source>%1 not found. Default substituted.</source>
-        <translation type="vanished">No se ha encontrado %1. Sustituido por predeterminado.</translation>
+        <translation>No se ha encontrado %1. Sustituido por predeterminado.</translation>
     </message>
     <message>
         <source>Chosen font</source>
-        <translation type="vanished">Tipo de letra elegido</translation>
+        <translation>Tipo de letra elegido</translation>
     </message>
     <message>
         <source>string </source>
-        <translation type="vanished">cadena</translation>
+        <translation>cadena</translation>
     </message>
     <message>
         <source>[<b>font style name</b>|<b>Ignore</b>],<br>e.g. Bold Condensed or Light Italic</source>
-        <translation type="vanished">[<b>nombre del estilo de letra</b>|<b>Ignorar</b>],<br>ej. Negrita condensada o Cursiva ligera</translation>
+        <translation>[<b>nombre del estilo de letra</b>|<b>Ignorar</b>],<br>ej. Negrita condensada o Cursiva ligera</translation>
     </message>
     <message>
         <source>double [0.0-10.0]</source>
-        <translation type="vanished">doble [0.0-10.0]</translation>
+        <translation>doble [0.0-10.0]</translation>
     </message>
     <message>
         <source>int<br></source>
-        <translation type="vanished">ent<br></translation>
+        <translation>ent<br></translation>
     </message>
     <message>
         <source>Comma separated list of placements in order of priority<br></source>
-        <translation type="vanished">Lista de emplazamientos separada por comas en orden de prioridad<br></translation>
+        <translation>Lista de emplazamientos separada por comas en orden de prioridad<br></translation>
     </message>
     <message>
         <source>double coord [<b>in,out</b> as 20.0-60.0,20.0-95.0]</source>
-        <translation type="vanished">coord doble [<b>dentro,fuera</b> como 20.0-60.0,20.0-95.0]</translation>
+        <translation>coord doble [<b>dentro,fuera</b> como 20.0-60.0,20.0-95.0]</translation>
     </message>
     <message>
         <location filename="../src/app/qgslabelinggui.cpp" line="547"/>
@@ -75471,35 +75471,35 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>No change</source>
-        <translation type="vanished">Sin cambio</translation>
+        <translation>Sin cambio</translation>
     </message>
     <message>
         <source>All uppercase</source>
-        <translation type="vanished">Todo mayúsculas</translation>
+        <translation>Todo mayúsculas</translation>
     </message>
     <message>
         <source>All lowercase</source>
-        <translation type="vanished">Todo minúsculas</translation>
+        <translation>Todo minúsculas</translation>
     </message>
     <message>
         <source>Capitalize first letter</source>
-        <translation type="vanished">Primera letra en mayúsculas</translation>
+        <translation>Primera letra en mayúsculas</translation>
     </message>
     <message>
         <source>Size%1</source>
-        <translation type="vanished">Tamaño%1</translation>
+        <translation>Tamaño%1</translation>
     </message>
     <message>
         <source> X</source>
-        <translation type="vanished"> X</translation>
+        <translation> X</translation>
     </message>
     <message>
         <source>File not found</source>
-        <translation type="vanished">Archivo no encontrado</translation>
+        <translation>Archivo no encontrado</translation>
     </message>
     <message>
         <source>Select SVG file</source>
-        <translation type="vanished">Seleccionar archivo SVG</translation>
+        <translation>Seleccionar archivo SVG</translation>
     </message>
     <message>
         <location filename="../src/app/qgslabelinggui.cpp" line="141"/>
@@ -75510,694 +75510,694 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>Points</source>
-        <translation type="vanished">Puntos</translation>
+        <translation>Puntos</translation>
     </message>
     <message>
         <source>Map unit</source>
-        <translation type="vanished">Unidad de mapa</translation>
+        <translation>Unidad de mapa</translation>
     </message>
     <message>
         <source>Millimeter</source>
-        <translation type="vanished">Milímetro</translation>
+        <translation>Milímetro</translation>
     </message>
 </context>
 <context>
     <name>QgsLabelingGuiBase</name>
     <message>
         <source>Layer labeling settings</source>
-        <translation type="vanished">Configuracioń del etiquetado de la capa</translation>
+        <translation>Configuracioń del etiquetado de la capa</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Lorem Ipsum</source>
-        <translation type="vanished">Lorem Ipsum</translation>
+        <translation>Lorem Ipsum</translation>
     </message>
     <message>
         <source>Sample text</source>
-        <translation type="vanished">Texto de muestra</translation>
+        <translation>Texto de muestra</translation>
     </message>
     <message>
         <source>Reset sample text</source>
-        <translation type="vanished">Restablecer texto de muestra</translation>
+        <translation>Restablecer texto de muestra</translation>
     </message>
     <message>
         <source>Size for sample text in map units</source>
-        <translation type="vanished">Tamaño del texto de muestra en unidades del mapa</translation>
+        <translation>Tamaño del texto de muestra en unidades del mapa</translation>
     </message>
     <message>
         <source>Sample background color</source>
-        <translation type="vanished">Color de fondo de muestra</translation>
+        <translation>Color de fondo de muestra</translation>
     </message>
     <message>
         <source>Line direction symbol</source>
-        <translation type="vanished">Símbolo de dirección de línea</translation>
+        <translation>Símbolo de dirección de línea</translation>
     </message>
     <message>
         <source>Formatted numbers</source>
-        <translation type="vanished">Números con formato</translation>
+        <translation>Números con formato</translation>
     </message>
     <message>
         <source>Decimal places </source>
-        <translation type="vanished">Lugares decimales </translation>
+        <translation>Lugares decimales </translation>
     </message>
     <message>
         <source>Show plus sign</source>
-        <translation type="vanished">Mostrar signo más</translation>
+        <translation>Mostrar signo más</translation>
     </message>
     <message>
         <source>Multiple lines</source>
-        <translation type="vanished">Multilínea</translation>
+        <translation>Multilínea</translation>
     </message>
     <message>
         <source>Minimise placing labels</source>
-        <translation type="vanished">Minimizar colocación de etiquetas</translation>
+        <translation>Minimizar colocación de etiquetas</translation>
     </message>
     <message>
         <source>Label with</source>
-        <translation type="vanished">Etiquetar con</translation>
+        <translation>Etiquetar con</translation>
     </message>
     <message>
         <source>Text</source>
-        <translation type="vanished">Texto</translation>
+        <translation>Texto</translation>
     </message>
     <message>
         <source>Formatting</source>
-        <translation type="vanished">Formateo</translation>
+        <translation>Formateo</translation>
     </message>
     <message>
         <source>Shadow</source>
-        <translation type="vanished">Sombra</translation>
+        <translation>Sombra</translation>
     </message>
     <message>
         <source>Rendering</source>
-        <translation type="vanished">Renderizado</translation>
+        <translation>Renderizado</translation>
     </message>
     <message>
         <source>letter</source>
-        <translation type="vanished">letra</translation>
+        <translation>letra</translation>
     </message>
     <message>
         <source>Spacing</source>
-        <translation type="vanished">Separación</translation>
+        <translation>Separación</translation>
     </message>
     <message>
         <source>Blend mode</source>
-        <translation type="vanished">Modo de mezcla</translation>
+        <translation>Modo de mezcla</translation>
     </message>
     <message>
         <source>word</source>
-        <translation type="vanished">palabra</translation>
+        <translation>palabra</translation>
     </message>
     <message>
         <source>Underlined text</source>
-        <translation type="vanished">Texto subrayado</translation>
+        <translation>Texto subrayado</translation>
     </message>
     <message>
         <source>Bold text
 (data defined only, overrides Style)</source>
-        <translation type="vanished">Texto en negrita
+        <translation>Texto en negrita
 (solo definido por datos, se superpone a Estilo)</translation>
     </message>
     <message>
         <source>B</source>
-        <translation type="vanished">N</translation>
+        <translation>N</translation>
     </message>
     <message>
         <source>Italic text
 (data defined only, overrides Style)</source>
-        <translation type="vanished">Texto en cursiva
+        <translation>Texto en cursiva
 (solo definido por datos, se superpone a Estilo)</translation>
     </message>
     <message>
         <source>I</source>
-        <translation type="vanished">C</translation>
+        <translation>C</translation>
     </message>
     <message>
         <source>Font is missing.</source>
-        <translation type="vanished">Falta el tipo de letra.</translation>
+        <translation>Falta el tipo de letra.</translation>
     </message>
     <message>
         <source>Wrap on character</source>
-        <translation type="vanished">Caracter de división</translation>
+        <translation>Caracter de división</translation>
     </message>
     <message>
         <source>Line height</source>
-        <translation type="vanished">Altura de línea</translation>
+        <translation>Altura de línea</translation>
     </message>
     <message>
         <source>Line height spacing for multi-line text</source>
-        <translation type="vanished">Interlineado para texto multilínea</translation>
+        <translation>Interlineado para texto multilínea</translation>
     </message>
     <message>
         <source> line</source>
-        <translation type="vanished"> linea</translation>
+        <translation> linea</translation>
     </message>
     <message>
         <source>Alignment</source>
-        <translation type="vanished">Alineación</translation>
+        <translation>Alineación</translation>
     </message>
     <message>
         <source>Paragraph style alignment of multi-line text</source>
-        <translation type="vanished">Estilo de alineación de párrafo de texto multilínea</translation>
+        <translation>Estilo de alineación de párrafo de texto multilínea</translation>
     </message>
     <message>
         <source>Left</source>
-        <translation type="vanished">Izquierda</translation>
+        <translation>Izquierda</translation>
     </message>
     <message>
         <source>Center</source>
-        <translation type="vanished">Centro</translation>
+        <translation>Centro</translation>
     </message>
     <message>
         <source>Right</source>
-        <translation type="vanished">Derecha</translation>
+        <translation>Derecha</translation>
     </message>
     <message>
         <source>Labels are placed in an equal radius circle around point features.</source>
-        <translation type="vanished">Las etiquetas se colocan en un círculo de radio igual alrededor de los objetos de puntos.</translation>
+        <translation>Las etiquetas se colocan en un círculo de radio igual alrededor de los objetos de puntos.</translation>
     </message>
     <message>
         <source>Labels are placed at a fixed offset from the point.</source>
-        <translation type="vanished">Las etiquetas se sitúan a un desplazamiento fijo desde el punto.</translation>
+        <translation>Las etiquetas se sitúan a un desplazamiento fijo desde el punto.</translation>
     </message>
     <message>
         <source>Uses cartographically 'ideal' placements, prioritising label placement with best visual relationship with the point feature</source>
-        <translation type="vanished">Utiliza emplazamientos cartográficamente "ideales", priorizando la ubicación de las etiquetas con la mejor relación visual con el objeto de punto</translation>
+        <translation>Utiliza emplazamientos cartográficamente "ideales", priorizando la ubicación de las etiquetas con la mejor relación visual con el objeto de punto</translation>
     </message>
     <message>
         <source>Cartographic</source>
-        <translation type="vanished">Cartográfica</translation>
+        <translation>Cartográfica</translation>
     </message>
     <message>
         <source>Allowed label placement for lines. At least one position must be selected.</source>
-        <translation type="vanished">Ubicación de etiquetas permitida para líneas. Se debe seleccionar al menos una posición.</translation>
+        <translation>Ubicación de etiquetas permitida para líneas. Se debe seleccionar al menos una posición.</translation>
     </message>
     <message>
         <source>Allowed positions</source>
-        <translation type="vanished">Posiciones permitidas</translation>
+        <translation>Posiciones permitidas</translation>
     </message>
     <message>
         <source>Force point inside polygon</source>
-        <translation type="vanished">Forzar puntos dentro de polígono</translation>
+        <translation>Forzar puntos dentro de polígono</translation>
     </message>
     <message>
         <source>Distance offset from</source>
-        <translation type="vanished">Desplazamiento de distancia desde</translation>
+        <translation>Desplazamiento de distancia desde</translation>
     </message>
     <message>
         <source>Position priority</source>
-        <translation type="vanished">Prioridad de posición</translation>
+        <translation>Prioridad de posición</translation>
     </message>
     <message>
         <source>Repeat</source>
-        <translation type="vanished">Repetir</translation>
+        <translation>Repetir</translation>
     </message>
     <message>
         <source>No repeat</source>
-        <translation type="vanished">No repetir</translation>
+        <translation>No repetir</translation>
     </message>
     <message>
         <source>Label z-index</source>
-        <translation type="vanished">Índice-Z de etiquetas</translation>
+        <translation>Índice-Z de etiquetas</translation>
     </message>
     <message>
         <source>Controls how labels are drawn on top of each other. Labels with a higher z-index are drawn above labels with a lower z-index.</source>
-        <translation type="vanished">Controla cómo se dibujan unas etiquetas encima de otras. Etiquetas con índice Z más alto se dibujan encima de etiquetas con índice Z más bajo.</translation>
+        <translation>Controla cómo se dibujan unas etiquetas encima de otras. Etiquetas con índice Z más alto se dibujan encima de etiquetas con índice Z más bajo.</translation>
     </message>
     <message>
         <source>Only draw labels which fit completely within feature</source>
-        <translation type="vanished">Solo dibujar etiquetas que ajusten completamente dentro del objeto</translation>
+        <translation>Solo dibujar etiquetas que ajusten completamente dentro del objeto</translation>
     </message>
     <message>
         <source>Obstacles</source>
-        <translation type="vanished">Obstáculos</translation>
+        <translation>Obstáculos</translation>
     </message>
     <message>
         <source>Discourage labels from covering features</source>
-        <translation type="vanished">Desanimar a las etiquetas de que cubran objetos</translation>
+        <translation>Desanimar a las etiquetas de que cubran objetos</translation>
     </message>
     <message>
         <source>Low weight</source>
-        <translation type="vanished">Poco peso</translation>
+        <translation>Poco peso</translation>
     </message>
     <message>
         <source>Controls how likely labels are to cover features in this layer</source>
-        <translation type="vanished">Controla la probabilidad de que las etiqueta cubran objetos de esta capa</translation>
+        <translation>Controla la probabilidad de que las etiqueta cubran objetos de esta capa</translation>
     </message>
     <message>
         <source>High weight</source>
-        <translation type="vanished">Mucho peso</translation>
+        <translation>Mucho peso</translation>
     </message>
     <message>
         <source>Text style</source>
-        <translation type="vanished">Estilo de texto</translation>
+        <translation>Estilo de texto</translation>
     </message>
     <message>
         <source>Available typeface styles</source>
-        <translation type="vanished">Estilos de letra disponible</translation>
+        <translation>Estilos de letra disponible</translation>
     </message>
     <message>
         <source>U</source>
-        <translation type="vanished">U</translation>
+        <translation>U</translation>
     </message>
     <message>
         <source>Strikeout text</source>
-        <translation type="vanished">Texto tachado</translation>
+        <translation>Texto tachado</translation>
     </message>
     <message>
         <source>S</source>
-        <translation type="vanished">S</translation>
+        <translation>S</translation>
     </message>
     <message>
         <source>Style</source>
-        <translation type="vanished">Estilo</translation>
+        <translation>Estilo</translation>
     </message>
     <message>
         <source>Transparency</source>
-        <translation type="vanished">Transparencia</translation>
+        <translation>Transparencia</translation>
     </message>
     <message>
         <source> %</source>
-        <translation type="vanished"> %</translation>
+        <translation> %</translation>
     </message>
     <message>
         <source>Capitalization style of text</source>
-        <translation type="vanished">Estilo de capitalización de texto</translation>
+        <translation>Estilo de capitalización de texto</translation>
     </message>
     <message>
         <source>Space in pixels or map units, relative to size unit choice</source>
-        <translation type="vanished">Espacio en píxeles o unidades de mapa, relativo a la unidad de tamaño escogida  </translation>
+        <translation>Espacio en píxeles o unidades de mapa, relativo a la unidad de tamaño escogida  </translation>
     </message>
     <message>
         <source>Font</source>
-        <translation type="vanished">Tipo de letra</translation>
+        <translation>Tipo de letra</translation>
     </message>
     <message>
         <source>Color</source>
-        <translation type="vanished">Color</translation>
+        <translation>Color</translation>
     </message>
     <message>
         <source>Size</source>
-        <translation type="vanished">Tamaño</translation>
+        <translation>Tamaño</translation>
     </message>
     <message>
         <source>Buffer</source>
-        <translation type="vanished">Buffer</translation>
+        <translation>Buffer</translation>
     </message>
     <message>
         <source>Labels will not show if larger than this on screen</source>
-        <translation type="vanished">No se mostrarán las etiquetas si son mayores que esto en pantalla</translation>
+        <translation>No se mostrarán las etiquetas si son mayores que esto en pantalla</translation>
     </message>
     <message>
         <source> px</source>
-        <translation type="vanished"> px</translation>
+        <translation> px</translation>
     </message>
     <message>
         <source>Data defined</source>
-        <translation type="vanished">Definido por datos</translation>
+        <translation>Definido por datos</translation>
     </message>
     <message>
         <source>X</source>
-        <translation type="vanished">X</translation>
+        <translation>X</translation>
     </message>
     <message>
         <source>Y</source>
-        <translation type="vanished">Y </translation>
+        <translation>Y </translation>
     </message>
     <message>
         <source>Coordinate</source>
-        <translation type="vanished">Coordenada</translation>
+        <translation>Coordenada</translation>
     </message>
     <message>
         <source>Preserve data rotation values</source>
-        <translation type="vanished">Preservar valores de rotación de datos</translation>
+        <translation>Preservar valores de rotación de datos</translation>
     </message>
     <message>
         <source>horizontal</source>
-        <translation type="vanished">horizontal</translation>
+        <translation>horizontal</translation>
     </message>
     <message>
         <source>vertical</source>
-        <translation type="vanished">vertical</translation>
+        <translation>vertical</translation>
     </message>
     <message>
         <source>Label options</source>
-        <translation type="vanished">Opciones de etiquetas</translation>
+        <translation>Opciones de etiquetas</translation>
     </message>
     <message>
         <source>Value &lt; 0 represents a scale closer than 1:1, e.g. -10 = 10:1.<br>Value of 0 disables the specific limit.</source>
-        <translation type="vanished">El valor &lt; 0 representa una escala más próxima que 1:1, ej. -10 = 10:1.<br>Un valor de 0 deshabilita el límite específico.</translation>
+        <translation>El valor &lt; 0 representa una escala más próxima que 1:1, ej. -10 = 10:1.<br>Un valor de 0 deshabilita el límite específico.</translation>
     </message>
     <message>
         <source>Maximum </source>
-        <translation type="vanished">Máximo </translation>
+        <translation>Máximo </translation>
     </message>
     <message>
         <source>Pixel size-based visibility (labels in map units)</source>
-        <translation type="vanished">Visibilidad basada en tamaño de píxel (etiquetas en unidades del mapa)</translation>
+        <translation>Visibilidad basada en tamaño de píxel (etiquetas en unidades del mapa)</translation>
     </message>
     <message>
         <source>Labels will not show if smaller than this on screen</source>
-        <translation type="vanished">No se mostrarán las etiquetas si son menores que esto en pantalla</translation>
+        <translation>No se mostrarán las etiquetas si son menores que esto en pantalla</translation>
     </message>
     <message>
         <source>Minimum </source>
-        <translation type="vanished">Mínimo </translation>
+        <translation>Mínimo </translation>
     </message>
     <message>
         <source><</source>
-        <translation type="vanished"><</translation>
+        <translation><</translation>
     </message>
     <message>
         <source>Scale-based visibility</source>
-        <translation type="vanished">Visibilidad basada en la escala</translation>
+        <translation>Visibilidad basada en la escala</translation>
     </message>
     <message>
         <source>></source>
-        <translation type="vanished">></translation>
+        <translation>></translation>
     </message>
     <message>
         <source>Placement</source>
-        <translation type="vanished">Ubicación</translation>
+        <translation>Ubicación</translation>
     </message>
     <message>
         <source>left/right</source>
-        <translation type="vanished">izquierda/derecha</translation>
+        <translation>izquierda/derecha</translation>
     </message>
     <message>
         <source>above</source>
-        <translation type="vanished">encima</translation>
+        <translation>encima</translation>
     </message>
     <message>
         <source>below</source>
-        <translation type="vanished">debajo</translation>
+        <translation>debajo</translation>
     </message>
     <message>
         <source>Reverse direction</source>
-        <translation type="vanished">Sentido inverso</translation>
+        <translation>Sentido inverso</translation>
     </message>
     <message>
         <source>Priority</source>
-        <translation type="vanished">Prioridad</translation>
+        <translation>Prioridad</translation>
     </message>
     <message>
         <source>Low</source>
-        <translation type="vanished">Bajo</translation>
+        <translation>Bajo</translation>
     </message>
     <message>
         <source>High</source>
-        <translation type="vanished">Alto</translation>
+        <translation>Alto</translation>
     </message>
     <message>
         <source>Around point</source>
-        <translation type="vanished">Alrededor de punto</translation>
+        <translation>Alrededor de punto</translation>
     </message>
     <message>
         <source>Offset from point</source>
-        <translation type="vanished">Desplazamiento desde el punto</translation>
+        <translation>Desplazamiento desde el punto</translation>
     </message>
     <message>
         <source>Parallel</source>
-        <translation type="vanished">Paralelo</translation>
+        <translation>Paralelo</translation>
     </message>
     <message>
         <source>Curved</source>
-        <translation type="vanished">Curvo</translation>
+        <translation>Curvo</translation>
     </message>
     <message>
         <source>Draw text buffer</source>
-        <translation type="vanished">Dibujar buffer de texto</translation>
+        <translation>Dibujar buffer de texto</translation>
     </message>
     <message>
         <source>Color buffer's fill</source>
-        <translation type="vanished">Colorear relleno de buffer</translation>
+        <translation>Colorear relleno de buffer</translation>
     </message>
     <message>
         <source>Draw background</source>
-        <translation type="vanished">Dibujar fondo</translation>
+        <translation>Dibujar fondo</translation>
     </message>
     <message>
         <source>Size X</source>
-        <translation type="vanished">Tamaño X</translation>
+        <translation>Tamaño X</translation>
     </message>
     <message>
         <source>Size type</source>
-        <translation type="vanished">Tipo de tamaño</translation>
+        <translation>Tipo de tamaño</translation>
     </message>
     <message>
         <source>Size Y</source>
-        <translation type="vanished">Tamaño Y</translation>
+        <translation>Tamaño Y</translation>
     </message>
     <message>
         <source>Fill color</source>
-        <translation type="vanished">Color de relleno</translation>
+        <translation>Color de relleno</translation>
     </message>
     <message>
         <source>Border color</source>
-        <translation type="vanished">Color de borde</translation>
+        <translation>Color de borde</translation>
     </message>
     <message>
         <source>Draw drop shadow</source>
-        <translation type="vanished">Dibujar sombra exterior</translation>
+        <translation>Dibujar sombra exterior</translation>
     </message>
     <message>
         <source>Blur radius</source>
-        <translation type="vanished">Radio de enturbiamiento</translation>
+        <translation>Radio de enturbiamiento</translation>
     </message>
     <message>
         <source>Blur only alpha pixels</source>
-        <translation type="vanished">Desenfocar sólo píxeles alfa</translation>
+        <translation>Desenfocar sólo píxeles alfa</translation>
     </message>
     <message>
         <source>Label's rotation is ignored</source>
-        <translation type="vanished">La rotación de la etiqueta es ignorada</translation>
+        <translation>La rotación de la etiqueta es ignorada</translation>
     </message>
     <message>
         <source>Use global shadow</source>
-        <translation type="vanished">Usar sombra global</translation>
+        <translation>Usar sombra global</translation>
     </message>
     <message>
         <source>˚</source>
-        <translation type="vanished">˚</translation>
+        <translation>˚</translation>
     </message>
     <message>
         <source>Lowest label component</source>
-        <translation type="vanished">Componente de etiqueta más bajo</translation>
+        <translation>Componente de etiqueta más bajo</translation>
     </message>
     <message>
         <source>Draw under</source>
-        <translation type="vanished">Dibujar debajo</translation>
+        <translation>Dibujar debajo</translation>
     </message>
     <message>
         <source>Horizontal</source>
-        <translation type="vanished">Horizontal</translation>
+        <translation>Horizontal</translation>
     </message>
     <message>
         <source>Offset from centroid</source>
-        <translation type="vanished">Desplazamiento desde el centroide</translation>
+        <translation>Desplazamiento desde el centroide</translation>
     </message>
     <message>
         <source>Around centroid</source>
-        <translation type="vanished">Alrededor de centroide</translation>
+        <translation>Alrededor de centroide</translation>
     </message>
     <message>
         <source>Horizontal (slow)</source>
-        <translation type="vanished">Horizontal (lento)</translation>
+        <translation>Horizontal (lento)</translation>
     </message>
     <message>
         <source>Free (slow)</source>
-        <translation type="vanished">Libre (lento)</translation>
+        <translation>Libre (lento)</translation>
     </message>
     <message>
         <source>Using perimeter</source>
-        <translation type="vanished">Usando perímetro</translation>
+        <translation>Usando perímetro</translation>
     </message>
     <message>
         <source>visible polygon</source>
-        <translation type="vanished">Polígono visible</translation>
+        <translation>Polígono visible</translation>
     </message>
     <message>
         <source>whole polygon</source>
-        <translation type="vanished">El polígono completo</translation>
+        <translation>El polígono completo</translation>
     </message>
     <message>
         <source>Rotation</source>
-        <translation type="vanished">Rotación</translation>
+        <translation>Rotación</translation>
     </message>
     <message>
         <source>Above line</source>
-        <translation type="vanished">Encima de la línea</translation>
+        <translation>Encima de la línea</translation>
     </message>
     <message>
         <source>On line</source>
-        <translation type="vanished">Sobre la línea</translation>
+        <translation>Sobre la línea</translation>
     </message>
     <message>
         <source>Below line</source>
-        <translation type="vanished">Debajo de la línea</translation>
+        <translation>Debajo de la línea</translation>
     </message>
     <message>
         <source>Line orientation dependent position</source>
-        <translation type="vanished">Posición depenciente de la orientación de líneas</translation>
+        <translation>Posición depenciente de la orientación de líneas</translation>
     </message>
     <message>
         <source>Centroid</source>
-        <translation type="vanished">Centroide</translation>
+        <translation>Centroide</translation>
     </message>
     <message>
         <source>abc</source>
-        <translation type="vanished">abc</translation>
+        <translation>abc</translation>
     </message>
     <message>
         <source>Quadrant</source>
-        <translation type="vanished">Cuadrante</translation>
+        <translation>Cuadrante</translation>
     </message>
     <message>
         <source>Distance</source>
-        <translation type="vanished">Distancia</translation>
+        <translation>Distancia</translation>
     </message>
     <message>
         <source>outside</source>
-        <translation type="vanished">fuera</translation>
+        <translation>fuera</translation>
     </message>
     <message>
         <source>inside</source>
-        <translation type="vanished">dentro</translation>
+        <translation>dentro</translation>
     </message>
     <message>
         <source>Maximum angle between curved characters</source>
-        <translation type="vanished">Ángulo máximo entre caracteres curvados</translation>
+        <translation>Ángulo máximo entre caracteres curvados</translation>
     </message>
     <message>
         <source>Pen join style</source>
-        <translation type="vanished">Estilo de unión de plumilla</translation>
+        <translation>Estilo de unión de plumilla</translation>
     </message>
     <message>
         <source>Offset</source>
-        <translation type="vanished">Desplazamiento</translation>
+        <translation>Desplazamiento</translation>
     </message>
     <message>
         <source>Scale</source>
-        <translation type="vanished">Escala</translation>
+        <translation>Escala</translation>
     </message>
     <message>
         <source>Background</source>
-        <translation type="vanished">Fondo</translation>
+        <translation>Fondo</translation>
     </message>
     <message>
         <source>Load symbol parameters</source>
-        <translation type="vanished">Cargar parámetros de símbolo</translation>
+        <translation>Cargar parámetros de símbolo</translation>
     </message>
     <message>
         <source>Fixed</source>
-        <translation type="vanished">Fijo</translation>
+        <translation>Fijo</translation>
     </message>
     <message>
         <source>Offset X,Y</source>
-        <translation type="vanished">Desplazamiento X, Y</translation>
+        <translation>Desplazamiento X, Y</translation>
     </message>
     <message>
         <source>Rectangle</source>
-        <translation type="vanished">Rectángulo</translation>
+        <translation>Rectángulo</translation>
     </message>
     <message>
         <source>Square</source>
-        <translation type="vanished">Cuadrado</translation>
+        <translation>Cuadrado</translation>
     </message>
     <message>
         <source>Ellipse</source>
-        <translation type="vanished">Elipse</translation>
+        <translation>Elipse</translation>
     </message>
     <message>
         <source>Circle</source>
-        <translation type="vanished">Círculo</translation>
+        <translation>Círculo</translation>
     </message>
     <message>
         <source>SVG</source>
-        <translation type="vanished">SVG</translation>
+        <translation>SVG</translation>
     </message>
     <message>
         <source>Shape</source>
-        <translation type="vanished">Forma</translation>
+        <translation>Forma</translation>
     </message>
     <message>
         <source>Sync with label</source>
-        <translation type="vanished">Sincronizar con etiqueta</translation>
+        <translation>Sincronizar con etiqueta</translation>
     </message>
     <message>
         <source>Offset of label</source>
-        <translation type="vanished">Margen de etiqueta</translation>
+        <translation>Margen de etiqueta</translation>
     </message>
     <message>
         <source>Radius X,Y</source>
-        <translation type="vanished">X,Y del radio</translation>
+        <translation>X,Y del radio</translation>
     </message>
     <message>
         <source>Border width</source>
-        <translation type="vanished">Ancho de borde</translation>
+        <translation>Ancho de borde</translation>
     </message>
     <message>
         <source>symbol units</source>
-        <translation type="vanished">unidades de símbolo</translation>
+        <translation>unidades de símbolo</translation>
     </message>
     <message>
         <source>Merge connected lines to avoid duplicate labels</source>
-        <translation type="vanished">Combinar líneas conectadas para evitar etiquetas duplicadas</translation>
+        <translation>Combinar líneas conectadas para evitar etiquetas duplicadas</translation>
     </message>
     <message>
         <source>Label every part of multi-part features</source>
-        <translation type="vanished">Etiquetar cada parte de objetos espaciales multiparte</translation>
+        <translation>Etiquetar cada parte de objetos espaciales multiparte</translation>
     </message>
     <message>
         <source>Feature options</source>
-        <translation type="vanished">Opciones de objetos</translation>
+        <translation>Opciones de objetos</translation>
     </message>
     <message>
         <source>Suppress labeling of features smaller than</source>
-        <translation type="vanished">Suprimir etiquetado de objetos espaciales menores que</translation>
+        <translation>Suprimir etiquetado de objetos espaciales menores que</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>Show all labels for this layer (including colliding labels)</source>
-        <translation type="vanished">Mostrar todas las etiquetas para esta capa (incluidas las que solapen)</translation>
+        <translation>Mostrar todas las etiquetas para esta capa (incluidas las que solapen)</translation>
     </message>
     <message>
         <source>Show upside-down labels</source>
-        <translation type="vanished">Mostrar etiquetas de arriba a abajo</translation>
+        <translation>Mostrar etiquetas de arriba a abajo</translation>
     </message>
     <message>
         <source>never</source>
-        <translation type="vanished">nunca</translation>
+        <translation>nunca</translation>
     </message>
     <message>
         <source>when rotation defined</source>
-        <translation type="vanished">cuando está definida rotación</translation>
+        <translation>cuando está definida rotación</translation>
     </message>
     <message>
         <source>always</source>
-        <translation type="vanished">siempre</translation>
+        <translation>siempre</translation>
     </message>
     <message>
         <source>Limit number of features to be labeled to</source>
-        <translation type="vanished">Limitar número de objeto a etiquetar a</translation>
+        <translation>Limitar número de objeto a etiquetar a</translation>
     </message>
     <message>
         <source>Number of features sent to labeling engine, though not all may be labeled</source>
-        <translation type="vanished">Número de objetos enviados al motor de etiquetado, aunque no todos puedan etiquetarse</translation>
+        <translation>Número de objetos enviados al motor de etiquetado, aunque no todos puedan etiquetarse</translation>
     </message>
     <message>
         <source>Always show</source>
-        <translation type="vanished">Mostrar siempre</translation>
+        <translation>Mostrar siempre</translation>
     </message>
     <message>
         <source>Show label</source>
-        <translation type="vanished">Mostrar etiqueta</translation>
+        <translation>Mostrar etiqueta</translation>
     </message>
 </context>
 <context>
@@ -76215,7 +76215,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     <name>QgsLabelingRulePropsWidget</name>
     <message>
         <source>Rule properties</source>
-        <translation type="vanished">Propiedades de la regla</translation>
+        <translation>Propiedades de la regla</translation>
     </message>
     <message>
         <location filename="../src/ui/qgslabelingrulepropswidget.ui" line="67"/>
@@ -76229,7 +76229,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgslabelingrulepropswidget.ui" line="14"/>
@@ -76253,7 +76253,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="647"/>
@@ -76271,7 +76271,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>Evaluation error</source>
-        <translation type="vanished">Error de evaluación</translation>
+        <translation>Error de evaluación</translation>
     </message>
     <message numerus="yes">
         <location filename="../src/app/qgsrulebasedlabelingwidget.cpp" line="678"/>
@@ -76378,7 +76378,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsmapstylingwidgetbase.ui" line="107"/>
@@ -76400,23 +76400,23 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     <name>QgsLayerTreeEmbeddedConfigWidget</name>
     <message>
         <source>Form</source>
-        <translation type="vanished">Formulario</translation>
+        <translation>Formulario</translation>
     </message>
     <message>
         <source>Available widgets</source>
-        <translation type="vanished">Controles disponibles</translation>
+        <translation>Controles disponibles</translation>
     </message>
     <message>
         <source>Used widgets</source>
-        <translation type="vanished">Controles usados</translation>
+        <translation>Controles usados</translation>
     </message>
     <message>
         <source>-></source>
-        <translation type="vanished">-></translation>
+        <translation>-></translation>
     </message>
     <message>
         <source><-</source>
-        <translation type="vanished"><-</translation>
+        <translation><-</translation>
     </message>
 </context>
 <context>
@@ -76469,11 +76469,11 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     <name>QgsLayerTreeModel</name>
     <message>
         <source>%1 (%2 - %3)</source>
-        <translation type="vanished">%1 (%2 - %3)</translation>
+        <translation>%1 (%2 - %3)</translation>
     </message>
     <message>
         <source>%1 (%2) </source>
-        <translation type="vanished">%1 (%2) </translation>
+        <translation>%1 (%2) </translation>
     </message>
     <message>
         <location filename="../src/core/layertree/qgslayertreemodel.cpp" line="295"/>
@@ -76498,7 +76498,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     <name>QgsLayerTreeTransparencyWidget</name>
     <message>
         <source>Transparency slider</source>
-        <translation type="vanished">Deslizador de transparencia </translation>
+        <translation>Deslizador de transparencia </translation>
     </message>
 </context>
 <context>
@@ -76712,7 +76712,7 @@ Puede haber un problema en su conexión a la red o en el servidor WMS.</numerusf
     </message>
     <message>
         <source>Composer</source>
-        <translation type="vanished">Diseñador</translation>
+        <translation>Diseñador</translation>
     </message>
     <message>
         <location filename="../src/core/layout/qgslayoutatlas.cpp" line="512"/>
@@ -77005,7 +77005,7 @@ Parser error:
     <name>QgsLayoutAttributeTableWidget</name>
     <message>
         <source>Table properties</source>
-        <translation type="vanished">Propiedades de la tabla</translation>
+        <translation>Propiedades de la tabla</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutattributetablewidget.cpp" line="72"/>
@@ -77592,15 +77592,15 @@ Parser error:
     <name>QgsLayoutDesignerBase</name>
     <message>
         <source>MainWindow</source>
-        <translation type="vanished">Ventana principal</translation>
+        <translation>Ventana principal</translation>
     </message>
     <message>
         <source>Layout</source>
-        <translation type="vanished">Diseño</translation>
+        <translation>Diseño</translation>
     </message>
     <message>
         <source>Toolbox</source>
-        <translation type="vanished">Caja de herramientas</translation>
+        <translation>Caja de herramientas</translation>
     </message>
     <message>
         <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="107"/>
@@ -77679,15 +77679,15 @@ Parser error:
     </message>
     <message>
         <source>Navigation</source>
-        <translation type="vanished">Navegación</translation>
+        <translation>Navegación</translation>
     </message>
     <message>
         <source>Actions</source>
-        <translation type="vanished">Acciones</translation>
+        <translation>Acciones</translation>
     </message>
     <message>
         <source>toolBar</source>
-        <translation type="vanished">Barra de herramientas</translation>
+        <translation>Barra de herramientas</translation>
     </message>
     <message>
         <location filename="../src/ui/layout/qgslayoutdesignerbase.ui" line="17"/>
@@ -78822,7 +78822,7 @@ Parser error:
     </message>
     <message>
         <source>Item properties</source>
-        <translation type="vanished">Propiedades del elemento</translation>
+        <translation>Propiedades del elemento</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutdesignerdialog.cpp" line="661"/>
@@ -78831,7 +78831,7 @@ Parser error:
     </message>
     <message>
         <source>Command history</source>
-        <translation type="vanished">Historial de órdenes</translation>
+        <translation>Historial de órdenes</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutdesignerdialog.cpp" line="678"/>
@@ -78914,7 +78914,7 @@ Parser error:
     </message>
     <message>
         <source>Load from template</source>
-        <translation type="vanished">Cargar de plantilla</translation>
+        <translation>Cargar de plantilla</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutdesignerdialog.cpp" line="1620"/>
@@ -79184,15 +79184,15 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>Unable to write into the directory</source>
-        <translation type="vanished">Imposible escribir en el directorio</translation>
+        <translation>Imposible escribir en el directorio</translation>
     </message>
     <message>
         <source>The given output directory is not writable. Canceling.</source>
-        <translation type="vanished">No se puede escribir en el directorio de salida indicado. Se cancela.</translation>
+        <translation>No se puede escribir en el directorio de salida indicado. Se cancela.</translation>
     </message>
     <message>
         <source>Rendering maps...</source>
-        <translation type="vanished">Renderizado de mapas...</translation>
+        <translation>Renderizado de mapas...</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutdesignerdialog.cpp" line="2487"/>
@@ -79710,7 +79710,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLayoutHtmlWidget</name>
     <message>
         <source>HTML properties</source>
-        <translation type="vanished">Propiedades HTML</translation>
+        <translation>Propiedades HTML</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayouthtmlwidget.cpp" line="49"/>
@@ -80109,7 +80109,7 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>%1...</source>
-        <translation type="vanished">%1...</translation>
+        <translation>%1...</translation>
     </message>
 </context>
 <context>
@@ -80126,7 +80126,7 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>%1...</source>
-        <translation type="vanished">%1...</translation>
+        <translation>%1...</translation>
     </message>
 </context>
 <context>
@@ -80481,7 +80481,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLayoutLabelWidget</name>
     <message>
         <source>Label properties</source>
-        <translation type="vanished">Propiedades de etiquetas</translation>
+        <translation>Propiedades de etiquetas</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutlabelwidget.cpp" line="47"/>
@@ -80657,7 +80657,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLayoutLegendWidget</name>
     <message>
         <source>Legend properties</source>
-        <translation type="vanished">Propiedades de la leyenda</translation>
+        <translation>Propiedades de la leyenda</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutlegendwidget.cpp" line="104"/>
@@ -81383,7 +81383,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLayoutMapGridWidget</name>
     <message>
         <source>Map grid properties</source>
-        <translation type="vanished">Propiedades de la cuadrícula del mapa</translation>
+        <translation>Propiedades de la cuadrícula del mapa</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutmapgridwidget.cpp" line="77"/>
@@ -81606,7 +81606,7 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>change...</source>
-        <translation type="vanished">cambiar...</translation>
+        <translation>cambiar...</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutmapgridwidget.cpp" line="615"/>
@@ -82012,7 +82012,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLayoutMapWidget</name>
     <message>
         <source>Map properties</source>
-        <translation type="vanished">Propiedades del mapa</translation>
+        <translation>Propiedades del mapa</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutmapwidget.cpp" line="78"/>
@@ -82865,7 +82865,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLayoutPictureWidget</name>
     <message>
         <source>Picture properties</source>
-        <translation type="vanished">Propiedades de dibujo</translation>
+        <translation>Propiedades de dibujo</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutpicturewidget.cpp" line="55"/>
@@ -82894,7 +82894,7 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>Select svg or image file</source>
-        <translation type="vanished">Seleccionar svg o archivo de imagen</translation>
+        <translation>Seleccionar svg o archivo de imagen</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutpicturewidget.cpp" line="144"/>
@@ -82910,7 +82910,7 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>Select new preview directory</source>
-        <translation type="vanished">Seleccionar nuevo directorio de previsualización</translation>
+        <translation>Seleccionar nuevo directorio de previsualización</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutpicturewidget.cpp" line="120"/>
@@ -83175,7 +83175,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLayoutPolygonWidget</name>
     <message>
         <source>Polygon properties</source>
-        <translation type="vanished">Propiedades de polígono</translation>
+        <translation>Propiedades de polígono</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutpolygonwidget.cpp" line="30"/>
@@ -83215,11 +83215,11 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLayoutPolylineWidget</name>
     <message>
         <source>Polyline properties</source>
-        <translation type="vanished">Propiedades de polilínea</translation>
+        <translation>Propiedades de polilínea</translation>
     </message>
     <message>
         <source>Arrow properties</source>
-        <translation type="vanished">Propiedades de flecha</translation>
+        <translation>Propiedades de flecha</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutpolylinewidget.cpp" line="31"/>
@@ -83415,7 +83415,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLayoutPropertiesWidget</name>
     <message>
         <source>Layout properties</source>
-        <translation type="vanished">Propiedades de la composición</translation>
+        <translation>Propiedades de la composición</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutpropertieswidget.cpp" line="31"/>
@@ -83442,7 +83442,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLayoutQptDropHandler</name>
     <message>
         <source>Load from template</source>
-        <translation type="vanished">Cargar de plantilla</translation>
+        <translation>Cargar de plantilla</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutqptdrophandler.cpp" line="39"/>
@@ -83461,7 +83461,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLayoutScaleBarWidget</name>
     <message>
         <source>Scalebar properties</source>
-        <translation type="vanished">Propiedades de la barra de escala</translation>
+        <translation>Propiedades de la barra de escala</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutscalebarwidget.cpp" line="51"/>
@@ -83891,7 +83891,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLayoutShapeWidget</name>
     <message>
         <source>Shape properties</source>
-        <translation type="vanished">Propiedades de formas</translation>
+        <translation>Propiedades de formas</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutshapewidget.cpp" line="33"/>
@@ -84411,7 +84411,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLegendModel</name>
     <message>
         <source>Group</source>
-        <translation type="vanished">Grupo</translation>
+        <translation>Grupo</translation>
     </message>
 </context>
 <context>
@@ -84536,7 +84536,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsLocatorOptionsWidgetBase</name>
     <message>
         <source>Spatial Bookmarks Panel</source>
-        <translation type="vanished">Panel de marcadores espaciales</translation>
+        <translation>Panel de marcadores espaciales</translation>
     </message>
     <message>
         <location filename="../src/ui/qgslocatoroptionswidgetbase.ui" line="14"/>
@@ -84691,7 +84691,7 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>Export/import error</source>
-        <translation type="vanished">Error de exportación/importación</translation>
+        <translation>Error de exportación/importación</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmanageconnectionsdialog.cpp" line="81"/>
@@ -84700,7 +84700,7 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>Save connections</source>
-        <translation type="vanished">Guardar conexiones</translation>
+        <translation>Guardar conexiones</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmanageconnectionsdialog.cpp" line="95"/>
@@ -84709,7 +84709,7 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>Saving connections</source>
-        <translation type="vanished">Guardando conexiones</translation>
+        <translation>Guardando conexiones</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmanageconnectionsdialog.cpp" line="142"/>
@@ -84720,7 +84720,7 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>Loading connections</source>
-        <translation type="vanished">Cargando conexiones</translation>
+        <translation>Cargando conexiones</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmanageconnectionsdialog.cpp" line="157"/>
@@ -84740,23 +84740,23 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>The file is not an WMS connections exchange file.</source>
-        <translation type="vanished">El archivo no es un archivo de intercambio de conexiones WMS.</translation>
+        <translation>El archivo no es un archivo de intercambio de conexiones WMS.</translation>
     </message>
     <message>
         <source>The file is not an WFS connections exchange file.</source>
-        <translation type="vanished">El archivo no es un archivo de intercambio de conexiones WFS.</translation>
+        <translation>El archivo no es un archivo de intercambio de conexiones WFS.</translation>
     </message>
     <message>
         <source>The file is not an WCS connections exchange file.</source>
-        <translation type="vanished">El archivo no es un archivo de intercambio de conexiones WCS.</translation>
+        <translation>El archivo no es un archivo de intercambio de conexiones WCS.</translation>
     </message>
     <message>
         <source>The file is not an PostGIS connections exchange file.</source>
-        <translation type="vanished">El archivo no es un archivo de intercambio de conexiones PostGIS.</translation>
+        <translation>El archivo no es un archivo de intercambio de conexiones PostGIS.</translation>
     </message>
     <message>
         <source>The file is not an MSSQL connections exchange file.</source>
-        <translation type="vanished">El archivo no es un archivo de intercambio de conexiones MSSQL.</translation>
+        <translation>El archivo no es un archivo de intercambio de conexiones MSSQL.</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmanageconnectionsdialog.cpp" line="336"/>
@@ -84766,11 +84766,11 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>The file is not an DB2 connections exchange file.</source>
-        <translation type="vanished">El archivo no es un archivo de intercambio de conexiones DB2.</translation>
+        <translation>El archivo no es un archivo de intercambio de conexiones DB2.</translation>
     </message>
     <message>
         <source>The file is not an %1 connections exchange file.</source>
-        <translation type="vanished">El archivo no es  de intercambio de conexiones %1</translation>
+        <translation>El archivo no es  de intercambio de conexiones %1</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmanageconnectionsdialog.cpp" line="658"/>
@@ -84788,7 +84788,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsManageConnectionsDialogBase</name>
     <message>
         <source>Manage connections</source>
-        <translation type="vanished">Administrar conexiones</translation>
+        <translation>Administrar conexiones</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsmanageconnectionsdialogbase.ui" line="14"/>
@@ -84862,7 +84862,7 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>Geometry is NULL</source>
-        <translation type="vanished">La geometría es NULA.</translation>
+        <translation>La geometría es NULA.</translation>
     </message>
 </context>
 <context>
@@ -84961,7 +84961,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsMapCanvasSnappingUtils</name>
     <message>
         <source>Indexing data...</source>
-        <translation type="vanished">Indexando datos...</translation>
+        <translation>Indexando datos...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmapcanvassnappingutils.cpp" line="57"/>
@@ -84999,7 +84999,7 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsMapCoordsDialogBase</name>
     <message>
         <source>Enter map coordinates</source>
-        <translation type="vanished">Introducir coordenadas de mapa</translation>
+        <translation>Introducir coordenadas de mapa</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgsmapcoordsdialogbase.ui" line="14"/>
@@ -85214,15 +85214,15 @@ Please try a lower resolution or a smaller paper size.</source>
     </message>
     <message>
         <source>Add...</source>
-        <translation type="vanished">Añadir...</translation>
+        <translation>Añadir...</translation>
     </message>
     <message>
         <source>Rename Current...</source>
-        <translation type="vanished">Cambiar nombre al actual...</translation>
+        <translation>Cambiar nombre al actual...</translation>
     </message>
     <message>
         <source>(default)</source>
-        <translation type="vanished">(predeterminado)</translation>
+        <translation>(predeterminado)</translation>
     </message>
     <message>
         <location filename="../src/app/qgsmaplayerstyleguiutils.cpp" line="36"/>
@@ -85369,18 +85369,18 @@ Please try a lower resolution or a smaller paper size.</source>
     <name>QgsMapRenderer</name>
     <message>
         <source>Transform error caught: %1</source>
-        <translation type="vanished">Error de transformación capturado: %1</translation>
+        <translation>Error de transformación capturado: %1</translation>
     </message>
     <message>
         <source>CRS</source>
-        <translation type="vanished">SRC</translation>
+        <translation>SRC</translation>
     </message>
 </context>
 <context>
     <name>QgsMapRendererJob</name>
     <message>
         <source>Layer not found in registry.</source>
-        <translation type="vanished">No se ha encontrado la capa en el registro.</translation>
+        <translation>No se ha encontrado la capa en el registro.</translation>
     </message>
     <message>
         <location filename="../src/core/qgsmaprendererjob.cpp" line="267"/>
@@ -85663,7 +85663,7 @@ Se recomienda rasterizar el mapa para un renderizado correcto.</translation>
     </message>
     <message>
         <source>Add Theme...</source>
-        <translation type="vanished">Añadir tema...</translation>
+        <translation>Añadir tema...</translation>
     </message>
     <message>
         <location filename="../src/app/qgsmapthemes.cpp" line="50"/>
@@ -85725,15 +85725,15 @@ Se recomienda rasterizar el mapa para un renderizado correcto.</translation>
     </message>
     <message>
         <source>The data provider for this layer does not support the addition of features.</source>
-        <translation type="vanished">El proveedor de datos de esta capa no admite añadir objetos espaciales.</translation>
+        <translation>El proveedor de datos de esta capa no admite añadir objetos espaciales.</translation>
     </message>
     <message>
         <source>Cannot transform the point to the layers coordinate system</source>
-        <translation type="vanished">No se puede transformar el punto al sistema de coordenadas de las capas</translation>
+        <translation>No se puede transformar el punto al sistema de coordenadas de las capas</translation>
     </message>
     <message>
         <source>Wrong editing tool, cannot apply the 'capture point' tool on this vector layer</source>
-        <translation type="vanished">Herramienta de edición incorrecta, no se puede aplicar la herramienta "capturar punto" en esta capa vectorial</translation>
+        <translation>Herramienta de edición incorrecta, no se puede aplicar la herramienta "capturar punto" en esta capa vectorial</translation>
     </message>
     <message>
         <location filename="../src/app/qgsmaptooladdfeature.cpp" line="43"/>
@@ -85742,15 +85742,15 @@ Se recomienda rasterizar el mapa para un renderizado correcto.</translation>
     </message>
     <message>
         <source>Wrong editing tool, cannot apply the 'capture line' tool on this vector layer</source>
-        <translation type="vanished">Herramienta de edición incorrecta, no se puede aplicar la herramienta "capturar línea" en esta capa vectorial</translation>
+        <translation>Herramienta de edición incorrecta, no se puede aplicar la herramienta "capturar línea" en esta capa vectorial</translation>
     </message>
     <message>
         <source>Wrong editing tool, cannot apply the 'capture polygon' tool on this vector layer</source>
-        <translation type="vanished">Herramienta de edición incorrecta, no se puede aplicar la herramienta "capturar polígono" en esta capa vectorial</translation>
+        <translation>Herramienta de edición incorrecta, no se puede aplicar la herramienta "capturar polígono" en esta capa vectorial</translation>
     </message>
     <message>
         <source>The feature cannot be added because it's geometry collapsed due to intersection avoidance</source>
-        <translation type="vanished">El objeto espacial no se puede añadir porque su geometría colapsó debido a evitar intersecciones</translation>
+        <translation>El objeto espacial no se puede añadir porque su geometría colapsó debido a evitar intersecciones</translation>
     </message>
 </context>
 <context>
@@ -85835,7 +85835,7 @@ Se recomienda rasterizar el mapa para un renderizado correcto.</translation>
     </message>
     <message>
         <source>Cannot transform the point to the layers coordinate system</source>
-        <translation type="vanished">No se puede transformar el punto al sistema de coordenadas de las capas</translation>
+        <translation>No se puede transformar el punto al sistema de coordenadas de las capas</translation>
     </message>
     <message>
         <location filename="../src/app/qgsmaptooladdring.cpp" line="68"/>
@@ -85884,7 +85884,7 @@ Se recomienda rasterizar el mapa para un renderizado correcto.</translation>
     </message>
     <message>
         <source>could not add ring since %1.</source>
-        <translation type="vanished">no se pudo añadir el anillo desde %1.</translation>
+        <translation>no se pudo añadir el anillo desde %1.</translation>
     </message>
 </context>
 <context>
@@ -85896,7 +85896,7 @@ Se recomienda rasterizar el mapa para un renderizado correcto.</translation>
     </message>
     <message>
         <source>Validation started</source>
-        <translation type="vanished">Comenzó la validación</translation>
+        <translation>Comenzó la validación</translation>
     </message>
 </context>
 <context>
@@ -86120,7 +86120,7 @@ Se recomienda rasterizar el mapa para un renderizado correcto.</translation>
     </message>
     <message>
         <source>Identifying on %1...</source>
-        <translation type="vanished">Identificando en %1...</translation>
+        <translation>Identificando en %1...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsmaptoolidentify.cpp" line="150"/>
@@ -86308,15 +86308,15 @@ Se recomienda rasterizar el mapa para un renderizado correcto.</translation>
     <name>QgsMapToolNodeTool</name>
     <message>
         <source>Could not snap to a feature in the current layer.</source>
-        <translation type="vanished">No se pudo ajustar a un objeto de la capa actual.</translation>
+        <translation>No se pudo ajustar a un objeto de la capa actual.</translation>
     </message>
     <message>
         <source>Inserted vertex</source>
-        <translation type="vanished">Vértice insertado</translation>
+        <translation>Vértice insertado</translation>
     </message>
     <message>
         <source>Geometry has been cleared. Use the add part tool to set geometry for this feature.</source>
-        <translation type="vanished">Se ha limpiado la geometría. Use la herramienta añadir parte para establecer la geometría para este objeto.</translation>
+        <translation>Se ha limpiado la geometría. Use la herramienta añadir parte para establecer la geometría para este objeto.</translation>
     </message>
 </context>
 <context>
@@ -86338,7 +86338,7 @@ Se recomienda rasterizar el mapa para un renderizado correcto.</translation>
     </message>
     <message>
         <source>Offset: </source>
-        <translation type="vanished">Desplazamiento: </translation>
+        <translation>Desplazamiento: </translation>
     </message>
     <message>
         <location filename="../src/app/qgsmaptooloffsetcurve.cpp" line="605"/>
@@ -86347,7 +86347,7 @@ Se recomienda rasterizar el mapa para un renderizado correcto.</translation>
     </message>
     <message>
         <source>Creating offset geometry failed</source>
-        <translation type="vanished">Fallo al crear el desplazamiento de la geometría</translation>
+        <translation>Fallo al crear el desplazamiento de la geometría</translation>
     </message>
 </context>
 <context>
@@ -86652,43 +86652,43 @@ Se recomienda rasterizar el mapa para un renderizado correcto.</translation>
     <name>QgsMapUnitScaleDialog</name>
     <message>
         <source>Adjust scaling range</source>
-        <translation type="vanished">Ajustar intervalo de escalado</translation>
+        <translation>Ajustar intervalo de escalado</translation>
     </message>
     <message>
         <source>Size range</source>
-        <translation type="vanished">Intervalo de tamaño</translation>
+        <translation>Intervalo de tamaño</translation>
     </message>
     <message>
         <source>Minimum size:</source>
-        <translation type="vanished">Tamaño mínimo:</translation>
+        <translation>Tamaño mínimo:</translation>
     </message>
     <message>
         <source>Maximum size:</source>
-        <translation type="vanished">Tamaño máximo:</translation>
+        <translation>Tamaño máximo:</translation>
     </message>
     <message>
         <source> mm</source>
-        <translation type="vanished"> mm</translation>
+        <translation> mm</translation>
     </message>
     <message>
         <source>Scale only within the following size range:</source>
-        <translation type="vanished">Escalar solo dentro del siguiente rango de tamaños:</translation>
+        <translation>Escalar solo dentro del siguiente rango de tamaños:</translation>
     </message>
     <message>
         <source>Scale range</source>
-        <translation type="vanished">Intervalo de escala</translation>
+        <translation>Intervalo de escala</translation>
     </message>
     <message>
         <source>Maximum scale:</source>
-        <translation type="vanished">Escala máxima:</translation>
+        <translation>Escala máxima:</translation>
     </message>
     <message>
         <source>Minimum scale:</source>
-        <translation type="vanished">Escala mínima:</translation>
+        <translation>Escala mínima:</translation>
     </message>
     <message>
         <source>Scale only within the following map unit scale range:</source>
-        <translation type="vanished">Escalar sólo dentro del intervalo de unidades de mapa siguientes:</translation>
+        <translation>Escalar sólo dentro del intervalo de unidades de mapa siguientes:</translation>
     </message>
 </context>
 <context>
@@ -86749,7 +86749,7 @@ Se recomienda rasterizar el mapa para un renderizado correcto.</translation>
     <name>QgsMarkerLineSymbolLayerV2Widget</name>
     <message>
         <source>string </source>
-        <translation type="vanished">cadena</translation>
+        <translation>cadena</translation>
     </message>
 </context>
 <context>
@@ -86772,7 +86772,7 @@ Se recomienda rasterizar el mapa para un renderizado correcto.</translation>
     </message>
     <message>
         <source>Show</source>
-        <translation type="vanished">Mostrar</translation>
+        <translation>Mostrar</translation>
     </message>
     <message>
         <location filename="../src/ui/auth/qgsauthmasterpassresetdialog.ui" line="51"/>
@@ -86878,7 +86878,7 @@ se volverá a encriptar usando la nueva contraseña</translation>
     </message>
     <message>
         <source>Project CRS transformation is turned off.</source>
-        <translation type="vanished">La transformación de SRC del proyecto está apagada.</translation>
+        <translation>La transformación de SRC del proyecto está apagada.</translation>
     </message>
     <message>
         <location filename="../src/app/qgsmeasuredialog.cpp" line="410"/>
@@ -86887,7 +86887,7 @@ se volverá a encriptar usando la nueva contraseña</translation>
     </message>
     <message>
         <source>Ellipsoidal calculation is not possible with CRS transformation disabled.</source>
-        <translation type="vanished">No es posible el cálculo elipsoidal con la transformación de SRC deshabilitada.</translation>
+        <translation>No es posible el cálculo elipsoidal con la transformación de SRC deshabilitada.</translation>
     </message>
     <message>
         <location filename="../src/app/qgsmeasuredialog.cpp" line="367"/>
@@ -86897,7 +86897,7 @@ se volverá a encriptar usando la nueva contraseña</translation>
     </message>
     <message>
         <source>Both project CRS (%1) and measured area are in degrees, so area is calculated using cartesian calculations in square degrees.</source>
-        <translation type="vanished">Tanto el SRC del proyecto (%1) como el área medida están en grados, por lo que la superficie se calcula usando cálculos cartesianos en grados cuadrados.</translation>
+        <translation>Tanto el SRC del proyecto (%1) como el área medida están en grados, por lo que la superficie se calcula usando cálculos cartesianos en grados cuadrados.</translation>
     </message>
     <message>
         <location filename="../src/app/qgsmeasuredialog.cpp" line="340"/>
@@ -86906,7 +86906,7 @@ se volverá a encriptar usando la nueva contraseña</translation>
     </message>
     <message>
         <source>Project CRS transformation is turned on and ellipsoidal calculation is selected.</source>
-        <translation type="vanished">La transformación de SRC del proyecto está encendida y el cálculo elipsoidal está seleccionado.</translation>
+        <translation>La transformación de SRC del proyecto está encendida y el cálculo elipsoidal está seleccionado.</translation>
     </message>
     <message>
         <location filename="../src/app/qgsmeasuredialog.cpp" line="333"/>
@@ -86915,11 +86915,11 @@ se volverá a encriptar usando la nueva contraseña</translation>
     </message>
     <message>
         <source>Project CRS transformation is turned on but ellipsoidal calculation is not selected.</source>
-        <translation type="vanished">La transformación de SRC del proyecto está encendida pero el cálculo elipsoidal no seleccionado.</translation>
+        <translation>La transformación de SRC del proyecto está encendida pero el cálculo elipsoidal no seleccionado.</translation>
     </message>
     <message>
         <source>Both project CRS (%1) and measured length are in degrees, so distance is calculated using cartesian calculations in degrees.</source>
-        <translation type="vanished">Tanto el SRC del proyecto (%1) como la longitud medida están en grados, por lo que la distandia se calcula usando cálculos cartesianos en grados cuadrados.</translation>
+        <translation>Tanto el SRC del proyecto (%1) como la longitud medida están en grados, por lo que la distandia se calcula usando cálculos cartesianos en grados cuadrados.</translation>
     </message>
     <message>
         <location filename="../src/app/qgsmeasuredialog.cpp" line="403"/>
@@ -86947,7 +86947,7 @@ se volverá a encriptar usando la nueva contraseña</translation>
     <name>QgsMeasureTool</name>
     <message>
         <source>Incorrect measure results</source>
-        <translation type="vanished">Resultados de medida incorrectos</translation>
+        <translation>Resultados de medida incorrectos</translation>
     </message>
     <message>
         <location filename="../src/app/qgsmeasuretool.cpp" line="88"/>
@@ -87086,7 +87086,7 @@ se volverá a encriptar usando la nueva contraseña</translation>
     <name>QgsMergeAttributesDialogBase</name>
     <message>
         <source>Merge feature attributes</source>
-        <translation type="vanished">Combinar atributos de objetos espaciales</translation>
+        <translation>Combinar atributos de objetos espaciales</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsmergeattributesdialogbase.ui" line="14"/>
@@ -87289,7 +87289,7 @@ se volverá a encriptar usando la nueva contraseña</translation>
     </message>
     <message>
         <source>Available categories</source>
-        <translation type="vanished">Categorías disponibles</translation>
+        <translation>Categorías disponibles</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsmetadatawidget.ui" line="328"/>
@@ -87908,7 +87908,7 @@ se volverá a encriptar usando la nueva contraseña</translation>
     </message>
     <message>
         <source>Edit Connection...</source>
-        <translation type="vanished">Editar conexión...</translation>
+        <translation>Editar conexión...</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqldataitems.cpp" line="342"/>
@@ -87927,15 +87927,15 @@ se volverá a encriptar usando la nueva contraseña</translation>
     </message>
     <message>
         <source>Copying features...</source>
-        <translation type="vanished">Copiando objetos...</translation>
+        <translation>Copiando objetos...</translation>
     </message>
     <message>
         <source>Abort</source>
-        <translation type="vanished">Abortar</translation>
+        <translation>Abortar</translation>
     </message>
     <message>
         <source>Import layer</source>
-        <translation type="vanished">Importar capa</translation>
+        <translation>Importar capa</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqldataitems.cpp" line="399"/>
@@ -87944,7 +87944,7 @@ se volverá a encriptar usando la nueva contraseña</translation>
     </message>
     <message>
         <source>%1: OK!</source>
-        <translation type="vanished">%1: ¡Correcto!</translation>
+        <translation>%1: ¡Correcto!</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqldataitems.cpp" line="429"/>
@@ -87955,7 +87955,7 @@ se volverá a encriptar usando la nueva contraseña</translation>
     </message>
     <message>
         <source>Import cancelled.</source>
-        <translation type="vanished">Importación cancelada.</translation>
+        <translation>Importación cancelada.</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqldataitems.cpp" line="443"/>
@@ -87977,7 +87977,7 @@ se volverá a encriptar usando la nueva contraseña</translation>
     <name>QgsMssqlNewConnection</name>
     <message>
         <source>Save connection</source>
-        <translation type="vanished">Guardar conexión</translation>
+        <translation>Guardar conexión</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlnewconnection.cpp" line="85"/>
@@ -88011,7 +88011,7 @@ se volverá a encriptar usando la nueva contraseña</translation>
     </message>
     <message>
         <source>Host name hasn't been specified</source>
-        <translation type="vanished">No se ha especificado el nombre del servidor</translation>
+        <translation>No se ha especificado el nombre del servidor</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlnewconnection.cpp" line="185"/>
@@ -88023,7 +88023,7 @@ se volverá a encriptar usando la nueva contraseña</translation>
     <name>QgsMssqlNewConnectionBase</name>
     <message>
         <source>Create a New MSSQL connection</source>
-        <translation type="vanished">Crear una nueva conexión MSSQL</translation>
+        <translation>Crear una nueva conexión MSSQL</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsmssqlnewconnectionbase.ui" line="70"/>
@@ -88218,7 +88218,7 @@ Si no quiere que esto pase, desmarque guardar.</translation>
     <name>QgsMssqlRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqldataitems.cpp" line="611"/>
@@ -88248,7 +88248,7 @@ Si no quiere que esto pase, desmarque guardar.</translation>
     </message>
     <message>
         <source>&Add</source>
-        <translation type="vanished">&Añadir</translation>
+        <translation>&Añadir</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlsourceselect.cpp" line="150"/>
@@ -88337,7 +88337,7 @@ Si no quiere que esto pase, desmarque guardar.</translation>
     </message>
     <message>
         <source>Load connections</source>
-        <translation type="vanished">Cargar conexiones</translation>
+        <translation>Cargar conexiones</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlsourceselect.cpp" line="269"/>
@@ -88375,7 +88375,7 @@ Si no quiere que esto pase, desmarque guardar.</translation>
     <name>QgsMssqlSourceSelectDelegate</name>
     <message>
         <source>Select...</source>
-        <translation type="vanished">Seleccionar...</translation>
+        <translation>Seleccionar...</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqlsourceselect.cpp" line="105"/>
@@ -88445,11 +88445,11 @@ Si no quiere que esto pase, desmarque guardar.</translation>
     </message>
     <message>
         <source>Detecting...</source>
-        <translation type="vanished">Detectando...</translation>
+        <translation>Detectando...</translation>
     </message>
     <message>
         <source>Select...</source>
-        <translation type="vanished">Seleccionar...</translation>
+        <translation>Seleccionar...</translation>
     </message>
     <message>
         <location filename="../src/providers/mssql/qgsmssqltablemodel.cpp" line="116"/>
@@ -88458,46 +88458,46 @@ Si no quiere que esto pase, desmarque guardar.</translation>
     </message>
     <message>
         <source>Enter...</source>
-        <translation type="vanished">Introducir...</translation>
+        <translation>Introducir...</translation>
     </message>
     <message>
         <source>Point</source>
-        <translation type="vanished">Punto</translation>
+        <translation>Punto</translation>
     </message>
     <message>
         <source>Multipoint</source>
-        <translation type="vanished">Multipunto</translation>
+        <translation>Multipunto</translation>
     </message>
     <message>
         <source>Line</source>
-        <translation type="vanished">Línea</translation>
+        <translation>Línea</translation>
     </message>
     <message>
         <source>Multiline</source>
-        <translation type="vanished">Multilínea</translation>
+        <translation>Multilínea</translation>
     </message>
     <message>
         <source>Polygon</source>
-        <translation type="vanished">Polígono</translation>
+        <translation>Polígono</translation>
     </message>
     <message>
         <source>Multipolygon</source>
-        <translation type="vanished">Multipolígono</translation>
+        <translation>Multipolígono</translation>
     </message>
     <message>
         <source>No Geometry</source>
-        <translation type="vanished">Ninguna geometría</translation>
+        <translation>Ninguna geometría</translation>
     </message>
     <message>
         <source>Unknown Geometry</source>
-        <translation type="vanished">Geometría desconocida</translation>
+        <translation>Geometría desconocida</translation>
     </message>
 </context>
 <context>
     <name>QgsMultiBandColorRendererWidget</name>
     <message>
         <source>Not set</source>
-        <translation type="vanished">No establecido</translation>
+        <translation>No establecido</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgsmultibandcolorrendererwidget.cpp" line="73"/>
@@ -88698,22 +88698,22 @@ contraste</translation>
     </message>
     <message>
         <source>Invalid name</source>
-        <translation type="vanished">Nombre no válido</translation>
+        <translation>Nombre no válido</translation>
     </message>
     <message>
         <source>Auxiliary field '%1' already exists</source>
-        <translation type="vanished">El campo auxiliar '%1' ya existe</translation>
+        <translation>El campo auxiliar '%1' ya existe</translation>
     </message>
     <message>
         <source>Name is a mandatory parameter</source>
-        <translation type="vanished">El nombre es un parámetro obligatorio</translation>
+        <translation>El nombre es un parámetro obligatorio</translation>
     </message>
 </context>
 <context>
     <name>QgsNewAuxiliaryFieldDialogBase</name>
     <message>
         <source>Auxiliary storage : new auxiliary field</source>
-        <translation type="vanished">Almacenamiento auxiliar: nuevo campo auxiliar</translation>
+        <translation>Almacenamiento auxiliar: nuevo campo auxiliar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewauxiliaryfielddialogbase.ui" line="14"/>
@@ -88740,7 +88740,7 @@ contraste</translation>
     <name>QgsNewAuxiliaryLayerDialogBase</name>
     <message>
         <source>Auxiliary storage : choose primary key</source>
-        <translation type="vanished">Almacenamiento auxiliar: seleccione la clave primaria</translation>
+        <translation>Almacenamiento auxiliar: seleccione la clave primaria</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewauxiliarylayerdialogbase.ui" line="14"/>
@@ -88757,7 +88757,7 @@ contraste</translation>
     <name>QgsNewGeoPackageLayerDialog</name>
     <message>
         <source>Non spatial</source>
-        <translation type="vanished">No espacial</translation>
+        <translation>No espacial</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="68"/>
@@ -88776,35 +88776,35 @@ contraste</translation>
     </message>
     <message>
         <source>Multi point</source>
-        <translation type="vanished">Multipunto</translation>
+        <translation>Multipunto</translation>
     </message>
     <message>
         <source>Multi line</source>
-        <translation type="vanished">Multilínea</translation>
+        <translation>Multilínea</translation>
     </message>
     <message>
         <source>Multi polygon</source>
-        <translation type="vanished">Multipolígono</translation>
+        <translation>Multipolígono</translation>
     </message>
     <message>
         <source>Circular string</source>
-        <translation type="vanished">Cadena circular</translation>
+        <translation>Cadena circular</translation>
     </message>
     <message>
         <source>Compound curve</source>
-        <translation type="vanished">Curva compuesta</translation>
+        <translation>Curva compuesta</translation>
     </message>
     <message>
         <source>Curve polygon</source>
-        <translation type="vanished">Polígono curvo</translation>
+        <translation>Polígono curvo</translation>
     </message>
     <message>
         <source>Multi curve</source>
-        <translation type="vanished">Multicurva</translation>
+        <translation>Multicurva</translation>
     </message>
     <message>
         <source>Multi surface</source>
-        <translation type="vanished">Multisuperficie</translation>
+        <translation>Multisuperficie</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="92"/>
@@ -88838,7 +88838,7 @@ contraste</translation>
     </message>
     <message>
         <source>Select existing or create new GeoPackage Database File</source>
-        <translation type="vanished">Seleccionar archivo de base de datos GeoPackage existente o crear nuevo</translation>
+        <translation>Seleccionar archivo de base de datos GeoPackage existente o crear nuevo</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="113"/>
@@ -88852,19 +88852,19 @@ contraste</translation>
     </message>
     <message>
         <source>Invalid field name</source>
-        <translation type="vanished">Nombre de campo no válido</translation>
+        <translation>Nombre de campo no válido</translation>
     </message>
     <message>
         <source>The field cannot have the same name as the feature identifier</source>
-        <translation type="vanished">El campo no puede tener el mismo nombre que el identificador del objeto</translation>
+        <translation>El campo no puede tener el mismo nombre que el identificador del objeto</translation>
     </message>
     <message>
         <source>The file already exists.</source>
-        <translation type="vanished">El archivo ya existe.</translation>
+        <translation>El archivo ya existe.</translation>
     </message>
     <message>
         <source>Do you want to overwrite the existing file with a new database or add a new layer to it?</source>
-        <translation type="vanished">¿Quiere sobrescribir el archivo existente con una nueva base de datos o añadirle una capa?</translation>
+        <translation>¿Quiere sobrescribir el archivo existente con una nueva base de datos o añadirle una capa?</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="325"/>
@@ -88972,7 +88972,7 @@ contraste</translation>
     </message>
     <message>
         <source>The File Already Exists.</source>
-        <translation type="vanished">El archivo ya existe.</translation>
+        <translation>El archivo ya existe.</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="265"/>
@@ -88981,11 +88981,11 @@ contraste</translation>
     </message>
     <message>
         <source>Layer creation failed</source>
-        <translation type="vanished">Falló la creación de la capa</translation>
+        <translation>Falló la creación de la capa</translation>
     </message>
     <message>
         <source>GeoPackage driver not found</source>
-        <translation type="vanished">No se ha encontrado el controlador GeoPackage</translation>
+        <translation>No se ha encontrado el controlador GeoPackage</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="422"/>
@@ -88995,23 +88995,23 @@ contraste</translation>
     </message>
     <message>
         <source>Creation of database failed (OGR error:%1)</source>
-        <translation type="vanished">Falló la creación de la base de datos (error de OGR: %1)</translation>
+        <translation>Falló la creación de la base de datos (error de OGR: %1)</translation>
     </message>
     <message>
         <source>Opening of database failed (OGR error:%1)</source>
-        <translation type="vanished">Falló al abrir la base de datos (error de OGR: %1)</translation>
+        <translation>Falló al abrir la base de datos (error de OGR: %1)</translation>
     </message>
     <message>
         <source>Opening of file succeeded, but this is not a GeoPackage database</source>
-        <translation type="vanished">El archivo se abrió con éxito, pero no es una base de datos de GeoPackage</translation>
+        <translation>El archivo se abrió con éxito, pero no es una base de datos de GeoPackage</translation>
     </message>
     <message>
         <source>Existing layer</source>
-        <translation type="vanished">Capa existente</translation>
+        <translation>Capa existente</translation>
     </message>
     <message>
         <source>Creation of layer failed (OGR error:%1)</source>
-        <translation type="vanished">Falló la creación de la capa (error de OGR: %1)</translation>
+        <translation>Falló la creación de la capa (error de OGR: %1)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="459"/>
@@ -89020,7 +89020,7 @@ contraste</translation>
     </message>
     <message>
         <source>Invalid Layer</source>
-        <translation type="vanished">Capa no válida</translation>
+        <translation>Capa no válida</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewgeopackagelayerdialog.cpp" line="497"/>
@@ -89037,7 +89037,7 @@ contraste</translation>
     </message>
     <message>
         <source>Add an integer id field as the primary key for the new layer</source>
-        <translation type="vanished">Añadir un campo de ID entero como clave primaria para la nueva capa</translation>
+        <translation>Añadir un campo de ID entero como clave primaria para la nueva capa</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewgeopackagelayerdialogbase.ui" line="454"/>
@@ -89108,7 +89108,7 @@ contraste</translation>
     </message>
     <message>
         <source>geometry</source>
-        <translation type="vanished">geometría</translation>
+        <translation>geometría</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewgeopackagelayerdialogbase.ui" line="451"/>
@@ -89122,11 +89122,11 @@ contraste</translation>
     </message>
     <message>
         <source><html><head/><body><p>Select an existing or create a new database</p></body></html></source>
-        <translation type="vanished"><html><head/><body><p>Seleccionar una base de datos existente o crear una nueva</p></body></html></translation>
+        <translation><html><head/><body><p>Seleccionar una base de datos existente o crear una nueva</p></body></html></translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewgeopackagelayerdialogbase.ui" line="382"/>
@@ -89185,7 +89185,7 @@ contraste</translation>
     </message>
     <message>
         <source>fid</source>
-        <translation type="vanished">FID</translation>
+        <translation>FID</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewgeopackagelayerdialogbase.ui" line="271"/>
@@ -89212,7 +89212,7 @@ contraste</translation>
     <name>QgsNewHttpConnection</name>
     <message>
         <source>Create a new %1 connection</source>
-        <translation type="vanished">Crear una nueva conexión %1</translation>
+        <translation>Crear una nueva conexión %1</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewhttpconnection.cpp" line="39"/>
@@ -89291,11 +89291,11 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     </message>
     <message>
         <source>Configurations</source>
-        <translation type="vanished">Configuraciones</translation>
+        <translation>Configuraciones</translation>
     </message>
     <message>
         <source>Ignore axis orientation (WFS 1.1/WFS 2.0)</source>
-        <translation type="vanished">Ignorar orientación de eje (WFS 1.1/WFS 2.0)</translation>
+        <translation>Ignorar orientación de eje (WFS 1.1/WFS 2.0)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewhttpconnection.cpp" line="96"/>
@@ -89309,7 +89309,7 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     </message>
     <message>
         <source>Save connection</source>
-        <translation type="vanished">Guardar conexión</translation>
+        <translation>Guardar conexión</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewhttpconnection.cpp" line="182"/>
@@ -89318,12 +89318,12 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     </message>
     <message>
         <source>Saving passwords</source>
-        <translation type="vanished">Guardar contraseñas</translation>
+        <translation>Guardar contraseñas</translation>
     </message>
     <message>
         <source>WARNING: You have entered a password. It will be stored in plain text in your project files and in your home directory on Unix-like systems, or in your user profile on Windows. If you do not want this to happen, please press the Cancel button.
 Note: giving the password is optional. It will be requested interactivly, when needed.</source>
-        <translation type="vanished">ADVERTENCIA: Ha ingresado una contraseña. Ésta será almacenada como texto plano en sus archivos de proyecto y en su directorio raíz en sistemas UNIX, o en su perfil de usuario de Windows. Si no desea que esto suceda, por favor presione el botón Cancelar.
+        <translation>ADVERTENCIA: Ha ingresado una contraseña. Ésta será almacenada como texto plano en sus archivos de proyecto y en su directorio raíz en sistemas UNIX, o en su perfil de usuario de Windows. Si no desea que esto suceda, por favor presione el botón Cancelar.
 Nota: Proveer la contraseña es opcional. Será solicitada interactivamente cuando sea necesario.</translation>
     </message>
 </context>
@@ -89331,7 +89331,7 @@ Nota: Proveer la contraseña es opcional. Será solicitada interactivamente cuan
     <name>QgsNewHttpConnectionBase</name>
     <message>
         <source>Create a new WMS connection</source>
-        <translation type="vanished">Crear una nueva conexión WMS</translation>
+        <translation>Crear una nueva conexión WMS</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="26"/>
@@ -89345,7 +89345,7 @@ Nota: Proveer la contraseña es opcional. Será solicitada interactivamente cuan
     </message>
     <message>
         <source>DPI-Mode</source>
-        <translation type="vanished">Modo DPI</translation>
+        <translation>Modo DPI</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="241"/>
@@ -89374,15 +89374,15 @@ Nota: Proveer la contraseña es opcional. Será solicitada interactivamente cuan
     </message>
     <message>
         <source>If the service requires basic authentication, enter a user name and optional password</source>
-        <translation type="vanished">Si el servicio requiere una autenticación básica, introduzca un nombre de usuario y contraseña opcional</translation>
+        <translation>Si el servicio requiere una autenticación básica, introduzca un nombre de usuario y contraseña opcional</translation>
     </message>
     <message>
         <source>Password</source>
-        <translation type="vanished">Contraseña</translation>
+        <translation>Contraseña</translation>
     </message>
     <message>
         <source>&User name</source>
-        <translation type="vanished">Nombre de &usuario</translation>
+        <translation>Nombre de &usuario</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="212"/>
@@ -89406,7 +89406,7 @@ Nota: Proveer la contraseña es opcional. Será solicitada interactivamente cuan
     </message>
     <message>
         <source>Create a new connection</source>
-        <translation type="vanished">Crear una nueva conexión</translation>
+        <translation>Crear una nueva conexión</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewhttpconnectionbase.ui" line="32"/>
@@ -89538,31 +89538,31 @@ Nota: Proveer la contraseña es opcional. Será solicitada interactivamente cuan
     </message>
     <message>
         <source>Point</source>
-        <translation type="vanished">Punto</translation>
+        <translation>Punto</translation>
     </message>
     <message>
         <source>Line</source>
-        <translation type="vanished">Línea</translation>
+        <translation>Línea</translation>
     </message>
     <message>
         <source>Polygon</source>
-        <translation type="vanished">Polígono</translation>
+        <translation>Polígono</translation>
     </message>
     <message>
         <source>Geometry type and CRS</source>
-        <translation type="vanished">Tipo de geometría y SRC</translation>
+        <translation>Tipo de geometría y SRC</translation>
     </message>
     <message>
         <source>Multipoint</source>
-        <translation type="vanished">Multipunto</translation>
+        <translation>Multipunto</translation>
     </message>
     <message>
         <source>Multiline</source>
-        <translation type="vanished">Multilínea</translation>
+        <translation>Multilínea</translation>
     </message>
     <message>
         <source>Multipolygon</source>
-        <translation type="vanished">Multipolígono</translation>
+        <translation>Multipolígono</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewmemorylayerdialogbase.ui" line="74"/>
@@ -89574,7 +89574,7 @@ Nota: Proveer la contraseña es opcional. Será solicitada interactivamente cuan
     <name>QgsNewNameDialog</name>
     <message>
         <source>New name</source>
-        <translation type="vanished">Nuevo nombre</translation>
+        <translation>Nuevo nombre</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsnewnamedialog.cpp" line="36"/>
@@ -89631,7 +89631,7 @@ Nota: Proveer la contraseña es opcional. Será solicitada interactivamente cuan
     <name>QgsNewOgrConnection</name>
     <message>
         <source>Test connection</source>
-        <translation type="vanished">Probar conexión</translation>
+        <translation>Probar conexión</translation>
     </message>
     <message>
         <location filename="../src/gui/ogr/qgsnewogrconnection.cpp" line="106"/>
@@ -89657,7 +89657,7 @@ Información de error ampliada:
     </message>
     <message>
         <source>Connection to %1 was successful</source>
-        <translation type="vanished">La conexión a %1 tuvo éxito</translation>
+        <translation>La conexión a %1 tuvo éxito</translation>
     </message>
     <message>
         <location filename="../src/gui/ogr/qgsnewogrconnection.cpp" line="131"/>
@@ -89666,7 +89666,7 @@ Información de error ampliada:
     </message>
     <message>
         <source>Save connection</source>
-        <translation type="vanished">Guardar conexión</translation>
+        <translation>Guardar conexión</translation>
     </message>
     <message>
         <location filename="../src/gui/ogr/qgsnewogrconnection.cpp" line="132"/>
@@ -89678,7 +89678,7 @@ Información de error ampliada:
     <name>QgsNewOgrConnectionBase</name>
     <message>
         <source>Create a New OGR Database connection</source>
-        <translation type="vanished">Crear una nueva conexión a base de datos OGR</translation>
+        <translation>Crear una nueva conexión a base de datos OGR</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewogrconnectionbase.ui" line="20"/>
@@ -89717,11 +89717,11 @@ Información de error ampliada:
     </message>
     <message>
         <source>Type</source>
-        <translation type="vanished">Tipo</translation>
+        <translation>Tipo</translation>
     </message>
     <message>
         <source>Name</source>
-        <translation type="vanished">Nombre</translation>
+        <translation>Nombre</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewogrconnectionbase.ui" line="148"/>
@@ -89735,7 +89735,7 @@ Información de error ampliada:
     </message>
     <message>
         <source>Database</source>
-        <translation type="vanished">Base de datos</translation>
+        <translation>Base de datos</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewogrconnectionbase.ui" line="138"/>
@@ -89744,19 +89744,19 @@ Información de error ampliada:
     </message>
     <message>
         <source>Username</source>
-        <translation type="vanished">Nombre de usuario</translation>
+        <translation>Nombre de usuario</translation>
     </message>
     <message>
         <source>Password</source>
-        <translation type="vanished">Contraseña</translation>
+        <translation>Contraseña</translation>
     </message>
     <message>
         <source>Save Password</source>
-        <translation type="vanished">Guardar contraseña</translation>
+        <translation>Guardar contraseña</translation>
     </message>
     <message>
         <source>&Test Connect</source>
-        <translation type="vanished">&Probar conexión</translation>
+        <translation>&Probar conexión</translation>
     </message>
 </context>
 <context>
@@ -89856,11 +89856,11 @@ Información de error ampliada:
     </message>
     <message>
         <source>The File Already Exists.</source>
-        <translation type="vanished">El archivo ya existe.</translation>
+        <translation>El archivo ya existe.</translation>
     </message>
     <message>
         <source>Do you want to overwrite the existing file with a new database or add a new layer to it?</source>
-        <translation type="vanished">¿Quiere sobrescribir el archivo existente con una nueva base de datos o añadirle una capa?</translation>
+        <translation>¿Quiere sobrescribir el archivo existente con una nueva base de datos o añadirle una capa?</translation>
     </message>
     <message>
         <location filename="../src/app/qgsnewspatialitelayerdialog.cpp" line="294"/>
@@ -89879,7 +89879,7 @@ Información de error ampliada:
     </message>
     <message>
         <source>Registered new database!</source>
-        <translation type="vanished">¡Nueva base de datos registrada!</translation>
+        <translation>¡Nueva base de datos registrada!</translation>
     </message>
     <message>
         <location filename="../src/app/qgsnewspatialitelayerdialog.cpp" line="408"/>
@@ -89924,7 +89924,7 @@ Información de error ampliada:
     </message>
     <message>
         <source>Invalid Layer</source>
-        <translation type="vanished">Capa no válida</translation>
+        <translation>Capa no válida</translation>
     </message>
     <message>
         <location filename="../src/app/qgsnewspatialitelayerdialog.cpp" line="483"/>
@@ -89936,7 +89936,7 @@ Información de error ampliada:
     <name>QgsNewSpatialiteLayerDialogBase</name>
     <message>
         <source>New Spatialite Layer</source>
-        <translation type="vanished">Nueva capa SpatialLite</translation>
+        <translation>Nueva capa SpatialLite</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewspatialitelayerdialogbase.ui" line="65"/>
@@ -89945,11 +89945,11 @@ Información de error ampliada:
     </message>
     <message>
         <source>Create a new Spatialite database</source>
-        <translation type="vanished">Crear una nueva base de datos SpatialLite</translation>
+        <translation>Crear una nueva base de datos SpatialLite</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewspatialitelayerdialogbase.ui" line="98"/>
@@ -89973,7 +89973,7 @@ Información de error ampliada:
     </message>
     <message>
         <source>geometry</source>
-        <translation type="vanished">geometría</translation>
+        <translation>geometría</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewspatialitelayerdialogbase.ui" line="253"/>
@@ -89983,27 +89983,27 @@ Información de error ampliada:
     </message>
     <message>
         <source>Point</source>
-        <translation type="vanished">Punto</translation>
+        <translation>Punto</translation>
     </message>
     <message>
         <source>Line</source>
-        <translation type="vanished">Línea</translation>
+        <translation>Línea</translation>
     </message>
     <message>
         <source>Polygon</source>
-        <translation type="vanished">Polígono</translation>
+        <translation>Polígono</translation>
     </message>
     <message>
         <source>MultiPoint</source>
-        <translation type="vanished">Multipunto</translation>
+        <translation>Multipunto</translation>
     </message>
     <message>
         <source>Multiline</source>
-        <translation type="vanished">Multilínea</translation>
+        <translation>Multilínea</translation>
     </message>
     <message>
         <source>Multipolygon</source>
-        <translation type="vanished">Multipolígono</translation>
+        <translation>Multipolígono</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewspatialitelayerdialogbase.ui" line="180"/>
@@ -90018,7 +90018,7 @@ Información de error ampliada:
     </message>
     <message>
         <source>Specify CRS</source>
-        <translation type="vanished">Especificar SRC</translation>
+        <translation>Especificar SRC</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewspatialitelayerdialogbase.ui" line="408"/>
@@ -90177,7 +90177,7 @@ Información de error ampliada:
     </message>
     <message>
         <source>Save layer as...</source>
-        <translation type="vanished">Guardar capa como...</translation>
+        <translation>Guardar capa como...</translation>
     </message>
 </context>
 <context>
@@ -90195,15 +90195,15 @@ Información de error ampliada:
     </message>
     <message>
         <source>Point</source>
-        <translation type="vanished">Punto</translation>
+        <translation>Punto</translation>
     </message>
     <message>
         <source>Line</source>
-        <translation type="vanished">Línea</translation>
+        <translation>Línea</translation>
     </message>
     <message>
         <source>Polygon</source>
-        <translation type="vanished">Polígono</translation>
+        <translation>Polígono</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsnewvectorlayerdialogbase.ui" line="33"/>
@@ -90288,54 +90288,54 @@ Información de error ampliada:
     <name>QgsNodeEditor</name>
     <message>
         <source>Vertex Editor</source>
-        <translation type="vanished">Editor de vértices</translation>
+        <translation>Editor de vértices</translation>
     </message>
 </context>
 <context>
     <name>QgsNodeEditorModel</name>
     <message>
         <source>x</source>
-        <translation type="vanished">X</translation>
+        <translation>X</translation>
     </message>
     <message>
         <source>y</source>
-        <translation type="vanished">Y</translation>
+        <translation>Y</translation>
     </message>
     <message>
         <source>z</source>
-        <translation type="vanished">z</translation>
+        <translation>z</translation>
     </message>
     <message>
         <source>m</source>
-        <translation type="vanished">m</translation>
+        <translation>m</translation>
     </message>
     <message>
         <source>r</source>
-        <translation type="vanished">r</translation>
+        <translation>r</translation>
     </message>
 </context>
 <context>
     <name>QgsNodeTool</name>
     <message>
         <source>Node editor</source>
-        <translation type="vanished">Editor de nodos</translation>
+        <translation>Editor de nodos</translation>
     </message>
     <message>
         <source>Moved vertex</source>
-        <translation type="vanished">Vértice movido</translation>
+        <translation>Vértice movido</translation>
     </message>
     <message>
         <source>Deleted vertex</source>
-        <translation type="vanished">Vértice borrado</translation>
+        <translation>Vértice borrado</translation>
     </message>
     <message>
         <source>Geometry has been cleared. Use the add part tool to set geometry for this feature.</source>
-        <translation type="vanished">Se ha limpiado la geometría. Use la herramienta añadir parte para establecer la geometría para este objeto.</translation>
+        <translation>Se ha limpiado la geometría. Use la herramienta añadir parte para establecer la geometría para este objeto.</translation>
     </message>
     <message numerus="yes">
         <source>Validation finished (%n error(s) found).</source>
         <comment>number of geometry errors</comment>
-        <translation type="vanished">
+        <translation>
             <numerusform>Terminó la validación (encontrado un error).</numerusform>
             <numerusform>Terminó la validación (encontrados %n errores).</numerusform>
         </translation>
@@ -90353,231 +90353,231 @@ Información de error ampliada:
     <name>QgsOSMDownload</name>
     <message>
         <source>No query has been specified.</source>
-        <translation type="vanished">No se ha especificado ninguna consulta.</translation>
+        <translation>No se ha especificado ninguna consulta.</translation>
     </message>
     <message>
         <source>There is already a pending request for data.</source>
-        <translation type="vanished">Ya hay una solicitud pendiente para los datos.</translation>
+        <translation>Ya hay una solicitud pendiente para los datos.</translation>
     </message>
     <message>
         <source>Cannot open output file: %1</source>
-        <translation type="vanished">No se puede abrir el archivo de salida: %1</translation>
+        <translation>No se puede abrir el archivo de salida: %1</translation>
     </message>
 </context>
 <context>
     <name>QgsOSMDownloadDialog</name>
     <message>
         <source>Download OpenStreetMap data</source>
-        <translation type="vanished">Descargar datos de OpenStreetMap</translation>
+        <translation>Descargar datos de OpenStreetMap</translation>
     </message>
     <message>
         <source>Extent</source>
-        <translation type="vanished">Extensión</translation>
+        <translation>Extensión</translation>
     </message>
     <message>
         <source>From map canvas</source>
-        <translation type="vanished">A partir del lienzo del mapa</translation>
+        <translation>A partir del lienzo del mapa</translation>
     </message>
     <message>
         <source>From layer</source>
-        <translation type="vanished">A partir de capa</translation>
+        <translation>A partir de capa</translation>
     </message>
     <message>
         <source>Manual</source>
-        <translation type="vanished">Manual</translation>
+        <translation>Manual</translation>
     </message>
     <message>
         <source>Output file</source>
-        <translation type="vanished">Archivo de salida</translation>
+        <translation>Archivo de salida</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>OpenStreetMap files (*.osm)</source>
-        <translation type="vanished">Archivos de OpenStreetMap (*.osm)</translation>
+        <translation>Archivos de OpenStreetMap (*.osm)</translation>
     </message>
     <message>
         <source>Download error</source>
-        <translation type="vanished">Error de descarga</translation>
+        <translation>Error de descarga</translation>
     </message>
     <message>
         <source>OpenStreetMap download</source>
-        <translation type="vanished">Descarga de OpenStreetMap</translation>
+        <translation>Descarga de OpenStreetMap</translation>
     </message>
     <message>
         <source>Could not transform canvas extent.</source>
-        <translation type="vanished">No se pudo transformar la extensión del lienzo.</translation>
+        <translation>No se pudo transformar la extensión del lienzo.</translation>
     </message>
     <message>
         <source>Could not transform layer extent.</source>
-        <translation type="vanished">No se pudo transformar la extensión de la capa.</translation>
+        <translation>No se pudo transformar la extensión de la capa.</translation>
     </message>
     <message>
         <source>Would you like to abort download?</source>
-        <translation type="vanished">¿Le gustaría abortar la descarga?</translation>
+        <translation>¿Le gustaría abortar la descarga?</translation>
     </message>
     <message>
         <source>Download failed.
 %1</source>
-        <translation type="vanished">Falló la descarga.
+        <translation>Falló la descarga.
 %1</translation>
     </message>
     <message>
         <source>Download has been successful.</source>
-        <translation type="vanished">La descarga ha tenido éxito.</translation>
+        <translation>La descarga ha tenido éxito.</translation>
     </message>
 </context>
 <context>
     <name>QgsOSMExportDialog</name>
     <message>
         <source>Export OpenStreetMap topology to SpatiaLite</source>
-        <translation type="vanished">&Exportar topología de OpenStreetMap a SpatiaLite</translation>
+        <translation>&Exportar topología de OpenStreetMap a SpatiaLite</translation>
     </message>
     <message>
         <source>Input DB file</source>
-        <translation type="vanished">Archivo de base de datos de entrada</translation>
+        <translation>Archivo de base de datos de entrada</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Export type</source>
-        <translation type="vanished">Tipo de exportación</translation>
+        <translation>Tipo de exportación</translation>
     </message>
     <message>
         <source>Points (nodes)</source>
-        <translation type="vanished">Puntos (nodos)</translation>
+        <translation>Puntos (nodos)</translation>
     </message>
     <message>
         <source>Polylines (open ways)</source>
-        <translation type="vanished">Polilíneas (vías abiertas)</translation>
+        <translation>Polilíneas (vías abiertas)</translation>
     </message>
     <message>
         <source>Polygons (closed ways)</source>
-        <translation type="vanished">Polígonos (vías cerradas)</translation>
+        <translation>Polígonos (vías cerradas)</translation>
     </message>
     <message>
         <source>Output layer name</source>
-        <translation type="vanished">Nombre de la capa de salida</translation>
+        <translation>Nombre de la capa de salida</translation>
     </message>
     <message>
         <source>Exported tags</source>
-        <translation type="vanished">Etiquetas exportadas</translation>
+        <translation>Etiquetas exportadas</translation>
     </message>
     <message>
         <source>Load from DB</source>
-        <translation type="vanished">Cargar de la base de datos</translation>
+        <translation>Cargar de la base de datos</translation>
     </message>
     <message>
         <source>Deselect All</source>
-        <translation type="vanished">Deseleccionar todo</translation>
+        <translation>Deseleccionar todo</translation>
     </message>
     <message>
         <source>&Load into canvas when finished</source>
-        <translation type="vanished">&Cargar en la vista del mapa cuando se termine</translation>
+        <translation>&Cargar en la vista del mapa cuando se termine</translation>
     </message>
     <message>
         <source>Tag</source>
-        <translation type="vanished">Etiqueta</translation>
+        <translation>Etiqueta</translation>
     </message>
     <message>
         <source>Count</source>
-        <translation type="vanished">Cuenta</translation>
+        <translation>Cuenta</translation>
     </message>
     <message>
         <source>Not null</source>
-        <translation type="vanished">No nulo</translation>
+        <translation>No nulo</translation>
     </message>
     <message>
         <source>SQLite databases (*.db)</source>
-        <translation type="vanished">Bases de datos SQLite (*.db)</translation>
+        <translation>Bases de datos SQLite (*.db)</translation>
     </message>
     <message>
         <source>Unable to open database:
 %1</source>
-        <translation type="vanished">No se puede abrir la base de datos:
+        <translation>No se puede abrir la base de datos:
 %1</translation>
     </message>
     <message>
         <source>OpenStreetMap export</source>
-        <translation type="vanished">Exportación de OpenStreetMap</translation>
+        <translation>Exportación de OpenStreetMap</translation>
     </message>
     <message>
         <source>Export has been successful.</source>
-        <translation type="vanished">La exportación ha tenido éxito.</translation>
+        <translation>La exportación ha tenido éxito.</translation>
     </message>
     <message>
         <source>Failed to export OSM data:
 %1</source>
-        <translation type="vanished">No se pudieron exportar los datos de OSM:
+        <translation>No se pudieron exportar los datos de OSM:
 %1</translation>
     </message>
     <message>
         <source>Select All</source>
-        <translation type="vanished">Seleccionar todo</translation>
+        <translation>Seleccionar todo</translation>
     </message>
 </context>
 <context>
     <name>QgsOSMImportDialog</name>
     <message>
         <source>OpenStreetMap Import</source>
-        <translation type="vanished">Importación de OpenStreetMap</translation>
+        <translation>Importación de OpenStreetMap</translation>
     </message>
     <message>
         <source>Input XML file (.osm)</source>
-        <translation type="vanished">Archivo XML de entrada (.osm)</translation>
+        <translation>Archivo XML de entrada (.osm)</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Output SpatiaLite DB file</source>
-        <translation type="vanished">Archivo DB de SpatiaLite de salida</translation>
+        <translation>Archivo DB de SpatiaLite de salida</translation>
     </message>
     <message>
         <source>Create connection (SpatiaLite) after import</source>
-        <translation type="vanished">Crear conexión (SpatiaLite) después de la importación</translation>
+        <translation>Crear conexión (SpatiaLite) después de la importación</translation>
     </message>
     <message>
         <source>Connection name</source>
-        <translation type="vanished">Nombre de la conexión</translation>
+        <translation>Nombre de la conexión</translation>
     </message>
     <message>
         <source>OpenStreetMap files (*.osm)</source>
-        <translation type="vanished">Archivos de OpenStreetMap (*.osm)</translation>
+        <translation>Archivos de OpenStreetMap (*.osm)</translation>
     </message>
     <message>
         <source>SQLite databases (*.db)</source>
-        <translation type="vanished">Bases de datos SQLite (*.db)</translation>
+        <translation>Bases de datos SQLite (*.db)</translation>
     </message>
     <message>
         <source>OpenStreetMap import</source>
-        <translation type="vanished">Importación de OpenStreetMap</translation>
+        <translation>Importación de OpenStreetMap</translation>
     </message>
     <message>
         <source>Output database file exists already. Overwrite?</source>
-        <translation type="vanished">El archivo de base de datos de salida ya existe. ¿Sobrescribir?</translation>
+        <translation>El archivo de base de datos de salida ya existe. ¿Sobrescribir?</translation>
     </message>
     <message>
         <source>Failed to import OSM data:
 %1</source>
-        <translation type="vanished">No se pudieron importar los datos de OSM:
+        <translation>No se pudieron importar los datos de OSM:
 %1</translation>
     </message>
     <message>
         <source>Import has been successful.</source>
-        <translation type="vanished">La importación ha tenido éxito.</translation>
+        <translation>La importación ha tenido éxito.</translation>
     </message>
 </context>
 <context>
     <name>QgsOWSConnectionItem</name>
     <message>
         <source>Edit...</source>
-        <translation type="vanished">Editar...</translation>
+        <translation>Editar...</translation>
     </message>
     <message>
         <location filename="../src/providers/ows/qgsowsdataitems.cpp" line="138"/>
@@ -90594,7 +90594,7 @@ Información de error ampliada:
     <name>QgsOWSRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <location filename="../src/providers/ows/qgsowsdataitems.cpp" line="214"/>
@@ -90611,11 +90611,11 @@ Información de error ampliada:
     </message>
     <message>
         <source>&Add</source>
-        <translation type="vanished">&Añadir</translation>
+        <translation>&Añadir</translation>
     </message>
     <message>
         <source>Add selected layers to map</source>
-        <translation type="vanished">Añadir capas seleccionadas al mapa</translation>
+        <translation>Añadir capas seleccionadas al mapa</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsowssourceselect.cpp" line="88"/>
@@ -90659,11 +90659,11 @@ Información de error ampliada:
     </message>
     <message>
         <source>Confirm Delete</source>
-        <translation type="vanished">Confirmar la eliminación</translation>
+        <translation>Confirmar la eliminación</translation>
     </message>
     <message>
         <source>Load connections</source>
-        <translation type="vanished">Cargar conexiones</translation>
+        <translation>Cargar conexiones</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsowssourceselect.cpp" line="310"/>
@@ -90698,11 +90698,11 @@ Información de error ampliada:
     </message>
     <message>
         <source>WMS proxies</source>
-        <translation type="vanished">Proxy del servidor WMS</translation>
+        <translation>Proxy del servidor WMS</translation>
     </message>
     <message>
         <source>Several WMS servers have been added to the server list. Note that if you access the internet via a web proxy, you will need to set the proxy settings in the QGIS options dialog.</source>
-        <translation type="vanished">Se han añadido varios servidores WMS a la lista de servidores. Tenga en cuenta que si accede a internet mediante un proxy necesitará configurarlo en el diálogo de opciones de QGIS.</translation>
+        <translation>Se han añadido varios servidores WMS a la lista de servidores. Tenga en cuenta que si accede a internet mediante un proxy necesitará configurarlo en el diálogo de opciones de QGIS.</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsowssourceselect.cpp" line="715"/>
@@ -90765,7 +90765,7 @@ Información de error ampliada:
     </message>
     <message>
         <source>Delete</source>
-        <translation type="vanished">Borrar</translation>
+        <translation>Borrar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsowssourceselectbase.ui" line="133"/>
@@ -90986,7 +90986,7 @@ Siempre red: siempre cargar desde la red y no chequear si el caché tiene una en
     <name>QgsOfflineEditing</name>
     <message>
         <source>Could not open the spatialite database</source>
-        <translation type="vanished">No se pudo abrir la base de datos de SpatialLite</translation>
+        <translation>No se pudo abrir la base de datos de SpatialLite</translation>
     </message>
     <message>
         <location filename="../src/core/qgsofflineediting.cpp" line="94"/>
@@ -91034,7 +91034,7 @@ Siempre red: siempre cargar desde la red y no chequear si el caché tiene una en
     </message>
     <message>
         <source>Could not open the spatialite logging database</source>
-        <translation type="vanished">No se pudo abrir la base de datos de conexiones de SpatialLite</translation>
+        <translation>No se pudo abrir la base de datos de conexiones de SpatialLite</translation>
     </message>
     <message>
         <location filename="../src/core/qgsofflineediting.cpp" line="508"/>
@@ -91155,7 +91155,7 @@ Siempre red: siempre cargar desde la red y no chequear si el caché tiene una en
     <name>QgsOfflineEditingPluginGuiBase</name>
     <message>
         <source>Create offline project</source>
-        <translation type="vanished">Crear proyecto fuera de línea</translation>
+        <translation>Crear proyecto fuera de línea</translation>
     </message>
     <message>
         <location filename="../src/plugins/offline_editing/offline_editing_plugin_guibase.ui" line="14"/>
@@ -91442,7 +91442,7 @@ por favor, proporcione un nombre nuevo:</translation>
     <name>QgsOgrProvider</name>
     <message>
         <source>Data source is invalid, no layer found (%1)</source>
-        <translation type="vanished">El origen de datos no es válido, no se encontró ninguna capa (%1)</translation>
+        <translation>El origen de datos no es válido, no se encontró ninguna capa (%1)</translation>
     </message>
     <message>
         <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="193"/>
@@ -91520,7 +91520,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Unknown</source>
-        <translation type="vanished">Desconocido</translation>
+        <translation>Desconocido</translation>
     </message>
     <message>
         <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1296"/>
@@ -91564,7 +91564,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Deleting fields is not supported prior to GDAL 1.9.0</source>
-        <translation type="vanished">El borrado de campos no está implementado en GDAL anterior a 1.9.0</translation>
+        <translation>El borrado de campos no está implementado en GDAL anterior a 1.9.0</translation>
     </message>
     <message>
         <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1629"/>
@@ -91584,11 +91584,11 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Renaming fields is not supported prior to GDAL 1.9.0</source>
-        <translation type="vanished">El cambio de nombres de campos no está implementado en GDAL anterior a 1.9.0</translation>
+        <translation>El cambio de nombres de campos no está implementado en GDAL anterior a 1.9.0</translation>
     </message>
     <message>
         <source>OGR error on feature %1: id too large</source>
-        <translation type="vanished">Error de OGR en el objeto %1: ID demasiado grande</translation>
+        <translation>Error de OGR en el objeto %1: ID demasiado grande</translation>
     </message>
     <message>
         <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="1805"/>
@@ -91676,7 +91676,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Original datasource could not be reopened.</source>
-        <translation type="vanished">No se pudo reabrir la fuente de datos original.</translation>
+        <translation>No se pudo reabrir la fuente de datos original.</translation>
     </message>
     <message>
         <location filename="../src/providers/ogr/qgsogrprovider.cpp" line="2119"/>
@@ -91871,154 +91871,154 @@ por favor, proporcione un nombre nuevo:</translation>
     <name>QgsOpenRasterDialog</name>
     <message>
         <source>Open raster</source>
-        <translation type="vanished">Abrir ráster</translation>
+        <translation>Abrir ráster</translation>
     </message>
     <message>
         <source>Raster file:</source>
-        <translation type="vanished">Archivo ráster:</translation>
+        <translation>Archivo ráster:</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Save raster as:</source>
-        <translation type="vanished">Guardar ráster como:</translation>
+        <translation>Guardar ráster como:</translation>
     </message>
     <message>
         <source>Choose a name of the raster</source>
-        <translation type="vanished">Seleccione un nombre del ráster</translation>
+        <translation>Seleccione un nombre del ráster</translation>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <source>The selected file is not a valid raster file.</source>
-        <translation type="vanished">El archivo seleccionado no es un archivo ráster válido.</translation>
+        <translation>El archivo seleccionado no es un archivo ráster válido.</translation>
     </message>
     <message>
         <source>Choose a name for the modified raster</source>
-        <translation type="vanished">Seleccione un nombre para el ráster modificado</translation>
+        <translation>Seleccione un nombre para el ráster modificado</translation>
     </message>
     <message>
         <source>-modified</source>
         <comment>Georeferencer:QgsOpenRasterDialog.cpp - used to modify a user given file name</comment>
-        <translation type="vanished">-modificado</translation>
+        <translation>-modificado</translation>
     </message>
 </context>
 <context>
     <name>QgsOpenVectorLayerDialog</name>
     <message>
         <source>Open an OGR Supported Vector Layer</source>
-        <translation type="vanished">Abrir una capa vectorial admitida por OGR</translation>
+        <translation>Abrir una capa vectorial admitida por OGR</translation>
     </message>
     <message>
         <source>Open Directory</source>
-        <translation type="vanished">Abrir directorio</translation>
+        <translation>Abrir directorio</translation>
     </message>
     <message>
         <source>Are you sure you want to remove the %1 connection and all associated settings?</source>
-        <translation type="vanished">¿Está seguro de que quiere eliminar la conexión %1 y toda su configuración asociada?</translation>
+        <translation>¿Está seguro de que quiere eliminar la conexión %1 y toda su configuración asociada?</translation>
     </message>
     <message>
         <source>Confirm Delete</source>
-        <translation type="vanished">Confirmar borrado</translation>
+        <translation>Confirmar borrado</translation>
     </message>
     <message>
         <source>Add vector layer</source>
-        <translation type="vanished">Añadir capa vectorial</translation>
+        <translation>Añadir capa vectorial</translation>
     </message>
     <message>
         <source>No database selected.</source>
-        <translation type="vanished">Ninguna base de datos seleccionada.</translation>
+        <translation>Ninguna base de datos seleccionada.</translation>
     </message>
     <message>
         <source>Password for </source>
-        <translation type="vanished">Contraseña para </translation>
+        <translation>Contraseña para </translation>
     </message>
     <message>
         <source>Please enter your password:</source>
-        <translation type="vanished">Por favor, introduzca su contraseña:</translation>
+        <translation>Por favor, introduzca su contraseña:</translation>
     </message>
     <message>
         <source>No protocol URI entered.</source>
-        <translation type="vanished">Ninguna URI de protocolo introducida.</translation>
+        <translation>Ninguna URI de protocolo introducida.</translation>
     </message>
     <message>
         <source>No layers selected.</source>
-        <translation type="vanished">Ninguna capa seleccionada.</translation>
+        <translation>Ninguna capa seleccionada.</translation>
     </message>
     <message>
         <source>No directory selected.</source>
-        <translation type="vanished">Ningún directorio seleccionado.</translation>
+        <translation>Ningún directorio seleccionado.</translation>
     </message>
 </context>
 <context>
     <name>QgsOpenVectorLayerDialogBase</name>
     <message>
         <source>Add vector layer</source>
-        <translation type="vanished">Añadir capa vectorial</translation>
+        <translation>Añadir capa vectorial</translation>
     </message>
     <message>
         <source>Source type</source>
-        <translation type="vanished">Tipo de origen</translation>
+        <translation>Tipo de origen</translation>
     </message>
     <message>
         <source>File</source>
-        <translation type="vanished">Archivo</translation>
+        <translation>Archivo</translation>
     </message>
     <message>
         <source>Directory</source>
-        <translation type="vanished">Directorio</translation>
+        <translation>Directorio</translation>
     </message>
     <message>
         <source>Database</source>
-        <translation type="vanished">Base de datos</translation>
+        <translation>Base de datos</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation type="vanished">Protocolo</translation>
+        <translation>Protocolo</translation>
     </message>
     <message>
         <source>Encoding</source>
-        <translation type="vanished">Codificación</translation>
+        <translation>Codificación</translation>
     </message>
     <message>
         <source>Type</source>
-        <translation type="vanished">Tipo</translation>
+        <translation>Tipo</translation>
     </message>
     <message>
         <source>URI</source>
-        <translation type="vanished">URI</translation>
+        <translation>URI</translation>
     </message>
     <message>
         <source>Source</source>
-        <translation type="vanished">Fuente</translation>
+        <translation>Fuente</translation>
     </message>
     <message>
         <source>Dataset</source>
-        <translation type="vanished">Conjunto de datos</translation>
+        <translation>Conjunto de datos</translation>
     </message>
     <message>
         <source>Browse</source>
-        <translation type="vanished">Explorar</translation>
+        <translation>Explorar</translation>
     </message>
     <message>
         <source>Connections</source>
-        <translation type="vanished">Conexiones</translation>
+        <translation>Conexiones</translation>
     </message>
     <message>
         <source>New</source>
-        <translation type="vanished">Nueva</translation>
+        <translation>Nueva</translation>
     </message>
     <message>
         <source>Edit</source>
-        <translation type="vanished">Editar</translation>
+        <translation>Editar</translation>
     </message>
     <message>
         <source>Delete</source>
-        <translation type="vanished">Borrar</translation>
+        <translation>Borrar</translation>
     </message>
 </context>
 <context>
@@ -92038,7 +92038,7 @@ por favor, proporcione un nombre nuevo:</translation>
     <name>QgsOptions</name>
     <message>
         <source>Identify highlight color</source>
-        <translation type="vanished">Color de resaltado de identificación</translation>
+        <translation>Color de resaltado de identificación</translation>
     </message>
     <message>
         <location filename="../src/app/qgsoptions.cpp" line="222"/>
@@ -92346,15 +92346,15 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Cache cleared</source>
-        <translation type="vanished">Caché limpiada</translation>
+        <translation>Caché limpiada</translation>
     </message>
     <message>
         <source>Content cache has been cleared</source>
-        <translation type="vanished">Se ha limpiado el contenido de la caché</translation>
+        <translation>Se ha limpiado el contenido de la caché</translation>
     </message>
     <message>
         <source>Connection authentication cache has been cleared</source>
-        <translation type="vanished">Se ha limpiado la caché de autenticación de conexión</translation>
+        <translation>Se ha limpiado la caché de autenticación de conexión</translation>
     </message>
     <message>
         <location filename="../src/app/qgsoptions.cpp" line="2190"/>
@@ -92373,19 +92373,19 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Set selection color</source>
-        <translation type="vanished">Establecer color de selección</translation>
+        <translation>Establecer color de selección</translation>
     </message>
     <message>
         <source>Set canvas color</source>
-        <translation type="vanished">Establecer color del lienzo</translation>
+        <translation>Establecer color del lienzo</translation>
     </message>
     <message>
         <source>Set measuring tool color</source>
-        <translation type="vanished">Establecer color de la herramienta de medida</translation>
+        <translation>Establecer color de la herramienta de medida</translation>
     </message>
     <message>
         <source>Select grid color</source>
-        <translation type="vanished">Seleccionar color de cuadrícula</translation>
+        <translation>Seleccionar color de cuadrícula</translation>
     </message>
     <message>
         <location filename="../src/app/qgsoptions.cpp" line="799"/>
@@ -92412,15 +92412,15 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>To vertex</source>
-        <translation type="vanished">A vértice</translation>
+        <translation>A vértice</translation>
     </message>
     <message>
         <source>To segment</source>
-        <translation type="vanished">A segmento</translation>
+        <translation>A segmento</translation>
     </message>
     <message>
         <source>To vertex and segment</source>
-        <translation type="vanished">A vértice y segmento</translation>
+        <translation>A vértice y segmento</translation>
     </message>
     <message>
         <location filename="../src/app/qgsoptions.cpp" line="876"/>
@@ -92467,35 +92467,35 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Select palette file</source>
-        <translation type="vanished">Seleccionar archivo de paleta</translation>
+        <translation>Seleccionar archivo de paleta</translation>
     </message>
     <message>
         <source>Invalid file</source>
-        <translation type="vanished">Archivo no válido</translation>
+        <translation>Archivo no válido</translation>
     </message>
     <message>
         <source>Error, file does not exist or is not readable</source>
-        <translation type="vanished">Error, el archivo no existe o no se puede leer</translation>
+        <translation>Error, el archivo no existe o no se puede leer</translation>
     </message>
     <message>
         <source>Error, no colors found in palette file</source>
-        <translation type="vanished">Error, no se han encontrado colores en el archivo de paleta</translation>
+        <translation>Error, no se han encontrado colores en el archivo de paleta</translation>
     </message>
     <message>
         <source>Palette file</source>
-        <translation type="vanished">Archivo de paleta</translation>
+        <translation>Archivo de paleta</translation>
     </message>
     <message>
         <source>Error exporting</source>
-        <translation type="vanished">Error al exportar</translation>
+        <translation>Error al exportar</translation>
     </message>
     <message>
         <source>Error writing palette file</source>
-        <translation type="vanished">Error al escribir el archivo de paleta</translation>
+        <translation>Error al escribir el archivo de paleta</translation>
     </message>
     <message>
         <source>Invalid scale</source>
-        <translation type="vanished">Escala no válida</translation>
+        <translation>Escala no válida</translation>
     </message>
     <message>
         <location filename="../src/app/qgsoptions.cpp" line="2259"/>
@@ -92529,7 +92529,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Mitre</source>
-        <translation type="vanished">Inglete</translation>
+        <translation>Inglete</translation>
     </message>
     <message>
         <location filename="../src/app/qgsoptions.cpp" line="935"/>
@@ -92538,7 +92538,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Save default project</source>
-        <translation type="vanished">Guardar proyecto predeterminado</translation>
+        <translation>Guardar proyecto predeterminado</translation>
     </message>
     <message>
         <location filename="../src/app/qgsoptions.cpp" line="1016"/>
@@ -92582,7 +92582,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Restore UI defaults</source>
-        <translation type="vanished">Restablecer valores predeterminados de la IU</translation>
+        <translation>Restablecer valores predeterminados de la IU</translation>
     </message>
     <message>
         <location filename="../src/app/qgsoptions.cpp" line="1664"/>
@@ -92772,7 +92772,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Locale</source>
-        <translation type="vanished">Idioma</translation>
+        <translation>Idioma</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="256"/>
@@ -92837,7 +92837,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Show tips at start up</source>
-        <translation type="vanished">Mostrar consejos en el inicio</translation>
+        <translation>Mostrar consejos en el inicio</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="665"/>
@@ -92866,7 +92866,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="810"/>
@@ -92941,7 +92941,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>QSettings</source>
-        <translation type="vanished">QSettings</translation>
+        <translation>QSettings</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="1334"/>
@@ -93047,7 +93047,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Canvas rotation support (restart required)</source>
-        <translation type="vanished">Soporte para rotación del lienzo (requiere reiniciar)</translation>
+        <translation>Soporte para rotación del lienzo (requiere reiniciar)</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="719"/>
@@ -93061,7 +93061,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Composer Paths</source>
-        <translation type="vanished">Rutas del diseñador</translation>
+        <translation>Rutas del diseñador</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="1318"/>
@@ -93075,11 +93075,11 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Open attribute table in a dock window (QGIS restart required)</source>
-        <translation type="vanished">Abrir tabla de atributos en una ventana adosada (requiere reiniciar QGIS)</translation>
+        <translation>Abrir tabla de atributos en una ventana adosada (requiere reiniciar QGIS)</translation>
     </message>
     <message>
         <source>Attribute table behaviour</source>
-        <translation type="vanished">Comportamiento de tablas de atributos</translation>
+        <translation>Comportamiento de tablas de atributos</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="1805"/>
@@ -93278,7 +93278,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Add PostGIS layers with double click and select in extended mode</source>
-        <translation type="vanished">Añadir capas PostGIS con doble clic y seleccionar en modo extendido</translation>
+        <translation>Añadir capas PostGIS con doble clic y seleccionar en modo extendido</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="2012"/>
@@ -93312,7 +93312,7 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>Max cores to use:</source>
-        <translation type="vanished">Máximo de núcleos a usar:</translation>
+        <translation>Máximo de núcleos a usar:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="2220"/>
@@ -93321,11 +93321,11 @@ por favor, proporcione un nombre nuevo:</translation>
     </message>
     <message>
         <source>This algorithm only is applied to simplify on local side</source>
-        <translation type="vanished">Este algoritmo solo se aplica para simplificar del lado local</translation>
+        <translation>Este algoritmo solo se aplica para simplificar del lado local</translation>
     </message>
     <message>
         <source>Simplification algorithm: </source>
-        <translation type="vanished">Algoritmo de simplificación:</translation>
+        <translation>Algoritmo de simplificación:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="2345"/>
@@ -93587,7 +93587,7 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Minimum line / outline width in millimeters.</source>
-        <translation type="vanished">Anchura mínima de líneas / líneas de contorno en milímetros.</translation>
+        <translation>Anchura mínima de líneas / líneas de contorno en milímetros.</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="3287"/>
@@ -93661,7 +93661,7 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Don't update rubber band during node editing</source>
-        <translation type="vanished">No actualizar la banda elástica durante la edición de nodos</translation>
+        <translation>No actualizar la banda elástica durante la edición de nodos</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="1606"/>
@@ -93675,15 +93675,15 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Automatically enable 'on the fly' reprojection if layers ha&ve different CRS</source>
-        <translation type="vanished">Habilitar automáticamente la reproyección «al &vuelo» si las capas tienen un SRC diferente.</translation>
+        <translation>Habilitar automáticamente la reproyección «al &vuelo» si las capas tienen un SRC diferente.</translation>
     </message>
     <message>
         <source>O&verride system locale</source>
-        <translation type="vanished">I&gnorar el idioma del sistema</translation>
+        <translation>I&gnorar el idioma del sistema</translation>
     </message>
     <message>
         <source><b>Note:</b> Enabling / changing override on local requires an application restart</source>
-        <translation type="vanished"><b>Nota:</b> Habilitar/cambiar el ignorar idioma requiere reiniciar la aplicación</translation>
+        <translation><b>Nota:</b> Habilitar/cambiar el ignorar idioma requiere reiniciar la aplicación</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="4795"/>
@@ -93747,7 +93747,7 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source><html><head/><body><p>Changes on this page are dangerous and can break your QGIS installation in various ways. Any change you make is applied immediately, without clicking the <span style=" font-style:italic;">ok</span> button.</p></body></html></source>
-        <translation type="vanished"><html><head/><body><p>Los cambios en esta página son peligrosos y pueden romper su instalación de QGIS de diversas formas. Cualquier cambio que haga se aplica de forma inmediata, sin hacer clic en el botón <span style=" font-style:italic;">ok</span>.</p></body></html></translation>
+        <translation><html><head/><body><p>Los cambios en esta página son peligrosos y pueden romper su instalación de QGIS de diversas formas. Cualquier cambio que haga se aplica de forma inmediata, sin hacer clic en el botón <span style=" font-style:italic;">ok</span>.</p></body></html></translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="5180"/>
@@ -93761,7 +93761,7 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Use live-updating color chooser dialogs</source>
-        <translation type="vanished">Usar diálogos de selección de color actualizados en vivo</translation>
+        <translation>Usar diálogos de selección de color actualizados en vivo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="1971"/>
@@ -93775,11 +93775,11 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Composer</source>
-        <translation type="vanished">Diseñador</translation>
+        <translation>Diseñador</translation>
     </message>
     <message>
         <source>Add Oracle layers with double click and select in extended mode</source>
-        <translation type="vanished">Añadir capas de Oracle con doble clic y seleccionar en modo extendido</translation>
+        <translation>Añadir capas de Oracle con doble clic y seleccionar en modo extendido</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="1992"/>
@@ -93818,7 +93818,7 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Double click action in legend</source>
-        <translation type="vanished">Acción del doble clic en el panel Capas</translation>
+        <translation>Acción del doble clic en el panel Capas</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="3003"/>
@@ -93832,23 +93832,23 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Bold layer names</source>
-        <translation type="vanished">Poner en negrita los nombres de capa</translation>
+        <translation>Poner en negrita los nombres de capa</translation>
     </message>
     <message>
         <source>Display classification attribute names</source>
-        <translation type="vanished">Mostrar nombres de atributos de clasificación</translation>
+        <translation>Mostrar nombres de atributos de clasificación</translation>
     </message>
     <message>
         <source>Bold group names</source>
-        <translation type="vanished">Poner en negrita los nombres de grupo</translation>
+        <translation>Poner en negrita los nombres de grupo</translation>
     </message>
     <message>
         <source>Create raster icons (may be slow)</source>
-        <translation type="vanished">Crear iconos de ráster (puede ser lento)</translation>
+        <translation>Crear iconos de ráster (puede ser lento)</translation>
     </message>
     <message>
         <source>Legend item styles</source>
-        <translation type="vanished">Estilos de elementos de la leyenda</translation>
+        <translation>Estilos de elementos de la leyenda</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="3032"/>
@@ -93907,7 +93907,7 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Panning and zooming</source>
-        <translation type="vanished">Desplazar y zum</translation>
+        <translation>Desplazar y zum</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="3385"/>
@@ -93926,7 +93926,7 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Remove selected</source>
-        <translation type="vanished">Eliminar lo seleccionado</translation>
+        <translation>Eliminar lo seleccionado</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="3487"/>
@@ -93940,7 +93940,7 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Composition defaults</source>
-        <translation type="vanished">Predeterminados de la composición</translation>
+        <translation>Predeterminados de la composición</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="4328"/>
@@ -94060,7 +94060,7 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Open snapping options in a dock window (QGIS restart required)</source>
-        <translation type="vanished">Abrir opciones de autoensamblado en una ventana adosada (requiere reiniciar QGIS)</translation>
+        <translation>Abrir opciones de autoensamblado en una ventana adosada (requiere reiniciar QGIS)</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="4102"/>
@@ -94164,11 +94164,11 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Automatically enable 'on the fly' reprojection if CRS of a new added layer differ from CRS of layer(s) already present. CRS of present layer(s) will be used.</source>
-        <translation type="vanished">Activar automáticamente reproyección 'en directo' si el SRC de una nueva capa añadida difiere del SRC de la(s) capa(s) actuales. El SRC de la(s) capa(s) será el usado.  </translation>
+        <translation>Activar automáticamente reproyección 'en directo' si el SRC de una nueva capa añadida difiere del SRC de la(s) capa(s) actuales. El SRC de la(s) capa(s) será el usado.  </translation>
     </message>
     <message>
         <source>Enable 'on the &fly' reprojection by default</source>
-        <translation type="vanished">Activar reproyección al &vuelo por defecto</translation>
+        <translation>Activar reproyección al &vuelo por defecto</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="3571"/>
@@ -94182,23 +94182,23 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Source CRS</source>
-        <translation type="vanished">SRC de origen</translation>
+        <translation>SRC de origen</translation>
     </message>
     <message>
         <source>Destination CRS</source>
-        <translation type="vanished">SRC de destino</translation>
+        <translation>SRC de destino</translation>
     </message>
     <message>
         <source>Source datum transform</source>
-        <translation type="vanished">Transformar dátum de origen</translation>
+        <translation>Transformar dátum de origen</translation>
     </message>
     <message>
         <source>Destination datum transform</source>
-        <translation type="vanished">Transformar dátum de destino</translation>
+        <translation>Transformar dátum de destino</translation>
     </message>
     <message>
         <source>Ask for datum transformation when no default is defined</source>
-        <translation type="vanished">Preguntar la transformación de dátum cuando no haya una predefinida</translation>
+        <translation>Preguntar la transformación de dátum cuando no haya una predefinida</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="374"/>
@@ -94207,11 +94207,11 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Additional Info</source>
-        <translation type="vanished">Información adicional</translation>
+        <translation>Información adicional</translation>
     </message>
     <message>
         <source>Detected active locale on your system:</source>
-        <translation type="vanished">Idioma activo detectado en su sistema:</translation>
+        <translation>Idioma activo detectado en su sistema:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="4763"/>
@@ -94255,7 +94255,7 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Clear</source>
-        <translation type="vanished">Limpiar</translation>
+        <translation>Limpiar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="5074"/>
@@ -94269,15 +94269,15 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>User</source>
-        <translation type="vanished">Usuario</translation>
+        <translation>Usuario</translation>
     </message>
     <message>
         <source>Leave this blank if no proxy username / password are required</source>
-        <translation type="vanished">Dejar en blanco si no se requiere nombre de usuario/contraseña de proxy</translation>
+        <translation>Dejar en blanco si no se requiere nombre de usuario/contraseña de proxy</translation>
     </message>
     <message>
         <source>Password</source>
-        <translation type="vanished">Contraseña</translation>
+        <translation>Contraseña</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="5023"/>
@@ -94291,11 +94291,11 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     </message>
     <message>
         <source>Use a default CRS</source>
-        <translation type="vanished">Usar un SRC predeterminado</translation>
+        <translation>Usar un SRC predeterminado</translation>
     </message>
     <message>
         <source>Always start new projects with following CRS</source>
-        <translation type="vanished">Comenzar siempre los proyectos nuevos con el siguiente SRC</translation>
+        <translation>Comenzar siempre los proyectos nuevos con el siguiente SRC</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoptionsbase.ui" line="5033"/>
@@ -94307,7 +94307,7 @@ Cuanto mayor sea el número, más rápido variará el zoom con la rueda del rat
     <name>QgsOptionsDialogBase</name>
     <message>
         <source>Missing objects</source>
-        <translation type="vanished">Faltan objetos</translation>
+        <translation>Faltan objetos</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsoptionsdialogbase.cpp" line="396"/>
@@ -94329,11 +94329,11 @@ Faltan algunos objetos de la plantilla de la IU:</translation>
     <name>QgsOracleColumnTypeThread</name>
     <message>
         <source>Retrieving tables of %1...</source>
-        <translation type="vanished">Recopilando tablas de %1...</translation>
+        <translation>Recopilando tablas de %1...</translation>
     </message>
     <message>
         <source>Scanning column %1.%2.%3...</source>
-        <translation type="vanished">Escaneando columna %1.%2.%3...</translation>
+        <translation>Escaneando columna %1.%2.%3...</translation>
     </message>
     <message>
         <location filename="../src/providers/oracle/qgsoraclecolumntypethread.cpp" line="52"/>
@@ -94381,7 +94381,7 @@ Faltan algunos objetos de la plantilla de la IU:</translation>
         <source>SQL:%1
 error:%2
 </source>
-        <translation type="vanished">SQL:%1
+        <translation>SQL:%1
 error:%2
 </translation>
     </message>
@@ -94390,7 +94390,7 @@ error:%2
 SQL:%1
 error:%2
 </source>
-        <translation type="vanished">Falló la consulta de las tablas disponibles.
+        <translation>Falló la consulta de las tablas disponibles.
 SQL: %1
 error: %2</translation>
     </message>
@@ -94497,7 +94497,7 @@ error: %2
     </message>
     <message>
         <source>Edit Connection...</source>
-        <translation type="vanished">Editar conexión...</translation>
+        <translation>Editar conexión...</translation>
     </message>
     <message>
         <location filename="../src/providers/oracle/qgsoracledataitems.cpp" line="185"/>
@@ -94516,15 +94516,15 @@ error: %2
     </message>
     <message>
         <source>Copying features...</source>
-        <translation type="vanished">Copiando objetos...</translation>
+        <translation>Copiando objetos...</translation>
     </message>
     <message>
         <source>Abort</source>
-        <translation type="vanished">Abortar</translation>
+        <translation>Abortar</translation>
     </message>
     <message>
         <source>Import layer</source>
-        <translation type="vanished">Importar capa</translation>
+        <translation>Importar capa</translation>
     </message>
     <message>
         <location filename="../src/providers/oracle/qgsoracledataitems.cpp" line="242"/>
@@ -94533,7 +94533,7 @@ error: %2
     </message>
     <message>
         <source>%1: OK!</source>
-        <translation type="vanished">%1: ¡Correcto!</translation>
+        <translation>%1: ¡Correcto!</translation>
     </message>
     <message>
         <location filename="../src/providers/oracle/qgsoracledataitems.cpp" line="267"/>
@@ -94544,7 +94544,7 @@ error: %2
     </message>
     <message>
         <source>Import cancelled.</source>
-        <translation type="vanished">Importación cancelada.</translation>
+        <translation>Importación cancelada.</translation>
     </message>
     <message>
         <location filename="../src/providers/oracle/qgsoracledataitems.cpp" line="281"/>
@@ -94581,7 +94581,7 @@ error: %2
     <name>QgsOracleNewConnection</name>
     <message>
         <source>Saving passwords</source>
-        <translation type="vanished">Guardar contraseñas</translation>
+        <translation>Guardar contraseñas</translation>
     </message>
     <message>
         <location filename="../src/providers/oracle/qgsoraclenewconnection.cpp" line="95"/>
@@ -94611,7 +94611,7 @@ error: %2
     </message>
     <message>
         <source>Save connection</source>
-        <translation type="vanished">Guardar conexión</translation>
+        <translation>Guardar conexión</translation>
     </message>
     <message>
         <location filename="../src/providers/oracle/qgsoraclenewconnection.cpp" line="108"/>
@@ -94620,17 +94620,17 @@ error: %2
     </message>
     <message>
         <source>Test connection</source>
-        <translation type="vanished">Probar conexión</translation>
+        <translation>Probar conexión</translation>
     </message>
     <message>
         <source>Connection to %1 was successful</source>
-        <translation type="vanished">La conexión a %1 tuvo éxito</translation>
+        <translation>La conexión a %1 tuvo éxito</translation>
     </message>
     <message>
         <source>Connection failed - consult message log for details.
 
 </source>
-        <translation type="vanished">Falló la conexión - consulte el registro de mensajes para más detalles.
+        <translation>Falló la conexión - consulte el registro de mensajes para más detalles.
 
 </translation>
     </message>
@@ -94639,7 +94639,7 @@ error: %2
     <name>QgsOracleNewConnectionBase</name>
     <message>
         <source>Create a New Oracle connection</source>
-        <translation type="vanished">Crear una nueva conexión a Oracle</translation>
+        <translation>Crear una nueva conexión a Oracle</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsoraclenewconnectionbase.ui" line="54"/>
@@ -94800,11 +94800,11 @@ error: %2
     <name>QgsOraclePlugin</name>
     <message>
         <source>Add Oracle GeoRaster Layer...</source>
-        <translation type="vanished">Añadir capa GeoRaster de Oracle...</translation>
+        <translation>Añadir capa GeoRaster de Oracle...</translation>
     </message>
     <message>
         <source>Add a Oracle Spatial GeoRaster...</source>
-        <translation type="vanished">Abrir un GeoRaster espacial de Oracle...</translation>
+        <translation>Abrir un GeoRaster espacial de Oracle...</translation>
     </message>
 </context>
 <context>
@@ -94955,7 +94955,7 @@ error: %2
     </message>
     <message>
         <source>No spatial index on column %1 found - expect poor performance.</source>
-        <translation type="vanished">No se encontró ningún índice espacial en la columna %1.%2.%3 - se espera un rendimiento pobre. {1 ?}</translation>
+        <translation>No se encontró ningún índice espacial en la columna %1.%2.%3 - se espera un rendimiento pobre. {1 ?}</translation>
     </message>
     <message>
         <location filename="../src/providers/oracle/qgsoracleprovider.cpp" line="706"/>
@@ -95322,7 +95322,7 @@ SQL: %3</translation>
         <source>Could not update metadata for %1.%2.
 SQL:%3
 Error: %4</source>
-        <translation type="vanished">No se pudieron actualizar los metadatos para %1.%2.
+        <translation>No se pudieron actualizar los metadatos para %1.%2.
 SQL: %3
 Error: %4</translation>
     </message>
@@ -95330,7 +95330,7 @@ Error: %4</translation>
         <source>Could not insert metadata for %1.%2.
 SQL:%3
 Error: %4</source>
-        <translation type="vanished">No se pudieron insertar metadatos para %1.%2.
+        <translation>No se pudieron insertar metadatos para %1.%2.
 SQL: %3
 Error: %4</translation>
     </message>
@@ -95338,7 +95338,7 @@ Error: %4</translation>
         <source>Creation spatial index failed.
 SQL:%1
 Error: %2</source>
-        <translation type="vanished">Falló la creación del índice espacial.
+        <translation>Falló la creación del índice espacial.
 SQL: %1
 Error: %2</translation>
     </message>
@@ -95346,7 +95346,7 @@ Error: %2</translation>
         <source>Rebuild of spatial index failed.
 SQL:%1
 Error: %2</source>
-        <translation type="vanished">Falló la reconstrucción del índice espacial.
+        <translation>Falló la reconstrucción del índice espacial.
 SQL: %1
 Error: %2</translation>
     </message>
@@ -95399,7 +95399,7 @@ Error: %2</translation>
         <source>Drop created table %1 failed.
 SQL:%2
 Error: %3</source>
-        <translation type="vanished">Fallo al quitar la tabla creada %1.
+        <translation>Fallo al quitar la tabla creada %1.
 SQL: %2
 Error: %3</translation>
     </message>
@@ -95412,7 +95412,7 @@ Error: %3</translation>
         <source>Lookup of Oracle SRID %1 failed.
 SQL:%2
 Error:%3</source>
-        <translation type="vanished">Falló la búsqueda del SRID %1 de Oracle.
+        <translation>Falló la búsqueda del SRID %1 de Oracle.
 SQL:%2
 Error:%3</translation>
     </message>
@@ -95437,7 +95437,7 @@ Error: %2</translation>
     <name>QgsOracleRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <location filename="../src/providers/oracle/qgsoracledataitems.cpp" line="466"/>
@@ -95449,27 +95449,27 @@ Error: %2</translation>
     <name>QgsOracleSelectGeoraster</name>
     <message>
         <source>Are you sure you want to remove the %1 connection and all associated settings?</source>
-        <translation type="vanished">¿Seguro que quiere eliminar la conexión %1 y toda su configuración asociada?</translation>
+        <translation>¿Seguro que quiere eliminar la conexión %1 y toda su configuración asociada?</translation>
     </message>
     <message>
         <source>Confirm Delete</source>
-        <translation type="vanished">Confirmar borrado</translation>
+        <translation>Confirmar borrado</translation>
     </message>
     <message>
         <source>Password for %1/<password>@%2</source>
-        <translation type="vanished">Contraseña para %1/<password>@%2</translation>
+        <translation>Contraseña para %1/<password>@%2</translation>
     </message>
     <message>
         <source>Please enter your password:</source>
-        <translation type="vanished">Por favor, introduzca su contraseña:</translation>
+        <translation>Por favor, introduzca su contraseña:</translation>
     </message>
     <message>
         <source>Open failed</source>
-        <translation type="vanished">Fallo al abrir</translation>
+        <translation>Fallo al abrir</translation>
     </message>
     <message>
         <source>The connection to %1 failed. Please verify your connection parameters. Make sure you have the GDAL GeoRaster plugin installed.</source>
-        <translation type="vanished">Falló la conexión a %1. Por favor, verifique sus parámetros de conexión. Asegúrese de que tiene instalado el complemento GeoRaster de GDAL.</translation>
+        <translation>Falló la conexión a %1. Por favor, verifique sus parámetros de conexión. Asegúrese de que tiene instalado el complemento GeoRaster de GDAL.</translation>
     </message>
 </context>
 <context>
@@ -95481,7 +95481,7 @@ Error: %2</translation>
     </message>
     <message>
         <source>&Add</source>
-        <translation type="vanished">&Añadir</translation>
+        <translation>&Añadir</translation>
     </message>
     <message>
         <location filename="../src/providers/oracle/qgsoraclesourceselect.cpp" line="186"/>
@@ -95570,7 +95570,7 @@ Error: %2</translation>
     </message>
     <message>
         <source>Load connections</source>
-        <translation type="vanished">Cargar conexiones</translation>
+        <translation>Cargar conexiones</translation>
     </message>
     <message>
         <location filename="../src/providers/oracle/qgsoraclesourceselect.cpp" line="289"/>
@@ -95602,11 +95602,11 @@ Error: %2</translation>
     <name>QgsOracleSourceSelectDelegate</name>
     <message>
         <source>Select...</source>
-        <translation type="vanished">Seleccionar...</translation>
+        <translation>Seleccionar...</translation>
     </message>
     <message>
         <source>Enter...</source>
-        <translation type="vanished">Introducir...</translation>
+        <translation>Introducir...</translation>
     </message>
     <message>
         <location filename="../src/providers/oracle/qgsoraclesourceselect.cpp" line="143"/>
@@ -95693,11 +95693,11 @@ Error: %2</translation>
     </message>
     <message>
         <source>Select...</source>
-        <translation type="vanished">Seleccionar...</translation>
+        <translation>Seleccionar...</translation>
     </message>
     <message>
         <source>Enter...</source>
-        <translation type="vanished">Introducir...</translation>
+        <translation>Introducir...</translation>
     </message>
     <message>
         <location filename="../src/providers/oracle/qgsoracletablemodel.cpp" line="109"/>
@@ -95737,7 +95737,7 @@ Error: %2</translation>
     </message>
     <message>
         <source>Organize table columns</source>
-        <translation type="vanished">Organizar columnas de la tabla</translation>
+        <translation>Organizar columnas de la tabla</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsorganizetablecolumnsdialog.ui" line="14"/>
@@ -95756,7 +95756,7 @@ Error: %2</translation>
     </message>
     <message>
         <source>Unselect all</source>
-        <translation type="vanished">Deseleccionar todo</translation>
+        <translation>Deseleccionar todo</translation>
     </message>
 </context>
 <context>
@@ -95768,7 +95768,7 @@ Error: %2</translation>
     </message>
     <message>
         <source>Edit Connection...</source>
-        <translation type="vanished">Editar conexión...</translation>
+        <translation>Editar conexión...</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresdataitems.cpp" line="115"/>
@@ -95777,7 +95777,7 @@ Error: %2</translation>
     </message>
     <message>
         <source>Create Schema...</source>
-        <translation type="vanished">Crear esquema...</translation>
+        <translation>Crear esquema...</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresdataitems.cpp" line="111"/>
@@ -95825,23 +95825,23 @@ Error: %2</translation>
     </message>
     <message>
         <source>Copying features...</source>
-        <translation type="vanished">Copiando objetos...</translation>
+        <translation>Copiando objetos...</translation>
     </message>
     <message>
         <source>Abort</source>
-        <translation type="vanished">Abortar</translation>
+        <translation>Abortar</translation>
     </message>
     <message>
         <source>Import layer</source>
-        <translation type="vanished">Importar capa</translation>
+        <translation>Importar capa</translation>
     </message>
     <message>
         <source>%1: Not a vector layer!</source>
-        <translation type="vanished">%1: ¡No es una capa vectorial!</translation>
+        <translation>%1: ¡No es una capa vectorial!</translation>
     </message>
     <message>
         <source>%1: OK!</source>
-        <translation type="vanished">%1: ¡Correcto!</translation>
+        <translation>%1: ¡Correcto!</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresdataitems.cpp" line="253"/>
@@ -95852,7 +95852,7 @@ Error: %2</translation>
     </message>
     <message>
         <source>Import cancelled.</source>
-        <translation type="vanished">Importación cancelada.</translation>
+        <translation>Importación cancelada.</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresdataitems.cpp" line="264"/>
@@ -95896,7 +95896,7 @@ Error: %2</translation>
     </message>
     <message>
         <source>Rename %1...</source>
-        <translation type="vanished">Cambiar nombre de %1...</translation>
+        <translation>Cambiar nombre de %1...</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresdataitems.cpp" line="312"/>
@@ -95987,7 +95987,7 @@ Error: %2</translation>
     <name>QgsPGRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresdataitems.cpp" line="732"/>
@@ -96024,7 +96024,7 @@ Error: %2</translation>
     </message>
     <message>
         <source>Rename Schema...</source>
-        <translation type="vanished">Cambiar nombre de esquema...</translation>
+        <translation>Cambiar nombre de esquema...</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresdataitems.cpp" line="544"/>
@@ -96166,7 +96166,7 @@ Error: %2</translation>
     </message>
     <message>
         <source>Select color</source>
-        <translation type="vanished">Seleccionar color</translation>
+        <translation>Seleccionar color</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgspalettedrendererwidget.cpp" line="234"/>
@@ -96190,11 +96190,11 @@ Error: %2</translation>
     </message>
     <message>
         <source>Open file</source>
-        <translation type="vanished">Abrir archivo</translation>
+        <translation>Abrir archivo</translation>
     </message>
     <message>
         <source>Invalid file</source>
-        <translation type="vanished">Archivo no válido</translation>
+        <translation>Archivo no válido</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgspalettedrendererwidget.cpp" line="366"/>
@@ -96203,7 +96203,7 @@ Error: %2</translation>
     </message>
     <message>
         <source>Save file</source>
-        <translation type="vanished">Guardar archivo</translation>
+        <translation>Guardar archivo</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgspalettedrendererwidget.cpp" line="375"/>
@@ -96212,7 +96212,7 @@ Error: %2</translation>
     </message>
     <message>
         <source>Write access denied</source>
-        <translation type="vanished">Acceso de escritura denegado</translation>
+        <translation>Acceso de escritura denegado</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgspalettedrendererwidget.cpp" line="396"/>
@@ -96230,11 +96230,11 @@ Error: %2</translation>
     </message>
     <message>
         <source>Calculating...</source>
-        <translation type="vanished">Calculando...</translation>
+        <translation>Calculando...</translation>
     </message>
     <message>
         <source>Confirm Delete</source>
-        <translation type="vanished">Confirmar borrado</translation>
+        <translation>Confirmar borrado</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgspalettedrendererwidget.cpp" line="458"/>
@@ -96308,15 +96308,15 @@ Should the existing classes be deleted?</source>
     </message>
     <message>
         <source>Value</source>
-        <translation type="vanished">Valor</translation>
+        <translation>Valor</translation>
     </message>
     <message>
         <source>Color</source>
-        <translation type="vanished">Color</translation>
+        <translation>Color</translation>
     </message>
     <message>
         <source>Label</source>
-        <translation type="vanished">Etiqueta</translation>
+        <translation>Etiqueta</translation>
     </message>
 </context>
 <context>
@@ -96488,21 +96488,21 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     </message>
     <message>
         <source>Configurations</source>
-        <translation type="vanished">Configuraciones</translation>
+        <translation>Configuraciones</translation>
     </message>
     <message>
         <source>Saving passwords</source>
-        <translation type="vanished">Guardar contraseñas</translation>
+        <translation>Guardar contraseñas</translation>
     </message>
     <message>
         <source>WARNING: You have opted to save your password. It will be stored in plain text in your project files and in your home directory on Unix-like systems, or in your user profile on Windows. If you do not want this to happen, please press the Cancel button.
 </source>
-        <translation type="vanished">AVISO: ha elegido guardar su contraseña. Se guardará en texto plano en sus archivos de proyecto y en su directorio personal en sistemas tipo UNIX o en su perfil de usuario en Windows. Si no quiere que eso pase, por favor pulse el botón Cancelar.
+        <translation>AVISO: ha elegido guardar su contraseña. Se guardará en texto plano en sus archivos de proyecto y en su directorio personal en sistemas tipo UNIX o en su perfil de usuario en Windows. Si no quiere que eso pase, por favor pulse el botón Cancelar.
 </translation>
     </message>
     <message>
         <source>Save connection</source>
-        <translation type="vanished">Guardar conexión</translation>
+        <translation>Guardar conexión</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspgnewconnection.cpp" line="130"/>
@@ -96511,17 +96511,17 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     </message>
     <message>
         <source>Test connection</source>
-        <translation type="vanished">Probar conexión</translation>
+        <translation>Probar conexión</translation>
     </message>
     <message>
         <source>Connection to %1 was successful</source>
-        <translation type="vanished">La conexión a %1 tuvo éxito</translation>
+        <translation>La conexión a %1 tuvo éxito</translation>
     </message>
     <message>
         <source>Connection failed - consult message log for details.
 
 </source>
-        <translation type="vanished">Falló la conexión - consulte el registro de mensajes para más detalles.
+        <translation>Falló la conexión - consulte el registro de mensajes para más detalles.
 
 </translation>
     </message>
@@ -96530,7 +96530,7 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     <name>QgsPgNewConnectionBase</name>
     <message>
         <source>Create a New PostGIS connection</source>
-        <translation type="vanished">Crear una nueva conexión a PostGIS</translation>
+        <translation>Crear una nueva conexión a PostGIS</translation>
     </message>
     <message>
         <location filename="../src/ui/qgspgnewconnectionbase.ui" line="35"/>
@@ -96544,11 +96544,11 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     </message>
     <message>
         <source>Save</source>
-        <translation type="vanished">Guardar</translation>
+        <translation>Guardar</translation>
     </message>
     <message>
         <source>Name</source>
-        <translation type="vanished">Nombre</translation>
+        <translation>Nombre</translation>
     </message>
     <message>
         <location filename="../src/ui/qgspgnewconnectionbase.ui" line="60"/>
@@ -96557,7 +96557,7 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     </message>
     <message>
         <source>Host</source>
-        <translation type="vanished">Servidor</translation>
+        <translation>Servidor</translation>
     </message>
     <message>
         <location filename="../src/ui/qgspgnewconnectionbase.ui" line="86"/>
@@ -96566,19 +96566,19 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     </message>
     <message>
         <source>Database</source>
-        <translation type="vanished">Base de datos</translation>
+        <translation>Base de datos</translation>
     </message>
     <message>
         <source>SSL mode</source>
-        <translation type="vanished">Modo SSL</translation>
+        <translation>Modo SSL</translation>
     </message>
     <message>
         <source>Username</source>
-        <translation type="vanished">Nombre de usuario</translation>
+        <translation>Nombre de usuario</translation>
     </message>
     <message>
         <source>Password</source>
-        <translation type="vanished">Contraseña</translation>
+        <translation>Contraseña</translation>
     </message>
     <message>
         <location filename="../src/ui/qgspgnewconnectionbase.ui" line="53"/>
@@ -96686,7 +96686,7 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
 <p>3) If the table geometry type is unknown and is not exclusively taken from the geometry_columns table, then it is determined from the first 100 non-null geometry rows in the table.</p>
 </body>
 </html></source>
-        <translation type="vanished"><html>
+        <translation><html>
 <body>
 <p>Cuando se configura la capa se necesitan varios metadatos para la tabla de PostGIS. Esto incluye información tal como el número de filas de la tabla, el tipo de geometría y la extensión espacial de los datos de la columna de geometría. Si la tabla contiene un gran número de filas, determinar estos metadatos lleva su tiempo.</p>
 <p>Activando esta opción se hacen las siguientes operaciones rápidas de metadatos de la tabla:</p>
@@ -96721,7 +96721,7 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     </message>
     <message>
         <source>&Add</source>
-        <translation type="vanished">&Añadir</translation>
+        <translation>&Añadir</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspgsourceselect.cpp" line="225"/>
@@ -96816,7 +96816,7 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     </message>
     <message>
         <source>Load connections</source>
-        <translation type="vanished">Cargar conexiones</translation>
+        <translation>Cargar conexiones</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspgsourceselect.cpp" line="324"/>
@@ -96848,11 +96848,11 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     <name>QgsPgSourceSelectDelegate</name>
     <message>
         <source>Select...</source>
-        <translation type="vanished">Seleccionar...</translation>
+        <translation>Seleccionar...</translation>
     </message>
     <message>
         <source>Enter...</source>
-        <translation type="vanished">Introducir...</translation>
+        <translation>Introducir...</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspgsourceselect.cpp" line="162"/>
@@ -96960,64 +96960,64 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     </message>
     <message>
         <source>Select...</source>
-        <translation type="vanished">Seleccionar...</translation>
+        <translation>Seleccionar...</translation>
     </message>
     <message>
         <source>Enter...</source>
-        <translation type="vanished">Introducir...</translation>
+        <translation>Introducir...</translation>
     </message>
 </context>
 <context>
     <name>QgsPhotoConfigDlgBase</name>
     <message>
         <source>Form</source>
-        <translation type="vanished">Formulario</translation>
+        <translation>Formulario</translation>
     </message>
     <message>
         <source>The field contains a filename for a picture. The widget will show a preview of this picture.</source>
-        <translation type="vanished">El campo contiene un nombre de archivo para una imagen. El control mostrará una vista previa de esta imagen.</translation>
+        <translation>El campo contiene un nombre de archivo para una imagen. El control mostrará una vista previa de esta imagen.</translation>
     </message>
     <message>
         <source>Picture size</source>
-        <translation type="vanished">Tamaño de dibujo</translation>
+        <translation>Tamaño de dibujo</translation>
     </message>
     <message>
         <source>Width</source>
-        <translation type="vanished">Anchura</translation>
+        <translation>Anchura</translation>
     </message>
     <message>
         <source>Auto</source>
-        <translation type="vanished">Auto</translation>
+        <translation>Auto</translation>
     </message>
     <message>
         <source> px</source>
-        <translation type="vanished"> px</translation>
+        <translation> px</translation>
     </message>
     <message>
         <source>Height</source>
-        <translation type="vanished">Altura</translation>
+        <translation>Altura</translation>
     </message>
     <message>
         <source>Specify the size of the preview. If you leave it set to <i>Auto</i>, an optimal size will be calculated.</source>
-        <translation type="vanished">Especificar el tamaño de la vista previa. Si se deja como <i>Auto</i>, se calculará un valor óptimo.</translation>
+        <translation>Especificar el tamaño de la vista previa. Si se deja como <i>Auto</i>, se calculará un valor óptimo.</translation>
     </message>
 </context>
 <context>
     <name>QgsPhotoWidgetWrapper</name>
     <message>
         <source>Select a picture</source>
-        <translation type="vanished">Seleccionar un dibujo</translation>
+        <translation>Seleccionar un dibujo</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
     <name>QgsPluginInstaller</name>
     <message>
         <source>Looking for new plugins...</source>
-        <translation type="vanished">Buscando complementos nuevos...</translation>
+        <translation>Buscando complementos nuevos...</translation>
     </message>
     <message>
         <location filename="../python/python-i18n.cpp" line="145"/>
@@ -97046,11 +97046,11 @@ b) Usar la pestaña configuración para añadir sus credenciales mediante un mé
     </message>
     <message>
         <source>The plugin exited with error status: {0}</source>
-        <translation type="vanished">El complemento salió con el estado de error: {0}</translation>
+        <translation>El complemento salió con el estado de error: {0}</translation>
     </message>
     <message>
         <source>Unknown error</source>
-        <translation type="vanished">Error desconocido</translation>
+        <translation>Error desconocido</translation>
     </message>
     <message>
         <location filename="../python/python-i18n.cpp" line="175"/>
@@ -97265,31 +97265,31 @@ Probablemente esté dañado</translation>
     </message>
     <message>
         <source>Resolving host name...</source>
-        <translation type="vanished">Resolviendo nombre del servidor...</translation>
+        <translation>Resolviendo nombre del servidor...</translation>
     </message>
     <message>
         <source>Connecting...</source>
-        <translation type="vanished">Conectando...</translation>
+        <translation>Conectando...</translation>
     </message>
     <message>
         <source>Host connected. Sending request...</source>
-        <translation type="vanished">Servidor conectado. Enviando petición...</translation>
+        <translation>Servidor conectado. Enviando petición...</translation>
     </message>
     <message>
         <source>Downloading data...</source>
-        <translation type="vanished">Descargando datos...</translation>
+        <translation>Descargando datos...</translation>
     </message>
     <message>
         <source>Idle</source>
-        <translation type="vanished">Desocupado</translation>
+        <translation>Desocupado</translation>
     </message>
     <message>
         <source>Closing connection...</source>
-        <translation type="vanished">Cerrando conexión...</translation>
+        <translation>Cerrando conexión...</translation>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
 </context>
 <context>
@@ -97302,7 +97302,7 @@ Probablemente esté dañado</translation>
     </message>
     <message>
         <source>Overall progress:</source>
-        <translation type="vanished">Progreso global:</translation>
+        <translation>Progreso global:</translation>
     </message>
     <message>
         <location filename="../python/pyplugin_installer/qgsplugininstallerfetchingbase.ui" line="36"/>
@@ -97338,35 +97338,35 @@ Probablemente esté dañado</translation>
     </message>
     <message>
         <source>Installing...</source>
-        <translation type="vanished">Instalando...</translation>
+        <translation>Instalando...</translation>
     </message>
     <message>
         <source>Resolving host name...</source>
-        <translation type="vanished">Resolviendo nombre del servidor...</translation>
+        <translation>Resolviendo nombre del servidor...</translation>
     </message>
     <message>
         <source>Connecting...</source>
-        <translation type="vanished">Conectando...</translation>
+        <translation>Conectando...</translation>
     </message>
     <message>
         <source>Host connected. Sending request...</source>
-        <translation type="vanished">Servidor conectado. Enviando petición...</translation>
+        <translation>Servidor conectado. Enviando petición...</translation>
     </message>
     <message>
         <source>Downloading data...</source>
-        <translation type="vanished">Descargando datos...</translation>
+        <translation>Descargando datos...</translation>
     </message>
     <message>
         <source>Idle</source>
-        <translation type="vanished">Desocupado</translation>
+        <translation>Desocupado</translation>
     </message>
     <message>
         <source>Closing connection...</source>
-        <translation type="vanished">Cerrando conexión...</translation>
+        <translation>Cerrando conexión...</translation>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <location filename="../python/python-i18n.cpp" line="199"/>
@@ -97489,7 +97489,7 @@ Probablemente esté dañado</translation>
     </message>
     <message>
         <source>Enter the repository URL, beginning with "http://"</source>
-        <translation type="vanished">Introduzca la URL del repositorio, comenzando con "http://"</translation>
+        <translation>Introduzca la URL del repositorio, comenzando con "http://"</translation>
     </message>
     <message>
         <location filename="../python/pyplugin_installer/qgsplugininstallerrepositorybase.ui" line="238"/>
@@ -97693,7 +97693,7 @@ Probablemente esté dañado</translation>
     </message>
     <message>
         <source>This plugin is trusted</source>
-        <translation type="vanished">Este complemento es de confianza</translation>
+        <translation>Este complemento es de confianza</translation>
     </message>
     <message>
         <location filename="../src/app/pluginmanager/qgspluginmanager.cpp" line="873"/>
@@ -97712,11 +97712,11 @@ Probablemente esté dañado</translation>
     </message>
     <message>
         <source>bug_tracker</source>
-        <translation type="vanished">seguimiento_de_errores</translation>
+        <translation>seguimiento_de_errores</translation>
     </message>
     <message>
         <source>code_repository</source>
-        <translation type="vanished">repositorio_de_código</translation>
+        <translation>repositorio_de_código</translation>
     </message>
     <message>
         <location filename="../src/app/pluginmanager/qgspluginmanager.cpp" line="930"/>
@@ -97751,15 +97751,15 @@ Probablemente esté dañado</translation>
     </message>
     <message>
         <source>Installed version: %1 (in %2)<br/></source>
-        <translation type="vanished">Versión instalada: %1 (en %2)<br/></translation>
+        <translation>Versión instalada: %1 (en %2)<br/></translation>
     </message>
     <message>
         <source>Available version: %1 (in %2)<br/></source>
-        <translation type="vanished">Versión disponible: %1 (en %2)<br/></translation>
+        <translation>Versión disponible: %1 (en %2)<br/></translation>
     </message>
     <message>
         <source>changelog:<br/>%1 <br/></source>
-        <translation type="vanished">registro de cambios:<br/>%1 <br/></translation>
+        <translation>registro de cambios:<br/>%1 <br/></translation>
     </message>
     <message>
         <location filename="../src/app/pluginmanager/qgspluginmanager.cpp" line="971"/>
@@ -97848,11 +97848,11 @@ Probablemente esté dañado</translation>
     </message>
     <message>
         <source><h3>All Plugins</h3><p>On the left you see the list of all plugins available for your QGIS, both installed and available for download. Some plugins come with your QGIS installation while most of them are made available via the plugin repositories.</p><p>You can temporarily enable or disable a plugin. To <i>enable</i> or <i>disable</i> a plugin, click its checkbox or doubleclick its name...</p><p>Plugins sho [...]
-        <translation type="vanished"><h3>Todos los complementos</h3><p>A la izquierda se ve la lista de todos los complementos disponibles para su QGIS, tanto los instalados como los disponibles para descargar. Algunos complementos vienen con la instalación de QGIS mientras que la mayoría se ponen a disposición mediante repositorios de complementos.</p><p>Puede habilitar o deshabilitar temporalmente un complemento. Para <i>habilitar</i> o <i&g [...]
+        <translation><h3>Todos los complementos</h3><p>A la izquierda se ve la lista de todos los complementos disponibles para su QGIS, tanto los instalados como los disponibles para descargar. Algunos complementos vienen con la instalación de QGIS mientras que la mayoría se ponen a disposición mediante repositorios de complementos.</p><p>Puede habilitar o deshabilitar temporalmente un complemento. Para <i>habilitar</i> o <i>deshabilitar&l [...]
     </message>
     <message>
         <source><h3>Installed Plugins</h3><p>Here you only see plugins <b>installed on your QGIS</b>.</p><p>Click on the name to see details. </p><p>Click the checkbox or doubleclick the name to <i>activate</i> or <i>deactivate</i> the plugin.</p><p>You can change the sorting via the context menu (right click).</p></source>
-        <translation type="vanished"><h3>Complementos instalados</h3><p>Aquí sólo se ven los <b>complementos instalados en su QGIS</b>.</p><p>Pulse en el nombre para ver los detalles. </p><p>Marque la casilla de verificación o haga doble clic en el nombre para <i>activar</i> o <i>desactivar</i> el complemento.</p><p>Puede cambiar el orden mediante el menú contextual (clic derecho).</p></translation>
+        <translation><h3>Complementos instalados</h3><p>Aquí sólo se ven los <b>complementos instalados en su QGIS</b>.</p><p>Pulse en el nombre para ver los detalles. </p><p>Marque la casilla de verificación o haga doble clic en el nombre para <i>activar</i> o <i>desactivar</i> el complemento.</p><p>Puede cambiar el orden mediante el menú contextual (clic derecho).</p></translation>
     </message>
     <message>
         <location filename="../src/app/pluginmanager/qgspluginmanager_texts.cpp" line="11"/>
@@ -98236,11 +98236,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Invalid file</source>
-        <translation type="vanished">Archivo no válido</translation>
+        <translation>Archivo no válido</translation>
     </message>
     <message>
         <source>Error, file does not exist or is not readable</source>
-        <translation type="vanished">Error, el archivo no existe o no se puede leer</translation>
+        <translation>Error, el archivo no existe o no se puede leer</translation>
     </message>
 </context>
 <context>
@@ -98257,7 +98257,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Renderer settings</source>
-        <translation type="vanished">Configuración del renderizador</translation>
+        <translation>Configuración del renderizador</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgspointclusterrendererwidget.cpp" line="233"/>
@@ -98268,7 +98268,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>The point cluster renderer only applies to (single) point layers. 
 '%1' is not a point layer and cannot be displayed by the point cluster renderer</source>
-        <translation type="vanished">El renderizador de cluster de puntos sólo se aplica a capas de puntos (sencillos). 
+        <translation>El renderizador de cluster de puntos sólo se aplica a capas de puntos (sencillos). 
 '%1' no es una capa de puntos y no se puede representar por el renderizador de cluster de puntos.</translation>
     </message>
 </context>
@@ -98347,7 +98347,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Renderer settings</source>
-        <translation type="vanished">Configuración del renderizador</translation>
+        <translation>Configuración del renderizador</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgspointdisplacementrendererwidget.cpp" line="415"/>
@@ -98357,20 +98357,20 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Select color</source>
-        <translation type="vanished">Seleccionar color</translation>
+        <translation>Seleccionar color</translation>
     </message>
     <message>
         <source>No outline</source>
-        <translation type="vanished">Ninguna línea exterior</translation>
+        <translation>Ninguna línea exterior</translation>
     </message>
     <message>
         <source>Label Font</source>
-        <translation type="vanished">Tipo de letra de etiqueta</translation>
+        <translation>Tipo de letra de etiqueta</translation>
     </message>
     <message>
         <source>The point displacement renderer only applies to (single) point layers. 
 '%1' is not a point layer and cannot be displayed by the point displacement renderer</source>
-        <translation type="vanished">El renderizador de desplazamiento de puntos sólo se aplica a capas de puntos (sencillos). 
+        <translation>El renderizador de desplazamiento de puntos sólo se aplica a capas de puntos (sencillos). 
 '%1' no es una capa de puntos y no puede ser representada por el renderizador de desplazamiento de puntos.</translation>
     </message>
 </context>
@@ -98428,7 +98428,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Max scale denominator</source>
-        <translation type="vanished">Denominador de escala máximo</translation>
+        <translation>Denominador de escala máximo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgspointdisplacementrendererwidgetbase.ui" line="186"/>
@@ -98442,15 +98442,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Ring size adjustment</source>
-        <translation type="vanished">Ajuste del tamaño de anillo</translation>
+        <translation>Ajuste del tamaño de anillo</translation>
     </message>
     <message>
         <source>Outline width</source>
-        <translation type="vanished">Anchura de línea exterior</translation>
+        <translation>Anchura de línea exterior</translation>
     </message>
     <message>
         <source>Outline color</source>
-        <translation type="vanished">Color de línea exterior</translation>
+        <translation>Color de línea exterior</translation>
     </message>
     <message>
         <location filename="../src/ui/qgspointdisplacementrendererwidgetbase.ui" line="239"/>
@@ -98465,7 +98465,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Point distance tolerance</source>
-        <translation type="vanished">Tolerancia de distancia de puntos</translation>
+        <translation>Tolerancia de distancia de puntos</translation>
     </message>
     <message>
         <location filename="../src/ui/qgspointdisplacementrendererwidgetbase.ui" line="128"/>
@@ -98484,7 +98484,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Font...</source>
-        <translation type="vanished">Tipo de letra...</translation>
+        <translation>Tipo de letra...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgspointdisplacementrendererwidgetbase.ui" line="42"/>
@@ -98493,7 +98493,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use scale dependent labelling</source>
-        <translation type="vanished">Utilizar representación dependiente de la escala</translation>
+        <translation>Utilizar representación dependiente de la escala</translation>
     </message>
 </context>
 <context>
@@ -98551,7 +98551,7 @@ p, li { white-space: pre-wrap; }
 result:%2
 error:%3
 </source>
-        <translation type="vanished">SQL:%1
+        <translation>SQL:%1
 resultado:%2
 error:%3
 </translation>
@@ -98853,7 +98853,7 @@ Resultado: %3 (%4)</translation>
     </message>
     <message>
         <source>Read attempt on an invalid postgresql data source</source>
-        <translation type="vanished">Intento de lectura en una fuente de datos PostgreSQL no válida</translation>
+        <translation>Intento de lectura en una fuente de datos PostgreSQL no válida</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="660"/>
@@ -99056,7 +99056,7 @@ SQL: %2</translation>
     </message>
     <message>
         <source>Editing and adding disabled for 2D+ layer (%1; %2)</source>
-        <translation type="vanished">Edición y adición deshabilitados para la capa 2D+ (%1; %2)</translation>
+        <translation>Edición y adición deshabilitados para la capa 2D+ (%1; %2)</translation>
     </message>
     <message>
         <location filename="../src/providers/postgres/qgspostgresprovider.cpp" line="4069"/>
@@ -99152,7 +99152,7 @@ PostGIS %2</translation>
     <name>QgsProcessingAlgRunnerTask</name>
     <message>
         <source>Running %1</source>
-        <translation type="vanished">Ejecutando %1</translation>
+        <translation>Ejecutando %1</translation>
     </message>
     <message>
         <location filename="../src/core/processing/qgsprocessingalgrunnertask.cpp" line="26"/>
@@ -99226,7 +99226,7 @@ PostGIS %2</translation>
     </message>
     <message>
         <source>Project File Read Error</source>
-        <translation type="vanished">Error de lectura de archivo de proyecto</translation>
+        <translation>Error de lectura de archivo de proyecto</translation>
     </message>
     <message>
         <location filename="../src/core/qgsproject.cpp" line="834"/>
@@ -99235,7 +99235,7 @@ PostGIS %2</translation>
     </message>
     <message>
         <source>Project file read error: %1 at line %2 column %3</source>
-        <translation type="vanished">Error al leer el proyecto: %1 en la línea %2 columna %3</translation>
+        <translation>Error al leer el proyecto: %1 en la línea %2 columna %3</translation>
     </message>
     <message>
         <location filename="../src/core/qgsproject.cpp" line="844"/>
@@ -99318,16 +99318,16 @@ PostGIS %2</translation>
     <name>QgsProjectBadLayerGuiHandler</name>
     <message>
         <source>Ignore</source>
-        <translation type="vanished">Ignorar</translation>
+        <translation>Ignorar</translation>
     </message>
     <message>
         <source>QGIS Project Read Error</source>
-        <translation type="vanished">Error de lectura del proyecto de QGIS</translation>
+        <translation>Error de lectura del proyecto de QGIS</translation>
     </message>
     <message>
         <source>Unable to open one or more project layers.
 Choose ignore to continue loading without the missing layers. Choose cancel to return to your pre-project load state. Choose OK to try to find the missing layers.</source>
-        <translation type="vanished">No se pueden abrir una o más capas del proyecto.
+        <translation>No se pueden abrir una o más capas del proyecto.
 Elija ignorar para continuar cargando sin las capas que faltan. Elija cancelar para volver al estado precargado del proyecto. Ejija Aceptar para encontrar las capas que faltan.</translation>
     </message>
 </context>
@@ -99355,18 +99355,18 @@ Elija ignorar para continuar cargando sin las capas que faltan. Elija cancelar p
     </message>
     <message>
         <source>Recursive embedding not possible</source>
-        <translation type="vanished">El empotrado recursivo no es posible</translation>
+        <translation>El empotrado recursivo no es posible</translation>
     </message>
     <message>
         <source>It is not possible to embed layers / groups from the current project.</source>
-        <translation type="vanished">No es posible empotrar capas /grupos del proyecto actual.</translation>
+        <translation>No es posible empotrar capas /grupos del proyecto actual.</translation>
     </message>
 </context>
 <context>
     <name>QgsProjectLayerGroupDialogBase</name>
     <message>
         <source>Select layers and groups to embed</source>
-        <translation type="vanished">Seleccionar capas y grupos a empotrar</translation>
+        <translation>Seleccionar capas y grupos a empotrar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectlayergroupdialogbase.ui" line="14"/>
@@ -99385,7 +99385,7 @@ Elija ignorar para continuar cargando sin las capas que faltan. Elija cancelar p
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -99433,7 +99433,7 @@ Elija ignorar para continuar cargando sin las capas que faltan. Elija cancelar p
     </message>
     <message>
         <source>Selection color</source>
-        <translation type="vanished">Color de selección</translation>
+        <translation>Color de selección</translation>
     </message>
     <message>
         <location filename="../src/app/qgsprojectproperties.cpp" line="111"/>
@@ -99705,11 +99705,11 @@ Proceed?</source>
     </message>
     <message>
         <source>Select print composer</source>
-        <translation type="vanished">Seleccionar diseñador de impresión</translation>
+        <translation>Seleccionar diseñador de impresión</translation>
     </message>
     <message>
         <source>Composer Title</source>
-        <translation type="vanished">Título del diseñador</translation>
+        <translation>Título del diseñador</translation>
     </message>
     <message>
         <location filename="../src/app/qgsprojectproperties.cpp" line="1470"/>
@@ -99725,7 +99725,7 @@ Proceed?</source>
     </message>
     <message>
         <source>Select restricted layers and groups</source>
-        <translation type="vanished">Seleccionar capas y grupos restringidos</translation>
+        <translation>Seleccionar capas y grupos restringidos</translation>
     </message>
     <message>
         <location filename="../src/app/qgsprojectproperties.cpp" line="1559"/>
@@ -99816,7 +99816,7 @@ Proceed?</source>
     </message>
     <message>
         <source>Parameters:</source>
-        <translation type="vanished">Parámetros:</translation>
+        <translation>Parámetros:</translation>
     </message>
     <message>
         <location filename="../src/app/qgsprojectproperties.cpp" line="1949"/>
@@ -99831,35 +99831,35 @@ Proceed?</source>
     </message>
     <message>
         <source>Select palette file</source>
-        <translation type="vanished">Seleccionar archivo de paleta</translation>
+        <translation>Seleccionar archivo de paleta</translation>
     </message>
     <message>
         <source>Invalid file</source>
-        <translation type="vanished">Archivo no válido</translation>
+        <translation>Archivo no válido</translation>
     </message>
     <message>
         <source>Error, file does not exist or is not readable</source>
-        <translation type="vanished">Error, el archivo no existe o no se puede leer</translation>
+        <translation>Error, el archivo no existe o no se puede leer</translation>
     </message>
     <message>
         <source>Error, no colors found in palette file</source>
-        <translation type="vanished">Error, no se han encontrado colores en el archivo de paleta</translation>
+        <translation>Error, no se han encontrado colores en el archivo de paleta</translation>
     </message>
     <message>
         <source>Palette file</source>
-        <translation type="vanished">Archivo de paleta</translation>
+        <translation>Archivo de paleta</translation>
     </message>
     <message>
         <source>Error exporting</source>
-        <translation type="vanished">Error al exportar</translation>
+        <translation>Error al exportar</translation>
     </message>
     <message>
         <source>Error writing palette file</source>
-        <translation type="vanished">Error al escribir el archivo de paleta</translation>
+        <translation>Error al escribir el archivo de paleta</translation>
     </message>
     <message>
         <source>Invalid scale</source>
-        <translation type="vanished">Escala no válida</translation>
+        <translation>Escala no válida</translation>
     </message>
     <message>
         <location filename="../src/app/qgsprojectproperties.cpp" line="2041"/>
@@ -99947,7 +99947,7 @@ Proceed?</source>
     </message>
     <message>
         <source>Identify layers</source>
-        <translation type="vanished">Identificación de capas</translation>
+        <translation>Identificación de capas</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="124"/>
@@ -99956,7 +99956,7 @@ Proceed?</source>
     </message>
     <message>
         <source>OWS server</source>
-        <translation type="vanished">Servidor OWS</translation>
+        <translation>Servidor OWS</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="169"/>
@@ -100072,11 +100072,11 @@ Proceed?</source>
     </message>
     <message>
         <source>Project scales</source>
-        <translation type="vanished">Escalas de proyecto</translation>
+        <translation>Escalas de proyecto</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="136"/>
@@ -100132,11 +100132,11 @@ Proceed?</source>
     </message>
     <message>
         <source>Transparency</source>
-        <translation type="vanished">Transparencia</translation>
+        <translation>Transparencia</translation>
     </message>
     <message>
         <source> %</source>
-        <translation type="vanished"> %</translation>
+        <translation> %</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="1143"/>
@@ -100292,7 +100292,7 @@ Proceed?</source>
     </message>
     <message>
         <source>Exclude composers</source>
-        <translation type="vanished">Excluir diseñadores</translation>
+        <translation>Excluir diseñadores</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="2459"/>
@@ -100316,7 +100316,7 @@ Proceed?</source>
     </message>
     <message>
         <source>WMS/WFS Server Configuration</source>
-        <translation type="vanished">Configuración de servidor WMS/WFS</translation>
+        <translation>Configuración de servidor WMS/WFS</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="145"/>
@@ -100360,7 +100360,7 @@ Proceed?</source>
     </message>
     <message>
         <source>Enable 'on the fly' CRS transformation (OTF)</source>
-        <translation type="vanished">Activar transformación de SRC al vuelo (OTF)</translation>
+        <translation>Activar transformación de SRC al vuelo (OTF)</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="1352"/>
@@ -100594,7 +100594,7 @@ Proceed?</source>
     </message>
     <message>
         <source>Scenario 2 - INSPIRE related fields using embedded service metadata:</source>
-        <translation type="vanished">Escenario 2 - Campos relacionados con INSPIRE usando metadatos de servicio empotrados:</translation>
+        <translation>Escenario 2 - Campos relacionados con INSPIRE usando metadatos de servicio empotrados:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsprojectpropertiesbase.ui" line="2269"/>
@@ -100765,7 +100765,7 @@ Proceed?</source>
         <source>Error reading database file from: 
  %1
 Because of this the projection selector will not work...</source>
-        <translation type="vanished">Error al leer el archivo de base de datos de: 
+        <translation>Error al leer el archivo de base de datos de: 
  %1
 Debido a esto no funcionará el selector de proyecciones...</translation>
     </message>
@@ -100840,19 +100840,19 @@ Because of this the projection selector will not work…</source>
     </message>
     <message>
         <source>Selected CRS (%1, %2)</source>
-        <translation type="vanished">SRC seleccionado (%1, %2)</translation>
+        <translation>SRC seleccionado (%1, %2)</translation>
     </message>
     <message>
         <source>Layer CRS (%1, %2)</source>
-        <translation type="vanished">SRC de la capa (%1, %2)</translation>
+        <translation>SRC de la capa (%1, %2)</translation>
     </message>
     <message>
         <source>Project CRS (%1 - %2)</source>
-        <translation type="vanished">SRC del proyecto (%1 - %2)</translation>
+        <translation>SRC del proyecto (%1 - %2)</translation>
     </message>
     <message>
         <source>Default CRS (%1 - %2)</source>
-        <translation type="vanished">SRC predeterminado (%1 - %2)</translation>
+        <translation>SRC predeterminado (%1 - %2)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsprojectionselectionwidget.cpp" line="309"/>
@@ -100874,25 +100874,25 @@ Because of this the projection selector will not work…</source>
     <name>QgsProjectionSelector</name>
     <message>
         <source>User Defined Coordinate Systems</source>
-        <translation type="vanished">Sistemas de coordenadas definidos por el usuario</translation>
+        <translation>Sistemas de coordenadas definidos por el usuario</translation>
     </message>
     <message>
         <source>Geographic Coordinate Systems</source>
-        <translation type="vanished">Sistema de Coordenadas Geográficas</translation>
+        <translation>Sistema de Coordenadas Geográficas</translation>
     </message>
     <message>
         <source>Projected Coordinate Systems</source>
-        <translation type="vanished">Sistemas de coordenadas proyectadas</translation>
+        <translation>Sistemas de coordenadas proyectadas</translation>
     </message>
     <message>
         <source>Resource Location Error</source>
-        <translation type="vanished">Error en la localización de recursos</translation>
+        <translation>Error en la localización de recursos</translation>
     </message>
     <message>
         <source>Error reading database file from: 
  %1
 Because of this the projection selector will not work...</source>
-        <translation type="vanished">Error al leer el archivo de base de datos de: 
+        <translation>Error al leer el archivo de base de datos de: 
  %1
 Debido a esto no funcionará el selector de proyecciones...</translation>
     </message>
@@ -100999,7 +100999,7 @@ Debido a esto no funcionará el selector de proyecciones...</translation>
     </message>
     <message>
         <source>Description...</source>
-        <translation type="vanished">Descripción...</translation>
+        <translation>Descripción...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgspropertyoverridebutton.cpp" line="74"/>
@@ -101008,7 +101008,7 @@ Debido a esto no funcionará el selector de proyecciones...</translation>
     </message>
     <message>
         <source>Edit...</source>
-        <translation type="vanished">Editar...</translation>
+        <translation>Editar...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgspropertyoverridebutton.cpp" line="79"/>
@@ -101027,7 +101027,7 @@ Debido a esto no funcionará el selector de proyecciones...</translation>
     </message>
     <message>
         <source>Assistant...</source>
-        <translation type="vanished">Asistente...</translation>
+        <translation>Asistente...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgspropertyoverridebutton.cpp" line="72"/>
@@ -101306,7 +101306,7 @@ Debido a esto no funcionará el selector de proyecciones...</translation>
     </message>
     <message>
         <source>Query Failed</source>
-        <translation type="vanished">Ha fallado la consulta</translation>
+        <translation>Ha fallado la consulta</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsquerybuilder.cpp" line="237"/>
@@ -101327,11 +101327,11 @@ El proveedor de datos dijo:
     </message>
     <message>
         <source>Error in Query</source>
-        <translation type="vanished">Error en la consulta</translation>
+        <translation>Error en la consulta</translation>
     </message>
     <message>
         <source>The subset string could not be set</source>
-        <translation type="vanished">No se pudo establecer la cadena del subconjunto</translation>
+        <translation>No se pudo establecer la cadena del subconjunto</translation>
     </message>
 </context>
 <context>
@@ -101478,7 +101478,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <location filename="../src/ui/qgsquerybuilderbase.ui" line="210"/>
         <source>ILIKE</source>
-        <translation>DISTINTO DE</translation>
+        <translation>ICOMO</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsquerybuilderbase.ui" line="238"/>
@@ -101634,7 +101634,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsRasterCalcDialogBase</name>
     <message>
         <source>Raster calculator</source>
-        <translation type="vanished">Calculadora ráster</translation>
+        <translation>Calculadora ráster</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrastercalcdialogbase.ui" line="28"/>
@@ -101653,11 +101653,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Current layer extent</source>
-        <translation type="vanished">Extensión de la capa actual</translation>
+        <translation>Extensión de la capa actual</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrastercalcdialogbase.ui" line="80"/>
@@ -101666,7 +101666,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>XMax</source>
-        <translation type="vanished">X Máx</translation>
+        <translation>X Máx</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrastercalcdialogbase.ui" line="73"/>
@@ -101700,7 +101700,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>…</source>
-        <translation type="vanished">…</translation>
+        <translation>…</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrastercalcdialogbase.ui" line="193"/>
@@ -101893,7 +101893,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsRasterFillSymbolLayerWidget</name>
     <message>
         <source>Select image file</source>
-        <translation type="vanished">Seleccionar archivo de imagen</translation>
+        <translation>Seleccionar archivo de imagen</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgssymbollayerwidget.cpp" line="3240"/>
@@ -101959,7 +101959,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Cannot validate creation options</source>
-        <translation type="vanished">No se pueden validar las opciones de creación</translation>
+        <translation>No se pueden validar las opciones de creación</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrasterformatsaveoptionswidget.cpp" line="392"/>
@@ -102044,7 +102044,7 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>+</source>
-        <translation type="vanished">+</translation>
+        <translation>+</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterformatsaveoptionswidgetbase.ui" line="183"/>
@@ -102058,7 +102058,7 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>-</source>
-        <translation type="vanished">-</translation>
+        <translation>-</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterformatsaveoptionswidgetbase.ui" line="219"/>
@@ -102215,7 +102215,7 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterhistogramwidgetbase.ui" line="187"/>
@@ -102425,11 +102425,11 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>No Data Value</source>
-        <translation type="vanished">Valor sin datos</translation>
+        <translation>Valor sin datos</translation>
     </message>
     <message>
         <source>NoDataValue not set</source>
-        <translation type="vanished">No se ha establecido el valor sin datos (NoDataValue)</translation>
+        <translation>No se ha establecido el valor sin datos (NoDataValue)</translation>
     </message>
     <message>
         <location filename="../src/core/raster/qgsrasterlayer.cpp" line="400"/>
@@ -102438,11 +102438,11 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>Driver</source>
-        <translation type="vanished">Controlador</translation>
+        <translation>Controlador</translation>
     </message>
     <message>
         <source>Data Type</source>
-        <translation type="vanished">Tipo de datos</translation>
+        <translation>Tipo de datos</translation>
     </message>
     <message>
         <location filename="../src/core/raster/qgsrasterlayer.cpp" line="367"/>
@@ -102501,19 +102501,19 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>Pyramid overviews</source>
-        <translation type="vanished">Vistas generales de pirámides</translation>
+        <translation>Vistas generales de pirámides</translation>
     </message>
     <message>
         <source>Layer Spatial Reference System</source>
-        <translation type="vanished">Sistema de referencia espacial de la capa</translation>
+        <translation>Sistema de referencia espacial de la capa</translation>
     </message>
     <message>
         <source>Layer Extent (layer original source projection)</source>
-        <translation type="vanished">Extensión de la capa (proyección de la fuente original de la capa)</translation>
+        <translation>Extensión de la capa (proyección de la fuente original de la capa)</translation>
     </message>
     <message>
         <source>Project Spatial Reference System</source>
-        <translation type="vanished">Sistema de referencia espacial del proyecto</translation>
+        <translation>Sistema de referencia espacial del proyecto</translation>
     </message>
     <message>
         <location filename="../src/core/raster/qgsrasterlayer.cpp" line="433"/>
@@ -102522,47 +102522,47 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>Band No</source>
-        <translation type="vanished">Número de banda</translation>
+        <translation>Número de banda</translation>
     </message>
     <message>
         <source>No Stats</source>
-        <translation type="vanished">No hay estadísticas</translation>
+        <translation>No hay estadísticas</translation>
     </message>
     <message>
         <source>No stats collected yet</source>
-        <translation type="vanished">Todavía no se han recogido estadísticas</translation>
+        <translation>Todavía no se han recogido estadísticas</translation>
     </message>
     <message>
         <source>Min Val</source>
-        <translation type="vanished">Valor mínimo</translation>
+        <translation>Valor mínimo</translation>
     </message>
     <message>
         <source>Max Val</source>
-        <translation type="vanished">Valor máximo</translation>
+        <translation>Valor máximo</translation>
     </message>
     <message>
         <source>Range</source>
-        <translation type="vanished">Intervalo</translation>
+        <translation>Intervalo</translation>
     </message>
     <message>
         <source>Mean</source>
-        <translation type="vanished">Media</translation>
+        <translation>Media</translation>
     </message>
     <message>
         <source>Sum of squares</source>
-        <translation type="vanished">Suma de cuadrados</translation>
+        <translation>Suma de cuadrados</translation>
     </message>
     <message>
         <source>Standard Deviation</source>
-        <translation type="vanished">Desviación estándar</translation>
+        <translation>Desviación estándar</translation>
     </message>
     <message>
         <source>Sum of all cells</source>
-        <translation type="vanished">Suma de todas las celdas</translation>
+        <translation>Suma de todas las celdas</translation>
     </message>
     <message>
         <source>Cell Count</source>
-        <translation type="vanished">Número de celdas</translation>
+        <translation>Número de celdas</translation>
     </message>
     <message>
         <location filename="../src/core/raster/qgsrasterlayer.cpp" line="613"/>
@@ -102715,7 +102715,7 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>Select color</source>
-        <translation type="vanished">Seleccionar color</translation>
+        <translation>Seleccionar color</translation>
     </message>
     <message>
         <location filename="../src/app/qgsrasterlayerproperties.cpp" line="354"/>
@@ -102775,35 +102775,35 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>Columns: %1</source>
-        <translation type="vanished">Columnas: %1</translation>
+        <translation>Columnas: %1</translation>
     </message>
     <message>
         <source>Rows: %1</source>
-        <translation type="vanished">Filas: %1</translation>
+        <translation>Filas: %1</translation>
     </message>
     <message>
         <source>Columns: </source>
-        <translation type="vanished">Columnas: </translation>
+        <translation>Columnas: </translation>
     </message>
     <message>
         <source>n/a</source>
-        <translation type="vanished">n/d</translation>
+        <translation>n/d</translation>
     </message>
     <message>
         <source>Rows: </source>
-        <translation type="vanished">Filas: </translation>
+        <translation>Filas: </translation>
     </message>
     <message>
         <source>No-Data Value: </source>
-        <translation type="vanished">Valor sin datos: </translation>
+        <translation>Valor sin datos: </translation>
     </message>
     <message>
         <source>No-Data Value: %1</source>
-        <translation type="vanished">Valor de sin datos: %1</translation>
+        <translation>Valor de sin datos: %1</translation>
     </message>
     <message>
         <source>Write access denied</source>
-        <translation type="vanished">Acceso de escritura denegado</translation>
+        <translation>Acceso de escritura denegado</translation>
     </message>
     <message>
         <location filename="../src/app/qgsrasterlayerproperties.cpp" line="1117"/>
@@ -102812,7 +102812,7 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>Building pyramids failed.</source>
-        <translation type="vanished">Ha fallado la construcción de pirámides.</translation>
+        <translation>Ha fallado la construcción de pirámides.</translation>
     </message>
     <message>
         <location filename="../src/app/qgsrasterlayerproperties.cpp" line="1122"/>
@@ -102832,7 +102832,7 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>Save file</source>
-        <translation type="vanished">Guardar archivo</translation>
+        <translation>Guardar archivo</translation>
     </message>
     <message>
         <location filename="../src/app/qgsrasterlayerproperties.cpp" line="1355"/>
@@ -102876,7 +102876,7 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>Import Error</source>
-        <translation type="vanished">Error de importación</translation>
+        <translation>Error de importación</translation>
     </message>
     <message>
         <location filename="../src/app/qgsrasterlayerproperties.cpp" line="1612"/>
@@ -102889,7 +102889,7 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>Read access denied</source>
-        <translation type="vanished">Acceso de lectura denegado</translation>
+        <translation>Acceso de lectura denegado</translation>
     </message>
     <message>
         <location filename="../src/app/qgsrasterlayerproperties.cpp" line="1617"/>
@@ -102917,7 +102917,7 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>Saved Style</source>
-        <translation type="vanished">Estilo guardado</translation>
+        <translation>Estilo guardado</translation>
     </message>
     <message>
         <location filename="../src/app/qgsrasterlayerproperties.cpp" line="1852"/>
@@ -102957,11 +102957,11 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>Load Style...</source>
-        <translation type="vanished">Cargar estilo...</translation>
+        <translation>Cargar estilo...</translation>
     </message>
     <message>
         <source>Save Style...</source>
-        <translation type="vanished">Guardar estilo...</translation>
+        <translation>Guardar estilo...</translation>
     </message>
     <message>
         <location filename="../src/app/qgsrasterlayerproperties.cpp" line="113"/>
@@ -103011,7 +103011,7 @@ Pulse el botón de ayuda para obtener opciones de creación válidas para este f
     </message>
     <message>
         <source>Layer info</source>
-        <translation type="vanished">Información de la capa</translation>
+        <translation>Información de la capa</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1735"/>
@@ -103143,19 +103143,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>image/png</source>
-        <translation type="vanished">imagen/png</translation>
+        <translation>imagen/png</translation>
     </message>
     <message>
         <source>image/jpeg</source>
-        <translation type="vanished">imagen/jpeg</translation>
+        <translation>imagen/jpeg</translation>
     </message>
     <message>
         <source>image/jpg</source>
-        <translation type="vanished">imagen/jpg</translation>
+        <translation>imagen/jpg</translation>
     </message>
     <message>
         <source>Properties</source>
-        <translation type="vanished">Propiedades</translation>
+        <translation>Propiedades</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="398"/>
@@ -103300,19 +103300,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Global transparency</source>
-        <translation type="vanished">Transparencia global</translation>
+        <translation>Transparencia global</translation>
     </message>
     <message>
         <source>None</source>
-        <translation type="vanished">Nada</translation>
+        <translation>Nada</translation>
     </message>
     <message>
         <source> 00%</source>
-        <translation type="vanished"> 00%</translation>
+        <translation> 00%</translation>
     </message>
     <message>
         <source><p align="right">Full</p></source>
-        <translation type="vanished"><p align="right">Total</p></translation>
+        <translation><p align="right">Total</p></translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1048"/>
@@ -103327,7 +103327,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No data value:</source>
-        <translation type="vanished">Valores sin datos</translation>
+        <translation>Valores sin datos</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1078"/>
@@ -103376,7 +103376,7 @@ p, li { white-space: pre-wrap; }
 p, li { white-space: pre-wrap; }
 </style></head><body style=" font-family:'Noto Sans'; font-size:9pt; font-weight:400; font-style:normal;">
 <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Cantarell'; font-size:11pt;"><br /></span></p></body></html></source>
-        <translation type="vanished"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+        <translation><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
 <html><head><meta name="qrichtext" content="1" /><style type="text/css">
 p, li { white-space: pre-wrap; }
 </style></head><body style=" font-family:'Noto Sans'; font-size:9pt; font-weight:400; font-style:normal;">
@@ -103405,7 +103405,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1238"/>
@@ -103429,7 +103429,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>General</source>
-        <translation type="vanished">General</translation>
+        <translation>General</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="288"/>
@@ -103443,19 +103443,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Layer source</source>
-        <translation type="vanished">Fuente de la capa</translation>
+        <translation>Fuente de la capa</translation>
     </message>
     <message>
         <source>Columns</source>
-        <translation type="vanished">Columnas</translation>
+        <translation>Columnas</translation>
     </message>
     <message>
         <source>Rows</source>
-        <translation type="vanished">Filas</translation>
+        <translation>Filas</translation>
     </message>
     <message>
         <source>No Data</source>
-        <translation type="vanished">Sin datos</translation>
+        <translation>Sin datos</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="1399"/>
@@ -103464,7 +103464,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Coordinate reference system</source>
-        <translation type="vanished">Sistema de referencia de coordenadas</translation>
+        <translation>Sistema de referencia de coordenadas</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayerpropertiesbase.ui" line="864"/>
@@ -103589,7 +103589,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Warning</source>
-        <translation type="vanished">Advertencia</translation>
+        <translation>Advertencia</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrasterlayersaveasdialog.cpp" line="201"/>
@@ -103604,11 +103604,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Select output file</source>
-        <translation type="vanished">Seleccione archivo de salida</translation>
+        <translation>Seleccione archivo de salida</translation>
     </message>
     <message>
         <source>GeoTIFF</source>
-        <translation type="vanished">GeoTIFF</translation>
+        <translation>GeoTIFF</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsrasterlayersaveasdialog.cpp" line="511"/>
@@ -103630,7 +103630,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsRasterLayerSaveAsDialogBase</name>
     <message>
         <source>Save raster layer as...</source>
-        <translation type="vanished">Guardar capa de easter como ...</translation>
+        <translation>Guardar capa de easter como ...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayersaveasdialogbase.ui" line="22"/>
@@ -103682,7 +103682,7 @@ especificadas más abajo.</translation>
     </message>
     <message>
         <source>Browse...</source>
-        <translation type="vanished">Explorar...</translation>
+        <translation>Explorar...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayersaveasdialogbase.ui" line="140"/>
@@ -103803,7 +103803,7 @@ especificadas más abajo.</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterlayersaveasdialogbase.ui" line="602"/>
@@ -103830,11 +103830,11 @@ especificadas más abajo.</translation>
     <name>QgsRasterMinMaxWidget</name>
     <message>
         <source>No option selected</source>
-        <translation type="vanished">Ninguna opción seleccionada</translation>
+        <translation>Ninguna opción seleccionada</translation>
     </message>
     <message>
         <source>Please select an option to load min/max values.</source>
-        <translation type="vanished">Por favor, seleccione una opción para cargar los valores mín/máx.</translation>
+        <translation>Por favor, seleccione una opción para cargar los valores mín/máx.</translation>
     </message>
 </context>
 <context>
@@ -103846,7 +103846,7 @@ especificadas más abajo.</translation>
     </message>
     <message>
         <source>Load min/max values</source>
-        <translation type="vanished">Cargar valores min /max </translation>
+        <translation>Cargar valores min /max </translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterminmaxwidgetbase.ui" line="32"/>
@@ -103908,11 +103908,11 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>Min / max</source>
-        <translation type="vanished">Min / max</translation>
+        <translation>Min / max</translation>
     </message>
     <message>
         <source>Clip extent to canvas</source>
-        <translation type="vanished">Cortar extensión al lienzo</translation>
+        <translation>Cortar extensión al lienzo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrasterminmaxwidgetbase.ui" line="206"/>
@@ -103931,7 +103931,7 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>Load</source>
-        <translation type="vanished">Cargar</translation>
+        <translation>Cargar</translation>
     </message>
 </context>
 <context>
@@ -104014,224 +104014,224 @@ des&viación estándar ×</translation>
     <name>QgsRasterRenderer</name>
     <message>
         <source>Unknown</source>
-        <translation type="vanished">Desconocido</translation>
+        <translation>Desconocido</translation>
     </message>
     <message>
         <source>Exact</source>
-        <translation type="vanished">Exacto</translation>
+        <translation>Exacto</translation>
     </message>
     <message>
         <source>standard deviation</source>
-        <translation type="vanished">desviación estándar</translation>
+        <translation>desviación estándar</translation>
     </message>
 </context>
 <context>
     <name>QgsRasterTerrainAnalysisDialog</name>
     <message>
         <source>Export Frequency distribution as csv</source>
-        <translation type="vanished">Exportar distribución de frecuencia como CSV</translation>
+        <translation>Exportar distribución de frecuencia como CSV</translation>
     </message>
     <message>
         <source>Export Colors and elevations as xml</source>
-        <translation type="vanished">Exportar colores y altitudes como XML</translation>
+        <translation>Exportar colores y altitudes como XML</translation>
     </message>
     <message>
         <source>Import Colors and elevations from xml</source>
-        <translation type="vanished">Importar colores y altitudes de XML</translation>
+        <translation>Importar colores y altitudes de XML</translation>
     </message>
     <message>
         <source>Error opening file</source>
-        <translation type="vanished">Error al abrir el archivo</translation>
+        <translation>Error al abrir el archivo</translation>
     </message>
     <message>
         <source>The relief color file could not be opened</source>
-        <translation type="vanished">No se pudo abrir el archivo de colores de relieve</translation>
+        <translation>No se pudo abrir el archivo de colores de relieve</translation>
     </message>
     <message>
         <source>Error parsing xml</source>
-        <translation type="vanished">Error al analizar XML</translation>
+        <translation>Error al analizar XML</translation>
     </message>
     <message>
         <source>The xml file could not be loaded</source>
-        <translation type="vanished">No se pudo cargar el archivo XML</translation>
+        <translation>No se pudo cargar el archivo XML</translation>
     </message>
     <message>
         <source>Enter result file</source>
-        <translation type="vanished">introduzca archivo de resultado</translation>
+        <translation>introduzca archivo de resultado</translation>
     </message>
     <message>
         <source>Enter lower elevation class bound</source>
-        <translation type="vanished">Introducir límite de clase de altitud inferior</translation>
+        <translation>Introducir límite de clase de altitud inferior</translation>
     </message>
     <message>
         <source>Elevation</source>
-        <translation type="vanished">Elevación</translation>
+        <translation>Elevación</translation>
     </message>
     <message>
         <source>Enter upper elevation class bound</source>
-        <translation type="vanished">Introducir límite de clase de altitud superior</translation>
+        <translation>Introducir límite de clase de altitud superior</translation>
     </message>
     <message>
         <source>Select color for relief class</source>
-        <translation type="vanished">Seleccionar color para la clase de color</translation>
+        <translation>Seleccionar color para la clase de color</translation>
     </message>
 </context>
 <context>
     <name>QgsRasterTerrainAnalysisDialogBase</name>
     <message>
         <source>Dialog</source>
-        <translation type="vanished">Diálogo</translation>
+        <translation>Diálogo</translation>
     </message>
     <message>
         <source>Elevation layer</source>
-        <translation type="vanished">Capa de altitud</translation>
+        <translation>Capa de altitud</translation>
     </message>
     <message>
         <source>Output layer</source>
-        <translation type="vanished">Capa de salida</translation>
+        <translation>Capa de salida</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Output format</source>
-        <translation type="vanished">Formato de salida</translation>
+        <translation>Formato de salida</translation>
     </message>
     <message>
         <source>Z factor</source>
-        <translation type="vanished">Factor Z</translation>
+        <translation>Factor Z</translation>
     </message>
     <message>
         <source>Add result to project</source>
-        <translation type="vanished">Añadir resultados al proyecto</translation>
+        <translation>Añadir resultados al proyecto</translation>
     </message>
     <message>
         <source>Illumination</source>
-        <translation type="vanished">Iluminación</translation>
+        <translation>Iluminación</translation>
     </message>
     <message>
         <source>Azimuth (horizontal angle)</source>
-        <translation type="vanished">Azimut (ángulo horizontal)</translation>
+        <translation>Azimut (ángulo horizontal)</translation>
     </message>
     <message>
         <source>Vertical angle</source>
-        <translation type="vanished">Ángulo vertical</translation>
+        <translation>Ángulo vertical</translation>
     </message>
     <message>
         <source>Relief colors</source>
-        <translation type="vanished">Colores de relieve</translation>
+        <translation>Colores de relieve</translation>
     </message>
     <message>
         <source>Create automatically</source>
-        <translation type="vanished">Crear automáticamente</translation>
+        <translation>Crear automáticamente</translation>
     </message>
     <message>
         <source>Export distribution...</source>
-        <translation type="vanished">Exportar distribución...</translation>
+        <translation>Exportar distribución...</translation>
     </message>
     <message>
         <source>Up</source>
-        <translation type="vanished">Arriba</translation>
+        <translation>Arriba</translation>
     </message>
     <message>
         <source>Down</source>
-        <translation type="vanished">Abajo</translation>
+        <translation>Abajo</translation>
     </message>
     <message>
         <source>+</source>
-        <translation type="vanished">+</translation>
+        <translation>+</translation>
     </message>
     <message>
         <source>-</source>
-        <translation type="vanished">-</translation>
+        <translation>-</translation>
     </message>
     <message>
         <source>Lower bound</source>
-        <translation type="vanished">Límite inferior</translation>
+        <translation>Límite inferior</translation>
     </message>
     <message>
         <source>Upper bound</source>
-        <translation type="vanished">Límite superior</translation>
+        <translation>Límite superior</translation>
     </message>
     <message>
         <source>Color</source>
-        <translation type="vanished">Color</translation>
+        <translation>Color</translation>
     </message>
     <message>
         <source>Export colors...</source>
-        <translation type="vanished">Exportar colores...</translation>
+        <translation>Exportar colores...</translation>
     </message>
     <message>
         <source>Import colors...</source>
-        <translation type="vanished">Inportar colores...</translation>
+        <translation>Inportar colores...</translation>
     </message>
 </context>
 <context>
     <name>QgsRasterTerrainAnalysisPlugin</name>
     <message>
         <source>Slope</source>
-        <translation type="vanished">Pendiente</translation>
+        <translation>Pendiente</translation>
     </message>
     <message>
         <source>Aspect</source>
-        <translation type="vanished">Aspecto</translation>
+        <translation>Aspecto</translation>
     </message>
     <message>
         <source>Hillshade</source>
-        <translation type="vanished">Mapa de Sombras (Hillshade)</translation>
+        <translation>Mapa de Sombras (Hillshade)</translation>
     </message>
     <message>
         <source>Terrain Analysis</source>
-        <translation type="vanished">Análisis de terreno</translation>
+        <translation>Análisis de terreno</translation>
     </message>
     <message>
         <source>Aspect...</source>
-        <translation type="vanished">Orientación...</translation>
+        <translation>Orientación...</translation>
     </message>
     <message>
         <source>Hillshade...</source>
-        <translation type="vanished">Mapa de Sombras (Hillshade)...</translation>
+        <translation>Mapa de Sombras (Hillshade)...</translation>
     </message>
     <message>
         <source>Relief...</source>
-        <translation type="vanished">Relieve...</translation>
+        <translation>Relieve...</translation>
     </message>
     <message>
         <source>Ruggedness Index...</source>
-        <translation type="vanished">Índice de escabrosidad...</translation>
+        <translation>Índice de escabrosidad...</translation>
     </message>
     <message>
         <source>Relief</source>
-        <translation type="vanished">Relieve</translation>
+        <translation>Relieve</translation>
     </message>
     <message>
         <source>Calculating hillshade...</source>
-        <translation type="vanished">Calculando mapa de sombras...</translation>
+        <translation>Calculando mapa de sombras...</translation>
     </message>
     <message>
         <source>Abort</source>
-        <translation type="vanished">Abortar</translation>
+        <translation>Abortar</translation>
     </message>
     <message>
         <source>Calculating relief...</source>
-        <translation type="vanished">Calculando relieve...</translation>
+        <translation>Calculando relieve...</translation>
     </message>
     <message>
         <source>Calculating slope...</source>
-        <translation type="vanished">Calculando pendiente...</translation>
+        <translation>Calculando pendiente...</translation>
     </message>
     <message>
         <source>Calculating aspect...</source>
-        <translation type="vanished">Calculando orientación...</translation>
+        <translation>Calculando orientación...</translation>
     </message>
     <message>
         <source>Ruggedness</source>
-        <translation type="vanished">Irregularidad</translation>
+        <translation>Irregularidad</translation>
     </message>
     <message>
         <source>Calculating ruggedness...</source>
-        <translation type="vanished">Calculando irregularidad...</translation>
+        <translation>Calculando irregularidad...</translation>
     </message>
 </context>
 <context>
@@ -104259,7 +104259,7 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>No data value:</source>
-        <translation type="vanished">Valores sin datos</translation>
+        <translation>Valores sin datos</translation>
     </message>
     <message>
         <location filename="../src/ui/raster/qgsrastertransparencywidget.ui" line="99"/>
@@ -104284,11 +104284,11 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>Global transparency</source>
-        <translation type="vanished">Transparencia global</translation>
+        <translation>Transparencia global</translation>
     </message>
     <message>
         <source><p align="right">Full</p></source>
-        <translation type="vanished"><p align="right">Total</p></translation>
+        <translation><p align="right">Total</p></translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgsrastertransparencywidget.cpp" line="84"/>
@@ -104297,7 +104297,7 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source> 00%</source>
-        <translation type="vanished"> 00%</translation>
+        <translation> 00%</translation>
     </message>
     <message>
         <location filename="../src/ui/raster/qgsrastertransparencywidget.ui" line="141"/>
@@ -104321,7 +104321,7 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/raster/qgsrastertransparencywidget.ui" line="244"/>
@@ -104370,7 +104370,7 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>Save file</source>
-        <translation type="vanished">Guardar archivo</translation>
+        <translation>Guardar archivo</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgsrastertransparencywidget.cpp" line="225"/>
@@ -104429,7 +104429,7 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>Write access denied</source>
-        <translation type="vanished">Acceso de escritura denegado</translation>
+        <translation>Acceso de escritura denegado</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgsrastertransparencywidget.cpp" line="263"/>
@@ -104442,11 +104442,11 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>Open file</source>
-        <translation type="vanished">Abrir archivo</translation>
+        <translation>Abrir archivo</translation>
     </message>
     <message>
         <source>Import Error</source>
-        <translation type="vanished">Error de importación</translation>
+        <translation>Error de importación</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgsrastertransparencywidget.cpp" line="354"/>
@@ -104459,7 +104459,7 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>Read access denied</source>
-        <translation type="vanished">Acceso de lectura denegado</translation>
+        <translation>Acceso de lectura denegado</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgsrastertransparencywidget.cpp" line="359"/>
@@ -104518,7 +104518,7 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/editorwidgets/qgsrelationreferenceconfigdlgbase.ui" line="152"/>
@@ -104599,7 +104599,7 @@ des&viación estándar ×</translation>
     <name>QgsRelationAddDlgBase</name>
     <message>
         <source>Add relation</source>
-        <translation type="vanished">Añadir relación</translation>
+        <translation>Añadir relación</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrelationadddlgbase.ui" line="76"/>
@@ -104857,7 +104857,7 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>The relation is not valid. Please make sure your relation definitions are ok.</source>
-        <translation type="vanished">La relación no es válida. Por favor, asegúrese de que la definición de su relación es correcta.</translation>
+        <translation>La relación no es válida. Por favor, asegúrese de que la definición de su relación es correcta.</translation>
     </message>
     <message>
         <location filename="../src/gui/editorwidgets/qgsrelationreferencewidget.cpp" line="304"/>
@@ -104964,7 +104964,7 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>Select color</source>
-        <translation type="vanished">Seleccionar color</translation>
+        <translation>Seleccionar color</translation>
     </message>
 </context>
 <context>
@@ -105110,11 +105110,11 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>…</source>
-        <translation type="vanished">…</translation>
+        <translation>…</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsrendererrulepropsdialogbase.ui" line="61"/>
@@ -105138,7 +105138,7 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsrulebasedrendererwidget.cpp" line="760"/>
@@ -105156,7 +105156,7 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>Evaluation error</source>
-        <translation type="vanished">Error de evaluación</translation>
+        <translation>Error de evaluación</translation>
     </message>
     <message numerus="yes">
         <location filename="../src/gui/symbology/qgsrulebasedrendererwidget.cpp" line="796"/>
@@ -105172,121 +105172,121 @@ des&viación estándar ×</translation>
     <name>QgsRendererV2DataDefinedMenus</name>
     <message>
         <source>Rotation field</source>
-        <translation type="vanished">Campo de rotación</translation>
+        <translation>Campo de rotación</translation>
     </message>
     <message>
         <source>Size scale field</source>
-        <translation type="vanished">Campo de escala de tamaño</translation>
+        <translation>Campo de escala de tamaño</translation>
     </message>
     <message>
         <source>Scale area</source>
-        <translation type="vanished">Area de escala</translation>
+        <translation>Area de escala</translation>
     </message>
     <message>
         <source>Scale diameter</source>
-        <translation type="vanished">Diámetro de escala</translation>
+        <translation>Diámetro de escala</translation>
     </message>
     <message>
         <source>- no field -</source>
-        <translation type="vanished">- ningún campo -</translation>
+        <translation>- ningún campo -</translation>
     </message>
 </context>
 <context>
     <name>QgsRendererV2PropsDialogBase</name>
     <message>
         <source>Renderer settings</source>
-        <translation type="vanished">Configuración del renderizador</translation>
+        <translation>Configuración del renderizador</translation>
     </message>
     <message>
         <source>Layer rendering</source>
-        <translation type="vanished">Reproduccion de Capas</translation>
+        <translation>Reproduccion de Capas</translation>
     </message>
     <message>
         <source>Layer transparency</source>
-        <translation type="vanished">Transparencia de capa</translation>
+        <translation>Transparencia de capa</translation>
     </message>
     <message>
         <source>Feature blending mode</source>
-        <translation type="vanished">Modo de mezcla de objetos</translation>
+        <translation>Modo de mezcla de objetos</translation>
     </message>
     <message>
         <source>Layer blending mode</source>
-        <translation type="vanished">Modo de mezcla de capas</translation>
+        <translation>Modo de mezcla de capas</translation>
     </message>
     <message>
         <source>Control feature rendering order</source>
-        <translation type="vanished">Controlar orden de renderizado de objetos</translation>
+        <translation>Controlar orden de renderizado de objetos</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>This renderer doesn't implement a graphical interface.</source>
-        <translation type="vanished">Este renderizador no implementa una interfaz gráfica.</translation>
+        <translation>Este renderizador no implementa una interfaz gráfica.</translation>
     </message>
 </context>
 <context>
     <name>QgsRendererV2Widget</name>
     <message>
         <source>Renderer Options</source>
-        <translation type="vanished">Opciones del renderizador</translation>
+        <translation>Opciones del renderizador</translation>
     </message>
     <message>
         <source>Copy</source>
-        <translation type="vanished">Copiar</translation>
+        <translation>Copiar</translation>
     </message>
     <message>
         <source>Paste</source>
-        <translation type="vanished">Pegar</translation>
+        <translation>Pegar</translation>
     </message>
     <message>
         <source>Change color</source>
-        <translation type="vanished">Cambiar color</translation>
+        <translation>Cambiar color</translation>
     </message>
     <message>
         <source>Change transparency</source>
-        <translation type="vanished">Cambiar transparencia</translation>
+        <translation>Cambiar transparencia</translation>
     </message>
     <message>
         <source>Change output unit</source>
-        <translation type="vanished">Cambiar unidades de salida</translation>
+        <translation>Cambiar unidades de salida</translation>
     </message>
     <message>
         <source>Change width</source>
-        <translation type="vanished">Cambiar anchura</translation>
+        <translation>Cambiar anchura</translation>
     </message>
     <message>
         <source>Change size</source>
-        <translation type="vanished">Cambiar tamaño</translation>
+        <translation>Cambiar tamaño</translation>
     </message>
     <message>
         <source>Change angle</source>
-        <translation type="vanished">Cambiar ángulo</translation>
+        <translation>Cambiar ángulo</translation>
     </message>
     <message>
         <source>Transparency</source>
-        <translation type="vanished">Transparencia</translation>
+        <translation>Transparencia</translation>
     </message>
     <message>
         <source>Change symbol transparency [%]</source>
-        <translation type="vanished">Cambiar transparencia de símbolo [%]</translation>
+        <translation>Cambiar transparencia de símbolo [%]</translation>
     </message>
     <message>
         <source>Symbol unit</source>
-        <translation type="vanished">Unidades de símbolo</translation>
+        <translation>Unidades de símbolo</translation>
     </message>
     <message>
         <source>Select symbol unit</source>
-        <translation type="vanished">Seleccionar unidades de símbolo</translation>
+        <translation>Seleccionar unidades de símbolo</translation>
     </message>
     <message>
         <source>Millimeter</source>
-        <translation type="vanished">Milímetro</translation>
+        <translation>Milímetro</translation>
     </message>
     <message>
         <source>Map unit</source>
-        <translation type="vanished">Unidad de mapa</translation>
+        <translation>Unidad de mapa</translation>
     </message>
 </context>
 <context>
@@ -105379,7 +105379,7 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>Data-defined size legend</source>
-        <translation type="vanished">Tamaño de leyenda definido por datos</translation>
+        <translation>Tamaño de leyenda definido por datos</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsrendererwidget.cpp" line="291"/>
@@ -105427,11 +105427,11 @@ des&viación estándar ×</translation>
     </message>
     <message>
         <source>Add rule</source>
-        <translation type="vanished">Añadir regla</translation>
+        <translation>Añadir regla</translation>
     </message>
     <message>
         <source>Remove selected rules</source>
-        <translation type="vanished">Eliminar las reglas seleccionadas</translation>
+        <translation>Eliminar las reglas seleccionadas</translation>
     </message>
 </context>
 <context>
@@ -105823,130 +105823,130 @@ features are found</source>
     <name>QgsRuleBasedRendererV2Model</name>
     <message>
         <source>(no filter)</source>
-        <translation type="vanished">(sin filtro)</translation>
+        <translation>(sin filtro)</translation>
     </message>
     <message>
         <source><li><nobr>%1 features also in rule %2</nobr></li></source>
-        <translation type="vanished"><li><nobr>%1 objetos también en la regla %2</nobr></li></translation>
+        <translation><li><nobr>%1 objetos también en la regla %2</nobr></li></translation>
     </message>
     <message>
         <source>Label</source>
-        <translation type="vanished">Etiqueta</translation>
+        <translation>Etiqueta</translation>
     </message>
     <message>
         <source>Rule</source>
-        <translation type="vanished">Regla</translation>
+        <translation>Regla</translation>
     </message>
     <message>
         <source>Min. scale</source>
-        <translation type="vanished">Escala mínima</translation>
+        <translation>Escala mínima</translation>
     </message>
     <message>
         <source>Count</source>
-        <translation type="vanished">Número</translation>
+        <translation>Número</translation>
     </message>
     <message>
         <source>Duplicate count</source>
-        <translation type="vanished">Duplicar cuenta</translation>
+        <translation>Duplicar cuenta</translation>
     </message>
     <message>
         <source>Max. scale</source>
-        <translation type="vanished">Escala máxima</translation>
+        <translation>Escala máxima</translation>
     </message>
     <message>
         <source>Number of features in this rule.</source>
-        <translation type="vanished">Número de objetos en esta regla.</translation>
+        <translation>Número de objetos en esta regla.</translation>
     </message>
     <message>
         <source>Number of features in this rule which are also present in other rule(s).</source>
-        <translation type="vanished">Número de objetos en esta regla que también están presentes en otra(s) regla(s).</translation>
+        <translation>Número de objetos en esta regla que también están presentes en otra(s) regla(s).</translation>
     </message>
 </context>
 <context>
     <name>QgsRuleBasedRendererV2Widget</name>
     <message>
         <source>Add rule</source>
-        <translation type="vanished">Añadir regla</translation>
+        <translation>Añadir regla</translation>
     </message>
     <message>
         <source>Edit current rule</source>
-        <translation type="vanished">Editar regla actual</translation>
+        <translation>Editar regla actual</translation>
     </message>
     <message>
         <source>Remove selected rules</source>
-        <translation type="vanished">Eliminar las reglas seleccionadas</translation>
+        <translation>Eliminar las reglas seleccionadas</translation>
     </message>
     <message>
         <source>Refine selected rules</source>
-        <translation type="vanished">Refinar las reglas seleccionadas</translation>
+        <translation>Refinar las reglas seleccionadas</translation>
     </message>
     <message>
         <source>Count features</source>
-        <translation type="vanished">Contar objetos</translation>
+        <translation>Contar objetos</translation>
     </message>
     <message>
         <source>Symbol levels...</source>
-        <translation type="vanished">Niveles de símbolos...</translation>
+        <translation>Niveles de símbolos...</translation>
     </message>
     <message>
         <source>Remove Rule</source>
-        <translation type="vanished">Eliminar regla</translation>
+        <translation>Eliminar regla</translation>
     </message>
     <message>
         <source>Refine current rule</source>
-        <translation type="vanished">Refinar la regla actual</translation>
+        <translation>Refinar la regla actual</translation>
     </message>
     <message>
         <source>Add scales to rule</source>
-        <translation type="vanished">Añadir escalas a la regla</translation>
+        <translation>Añadir escalas a la regla</translation>
     </message>
     <message>
         <source>Add categories to rule</source>
-        <translation type="vanished">Añadir categorías a la regla</translation>
+        <translation>Añadir categorías a la regla</translation>
     </message>
     <message>
         <source>Add ranges to rule</source>
-        <translation type="vanished">Añadir intervalos a la regla</translation>
+        <translation>Añadir intervalos a la regla</translation>
     </message>
     <message>
         <source>Edit rule</source>
-        <translation type="vanished">Editar regla</translation>
+        <translation>Editar regla</translation>
     </message>
     <message>
         <source>Add categories to rules</source>
-        <translation type="vanished">Añadir categorías a reglas</translation>
+        <translation>Añadir categorías a reglas</translation>
     </message>
     <message>
         <source>Add ranges to rules</source>
-        <translation type="vanished">Añadir intervalos a reglas</translation>
+        <translation>Añadir intervalos a reglas</translation>
     </message>
     <message>
         <source>Scale refinement</source>
-        <translation type="vanished">Refinamiento de escala</translation>
+        <translation>Refinamiento de escala</translation>
     </message>
     <message>
         <source>Parent rule %1 must have a symbol for this operation.</source>
-        <translation type="vanished">La regla padre %1 debe tener un símbolo para esta operación.</translation>
+        <translation>La regla padre %1 debe tener un símbolo para esta operación.</translation>
     </message>
     <message>
         <source>Please enter scale denominators at which will split the rule, separate them by commas (e.g. 1000,5000):</source>
-        <translation type="vanished">Por favor, introduzca los denominadores de escala a los que dividir la regla, separados por coma (ej.: 1000,5000):</translation>
+        <translation>Por favor, introduzca los denominadores de escala a los que dividir la regla, separados por coma (ej.: 1000,5000):</translation>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <source>"%1" is not valid scale denominator, ignoring it.</source>
-        <translation type="vanished">"%1" no es un denominador de escala válido, se ignora.</translation>
+        <translation>"%1" no es un denominador de escala válido, se ignora.</translation>
     </message>
     <message>
         <source>Calculating feature count.</source>
-        <translation type="vanished">Calculando el número de objetos.</translation>
+        <translation>Calculando el número de objetos.</translation>
     </message>
     <message>
         <source>Abort</source>
-        <translation type="vanished">Abortar</translation>
+        <translation>Abortar</translation>
     </message>
 </context>
 <context>
@@ -106008,19 +106008,19 @@ features are found</source>
     </message>
     <message>
         <source>Edit rule</source>
-        <translation type="vanished">Editar regla</translation>
+        <translation>Editar regla</translation>
     </message>
     <message>
         <source>Add categories to rules</source>
-        <translation type="vanished">Añadir categorías a reglas</translation>
+        <translation>Añadir categorías a reglas</translation>
     </message>
     <message>
         <source>Add ranges to rules</source>
-        <translation type="vanished">Añadir intervalos a reglas</translation>
+        <translation>Añadir intervalos a reglas</translation>
     </message>
     <message>
         <source>Scale refinement</source>
-        <translation type="vanished">Refinamiento de escala</translation>
+        <translation>Refinamiento de escala</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsrulebasedrendererwidget.cpp" line="189"/>
@@ -106056,7 +106056,7 @@ features are found</source>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsrulebasedrendererwidget.cpp" line="319"/>
@@ -106162,23 +106162,23 @@ features are found</source>
     </message>
     <message>
         <source>Copying features...</source>
-        <translation type="vanished">Copiando objetos...</translation>
+        <translation>Copiando objetos...</translation>
     </message>
     <message>
         <source>Abort</source>
-        <translation type="vanished">Abortar</translation>
+        <translation>Abortar</translation>
     </message>
     <message>
         <source>Import layer</source>
-        <translation type="vanished">Importar capa</translation>
+        <translation>Importar capa</translation>
     </message>
     <message>
         <source>%1: Not a vector layer!</source>
-        <translation type="vanished">%1: ¡No es una capa vectorial!</translation>
+        <translation>%1: ¡No es una capa vectorial!</translation>
     </message>
     <message>
         <source>%1: OK!</source>
-        <translation type="vanished">%1: ¡Correcto!</translation>
+        <translation>%1: ¡Correcto!</translation>
     </message>
     <message>
         <location filename="../src/providers/spatialite/qgsspatialitedataitems.cpp" line="238"/>
@@ -106189,7 +106189,7 @@ features are found</source>
     </message>
     <message>
         <source>Import cancelled.</source>
-        <translation type="vanished">Importación cancelada.</translation>
+        <translation>Importación cancelada.</translation>
     </message>
     <message>
         <location filename="../src/providers/spatialite/qgsspatialitedataitems.cpp" line="268"/>
@@ -106225,11 +106225,11 @@ features are found</source>
     <name>QgsSLRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <source>Create Database...</source>
-        <translation type="vanished">Crear base de datos...</translation>
+        <translation>Crear base de datos...</translation>
     </message>
     <message>
         <location filename="../src/providers/spatialite/qgsspatialitedataitems.cpp" line="302"/>
@@ -106268,15 +106268,15 @@ features are found</source>
     <name>QgsSQLComposerDialog</name>
     <message>
         <source>An error occurred during evaluation of the SQL statement</source>
-        <translation type="vanished">Ocurrió un error al evaluar la sentencia SQL</translation>
+        <translation>Ocurrió un error al evaluar la sentencia SQL</translation>
     </message>
     <message>
         <source>SQL error</source>
-        <translation type="vanished">Error de SQL</translation>
+        <translation>Error de SQL</translation>
     </message>
     <message>
         <source>SQL warning</source>
-        <translation type="vanished">Advertencia de SQL</translation>
+        <translation>Advertencia de SQL</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssqlcomposerdialog.cpp" line="215"/>
@@ -106291,11 +106291,11 @@ features are found</source>
     </message>
     <message>
         <source>SQL Error</source>
-        <translation type="vanished">Error de SQL</translation>
+        <translation>Error de SQL</translation>
     </message>
     <message>
         <source>SQL Warning</source>
-        <translation type="vanished">Advertencia de SQL</translation>
+        <translation>Advertencia de SQL</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssqlcomposerdialog.cpp" line="778"/>
@@ -106311,7 +106311,7 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     <name>QgsSQLComposerDialogBase</name>
     <message>
         <source>SQL query composer</source>
-        <translation type="vanished">Constructor de consultas SQL</translation>
+        <translation>Constructor de consultas SQL</translation>
     </message>
     <message>
         <location filename="../src/ui/qgssqlcomposerdialogbase.ui" line="14"/>
@@ -106435,7 +106435,7 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     </message>
     <message>
         <source>[unsupported type;%1; value:%2]</source>
-        <translation type="vanished">[tipo no admitido; %1; valor: %2]</translation>
+        <translation>[tipo no admitido; %1; valor: %2]</translation>
     </message>
 </context>
 <context>
@@ -106447,11 +106447,11 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     </message>
     <message>
         <source>Select fill color</source>
-        <translation type="vanished">Seleccionar color de relleno</translation>
+        <translation>Seleccionar color de relleno</translation>
     </message>
     <message>
         <source>Select border color</source>
-        <translation type="vanished">Seleccionar color de borde</translation>
+        <translation>Seleccionar color de borde</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgssymbollayerwidget.cpp" line="2309"/>
@@ -106470,7 +106470,7 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     </message>
     <message>
         <source>Select SVG texture file</source>
-        <translation type="vanished">Seleccionar archivo de textura SVG</translation>
+        <translation>Seleccionar archivo de textura SVG</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgssymbollayerwidget.cpp" line="2376"/>
@@ -106482,15 +106482,15 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     <name>QgsSaveStyleToDbDialog</name>
     <message>
         <source>Save style in database</source>
-        <translation type="vanished">Guardar estilo en la base de datos</translation>
+        <translation>Guardar estilo en la base de datos</translation>
     </message>
     <message>
         <source>A name is mandatory</source>
-        <translation type="vanished">Es obligatorio un nombre</translation>
+        <translation>Es obligatorio un nombre</translation>
     </message>
     <message>
         <source>Attach Qt Designer UI file</source>
-        <translation type="vanished">Adjuntar archivo UI de Qt Designer</translation>
+        <translation>Adjuntar archivo UI de Qt Designer</translation>
     </message>
     <message>
         <location filename="../src/app/qgssavestyletodbdialog.cpp" line="72"/>
@@ -106519,7 +106519,7 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     </message>
     <message>
         <source>Wrong file</source>
-        <translation type="vanished">Archivo incorrecto</translation>
+        <translation>Archivo incorrecto</translation>
     </message>
     <message>
         <location filename="../src/app/qgssavestyletodbdialog.cpp" line="102"/>
@@ -106531,7 +106531,7 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     <name>QgsSaveToDBDialog</name>
     <message>
         <source>Save style</source>
-        <translation type="vanished">Guardar estilo</translation>
+        <translation>Guardar estilo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgssavetodbdialog.ui" line="14"/>
@@ -106588,7 +106588,7 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     </message>
     <message>
         <source>Minimum scale, i.e. maximum scale denominator. This limit is exclusive, that means the layer will not be displayed on this scale.</source>
-        <translation type="vanished">Escala mínima, esto es denominador máximo de la escala. Este límite es excluyente, esto significa que la capa no se mostrará a esta escala.</translation>
+        <translation>Escala mínima, esto es denominador máximo de la escala. Este límite es excluyente, esto significa que la capa no se mostrará a esta escala.</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsscalerangewidget.cpp" line="33"/>
@@ -106597,7 +106597,7 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     </message>
     <message>
         <source>Maximum scale, i.e. minimum scale denominator. This limit is inclusive, that means the layer will be displayed on this scale.</source>
-        <translation type="vanished">Escala máxima, esto es denominador mínimo de la escala. Este límite es incluyente, esto significa que la capa se mostrará a esta escala.</translation>
+        <translation>Escala máxima, esto es denominador mínimo de la escala. Este límite es incluyente, esto significa que la capa se mostrará a esta escala.</translation>
     </message>
 </context>
 <context>
@@ -106654,7 +106654,7 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     <name>QgsSearchQueryBuilder</name>
     <message>
         <source>Search query builder</source>
-        <translation type="vanished">Constructor de consultas de búsqueda</translation>
+        <translation>Constructor de consultas de búsqueda</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssearchquerybuilder.cpp" line="63"/>
@@ -106731,7 +106731,7 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     </message>
     <message>
         <source>&Save...</source>
-        <translation type="vanished">&Guardar...</translation>
+        <translation>&Guardar...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssearchquerybuilder.cpp" line="75"/>
@@ -106740,7 +106740,7 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     </message>
     <message>
         <source>&Load...</source>
-        <translation type="vanished">Car&gar...</translation>
+        <translation>Car&gar...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssearchquerybuilder.cpp" line="73"/>
@@ -106759,7 +106759,7 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     </message>
     <message>
         <source>Search results</source>
-        <translation type="vanished">Resultados de la búsqueda</translation>
+        <translation>Resultados de la búsqueda</translation>
     </message>
     <message numerus="yes">
         <location filename="../src/gui/qgssearchquerybuilder.cpp" line="198"/>
@@ -106772,19 +106772,19 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     </message>
     <message>
         <source>Search string parsing error</source>
-        <translation type="vanished">Error al analizar la cadena de búsqueda</translation>
+        <translation>Error al analizar la cadena de búsqueda</translation>
     </message>
     <message>
         <source>Evaluation error</source>
-        <translation type="vanished">Error de evaluación</translation>
+        <translation>Error de evaluación</translation>
     </message>
     <message>
         <source>Error during search</source>
-        <translation type="vanished">Error durante la búsqueda</translation>
+        <translation>Error durante la búsqueda</translation>
     </message>
     <message>
         <source>No Records</source>
-        <translation type="vanished">Ningún registro</translation>
+        <translation>Ningún registro</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssearchquerybuilder.cpp" line="274"/>
@@ -106793,19 +106793,19 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     </message>
     <message>
         <source>Save query to file</source>
-        <translation type="vanished">Guardar consulta a archivo</translation>
+        <translation>Guardar consulta a archivo</translation>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <source>Could not open file for writing</source>
-        <translation type="vanished">No se pudo abrir el archivo para escritura</translation>
+        <translation>No se pudo abrir el archivo para escritura</translation>
     </message>
     <message>
         <source>Load query from file</source>
-        <translation type="vanished">Cargar consulta de archivos</translation>
+        <translation>Cargar consulta de archivos</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssearchquerybuilder.cpp" line="419"/>
@@ -106819,23 +106819,23 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     </message>
     <message>
         <source>Could not open file for reading</source>
-        <translation type="vanished">No se pudo abrir el archivo para lectura</translation>
+        <translation>No se pudo abrir el archivo para lectura</translation>
     </message>
     <message>
         <source>File is not a valid xml document</source>
-        <translation type="vanished">El archivo no es un documento xml válido</translation>
+        <translation>El archivo no es un documento xml válido</translation>
     </message>
     <message>
         <source>File is not a valid query document</source>
-        <translation type="vanished">El archivo no es un documento de consulta válido</translation>
+        <translation>El archivo no es un documento de consulta válido</translation>
     </message>
     <message>
         <source>Select attribute</source>
-        <translation type="vanished">Seleccionar atributo</translation>
+        <translation>Seleccionar atributo</translation>
     </message>
     <message>
         <source>There is no attribute '%1' in the current vector layer. Please select an existing attribute</source>
-        <translation type="vanished">No hay ningún atributo '%1' en la capa vectorial actual. Por favor, seleccione un atributo existente.</translation>
+        <translation>No hay ningún atributo '%1' en la capa vectorial actual. Por favor, seleccione un atributo existente.</translation>
     </message>
 </context>
 <context>
@@ -106851,7 +106851,7 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     <name>QgsSelectByFormDialog</name>
     <message>
         <source>Select features by value</source>
-        <translation type="vanished">Seleccionar objetos por valor</translation>
+        <translation>Seleccionar objetos por valor</translation>
     </message>
     <message>
         <location filename="../src/app/qgsselectbyformdialog.cpp" line="47"/>
@@ -106931,7 +106931,7 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     <name>QgsShadowEffectWidget</name>
     <message>
         <source>Select shadow color</source>
-        <translation type="vanished">Seleccionar color de sombra</translation>
+        <translation>Seleccionar color de sombra</translation>
     </message>
     <message>
         <location filename="../src/gui/effects/qgspainteffectwidget.cpp" line="250"/>
@@ -106943,22 +106943,22 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     <name>QgsShapeburstFillSymbolLayerV2Widget</name>
     <message>
         <source>Select gradient color</source>
-        <translation type="vanished">Seleccionar color de gradiente</translation>
+        <translation>Seleccionar color de gradiente</translation>
     </message>
     <message>
         <source>Transparent</source>
-        <translation type="vanished">Transparente</translation>
+        <translation>Transparente</translation>
     </message>
     <message>
         <source>Integer between 0 and 18</source>
-        <translation type="vanished">Entero entre 0 y 18</translation>
+        <translation>Entero entre 0 y 18</translation>
     </message>
 </context>
 <context>
     <name>QgsShapeburstFillSymbolLayerWidget</name>
     <message>
         <source>Select Gradient color</source>
-        <translation type="vanished">Seleccionar color de gradiente</translation>
+        <translation>Seleccionar color de gradiente</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgssymbollayerwidget.cpp" line="1393"/>
@@ -106977,19 +106977,19 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     <name>QgsSimpleFillSymbolLayerV2Widget</name>
     <message>
         <source>Select fill color</source>
-        <translation type="vanished">Seleccionar color de relleno</translation>
+        <translation>Seleccionar color de relleno</translation>
     </message>
     <message>
         <source>Transparent fill</source>
-        <translation type="vanished">Relleno transparente</translation>
+        <translation>Relleno transparente</translation>
     </message>
     <message>
         <source>Select border color</source>
-        <translation type="vanished">Seleccionar color de borde</translation>
+        <translation>Seleccionar color de borde</translation>
     </message>
     <message>
         <source>Transparent border</source>
-        <translation type="vanished">Borde transparente</translation>
+        <translation>Borde transparente</translation>
     </message>
 </context>
 <context>
@@ -107019,18 +107019,18 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     <name>QgsSimpleLineSymbolLayerV2Widget</name>
     <message>
         <source>Select line color</source>
-        <translation type="vanished">Seleccionar color de línea</translation>
+        <translation>Seleccionar color de línea</translation>
     </message>
     <message>
         <source>Width Assistant...</source>
-        <translation type="vanished">Asistente de anchura...</translation>
+        <translation>Asistente de anchura...</translation>
     </message>
 </context>
 <context>
     <name>QgsSimpleLineSymbolLayerWidget</name>
     <message>
         <source>Select Line color</source>
-        <translation type="vanished">Seleccionar color de línea</translation>
+        <translation>Seleccionar color de línea</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgssymbollayerwidget.cpp" line="190"/>
@@ -107042,27 +107042,27 @@ tablas seleccionadas y solo se puede usar como columna de geometría de la capa
     <name>QgsSimpleMarkerSymbolLayerV2Widget</name>
     <message>
         <source>Select fill color</source>
-        <translation type="vanished">Seleccionar color de relleno</translation>
+        <translation>Seleccionar color de relleno</translation>
     </message>
     <message>
         <source>Transparent fill</source>
-        <translation type="vanished">Relleno transparente</translation>
+        <translation>Relleno transparente</translation>
     </message>
     <message>
         <source>Select border color</source>
-        <translation type="vanished">Seleccionar color de borde</translation>
+        <translation>Seleccionar color de borde</translation>
     </message>
     <message>
         <source>Transparent border</source>
-        <translation type="vanished">Borde transparente</translation>
+        <translation>Borde transparente</translation>
     </message>
     <message>
         <source>Size Assistant...</source>
-        <translation type="vanished">Asistente de tamaño...</translation>
+        <translation>Asistente de tamaño...</translation>
     </message>
     <message>
         <source>string </source>
-        <translation type="vanished">cadena</translation>
+        <translation>cadena</translation>
     </message>
 </context>
 <context>
@@ -107228,11 +107228,11 @@ contraste</translation>
     </message>
     <message>
         <source>The color map for band %1 has no entries</source>
-        <translation type="vanished">El mapa de color para la banda %1 no tiene entradas</translation>
+        <translation>El mapa de color para la banda %1 no tiene entradas</translation>
     </message>
     <message>
         <source>Open file</source>
-        <translation type="vanished">Abrir archivo</translation>
+        <translation>Abrir archivo</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgssinglebandpseudocolorrendererwidget.cpp" line="466"/>
@@ -107242,7 +107242,7 @@ contraste</translation>
     </message>
     <message>
         <source>Import Error</source>
-        <translation type="vanished">Error de importación</translation>
+        <translation>Error de importación</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgssinglebandpseudocolorrendererwidget.cpp" line="539"/>
@@ -107253,7 +107253,7 @@ contraste</translation>
     </message>
     <message>
         <source>Read access denied</source>
-        <translation type="vanished">Acceso de lectura denegado</translation>
+        <translation>Acceso de lectura denegado</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgssinglebandpseudocolorrendererwidget.cpp" line="544"/>
@@ -107264,7 +107264,7 @@ contraste</translation>
     </message>
     <message>
         <source>Save file</source>
-        <translation type="vanished">Guardar archivo</translation>
+        <translation>Guardar archivo</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgssinglebandpseudocolorrendererwidget.cpp" line="567"/>
@@ -107273,7 +107273,7 @@ contraste</translation>
     </message>
     <message>
         <source>Write access denied</source>
-        <translation type="vanished">Acceso de escritura denegado</translation>
+        <translation>Acceso de escritura denegado</translation>
     </message>
     <message>
         <location filename="../src/gui/raster/qgssinglebandpseudocolorrendererwidget.cpp" line="613"/>
@@ -107349,7 +107349,7 @@ contraste</translation>
     </message>
     <message>
         <source>Remove selected row</source>
-        <translation type="vanished">Eliminar la fila seleccionada</translation>
+        <translation>Eliminar la fila seleccionada</translation>
     </message>
     <message>
         <location filename="../src/ui/qgssinglebandpseudocolorrendererwidgetbase.ui" line="181"/>
@@ -107369,7 +107369,7 @@ contraste</translation>
     <message>
         <source>Min / max 
 origin:</source>
-        <translation type="vanished">Mín / máx 
+        <translation>Mín / máx 
 origen:</translation>
     </message>
     <message>
@@ -107416,7 +107416,7 @@ sufijo</translation>
     </message>
     <message>
         <source>Edit</source>
-        <translation type="vanished">Editar</translation>
+        <translation>Editar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgssinglebandpseudocolorrendererwidgetbase.ui" line="244"/>
@@ -107440,7 +107440,7 @@ sufijo</translation>
     </message>
     <message>
         <source>Invert</source>
-        <translation type="vanished">Invertir</translation>
+        <translation>Invertir</translation>
     </message>
     <message>
         <location filename="../src/ui/qgssinglebandpseudocolorrendererwidgetbase.ui" line="232"/>
@@ -107457,18 +107457,18 @@ sufijo</translation>
     <name>QgsSingleSymbolRendererV2Widget</name>
     <message>
         <source>Symbol levels...</source>
-        <translation type="vanished">Niveles de símbolos...</translation>
+        <translation>Niveles de símbolos...</translation>
     </message>
 </context>
 <context>
     <name>QgsSingleSymbolRendererWidget</name>
     <message>
         <source>Symbol levels...</source>
-        <translation type="vanished">Niveles de símbolos...</translation>
+        <translation>Niveles de símbolos...</translation>
     </message>
     <message>
         <source>Data-defined size legend...</source>
-        <translation type="vanished">Tamaño de leyenda definido por datos...</translation>
+        <translation>Tamaño de leyenda definido por datos...</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgssinglesymbolrendererwidget.cpp" line="68"/>
@@ -107485,23 +107485,23 @@ sufijo</translation>
     <name>QgsSizeScaleWidget</name>
     <message>
         <source>Compute from layer</source>
-        <translation type="vanished">Procesar a partir de capa</translation>
+        <translation>Procesar a partir de capa</translation>
     </message>
     <message>
         <source>Surface</source>
-        <translation type="vanished">Superficie</translation>
+        <translation>Superficie</translation>
     </message>
     <message>
         <source>Radius</source>
-        <translation type="vanished">Radio</translation>
+        <translation>Radio</translation>
     </message>
     <message>
         <source>Exponential</source>
-        <translation type="vanished">Exponencial</translation>
+        <translation>Exponencial</translation>
     </message>
     <message>
         <source>Linear</source>
-        <translation type="vanished">Lineal</translation>
+        <translation>Lineal</translation>
     </message>
 </context>
 <context>
@@ -107559,7 +107559,7 @@ sufijo</translation>
     </message>
     <message>
         <source>Invalid name</source>
-        <translation type="vanished">Nombre no válido</translation>
+        <translation>Nombre no válido</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgssmartgroupeditordialog.cpp" line="197"/>
@@ -107568,7 +107568,7 @@ sufijo</translation>
     </message>
     <message>
         <source>The smart group name field is empty. Kindly provide a name</source>
-        <translation type="vanished">El nombre de campo del grupo inteligente está vacío. Por favor indique un nombre</translation>
+        <translation>El nombre de campo del grupo inteligente está vacío. Por favor indique un nombre</translation>
     </message>
 </context>
 <context>
@@ -107603,110 +107603,110 @@ sufijo</translation>
     <name>QgsSnappingDialog</name>
     <message>
         <source>Snapping and Digitizing Options</source>
-        <translation type="vanished">Opciones de autoensamblado y digitalización</translation>
+        <translation>Opciones de autoensamblado y digitalización</translation>
     </message>
     <message>
         <source>to vertex</source>
-        <translation type="vanished">a vértice</translation>
+        <translation>a vértice</translation>
     </message>
     <message>
         <source>to segment</source>
-        <translation type="vanished">a segmento</translation>
+        <translation>a segmento</translation>
     </message>
     <message>
         <source>to vertex and segment</source>
-        <translation type="vanished">a vértice y segmento</translation>
+        <translation>a vértice y segmento</translation>
     </message>
     <message>
         <source>map units</source>
-        <translation type="vanished">unidades de mapa</translation>
+        <translation>unidades de mapa</translation>
     </message>
     <message>
         <source>pixels</source>
-        <translation type="vanished">píxeles</translation>
+        <translation>píxeles</translation>
     </message>
     <message>
         <source>To vertex</source>
-        <translation type="vanished">A vértice</translation>
+        <translation>A vértice</translation>
     </message>
     <message>
         <source>To segment</source>
-        <translation type="vanished">A segmento</translation>
+        <translation>A segmento</translation>
     </message>
     <message>
         <source>To vertex and segment</source>
-        <translation type="vanished">A vértice y segmento</translation>
+        <translation>A vértice y segmento</translation>
     </message>
     <message>
         <source>Off</source>
-        <translation type="vanished">Desconectado</translation>
+        <translation>Desconectado</translation>
     </message>
     <message>
         <source>layer units</source>
-        <translation type="vanished">unidades de la capa</translation>
+        <translation>unidades de la capa</translation>
     </message>
 </context>
 <context>
     <name>QgsSnappingDialogBase</name>
     <message>
         <source>Snapping options</source>
-        <translation type="vanished">Opciones de autoensamblado</translation>
+        <translation>Opciones de autoensamblado</translation>
     </message>
     <message>
         <source>Layer</source>
-        <translation type="vanished">Capa</translation>
+        <translation>Capa</translation>
     </message>
     <message>
         <source>Mode</source>
-        <translation type="vanished">Modo</translation>
+        <translation>Modo</translation>
     </message>
     <message>
         <source>Tolerance</source>
-        <translation type="vanished">Tolerancia</translation>
+        <translation>Tolerancia</translation>
     </message>
     <message>
         <source>Layer selection</source>
-        <translation type="vanished">Selección de capa</translation>
+        <translation>Selección de capa</translation>
     </message>
     <message>
         <source>All visible layers</source>
-        <translation type="vanished">Todas las capas visibles</translation>
+        <translation>Todas las capas visibles</translation>
     </message>
     <message>
         <source>Units</source>
-        <translation type="vanished">Unidades</translation>
+        <translation>Unidades</translation>
     </message>
     <message>
         <source>Avoid intersections</source>
-        <translation type="vanished">Evitar intersecciones</translation>
+        <translation>Evitar intersecciones</translation>
     </message>
     <message>
         <source>Avoid intersections of new polygons</source>
-        <translation type="vanished">Evitar intersecciones de nuevos polígonos</translation>
+        <translation>Evitar intersecciones de nuevos polígonos</translation>
     </message>
     <message>
         <source>Enable topological editing</source>
-        <translation type="vanished">Habilitar edición topológica</translation>
+        <translation>Habilitar edición topológica</translation>
     </message>
     <message>
         <source>Current layer</source>
-        <translation type="vanished">Capa actual</translation>
+        <translation>Capa actual</translation>
     </message>
     <message>
         <source>Advanced</source>
-        <translation type="vanished">Avanzado</translation>
+        <translation>Avanzado</translation>
     </message>
     <message>
         <source>Snap to</source>
-        <translation type="vanished">Autoensamblar a</translation>
+        <translation>Autoensamblar a</translation>
     </message>
     <message>
         <source>map units</source>
-        <translation type="vanished">unidades de mapa</translation>
+        <translation>unidades de mapa</translation>
     </message>
     <message>
         <source>pixels</source>
-        <translation type="vanished">píxeles</translation>
+        <translation>píxeles</translation>
     </message>
 </context>
 <context>
@@ -107774,7 +107774,7 @@ sufijo</translation>
     <name>QgsSnappingWidget</name>
     <message>
         <source>Enable Snapping</source>
-        <translation type="vanished">Habilitar autoensamblado</translation>
+        <translation>Habilitar autoensamblado</translation>
     </message>
     <message>
         <location filename="../src/app/qgssnappingwidget.cpp" line="92"/>
@@ -107880,7 +107880,7 @@ sufijo</translation>
     </message>
     <message>
         <source>topological editing</source>
-        <translation type="vanished">edición topológica </translation>
+        <translation>edición topológica </translation>
     </message>
     <message>
         <location filename="../src/app/qgssnappingwidget.cpp" line="165"/>
@@ -107889,7 +107889,7 @@ sufijo</translation>
     </message>
     <message>
         <source>snapping on intersection</source>
-        <translation type="vanished">autoensamblado en intersecciones</translation>
+        <translation>autoensamblado en intersecciones</translation>
     </message>
     <message>
         <location filename="../src/app/qgssnappingwidget.cpp" line="173"/>
@@ -107898,7 +107898,7 @@ sufijo</translation>
     </message>
     <message>
         <source>enable tracing</source>
-        <translation type="vanished">habilitar trazado</translation>
+        <translation>habilitar trazado</translation>
     </message>
     <message>
         <location filename="../src/app/qgssnappingwidget.cpp" line="181"/>
@@ -108012,7 +108012,7 @@ sufijo</translation>
     </message>
     <message>
         <source>Failed to add field</source>
-        <translation type="vanished">No se pudo añadir el campo</translation>
+        <translation>No se pudo añadir el campo</translation>
     </message>
     <message>
         <location filename="../src/app/qgssourcefieldsproperties.cpp" line="277"/>
@@ -108036,7 +108036,7 @@ sufijo</translation>
     </message>
     <message>
         <source>Failed to rename field</source>
-        <translation type="vanished">No se pudo cambiar el nombre del campo</translation>
+        <translation>No se pudo cambiar el nombre del campo</translation>
     </message>
     <message>
         <location filename="../src/app/qgssourcefieldsproperties.cpp" line="390"/>
@@ -108048,117 +108048,117 @@ sufijo</translation>
     <name>QgsSourceSelectBase</name>
     <message>
         <source>Server connections</source>
-        <translation type="vanished">Conexiones de servidor</translation>
+        <translation>Conexiones de servidor</translation>
     </message>
     <message>
         <source>C&onnect</source>
-        <translation type="vanished">Co&nectar</translation>
+        <translation>Co&nectar</translation>
     </message>
     <message>
         <source>&New</source>
-        <translation type="vanished">&Nuevo</translation>
+        <translation>&Nuevo</translation>
     </message>
     <message>
         <source>Edit</source>
-        <translation type="vanished">Editar</translation>
+        <translation>Editar</translation>
     </message>
     <message>
         <source>Remove</source>
-        <translation type="vanished">Eliminar</translation>
+        <translation>Eliminar</translation>
     </message>
     <message>
         <source>Load connections from file</source>
-        <translation type="vanished">Cargar conexiones de archivo</translation>
+        <translation>Cargar conexiones de archivo</translation>
     </message>
     <message>
         <source>Load</source>
-        <translation type="vanished">Cargar</translation>
+        <translation>Cargar</translation>
     </message>
     <message>
         <source>Save connections to file</source>
-        <translation type="vanished">Guardar conexiones a archivo</translation>
+        <translation>Guardar conexiones a archivo</translation>
     </message>
     <message>
         <source>Save</source>
-        <translation type="vanished">Guardar</translation>
+        <translation>Guardar</translation>
     </message>
     <message>
         <source>Fi&lter:</source>
-        <translation type="vanished">Fi&ltrar:</translation>
+        <translation>Fi&ltrar:</translation>
     </message>
     <message>
         <source>Display WFS FeatureTypes containing this word in the title, name or abstract</source>
-        <translation type="vanished">Mostrar FeatureTypes WFS que contengan esta palabra en el título, el nombre o el resumen.</translation>
+        <translation>Mostrar FeatureTypes WFS que contengan esta palabra en el título, el nombre o el resumen.</translation>
     </message>
     <message>
         <source>Use title for layer name</source>
-        <translation type="vanished">Usar título para nombre de capa</translation>
+        <translation>Usar título para nombre de capa</translation>
     </message>
     <message>
         <source>Only request features overlapping the current view extent</source>
-        <translation type="vanished">Solicitar solo objetos que solapen con la extensión de la vista actual</translation>
+        <translation>Solicitar solo objetos que solapen con la extensión de la vista actual</translation>
     </message>
     <message>
         <source>Image encoding</source>
-        <translation type="vanished">Codificación de la imagen</translation>
+        <translation>Codificación de la imagen</translation>
     </message>
     <message>
         <source>Coordinate reference system</source>
-        <translation type="vanished">Sistema de referencia de coordenadas</translation>
+        <translation>Sistema de referencia de coordenadas</translation>
     </message>
     <message>
         <source>Change...</source>
-        <translation type="vanished">Cambiar...</translation>
+        <translation>Cambiar...</translation>
     </message>
 </context>
 <context>
     <name>QgsSourceSelectDialog</name>
     <message>
         <source>&Add</source>
-        <translation type="vanished">&Añadir</translation>
+        <translation>&Añadir</translation>
     </message>
     <message>
         <source>&Build query</source>
-        <translation type="vanished">&Construir consulta</translation>
+        <translation>&Construir consulta</translation>
     </message>
     <message>
         <source>Create a new %1 connection</source>
-        <translation type="vanished">Crear una nueva conexión %1</translation>
+        <translation>Crear una nueva conexión %1</translation>
     </message>
     <message>
         <source>Modify %1 connection</source>
-        <translation type="vanished">Modificar conexión %1</translation>
+        <translation>Modificar conexión %1</translation>
     </message>
     <message>
         <source>Are you sure you want to remove the %1 connection and all associated settings?</source>
-        <translation type="vanished">¿Seguro que quiere eliminar la conexión %1 y toda su configuración asociada?</translation>
+        <translation>¿Seguro que quiere eliminar la conexión %1 y toda su configuración asociada?</translation>
     </message>
     <message>
         <source>Confirm Delete</source>
-        <translation type="vanished">Confirmar borrado</translation>
+        <translation>Confirmar borrado</translation>
     </message>
     <message>
         <source>No Layers</source>
-        <translation type="vanished">Ninguna capa</translation>
+        <translation>Ninguna capa</translation>
     </message>
     <message>
         <source>The query returned no layers.</source>
-        <translation type="vanished">La consulta no devolvió ninguna capa.</translation>
+        <translation>La consulta no devolvió ninguna capa.</translation>
     </message>
     <message>
         <source>Load connections</source>
-        <translation type="vanished">Cargar conexiones</translation>
+        <translation>Cargar conexiones</translation>
     </message>
     <message>
         <source>XML files (*.xml *XML)</source>
-        <translation type="vanished">Archivos XML (*.xml *.XML)</translation>
+        <translation>Archivos XML (*.xml *.XML)</translation>
     </message>
 </context>
 <context>
     <name>QgsSpatiaLiteConnection</name>
     <message>
         <source>obsolete libspatialite: connecting to this DB requires using v.4.0 (or any subsequent)</source>
-        <translation type="vanished">libspatialite obsoleto: conectar a esta BD requiere usar v.4.0 (o cualquiera subsiguiente)</translation>
+        <translation>libspatialite obsoleto: conectar a esta BD requiere usar v.4.0 (o cualquiera subsiguiente)</translation>
     </message>
     <message>
         <location filename="../src/providers/spatialite/qgsspatialiteconnection.cpp" line="344"/>
@@ -108348,7 +108348,7 @@ SQL: %1</translation>
     </message>
     <message>
         <source>&Add</source>
-        <translation type="vanished">&Añadir</translation>
+        <translation>&Añadir</translation>
     </message>
     <message>
         <location filename="../src/providers/spatialite/qgsspatialitesourceselect.cpp" line="74"/>
@@ -108402,7 +108402,7 @@ SQL: %1</translation>
 
 This could take a long time (depending on the DB size),
 but implies better performance thereafter.</source>
-        <translation type="vanished">¿Está seguro de que quiere actualizar las estadísticas internas para la base de datos: %1?
+        <translation>¿Está seguro de que quiere actualizar las estadísticas internas para la base de datos: %1?
 
 Esto puede llevar bastante tiempo (dependiendo del tamaño de la BD),
 pero implica un rendimiento mejor posteriormente.</translation>
@@ -108555,7 +108555,7 @@ por favor, proporcione un nombre nuevo:</translation>
         <source>Unexpected error when working with: %1
 
 %2</source>
-        <translation type="vanished">Error inesperado al trabajar con: %1
+        <translation>Error inesperado al trabajar con: %1
 
 %2</translation>
     </message>
@@ -108617,112 +108617,112 @@ por favor, proporcione un nombre nuevo:</translation>
     <name>QgsSpatialQueryDialog</name>
     <message>
         <source>The spatial query requires at least two vector layers</source>
-        <translation type="vanished">La consulta espacial requiere al menos dos capas vectoriales</translation>
+        <translation>La consulta espacial requiere al menos dos capas vectoriales</translation>
     </message>
     <message numerus="yes">
         <source>%n selected geometries</source>
         <comment>selected geometries</comment>
-        <translation type="vanished">
+        <translation>
             <numerusform>1 geometría seleccionada</numerusform>
             <numerusform>%n geometrías seleccionadas</numerusform>
         </translation>
     </message>
     <message>
         <source>Selected geometries</source>
-        <translation type="vanished">Geometrías seleccionadas</translation>
+        <translation>Geometrías seleccionadas</translation>
     </message>
     <message>
         <source>%1)Query</source>
-        <translation type="vanished">%1)Consulta</translation>
+        <translation>%1)Consulta</translation>
     </message>
     <message>
         <source>Begin at %L1</source>
-        <translation type="vanished">Comienzo en %L1</translation>
+        <translation>Comienzo en %L1</translation>
     </message>
     <message>
         <source>< %1 ></source>
-        <translation type="vanished">< %1 ></translation>
+        <translation>< %1 ></translation>
     </message>
     <message>
         <source>Total of features = %1</source>
-        <translation type="vanished">Total de objetos espaciales = %1</translation>
+        <translation>Total de objetos espaciales = %1</translation>
     </message>
     <message>
         <source>Total of invalid features:</source>
-        <translation type="vanished">Total de objetos espaciales no válidos:</translation>
+        <translation>Total de objetos espaciales no válidos:</translation>
     </message>
     <message>
         <source>Finish at %L1 (processing time %L2 minutes)</source>
-        <translation type="vanished">Final en %L1 (tiempo de proceso %L2 minutos)</translation>
+        <translation>Final en %L1 (tiempo de proceso %L2 minutos)</translation>
     </message>
     <message>
         <source>Using the field "%1" for subset</source>
-        <translation type="vanished">Usando el campo "%1" para subconjunto</translation>
+        <translation>Usando el campo "%1" para subconjunto</translation>
     </message>
     <message>
         <source>Sorry! Only this providers are enable: OGR, POSTGRES and SPATIALITE.</source>
-        <translation type="vanished">Lo siento, sólo estos proveedores están disponibles: OGR, POSTGRES y SPATIALITE.</translation>
+        <translation>Lo siento, sólo estos proveedores están disponibles: OGR, POSTGRES y SPATIALITE.</translation>
     </message>
     <message>
         <source>%1 of %2</source>
-        <translation type="vanished">%1 de %2</translation>
+        <translation>%1 de %2</translation>
     </message>
     <message>
         <source>all = %1</source>
-        <translation type="vanished">todo = %1</translation>
+        <translation>todo = %1</translation>
     </message>
     <message>
         <source>%1 of %2(selected features)</source>
-        <translation type="vanished">%1 de %2 (objetos espaciales seleccionados)</translation>
+        <translation>%1 de %2 (objetos espaciales seleccionados)</translation>
     </message>
     <message>
         <source>Create new selection</source>
-        <translation type="vanished">Crear nueva selección</translation>
+        <translation>Crear nueva selección</translation>
     </message>
     <message>
         <source>Add to current selection</source>
-        <translation type="vanished">Añadir a la selección actual</translation>
+        <translation>Añadir a la selección actual</translation>
     </message>
     <message>
         <source>Remove from current selection</source>
-        <translation type="vanished">Eliminar de la selección actual</translation>
+        <translation>Eliminar de la selección actual</translation>
     </message>
     <message>
         <source>Result query</source>
-        <translation type="vanished">Resultado de la consulta</translation>
+        <translation>Resultado de la consulta</translation>
     </message>
     <message>
         <source>Invalid source</source>
-        <translation type="vanished">Origen no válido</translation>
+        <translation>Origen no válido</translation>
     </message>
     <message>
         <source>Invalid reference</source>
-        <translation type="vanished">Referencia no válida</translation>
+        <translation>Referencia no válida</translation>
     </message>
     <message>
         <source>%1 of %2 selected by "%3"</source>
-        <translation type="vanished">%1 de %2 seleccionados por "%3"</translation>
+        <translation>%1 de %2 seleccionados por "%3"</translation>
     </message>
     <message>
         <source>user</source>
-        <translation type="vanished">usuario</translation>
+        <translation>usuario</translation>
     </message>
     <message>
         <source>Map "%1" "on the fly" transformation.</source>
-        <translation type="vanished">Transformación "al vuelo" del mapa "%1".</translation>
+        <translation>Transformación "al vuelo" del mapa "%1".</translation>
     </message>
     <message>
         <source>enable</source>
-        <translation type="vanished">activar</translation>
+        <translation>activar</translation>
     </message>
     <message>
         <source>disable</source>
-        <translation type="vanished">desactivar</translation>
+        <translation>desactivar</translation>
     </message>
     <message>
         <source>Coordinate reference system(CRS) of
 "%1" is invalid(see CRS of provider).</source>
-        <translation type="vanished">Sistema de Referencia de Coordenadas (SRC)
+        <translation>Sistema de Referencia de Coordenadas (SRC)
 de "%1" no válido (vea SRC del proveedor).</translation>
     </message>
     <message>
@@ -108730,65 +108730,65 @@ de "%1" no válido (vea SRC del proveedor).</translation>
 
 CRS of map is %1.
 %2.</source>
-        <translation type="vanished">
+        <translation>
 
 El SRC del mapa es %1.
 %2.</translation>
     </message>
     <message>
         <source>Zoom to feature</source>
-        <translation type="vanished">Zoom al objeto espacial</translation>
+        <translation>Zoom al objeto espacial</translation>
     </message>
     <message>
         <source>Missing reference layer</source>
-        <translation type="vanished">Falta la capa de referencia</translation>
+        <translation>Falta la capa de referencia</translation>
     </message>
     <message>
         <source>Select reference layer!</source>
-        <translation type="vanished">¡Seleccionar capa de referencia!</translation>
+        <translation>¡Seleccionar capa de referencia!</translation>
     </message>
     <message>
         <source>Missing target layer</source>
-        <translation type="vanished">Falta la capa de destino</translation>
+        <translation>Falta la capa de destino</translation>
     </message>
     <message>
         <source>Select target layer!</source>
-        <translation type="vanished">¡Seleccionar capa de destino!</translation>
+        <translation>¡Seleccionar capa de destino!</translation>
     </message>
     <message>
         <source>Create new layer from items</source>
-        <translation type="vanished">Crear nueva capa a partir de los elementos</translation>
+        <translation>Crear nueva capa a partir de los elementos</translation>
     </message>
     <message>
         <source>The query from "%1" using "%2" in field not possible.</source>
-        <translation type="vanished">La consulta de "%1" usando "%2" en el campo no es posible.</translation>
+        <translation>La consulta de "%1" usando "%2" en el campo no es posible.</translation>
     </message>
     <message>
         <source>Create new layer from selected</source>
-        <translation type="vanished">Crear nueva capa a partir de lo seleccionado</translation>
+        <translation>Crear nueva capa a partir de lo seleccionado</translation>
     </message>
     <message>
         <source>%1 of %2 identified</source>
-        <translation type="vanished">%1 de %2 identificados</translation>
+        <translation>%1 de %2 identificados</translation>
     </message>
 </context>
 <context>
     <name>QgsSpatialQueryDialogBase</name>
     <message>
         <source>Spatial Query</source>
-        <translation type="vanished">Consulta espacial</translation>
+        <translation>Consulta espacial</translation>
     </message>
     <message>
         <source>Layer on which the topological operation will select geometries</source>
-        <translation type="vanished">Capa de la que seleccionará geometrías la operación topológica</translation>
+        <translation>Capa de la que seleccionará geometrías la operación topológica</translation>
     </message>
     <message>
         <source>Select source features from</source>
-        <translation type="vanished">Seleccionar objetos espaciales de origen de</translation>
+        <translation>Seleccionar objetos espaciales de origen de</translation>
     </message>
     <message>
         <source>Select the target layer</source>
-        <translation type="vanished">Seleccionar capa de destino</translation>
+        <translation>Seleccionar capa de destino</translation>
     </message>
     <message>
         <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
@@ -108796,7 +108796,7 @@ El SRC del mapa es %1.
 p, li { white-space: pre-wrap; }
 </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
 <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">When checked the operation will only consider selected geometries of the target layer</span></p></body></html></source>
-        <translation type="vanished"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+        <translation><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
 <html><head><meta name="qrichtext" content="1" /><style type="text/css">
 p, li { white-space: pre-wrap; }
 </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
@@ -108804,27 +108804,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Selected feature(s) only</source>
-        <translation type="vanished">Sólo objetos espaciales seleccionados</translation>
+        <translation>Sólo objetos espaciales seleccionados</translation>
     </message>
     <message>
         <source>Where the feature</source>
-        <translation type="vanished">Donde el objeto espacial</translation>
+        <translation>Donde el objeto espacial</translation>
     </message>
     <message>
         <source>Select the topological operation</source>
-        <translation type="vanished">Seleccione la operación topológica</translation>
+        <translation>Seleccione la operación topológica</translation>
     </message>
     <message>
         <source>Layer whose geometries will be used as reference by the topological operation</source>
-        <translation type="vanished">Capa cuyas geometrías se usarán como referencia para la operación topológica</translation>
+        <translation>Capa cuyas geometrías se usarán como referencia para la operación topológica</translation>
     </message>
     <message>
         <source>Reference features of </source>
-        <translation type="vanished">Objetos espaciales de referencia de </translation>
+        <translation>Objetos espaciales de referencia de </translation>
     </message>
     <message>
         <source>Select the reference layer</source>
-        <translation type="vanished">Seleccionar la capa de referencia</translation>
+        <translation>Seleccionar la capa de referencia</translation>
     </message>
     <message>
         <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
@@ -108832,7 +108832,7 @@ p, li { white-space: pre-wrap; }
 p, li { white-space: pre-wrap; }
 </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
 <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">When checked the operation will be only consider selected geometries of the reference layer</span></p></body></html></source>
-        <translation type="vanished"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+        <translation><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
 <html><head><meta name="qrichtext" content="1" /><style type="text/css">
 p, li { white-space: pre-wrap; }
 </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
@@ -108840,70 +108840,70 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>And use the result to</source>
-        <translation type="vanished">Y usar el resultado para</translation>
+        <translation>Y usar el resultado para</translation>
     </message>
     <message>
         <source>Selected features</source>
-        <translation type="vanished">Objetos espaciales seleccionados</translation>
+        <translation>Objetos espaciales seleccionados</translation>
     </message>
     <message>
         <source>Number of selected features in map</source>
-        <translation type="vanished">Número de objetos espaciales seleccionados en el mapa</translation>
+        <translation>Número de objetos espaciales seleccionados en el mapa</translation>
     </message>
     <message>
         <source>Create layer with selected</source>
-        <translation type="vanished">Crear capa con los seleccionados</translation>
+        <translation>Crear capa con los seleccionados</translation>
     </message>
     <message>
         <source>Result feature ID's</source>
-        <translation type="vanished">ID de los objetos espaciales
+        <translation>ID de los objetos espaciales
 del resultado</translation>
     </message>
     <message>
         <source>Select one FID to identify geometry of feature</source>
-        <translation type="vanished">Seleccionar un FID para identificar la geometría del objeto espacial</translation>
+        <translation>Seleccionar un FID para identificar la geometría del objeto espacial</translation>
     </message>
     <message>
         <source>Create layer with list of items</source>
-        <translation type="vanished">Crear capa con lista de elementos</translation>
+        <translation>Crear capa con lista de elementos</translation>
     </message>
     <message>
         <source>Zoom to item</source>
-        <translation type="vanished">Zoom al elemento</translation>
+        <translation>Zoom al elemento</translation>
     </message>
     <message>
         <source>Check to show log processing of query</source>
-        <translation type="vanished">Marcar para mostrar registro de proceso de la consulta</translation>
+        <translation>Marcar para mostrar registro de proceso de la consulta</translation>
     </message>
     <message>
         <source>Log messages</source>
-        <translation type="vanished">Mensajes de registro</translation>
+        <translation>Mensajes de registro</translation>
     </message>
     <message>
         <source>Run query or close the window</source>
-        <translation type="vanished">Ejecutar consulta o cerrar la ventana</translation>
+        <translation>Ejecutar consulta o cerrar la ventana</translation>
     </message>
 </context>
 <context>
     <name>QgsSpatialQueryPlugin</name>
     <message>
         <source>&Spatial Query</source>
-        <translation type="vanished">Consulta e&spacial</translation>
+        <translation>Consulta e&spacial</translation>
     </message>
     <message>
         <source>Query not executed</source>
-        <translation type="vanished">Consulta no ejecutada</translation>
+        <translation>Consulta no ejecutada</translation>
     </message>
     <message>
         <source>DEBUG</source>
-        <translation type="vanished">DEPURADO</translation>
+        <translation>DEPURADO</translation>
     </message>
 </context>
 <context>
     <name>QgsSpatialiteSridsDialogBase</name>
     <message>
         <source>Select a Spatialite Spatial Reference System</source>
-        <translation type="vanished">Seleccione un sistema de referencia espacial de Spatialite</translation>
+        <translation>Seleccione un sistema de referencia espacial de Spatialite</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsspatialitesridsdialogbase.ui" line="14"/>
@@ -108946,11 +108946,11 @@ del resultado</translation>
     <name>QgsSponsorsBase</name>
     <message>
         <source>QGIS Sponsors</source>
-        <translation type="vanished">Patrocinadores de QGIS</translation>
+        <translation>Patrocinadores de QGIS</translation>
     </message>
     <message>
         <source>TextLabel</source>
-        <translation type="vanished">EtiquetaDeTexto</translation>
+        <translation>EtiquetaDeTexto</translation>
     </message>
     <message>
         <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
@@ -108958,7 +108958,7 @@ del resultado</translation>
 p, li { white-space: pre-wrap; }
 </style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
 <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></source>
-        <translation type="vanished"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+        <translation><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
 <html><head><meta name="qrichtext" content="1" /><style type="text/css">
 p, li { white-space: pre-wrap; }
 </style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
@@ -108983,7 +108983,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsStatisticalSummaryWidgetBase</name>
     <message>
         <source>Statistics Panel</source>
-        <translation type="vanished">Panel de estadísticas</translation>
+        <translation>Panel de estadísticas</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsstatisticalsummarybase.ui" line="14"/>
@@ -109023,7 +109023,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -109213,7 +109213,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Export/import error</source>
-        <translation type="vanished">Error de exportación/importación</translation>
+        <translation>Error de exportación/importación</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstyleexportimportdialog.cpp" line="125"/>
@@ -109222,7 +109222,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Save styles</source>
-        <translation type="vanished">Guardar estilos</translation>
+        <translation>Guardar estilos</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstyleexportimportdialog.cpp" line="132"/>
@@ -109244,7 +109244,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Export successful</source>
-        <translation type="vanished">Exportación con éxito</translation>
+        <translation>Exportación con éxito</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstyleexportimportdialog.cpp" line="157"/>
@@ -109255,7 +109255,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Import Error</source>
-        <translation type="vanished">Error de importación</translation>
+        <translation>Error de importación</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstyleexportimportdialog.cpp" line="184"/>
@@ -109271,7 +109271,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Duplicate Names</source>
-        <translation type="vanished">Duplicar nombres</translation>
+        <translation>Duplicar nombres</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstyleexportimportdialog.cpp" line="282"/>
@@ -109299,7 +109299,7 @@ Overwrite?</source>
     </message>
     <message>
         <source>Load styles</source>
-        <translation type="vanished">Cargar estilos</translation>
+        <translation>Cargar estilos</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstyleexportimportdialog.cpp" line="486"/>
@@ -109313,15 +109313,15 @@ Overwrite?</source>
     </message>
     <message>
         <source>Downloading style ... </source>
-        <translation type="vanished">Descargando estilo...</translation>
+        <translation>Descargando estilo...</translation>
     </message>
     <message>
         <source>HTTP Error!</source>
-        <translation type="vanished">Error HTTP!</translation>
+        <translation>Error HTTP!</translation>
     </message>
     <message>
         <source>Download failed: %1.</source>
-        <translation type="vanished">Falló la descarga: %1.</translation>
+        <translation>Falló la descarga: %1.</translation>
     </message>
 </context>
 <context>
@@ -109570,7 +109570,7 @@ Kindly select a group or smart group you might want to delete.</source>
     </message>
     <message>
         <source>Save symbol</source>
-        <translation type="vanished">Guardar símbolo</translation>
+        <translation>Guardar símbolo</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="424"/>
@@ -109594,7 +109594,7 @@ Kindly select a group or smart group you might want to delete.</source>
     </message>
     <message>
         <source>Color ramp type</source>
-        <translation type="vanished">Tipo de rampa de color</translation>
+        <translation>Tipo de rampa de color</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="478"/>
@@ -109634,7 +109634,7 @@ Kindly select a group or smart group you might want to delete.</source>
     </message>
     <message>
         <source>Save color ramp</source>
-        <translation type="vanished">Guardar rampa de color</translation>
+        <translation>Guardar rampa de color</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="573"/>
@@ -109653,7 +109653,7 @@ Kindly select a group or smart group you might want to delete.</source>
     </message>
     <message>
         <source>Confirm removal</source>
-        <translation type="vanished">Confirmar eliminación</translation>
+        <translation>Confirmar eliminación</translation>
     </message>
     <message numerus="yes">
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="775"/>
@@ -109678,7 +109678,7 @@ Kindly select a group or smart group you might want to delete.</source>
     </message>
     <message>
         <source>Cannot rename item</source>
-        <translation type="vanished">No se puede cambiar el nombre al elemento</translation>
+        <translation>No se puede cambiar el nombre al elemento</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="834"/>
@@ -109687,11 +109687,11 @@ Kindly select a group or smart group you might want to delete.</source>
     </message>
     <message>
         <source>Exported selected symbols as PNG</source>
-        <translation type="vanished">Símbolos seleccionados exportados como PNG</translation>
+        <translation>Símbolos seleccionados exportados como PNG</translation>
     </message>
     <message>
         <source>Exported selected symbols as SVG</source>
-        <translation type="vanished">Símbolos seleccionados exportados como SVG</translation>
+        <translation>Símbolos seleccionados exportados como SVG</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="899"/>
@@ -109715,7 +109715,7 @@ Kindly select a group or smart group you might want to delete.</source>
     </message>
     <message>
         <source>Tag name</source>
-        <translation type="vanished">Nombre de etiqueta</translation>
+        <translation>Nombre de etiqueta</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="1065"/>
@@ -109729,7 +109729,7 @@ Kindly select a group or smart group you might want to delete.</source>
     </message>
     <message>
         <source>Error!</source>
-        <translation type="vanished">¡Error!</translation>
+        <translation>¡Error!</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="1073"/>
@@ -109745,21 +109745,21 @@ Hubo un problema con su base de datos de símbolos.</translation>
     </message>
     <message>
         <source>Invalid selection</source>
-        <translation type="vanished">Selección no válida</translation>
+        <translation>Selección no válida</translation>
     </message>
     <message>
         <source>Cannot delete system defined categories.
 Kindly select a group or smart group you might want to delete.</source>
-        <translation type="vanished">No se pueden borrar las categorías definidas por el sistema
+        <translation>No se pueden borrar las categorías definidas por el sistema
 Por favor seleccione un grupo o un grupo inteligente que usted pueda borrar.</translation>
     </message>
     <message>
         <source>Database Error</source>
-        <translation type="vanished">Error en base de datos</translation>
+        <translation>Error en base de datos</translation>
     </message>
     <message>
         <source>There was a problem with the Symbols database while regrouping.</source>
-        <translation type="vanished">Hubo un problema con la base de datos de símbolos mientras se reagrupaba.</translation>
+        <translation>Hubo un problema con la base de datos de símbolos mientras se reagrupaba.</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="1393"/>
@@ -109768,7 +109768,7 @@ Por favor seleccione un grupo o un grupo inteligente que usted pueda borrar.</tr
     </message>
     <message>
         <source>Invalid Selection</source>
-        <translation type="vanished">Selección no válida</translation>
+        <translation>Selección no válida</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="1506"/>
@@ -109777,7 +109777,7 @@ Por favor seleccione un grupo o un grupo inteligente que usted pueda borrar.</tr
     </message>
     <message>
         <source>Database Error!</source>
-        <translation type="vanished">¡Error de la base de datos!</translation>
+        <translation>¡Error de la base de datos!</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgsstylemanagerdialog.cpp" line="1525"/>
@@ -109967,498 +109967,498 @@ Por favor seleccione un grupo o un grupo inteligente que usted pueda borrar.</tr
     <name>QgsStyleV2ExportImportDialog</name>
     <message>
         <source>Select all</source>
-        <translation type="vanished">Seleccionar todo</translation>
+        <translation>Seleccionar todo</translation>
     </message>
     <message>
         <source>Clear selection</source>
-        <translation type="vanished">Limpiar selección</translation>
+        <translation>Limpiar selección</translation>
     </message>
     <message>
         <source>file specified below</source>
-        <translation type="vanished">archivo especificado debajo</translation>
+        <translation>archivo especificado debajo</translation>
     </message>
     <message>
         <source>URL specified below</source>
-        <translation type="vanished">URL especificada debajo</translation>
+        <translation>URL especificada debajo</translation>
     </message>
     <message>
         <source>Select symbols to import</source>
-        <translation type="vanished">Seleccionar símbolos a importar</translation>
+        <translation>Seleccionar símbolos a importar</translation>
     </message>
     <message>
         <source>Import</source>
-        <translation type="vanished">Importar</translation>
+        <translation>Importar</translation>
     </message>
     <message>
         <source>Import symbol(s)</source>
-        <translation type="vanished">Importar símbolo(s)</translation>
+        <translation>Importar símbolo(s)</translation>
     </message>
     <message>
         <source>Export symbol(s)</source>
-        <translation type="vanished">Exportar símbolo(s)</translation>
+        <translation>Exportar símbolo(s)</translation>
     </message>
     <message>
         <source>Select by group</source>
-        <translation type="vanished">Seleccionar por grupo</translation>
+        <translation>Seleccionar por grupo</translation>
     </message>
     <message>
         <source>Export</source>
-        <translation type="vanished">Exportar</translation>
+        <translation>Exportar</translation>
     </message>
     <message>
         <source>Export/import error</source>
-        <translation type="vanished">Error de exportación/importación</translation>
+        <translation>Error de exportación/importación</translation>
     </message>
     <message>
         <source>You should select at least one symbol/color ramp.</source>
-        <translation type="vanished">Debería seleccionar al menos un símbolo/rampa de color.</translation>
+        <translation>Debería seleccionar al menos un símbolo/rampa de color.</translation>
     </message>
     <message>
         <source>Save styles</source>
-        <translation type="vanished">Guardar estilos</translation>
+        <translation>Guardar estilos</translation>
     </message>
     <message>
         <source>XML files (*.xml *.XML)</source>
-        <translation type="vanished">Archivos XML (*.xml *.XML)</translation>
+        <translation>Archivos XML (*.xml *.XML)</translation>
     </message>
     <message>
         <source>Error when saving selected symbols to file:
 %1</source>
-        <translation type="vanished">Error al guardar los síbolos seleccionados a archivo:
+        <translation>Error al guardar los síbolos seleccionados a archivo:
 %1</translation>
     </message>
     <message>
         <source>Import error</source>
-        <translation type="vanished">Error de importación</translation>
+        <translation>Error de importación</translation>
     </message>
     <message>
         <source>An error occurred during import:
 %1</source>
-        <translation type="vanished">Ocurrió un error durante la importación:
+        <translation>Ocurrió un error durante la importación:
 %1</translation>
     </message>
     <message>
         <source>Duplicate names</source>
-        <translation type="vanished">Duplicar nombres</translation>
+        <translation>Duplicar nombres</translation>
     </message>
     <message>
         <source>Symbol with name '%1' already exists.
 Overwrite?</source>
-        <translation type="vanished">El símbolo llamado '%1' ya existe.
+        <translation>El símbolo llamado '%1' ya existe.
 ¿Sobreescribir?</translation>
     </message>
     <message>
         <source>Color ramp with name '%1' already exists.
 Overwrite?</source>
-        <translation type="vanished">La rampa de color llamada '%1' ya existe.
+        <translation>La rampa de color llamada '%1' ya existe.
 ¿Sobrescribirla?</translation>
     </message>
     <message>
         <source>Select symbols by group</source>
-        <translation type="vanished">Seleccionar símbolos por grupo</translation>
+        <translation>Seleccionar símbolos por grupo</translation>
     </message>
     <message>
         <source>Load styles</source>
-        <translation type="vanished">Cargar estilos</translation>
+        <translation>Cargar estilos</translation>
     </message>
     <message>
         <source>XML files (*.xml *XML)</source>
-        <translation type="vanished">Archivos XML (*.xml *.XML)</translation>
+        <translation>Archivos XML (*.xml *.XML)</translation>
     </message>
     <message>
         <source>Downloading style ... </source>
-        <translation type="vanished">Descargando estilo...</translation>
+        <translation>Descargando estilo...</translation>
     </message>
     <message>
         <source>HTTP Error!</source>
-        <translation type="vanished">Error HTTP!</translation>
+        <translation>Error HTTP!</translation>
     </message>
     <message>
         <source>Download failed: %1.</source>
-        <translation type="vanished">Falló la descarga: %1.</translation>
+        <translation>Falló la descarga: %1.</translation>
     </message>
 </context>
 <context>
     <name>QgsStyleV2ExportImportDialogBase</name>
     <message>
         <source>Styles import/export</source>
-        <translation type="vanished">Importación/Exportación de estilos</translation>
+        <translation>Importación/Exportación de estilos</translation>
     </message>
     <message>
         <source>Import from</source>
-        <translation type="vanished">Importar desde</translation>
+        <translation>Importar desde</translation>
     </message>
     <message>
         <source>Location</source>
-        <translation type="vanished">Ubicación</translation>
+        <translation>Ubicación</translation>
     </message>
     <message>
         <source>Save to group</source>
-        <translation type="vanished">Guardar en grupo</translation>
+        <translation>Guardar en grupo</translation>
     </message>
     <message>
         <source>Select symbols to export</source>
-        <translation type="vanished">Seleccione símbolos a exportar</translation>
+        <translation>Seleccione símbolos a exportar</translation>
     </message>
 </context>
 <context>
     <name>QgsStyleV2GroupSelectionDialog</name>
     <message>
         <source>All Symbols</source>
-        <translation type="vanished">Todos los símbolos</translation>
+        <translation>Todos los símbolos</translation>
     </message>
     <message>
         <source>Groups</source>
-        <translation type="vanished">Grupos</translation>
+        <translation>Grupos</translation>
     </message>
     <message>
         <source>Ungrouped</source>
-        <translation type="vanished">Desagrupado</translation>
+        <translation>Desagrupado</translation>
     </message>
     <message>
         <source>Smart Groups</source>
-        <translation type="vanished">Grupos inteligentes</translation>
+        <translation>Grupos inteligentes</translation>
     </message>
 </context>
 <context>
     <name>QgsStyleV2ManagerDialog</name>
     <message>
         <source>Marker symbol (%1)</source>
-        <translation type="vanished">Símbolo de marcador (%1)</translation>
+        <translation>Símbolo de marcador (%1)</translation>
     </message>
     <message>
         <source>Line symbol (%1)</source>
-        <translation type="vanished">Símbolo de línea (%1)</translation>
+        <translation>Símbolo de línea (%1)</translation>
     </message>
     <message>
         <source>Fill symbol (%1)</source>
-        <translation type="vanished">Símbolo de relleno (%1)</translation>
+        <translation>Símbolo de relleno (%1)</translation>
     </message>
     <message>
         <source>Color ramp (%1)</source>
-        <translation type="vanished">Rampa de color (%1)</translation>
+        <translation>Rampa de color (%1)</translation>
     </message>
     <message>
         <source>Gradient</source>
-        <translation type="vanished">Gradiente</translation>
+        <translation>Gradiente</translation>
     </message>
     <message>
         <source>Share menu</source>
-        <translation type="vanished">Compartir menú</translation>
+        <translation>Compartir menú</translation>
     </message>
     <message>
         <source>Export...</source>
-        <translation type="vanished">Exportar...</translation>
+        <translation>Exportar...</translation>
     </message>
     <message>
         <source>Import...</source>
-        <translation type="vanished">Importar...</translation>
+        <translation>Importar...</translation>
     </message>
     <message>
         <source>Group actions</source>
-        <translation type="vanished">Acciones de grupo</translation>
+        <translation>Acciones de grupo</translation>
     </message>
     <message>
         <source>Random</source>
-        <translation type="vanished">Aleatorio</translation>
+        <translation>Aleatorio</translation>
     </message>
     <message>
         <source>ColorBrewer</source>
-        <translation type="vanished">ColorBrewer</translation>
+        <translation>ColorBrewer</translation>
     </message>
     <message>
         <source>cpt-city</source>
-        <translation type="vanished">cpt-city</translation>
+        <translation>cpt-city</translation>
     </message>
     <message>
         <source>Add to group</source>
-        <translation type="vanished">Añadir a grupo</translation>
+        <translation>Añadir a grupo</translation>
     </message>
     <message>
         <source>new symbol</source>
-        <translation type="vanished">nuevo símbolo</translation>
+        <translation>nuevo símbolo</translation>
     </message>
     <message>
         <source>new marker</source>
-        <translation type="vanished">nuevo marcador</translation>
+        <translation>nuevo marcador</translation>
     </message>
     <message>
         <source>new line</source>
-        <translation type="vanished">nueva línea</translation>
+        <translation>nueva línea</translation>
     </message>
     <message>
         <source>new fill symbol</source>
-        <translation type="vanished">nuevo símbolo de relleno</translation>
+        <translation>nuevo símbolo de relleno</translation>
     </message>
     <message>
         <source>Symbol Name</source>
-        <translation type="vanished">Nombre de símbolo</translation>
+        <translation>Nombre de símbolo</translation>
     </message>
     <message>
         <source>Please enter a name for new symbol:</source>
-        <translation type="vanished">Por favor introduzca un nombre para el símbolo nuevo</translation>
+        <translation>Por favor introduzca un nombre para el símbolo nuevo</translation>
     </message>
     <message>
         <source>Save symbol</source>
-        <translation type="vanished">Guardar símbolo</translation>
+        <translation>Guardar símbolo</translation>
     </message>
     <message>
         <source>Cannot save symbol without name. Enter a name.</source>
-        <translation type="vanished">No se puede guardar el símbolo sin nombre. Introduzca un nombre</translation>
+        <translation>No se puede guardar el símbolo sin nombre. Introduzca un nombre</translation>
     </message>
     <message>
         <source>Symbol with name '%1' already exists. Overwrite?</source>
-        <translation type="vanished">El símbolo llamado '%1' ya existe. ¿Sobreescribir?</translation>
+        <translation>El símbolo llamado '%1' ya existe. ¿Sobreescribir?</translation>
     </message>
     <message>
         <source>Color ramp type</source>
-        <translation type="vanished">Tipo de rampa de color</translation>
+        <translation>Tipo de rampa de color</translation>
     </message>
     <message>
         <source>Please select color ramp type:</source>
-        <translation type="vanished">Por favor, seleccione el tipo de rampa de color:</translation>
+        <translation>Por favor, seleccione el tipo de rampa de color:</translation>
     </message>
     <message>
         <source>new ramp</source>
-        <translation type="vanished">nueva rampa</translation>
+        <translation>nueva rampa</translation>
     </message>
     <message>
         <source>new gradient ramp</source>
-        <translation type="vanished">nueva rampa de gradiente</translation>
+        <translation>nueva rampa de gradiente</translation>
     </message>
     <message>
         <source>new random ramp</source>
-        <translation type="vanished">nueva rampa aleatoria</translation>
+        <translation>nueva rampa aleatoria</translation>
     </message>
     <message>
         <source>Color Ramp Name</source>
-        <translation type="vanished">Nombre de la rampa de color</translation>
+        <translation>Nombre de la rampa de color</translation>
     </message>
     <message>
         <source>Please enter a name for new color ramp:</source>
-        <translation type="vanished">Por favor introduzca un nombre para la nueva rampa de color:</translation>
+        <translation>Por favor introduzca un nombre para la nueva rampa de color:</translation>
     </message>
     <message>
         <source>Save Color Ramp</source>
-        <translation type="vanished">Guardar rampa de color</translation>
+        <translation>Guardar rampa de color</translation>
     </message>
     <message>
         <source>Cannot save color ramp without name. Enter a name.</source>
-        <translation type="vanished">No se puede guardar la rampa de color sin nombre. Introduzca un nombre</translation>
+        <translation>No se puede guardar la rampa de color sin nombre. Introduzca un nombre</translation>
     </message>
     <message>
         <source>Save color ramp</source>
-        <translation type="vanished">Guardar rampa de color</translation>
+        <translation>Guardar rampa de color</translation>
     </message>
     <message>
         <source>Color ramp with name '%1' already exists. Overwrite?</source>
-        <translation type="vanished">Nombre de rampa de color '%1' ya existe. Desea sobreescribir?</translation>
+        <translation>Nombre de rampa de color '%1' ya existe. Desea sobreescribir?</translation>
     </message>
     <message>
         <source>Confirm removal</source>
-        <translation type="vanished">Confirmar eliminación</translation>
+        <translation>Confirmar eliminación</translation>
     </message>
     <message>
         <source>Do you really want to remove %n symbol(s)?</source>
-        <translation type="vanished">¿Realmente quiere eliminar %n símbolos?</translation>
+        <translation>¿Realmente quiere eliminar %n símbolos?</translation>
     </message>
     <message>
         <source>Do you really want to remove %n ramps(s)?</source>
-        <translation type="vanished">¿Realmente quiere eliminar %n rampas?</translation>
+        <translation>¿Realmente quiere eliminar %n rampas?</translation>
     </message>
     <message>
         <source>Exported selected symbols as PNG</source>
-        <translation type="vanished">Símbolos seleccionados exportados como PNG</translation>
+        <translation>Símbolos seleccionados exportados como PNG</translation>
     </message>
     <message>
         <source>Exported selected symbols as SVG</source>
-        <translation type="vanished">Símbolos seleccionados exportados como SVG</translation>
+        <translation>Símbolos seleccionados exportados como SVG</translation>
     </message>
     <message>
         <source>All Symbols</source>
-        <translation type="vanished">Todos los símbolos</translation>
+        <translation>Todos los símbolos</translation>
     </message>
     <message>
         <source>Groups</source>
-        <translation type="vanished">Grupos</translation>
+        <translation>Grupos</translation>
     </message>
     <message>
         <source>Ungrouped</source>
-        <translation type="vanished">Desagrupado</translation>
+        <translation>Desagrupado</translation>
     </message>
     <message>
         <source>Smart Groups</source>
-        <translation type="vanished">Grupos inteligentes</translation>
+        <translation>Grupos inteligentes</translation>
     </message>
     <message>
         <source>Invalid Selection</source>
-        <translation type="vanished">Selección no válida</translation>
+        <translation>Selección no válida</translation>
     </message>
     <message>
         <source>The parent group you have selected is not user editable.
 Kindly select a user defined group.</source>
-        <translation type="vanished">The grupo raíz que ha seleccionado no es editable por este usuario.
+        <translation>The grupo raíz que ha seleccionado no es editable por este usuario.
 Por favor seleccione un grupo definido para este usuario.</translation>
     </message>
     <message>
         <source>Operation Not Allowed</source>
-        <translation type="vanished">Operación no permitida</translation>
+        <translation>Operación no permitida</translation>
     </message>
     <message>
         <source>Creation of nested smart groups are not allowed
 Select the 'Smart Group' to create a new group.</source>
-        <translation type="vanished">La creación de Grupos Inteligentes anidados no es permitida
+        <translation>La creación de Grupos Inteligentes anidados no es permitida
 Seleccione el 'Grupo Inteligente' para crear un nuevo grupo.</translation>
     </message>
     <message>
         <source>New Group</source>
-        <translation type="vanished">Nuevo Grupo</translation>
+        <translation>Nuevo Grupo</translation>
     </message>
     <message>
         <source>Invalid selection</source>
-        <translation type="vanished">Selección no válida</translation>
+        <translation>Selección no válida</translation>
     </message>
     <message>
         <source>Cannot delete system defined categories.
 Kindly select a group or smart group you might want to delete.</source>
-        <translation type="vanished">No se pueden borrar las categorías definidas por el sistema
+        <translation>No se pueden borrar las categorías definidas por el sistema
 Por favor seleccione un grupo o un grupo inteligente que usted pueda borrar.</translation>
     </message>
     <message>
         <source>Error!</source>
-        <translation type="vanished">¡Error!</translation>
+        <translation>¡Error!</translation>
     </message>
     <message>
         <source>New group could not be created.
 There was a problem with your symbol database.</source>
-        <translation type="vanished">No se pudo crear el nuevo grupo.
+        <translation>No se pudo crear el nuevo grupo.
 Hubo un problema con su base de datos de símbolos.</translation>
     </message>
     <message>
         <source>Database Error</source>
-        <translation type="vanished">Error en base de datos</translation>
+        <translation>Error en base de datos</translation>
     </message>
     <message>
         <source>There was a problem with the Symbols database while regrouping.</source>
-        <translation type="vanished">Hubo un problema con la base de datos de símbolos mientras se reagrupaba.</translation>
+        <translation>Hubo un problema con la base de datos de símbolos mientras se reagrupaba.</translation>
     </message>
     <message>
         <source>You have not selected a Smart Group. Kindly select a Smart Group to edit.</source>
-        <translation type="vanished">No ha seleccionado un Grupo Inteligente. Por favor seleccione uno para editar.</translation>
+        <translation>No ha seleccionado un Grupo Inteligente. Por favor seleccione uno para editar.</translation>
     </message>
     <message>
         <source>Database Error!</source>
-        <translation type="vanished">¡Error de la base de datos!</translation>
+        <translation>¡Error de la base de datos!</translation>
     </message>
     <message>
         <source>There was some error while editing the smart group.</source>
-        <translation type="vanished">Hubo algún error mientras se editaba el Grupo Inteligente</translation>
+        <translation>Hubo algún error mientras se editaba el Grupo Inteligente</translation>
     </message>
     <message>
         <source>Cannot rename item</source>
-        <translation type="vanished">No se puede cambiar el nombre al elemento</translation>
+        <translation>No se puede cambiar el nombre al elemento</translation>
     </message>
     <message>
         <source>Name is already taken by another item. Choose a different name.</source>
-        <translation type="vanished">El nombre ya está usado por otro elemento. Elija un nombre diferente.</translation>
+        <translation>El nombre ya está usado por otro elemento. Elija un nombre diferente.</translation>
     </message>
 </context>
 <context>
     <name>QgsStyleV2ManagerDialogBase</name>
     <message>
         <source>Style Manager</source>
-        <translation type="vanished">Administrador de estilos</translation>
+        <translation>Administrador de estilos</translation>
     </message>
     <message>
         <source>Marker</source>
-        <translation type="vanished">Marcador</translation>
+        <translation>Marcador</translation>
     </message>
     <message>
         <source>Line</source>
-        <translation type="vanished">Línea</translation>
+        <translation>Línea</translation>
     </message>
     <message>
         <source>Fill</source>
-        <translation type="vanished">Relleno</translation>
+        <translation>Relleno</translation>
     </message>
     <message>
         <source>Color ramp</source>
-        <translation type="vanished">Rampa de color</translation>
+        <translation>Rampa de color</translation>
     </message>
     <message>
         <source>Tags</source>
-        <translation type="vanished">Etiquetas</translation>
+        <translation>Etiquetas</translation>
     </message>
     <message>
         <source>Remove item(s)</source>
-        <translation type="vanished">Eliminar elemento(s)</translation>
+        <translation>Eliminar elemento(s)</translation>
     </message>
     <message>
         <source>Edit item...</source>
-        <translation type="vanished">Editar elemento...</translation>
+        <translation>Editar elemento...</translation>
     </message>
     <message>
         <source>Ungroup</source>
-        <translation type="vanished">Desagrupar</translation>
+        <translation>Desagrupar</translation>
     </message>
     <message>
         <source>Edit smart group...</source>
-        <translation type="vanished">Editar grupo inteligente...</translation>
+        <translation>Editar grupo inteligente...</translation>
     </message>
     <message>
         <source>Add group</source>
-        <translation type="vanished">Añadir grupo</translation>
+        <translation>Añadir grupo</translation>
     </message>
     <message>
         <source>Remove group</source>
-        <translation type="vanished">Eliminar grupo</translation>
+        <translation>Eliminar grupo</translation>
     </message>
     <message>
         <source>Group symbols</source>
-        <translation type="vanished">Agrupar símbolos</translation>
+        <translation>Agrupar símbolos</translation>
     </message>
     <message>
         <source>Finish grouping</source>
-        <translation type="vanished">Terminar agrupación</translation>
+        <translation>Terminar agrupación</translation>
     </message>
     <message>
         <source>Export selected symbol(s) as PNG...</source>
-        <translation type="vanished">Exportar los símbolos seleccionados como PNG...</translation>
+        <translation>Exportar los símbolos seleccionados como PNG...</translation>
     </message>
     <message>
         <source>Export selected symbo(s) as PNG</source>
-        <translation type="vanished">Exportar los símbolos seleccionados como PNG</translation>
+        <translation>Exportar los símbolos seleccionados como PNG</translation>
     </message>
     <message>
         <source>Export selected symbol(s) as SVG...</source>
-        <translation type="vanished">Exportar los símbolos seleccionados como SVG...</translation>
+        <translation>Exportar los símbolos seleccionados como SVG...</translation>
     </message>
     <message>
         <source>Export selected symbol(s) as SVG</source>
-        <translation type="vanished">Exportar los símbolos seleccionados como SVG</translation>
+        <translation>Exportar los símbolos seleccionados como SVG</translation>
     </message>
     <message>
         <source>Add item</source>
-        <translation type="vanished">Añadir elemento</translation>
+        <translation>Añadir elemento</translation>
     </message>
     <message>
         <source>Edit item</source>
-        <translation type="vanished">Editar elemento</translation>
+        <translation>Editar elemento</translation>
     </message>
     <message>
         <source>Remove item</source>
-        <translation type="vanished">Eliminar elemento</translation>
+        <translation>Eliminar elemento</translation>
     </message>
 </context>
 <context>
     <name>QgsSublayersDialog</name>
     <message>
         <source>Select vector layers to add...</source>
-        <translation type="vanished">Seleccione capas vectoriales a añadir...</translation>
+        <translation>Seleccione capas vectoriales a añadir...</translation>
     </message>
     <message>
         <source>Select Vector Layers to Add...</source>
-        <translation type="vanished">Seleccionar capas vectoriales a añadir...</translation>
+        <translation>Seleccionar capas vectoriales a añadir...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssublayersdialog.cpp" line="53"/>
@@ -110501,11 +110501,11 @@ Hubo un problema con su base de datos de símbolos.</translation>
     </message>
     <message>
         <source>Select Raster Layers to Add...</source>
-        <translation type="vanished">Seleccionar capas ráster a añadir...</translation>
+        <translation>Seleccionar capas ráster a añadir...</translation>
     </message>
     <message>
         <source>Select Layers to Add...</source>
-        <translation type="vanished">Seleccionar capas a añadir...</translation>
+        <translation>Seleccionar capas a añadir...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssublayersdialog.cpp" line="82"/>
@@ -110519,11 +110519,11 @@ Hubo un problema con su base de datos de símbolos.</translation>
     </message>
     <message>
         <source>Select raster layers to add...</source>
-        <translation type="vanished">Seleccionar capas ráster a añadir...</translation>
+        <translation>Seleccionar capas ráster a añadir...</translation>
     </message>
     <message>
         <source>Select layers to add...</source>
-        <translation type="vanished">Seleccionar capas a añadir...</translation>
+        <translation>Seleccionar capas a añadir...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssublayersdialog.cpp" line="68"/>
@@ -110540,7 +110540,7 @@ Hubo un problema con su base de datos de símbolos.</translation>
     <name>QgsSublayersDialogBase</name>
     <message>
         <source>Select layers to load</source>
-        <translation type="vanished">Seleccionar capas a cargar</translation>
+        <translation>Seleccionar capas a cargar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgssublayersdialogbase.ui" line="14"/>
@@ -110565,7 +110565,7 @@ Hubo un problema con su base de datos de símbolos.</translation>
     <name>QgsSubstitutionListWidget</name>
     <message>
         <source>Save substitutions</source>
-        <translation type="vanished">Guardar sustituciones</translation>
+        <translation>Guardar sustituciones</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssubstitutionlistwidget.cpp" line="94"/>
@@ -110575,17 +110575,17 @@ Hubo un problema con su base de datos de símbolos.</translation>
     </message>
     <message>
         <source>Export substitutions</source>
-        <translation type="vanished">Exportar sustituciones</translation>
+        <translation>Exportar sustituciones</translation>
     </message>
     <message>
         <source>Cannot write file %1:
 %2.</source>
-        <translation type="vanished">No se puede escribir el archivo %1:
+        <translation>No se puede escribir el archivo %1:
 %2.</translation>
     </message>
     <message>
         <source>Load substitutions</source>
-        <translation type="vanished">Cargar sustituciones</translation>
+        <translation>Cargar sustituciones</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssubstitutionlistwidget.cpp" line="153"/>
@@ -110595,7 +110595,7 @@ Hubo un problema con su base de datos de símbolos.</translation>
     <message>
         <source>Cannot read file %1:
 %2.</source>
-        <translation type="vanished">No se puede leer el archivo %1:
+        <translation>No se puede leer el archivo %1:
 %2.</translation>
     </message>
     <message>
@@ -110691,7 +110691,7 @@ Hubo un problema con su base de datos de símbolos.</translation>
     <name>QgsSvgAnnotationDialog</name>
     <message>
         <source>SVG annotation</source>
-        <translation type="vanished">Anotación SVG</translation>
+        <translation>Anotación SVG</translation>
     </message>
     <message>
         <location filename="../src/app/qgssvgannotationdialog.cpp" line="38"/>
@@ -110742,7 +110742,7 @@ Hubo un problema con su base de datos de símbolos.</translation>
     <name>QgsSvgExportOptionsDialog</name>
     <message>
         <source>SVG export options</source>
-        <translation type="vanished">Opciones de exportación SVG</translation>
+        <translation>Opciones de exportación SVG</translation>
     </message>
     <message>
         <location filename="../src/ui/layout/qgssvgexportoptions.ui" line="14"/>
@@ -110809,23 +110809,23 @@ Hubo un problema con su base de datos de símbolos.</translation>
     <name>QgsSvgMarkerSymbolLayerV2Widget</name>
     <message>
         <source>Select fill color</source>
-        <translation type="vanished">Seleccionar color de relleno</translation>
+        <translation>Seleccionar color de relleno</translation>
     </message>
     <message>
         <source>Select border color</source>
-        <translation type="vanished">Seleccionar color de borde</translation>
+        <translation>Seleccionar color de borde</translation>
     </message>
     <message>
         <source>Size Assistant...</source>
-        <translation type="vanished">Asistente de tamaño...</translation>
+        <translation>Asistente de tamaño...</translation>
     </message>
     <message>
         <source>Select SVG file</source>
-        <translation type="vanished">Seleccionar archivo SVG</translation>
+        <translation>Seleccionar archivo SVG</translation>
     </message>
     <message>
         <source>SVG files</source>
-        <translation type="vanished">Archivos SVG</translation>
+        <translation>Archivos SVG</translation>
     </message>
 </context>
 <context>
@@ -110891,7 +110891,7 @@ Hubo un problema con su base de datos de símbolos.</translation>
     </message>
     <message>
         <source>Configure symbol...</source>
-        <translation type="vanished">Configurar símbolo...</translation>
+        <translation>Configurar símbolo...</translation>
     </message>
     <message>
         <location filename="../src/gui/qgssymbolbutton.cpp" line="310"/>
@@ -110931,11 +110931,11 @@ Hubo un problema con su base de datos de símbolos.</translation>
     <name>QgsSymbolLayerV2Widget</name>
     <message>
         <source>Size</source>
-        <translation type="vanished">Tamaño</translation>
+        <translation>Tamaño</translation>
     </message>
     <message>
         <source>area</source>
-        <translation type="vanished">área</translation>
+        <translation>área</translation>
     </message>
 </context>
 <context>
@@ -110976,22 +110976,22 @@ Hubo un problema con su base de datos de símbolos.</translation>
     <name>QgsSymbolLevelsV2Dialog</name>
     <message>
         <source>Layer %1</source>
-        <translation type="vanished">Capa %1</translation>
+        <translation>Capa %1</translation>
     </message>
 </context>
 <context>
     <name>QgsSymbolLevelsV2DialogBase</name>
     <message>
         <source>Symbol Levels</source>
-        <translation type="vanished">Niveles de símbolos</translation>
+        <translation>Niveles de símbolos</translation>
     </message>
     <message>
         <source>Enable symbol levels</source>
-        <translation type="vanished">Activar niveles de símbolos</translation>
+        <translation>Activar niveles de símbolos</translation>
     </message>
     <message>
         <source>Define the order in which the symbol layers are rendered. The numbers in the cells define in which rendering pass the layer will be drawn.</source>
-        <translation type="vanished">Definir el orden el que se renderizan las capas de símbolos. Los números en las celdas definen en qué pase del renderizado se dibujará la capa.</translation>
+        <translation>Definir el orden el que se renderizan las capas de símbolos. Los números en las celdas definen en qué pase del renderizado se dibujará la capa.</translation>
     </message>
 </context>
 <context>
@@ -111052,7 +111052,7 @@ Hubo un problema con su base de datos de símbolos.</translation>
     <name>QgsSymbolSelectorWidget</name>
     <message>
         <source>Symbol selector</source>
-        <translation type="vanished">Selector de símbolos</translation>
+        <translation>Selector de símbolos</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgssymbolselectordialog.cpp" line="285"/>
@@ -111064,58 +111064,58 @@ Hubo un problema con su base de datos de símbolos.</translation>
     <name>QgsSymbolV2SelectorDialogBase</name>
     <message>
         <source>Form</source>
-        <translation type="vanished">Formulario</translation>
+        <translation>Formulario</translation>
     </message>
     <message>
         <source>Add symbol layer</source>
-        <translation type="vanished">Añadir capa de símbolos</translation>
+        <translation>Añadir capa de símbolos</translation>
     </message>
     <message>
         <source>Remove symbol layer</source>
-        <translation type="vanished">Eliminar capa de símbolos</translation>
+        <translation>Eliminar capa de símbolos</translation>
     </message>
     <message>
         <source>Lock layer's color</source>
-        <translation type="vanished">Bloquear el color de la capa</translation>
+        <translation>Bloquear el color de la capa</translation>
     </message>
     <message>
         <source>Duplicates the current layer</source>
-        <translation type="vanished">Duplica la capa actual</translation>
+        <translation>Duplica la capa actual</translation>
     </message>
     <message>
         <source>Move up</source>
-        <translation type="vanished">Subir</translation>
+        <translation>Subir</translation>
     </message>
     <message>
         <source>Move down</source>
-        <translation type="vanished">Bajar</translation>
+        <translation>Bajar</translation>
     </message>
 </context>
 <context>
     <name>QgsSymbolV2SelectorWidget</name>
     <message>
         <source>Symbol selector</source>
-        <translation type="vanished">Selector de símbolos</translation>
+        <translation>Selector de símbolos</translation>
     </message>
     <message>
         <source>Symbol name</source>
-        <translation type="vanished">Nombre de símbolo</translation>
+        <translation>Nombre de símbolo</translation>
     </message>
     <message>
         <source>Please enter name for the symbol:</source>
-        <translation type="vanished">Por favor, introduzca un nombre para el símbolo:</translation>
+        <translation>Por favor, introduzca un nombre para el símbolo:</translation>
     </message>
     <message>
         <source>New symbol</source>
-        <translation type="vanished">Nuevo símbolo</translation>
+        <translation>Nuevo símbolo</translation>
     </message>
     <message>
         <source>Save symbol</source>
-        <translation type="vanished">Guardar símbolo</translation>
+        <translation>Guardar símbolo</translation>
     </message>
     <message>
         <source>Symbol with name '%1' already exists. Overwrite?</source>
-        <translation type="vanished">El símbolo llamado '%1' ya existe. ¿Sobreescribir?</translation>
+        <translation>El símbolo llamado '%1' ya existe. ¿Sobreescribir?</translation>
     </message>
 </context>
 <context>
@@ -111127,15 +111127,15 @@ Hubo un problema con su base de datos de símbolos.</translation>
     </message>
     <message>
         <source>Size Assistant...</source>
-        <translation type="vanished">Asistente de tamaño...</translation>
+        <translation>Asistente de tamaño...</translation>
     </message>
     <message>
         <source>Width Assistant...</source>
-        <translation type="vanished">Asistente de anchura...</translation>
+        <translation>Asistente de anchura...</translation>
     </message>
     <message>
         <source>Select color</source>
-        <translation type="vanished">Seleccionar color</translation>
+        <translation>Seleccionar color</translation>
     </message>
     <message>
         <location filename="../src/gui/symbology/qgssymbolslistwidget.cpp" line="112"/>
@@ -111186,45 +111186,45 @@ Hubo un problema con su base de datos de símbolos.</translation>
     </message>
     <message>
         <source>Transparency %1%</source>
-        <translation type="vanished">Transparencia: %1%</translation>
+        <translation>Transparencia: %1%</translation>
     </message>
 </context>
 <context>
     <name>QgsTINInterpolatorDialog</name>
     <message>
         <source>Linear</source>
-        <translation type="vanished">Lineal</translation>
+        <translation>Lineal</translation>
     </message>
     <message>
         <source>Clough-Toucher (cubic)</source>
-        <translation type="vanished">Clough-Toucher (cúbica)</translation>
+        <translation>Clough-Toucher (cúbica)</translation>
     </message>
     <message>
         <source>Save triangulation to file</source>
-        <translation type="vanished">Guardar triangulación a archivo</translation>
+        <translation>Guardar triangulación a archivo</translation>
     </message>
 </context>
 <context>
     <name>QgsTINInterpolatorDialogBase</name>
     <message>
         <source>Triangle based interpolation</source>
-        <translation type="vanished">Interpolación basada en triángulos</translation>
+        <translation>Interpolación basada en triángulos</translation>
     </message>
     <message>
         <source>Interpolation method</source>
-        <translation type="vanished">Método de interpolación</translation>
+        <translation>Método de interpolación</translation>
     </message>
     <message>
         <source>Export triangulation to shapefile after interpolation</source>
-        <translation type="vanished">Exportar triangulación a archivo shape después de la interpolación</translation>
+        <translation>Exportar triangulación a archivo shape después de la interpolación</translation>
     </message>
     <message>
         <source>Output file</source>
-        <translation type="vanished">Fichero de salida</translation>
+        <translation>Fichero de salida</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -111306,14 +111306,14 @@ Hubo un problema con su base de datos de símbolos.</translation>
     </message>
     <message>
         <source>Select font color</source>
-        <translation type="vanished">Seleccionar color de letra</translation>
+        <translation>Seleccionar color de letra</translation>
     </message>
 </context>
 <context>
     <name>QgsTextAnnotationDialogBase</name>
     <message>
         <source>Annotation text</source>
-        <translation type="vanished">Texto de anotación</translation>
+        <translation>Texto de anotación</translation>
     </message>
     <message>
         <location filename="../src/ui/qgstextannotationdialogbase.ui" line="14"/>
@@ -112556,7 +112556,7 @@ Hubo un problema con su base de datos de símbolos.</translation>
     </message>
     <message>
         <source>Tile Scale Panel</source>
-        <translation type="vanished">Panel de escala de tesela</translation>
+        <translation>Panel de escala de tesela</translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgstilescalewidget.cpp" line="142"/>
@@ -112568,178 +112568,178 @@ Hubo un problema con su base de datos de símbolos.</translation>
     <name>QgsTipFactory</name>
     <message>
         <source>QGIS Publications</source>
-        <translation type="vanished">Publicaciones de QGIS</translation>
+        <translation>Publicaciones de QGIS</translation>
     </message>
     <message>
         <source>Is it 'QGIS' or 'Quantum GIS'?</source>
-        <translation type="vanished">¿Es QGIS o Quantum GIS?</translation>
+        <translation>¿Es QGIS o Quantum GIS?</translation>
     </message>
     <message>
         <source>QGIS is open source</source>
-        <translation type="vanished">QGIS es de código abierto</translation>
+        <translation>QGIS es de código abierto</translation>
     </message>
     <message>
         <source>How do I refer to QGIS?</source>
-        <translation type="vanished">¿Cómo me refiero a QGIS?</translation>
+        <translation>¿Cómo me refiero a QGIS?</translation>
     </message>
     <message>
         <source>Add the current date to a map layout</source>
-        <translation type="vanished">Añadir la fecha actual a un mapa</translation>
+        <translation>Añadir la fecha actual a un mapa</translation>
     </message>
     <message>
         <source>Moving Elements and Maps in the Print Composer</source>
-        <translation type="vanished">Mover elementos y mapas en el diseñador de impresión</translation>
+        <translation>Mover elementos y mapas en el diseñador de impresión</translation>
     </message>
     <message>
         <source>Lock an element in the layout view</source>
-        <translation type="vanished">Bloquear un elemento en la vista composición del mapa</translation>
+        <translation>Bloquear un elemento en la vista composición del mapa</translation>
     </message>
     <message>
         <source>By left clicking an element in the layout view you can select it, by right clicking an element you can lock it. A lock symbol will appear in the upper left corner of the selected element. This prevents the element from accidentally being moved with the mouse. While in a locked state, you cannot move an element with the mouse but you can still move it with the arrow keys or by absolutely positioning it by setting its <strong>Position and Size</strong>.</source>
-        <translation type="vanished">Haciendo clic izquierdo en un elemento de la vista de la composición puede seleccionarlo, haciendo clic derecho puede bloquearlo. Un símbolo de bloqueo aparecerá en la esquina superior izquierda del elemento seleccionado. Esto evita que el elemento sea movido accidentalmente con el ratón. Mientras esté bloqueado no puede mover un elemento con el ratón, pero sí con las teclas de desplazamiento o posicionándolo de forma absoluta establaciendo su <str [...]
+        <translation>Haciendo clic izquierdo en un elemento de la vista de la composición puede seleccionarlo, haciendo clic derecho puede bloquearlo. Un símbolo de bloqueo aparecerá en la esquina superior izquierda del elemento seleccionado. Esto evita que el elemento sea movido accidentalmente con el ratón. Mientras esté bloqueado no puede mover un elemento con el ratón, pero sí con las teclas de desplazamiento o posicionándolo de forma absoluta establaciendo su <strong>Posición  [...]
     </message>
     <message>
         <source>Rotating a map and linking a north arrow</source>
-        <translation type="vanished">Rotar un mapa y enlazar una flecha de Norte</translation>
+        <translation>Rotar un mapa y enlazar una flecha de Norte</translation>
     </message>
     <message>
         <source>Disabling rendering</source>
-        <translation type="vanished">Deshabilitando renderizado</translation>
+        <translation>Deshabilitando renderizado</translation>
     </message>
     <message>
         <source>Sometimes you have a very large dataset which takes ages to draw. If you are going to be performing several actions (e.g. modifying symbology options) and wish to temporarily disable map rendering while you do so, you can uncheck the 'Render' checkbox in the bottom right of the status bar. Don't forget to check it on again when you are ready to have the map draw itself again!</source>
-        <translation type="vanished">A veces se tiene un conjunto de datos muy grande que lleva horas dibujar. Si va a realizar varias acciones (ej.: modificar opcones de simbología) y quiere desactivar temporalmente el renderizado del mapa mientras lo hace, puede desmarcar la casilla "Representar" abajo a la derecha de la barra de estado. ¡No olvide volver a marcarla cuando quiera que se vuelva a dibujar el mapa!</translation>
+        <translation>A veces se tiene un conjunto de datos muy grande que lleva horas dibujar. Si va a realizar varias acciones (ej.: modificar opcones de simbología) y quiere desactivar temporalmente el renderizado del mapa mientras lo hace, puede desmarcar la casilla "Representar" abajo a la derecha de la barra de estado. ¡No olvide volver a marcarla cuando quiera que se vuelva a dibujar el mapa!</translation>
     </message>
     <message>
         <source>Add an action to layer</source>
-        <translation type="vanished">Añadir una acción a la capa</translation>
+        <translation>Añadir una acción a la capa</translation>
     </message>
     <message>
         <source>Copy, paste and cut in QGIS</source>
-        <translation type="vanished">Copiar, pegar y cortar en QGIS</translation>
+        <translation>Copiar, pegar y cortar en QGIS</translation>
     </message>
     <message>
         <source>Copy, paste, and cut work as in another applications in QGIS. Select a feature (a geometry or an attribut row in the attribute table) and use one of this shortcuts: Ctrl+C to copy, Ctrl+X to cut, and Ctrl+V to paste.</source>
-        <translation type="vanished">Copiar, pegar y cortar funciona en QGIS como en otras aplicaciones. Seleccione un objeto espacial (una geometría o una fila de atributos en la tabla de atributos) y use uno de estos atajos: Ctrl+C para copiar, Ctrl+X para cortar y Ctrl+V para pegar.</translation>
+        <translation>Copiar, pegar y cortar funciona en QGIS como en otras aplicaciones. Seleccione un objeto espacial (una geometría o una fila de atributos en la tabla de atributos) y use uno de estos atajos: Ctrl+C para copiar, Ctrl+X para cortar y Ctrl+V para pegar.</translation>
     </message>
     <message>
         <source>Right click with identify tools</source>
-        <translation type="vanished">Clic derecho con herramientas de identificación</translation>
+        <translation>Clic derecho con herramientas de identificación</translation>
     </message>
     <message>
         <source>Right click with the identify tool to show a context menu from which you can choose the layer in which to identify a feature. A sub-menu will list features identified and a third sub-menu will show the action link setup for the layer. If one of this sub-menu doesn't contain any information, the next sub-menu will appear instead. For example, if you have just one layer, and click somewhere with several features, the first menu will list the features instead of layer l [...]
-        <translation type="vanished">Clic derecho con la herramienta de identificación para mostrar un menú contextual en el que puede elegir la capa en la que identificar un objeto espacial. Un submenú listará los objetos identificados y un tercer submenú mostrará la configuración de enlace a acciones de la capa. Si alguno de estos submenús no contiene información aparecerá el siguiente submenú en su lugar. Por ejemplo, si solo tiene una capa y hace clic en algún lugar con varios objeto [...]
+        <translation>Clic derecho con la herramienta de identificación para mostrar un menú contextual en el que puede elegir la capa en la que identificar un objeto espacial. Un submenú listará los objetos identificados y un tercer submenú mostrará la configuración de enlace a acciones de la capa. Si alguno de estos submenús no contiene información aparecerá el siguiente submenú en su lugar. Por ejemplo, si solo tiene una capa y hace clic en algún lugar con varios objetos espaciales, el [...]
     </message>
     <message>
         <source>Use VRT files</source>
-        <translation type="vanished">Usar archivos VRT</translation>
+        <translation>Usar archivos VRT</translation>
     </message>
     <message>
         <source>If you have a number of aerial photos spread across a wide area, instead of loading each file as a separate layer you can treat them all as a single layer by using a .vrt file. To create a .vrt, go to Raster -> Miscellaneous -> Build Virtual Raster (Catalog).</source>
-        <translation type="vanished">Si tiene varias fotos repartidas a lo largo de un área amplia, en vez de cargar cada archivo como una capa separada puede tratarlas todas ellas como una sola capa usando un archivo .vrt. Para crear un .vrt, vaya a Ráster -> Miscelánea -> Construir ráster virtual (catálogo).</translation>
+        <translation>Si tiene varias fotos repartidas a lo largo de un área amplia, en vez de cargar cada archivo como una capa separada puede tratarlas todas ellas como una sola capa usando un archivo .vrt. Para crear un .vrt, vaya a Ráster -> Miscelánea -> Construir ráster virtual (catálogo).</translation>
     </message>
     <message>
         <source>Getting Help With QGIS</source>
-        <translation type="vanished">Obtener ayuda con QGIS</translation>
+        <translation>Obtener ayuda con QGIS</translation>
     </message>
     <message>
         <source>QGIS is spelled in all caps. We have various subprojects of the QGIS project and it will help to avoid confusion if you refer to each by its name:<ul><li>QGIS Library - this is the C++ library that contains the core logic that is used to build the QGIS user interface and other applications.</li><li>QGIS Desktop - this is the desktop application that you know and love so much :-).</li><li>QGIS Server - this is a server-side application b [...]
-        <translation type="vanished">QGIS se nombra con todas las letras. Tenemos varios subproyectos de QGIS y ayudará a evitar confusión si se refiere a cada uno por su nombre:<ul><li>Biblioteca QGIS - es la biblioteca de C++ que contiene la lógica central que se usa para construir la interfaz de usuario de QGIS y otras aplicaciones.</li><li>QGIS Desktop - es la aplicación de escritorio que conoce y tanto quiere :-).</li><li>QGIS Server - es una apli [...]
+        <translation>QGIS se nombra con todas las letras. Tenemos varios subproyectos de QGIS y ayudará a evitar confusión si se refiere a cada uno por su nombre:<ul><li>Biblioteca QGIS - es la biblioteca de C++ que contiene la lógica central que se usa para construir la interfaz de usuario de QGIS y otras aplicaciones.</li><li>QGIS Desktop - es la aplicación de escritorio que conoce y tanto quiere :-).</li><li>QGIS Server - es una aplicación de servid [...]
     </message>
     <message>
         <source>In the print composer toolbar you can find two buttons for moving elements. The left one (right arrow icon) selects and moves elements in the layout. After selecting the element with this tool you can also move them around with the arrow keys. For accurate positioning use the <strong>Position and Size</strong> section, which can be found in the tab <strong>Item Properties -> Position and Size</strong>. The other move tool (map canvas icon with r [...]
-        <translation type="vanished">En la barra de herramientas del diseñador de impresión puede encontrar dos botones para mover elementos. El de la izquierda (icono de flecha blanca) selecciona y mueve elementos en la composición. Después de seleccionar el elemento con esta herramienta también puede moverlo con las teclas de desplazamiento. Para una colocación precisa use la sección <strong>Posición y tamaño</strong>, que puede encontrar en la pestaña <strong>Propied [...]
+        <translation>En la barra de herramientas del diseñador de impresión puede encontrar dos botones para mover elementos. El de la izquierda (icono de flecha blanca) selecciona y mueve elementos en la composición. Después de seleccionar el elemento con esta herramienta también puede moverlo con las teclas de desplazamiento. Para una colocación precisa use la sección <strong>Posición y tamaño</strong>, que puede encontrar en la pestaña <strong>Propiedades del element [...]
     </message>
     <message>
         <source>Numeric scale value in map layout linked to map frame</source>
-        <translation type="vanished">Valor de escala numérica en la composición de mapa enlazado al marco del mapa</translation>
+        <translation>Valor de escala numérica en la composición de mapa enlazado al marco del mapa</translation>
     </message>
     <message>
         <source>If you want to place a text label as a placeholder for the current scale, linked to a map frame, you need to place a scalebar and set the style to 'Numeric'. You also need to select the map frame, if there is more than one.</source>
-        <translation type="vanished">Si quiere colocar una etiqueta de texto como lugar de ubicación de la escala actual, enlazada con un marco de mapa, necesita colocar una barra de escala y establecer el estilo a "Numérico". También necesita seleccionar el marco de mapa, si hay más de uno.</translation>
+        <translation>Si quiere colocar una etiqueta de texto como lugar de ubicación de la escala actual, enlazada con un marco de mapa, necesita colocar una barra de escala y establecer el estilo a "Numérico". También necesita seleccionar el marco de mapa, si hay más de uno.</translation>
     </message>
     <message>
         <source>Using the mouse scroll wheel</source>
-        <translation type="vanished">Usar la rueda del ratón</translation>
+        <translation>Usar la rueda del ratón</translation>
     </message>
     <message>
         <source>You can use the scroll wheel on your mouse to zoom in, out and pan the map. Scroll forwards to zoom in, scroll backwards to zoom out and press and hold the scroll wheel down to pan the map. You can configure options for scroll wheel behaviour in the Options panel.</source>
-        <translation type="vanished">Puede usar la rueda del ratón para hacer zum y desplazar el mapa. Mueva la rueda hacia delante para acercar el zum, hacia atrás para alejarlo y manténgalo pulsado para desplazar el mapa. Puede configurar el comportamiento de la rueda del ratón en el panel Opciones.</translation>
+        <translation>Puede usar la rueda del ratón para hacer zum y desplazar el mapa. Mueva la rueda hacia delante para acercar el zum, hacia atrás para alejarlo y manténgalo pulsado para desplazar el mapa. Puede configurar el comportamiento de la rueda del ratón en el panel Opciones.</translation>
     </message>
     <message>
         <source>Join intersected polylines when rendering</source>
-        <translation type="vanished">Unir polilíneas que se intersecan al dibujar</translation>
+        <translation>Unir polilíneas que se intersecan al dibujar</translation>
     </message>
     <message>
         <source>Both used to be correct, but we recently decided to just use 'QGIS'. For articles we suggest you write 'QGIS is ....'</source>
-        <translation type="vanished">Ambos eran correctos, pero recientemente decidimos usar simplemente 'QGIS'. Para artículos sugerimos escribir 'QGIS es ...'</translation>
+        <translation>Ambos eran correctos, pero recientemente decidimos usar simplemente 'QGIS'. Para artículos sugerimos escribir 'QGIS es ...'</translation>
     </message>
     <message>
         <source>QGIS is open source software. This means that the software source code can be freely viewed and modified. The GPL places a restriction that any modifications you make must be made available in source form to whoever you give modified versions to, and that you can not create a new version of QGIS under a 'closed source' license. Visit <a href="https://qgis.org"> the QGIS home page (https://qgis.org)</a> for more information.</source>
-        <translation type="vanished">QGIS es un software de código abierto. Esto significa que el cógigo fuente del software se puede ver y modificar libremente. La GPL establece la restricción de que cualquier modificación que se haga se debe poner a disposición de cualquiera a quien se dé la versión modificada en forma de codigo fuente y que no se puede crear una nueva versión de QGIS con una licencia de código cerrado. Visite <a href="https://qgis.org"> la página web d [...]
+        <translation>QGIS es un software de código abierto. Esto significa que el cógigo fuente del software se puede ver y modificar libremente. La GPL establece la restricción de que cualquier modificación que se haga se debe poner a disposición de cualquiera a quien se dé la versión modificada en forma de codigo fuente y que no se puede crear una nueva versión de QGIS con una licencia de código cerrado. Visite <a href="https://qgis.org"> la página web de QGIS (https:// [...]
     </message>
     <message>
         <source>If you write a scientific paper or any other article that refers to QGIS we would love to include your work in the <a href="https://qgis.org/en/site/about/case_studies/index.html">case studies section</a> of the QGIS home page.</source>
-        <translation type="vanished">Si escribe un artículo científico o cualquier otro tipo de artículo que mencione a QGIS nos gustaría incluir su trabajo en la <a href="https://qgis.org/en/site/about/case_studies/index.html">sección estudio de casos</a> de la página web de QGIS.</translation>
+        <translation>Si escribe un artículo científico o cualquier otro tipo de artículo que mencione a QGIS nos gustaría incluir su trabajo en la <a href="https://qgis.org/en/site/about/case_studies/index.html">sección estudio de casos</a> de la página web de QGIS.</translation>
     </message>
     <message>
         <source>Would you like to see QGIS in your native language? We are looking for more translators and would appreciate your help! The translation process is fairly straight forward - instructions are available in the QGIS wiki <a href="https://qgis.org/en/site/getinvolved/translate.html#howto-translate-gui">translator's page.</a></source>
-        <translation type="vanished">¿Quiere ver QGIS en su lengua nativa? Buscamos más traductores y apreciaríamos su ayuda. El proceso de traducción es bastante directo - las instrucciones están disponibles en la <a href="https://qgis.org/en/site/getinvolved/translate.html#howto-translate-gui">página de traductores</a> de la wiki de QGIS.</translation>
+        <translation>¿Quiere ver QGIS en su lengua nativa? Buscamos más traductores y apreciaríamos su ayuda. El proceso de traducción es bastante directo - las instrucciones están disponibles en la <a href="https://qgis.org/en/site/getinvolved/translate.html#howto-translate-gui">página de traductores</a> de la wiki de QGIS.</translation>
     </message>
     <message>
         <source>If you need help using QGIS there is a 'users' mailing list where users help each other with issues related to using QGIS. We also have a 'developers' mailing list for those wanting help and discuss things relating to the QGIS code base. Details on different means to get help are described in the <a href="https://qgis.org/en/site/forusers/support.html#mailing-lists">community section</a> of the QGIS home page.</source>
-        <translation type="vanished">Si necesita ayuda al usar QGIS tenemos una lista de correo de 'usuarios' en la que los usuarios se ayudan con asuntos relacionados con el uso de QGIS. También tenemos una lista de correo de 'desarrolladores' para aquellos que quieran ayudar y debatir cosas relacionadas con el código base de QGIS. En la <a href="https://qgis.org/en/site/forusers/support.html#mailing-lists">sección de la comunidad</a> de la pági [...]
+        <translation>Si necesita ayuda al usar QGIS tenemos una lista de correo de 'usuarios' en la que los usuarios se ayudan con asuntos relacionados con el uso de QGIS. También tenemos una lista de correo de 'desarrolladores' para aquellos que quieran ayudar y debatir cosas relacionadas con el código base de QGIS. En la <a href="https://qgis.org/en/site/forusers/support.html#mailing-lists">sección de la comunidad</a> de la página web de QGIS s [...]
     </message>
     <message>
         <source>You can add a current date variable to your map layout. Create a regular text label and add the string $CURRENT_DATE(yyyy-MM-dd) to the text box. See the <a href="https://doc.qt.io/qt-4.8/qdate.html#toString">QDate::toString format documentation</a> for the possible date formats.</source>
-        <translation type="vanished">Puede añadir una variable de fecha actual a la vista de su mapa. Cree una etiqueta de texto normal y añada la cadena $CURRENT_DATE(yyyy-MM-dd) a la caja de texto. Vea la <a href="https://doc.qt.io/qt-4.8/qdate.html#toString">documentación del formato QDate::toString</a> para los formatos de fecha posibles.</translation>
+        <translation>Puede añadir una variable de fecha actual a la vista de su mapa. Cree una etiqueta de texto normal y añada la cadena $CURRENT_DATE(yyyy-MM-dd) a la caja de texto. Vea la <a href="https://doc.qt.io/qt-4.8/qdate.html#toString">documentación del formato QDate::toString</a> para los formatos de fecha posibles.</translation>
     </message>
     <message>
         <source>QGIS has plugins that extend its functionality. QGIS ships with some core plugins you can explore from the Plugins->Manage and Install Plugins menu. In addition there are a lot of <a href="https://plugins.qgis.org/">Python plugins </a> contributed by the user community that can be installed via this same menu. Don't miss out on all QGIS has to offer! Check out the plugins and see what they can do for you.</source>
-        <translation type="vanished">QGIS tiene complementos que extienden su funcionalidad. QGIS se distribuye con algunos complementos del núcleo incluidos, que puede explorar desde el menú Complementos->Administrar e instalar complementos. Además, hay montón de <a href="https://plugins.qgis.org/">complementos en Python </a> aportados por la comunidad de usuarios, que se pueden instalar desde el mismo menú. No deje pasar todo lo que QGIS le puede ofrecer! Compr [...]
+        <translation>QGIS tiene complementos que extienden su funcionalidad. QGIS se distribuye con algunos complementos del núcleo incluidos, que puede explorar desde el menú Complementos->Administrar e instalar complementos. Además, hay montón de <a href="https://plugins.qgis.org/">complementos en Python </a> aportados por la comunidad de usuarios, que se pueden instalar desde el mismo menú. No deje pasar todo lo que QGIS le puede ofrecer! Compruebe los complem [...]
     </message>
     <message>
         <source>Action in a layer allows user to trigger action when clicking on a geometry with 'Run Feature Action' tools.For example, you can open a HTML page using the field value of the geometry as a parameter. Look at the <a href="https://docs.qgis.org/latest/en/docs/user_manual/working_with_vector/vector_properties.html?#actions-menu">documentation</a>.</source>
-        <translation type="vanished">Las acciones en una capa permiten al usuario desencadenar una acción al hacer clic en una geometría con las herramientas 'Ejecutar acción de objeto'. Por ejemplo, puede abrir una página HTML usando el valor del campo de la geometría como parámetro. Mire la <a href="https://docs.qgis.org/latest/en/docs/user_manual/working_with_vector/vector_properties.html?#actions-menu">documentación</a>.</translation>
+        <translation>Las acciones en una capa permiten al usuario desencadenar una acción al hacer clic en una geometría con las herramientas 'Ejecutar acción de objeto'. Por ejemplo, puede abrir una página HTML usando el valor del campo de la geometría como parámetro. Mire la <a href="https://docs.qgis.org/latest/en/docs/user_manual/working_with_vector/vector_properties.html?#actions-menu">documentación</a>.</translation>
     </message>
     <message>
         <source>When applying layered styles to a polyline layer, you can join intersecting lines together simply by enabling symbol levels. The image below shows a before (left) and after (right) view of an intersection when symbol levels are enabled.</source>
-        <translation type="vanished">Cuando se aplican estilos por capas a una capa de polilíneas, puede unir líneas que se cruzan simplemente activando niveles de simbología. La imagen de abajo muestra una vista antes (izquierda) y después (derecha) de una intersección cuando se activan los niveles de simbología.</translation>
+        <translation>Cuando se aplican estilos por capas a una capa de polilíneas, puede unir líneas que se cruzan simplemente activando niveles de simbología. La imagen de abajo muestra una vista antes (izquierda) y después (derecha) de una intersección cuando se activan los niveles de simbología.</translation>
     </message>
     <message>
         <source>Auto-enable on the fly projection</source>
-        <translation type="vanished">Habilitar proyección al vuelo automáticamente</translation>
+        <translation>Habilitar proyección al vuelo automáticamente</translation>
     </message>
     <message>
         <source>In the options dialog, under the CRS tab, you can set QGIS so that whenever you create a new project, 'on the fly projection' is enabled automatically and a pre-selected Coordinate Reference System of your choice is used.</source>
-        <translation type="vanished">En el diálogo de opciones, bajo la pestaña SRC, puede establecer que QGIS active automáticamente la "proyección al vuelo" cada vez que cree un proyecto nuevo y se use un Sistema de Referencia de Coordenadas preseleccionado de su elección.</translation>
+        <translation>En el diálogo de opciones, bajo la pestaña SRC, puede establecer que QGIS active automáticamente la "proyección al vuelo" cada vez que cree un proyecto nuevo y se use un Sistema de Referencia de Coordenadas preseleccionado de su elección.</translation>
     </message>
     <message>
         <source>Sponsor QGIS</source>
-        <translation type="vanished">Patrocinar QGIS</translation>
+        <translation>Patrocinar QGIS</translation>
     </message>
     <message>
         <source>If QGIS is saving you money or you like our work and have the financial ability to help, please consider sponsoring the development of QGIS. We use money from sponsors to pay for travel and costs related to our regular hackfest meetings, and to generally support the goals of our project. Please see the<a href="https://qgis.org/en/site/getinvolved/governance/sponsorship/sponsorship.html">QGIS Sponsorship Web Page</a> for more details.</source>
-        <translation type="vanished">Si QGIS le está ahorrando dinero o le gusta nuestro trabajo y tiene la posibilidad económica de ayudar, por favor considere patrocinar el desarrollo de QGIS. Usamos el dinero de los patrocinadores para pagar viajes y costes relacionados con nuestros encuentros periódicos de desarrolladores y en general para apoyar los objetivos de nuestro proyecto. Por favor vea la <a href="https://qgis.org/en/site/getinvolved/governance/sponsorship/sponsorshi [...]
+        <translation>Si QGIS le está ahorrando dinero o le gusta nuestro trabajo y tiene la posibilidad económica de ayudar, por favor considere patrocinar el desarrollo de QGIS. Usamos el dinero de los patrocinadores para pagar viajes y costes relacionados con nuestros encuentros periódicos de desarrolladores y en general para apoyar los objetivos de nuestro proyecto. Por favor vea la <a href="https://qgis.org/en/site/getinvolved/governance/sponsorship/sponsorship.html"> [...]
     </message>
     <message>
         <source>QGIS has Plugins!</source>
-        <translation type="vanished">¡QGIS tiene complementos!</translation>
+        <translation>¡QGIS tiene complementos!</translation>
     </message>
     <message>
         <source>Become a QGIS translator</source>
-        <translation type="vanished">Convertirse en traductor de QGIS</translation>
+        <translation>Convertirse en traductor de QGIS</translation>
     </message>
 </context>
 <context>
     <name>QgsTipGui</name>
     <message>
         <source>&Previous</source>
-        <translation type="vanished">&Anterior</translation>
+        <translation>&Anterior</translation>
     </message>
     <message>
         <source>&Next</source>
-        <translation type="vanished">&Siguiente</translation>
+        <translation>&Siguiente</translation>
     </message>
 </context>
 <context>
@@ -112786,7 +112786,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Select transformation type:</source>
-        <translation type="vanished">Seleccionar tipo de transformación:</translation>
+        <translation>Seleccionar tipo de transformación:</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgstransformtypedialogbase.ui" line="20"/>
@@ -112828,7 +112828,7 @@ p, li { white-space: pre-wrap; }
     <name>QgsTransformSettingsDialog</name>
     <message>
         <source>Transformation settings</source>
-        <translation type="vanished">Configuración de la transformación</translation>
+        <translation>Configuración de la transformación</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgstransformsettingsdialogbase.ui" line="14"/>
@@ -112919,7 +112919,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgstransformsettingsdialogbase.ui" line="168"/>
@@ -113006,7 +113006,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>PDF Format</source>
-        <translation type="vanished">Formato PDF</translation>
+        <translation>Formato PDF</translation>
     </message>
     <message>
         <location filename="../src/plugins/georeferencer/qgstransformsettingsdialog.cpp" line="60"/>
@@ -113082,7 +113082,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Meters (at Map Scale)</source>
-        <translation type="vanished">Metros (a la escala del mapa)</translation>
+        <translation>Metros (a la escala del mapa)</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsunitselectionwidget.cpp" line="178"/>
@@ -113096,7 +113096,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Map unit</source>
-        <translation type="vanished">Unidad de mapa</translation>
+        <translation>Unidad de mapa</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsunitselectionwidget.cpp" line="182"/>
@@ -113108,81 +113108,81 @@ p, li { white-space: pre-wrap; }
     <name>QgsUnitTypes::AngleUnit</name>
     <message>
         <source>degrees</source>
-        <translation type="vanished">grados</translation>
+        <translation>grados</translation>
     </message>
     <message>
         <source>radians</source>
-        <translation type="vanished">radianes</translation>
+        <translation>radianes</translation>
     </message>
     <message>
         <source>gon</source>
-        <translation type="vanished">Grados centesimales</translation>
+        <translation>Grados centesimales</translation>
     </message>
     <message>
         <source>minutes of arc</source>
-        <translation type="vanished">minutos de arco</translation>
+        <translation>minutos de arco</translation>
     </message>
     <message>
         <source>seconds of arc</source>
-        <translation type="vanished">segundos de arco</translation>
+        <translation>segundos de arco</translation>
     </message>
     <message>
         <source>turns</source>
-        <translation type="vanished">vueltas</translation>
+        <translation>vueltas</translation>
     </message>
     <message>
         <source><unknown></source>
-        <translation type="vanished"><desconocido></translation>
+        <translation><desconocido></translation>
     </message>
 </context>
 <context>
     <name>QgsUnitTypes::AreaUnit</name>
     <message>
         <source>square meters</source>
-        <translation type="vanished">metros cuadrados</translation>
+        <translation>metros cuadrados</translation>
     </message>
     <message>
         <source>square kilometers</source>
-        <translation type="vanished">kilómetros cuadrados</translation>
+        <translation>kilómetros cuadrados</translation>
     </message>
     <message>
         <source>square feet</source>
-        <translation type="vanished">pies cuadrados</translation>
+        <translation>pies cuadrados</translation>
     </message>
     <message>
         <source>square yards</source>
-        <translation type="vanished">yardas cuadradas</translation>
+        <translation>yardas cuadradas</translation>
     </message>
     <message>
         <source>square miles</source>
-        <translation type="vanished">millas cuadradas</translation>
+        <translation>millas cuadradas</translation>
     </message>
     <message>
         <source>hectares</source>
-        <translation type="vanished">hectáreas</translation>
+        <translation>hectáreas</translation>
     </message>
     <message>
         <source>acres</source>
-        <translation type="vanished">acres</translation>
+        <translation>acres</translation>
     </message>
     <message>
         <source>square nautical miles</source>
-        <translation type="vanished">millas náuticas cuadradas</translation>
+        <translation>millas náuticas cuadradas</translation>
     </message>
     <message>
         <source>square degrees</source>
-        <translation type="vanished">grados cuadrados</translation>
+        <translation>grados cuadrados</translation>
     </message>
     <message>
         <source><unknown></source>
-        <translation type="vanished"><desconocido></translation>
+        <translation><desconocido></translation>
     </message>
 </context>
 <context>
     <name>QgsUserInputDockWidget</name>
     <message>
         <source>User Input Panel</source>
-        <translation type="vanished">Panel de entrada de usuario</translation>
+        <translation>Panel de entrada de usuario</translation>
     </message>
 </context>
 <context>
@@ -113226,11 +113226,11 @@ p, li { white-space: pre-wrap; }
     <name>QgsValueMapConfigDlg</name>
     <message>
         <source>Select a file</source>
-        <translation type="vanished">Seleccionar un archivo</translation>
+        <translation>Seleccionar un archivo</translation>
     </message>
     <message>
         <source>Error</source>
-        <translation type="vanished">Error</translation>
+        <translation>Error</translation>
     </message>
     <message>
         <location filename="../src/gui/editorwidgets/qgsvaluemapconfigdlg.cpp" line="240"/>
@@ -113252,7 +113252,7 @@ El error fue: %2</translation>
     <message>
         <source>Could not open file %1
 Error was:%2</source>
-        <translation type="vanished">No se pudo abrir el archivo %1
+        <translation>No se pudo abrir el archivo %1
 El error fue: %2</translation>
     </message>
 </context>
@@ -113311,7 +113311,7 @@ El error fue: %2</translation>
     <name>QgsValueRelationConfigDlg</name>
     <message>
         <source>Edit filter expression</source>
-        <translation type="vanished">Editar expresión de filtrado</translation>
+        <translation>Editar expresión de filtrado</translation>
     </message>
     <message>
         <location filename="../src/gui/editorwidgets/qgsvaluerelationconfigdlg.cpp" line="78"/>
@@ -113348,7 +113348,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Select layer, key column and value column:</source>
-        <translation type="vanished">Seleccionar capa, columna clave y columna de valores:</translation>
+        <translation>Seleccionar capa, columna clave y columna de valores:</translation>
     </message>
     <message>
         <location filename="../src/ui/editorwidgets/qgsvaluerelationconfigdlgbase.ui" line="50"/>
@@ -113377,7 +113377,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -113436,19 +113436,19 @@ El error fue: %2</translation>
     <name>QgsVectorColorBrewerColorRampV2DialogBase</name>
     <message>
         <source>ColorBrewer ramp</source>
-        <translation type="vanished">rampa ColorBrewer</translation>
+        <translation>rampa ColorBrewer</translation>
     </message>
     <message>
         <source>Scheme name</source>
-        <translation type="vanished">Nombre del esquema</translation>
+        <translation>Nombre del esquema</translation>
     </message>
     <message>
         <source>Colors</source>
-        <translation type="vanished">Colores</translation>
+        <translation>Colores</translation>
     </message>
     <message>
         <source>Preview</source>
-        <translation type="vanished">Vista previa</translation>
+        <translation>Vista previa</translation>
     </message>
 </context>
 <context>
@@ -113574,101 +113574,101 @@ El error fue: %2</translation>
     <name>QgsVectorGradientColorRampV2Dialog</name>
     <message>
         <source>Select ramp color</source>
-        <translation type="vanished">Seleccionar color de rampa</translation>
+        <translation>Seleccionar color de rampa</translation>
     </message>
     <message>
         <source>Transparent</source>
-        <translation type="vanished">Transparente</translation>
+        <translation>Transparente</translation>
     </message>
     <message>
         <source>Discrete</source>
-        <translation type="vanished">Discreto</translation>
+        <translation>Discreto</translation>
     </message>
     <message>
         <source>Continuous</source>
-        <translation type="vanished">Continuo</translation>
+        <translation>Continuo</translation>
     </message>
     <message>
         <source>Gradient file : %1</source>
-        <translation type="vanished">Archivo de gradiente: %1</translation>
+        <translation>Archivo de gradiente: %1</translation>
     </message>
     <message>
         <source>License file : %1</source>
-        <translation type="vanished">Archivo de licencia: %1</translation>
+        <translation>Archivo de licencia: %1</translation>
     </message>
 </context>
 <context>
     <name>QgsVectorGradientColorRampV2DialogBase</name>
     <message>
         <source>Gradient color ramp</source>
-        <translation type="vanished">Rampa de color de gradiente</translation>
+        <translation>Rampa de color de gradiente</translation>
     </message>
     <message>
         <source>Color &1</source>
-        <translation type="vanished">Color &1</translation>
+        <translation>Color &1</translation>
     </message>
     <message>
         <source>Color &2</source>
-        <translation type="vanished">Color &2</translation>
+        <translation>Color &2</translation>
     </message>
     <message>
         <source>&Type</source>
-        <translation type="vanished">&Tipo</translation>
+        <translation>&Tipo</translation>
     </message>
     <message>
         <source>Gradient stop</source>
-        <translation type="vanished">Paso de gradiente</translation>
+        <translation>Paso de gradiente</translation>
     </message>
     <message>
         <source>Relative &position</source>
-        <translation type="vanished">&Posición relativa</translation>
+        <translation>&Posición relativa</translation>
     </message>
     <message>
         <source> %</source>
-        <translation type="vanished"> %</translation>
+        <translation> %</translation>
     </message>
     <message>
         <source>&Delete stop</source>
-        <translation type="vanished">&Borrar paso</translation>
+        <translation>&Borrar paso</translation>
     </message>
     <message>
         <source>Plot</source>
-        <translation type="vanished">Trazar</translation>
+        <translation>Trazar</translation>
     </message>
     <message>
         <source>Hue</source>
-        <translation type="vanished">Matiz</translation>
+        <translation>Matiz</translation>
     </message>
     <message>
         <source>Saturation</source>
-        <translation type="vanished">Saturación</translation>
+        <translation>Saturación</translation>
     </message>
     <message>
         <source>Lightness</source>
-        <translation type="vanished">Luminosidad</translation>
+        <translation>Luminosidad</translation>
     </message>
     <message>
         <source>Alpha</source>
-        <translation type="vanished">Alfa</translation>
+        <translation>Alfa</translation>
     </message>
     <message>
         <source>&Information</source>
-        <translation type="vanished">&Información</translation>
+        <translation>&Información</translation>
     </message>
 </context>
 <context>
     <name>QgsVectorLayer</name>
     <message>
         <source>Updating feature count for layer %1</source>
-        <translation type="vanished">Actualizando la cuenta de objetos espaciales de la capa %1</translation>
+        <translation>Actualizando la cuenta de objetos espaciales de la capa %1</translation>
     </message>
     <message>
         <source>Abort</source>
-        <translation type="vanished">Abortar</translation>
+        <translation>Abortar</translation>
     </message>
     <message>
         <source>QGIS</source>
-        <translation type="vanished">QGIS</translation>
+        <translation>QGIS</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorlayer.cpp" line="2623"/>
@@ -113689,7 +113689,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>General</source>
-        <translation type="vanished">General</translation>
+        <translation>General</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorlayer.cpp" line="4029"/>
@@ -113698,23 +113698,23 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Extents</source>
-        <translation type="vanished">Extensión</translation>
+        <translation>Extensión</translation>
     </message>
     <message>
         <source>xMin,yMin %1,%2 : xMax,yMax %3,%4</source>
-        <translation type="vanished">xMín,yMín %1,%2 : xMáx,yMáx %3,%4</translation>
+        <translation>xMín,yMín %1,%2 : xMáx,yMáx %3,%4</translation>
     </message>
     <message>
         <source>Capabilities of this layer</source>
-        <translation type="vanished">Capacidades de esta capa</translation>
+        <translation>Capacidades de esta capa</translation>
     </message>
     <message>
         <source>unknown extent</source>
-        <translation type="vanished">extensión desconocida</translation>
+        <translation>extensión desconocida</translation>
     </message>
     <message>
         <source>(Invalid transformation of layer extents)</source>
-        <translation type="vanished">(Transformación no válida de la extensión de la capa)</translation>
+        <translation>(Transformación no válida de la extensión de la capa)</translation>
     </message>
     <message>
         <location filename="../src/core/qgsvectorlayer.cpp" line="3948"/>
@@ -114129,7 +114129,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Error occurred while retrieving styles from database</source>
-        <translation type="vanished">Ocurrió un error al recuperar estilos de la base de datos</translation>
+        <translation>Ocurrió un error al recuperar estilos de la base de datos</translation>
     </message>
     <message>
         <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1586"/>
@@ -114138,7 +114138,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Insert expression</source>
-        <translation type="vanished">Insertar expresión</translation>
+        <translation>Insertar expresión</translation>
     </message>
     <message>
         <location filename="../src/app/qgsvectorlayerproperties.cpp" line="125"/>
@@ -114274,11 +114274,11 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Dependency cycle</source>
-        <translation type="vanished">Ciclo de dependencia</translation>
+        <translation>Ciclo de dependencia</translation>
     </message>
     <message>
         <source>This configuration introduces a cycle in data dependencies and will be ignored</source>
-        <translation type="vanished">Esta configuración introduce un ciclo en las dependencias de datos y se ignorará</translation>
+        <translation>Esta configuración introduce un ciclo en las dependencias de datos y se ignorará</translation>
     </message>
     <message>
         <location filename="../src/app/qgsvectorlayerproperties.cpp" line="829"/>
@@ -114334,7 +114334,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>No default style was found for this layer</source>
-        <translation type="vanished">No se encontró ningún estilo predeterminado para esta capa</translation>
+        <translation>No se encontró ningún estilo predeterminado para esta capa</translation>
     </message>
     <message>
         <location filename="../src/app/qgsvectorlayerproperties.cpp" line="920"/>
@@ -114343,7 +114343,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Load layer properties from style file</source>
-        <translation type="vanished">Cargar propiedades de la capa de archivo de estilo</translation>
+        <translation>Cargar propiedades de la capa de archivo de estilo</translation>
     </message>
     <message>
         <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1738"/>
@@ -114374,15 +114374,15 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>QGIS Layer Style File...</source>
-        <translation type="vanished">Archivo de estilo de capa de QGIS...</translation>
+        <translation>Archivo de estilo de capa de QGIS...</translation>
     </message>
     <message>
         <source>SLD File...</source>
-        <translation type="vanished">Archivo SLD...</translation>
+        <translation>Archivo SLD...</translation>
     </message>
     <message>
         <source>Load from file...</source>
-        <translation type="vanished">Cargar de archivo...</translation>
+        <translation>Cargar de archivo...</translation>
     </message>
     <message>
         <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1145"/>
@@ -114391,11 +114391,11 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Save layer properties as style file</source>
-        <translation type="vanished">Guardar propiedades de la capa como archivo de estilo</translation>
+        <translation>Guardar propiedades de la capa como archivo de estilo</translation>
     </message>
     <message>
         <source>Saved Style</source>
-        <translation type="vanished">Estilo guardado</translation>
+        <translation>Estilo guardado</translation>
     </message>
     <message>
         <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1304"/>
@@ -114422,7 +114422,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Error occurred retrieving styles from database</source>
-        <translation type="vanished">Ocurrió un error al recuperar estilos de la base de datos</translation>
+        <translation>Ocurrió un error al recuperar estilos de la base de datos</translation>
     </message>
     <message>
         <location filename="../src/app/qgsvectorlayerproperties.cpp" line="1492"/>
@@ -114450,11 +114450,11 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Map tip display text</source>
-        <translation type="vanished">Texto de avisos del mapa</translation>
+        <translation>Texto de avisos del mapa</translation>
     </message>
     <message>
         <source>Memory cache</source>
-        <translation type="vanished">Caché de memoria</translation>
+        <translation>Caché de memoria</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1928"/>
@@ -114805,7 +114805,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Properties</source>
-        <translation type="vanished">Propiedades</translation>
+        <translation>Propiedades</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1870"/>
@@ -114814,7 +114814,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Style</source>
-        <translation type="vanished">Estilo</translation>
+        <translation>Estilo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="137"/>
@@ -114824,11 +114824,11 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Labels (deprecated)</source>
-        <translation type="vanished">Etiquetas (obsoletas)</translation>
+        <translation>Etiquetas (obsoletas)</translation>
     </message>
     <message>
         <source>Display labels</source>
-        <translation type="vanished">Mostrar etiquetas</translation>
+        <translation>Mostrar etiquetas</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1050"/>
@@ -114838,7 +114838,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>General</source>
-        <translation type="vanished">General</translation>
+        <translation>General</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="628"/>
@@ -114866,7 +114866,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Layer source</source>
-        <translation type="vanished">Fuente de la capa</translation>
+        <translation>Fuente de la capa</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="514"/>
@@ -114890,11 +114890,11 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Scale dependent visibility</source>
-        <translation type="vanished">Visibilidad dependiente de la escala</translation>
+        <translation>Visibilidad dependiente de la escala</translation>
     </message>
     <message>
         <source>Simplify geometry</source>
-        <translation type="vanished">Simplificar geometría</translation>
+        <translation>Simplificar geometría</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1502"/>
@@ -114914,7 +114914,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Simplification algorithm: </source>
-        <translation type="vanished">Algoritmo de simplificación:</translation>
+        <translation>Algoritmo de simplificación:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1564"/>
@@ -114933,11 +114933,11 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Inserts an expression into the action</source>
-        <translation type="vanished">Inserta una expresión dentro de la acción</translation>
+        <translation>Inserta una expresión dentro de la acción</translation>
     </message>
     <message>
         <source>Insert expression...</source>
-        <translation type="vanished">Insertar expresión...</translation>
+        <translation>Insertar expresión...</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="1415"/>
@@ -114946,19 +114946,19 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Inserts the selected field into the action</source>
-        <translation type="vanished">Inserta el campo seleccionado dentro de la acción</translation>
+        <translation>Inserta el campo seleccionado dentro de la acción</translation>
     </message>
     <message>
         <source>Insert field</source>
-        <translation type="vanished">Insertar campo</translation>
+        <translation>Insertar campo</translation>
     </message>
     <message>
         <source>HTML</source>
-        <translation type="vanished">HTML</translation>
+        <translation>HTML</translation>
     </message>
     <message>
         <source>Field</source>
-        <translation type="vanished">Campo</translation>
+        <translation>Campo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="2053"/>
@@ -115018,15 +115018,15 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Join layer</source>
-        <translation type="vanished">Unir capa</translation>
+        <translation>Unir capa</translation>
     </message>
     <message>
         <source>Join field</source>
-        <translation type="vanished">Unir campo</translation>
+        <translation>Unir campo</translation>
     </message>
     <message>
         <source>Target field</source>
-        <translation type="vanished">Campo objetivo</translation>
+        <translation>Campo objetivo</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayerpropertiesbase.ui" line="149"/>
@@ -115036,11 +115036,11 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Prefix</source>
-        <translation type="vanished">Prefijo</translation>
+        <translation>Prefijo</translation>
     </message>
     <message>
         <source>Joined fields</source>
-        <translation type="vanished">Campos unidos</translation>
+        <translation>Campos unidos</translation>
     </message>
 </context>
 <context>
@@ -115119,11 +115119,11 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>The Layer Already Exists</source>
-        <translation type="vanished">La capa ya existe</translation>
+        <translation>La capa ya existe</translation>
     </message>
     <message>
         <source>Do you want to overwrite the whole file or overwrite the layer?</source>
-        <translation type="vanished">¿Quiere sobrescribir el archivo completo o la capa?</translation>
+        <translation>¿Quiere sobrescribir el archivo completo o la capa?</translation>
     </message>
     <message>
         <location filename="../src/gui/ogr/qgsvectorlayersaveasdialog.cpp" line="259"/>
@@ -115140,15 +115140,15 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>The file already exists</source>
-        <translation type="vanished">El archivo ya existe</translation>
+        <translation>El archivo ya existe</translation>
     </message>
     <message>
         <source>Do you want to overwrite the existing file?</source>
-        <translation type="vanished">¿Quiere sobrescribir el archivo existente?</translation>
+        <translation>¿Quiere sobrescribir el archivo existente?</translation>
     </message>
     <message>
         <source>Do you want to overwrite the whole file, overwrite the layer or append features to the layer?</source>
-        <translation type="vanished">¿Quiere sobrescribir el archivo completo, la capa o añadir los objetos a la capa?</translation>
+        <translation>¿Quiere sobrescribir el archivo completo, la capa o añadir los objetos a la capa?</translation>
     </message>
     <message>
         <location filename="../src/gui/ogr/qgsvectorlayersaveasdialog.cpp" line="290"/>
@@ -115158,15 +115158,15 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Do you want to overwrite the whole file or append features to the layer?</source>
-        <translation type="vanished">¿Quiere sobrescribir el archivo completo o añadir los objetos a la capa?</translation>
+        <translation>¿Quiere sobrescribir el archivo completo o añadir los objetos a la capa?</translation>
     </message>
     <message>
         <source>The existing layer has different fields</source>
-        <translation type="vanished">La capa existente tiene distintos campos</translation>
+        <translation>La capa existente tiene distintos campos</translation>
     </message>
     <message>
         <source>Do you want to add the missing fields to the layer?</source>
-        <translation type="vanished">¿Quiere añadir los campos que faltan a la capa?</translation>
+        <translation>¿Quiere añadir los campos que faltan a la capa?</translation>
     </message>
     <message>
         <location filename="../src/gui/ogr/qgsvectorlayersaveasdialog.cpp" line="437"/>
@@ -115192,7 +115192,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Save layer as...</source>
-        <translation type="vanished">Guardar capa como...</translation>
+        <translation>Guardar capa como...</translation>
     </message>
     <message>
         <location filename="../src/gui/ogr/qgsvectorlayersaveasdialog.cpp" line="122"/>
@@ -115204,11 +115204,11 @@ El error fue: %2</translation>
     <name>QgsVectorLayerSaveAsDialogBase</name>
     <message>
         <source>Save vector layer as...</source>
-        <translation type="vanished">Guardar capa vectorial como...</translation>
+        <translation>Guardar capa vectorial como...</translation>
     </message>
     <message>
         <source>Browse</source>
-        <translation type="vanished">Explorar</translation>
+        <translation>Explorar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="110"/>
@@ -115292,7 +115292,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>Save as</source>
-        <translation type="vanished">Guardar como</translation>
+        <translation>Guardar como</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="43"/>
@@ -115331,7 +115331,7 @@ El error fue: %2</translation>
     </message>
     <message>
         <source>1:</source>
-        <translation type="vanished">1:</translation>
+        <translation>1:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgsvectorlayersaveasdialogbase.ui" line="223"/>
@@ -115361,35 +115361,35 @@ El error fue: %2</translation>
     <name>QgsVectorRandomColorRampV2DialogBase</name>
     <message>
         <source>Random color ramp</source>
-        <translation type="vanished">Rampa de color aleatorio</translation>
+        <translation>Rampa de color aleatorio</translation>
     </message>
     <message>
         <source>Hue</source>
-        <translation type="vanished">Matiz</translation>
+        <translation>Matiz</translation>
     </message>
     <message>
         <source>from</source>
-        <translation type="vanished">desde</translation>
+        <translation>desde</translation>
     </message>
     <message>
         <source>to</source>
-        <translation type="vanished">hasta</translation>
+        <translation>hasta</translation>
     </message>
     <message>
         <source>Saturation</source>
-        <translation type="vanished">Saturación</translation>
+        <translation>Saturación</translation>
     </message>
     <message>
         <source>Value</source>
-        <translation type="vanished">Valor</translation>
+        <translation>Valor</translation>
     </message>
     <message>
         <source>Classes</source>
-        <translation type="vanished">Clases</translation>
+        <translation>Clases</translation>
     </message>
     <message>
         <source>Preview</source>
-        <translation type="vanished">Vista previa</translation>
+        <translation>Vista previa</translation>
     </message>
 </context>
 <context>
@@ -115469,7 +115469,6 @@ El error fue: %2</translation>
         <comment>number of geometry errors</comment>
         <translation type="unfinished">
             <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
 </context>
@@ -115501,7 +115500,7 @@ El error fue: %2</translation>
     <name>QgsVirtualLayerSourceSelectBase</name>
     <message>
         <source>Create a virtual layer</source>
-        <translation type="vanished">Crear una capa virtual</translation>
+        <translation>Crear una capa virtual</translation>
     </message>
     <message>
         <location filename="../src/providers/virtual/qgsvirtuallayersourceselectbase.ui" line="14"/>
@@ -115592,7 +115591,7 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source><html><head/><body><p>This is the SQL query editor. You can edit here an SQL query refering to any existing vector layers or embedded layers.</p><p>Virtual layers rely on SQLite and Spatialite. Any functions from SQLite or Spatialite can then be used in the query. To add or access geometries of a table, you can use "tablename.geometry", regardless of original geometry column's name.</p><p><span style=" [...]
-        <translation type="vanished"><html><head/><body><p>Este es el editor de consultas SQL. Aquí puede editar una consulta SQL que haga referencia a cualquier capa vectorial existente o a capas empotradas.</p><p>Las capas virtuales recaen en SQLite y Spatialite. Por ello cualquier función de SQLite o Spatialite se puede usar en la consulta. Para añadir o acceder a geometrías de una tabla, puede usar "tablename.geometry", al margen del nomb [...]
+        <translation><html><head/><body><p>Este es el editor de consultas SQL. Aquí puede editar una consulta SQL que haga referencia a cualquier capa vectorial existente o a capas empotradas.</p><p>Las capas virtuales recaen en SQLite y Spatialite. Por ello cualquier función de SQLite o Spatialite se puede usar en la consulta. Para añadir o acceder a geometrías de una tabla, puede usar "tablename.geometry", al margen del nombre de la columna [...]
     </message>
     <message>
         <location filename="../src/providers/virtual/qgsvirtuallayersourceselectbase.ui" line="180"/>
@@ -115666,7 +115665,7 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/providers/virtual/qgsvirtuallayersourceselectbase.ui" line="336"/>
@@ -115678,42 +115677,42 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     <name>QgsVisibilityPresets</name>
     <message>
         <source>Replace Preset</source>
-        <translation type="vanished">Reemplazar predeterminado</translation>
+        <translation>Reemplazar predeterminado</translation>
     </message>
     <message>
         <source>Add Preset...</source>
-        <translation type="vanished">Añadir definición prestablecida...</translation>
+        <translation>Añadir definición prestablecida...</translation>
     </message>
     <message>
         <source>Remove Current Preset</source>
-        <translation type="vanished">Eliminar definición prestablecida actual</translation>
+        <translation>Eliminar definición prestablecida actual</translation>
     </message>
     <message>
         <source>preset</source>
-        <translation type="vanished">predeterminado</translation>
+        <translation>predeterminado</translation>
     </message>
     <message>
         <source>Preset</source>
-        <translation type="vanished">Predeterminado</translation>
+        <translation>Predeterminado</translation>
     </message>
     <message>
         <source>Visibility Presets</source>
-        <translation type="vanished">Definiciones prestablecidas de visibilidad</translation>
+        <translation>Definiciones prestablecidas de visibilidad</translation>
     </message>
     <message>
         <source>Name of the new preset</source>
-        <translation type="vanished">Nombre de la nueva definición prestablecida</translation>
+        <translation>Nombre de la nueva definición prestablecida</translation>
     </message>
     <message>
         <source>A preset with this name already exists</source>
-        <translation type="vanished">Ya existe un predeterminado con este nombre</translation>
+        <translation>Ya existe un predeterminado con este nombre</translation>
     </message>
 </context>
 <context>
     <name>QgsWCSConnectionItem</name>
     <message>
         <source>Edit...</source>
-        <translation type="vanished">Editar...</translation>
+        <translation>Editar...</translation>
     </message>
     <message>
         <location filename="../src/providers/wcs/qgswcsdataitems.cpp" line="89"/>
@@ -115730,7 +115729,7 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     <name>QgsWCSRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <location filename="../src/providers/wcs/qgswcsdataitems.cpp" line="241"/>
@@ -115755,26 +115754,26 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     <name>QgsWFSCapabilities</name>
     <message>
         <source>WFS version %1 not supported</source>
-        <translation type="vanished">Versión %1 del WFS no admitida</translation>
+        <translation>Versión %1 del WFS no admitida</translation>
     </message>
     <message>
         <source>Download of capabilities failed: %1</source>
-        <translation type="vanished">Falló la descarga de capacidades: %1</translation>
+        <translation>Falló la descarga de capacidades: %1</translation>
     </message>
 </context>
 <context>
     <name>QgsWFSConnectionItem</name>
     <message>
         <source>Edit...</source>
-        <translation type="vanished">Editar...</translation>
+        <translation>Editar...</translation>
     </message>
     <message>
         <source>Delete</source>
-        <translation type="vanished">Borrar</translation>
+        <translation>Borrar</translation>
     </message>
     <message>
         <source>Modify WFS connection</source>
-        <translation type="vanished">Modificar conexión WFS</translation>
+        <translation>Modificar conexión WFS</translation>
     </message>
 </context>
 <context>
@@ -116031,15 +116030,15 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source>Column '%1' is not a direct reference to a table column</source>
-        <translation type="vanished">La columna '%1' no es una referencia directa a una columna de tabla</translation>
+        <translation>La columna '%1' no es una referencia directa a una columna de tabla</translation>
     </message>
     <message>
         <source>Field '%1': a field with the same name already exists</source>
-        <translation type="vanished">Campo '%1': ya existe un campo el mismo nombre</translation>
+        <translation>Campo '%1': ya existe un campo el mismo nombre</translation>
     </message>
     <message>
         <source>The geometry field of a typename that is not the main typename is ignored in the selected fields</source>
-        <translation type="vanished">El campo de geometría de un typename que no es el typename principal es ignorado en los campos seleccionados</translation>
+        <translation>El campo de geometría de un typename que no es el typename principal es ignorado en los campos seleccionados</translation>
     </message>
     <message>
         <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1205"/>
@@ -116053,7 +116052,7 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source>it is probably a schema for Complex Features</source>
-        <translation type="vanished">Probablemente es un esquema para Objetos Complejos</translation>
+        <translation>Probablemente es un esquema para Objetos Complejos</translation>
     </message>
     <message>
         <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1293"/>
@@ -116082,15 +116081,15 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source>empty response</source>
-        <translation type="vanished">respuesta vacía</translation>
+        <translation>respuesta vacía</translation>
     </message>
     <message>
         <source>WFS service exception:%1</source>
-        <translation type="vanished">excepción de servicio WFS: %1</translation>
+        <translation>excepción de servicio WFS: %1</translation>
     </message>
     <message>
         <source>unsuccessful service response: %1</source>
-        <translation type="vanished">respuesta de servicio sin éxito: %1</translation>
+        <translation>respuesta de servicio sin éxito: %1</translation>
     </message>
     <message>
         <location filename="../src/providers/wfs/qgswfsprovider.cpp" line="1693"/>
@@ -116104,41 +116103,41 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source>unhandled response: %1</source>
-        <translation type="vanished">respuesta no manejada: %1</translation>
+        <translation>respuesta no manejada: %1</translation>
     </message>
 </context>
 <context>
     <name>QgsWFSRequest</name>
     <message>
         <source>WFS</source>
-        <translation type="vanished">WFS</translation>
+        <translation>WFS</translation>
     </message>
     <message>
         <source>%1 of %2 bytes downloaded.</source>
-        <translation type="vanished">%1 de %2 bytes descargados.</translation>
+        <translation>%1 de %2 bytes descargados.</translation>
     </message>
     <message>
         <source>Redirect loop detected: %1</source>
-        <translation type="vanished">Detectado un bucle de redirección: %1</translation>
+        <translation>Detectado un bucle de redirección: %1</translation>
     </message>
     <message>
         <source>empty response: %1</source>
-        <translation type="vanished">respuesta vacía: %1</translation>
+        <translation>respuesta vacía: %1</translation>
     </message>
     <message>
         <source>network request update failed for authentication config</source>
-        <translation type="vanished">falló la actualización de la solicitud de red para la configuración de autenticación</translation>
+        <translation>falló la actualización de la solicitud de red para la configuración de autenticación</translation>
     </message>
 </context>
 <context>
     <name>QgsWFSRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <source>Create a new WFS connection</source>
-        <translation type="vanished">Crear una nueva conexión WFS</translation>
+        <translation>Crear una nueva conexión WFS</translation>
     </message>
 </context>
 <context>
@@ -116224,7 +116223,7 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     <name>QgsWFSSourceSelect</name>
     <message>
         <source>&Add</source>
-        <translation type="vanished">&Añadir</translation>
+        <translation>&Añadir</translation>
     </message>
     <message>
         <location filename="../src/providers/wfs/qgswfssourceselect.cpp" line="65"/>
@@ -116283,11 +116282,11 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source>Create a new WFS connection</source>
-        <translation type="vanished">Crear una nueva conexión WFS</translation>
+        <translation>Crear una nueva conexión WFS</translation>
     </message>
     <message>
         <source>Modify WFS connection</source>
-        <translation type="vanished">Modificar conexión WFS</translation>
+        <translation>Modificar conexión WFS</translation>
     </message>
     <message>
         <location filename="../src/providers/wfs/qgswfssourceselect.cpp" line="319"/>
@@ -116311,7 +116310,7 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source>Load connections</source>
-        <translation type="vanished">Cargar conexiones</translation>
+        <translation>Cargar conexiones</translation>
     </message>
     <message>
         <location filename="../src/providers/wfs/qgswfssourceselect.cpp" line="712"/>
@@ -116343,7 +116342,7 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source>Filter:</source>
-        <translation type="vanished">Filtrar:</translation>
+        <translation>Filtrar:</translation>
     </message>
     <message>
         <location filename="../src/ui/qgswfssourceselectbase.ui" line="165"/>
@@ -116393,7 +116392,7 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source>Delete</source>
-        <translation type="vanished">Borrar</translation>
+        <translation>Borrar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgswfssourceselectbase.ui" line="122"/>
@@ -116468,7 +116467,7 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source>Edit...</source>
-        <translation type="vanished">Editar...</translation>
+        <translation>Editar...</translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgswmsdataitems.cpp" line="210"/>
@@ -116480,7 +116479,7 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     <name>QgsWMSRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgswmsdataitems.cpp" line="378"/>
@@ -116492,11 +116491,11 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     <name>QgsWMSSourceSelect</name>
     <message>
         <source>&Add</source>
-        <translation type="vanished">&Añadir</translation>
+        <translation>&Añadir</translation>
     </message>
     <message>
         <source>Add selected layers to map</source>
-        <translation type="vanished">Añadir capas seleccionadas al mapa</translation>
+        <translation>Añadir capas seleccionadas al mapa</translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgswmssourceselect.cpp" line="203"/>
@@ -116510,7 +116509,7 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source>Load connections</source>
-        <translation type="vanished">Cargar conexiones</translation>
+        <translation>Cargar conexiones</translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgswmssourceselect.cpp" line="224"/>
@@ -116519,7 +116518,7 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source>encoding %1 not supported.</source>
-        <translation type="vanished">codificación %1 no admitida.</translation>
+        <translation>codificación %1 no admitida.</translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgswmssourceselect.cpp" line="223"/>
@@ -116693,7 +116692,7 @@ En particular, se puede guardar una capa virtual con capas empotradas en un arch
     </message>
     <message>
         <source>Delete</source>
-        <translation type="vanished">Borrar</translation>
+        <translation>Borrar</translation>
     </message>
     <message>
         <location filename="../src/ui/qgswmssourceselectbase.ui" line="131"/>
@@ -117008,7 +117007,7 @@ This might be due to an incorrect WCS Server URL.
 Tag:%3
 Response was:
 %4</source>
-        <translation type="vanished">No se pudieron obtener las capacidades WCS en el formato esperado (DTD):%1 no  encontrado.
+        <translation>No se pudieron obtener las capacidades WCS en el formato esperado (DTD):%1 no  encontrado.
 Esto se debe probablemente una URL incorrecta del servidor WCS.
 Etiqueta:%3
 La respuesta fue:
@@ -117042,7 +117041,7 @@ La respuesta fue:
     <name>QgsWcsDownloadHandler</name>
     <message>
         <source>Map request error (Status: %1; Reason phrase: %2; URL:%3)</source>
-        <translation type="vanished">Error en la solicitud de mapa (Estado: %1; Motivo: %2; URL:%3)</translation>
+        <translation>Error en la solicitud de mapa (Estado: %1; Motivo: %2; URL:%3)</translation>
     </message>
     <message>
         <location filename="../src/providers/wcs/qgswcsprovider.cpp" line="1631"/>
@@ -117108,7 +117107,7 @@ La respuesta fue:
     </message>
     <message>
         <source>Map request error (Status: %1; Response: %2; URL:%3)</source>
-        <translation type="vanished">Error en la solicitud de mapa (Estado: %1; Respuesta: %2; URL:%3)</translation>
+        <translation>Error en la solicitud de mapa (Estado: %1; Respuesta: %2; URL:%3)</translation>
     </message>
     <message>
         <location filename="../src/providers/wcs/qgswcsprovider.cpp" line="1765"/>
@@ -117127,11 +117126,11 @@ La respuesta fue:
     </message>
     <message>
         <source>Map request error (Title:%1; Error:%2; URL: %3)</source>
-        <translation type="vanished">Error en la solicitud de mapa (Título:%1; Error:%2; URL: %3)</translation>
+        <translation>Error en la solicitud de mapa (Título:%1; Error:%2; URL: %3)</translation>
     </message>
     <message>
         <source>Map request error (Response: %1; URL:%2)</source>
-        <translation type="vanished">Error en la solicitud de mapa (Respuesta: %1; URL:%2)</translation>
+        <translation>Error en la solicitud de mapa (Respuesta: %1; URL:%2)</translation>
     </message>
     <message>
         <location filename="../src/providers/wcs/qgswcsprovider.cpp" line="1828"/>
@@ -117140,7 +117139,7 @@ La respuesta fue:
     </message>
     <message>
         <source>Map request failed [error:%1 url:%2]</source>
-        <translation type="vanished">La solicitud del mapa ha fallado[error:%1 url:%2] </translation>
+        <translation>La solicitud del mapa ha fallado[error:%1 url:%2] </translation>
     </message>
     <message>
         <location filename="../src/providers/wcs/qgswcsprovider.cpp" line="1883"/>
@@ -117487,7 +117486,7 @@ La respuesta fue:
     </message>
     <message>
         <source>Javascript</source>
-        <translation type="vanished">Javascript</translation>
+        <translation>Javascript</translation>
     </message>
     <message>
         <location filename="../src/core/qgswebpage.h" line="253"/>
@@ -117499,38 +117498,38 @@ La respuesta fue:
     <name>QgsWebViewWidgetConfigDlgBase</name>
     <message>
         <source>Form</source>
-        <translation type="vanished">Formulario</translation>
+        <translation>Formulario</translation>
     </message>
     <message>
         <source>Field contains a filename or URL for a webpage.</source>
-        <translation type="vanished">El campo contiene un nombre de archivo o una URL para una página web.</translation>
+        <translation>El campo contiene un nombre de archivo o una URL para una página web.</translation>
     </message>
     <message>
         <source>Width</source>
-        <translation type="vanished">Anchura</translation>
+        <translation>Anchura</translation>
     </message>
     <message>
         <source>Auto</source>
-        <translation type="vanished">Auto</translation>
+        <translation>Auto</translation>
     </message>
     <message>
         <source> px</source>
-        <translation type="vanished"> px</translation>
+        <translation> px</translation>
     </message>
     <message>
         <source>Height</source>
-        <translation type="vanished">Altura</translation>
+        <translation>Altura</translation>
     </message>
 </context>
 <context>
     <name>QgsWebViewWidgetWrapper</name>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Select a file</source>
-        <translation type="vanished">Seleccionar un archivo</translation>
+        <translation>Seleccionar un archivo</translation>
     </message>
 </context>
 <context>
@@ -117588,7 +117587,7 @@ La respuesta fue:
     <name>QgsWfsConnectionItem</name>
     <message>
         <source>Edit...</source>
-        <translation type="vanished">Editar...</translation>
+        <translation>Editar...</translation>
     </message>
     <message>
         <location filename="../src/providers/wfs/qgswfsdataitems.cpp" line="180"/>
@@ -117665,7 +117664,7 @@ La respuesta fue:
     <name>QgsWfsRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <location filename="../src/providers/wfs/qgswfsdataitems.cpp" line="243"/>
@@ -117732,7 +117731,7 @@ La respuesta fue:
     <name>QgsWmsImageDownloadHandler</name>
     <message>
         <source>Map request error (Status: %1; Reason phrase: %2; URL:%3)</source>
-        <translation type="vanished">Error en la solicitud de mapa (Estado: %1; Motivo: %2; URL:%3)</translation>
+        <translation>Error en la solicitud de mapa (Estado: %1; Motivo: %2; URL:%3)</translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3622"/>
@@ -117746,19 +117745,19 @@ La respuesta fue:
     </message>
     <message>
         <source>Returned image is flawed [Content-Type:%1; URL:%2]</source>
-        <translation type="vanished">La imagen devuelta está defectuosa [Tipo de contenido: %1; URL: %2]</translation>
+        <translation>La imagen devuelta está defectuosa [Tipo de contenido: %1; URL: %2]</translation>
     </message>
     <message>
         <source>Map request error (Title:%1; Error:%2; URL: %3)</source>
-        <translation type="vanished">Error en la solicitud de mapa (Título:%1; Error:%2; URL: %3)</translation>
+        <translation>Error en la solicitud de mapa (Título:%1; Error:%2; URL: %3)</translation>
     </message>
     <message>
         <source>Map request error (Status: %1; Response: %2; Content-Type: %3; URL:%4)</source>
-        <translation type="vanished">Error de solicitud de mapa (Estado: %1; Respuesta: %2; Tipo de contenido: %3; URL:%4)</translation>
+        <translation>Error de solicitud de mapa (Estado: %1; Respuesta: %2; Tipo de contenido: %3; URL:%4)</translation>
     </message>
     <message>
         <source>Map request failed [error:%1 url:%2]</source>
-        <translation type="vanished">La solicitud del mapa ha fallado[error:%1 url:%2] </translation>
+        <translation>La solicitud del mapa ha fallado[error:%1 url:%2] </translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3619"/>
@@ -118474,7 +118473,7 @@ La respuesta fue:
     </message>
     <message>
         <source>Get feature info request error (Title:%1; Error:%2; URL: %3)</source>
-        <translation type="vanished">Error de solicitud obtener información de objeto espacial (Título:%1; Error:%2; URL: %3)</translation>
+        <translation>Error de solicitud obtener información de objeto espacial (Título:%1; Error:%2; URL: %3)</translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgswmsprovider.cpp" line="2872"/>
@@ -118539,7 +118538,7 @@ Frase de motivo: %2</translation>
     </message>
     <message>
         <source>Tile request error (Title:%1; Error:%2; URL: %3)</source>
-        <translation type="vanished">Error en la solicitud de tesela (Titulo:%1; Error:%2; URL: %3)</translation>
+        <translation>Error en la solicitud de tesela (Titulo:%1; Error:%2; URL: %3)</translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3889"/>
@@ -118553,11 +118552,11 @@ Frase de motivo: %2</translation>
     </message>
     <message>
         <source>Tile request error (Status:%1; Content-Type:%2; Length:%3; URL: %4)</source>
-        <translation type="vanished">Error en la solicitud de tesela (Estado:%1; Tipo de contenido:%2; Longitud:%3; URL: %4)</translation>
+        <translation>Error en la solicitud de tesela (Estado:%1; Tipo de contenido:%2; Longitud:%3; URL: %4)</translation>
     </message>
     <message>
         <source>Returned image is flawed [Content-Type:%1; URL: %2]</source>
-        <translation type="vanished">La imagen devuelta está defectuosa [Tipo de contenido: %1; URL: %2]</translation>
+        <translation>La imagen devuelta está defectuosa [Tipo de contenido: %1; URL: %2]</translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgswmsprovider.cpp" line="3887"/>
@@ -118630,7 +118629,7 @@ Frase de motivo: %2</translation>
     <name>QgsWmtsDimensionsBase</name>
     <message>
         <source>Select dimensions</source>
-        <translation type="vanished">Seleccionar dimensiones</translation>
+        <translation>Seleccionar dimensiones</translation>
     </message>
     <message>
         <location filename="../src/ui/qgswmtsdimensionsbase.ui" line="14"/>
@@ -118726,7 +118725,7 @@ Frase de motivo: %2</translation>
     <name>QgsXyzLayerItem</name>
     <message>
         <source>Edit...</source>
-        <translation type="vanished">Editar...</translation>
+        <translation>Editar...</translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgswmsdataitems.cpp" line="508"/>
@@ -118743,7 +118742,7 @@ Frase de motivo: %2</translation>
     <name>QgsXyzTileRootItem</name>
     <message>
         <source>New Connection...</source>
-        <translation type="vanished">Conexión nueva...</translation>
+        <translation>Conexión nueva...</translation>
     </message>
     <message>
         <location filename="../src/providers/wms/qgswmsdataitems.cpp" line="477"/>
@@ -118755,163 +118754,163 @@ Frase de motivo: %2</translation>
     <name>QgsZonalStatisticsDialog</name>
     <message>
         <source>Count</source>
-        <translation type="vanished">Número</translation>
+        <translation>Número</translation>
     </message>
     <message>
         <source>Sum</source>
-        <translation type="vanished">Suma</translation>
+        <translation>Suma</translation>
     </message>
     <message>
         <source>Mean</source>
-        <translation type="vanished">Media</translation>
+        <translation>Media</translation>
     </message>
     <message>
         <source>Median</source>
-        <translation type="vanished">Mediana</translation>
+        <translation>Mediana</translation>
     </message>
     <message>
         <source>Standard deviation</source>
-        <translation type="vanished">Desviación estándar</translation>
+        <translation>Desviación estándar</translation>
     </message>
     <message>
         <source>Minimum</source>
-        <translation type="vanished">Mínimo</translation>
+        <translation>Mínimo</translation>
     </message>
     <message>
         <source>Maximum</source>
-        <translation type="vanished">Máximo</translation>
+        <translation>Máximo</translation>
     </message>
     <message>
         <source>Range</source>
-        <translation type="vanished">Rango</translation>
+        <translation>Rango</translation>
     </message>
     <message>
         <source>Minority</source>
-        <translation type="vanished">Minoría</translation>
+        <translation>Minoría</translation>
     </message>
     <message>
         <source>Majority</source>
-        <translation type="vanished">Mayoría</translation>
+        <translation>Mayoría</translation>
     </message>
     <message>
         <source>Variety</source>
-        <translation type="vanished">Variedad</translation>
+        <translation>Variedad</translation>
     </message>
 </context>
 <context>
     <name>QgsZonalStatisticsDialogBase</name>
     <message>
         <source>Raster layer:</source>
-        <translation type="vanished">Capa ráster:</translation>
+        <translation>Capa ráster:</translation>
     </message>
     <message>
         <source>Band</source>
-        <translation type="vanished">Banda</translation>
+        <translation>Banda</translation>
     </message>
     <message>
         <source>Polygon layer containing the zones:</source>
-        <translation type="vanished">Capa de polígonos que contiene las zonas:</translation>
+        <translation>Capa de polígonos que contiene las zonas:</translation>
     </message>
     <message>
         <source>Output column prefix:</source>
-        <translation type="vanished">Prefijo de la columna de salida:</translation>
+        <translation>Prefijo de la columna de salida:</translation>
     </message>
     <message>
         <source>Statistics to calculate:</source>
-        <translation type="vanished">Estadísticas a calcular:</translation>
+        <translation>Estadísticas a calcular:</translation>
     </message>
     <message>
         <source>Zonal Statistics</source>
-        <translation type="vanished">Estadistica zonal</translation>
+        <translation>Estadistica zonal</translation>
     </message>
 </context>
 <context>
     <name>QgsZonalStatisticsPlugin</name>
     <message>
         <source>&Zonal statistics</source>
-        <translation type="vanished">Estadísticas de &zona</translation>
+        <translation>Estadísticas de &zona</translation>
     </message>
     <message>
         <source>Calculating zonal statistics...</source>
-        <translation type="vanished">Calculando estadísticas de zona...</translation>
+        <translation>Calculando estadísticas de zona...</translation>
     </message>
     <message>
         <source>Abort...</source>
-        <translation type="vanished">Cancelar...</translation>
+        <translation>Cancelar...</translation>
     </message>
 </context>
 <context>
     <name>QwtPolarRenderer</name>
     <message>
         <source>Documents</source>
-        <translation type="vanished">Documentos</translation>
+        <translation>Documentos</translation>
     </message>
     <message>
         <source>Images</source>
-        <translation type="vanished">Imágenes</translation>
+        <translation>Imágenes</translation>
     </message>
     <message>
         <source>Export File Name</source>
-        <translation type="vanished">Nombre de archivo de exportación</translation>
+        <translation>Nombre de archivo de exportación</translation>
     </message>
 </context>
 <context>
     <name>RAlgorithm</name>
     <message>
         <source>[Unnamed algorithm]</source>
-        <translation type="vanished">[Algoritmo sin nombre]</translation>
+        <translation>[Algoritmo sin nombre]</translation>
     </message>
     <message>
         <source>User R scripts</source>
-        <translation type="vanished">Usar scripts de R</translation>
+        <translation>Usar scripts de R</translation>
     </message>
     <message>
         <source>Could not load R script: %s.
  Problem with line %s</source>
-        <translation type="vanished">No se pudo cargar el script de R: %s
+        <translation>No se pudo cargar el script de R: %s
 Problema con la línea %s</translation>
     </message>
     <message>
         <source>R Console Output</source>
-        <translation type="vanished">Salida de la consola de R</translation>
+        <translation>Salida de la consola de R</translation>
     </message>
     <message>
         <source>R folder is not configured.
 Please configure it before running R scripts.</source>
-        <translation type="vanished">La carpeta de R no está configurada.
+        <translation>La carpeta de R no está configurada.
 Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>R execution commands</source>
-        <translation type="vanished">Órdenes de ejecución de R</translation>
+        <translation>Órdenes de ejecución de R</translation>
     </message>
     <message>
         <source><p>This algorithm requires R to be run. Unfortunately it seems that R is not installed in your system or it is not correctly configured to be used from QGIS</p><p><a href="http://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html">Click here</a> to know more about how to install and configure R to be used with QGIS</p></source>
-        <translation type="vanished"><p>Este algoritmo requiere que se ejecute R Por desgracia, parece que R no está instalado en su equipo o no está configurado correctamente para usarse desde QGIS</p><p><a href="http://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html">Pinche aquí</a> para saber más sobre cómo instalar y configurar R para usarlo con QGIS</p></translation>
+        <translation><p>Este algoritmo requiere que se ejecute R Por desgracia, parece que R no está instalado en su equipo o no está configurado correctamente para usarse desde QGIS</p><p><a href="http://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html">Pinche aquí</a> para saber más sobre cómo instalar y configurar R para usarlo con QGIS</p></translation>
     </message>
 </context>
 <context>
     <name>RAlgorithmProvider</name>
     <message>
         <source>R Scripts folder</source>
-        <translation type="vanished">Carpeta de scripts de R</translation>
+        <translation>Carpeta de scripts de R</translation>
     </message>
     <message>
         <source>R folder</source>
-        <translation type="vanished">Carpeta de R</translation>
+        <translation>Carpeta de R</translation>
     </message>
     <message>
         <source>R user library folder</source>
-        <translation type="vanished">Carpeta de biblioteca de usuario de R</translation>
+        <translation>Carpeta de biblioteca de usuario de R</translation>
     </message>
     <message>
         <source>Use 64 bit version</source>
-        <translation type="vanished">Use la versión de 64 bits</translation>
+        <translation>Use la versión de 64 bits</translation>
     </message>
     <message>
         <source>Could not load R script: %s
 %s</source>
-        <translation type="vanished">No se pudo cargar el script de R: %s
+        <translation>No se pudo cargar el script de R: %s
 %s</translation>
     </message>
 </context>
@@ -118919,30 +118918,30 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     <name>RUtils</name>
     <message>
         <source>R execution console output</source>
-        <translation type="vanished">Salida de la consola de ejecución de R</translation>
+        <translation>Salida de la consola de ejecución de R</translation>
     </message>
     <message>
         <source><h2>R Output</h2>
 </source>
-        <translation type="vanished"><h2>Salida de R</h2>
+        <translation><h2>Salida de R</h2>
 </translation>
     </message>
     <message>
         <source>R folder is not configured.
 Please configure it before running R scripts.</source>
-        <translation type="vanished">La carpeta de R no está configurada.
+        <translation>La carpeta de R no está configurada.
 Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source><p>This algorithm requires R to be run. Unfortunately, it seems that R is not installed in your system, or it is not correctly configured to be used from QGIS</p><p><a href="http://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html">Click here</a> to know more about how to install and configure R to be used with QGIS</p></source>
-        <translation type="vanished"><p>Este algoritmo requiere que se ejecute R Por desgracia, parece que R no está instalado en su equipo o no está configurado correctamente para usarse desde QGIS</p><p><a href="http://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html">Pinche aquí</a> para saber más sobre cómo instalar y configurar R para usarlo con QGIS</p></translation>
+        <translation><p>Este algoritmo requiere que se ejecute R Por desgracia, parece que R no está instalado en su equipo o no está configurado correctamente para usarse desde QGIS</p><p><a href="http://docs.qgis.org/testing/en/docs/user_manual/processing/3rdParty.html">Pinche aquí</a> para saber más sobre cómo instalar y configurar R para usarlo con QGIS</p></translation>
     </message>
 </context>
 <context>
     <name>RandomExtract</name>
     <message>
         <source>Vector selection tools</source>
-        <translation type="vanished">Herramientas de selección vectorial</translation>
+        <translation>Herramientas de selección vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2008"/>
@@ -118999,7 +118998,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     <name>RandomExtractWithinSubsets</name>
     <message>
         <source>Vector selection tools</source>
-        <translation type="vanished">Herramientas de selección vectorial</translation>
+        <translation>Herramientas de selección vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2021"/>
@@ -119061,7 +119060,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     <name>RandomPointsAlongLines</name>
     <message>
         <source>Vector creation tools</source>
-        <translation type="vanished">Herramientas de creación de vectoriales</translation>
+        <translation>Herramientas de creación de vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2035"/>
@@ -119090,7 +119089,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Minimum distance</source>
-        <translation type="vanished">Distancia mínima</translation>
+        <translation>Distancia mínima</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2039"/>
@@ -119099,7 +119098,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Can not generate requested number of random points. Maximum number of attempts exceeded.</source>
-        <translation type="vanished">No se puede generar el número solicitado de puntos aleatorios. Se ha excedido el número máximo de intentos.</translation>
+        <translation>No se puede generar el número solicitado de puntos aleatorios. Se ha excedido el número máximo de intentos.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2040"/>
@@ -119111,7 +119110,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     <name>RandomPointsExtent</name>
     <message>
         <source>Vector creation tools</source>
-        <translation type="vanished">Herramientas de creación de vectoriales</translation>
+        <translation>Herramientas de creación de vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2045"/>
@@ -119145,11 +119144,11 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Points number</source>
-        <translation type="vanished">Número de puntos</translation>
+        <translation>Número de puntos</translation>
     </message>
     <message>
         <source>Minimum distance</source>
-        <translation type="vanished">Distancia mínima</translation>
+        <translation>Distancia mínima</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2050"/>
@@ -119158,7 +119157,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Can not generate requested number of random points. Maximum number of attempts exceeded.</source>
-        <translation type="vanished">No se puede generar el número solicitado de puntos aleatorios. Se ha excedido el número máximo de intentos.</translation>
+        <translation>No se puede generar el número solicitado de puntos aleatorios. Se ha excedido el número máximo de intentos.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2051"/>
@@ -119170,7 +119169,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     <name>RandomPointsLayer</name>
     <message>
         <source>Vector creation tools</source>
-        <translation type="vanished">Herramientas de creación de vectoriales</translation>
+        <translation>Herramientas de creación de vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2056"/>
@@ -119199,11 +119198,11 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Points number</source>
-        <translation type="vanished">Número de puntos</translation>
+        <translation>Número de puntos</translation>
     </message>
     <message>
         <source>Minimum distance</source>
-        <translation type="vanished">Distancia mínima</translation>
+        <translation>Distancia mínima</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2060"/>
@@ -119212,7 +119211,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Can not generate requested number of random points. Maximum number of attempts exceeded.</source>
-        <translation type="vanished">No se puede generar el número solicitado de puntos aleatorios. Se ha excedido el número máximo de intentos.</translation>
+        <translation>No se puede generar el número solicitado de puntos aleatorios. Se ha excedido el número máximo de intentos.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2061"/>
@@ -119269,7 +119268,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Evaluation error: {0}</source>
-        <translation type="vanished">Error de evaluación: {0}</translation>
+        <translation>Error de evaluación: {0}</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2075"/>
@@ -119286,93 +119285,93 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     <name>RandomPointsPolygonsFixed</name>
     <message>
         <source>Vector creation tools</source>
-        <translation type="vanished">Herramientas de creación de vectoriales</translation>
+        <translation>Herramientas de creación de vectoriales</translation>
     </message>
     <message>
         <source>Points count</source>
-        <translation type="vanished">Cuenta de puntos</translation>
+        <translation>Cuenta de puntos</translation>
     </message>
     <message>
         <source>Points density</source>
-        <translation type="vanished">Densidad de puntos</translation>
+        <translation>Densidad de puntos</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Sampling strategy</source>
-        <translation type="vanished">Estrategia de muestreo</translation>
+        <translation>Estrategia de muestreo</translation>
     </message>
     <message>
         <source>Number or density of points</source>
-        <translation type="vanished">Número o densidad de puntos</translation>
+        <translation>Número o densidad de puntos</translation>
     </message>
     <message>
         <source>Minimum distance</source>
-        <translation type="vanished">Distancia mínima</translation>
+        <translation>Distancia mínima</translation>
     </message>
     <message>
         <source>Random points</source>
-        <translation type="vanished">Puntos aleatorios</translation>
+        <translation>Puntos aleatorios</translation>
     </message>
     <message>
         <source>Can not generate requested number of random points. Maximum number of attempts exceeded.</source>
-        <translation type="vanished">No se puede generar el número solicitado de puntos aleatorios. Se ha excedido el número máximo de intentos.</translation>
+        <translation>No se puede generar el número solicitado de puntos aleatorios. Se ha excedido el número máximo de intentos.</translation>
     </message>
     <message>
         <source>Random points inside polygons (fixed)</source>
-        <translation type="vanished">Puntos aleatorios dentro de polígonos (fijo)</translation>
+        <translation>Puntos aleatorios dentro de polígonos (fijo)</translation>
     </message>
 </context>
 <context>
     <name>RandomPointsPolygonsVariable</name>
     <message>
         <source>Vector creation tools</source>
-        <translation type="vanished">Herramientas de creación de vectoriales</translation>
+        <translation>Herramientas de creación de vectoriales</translation>
     </message>
     <message>
         <source>Points count</source>
-        <translation type="vanished">Cuenta de puntos</translation>
+        <translation>Cuenta de puntos</translation>
     </message>
     <message>
         <source>Points density</source>
-        <translation type="vanished">Densidad de puntos</translation>
+        <translation>Densidad de puntos</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Sampling strategy</source>
-        <translation type="vanished">Estrategia de muestreo</translation>
+        <translation>Estrategia de muestreo</translation>
     </message>
     <message>
         <source>Number field</source>
-        <translation type="vanished">Campo de número</translation>
+        <translation>Campo de número</translation>
     </message>
     <message>
         <source>Minimum distance</source>
-        <translation type="vanished">Distancia mínima</translation>
+        <translation>Distancia mínima</translation>
     </message>
     <message>
         <source>Random points</source>
-        <translation type="vanished">Puntos aleatorios</translation>
+        <translation>Puntos aleatorios</translation>
     </message>
     <message>
         <source>Can not generate requested number of random points. Maximum number of attempts exceeded.</source>
-        <translation type="vanished">No se puede generar el número solicitado de puntos aleatorios. Se ha excedido el número máximo de intentos.</translation>
+        <translation>No se puede generar el número solicitado de puntos aleatorios. Se ha excedido el número máximo de intentos.</translation>
     </message>
     <message>
         <source>Random points inside polygons (variable)</source>
-        <translation type="vanished">Puntos aleatorios dentro de polígonos (variable)</translation>
+        <translation>Puntos aleatorios dentro de polígonos (variable)</translation>
     </message>
 </context>
 <context>
     <name>RandomSelection</name>
     <message>
         <source>Vector selection tools</source>
-        <translation type="vanished">Herramientas de selección vectorial</translation>
+        <translation>Herramientas de selección vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2080"/>
@@ -119411,7 +119410,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Selection</source>
-        <translation type="vanished">Selección</translation>
+        <translation>Selección</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2088"/>
@@ -119433,7 +119432,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     <name>RandomSelectionWithinSubsets</name>
     <message>
         <source>Vector selection tools</source>
-        <translation type="vanished">Herramientas de selección vectorial</translation>
+        <translation>Herramientas de selección vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2093"/>
@@ -119467,7 +119466,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>ID Field</source>
-        <translation type="vanished">Campo ID</translation>
+        <translation>Campo ID</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2098"/>
@@ -119481,7 +119480,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Selection stratified</source>
-        <translation type="vanished">Selección estratificada</translation>
+        <translation>Selección estratificada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2102"/>
@@ -119508,42 +119507,42 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Input layers</source>
-        <translation type="vanished">Capas de entrada</translation>
+        <translation>Capas de entrada</translation>
     </message>
 </context>
 <context>
     <name>RasterLayerBoundsAlgorithm</name>
     <message>
         <source>Raster layer bounds</source>
-        <translation type="vanished">Limites de capas raster</translation>
+        <translation>Limites de capas raster</translation>
     </message>
     <message>
         <source>Modeler-only tools</source>
-        <translation type="vanished">Herramientas sólo del modelador</translation>
+        <translation>Herramientas sólo del modelador</translation>
     </message>
     <message>
         <source>Layer</source>
-        <translation type="vanished">Capa</translation>
+        <translation>Capa</translation>
     </message>
     <message>
         <source>min X</source>
-        <translation type="vanished">X mín</translation>
+        <translation>X mín</translation>
     </message>
     <message>
         <source>max X</source>
-        <translation type="vanished">X máx</translation>
+        <translation>X máx</translation>
     </message>
     <message>
         <source>min Y</source>
-        <translation type="vanished">Y mín</translation>
+        <translation>Y mín</translation>
     </message>
     <message>
         <source>max Y</source>
-        <translation type="vanished">Y máx</translation>
+        <translation>Y máx</translation>
     </message>
     <message>
         <source>Extent</source>
-        <translation type="vanished">Extensión</translation>
+        <translation>Extensión</translation>
     </message>
 </context>
 <context>
@@ -119575,7 +119574,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Number of bins</source>
-        <translation type="vanished">Número de compartimentos</translation>
+        <translation>Número de compartimentos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2115"/>
@@ -119584,7 +119583,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Table</source>
-        <translation type="vanished">Tabla</translation>
+        <translation>Tabla</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2117"/>
@@ -119596,7 +119595,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     <name>RasterLayerStatistics</name>
     <message>
         <source>Raster tools</source>
-        <translation type="vanished">Herramientas ráster</translation>
+        <translation>Herramientas ráster</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2121"/>
@@ -119690,11 +119689,11 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>valid cells count</source>
-        <translation type="vanished">cuenta de celdas válidas</translation>
+        <translation>cuenta de celdas válidas</translation>
     </message>
     <message>
         <source>No-data cells count</source>
-        <translation type="vanished">Cuenta de celdas sin datos</translation>
+        <translation>Cuenta de celdas sin datos</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2131"/>
@@ -119783,7 +119782,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2158"/>
@@ -119850,7 +119849,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2173"/>
@@ -119919,18 +119918,18 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Feature {} has empty width, height or angle. Skipping...</source>
-        <translation type="vanished">El objeto {} tiene vacía la anchura, altura o ángulo. Se omite...</translation>
+        <translation>El objeto {} tiene vacía la anchura, altura o ángulo. Se omite...</translation>
     </message>
     <message>
         <source>Feature {} has empty width or height. Skipping...</source>
-        <translation type="vanished">El objeto {} tiene vacía la anchura o la altura. Se omite...</translation>
+        <translation>El objeto {} tiene vacía la anchura o la altura. Se omite...</translation>
     </message>
 </context>
 <context>
     <name>RegularPoints</name>
     <message>
         <source>Vector creation tools</source>
-        <translation type="vanished">Herramientas de creación de vectoriales</translation>
+        <translation>Herramientas de creación de vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2190"/>
@@ -120068,7 +120067,7 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     <name>RenderingStyleFilePanel</name>
     <message>
         <source>Select style file</source>
-        <translation type="vanished">Seleccionar archivo de estilo</translation>
+        <translation>Seleccionar archivo de estilo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2224"/>
@@ -120085,23 +120084,23 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     <name>ReprojectLayer</name>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Target CRS</source>
-        <translation type="vanished">SRC objetivo</translation>
+        <translation>SRC objetivo</translation>
     </message>
     <message>
         <source>Reprojected</source>
-        <translation type="vanished">Reproyectada</translation>
+        <translation>Reproyectada</translation>
     </message>
     <message>
         <source>Reproject layer</source>
-        <translation type="vanished">Reproyectar capa</translation>
+        <translation>Reproyectar capa</translation>
     </message>
 </context>
 <context>
@@ -120113,11 +120112,11 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     </message>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2229"/>
@@ -120139,219 +120138,219 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     <name>RgExportDlg</name>
     <message>
         <source>Export feature</source>
-        <translation type="vanished">Exportar objeto espacial</translation>
+        <translation>Exportar objeto espacial</translation>
     </message>
     <message>
         <source>Select destination layer</source>
-        <translation type="vanished">Seleccionar capa de destino</translation>
+        <translation>Seleccionar capa de destino</translation>
     </message>
     <message>
         <source>New temporary layer</source>
-        <translation type="vanished">Nueva capa temporal</translation>
+        <translation>Nueva capa temporal</translation>
     </message>
 </context>
 <context>
     <name>RgLineVectorLayerSettingsWidget</name>
     <message>
         <source>Transportation layer</source>
-        <translation type="vanished">Capa de transporte</translation>
+        <translation>Capa de transporte</translation>
     </message>
     <message>
         <source>Layer</source>
-        <translation type="vanished">Capa</translation>
+        <translation>Capa</translation>
     </message>
     <message>
         <source>Direction field</source>
-        <translation type="vanished">Campo de sentido</translation>
+        <translation>Campo de sentido</translation>
     </message>
     <message>
         <source>Value for forward direction</source>
-        <translation type="vanished">Valor para sentido de avance</translation>
+        <translation>Valor para sentido de avance</translation>
     </message>
     <message>
         <source>Value for reverse direction</source>
-        <translation type="vanished">Valor para sentido inverso</translation>
+        <translation>Valor para sentido inverso</translation>
     </message>
     <message>
         <source>Value two-way direction</source>
-        <translation type="vanished">Valor de doble sentido</translation>
+        <translation>Valor de doble sentido</translation>
     </message>
     <message>
         <source>Speed field</source>
-        <translation type="vanished">Campo de velocidad</translation>
+        <translation>Campo de velocidad</translation>
     </message>
     <message>
         <source>km/h</source>
-        <translation type="vanished">km/h</translation>
+        <translation>km/h</translation>
     </message>
     <message>
         <source>m/s</source>
-        <translation type="vanished">m/s</translation>
+        <translation>m/s</translation>
     </message>
     <message>
         <source>Default settings</source>
-        <translation type="vanished">Configuración predeterminada</translation>
+        <translation>Configuración predeterminada</translation>
     </message>
     <message>
         <source>Direction</source>
-        <translation type="vanished">Sentido</translation>
+        <translation>Sentido</translation>
     </message>
     <message>
         <source>Two-way direction</source>
-        <translation type="vanished">Doble sentido</translation>
+        <translation>Doble sentido</translation>
     </message>
     <message>
         <source>Forward direction</source>
-        <translation type="vanished">Sentido de avance</translation>
+        <translation>Sentido de avance</translation>
     </message>
     <message>
         <source>Reverse direction</source>
-        <translation type="vanished">Sentido inverso</translation>
+        <translation>Sentido inverso</translation>
     </message>
     <message>
         <source>Cost</source>
-        <translation type="vanished">Coste</translation>
+        <translation>Coste</translation>
     </message>
     <message>
         <source>Line lengths</source>
-        <translation type="vanished">Longitudes de línea</translation>
+        <translation>Longitudes de línea</translation>
     </message>
     <message>
         <source>Speed</source>
-        <translation type="vanished">Velocidad</translation>
+        <translation>Velocidad</translation>
     </message>
     <message>
         <source>Always use default</source>
-        <translation type="vanished">Usar siempre los predeterminados</translation>
+        <translation>Usar siempre los predeterminados</translation>
     </message>
 </context>
 <context>
     <name>RgSettingsDlg</name>
     <message>
         <source>Road graph plugin settings</source>
-        <translation type="vanished">Configuración del complemento Grafo de rutas</translation>
+        <translation>Configuración del complemento Grafo de rutas</translation>
     </message>
     <message>
         <source>Time unit</source>
-        <translation type="vanished">Unidad de tiempo</translation>
+        <translation>Unidad de tiempo</translation>
     </message>
     <message>
         <source>Distance unit</source>
-        <translation type="vanished">Unidad de distancia</translation>
+        <translation>Unidad de distancia</translation>
     </message>
     <message>
         <source>Topology tolerance</source>
-        <translation type="vanished">Tolerancia de topología</translation>
+        <translation>Tolerancia de topología</translation>
     </message>
     <message>
         <source>second</source>
-        <translation type="vanished">segundo</translation>
+        <translation>segundo</translation>
     </message>
     <message>
         <source>hour</source>
-        <translation type="vanished">hora</translation>
+        <translation>hora</translation>
     </message>
     <message>
         <source>meter</source>
-        <translation type="vanished">metro</translation>
+        <translation>metro</translation>
     </message>
     <message>
         <source>kilometer</source>
-        <translation type="vanished">kilómetro</translation>
+        <translation>kilómetro</translation>
     </message>
 </context>
 <context>
     <name>RgShortestPathWidget</name>
     <message>
         <source>Shortest path</source>
-        <translation type="vanished">Ruta más corta</translation>
+        <translation>Ruta más corta</translation>
     </message>
     <message>
         <source>Start</source>
-        <translation type="vanished">Inicio</translation>
+        <translation>Inicio</translation>
     </message>
     <message>
         <source>Stop</source>
-        <translation type="vanished">Final</translation>
+        <translation>Final</translation>
     </message>
     <message>
         <source>Criterion</source>
-        <translation type="vanished">Criterio</translation>
+        <translation>Criterio</translation>
     </message>
     <message>
         <source>Length</source>
-        <translation type="vanished">Longitud</translation>
+        <translation>Longitud</translation>
     </message>
     <message>
         <source>Time</source>
-        <translation type="vanished">Tiempo</translation>
+        <translation>Tiempo</translation>
     </message>
     <message>
         <source>Calculate</source>
-        <translation type="vanished">Calcular</translation>
+        <translation>Calcular</translation>
     </message>
     <message>
         <source>Export</source>
-        <translation type="vanished">Exportar</translation>
+        <translation>Exportar</translation>
     </message>
     <message>
         <source>Clear</source>
-        <translation type="vanished">Limpiar</translation>
+        <translation>Limpiar</translation>
     </message>
     <message>
         <source>Help</source>
-        <translation type="vanished">Ayuda</translation>
+        <translation>Ayuda</translation>
     </message>
     <message>
         <source>Point not selected</source>
-        <translation type="vanished">Punto no seleccionado</translation>
+        <translation>Punto no seleccionado</translation>
     </message>
     <message>
         <source>First, select start and stop points.</source>
-        <translation type="vanished">Primero seleccione los puntos de inicio y final.</translation>
+        <translation>Primero seleccione los puntos de inicio y final.</translation>
     </message>
     <message>
         <source>Plugin isn't configured</source>
-        <translation type="vanished">El complemento no está configurado</translation>
+        <translation>El complemento no está configurado</translation>
     </message>
     <message>
         <source>Plugin isn't configured! Please go to the Vector menu, Road Graph, Settings option to configure it.</source>
-        <translation type="vanished">¡El complemento no está configurado! Por favor, vaya a la opción Configuración del menú Vectorial, Grafo de rutas para configurarlo.</translation>
+        <translation>¡El complemento no está configurado! Por favor, vaya a la opción Configuración del menú Vectorial, Grafo de rutas para configurarlo.</translation>
     </message>
     <message>
         <source>Tie point failed</source>
-        <translation type="vanished">Falló el punto de unión</translation>
+        <translation>Falló el punto de unión</translation>
     </message>
     <message>
         <source>Start point doesn't tie to the road!</source>
-        <translation type="vanished">¡El punto de inicio no está unido a la carretera!</translation>
+        <translation>¡El punto de inicio no está unido a la carretera!</translation>
     </message>
     <message>
         <source>Stop point doesn't tie to the road!</source>
-        <translation type="vanished">¡El punto final no está unido a la carretera!</translation>
+        <translation>¡El punto final no está unido a la carretera!</translation>
     </message>
     <message>
         <source>Path not found</source>
-        <translation type="vanished">No se ha encontrado la ruta</translation>
+        <translation>No se ha encontrado la ruta</translation>
     </message>
     <message>
         <source>Could not find start vertex. Please check your input data.</source>
-        <translation type="vanished">No se pudo encontrar el vértice de inicio. Por favor, revise sus datos de entrada.</translation>
+        <translation>No se pudo encontrar el vértice de inicio. Por favor, revise sus datos de entrada.</translation>
     </message>
 </context>
 <context>
     <name>RoadGraphPlugin</name>
     <message>
         <source>Settings...</source>
-        <translation type="vanished">Configuración...</translation>
+        <translation>Configuración...</translation>
     </message>
     <message>
         <source>Road graph plugin settings</source>
-        <translation type="vanished">Configuración del complemento Grafo de rutas</translation>
+        <translation>Configuración del complemento Grafo de rutas</translation>
     </message>
     <message>
         <source>Road Graph</source>
-        <translation type="vanished">Grafo de rutas</translation>
+        <translation>Grafo de rutas</translation>
     </message>
 </context>
 <context>
@@ -120386,1023 +120385,1023 @@ Por favor, configúrela antes de ejecutar scripts de R.</translation>
     <name>SAGAAlgorithm</name>
     <message>
         <source>Slope Length</source>
-        <translation type="vanished">Longitud de pendiente</translation>
+        <translation>Longitud de pendiente</translation>
     </message>
     <message>
         <source>Shapes Buffer (Attribute distance)|Shapes Buffer</source>
-        <translation type="vanished">Buffer de formas (distancia de atribudo)|Buffer de formas</translation>
+        <translation>Buffer de formas (distancia de atribudo)|Buffer de formas</translation>
     </message>
     <message>
         <source>Representativeness|Representativeness (Grid)</source>
-        <translation type="vanished">Representatividad|Representatividad (Cuadrícula)</translation>
+        <translation>Representatividad|Representatividad (Cuadrícula)</translation>
     </message>
     <message>
         <source>Gaussian Filter</source>
-        <translation type="vanished">Filtro gausiano</translation>
+        <translation>Filtro gausiano</translation>
     </message>
     <message>
         <source>Flow Accumulation (Top-Down)</source>
-        <translation type="vanished">Acumulación de flujo (arriba-abajo)</translation>
+        <translation>Acumulación de flujo (arriba-abajo)</translation>
     </message>
     <message>
         <source>Convex Hull</source>
-        <translation type="vanished">Envolvente convexa</translation>
+        <translation>Envolvente convexa</translation>
     </message>
     <message>
         <source>Flow Accumulation (Recursive)</source>
-        <translation type="vanished">Acumulación de flujo (recursiva)</translation>
+        <translation>Acumulación de flujo (recursiva)</translation>
     </message>
     <message>
         <source>Polygon Centroids</source>
-        <translation type="vanished">Centroides de polígonos</translation>
+        <translation>Centroides de polígonos</translation>
     </message>
     <message>
         <source>Flow Accumulation (Flow Tracing)</source>
-        <translation type="vanished">Acumulación de flujo (trazado de flujo)</translation>
+        <translation>Acumulación de flujo (trazado de flujo)</translation>
     </message>
     <message>
         <source>Point Statistics for Polygons</source>
-        <translation type="vanished">Estadísticas de puntos para polígonos</translation>
+        <translation>Estadísticas de puntos para polígonos</translation>
     </message>
     <message>
         <source>Grid Values to Points (randomly)</source>
-        <translation type="vanished">Valores de cuadrícula a puntos (aleatoriamente)</translation>
+        <translation>Valores de cuadrícula a puntos (aleatoriamente)</translation>
     </message>
     <message>
         <source>Clip Points with Polygons</source>
-        <translation type="vanished">Cortar puntos con polígonos</translation>
+        <translation>Cortar puntos con polígonos</translation>
     </message>
     <message>
         <source>Gradient Vectors from Direction and Length</source>
-        <translation type="vanished">Vectores de gradiente a partir de dirección y longitud</translation>
+        <translation>Vectores de gradiente a partir de dirección y longitud</translation>
     </message>
     <message>
         <source>Grid Statistics for Polygons</source>
-        <translation type="vanished">Estadísticas de cuadrícula para polígonos</translation>
+        <translation>Estadísticas de cuadrícula para polígonos</translation>
     </message>
     <message>
         <source>Layer of extreme value</source>
-        <translation type="vanished">Capa de valor extremo</translation>
+        <translation>Capa de valor extremo</translation>
     </message>
     <message>
         <source>Create Graticule</source>
-        <translation type="vanished">Crear cuadrícula</translation>
+        <translation>Crear cuadrícula</translation>
     </message>
     <message>
         <source>Difference</source>
-        <translation type="vanished">Diferencia</translation>
+        <translation>Diferencia</translation>
     </message>
     <message>
         <source>Clip Grid with Polygon</source>
-        <translation type="vanished">Cortar cuadrícula con polígonos</translation>
+        <translation>Cortar cuadrícula con polígonos</translation>
     </message>
     <message>
         <source>Crop to Data</source>
-        <translation type="vanished">Recortar a los datos</translation>
+        <translation>Recortar a los datos</translation>
     </message>
     <message>
         <source>Close Gaps</source>
-        <translation type="vanished">Cerrar saltos</translation>
+        <translation>Cerrar saltos</translation>
     </message>
     <message>
         <source>Polygon Clipping</source>
-        <translation type="vanished">Corte de polígonos</translation>
+        <translation>Corte de polígonos</translation>
     </message>
     <message>
         <source>Multiresolution Index of Valley Bottom Flatness (MRVBF)</source>
-        <translation type="vanished">Índice multirresolución de planicie de fondo de valle (MRVBF)</translation>
+        <translation>Índice multirresolución de planicie de fondo de valle (MRVBF)</translation>
     </message>
     <message>
         <source>Flatten Polygon Layer</source>
-        <translation type="vanished">Aplanar capa de polígonos</translation>
+        <translation>Aplanar capa de polígonos</translation>
     </message>
     <message>
         <source>Shared Polygon Edges</source>
-        <translation type="vanished">Bordes de polígonos compartidos</translation>
+        <translation>Bordes de polígonos compartidos</translation>
     </message>
     <message>
         <source>Add Point Attributes to Polygons</source>
-        <translation type="vanished">Añadir atributos de puntos a polígonos</translation>
+        <translation>Añadir atributos de puntos a polígonos</translation>
     </message>
     <message>
         <source>Polygon Self-Intersection</source>
-        <translation type="vanished">Auto intersección de polígonos</translation>
+        <translation>Auto intersección de polígonos</translation>
     </message>
     <message>
         <source>Gradient Vectors from Surface</source>
-        <translation type="vanished">Vectores de gradiente a partir de superficie</translation>
+        <translation>Vectores de gradiente a partir de superficie</translation>
     </message>
     <message>
         <source>GWR for Multiple Predictor Grids</source>
-        <translation type="vanished">GWR para Múltiples Cuadrículas de Predicción</translation>
+        <translation>GWR para Múltiples Cuadrículas de Predicción</translation>
     </message>
     <message>
         <source>Multiple Regression Analysis (Points/Grids)</source>
-        <translation type="vanished">Análisis de regresión múltiple (Puntos/Cuadrículas)</translation>
+        <translation>Análisis de regresión múltiple (Puntos/Cuadrículas)</translation>
     </message>
     <message>
         <source>Hypsometry</source>
-        <translation type="vanished">Hipsometría</translation>
+        <translation>Hipsometría</translation>
     </message>
     <message>
         <source>Aggregation Index</source>
-        <translation type="vanished">Índice de agregación</translation>
+        <translation>Índice de agregación</translation>
     </message>
     <message>
         <source>Identity</source>
-        <translation type="vanished">Identidad</translation>
+        <translation>Identidad</translation>
     </message>
     <message>
         <source>LS Factor</source>
-        <translation type="vanished">Factor LS</translation>
+        <translation>Factor LS</translation>
     </message>
     <message>
         <source>DTM Filter (slope-based)</source>
-        <translation type="vanished">Filtro DTM (basado en pendiente)</translation>
+        <translation>Filtro DTM (basado en pendiente)</translation>
     </message>
     <message>
         <source>Effective Air Flow Heights</source>
-        <translation type="vanished">Alturas de flujo de aire efectivas</translation>
+        <translation>Alturas de flujo de aire efectivas</translation>
     </message>
     <message>
         <source>Add Grid Values to Points</source>
-        <translation type="vanished">Añadir valores de cuadrícula a puntos</translation>
+        <translation>Añadir valores de cuadrícula a puntos</translation>
     </message>
     <message>
         <source>Kernel Density Estimation</source>
-        <translation type="vanished">Estimación de densidad de kernel</translation>
+        <translation>Estimación de densidad de kernel</translation>
     </message>
     <message>
         <source>Grid Cell Index</source>
-        <translation type="vanished">Índice de celda de cuadrícula</translation>
+        <translation>Índice de celda de cuadrícula</translation>
     </message>
     <message>
         <source>Mass Balance Index</source>
-        <translation type="vanished">Índice de equilibrio de masa</translation>
+        <translation>Índice de equilibrio de masa</translation>
     </message>
     <message>
         <source>Transform Shapes</source>
-        <translation type="vanished">Transformar formas</translation>
+        <translation>Transformar formas</translation>
     </message>
     <message>
         <source>Regression analysis|Regression Analysis (Points/Grid)</source>
-        <translation type="vanished">Análisis de regresión|Análisis de regresión (Puntos/Cuadrícula)</translation>
+        <translation>Análisis de regresión|Análisis de regresión (Puntos/Cuadrícula)</translation>
     </message>
     <message>
         <source>Polygon Properties</source>
-        <translation type="vanished">Propiedades de polígono</translation>
+        <translation>Propiedades de polígono</translation>
     </message>
     <message>
         <source>Geographically Weighted Multiple Regression</source>
-        <translation type="vanished">Regresión múltiple ponderada geográficamente</translation>
+        <translation>Regresión múltiple ponderada geográficamente</translation>
     </message>
     <message>
         <source>GWR for Multiple Predictors (Gridded Model Output)</source>
-        <translation type="vanished">GWR para Múltiples Predictores (salida de modelo en cuadrícula)</translation>
+        <translation>GWR para Múltiples Predictores (salida de modelo en cuadrícula)</translation>
     </message>
     <message>
         <source>Directional Statistics for Single Grid</source>
-        <translation type="vanished">Estadísticas direccionales para cuadrícula única</translation>
+        <translation>Estadísticas direccionales para cuadrícula única</translation>
     </message>
     <message>
         <source>Fill Sinks|Fill Sinks (Planchon/Darboux, 2001)</source>
-        <translation type="vanished">Rellenar sumideros|Rellenar sumideros (Planchon/Darboux, 2001)</translation>
+        <translation>Rellenar sumideros|Rellenar sumideros (Planchon/Darboux, 2001)</translation>
     </message>
     <message>
         <source>Grids Product</source>
-        <translation type="vanished">Producto de cuadrículas</translation>
+        <translation>Producto de cuadrículas</translation>
     </message>
     <message>
         <source>Fill Gaps in Records</source>
-        <translation type="vanished">Rellenar saltos en registros</translation>
+        <translation>Rellenar saltos en registros</translation>
     </message>
     <message>
         <source>Topographic Correction</source>
-        <translation type="vanished">Corrección topográfica</translation>
+        <translation>Corrección topográfica</translation>
     </message>
     <message>
         <source>Grid Buffer</source>
-        <translation type="vanished">Buffer de cuadrícula</translation>
+        <translation>Buffer de cuadrícula</translation>
     </message>
     <message>
         <source>Catchment Area (Flow Tracing)</source>
-        <translation type="vanished">Área de captación (trazado de flujo)</translation>
+        <translation>Área de captación (trazado de flujo)</translation>
     </message>
     <message>
         <source>User Defined Filter</source>
-        <translation type="vanished">Filtro definido por el usuario</translation>
+        <translation>Filtro definido por el usuario</translation>
     </message>
     <message>
         <source>Watershed Segmentation</source>
-        <translation type="vanished">Segmentación de cuenca</translation>
+        <translation>Segmentación de cuenca</translation>
     </message>
     <message>
         <source>Line Simplification</source>
-        <translation type="vanished">Simplificación de línea</translation>
+        <translation>Simplificación de línea</translation>
     </message>
     <message>
         <source>Convergence Index (Search Radius)</source>
-        <translation type="vanished">Índice de convergencia (radio de búsqueda)</translation>
+        <translation>Índice de convergencia (radio de búsqueda)</translation>
     </message>
     <message>
         <source>Topographic Wetness Index (TWI)</source>
-        <translation type="vanished">Índice de humedad topográfica (TWI)</translation>
+        <translation>Índice de humedad topográfica (TWI)</translation>
     </message>
     <message>
         <source>Upslope Area|4</source>
-        <translation type="vanished">Área pendiente arriba|4</translation>
+        <translation>Área pendiente arriba|4</translation>
     </message>
     <message>
         <source>Laplacian Filter</source>
-        <translation type="vanished">Filtro Laplacian</translation>
+        <translation>Filtro Laplacian</translation>
     </message>
     <message>
         <source>Grid Proximity Buffer</source>
-        <translation type="vanished">Buffer de proximidad de cuadrícula</translation>
+        <translation>Buffer de proximidad de cuadrícula</translation>
     </message>
     <message>
         <source>Aggregate Point Observations</source>
-        <translation type="vanished">Observaciones de puntos agregados</translation>
+        <translation>Observaciones de puntos agregados</translation>
     </message>
     <message>
         <source>Topographic Position Index (TPI)</source>
-        <translation type="vanished">Índice de posición topográfica (TPI)</translation>
+        <translation>Índice de posición topográfica (TPI)</translation>
     </message>
     <message>
         <source>Grid Masking</source>
-        <translation type="vanished">Máscaras de cuadrícula</translation>
+        <translation>Máscaras de cuadrícula</translation>
     </message>
     <message>
         <source>Channel Network and Drainage Basins</source>
-        <translation type="vanished">Red de canales y cuencas de drenaje</translation>
+        <translation>Red de canales y cuencas de drenaje</translation>
     </message>
     <message>
         <source>Real Surface Area</source>
-        <translation type="vanished">Área de la superficie real</translation>
+        <translation>Área de la superficie real</translation>
     </message>
     <message>
         <source>Threshold Buffer</source>
-        <translation type="vanished">Buffer de umbral</translation>
+        <translation>Buffer de umbral</translation>
     </message>
     <message>
         <source>Add Grid Values to Shapes</source>
-        <translation type="vanished">Añadir valores de cuadrícula a formas</translation>
+        <translation>Añadir valores de cuadrícula a formas</translation>
     </message>
     <message>
         <source>QuadTree Structure to Shapes</source>
-        <translation type="vanished">Estructura QuadTree a formas</translation>
+        <translation>Estructura QuadTree a formas</translation>
     </message>
     <message>
         <source>Analytical Hillshading</source>
-        <translation type="vanished">Sombreado analítico</translation>
+        <translation>Sombreado analítico</translation>
     </message>
     <message>
         <source>Surface Specific Points</source>
-        <translation type="vanished">Puntos específicos de superficie</translation>
+        <translation>Puntos específicos de superficie</translation>
     </message>
     <message>
         <source>Transect through polygon shapefile</source>
-        <translation type="vanished">Transecto a través de archivo shape de polígonos</translation>
+        <translation>Transecto a través de archivo shape de polígonos</translation>
     </message>
     <message>
         <source>Convert Lines to Polygons</source>
-        <translation type="vanished">Convertir líneas a polígonos</translation>
+        <translation>Convertir líneas a polígonos</translation>
     </message>
     <message>
         <source>Local Minima and Maxima</source>
-        <translation type="vanished">Mínima y máxima locales</translation>
+        <translation>Mínima y máxima locales</translation>
     </message>
     <message>
         <source>Accumulated Cost (Isotropic)</source>
-        <translation type="vanished">Coste acumulado (isotrópico)</translation>
+        <translation>Coste acumulado (isotrópico)</translation>
     </message>
     <message>
         <source>Line Dissolve</source>
-        <translation type="vanished">Disolución de líneas</translation>
+        <translation>Disolución de líneas</translation>
     </message>
     <message>
         <source>Resampling</source>
-        <translation type="vanished">Remuestreo</translation>
+        <translation>Remuestreo</translation>
     </message>
     <message>
         <source>Fuzzy Union (OR)</source>
-        <translation type="vanished">Unión aproximada (O)</translation>
+        <translation>Unión aproximada (O)</translation>
     </message>
     <message>
         <source>Natural Neighbour</source>
-        <translation type="vanished">Vecino natural</translation>
+        <translation>Vecino natural</translation>
     </message>
     <message>
         <source>Convert Lines to Points</source>
-        <translation type="vanished">Convertir líneas a puntos</translation>
+        <translation>Convertir líneas a puntos</translation>
     </message>
     <message>
         <source>Thin Plate Spline (Global)</source>
-        <translation type="vanished">Thin plate spline (Global)</translation>
+        <translation>Thin plate spline (Global)</translation>
     </message>
     <message>
         <source>Polygon dissolve (by attribute)|Polygon Dissolve</source>
-        <translation type="vanished">Disolución de polígonos (por atributos)|Disolución de polígonos</translation>
+        <translation>Disolución de polígonos (por atributos)|Disolución de polígonos</translation>
     </message>
     <message>
         <source>Stream Power Index</source>
-        <translation type="vanished">Índice de fuerza de corriente</translation>
+        <translation>Índice de fuerza de corriente</translation>
     </message>
     <message>
         <source>Global Moran's I for Grids</source>
-        <translation type="vanished">I de Moran global para cuadrículas</translation>
+        <translation>I de Moran global para cuadrículas</translation>
     </message>
     <message>
         <source>Polynomial Regression</source>
-        <translation type="vanished">Regresión polinomial</translation>
+        <translation>Regresión polinomial</translation>
     </message>
     <message>
         <source>Multiple Regression Analysis (Grid/Grids)</source>
-        <translation type="vanished">Análisis de regresión múltiple (Cuadrícula/Cuadrículas)</translation>
+        <translation>Análisis de regresión múltiple (Cuadrícula/Cuadrículas)</translation>
     </message>
     <message>
         <source>Nearest Neighbour</source>
-        <translation type="vanished">Vecino más próximo</translation>
+        <translation>Vecino más próximo</translation>
     </message>
     <message>
         <source>Water Retention Capacity</source>
-        <translation type="vanished">Capacidad de retención de agua</translation>
+        <translation>Capacidad de retención de agua</translation>
     </message>
     <message>
         <source>Gradient Vectors from Directional Components</source>
-        <translation type="vanished">Vectores de gradiente a partir de componentes direccionales</translation>
+        <translation>Vectores de gradiente a partir de componentes direccionales</translation>
     </message>
     <message>
         <source>Majority Filter</source>
-        <translation type="vanished">Filtro de mayoría</translation>
+        <translation>Filtro de mayoría</translation>
     </message>
     <message>
         <source>Flow Path Length</source>
-        <translation type="vanished">Longitud de ruta de flujo</translation>
+        <translation>Longitud de ruta de flujo</translation>
     </message>
     <message>
         <source>Simple Region Growing</source>
-        <translation type="vanished">Crecimiento de región sencilla</translation>
+        <translation>Crecimiento de región sencilla</translation>
     </message>
     <message>
         <source>Simulation</source>
-        <translation type="vanished">Simulación</translation>
+        <translation>Simulación</translation>
     </message>
     <message>
         <source>Get Shapes Extents</source>
-        <translation type="vanished">Obtener extensión de las formas</translation>
+        <translation>Obtener extensión de las formas</translation>
     </message>
     <message>
         <source>Union</source>
-        <translation type="vanished">Unión</translation>
+        <translation>Unión</translation>
     </message>
     <message>
         <source>Fill Sinks XXL (Wang & Liu)</source>
-        <translation type="vanished">Rellenar sumideros XXL (Wang & Liu)</translation>
+        <translation>Rellenar sumideros XXL (Wang & Liu)</translation>
     </message>
     <message>
         <source>B-Spline Approximation</source>
-        <translation type="vanished">Aproximación B-Spline</translation>
+        <translation>Aproximación B-Spline</translation>
     </message>
     <message>
         <source>Polygon Parts to Separate Polygons</source>
-        <translation type="vanished">Partes de polígonos a polígonos separados</translation>
+        <translation>Partes de polígonos a polígonos separados</translation>
     </message>
     <message>
         <source>Points Thinning</source>
-        <translation type="vanished">Adelgazamiento de puntos</translation>
+        <translation>Adelgazamiento de puntos</translation>
     </message>
     <message>
         <source>Change Date Format</source>
-        <translation type="vanished">Cambiar formato de fecha</translation>
+        <translation>Cambiar formato de fecha</translation>
     </message>
     <message>
         <source>Gradient Vector from Cartesian to Polar Coordinates</source>
-        <translation type="vanished">Vectorial de gradiente de coordenadas cartesianas a polares</translation>
+        <translation>Vectorial de gradiente de coordenadas cartesianas a polares</translation>
     </message>
     <message>
         <source>Fragmentation Classes from Density and Connectivity</source>
-        <translation type="vanished">Clases de fragmentación a partir de densidad y conectividad</translation>
+        <translation>Clases de fragmentación a partir de densidad y conectividad</translation>
     </message>
     <message>
         <source>Ordinary Kriging</source>
-        <translation type="vanished">Kriging ordinario</translation>
+        <translation>Kriging ordinario</translation>
     </message>
     <message>
         <source>Grid Volume</source>
-        <translation type="vanished">Volumen de cuadrícula</translation>
+        <translation>Volumen de cuadrícula</translation>
     </message>
     <message>
         <source>Patching</source>
-        <translation type="vanished">Parcheado</translation>
+        <translation>Parcheado</translation>
     </message>
     <message>
         <source>Ordered Weighted Averaging|Ordered Weighted Averaging (OWA)</source>
-        <translation type="vanished">Promediado ponderado ordenado|Promediado ponderado ordenado (OWA)</translation>
+        <translation>Promediado ponderado ordenado|Promediado ponderado ordenado (OWA)</translation>
     </message>
     <message>
         <source>Thin Plate Spline (TIN)</source>
-        <translation type="vanished">Thin Plate Spline (TIN)</translation>
+        <translation>Thin Plate Spline (TIN)</translation>
     </message>
     <message>
         <source>SAGA Wetness Index</source>
-        <translation type="vanished">Índice de humedad de SAGA</translation>
+        <translation>Índice de humedad de SAGA</translation>
     </message>
     <message>
         <source>Histogram Surface</source>
-        <translation type="vanished">Superficie de histograma</translation>
+        <translation>Superficie de histograma</translation>
     </message>
     <message>
         <source>Merge Layers</source>
-        <translation type="vanished">Combinar capas</translation>
+        <translation>Combinar capas</translation>
     </message>
     <message>
         <source>Grid Skeletonization</source>
-        <translation type="vanished">Esquelitización de cuadrícula</translation>
+        <translation>Esquelitización de cuadrícula</translation>
     </message>
     <message>
         <source>Catchment Area|Catchment Area (Parallel)</source>
-        <translation type="vanished">Área de captación|Área de captación (paralela)</translation>
+        <translation>Área de captación|Área de captación (paralela)</translation>
     </message>
     <message>
         <source>Geometric Figures</source>
-        <translation type="vanished">Figuras geométricas</translation>
+        <translation>Figuras geométricas</translation>
     </message>
     <message>
         <source>Spatial Point Pattern Analysis</source>
-        <translation type="vanished">Análisis de patrón de puntos espacial</translation>
+        <translation>Análisis de patrón de puntos espacial</translation>
     </message>
     <message>
         <source>Update</source>
-        <translation type="vanished">Actualizar</translation>
+        <translation>Actualizar</translation>
     </message>
     <message>
         <source>Sink Removal</source>
-        <translation type="vanished">Eliminación de sumideros</translation>
+        <translation>Eliminación de sumideros</translation>
     </message>
     <message>
         <source>Convert Points to Line(s)</source>
-        <translation type="vanished">Convertir puntos a línea(s)</translation>
+        <translation>Convertir puntos a línea(s)</translation>
     </message>
     <message>
         <source>Change Grid Values</source>
-        <translation type="vanished">Cambiar valores de cuadrícula</translation>
+        <translation>Cambiar valores de cuadrícula</translation>
     </message>
     <message>
         <source>Line Properties</source>
-        <translation type="vanished">Propiedades de línea</translation>
+        <translation>Propiedades de línea</translation>
     </message>
     <message>
         <source>Convert Multipoints to Points</source>
-        <translation type="vanished">Convertir multipuntos a puntos</translation>
+        <translation>Convertir multipuntos a puntos</translation>
     </message>
     <message>
         <source>Cell Balance</source>
-        <translation type="vanished">Equilibrio de celda</translation>
+        <translation>Equilibrio de celda</translation>
     </message>
     <message>
         <source>Fill Sinks (Wang & Liu)</source>
-        <translation type="vanished">Rellenar sumideros (Wang & Liu)</translation>
+        <translation>Rellenar sumideros (Wang & Liu)</translation>
     </message>
     <message>
         <source>Convert Data Storage Type</source>
-        <translation type="vanished">Convertir tipo de almacenamiento de datos</translation>
+        <translation>Convertir tipo de almacenamiento de datos</translation>
     </message>
     <message>
         <source>Rank Filter</source>
-        <translation type="vanished">Filtro de rango</translation>
+        <translation>Filtro de rango</translation>
     </message>
     <message>
         <source>Change Detection</source>
-        <translation type="vanished">Detección de cambios</translation>
+        <translation>Detección de cambios</translation>
     </message>
     <message>
         <source>Strahler Order</source>
-        <translation type="vanished">Orden de Strahler</translation>
+        <translation>Orden de Strahler</translation>
     </message>
     <message>
         <source>Inverse Distance Weighted</source>
-        <translation type="vanished">Distancia Inversa Ponderada</translation>
+        <translation>Distancia Inversa Ponderada</translation>
     </message>
     <message>
         <source>Multilevel B-Spline Interpolation (from Grid)</source>
-        <translation type="vanished">Interpolación B-Spline multinivel (a partir de cuadrícula)</translation>
+        <translation>Interpolación B-Spline multinivel (a partir de cuadrícula)</translation>
     </message>
     <message>
         <source>Geographically Weighted Multiple Regression (Points/Grids)</source>
-        <translation type="vanished">Regresión múltiple ponderada geográficamente (puntos/cuadrículas)</translation>
+        <translation>Regresión múltiple ponderada geográficamente (puntos/cuadrículas)</translation>
     </message>
     <message>
         <source>Fast Region Growing Algorithm</source>
-        <translation type="vanished">Algoritmo de crecimiento rápido de región</translation>
+        <translation>Algoritmo de crecimiento rápido de región</translation>
     </message>
     <message>
         <source>Terrain Ruggedness Index (TRI)</source>
-        <translation type="vanished">Índice de irregularidad del terreno (TRI)</translation>
+        <translation>Índice de irregularidad del terreno (TRI)</translation>
     </message>
     <message>
         <source>GWR for Single Predictor Grid</source>
-        <translation type="vanished">GWR para cuadrícula de predicción única</translation>
+        <translation>GWR para cuadrícula de predicción única</translation>
     </message>
     <message>
         <source>Points Filter</source>
-        <translation type="vanished">Filtro de puntos</translation>
+        <translation>Filtro de puntos</translation>
     </message>
     <message>
         <source>Radius of Variance (Grid)</source>
-        <translation type="vanished">Radio de varianza (cuadrícula)</translation>
+        <translation>Radio de varianza (cuadrícula)</translation>
     </message>
     <message>
         <source>Geographically Weighted Multiple Regression (Points)</source>
-        <translation type="vanished">Regresión múltiple ponderada geográficamente (puntos)</translation>
+        <translation>Regresión múltiple ponderada geográficamente (puntos)</translation>
     </message>
     <message>
         <source>Sink Drainage Route Detection</source>
-        <translation type="vanished">Detección de ruta de drenaje de sumideros</translation>
+        <translation>Detección de ruta de drenaje de sumideros</translation>
     </message>
     <message>
         <source>GWR for Single Predictor (Gridded Model Output)</source>
-        <translation type="vanished">GWR para predictor únicos (salida de modelo en cuadrícula)</translation>
+        <translation>GWR para predictor únicos (salida de modelo en cuadrícula)</translation>
     </message>
     <message>
         <source>Cubic Spline Approximation</source>
-        <translation type="vanished">Aproximación Spline cúbica</translation>
+        <translation>Aproximación Spline cúbica</translation>
     </message>
     <message>
         <source>Overland Flow Distance to Channel Network</source>
-        <translation type="vanished">Distancia de escorrentía superficial a la red de canales</translation>
+        <translation>Distancia de escorrentía superficial a la red de canales</translation>
     </message>
     <message>
         <source>Shapes Buffer (Fixed distance)|Shapes Buffer</source>
-        <translation type="vanished">Buffer de formas (distancia fija)|Buffer de formas</translation>
+        <translation>Buffer de formas (distancia fija)|Buffer de formas</translation>
     </message>
     <message>
         <source>Line-Polygon Intersection</source>
-        <translation type="vanished">Intersección línea-polígono</translation>
+        <translation>Intersección línea-polígono</translation>
     </message>
     <message>
         <source>Accumulated Cost (Anisotropic)</source>
-        <translation type="vanished">Coste acumulado (anisotrópico)</translation>
+        <translation>Coste acumulado (anisotrópico)</translation>
     </message>
     <message>
         <source>Fragmentation (Alternative)</source>
-        <translation type="vanished">Fragmentación (alternativa)</translation>
+        <translation>Fragmentación (alternativa)</translation>
     </message>
     <message>
         <source>Principle Components Analysis</source>
-        <translation type="vanished">Análisis de componentes principales</translation>
+        <translation>Análisis de componentes principales</translation>
     </message>
     <message>
         <source>Ordinary Kriging (Global)</source>
-        <translation type="vanished">Kriging ordinario (global)</translation>
+        <translation>Kriging ordinario (global)</translation>
     </message>
     <message>
         <source>Multi-Band Variation</source>
-        <translation type="vanished">Variación multibanda</translation>
+        <translation>Variación multibanda</translation>
     </message>
     <message>
         <source>Universal Kriging (Global)</source>
-        <translation type="vanished">Kriging universal (global)</translation>
+        <translation>Kriging universal (global)</translation>
     </message>
     <message>
         <source>Analytical Hierarchy Process</source>
-        <translation type="vanished">Proceso de jerarquía analítica</translation>
+        <translation>Proceso de jerarquía analítica</translation>
     </message>
     <message>
         <source>Diurnal Anisotropic Heating</source>
-        <translation type="vanished">Calentamiento anisotrópico diurno</translation>
+        <translation>Calentamiento anisotrópico diurno</translation>
     </message>
     <message>
         <source>Variogram Surface</source>
-        <translation type="vanished">Superficie de variograma</translation>
+        <translation>Superficie de variograma</translation>
     </message>
     <message>
         <source>Multi Direction Lee Filter</source>
-        <translation type="vanished">Filtro de sotavento multidirección</translation>
+        <translation>Filtro de sotavento multidirección</translation>
     </message>
     <message>
         <source>Watershed Basins</source>
-        <translation type="vanished">Cuencas hidrográficas</translation>
+        <translation>Cuencas hidrográficas</translation>
     </message>
     <message>
         <source>Supervised Classification</source>
-        <translation type="vanished">Clasificación supervisada</translation>
+        <translation>Clasificación supervisada</translation>
     </message>
     <message>
         <source>Soil Texture Classification</source>
-        <translation type="vanished">Clasificación de textura de suelo</translation>
+        <translation>Clasificación de textura de suelo</translation>
     </message>
     <message>
         <source>Vectorising Grid Classes</source>
-        <translation type="vanished">Clases de vectorización de cuadrículas</translation>
+        <translation>Clases de vectorización de cuadrículas</translation>
     </message>
     <message>
         <source>Modified Quadratic Shepard</source>
-        <translation type="vanished">Método cuadrático de Shepard modificado</translation>
+        <translation>Método cuadrático de Shepard modificado</translation>
     </message>
     <message>
         <source>Variogram Cloud</source>
-        <translation type="vanished">Nube de variograma</translation>
+        <translation>Nube de variograma</translation>
     </message>
     <message>
         <source>Vectorising Raster Classes</source>
-        <translation type="vanished">Vectorizando clases de ráster</translation>
+        <translation>Vectorizando clases de ráster</translation>
     </message>
     <message>
         <source>Morphometric Protection Index</source>
-        <translation type="vanished">Índice de protección morfométrica</translation>
+        <translation>Índice de protección morfométrica</translation>
     </message>
     <message>
         <source>Universal Kriging</source>
-        <translation type="vanished">Kriging universal</translation>
+        <translation>Kriging universal</translation>
     </message>
     <message>
         <source>Raster calculator|Grid Calculator</source>
-        <translation type="vanished">Calculadora ráster|Calculadora de cuadrícula</translation>
+        <translation>Calculadora ráster|Calculadora de cuadrícula</translation>
     </message>
     <message>
         <source>Grid Orientation</source>
-        <translation type="vanished">Orientación de cuadrícula</translation>
+        <translation>Orientación de cuadrícula</translation>
     </message>
     <message>
         <source>Convergence Index</source>
-        <translation type="vanished">Índice de convergencia</translation>
+        <translation>Índice de convergencia</translation>
     </message>
     <message>
         <source>Shapes to Grid</source>
-        <translation type="vanished">Formas a cuadrícula</translation>
+        <translation>Formas a cuadrícula</translation>
     </message>
     <message>
         <source>Land Surface Temperature</source>
-        <translation type="vanished">Termperatura de la superficie del terreno</translation>
+        <translation>Termperatura de la superficie del terreno</translation>
     </message>
     <message>
         <source>Polygon dissolve (all polygons)|Polygon Dissolve</source>
-        <translation type="vanished">Disolver polígonos (todos los polígonos)|Disolver polígonos</translation>
+        <translation>Disolver polígonos (todos los polígonos)|Disolver polígonos</translation>
     </message>
     <message>
         <source>Flow Width and Specific Catchment Area</source>
-        <translation type="vanished">Anchura de corriente y área de captación específica</translation>
+        <translation>Anchura de corriente y área de captación específica</translation>
     </message>
     <message>
         <source>Random Terrain Generation</source>
-        <translation type="vanished">Generación de terreno aleatoria</translation>
+        <translation>Generación de terreno aleatoria</translation>
     </message>
     <message>
         <source>Convert Polygons to Lines</source>
-        <translation type="vanished">Convertir polígonos a líneas</translation>
+        <translation>Convertir polígonos a líneas</translation>
     </message>
     <message>
         <source>Fuzzy Intersection (AND)</source>
-        <translation type="vanished">Intersección aproximada (Y)</translation>
+        <translation>Intersección aproximada (Y)</translation>
     </message>
     <message>
         <source>Polygon Shape Indices</source>
-        <translation type="vanished">Índices de formas poligonales</translation>
+        <translation>Índices de formas poligonales</translation>
     </message>
     <message>
         <source>Cluster Analysis for Grids</source>
-        <translation type="vanished">Análisis de grupos para cuadrículas</translation>
+        <translation>Análisis de grupos para cuadrículas</translation>
     </message>
     <message>
         <source>Burn Stream Network into DEM</source>
-        <translation type="vanished">Integrar red de corrientes en MDT</translation>
+        <translation>Integrar red de corrientes en MDT</translation>
     </message>
     <message>
         <source>Relative Heights and Slope Positions</source>
-        <translation type="vanished">Alturas relativas y posiciones de pendiente</translation>
+        <translation>Alturas relativas y posiciones de pendiente</translation>
     </message>
     <message>
         <source>Regression Kriging</source>
-        <translation type="vanished">Kriging de regresión</translation>
+        <translation>Kriging de regresión</translation>
     </message>
     <message>
         <source>Simple Kriging</source>
-        <translation type="vanished">Kriging sencillo</translation>
+        <translation>Kriging sencillo</translation>
     </message>
     <message>
         <source>Fuzzify</source>
-        <translation type="vanished">Fuzzify</translation>
+        <translation>Fuzzify</translation>
     </message>
     <message>
         <source>Catchment Area (Recursive)</source>
-        <translation type="vanished">Área de captación (recursiva)</translation>
+        <translation>Área de captación (recursiva)</translation>
     </message>
     <message>
         <source>Convert Polygon/Line Vertices to Points</source>
-        <translation type="vanished">Convertir vértices de polígono/línea a puntos</translation>
+        <translation>Convertir vértices de polígono/línea a puntos</translation>
     </message>
     <message>
         <source>Least Cost Paths</source>
-        <translation type="vanished">Rutas de menor coste</translation>
+        <translation>Rutas de menor coste</translation>
     </message>
     <message>
         <source>Split Shapes Layer Randomly</source>
-        <translation type="vanished">Dividir capa shape de forma aleatoria</translation>
+        <translation>Dividir capa shape de forma aleatoria</translation>
     </message>
     <message>
         <source>Grid Standardisation</source>
-        <translation type="vanished">Estandarización de cuadrícula</translation>
+        <translation>Estandarización de cuadrícula</translation>
     </message>
     <message>
         <source>Proximity Grid</source>
-        <translation type="vanished">Cuadrícula de proximidad</translation>
+        <translation>Cuadrícula de proximidad</translation>
     </message>
     <message>
         <source>Contour Lines from Grid</source>
-        <translation type="vanished">Curvas de nivel a partir de cuadrícula</translation>
+        <translation>Curvas de nivel a partir de cuadrícula</translation>
     </message>
     <message>
         <source>Fragmentation (Standard)</source>
-        <translation type="vanished">Fragmentación (estándar)</translation>
+        <translation>Fragmentación (estándar)</translation>
     </message>
     <message>
         <source>Invert Data/No-Data</source>
-        <translation type="vanished">Invertir datos/sin datos</translation>
+        <translation>Invertir datos/sin datos</translation>
     </message>
     <message>
         <source>Vegetation Index (Slope Based)</source>
-        <translation type="vanished">Índice de vegetación (basado en pendiente)</translation>
+        <translation>Índice de vegetación (basado en pendiente)</translation>
     </message>
     <message>
         <source>Statistics for Grids</source>
-        <translation type="vanished">Estadísticas para cuadrículas</translation>
+        <translation>Estadísticas para cuadrículas</translation>
     </message>
     <message>
         <source>Grids Sum</source>
-        <translation type="vanished">Suma de cuadrículas</translation>
+        <translation>Suma de cuadrículas</translation>
     </message>
     <message>
         <source>Triangulation</source>
-        <translation type="vanished">Triangulación</translation>
+        <translation>Triangulación</translation>
     </message>
     <message>
         <source>Grid Values to Points</source>
-        <translation type="vanished">Valores de cuadrícula a puntos</translation>
+        <translation>Valores de cuadrícula a puntos</translation>
     </message>
     <message>
         <source>Add Coordinates to points</source>
-        <translation type="vanished">Añadir coordenadas a puntos</translation>
+        <translation>Añadir coordenadas a puntos</translation>
     </message>
     <message>
         <source>Symmetrical Difference</source>
-        <translation type="vanished">Diferencia simétrica</translation>
+        <translation>Diferencia simétrica</translation>
     </message>
     <message>
         <source>Flat Detection</source>
-        <translation type="vanished">Detección de llanuras</translation>
+        <translation>Detección de llanuras</translation>
     </message>
     <message>
         <source>Aggregate</source>
-        <translation type="vanished">Agregar</translation>
+        <translation>Agregar</translation>
     </message>
     <message>
         <source>Sky View Factor</source>
-        <translation type="vanished">Factor de vista del cielo</translation>
+        <translation>Factor de vista del cielo</translation>
     </message>
     <message>
         <source>Grid Difference</source>
-        <translation type="vanished">Diferencia de cuadrículas</translation>
+        <translation>Diferencia de cuadrículas</translation>
     </message>
     <message>
         <source>Vertical Distance to Channel Network</source>
-        <translation type="vanished">Distancia vertical a la red de canales</translation>
+        <translation>Distancia vertical a la red de canales</translation>
     </message>
     <message>
         <source>Random Field</source>
-        <translation type="vanished">Campo aleatorio</translation>
+        <translation>Campo aleatorio</translation>
     </message>
     <message>
         <source>Simple Filter</source>
-        <translation type="vanished">Filtro sencillo</translation>
+        <translation>Filtro sencillo</translation>
     </message>
     <message>
         <source>Minimum Distance Analysis</source>
-        <translation type="vanished">Análisis de distancia mínima</translation>
+        <translation>Análisis de distancia mínima</translation>
     </message>
     <message>
         <source>Shrink and Expand</source>
-        <translation type="vanished">Contraer y expandir</translation>
+        <translation>Contraer y expandir</translation>
     </message>
     <message>
         <source>Cut Shapes Layer</source>
-        <translation type="vanished">Cortar capa de formas</translation>
+        <translation>Cortar capa de formas</translation>
     </message>
     <message>
         <source>TPI Based Landform Classification</source>
-        <translation type="vanished">Clasificación de Landform basada en TPI</translation>
+        <translation>Clasificación de Landform basada en TPI</translation>
     </message>
     <message>
         <source>Intersect</source>
-        <translation type="vanished">Intersección</translation>
+        <translation>Intersección</translation>
     </message>
     <message>
         <source>Profile from points table|Profile from points</source>
-        <translation type="vanished">Perfil a partir de tabla de puntos|Perfil a partir de puntos</translation>
+        <translation>Perfil a partir de tabla de puntos|Perfil a partir de puntos</translation>
     </message>
     <message>
         <source>Downslope Distance Gradient</source>
-        <translation type="vanished">Gradiente de distancia pendiente abajo</translation>
+        <translation>Gradiente de distancia pendiente abajo</translation>
     </message>
     <message>
         <source>Channel Network</source>
-        <translation type="vanished">Red de canales</translation>
+        <translation>Red de canales</translation>
     </message>
     <message>
         <source>Pattern Analysis</source>
-        <translation type="vanished">Análisis de patrones</translation>
+        <translation>Análisis de patrones</translation>
     </message>
     <message>
         <source>Fit N Points to shape</source>
-        <translation type="vanished">Ajustar N puntos a forma</translation>
+        <translation>Ajustar N puntos a forma</translation>
     </message>
     <message>
         <source>Remove Duplicate Points</source>
-        <translation type="vanished">Eliminar puntos duplicados</translation>
+        <translation>Eliminar puntos duplicados</translation>
     </message>
     <message>
         <source>Reclassify Grid Values</source>
-        <translation type="vanished">Reclasificar valores de cuadrícula</translation>
+        <translation>Reclasificar valores de cuadrícula</translation>
     </message>
     <message>
         <source>Geographically Weighted Regression (Points/Grid)</source>
-        <translation type="vanished">Regresión ponderada geográficamente (puntos/cuadrícula)</translation>
+        <translation>Regresión ponderada geográficamente (puntos/cuadrícula)</translation>
     </message>
     <message>
         <source>Close One Cell Gaps</source>
-        <translation type="vanished">Cerrar saltos de una celda</translation>
+        <translation>Cerrar saltos de una celda</translation>
     </message>
     <message>
         <source>Slope, Aspect, Curvature</source>
-        <translation type="vanished">Pendiente, Orientación, Curvatura</translation>
+        <translation>Pendiente, Orientación, Curvatura</translation>
     </message>
     <message>
         <source>Function</source>
-        <translation type="vanished">Función</translation>
+        <translation>Función</translation>
     </message>
     <message>
         <source>GWR for Multiple Predictors</source>
-        <translation type="vanished">GWR para múltiples predictores</translation>
+        <translation>GWR para múltiples predictores</translation>
     </message>
     <message>
         <source>Wind effect|Wind Effect (Windward / Leeward Index)</source>
-        <translation type="vanished">Efecto del viento|Efecto del viento (índice de barlovento / sotavento)</translation>
+        <translation>Efecto del viento|Efecto del viento (índice de barlovento / sotavento)</translation>
     </message>
     <message>
         <source>Close Gaps with Spline</source>
-        <translation type="vanished">Cerrar saltos con Spline</translation>
+        <translation>Cerrar saltos con Spline</translation>
     </message>
     <message>
         <source>Fill Sinks (QM of ESP)</source>
-        <translation type="vanished">Rellenar sumideros (QM de ESP)</translation>
+        <translation>Rellenar sumideros (QM de ESP)</translation>
     </message>
     <message>
         <source>Diversity of Categories</source>
-        <translation type="vanished">Diversidad de categorías</translation>
+        <translation>Diversidad de categorías</translation>
     </message>
     <message>
         <source>Change Time Format</source>
-        <translation type="vanished">Cambiar formato de hora</translation>
+        <translation>Cambiar formato de hora</translation>
     </message>
     <message>
         <source>Confusion Matrix (Polygons / Grid)</source>
-        <translation type="vanished">Matriz de confusión (Polígonos / Cuadrícula)</translation>
+        <translation>Matriz de confusión (Polígonos / Cuadrícula)</translation>
     </message>
     <message>
         <source>Successive Flow Routing</source>
-        <translation type="vanished">Enrutado de flujo sucesivo</translation>
+        <translation>Enrutado de flujo sucesivo</translation>
     </message>
     <message>
         <source>Thin Plate Spline (Local)</source>
-        <translation type="vanished">Thin plate spline (local)</translation>
+        <translation>Thin plate spline (local)</translation>
     </message>
     <message>
         <source>Multilevel B-Spline Interpolation for Categories</source>
-        <translation type="vanished">Interpolación B-Spline multinivel para categorías</translation>
+        <translation>Interpolación B-Spline multinivel para categorías</translation>
     </message>
     <message>
         <source>Flow Accumulation (QM of ESP)</source>
-        <translation type="vanished">Acumulación de flujo (QM de ESP)</translation>
+        <translation>Acumulación de flujo (QM de ESP)</translation>
     </message>
     <message>
         <source>Grid Normalisation</source>
-        <translation type="vanished">Normalización de cuadrícula</translation>
+        <translation>Normalización de cuadrícula</translation>
     </message>
     <message>
         <source>Thin Plate Spline</source>
-        <translation type="vanished">Thin Plate Spline</translation>
+        <translation>Thin Plate Spline</translation>
     </message>
     <message>
         <source>Polygon-Line Intersection</source>
-        <translation type="vanished">Intersección polígono-línea</translation>
+        <translation>Intersección polígono-línea</translation>
     </message>
     <message>
         <source>Running Average</source>
-        <translation type="vanished">Ejecutando promedio</translation>
+        <translation>Ejecutando promedio</translation>
     </message>
     <message>
         <source>Cross-Classification and Tabulation</source>
-        <translation type="vanished">Clasificación cruzada y tabulación</translation>
+        <translation>Clasificación cruzada y tabulación</translation>
     </message>
     <message>
         <source>Gradient Vector from Polar to Cartesian Coordinates</source>
-        <translation type="vanished">Vectorial de gradiente a partir de coordendas cartersianas a polares</translation>
+        <translation>Vectorial de gradiente a partir de coordendas cartersianas a polares</translation>
     </message>
     <message>
         <source>Metric Conversions</source>
-        <translation type="vanished">Conversiones de medidas</translation>
+        <translation>Conversiones de medidas</translation>
     </message>
     <message>
         <source>RGB Composite</source>
-        <translation type="vanished">Composición RGB</translation>
+        <translation>Composición RGB</translation>
     </message>
     <message>
         <source>Edge Contamination</source>
-        <translation type="vanished">Contaminación de borde</translation>
+        <translation>Contaminación de borde</translation>
     </message>
     <message>
         <source>Curvature Classification</source>
-        <translation type="vanished">Clasificación de curvatura</translation>
+        <translation>Clasificación de curvatura</translation>
     </message>
     <message>
         <source>Filter Clumps</source>
-        <translation type="vanished">Filtrar grupos</translation>
+        <translation>Filtrar grupos</translation>
     </message>
     <message>
         <source>Overland Flow - Kinematic Wave D8</source>
-        <translation type="vanished">Escorrentía superficial - Onda cinemática D8</translation>
+        <translation>Escorrentía superficial - Onda cinemática D8</translation>
     </message>
     <message>
         <source>Profiles from Lines</source>
-        <translation type="vanished">Perfiles a partir de líneas</translation>
+        <translation>Perfiles a partir de líneas</translation>
     </message>
     <message>
         <source>Distance Matrix</source>
-        <translation type="vanished">Matriz de distancia</translation>
+        <translation>Matriz de distancia</translation>
     </message>
     <message>
         <source>Residual analysis|Residual Analysis (Grid)</source>
-        <translation type="vanished">Análisis residual|Análisis residual (cuadrícula)</translation>
+        <translation>Análisis residual|Análisis residual (cuadrícula)</translation>
     </message>
     <message>
         <source>Zonal Grid Statistics</source>
-        <translation type="vanished">Estadísticas de cuadrícula zonales</translation>
+        <translation>Estadísticas de cuadrícula zonales</translation>
     </message>
     <message>
         <source>Grid Division</source>
-        <translation type="vanished">División de cuadrícula</translation>
+        <translation>División de cuadrícula</translation>
     </message>
     <message>
         <source>Lake Flood</source>
-        <translation type="vanished">Inundación de lago</translation>
+        <translation>Inundación de lago</translation>
     </message>
     <message>
         <source>Add Polygon Attributes to Points</source>
-        <translation type="vanished">Añadir atributos de polígono a puntos</translation>
+        <translation>Añadir atributos de polígono a puntos</translation>
     </message>
     <message>
         <source>Multilevel B-Spline Interpolation</source>
-        <translation type="vanished">Interpolación B-Spline multinivel</translation>
+        <translation>Interpolación B-Spline multinivel</translation>
     </message>
     <message>
         <source>Cross Profiles</source>
-        <translation type="vanished">Perfiles cruzados</translation>
+        <translation>Perfiles cruzados</translation>
     </message>
     <message>
         <source>Polar to Cartesian Coordinates</source>
-        <translation type="vanished">Coordenadas polares a cartesianas</translation>
+        <translation>Coordenadas polares a cartesianas</translation>
     </message>
     <message>
         <source>Mosaick raster layers|Mosaicking</source>
-        <translation type="vanished">Capas ráster en mosaico|Creación de mosaicos</translation>
+        <translation>Capas ráster en mosaico|Creación de mosaicos</translation>
     </message>
     <message>
         <source>Fire Risk Analysis</source>
-        <translation type="vanished">Análisis de riesgo de incendio</translation>
+        <translation>Análisis de riesgo de incendio</translation>
     </message>
     <message>
         <source>Geographically Weighted Regression</source>
-        <translation type="vanished">Regresión ponderada geográficamente</translation>
+        <translation>Regresión ponderada geográficamente</translation>
     </message>
     <message>
         <source>Separate points by direction</source>
-        <translation type="vanished">Separar puntos por dirección</translation>
+        <translation>Separar puntos por dirección</translation>
     </message>
     <message>
         <source>Polygons to Edges and Nodes</source>
-        <translation type="vanished">Polígonos a bordes y nodos</translation>
+        <translation>Polígonos a bordes y nodos</translation>
     </message>
     <message>
         <source>Morphological Filter</source>
-        <translation type="vanished">Filtro morfológico</translation>
+        <translation>Filtro morfológico</translation>
     </message>
     <message>
         <source>Vector Ruggedness Measure (VRM)</source>
-        <translation type="vanished">Medida de irregularidad vectorial (VRM)</translation>
+        <translation>Medida de irregularidad vectorial (VRM)</translation>
     </message>
     <message>
         <source>Fast Representativeness</source>
-        <translation type="vanished">Representatividad rápida</translation>
+        <translation>Representatividad rápida</translation>
     </message>
 </context>
 <context>
@@ -121457,39 +121456,39 @@ SAGA no admite capas multibanda.</translation>
     <name>SagaAlgorithm212</name>
     <message>
         <source>Unsupported file format</source>
-        <translation type="vanished">Formato de archivo no admitido</translation>
+        <translation>Formato de archivo no admitido</translation>
     </message>
     <message>
         <source>SAGA execution commands</source>
-        <translation type="vanished">Órdenes de ejecución de SAGA</translation>
+        <translation>Órdenes de ejecución de SAGA</translation>
     </message>
     <message>
         <source>Input layer %s has more than one band.
 Multiband layers are not supported by SAGA</source>
-        <translation type="vanished">La capa de entrada %s tiene más de una banda.
+        <translation>La capa de entrada %s tiene más de una banda.
 SAGA no admite capas multibanda.</translation>
     </message>
     <message>
         <source>Input layers do not have the same grid extent.</source>
-        <translation type="vanished">Las capas de entrada no tiene la misma extensión de cuadrícula.</translation>
+        <translation>Las capas de entrada no tiene la misma extensión de cuadrícula.</translation>
     </message>
 </context>
 <context>
     <name>SagaAlgorithm213</name>
     <message>
         <source>Unsupported file format</source>
-        <translation type="vanished">Formato de archivo no admitido</translation>
+        <translation>Formato de archivo no admitido</translation>
     </message>
     <message>
         <source>SAGA execution commands</source>
-        <translation type="vanished">Órdenes de ejecución de SAGA</translation>
+        <translation>Órdenes de ejecución de SAGA</translation>
     </message>
 </context>
 <context>
     <name>SagaAlgorithmProvider</name>
     <message>
         <source>SAGA folder</source>
-        <translation type="vanished">Carpeta de SAGA</translation>
+        <translation>Carpeta de SAGA</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2253"/>
@@ -121540,16 +121539,16 @@ SAGA no admite capas multibanda.</translation>
     </message>
     <message>
         <source>Problem with SAGA installation: installed SAGA version (%s) is not supported</source>
-        <translation type="vanished">Problema con la instalación de SAGA: la versión instalada de SAGA (%s) no está soportada</translation>
+        <translation>Problema con la instalación de SAGA: la versión instalada de SAGA (%s) no está soportada</translation>
     </message>
     <message>
         <source>Could not open SAGA algorithm: %s</source>
-        <translation type="vanished">No se pudo abrir el algoritmo de SAGA: %s</translation>
+        <translation>No se pudo abrir el algoritmo de SAGA: %s</translation>
     </message>
     <message>
         <source>Could not open SAGA algorithm: %s
 %s</source>
-        <translation type="vanished">No se pudo abrir el algoritmo de SAGA: %s
+        <translation>No se pudo abrir el algoritmo de SAGA: %s
 %s</translation>
     </message>
 </context>
@@ -121565,96 +121564,96 @@ SAGA no admite capas multibanda.</translation>
     <name>SaveSelectedFeatures</name>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Selection</source>
-        <translation type="vanished">Selección</translation>
+        <translation>Selección</translation>
     </message>
     <message>
         <source>Save selected features</source>
-        <translation type="vanished">Guardar elementos seleccionados</translation>
+        <translation>Guardar elementos seleccionados</translation>
     </message>
 </context>
 <context>
     <name>ScriptAlgorithm</name>
     <message>
         <source>User scripts</source>
-        <translation type="vanished">Scripts de usuario</translation>
+        <translation>Scripts de usuario</translation>
     </message>
     <message>
         <source>This script has a syntax errors.
 Problem with line: %s</source>
-        <translation type="vanished">Este script tiene un error de sintaxis.
+        <translation>Este script tiene un error de sintaxis.
 Problema con la línea: %s</translation>
     </message>
     <message>
         <source>[Test scripts]</source>
-        <translation type="vanished">[Probar scripts]</translation>
+        <translation>[Probar scripts]</translation>
     </message>
     <message>
         <source>[Unnamed algorithm]</source>
-        <translation type="vanished">[Algoritmo sin nombre]</translation>
+        <translation>[Algoritmo sin nombre]</translation>
     </message>
     <message>
         <source>Could not load script: %s.
 Problem with line "%s"</source>
-        <translation type="vanished">No se pudo cargar el script: %s.
+        <translation>No se pudo cargar el script: %s.
 Problema con la línea "%s"</translation>
     </message>
     <message>
         <source>Could not load script: %s.
 Problem with line %d</source>
-        <translation type="vanished">No se pudo cargar el script: %s
+        <translation>No se pudo cargar el script: %s
 Problema con la línea %d</translation>
     </message>
     <message>
         <source>User scripts</source>
         <comment>ScriptAlgorithm</comment>
-        <translation type="vanished">Scripts de usuario</translation>
+        <translation>Scripts de usuario</translation>
     </message>
     <message>
         <source>This script has a syntax errors.
 Problem with line: {0}</source>
         <comment>ScriptAlgorithm</comment>
-        <translation type="vanished">Este script tiene un error de sintaxis.
+        <translation>Este script tiene un error de sintaxis.
 Problema con la línea: {0}</translation>
     </message>
     <message>
         <source>[Test scripts]</source>
         <comment>ScriptAlgorithm</comment>
-        <translation type="vanished">[Probar scripts]</translation>
+        <translation>[Probar scripts]</translation>
     </message>
     <message>
         <source>[Unnamed algorithm]</source>
         <comment>ScriptAlgorithm</comment>
-        <translation type="vanished">[Algoritmo sin nombre]</translation>
+        <translation>[Algoritmo sin nombre]</translation>
     </message>
     <message>
         <source>Could not load script: {0}.
 Problem with line "{1}"</source>
         <comment>ScriptAlgorithm</comment>
-        <translation type="vanished">No se pudo cargar el script: {0}
+        <translation>No se pudo cargar el script: {0}
 Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Cannot find variable: {0}</source>
-        <translation type="vanished">No se puede encontrar la variable: {0}</translation>
+        <translation>No se puede encontrar la variable: {0}</translation>
     </message>
     <message>
         <source>Processing</source>
-        <translation type="vanished">Procesado</translation>
+        <translation>Procesado</translation>
     </message>
 </context>
 <context>
     <name>ScriptAlgorithmProvider</name>
     <message>
         <source>Scripts folder</source>
-        <translation type="vanished">Carpeta de scripts</translation>
+        <translation>Carpeta de scripts</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2268"/>
@@ -121669,19 +121668,19 @@ Problema con la línea {1}</translation>
     <message>
         <source>Scripts folder</source>
         <comment>ScriptAlgorithmProvider</comment>
-        <translation type="vanished">Carpeta de scripts</translation>
+        <translation>Carpeta de scripts</translation>
     </message>
     <message>
         <source>Scripts</source>
         <comment>ScriptAlgorithmProvider</comment>
-        <translation type="vanished">Scripts</translation>
+        <translation>Scripts</translation>
     </message>
 </context>
 <context>
     <name>ScriptEditorDialog</name>
     <message>
         <source>Python scripts (*.py)</source>
-        <translation type="vanished">Scripts de Python (*.py)</translation>
+        <translation>Scripts de Python (*.py)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2274"/>
@@ -121732,7 +121731,7 @@ Problema con la línea {1}</translation>
     <message>
         <source>Unable to save edits. Reason:
 {}</source>
-        <translation type="vanished">No se pueden guardar los cambios. Motivo:
+        <translation>No se pueden guardar los cambios. Motivo:
 {}</translation>
     </message>
     <message>
@@ -121742,7 +121741,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>There are unsaved changes in script. Continue?</source>
-        <translation type="vanished">Hay cambios sin guardar en el script. ¿Continuar?</translation>
+        <translation>Hay cambios sin guardar en el script. ¿Continuar?</translation>
     </message>
 </context>
 <context>
@@ -121763,7 +121762,7 @@ Problema con la línea {1}</translation>
     <name>SearchBar</name>
     <message>
         <source>SearchBar</source>
-        <translation type="vanished">Barra de búsqueda</translation>
+        <translation>Barra de búsqueda</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qtermwidget/SearchBar.ui" line="14"/>
@@ -121797,7 +121796,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/qtermwidget/SearchBar.cpp" line="39"/>
@@ -121819,11 +121818,11 @@ Problema con la línea {1}</translation>
     <name>SelectByAttribute</name>
     <message>
         <source>Vector selection tools</source>
-        <translation type="vanished">Herramientas de selección vectorial</translation>
+        <translation>Herramientas de selección vectorial</translation>
     </message>
     <message>
         <source>begins with </source>
-        <translation type="vanished">comienza con </translation>
+        <translation>comienza con </translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2294"/>
@@ -121832,7 +121831,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Input Layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2291"/>
@@ -121896,11 +121895,11 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Operators %s can be used only with string fields.</source>
-        <translation type="vanished">Los operadores %s solo se pueden usar con campos de cadenas.</translation>
+        <translation>Los operadores %s solo se pueden usar con campos de cadenas.</translation>
     </message>
     <message>
         <source>Unsupported field type "%s"</source>
-        <translation type="vanished">Tipo de campo "%s" no admitido</translation>
+        <translation>Tipo de campo "%s" no admitido</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2303"/>
@@ -121912,42 +121911,42 @@ Problema con la línea {1}</translation>
     <name>SelectByAttributeSum</name>
     <message>
         <source>Vector selection tools</source>
-        <translation type="vanished">Herramientas de selección vectorial</translation>
+        <translation>Herramientas de selección vectorial</translation>
     </message>
     <message>
         <source>Input Layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Selection attribute</source>
-        <translation type="vanished">Atributo de selección</translation>
+        <translation>Atributo de selección</translation>
     </message>
     <message>
         <source>Value</source>
-        <translation type="vanished">Valor</translation>
+        <translation>Valor</translation>
     </message>
     <message>
         <source>Selected (attribute sum)</source>
-        <translation type="vanished">Seleccionado (suma de atributos)</translation>
+        <translation>Seleccionado (suma de atributos)</translation>
     </message>
     <message>
         <source>There is no selection in the input layer. Select one feature and try again.</source>
-        <translation type="vanished">No hay ninguna selección en la capa de entrada. Seleccione un objeto y pruebe de nuevo.</translation>
+        <translation>No hay ninguna selección en la capa de entrada. Seleccione un objeto y pruebe de nuevo.</translation>
     </message>
     <message>
         <source>No adjacent features found.</source>
-        <translation type="vanished">No se han encontrado ningún objeto adyacente.</translation>
+        <translation>No se han encontrado ningún objeto adyacente.</translation>
     </message>
     <message>
         <source>Select by attribute sum</source>
-        <translation type="vanished">Seleccionar por suma de atributos</translation>
+        <translation>Seleccionar por suma de atributos</translation>
     </message>
 </context>
 <context>
     <name>SelectByExpression</name>
     <message>
         <source>Vector selection tools</source>
-        <translation type="vanished">Herramientas de selección vectorial</translation>
+        <translation>Herramientas de selección vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2308"/>
@@ -121986,7 +121985,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Input Layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2314"/>
@@ -122000,7 +121999,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Selected (expression)</source>
-        <translation type="vanished">Seleccionado (expresión)</translation>
+        <translation>Seleccionado (expresión)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2317"/>
@@ -122012,90 +122011,90 @@ Problema con la línea {1}</translation>
     <name>SelectByLocation</name>
     <message>
         <source>Vector selection tools</source>
-        <translation type="vanished">Herramientas de selección vectorial</translation>
+        <translation>Herramientas de selección vectorial</translation>
     </message>
     <message>
         <source>creating new selection</source>
-        <translation type="vanished">creando una nueva selección</translation>
+        <translation>creando una nueva selección</translation>
     </message>
     <message>
         <source>adding to current selection</source>
-        <translation type="vanished">añadiendo a la selección actual</translation>
+        <translation>añadiendo a la selección actual</translation>
     </message>
     <message>
         <source>removing from current selection</source>
-        <translation type="vanished">eliminando de la selección actual</translation>
+        <translation>eliminando de la selección actual</translation>
     </message>
     <message>
         <source>Layer to select from</source>
-        <translation type="vanished">Capa de la que seleccionar</translation>
+        <translation>Capa de la que seleccionar</translation>
     </message>
     <message>
         <source>Additional layer (intersection layer)</source>
-        <translation type="vanished">Capa adicional (capa de intersección)</translation>
+        <translation>Capa adicional (capa de intersección)</translation>
     </message>
     <message>
         <source>Geometric predicate</source>
-        <translation type="vanished">Predicado geométrico</translation>
+        <translation>Predicado geométrico</translation>
     </message>
     <message>
         <source>Precision</source>
-        <translation type="vanished">Precisión</translation>
+        <translation>Precisión</translation>
     </message>
     <message>
         <source>Modify current selection by</source>
-        <translation type="vanished">Modificar la selección actual por</translation>
+        <translation>Modificar la selección actual por</translation>
     </message>
     <message>
         <source>Selected (location)</source>
-        <translation type="vanished">Seleccionado (localización)</translation>
+        <translation>Seleccionado (localización)</translation>
     </message>
     <message>
         <source>Select by location</source>
-        <translation type="vanished">Seleccionar por localización</translation>
+        <translation>Seleccionar por localización</translation>
     </message>
 </context>
 <context>
     <name>SelectGeoRasterBase</name>
     <message>
         <source>Select Oracle Spatial GeoRaster</source>
-        <translation type="vanished">Seleccionar Oracle Spatial GeoRaster</translation>
+        <translation>Seleccionar Oracle Spatial GeoRaster</translation>
     </message>
     <message>
         <source>Server Connections</source>
-        <translation type="vanished">Conexiones de servidor</translation>
+        <translation>Conexiones de servidor</translation>
     </message>
     <message>
         <source>Edit</source>
-        <translation type="vanished">Editar</translation>
+        <translation>Editar</translation>
     </message>
     <message>
         <source>Delete</source>
-        <translation type="vanished">Borrar</translation>
+        <translation>Borrar</translation>
     </message>
     <message>
         <source>&New</source>
-        <translation type="vanished">&Nuevo</translation>
+        <translation>&Nuevo</translation>
     </message>
     <message>
         <source>C&onnect</source>
-        <translation type="vanished">Co&nectar</translation>
+        <translation>Co&nectar</translation>
     </message>
     <message>
         <source>Subdatasets</source>
-        <translation type="vanished">Subconjuntos de datos</translation>
+        <translation>Subconjuntos de datos</translation>
     </message>
     <message>
         <source>Selection</source>
-        <translation type="vanished">Selección</translation>
+        <translation>Selección</translation>
     </message>
     <message>
         <source>Update</source>
-        <translation type="vanished">Actualizar</translation>
+        <translation>Actualizar</translation>
     </message>
     <message>
         <source>Ready</source>
-        <translation type="vanished">Preparado</translation>
+        <translation>Preparado</translation>
     </message>
 </context>
 <context>
@@ -122217,15 +122216,15 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Loading start points...</source>
-        <translation type="vanished">Cargando puntos de inicio...</translation>
+        <translation>Cargando puntos de inicio...</translation>
     </message>
     <message>
         <source>Building graph...</source>
-        <translation type="vanished">Construyendo grafo...</translation>
+        <translation>Construyendo grafo...</translation>
     </message>
     <message>
         <source>Calculating service areas...</source>
-        <translation type="vanished">Calculando áreas de servicio...</translation>
+        <translation>Calculando áreas de servicio...</translation>
     </message>
 </context>
 <context>
@@ -122347,15 +122346,15 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Building graph...</source>
-        <translation type="vanished">Construyendo grafo...</translation>
+        <translation>Construyendo grafo...</translation>
     </message>
     <message>
         <source>Calculating service area...</source>
-        <translation type="vanished">Calculando área de servicio...</translation>
+        <translation>Calculando área de servicio...</translation>
     </message>
     <message>
         <source>Writing results...</source>
-        <translation type="vanished">Escribiendo resultados...</translation>
+        <translation>Escribiendo resultados...</translation>
     </message>
 </context>
 <context>
@@ -122390,7 +122389,7 @@ Problema con la línea {1}</translation>
     <name>SetRasterStyle</name>
     <message>
         <source>Raster general tools</source>
-        <translation type="vanished">Herramientas generales ráster</translation>
+        <translation>Herramientas generales ráster</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2381"/>
@@ -122422,7 +122421,7 @@ Problema con la línea {1}</translation>
     <name>SetVectorStyle</name>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2389"/>
@@ -122483,13 +122482,13 @@ Problema con la línea {1}</translation>
     <message>
         <source>Wrong parameter value:
 %s</source>
-        <translation type="vanished">Valor de parámetro incorrecto:
+        <translation>Valor de parámetro incorrecto:
 %s</translation>
     </message>
     <message>
         <source>Specified path does not exist:
 %s</source>
-        <translation type="vanished">La ruta especificada no existe:
+        <translation>La ruta especificada no existe:
 %s</translation>
     </message>
     <message>
@@ -122530,7 +122529,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Caretline:</source>
-        <translation type="vanished">Línea de cursor:</translation>
+        <translation>Línea de cursor:</translation>
     </message>
     <message>
         <location filename="../python/console/console_settings.ui" line="462"/>
@@ -122805,7 +122804,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Settings Python Console</source>
-        <translation type="vanished">Configuraciones consola de Python</translation>
+        <translation>Configuraciones consola de Python</translation>
     </message>
     <message>
         <location filename="../python/python-i18n.cpp" line="241"/>
@@ -122932,15 +122931,15 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Loading start points...</source>
-        <translation type="vanished">Cargando puntos de inicio...</translation>
+        <translation>Cargando puntos de inicio...</translation>
     </message>
     <message>
         <source>Building graph...</source>
-        <translation type="vanished">Construyendo grafo...</translation>
+        <translation>Construyendo grafo...</translation>
     </message>
     <message>
         <source>Calculating shortest paths...</source>
-        <translation type="vanished">Calculando rutas más cortas...</translation>
+        <translation>Calculando rutas más cortas...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2433"/>
@@ -123067,15 +123066,15 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Loading end points...</source>
-        <translation type="vanished">Cargando puntos finales...</translation>
+        <translation>Cargando puntos finales...</translation>
     </message>
     <message>
         <source>Building graph...</source>
-        <translation type="vanished">Construyendo grafo...</translation>
+        <translation>Construyendo grafo...</translation>
     </message>
     <message>
         <source>Calculating shortest paths...</source>
-        <translation type="vanished">Calculando rutas más cortas...</translation>
+        <translation>Calculando rutas más cortas...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2460"/>
@@ -123207,11 +123206,11 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Building graph...</source>
-        <translation type="vanished">Construyendo grafo...</translation>
+        <translation>Construyendo grafo...</translation>
     </message>
     <message>
         <source>Calculating shortest path...</source>
-        <translation type="vanished">Calculando ruta más cortas...</translation>
+        <translation>Calculando ruta más cortas...</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2487"/>
@@ -123220,14 +123219,14 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Writing results...</source>
-        <translation type="vanished">Escribiendo resultados...</translation>
+        <translation>Escribiendo resultados...</translation>
     </message>
 </context>
 <context>
     <name>ShowTestDialog</name>
     <message>
         <source>Unit test</source>
-        <translation type="vanished">Test de unidad</translation>
+        <translation>Test de unidad</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2492"/>
@@ -123239,27 +123238,27 @@ Problema con la línea {1}</translation>
     <name>SimplifyGeometries</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Tolerance</source>
-        <translation type="vanished">Tolerancia</translation>
+        <translation>Tolerancia</translation>
     </message>
     <message>
         <source>Simplified</source>
-        <translation type="vanished">Simplificado</translation>
+        <translation>Simplificado</translation>
     </message>
     <message>
         <source>Simplify: Input geometries have been simplified from %s to %s points</source>
-        <translation type="vanished">Simplificar: las geometrías de entrada se han simplificado de %s a %s puntos</translation>
+        <translation>Simplificar: las geometrías de entrada se han simplificado de %s a %s puntos</translation>
     </message>
     <message>
         <source>Simplify geometries</source>
-        <translation type="vanished">Simplificar geometrías</translation>
+        <translation>Simplificar geometrías</translation>
     </message>
 </context>
 <context>
@@ -123299,27 +123298,27 @@ Problema con la línea {1}</translation>
     <name>SinglePartsToMultiparts</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Unique ID field</source>
-        <translation type="vanished">Campo ID único</translation>
+        <translation>Campo ID único</translation>
     </message>
     <message>
         <source>Multipart</source>
-        <translation type="vanished">Multiparte</translation>
+        <translation>Multiparte</translation>
     </message>
     <message>
         <source>Invalid unique ID field</source>
-        <translation type="vanished">Campo ID único no válido</translation>
+        <translation>Campo ID único no válido</translation>
     </message>
     <message>
         <source>Singleparts to multipart</source>
-        <translation type="vanished">Partes sencillas a multiparte</translation>
+        <translation>Partes sencillas a multiparte</translation>
     </message>
 </context>
 <context>
@@ -123384,31 +123383,31 @@ Problema con la línea {1}</translation>
     <name>SizeScaleBase</name>
     <message>
         <source>Dialog</source>
-        <translation type="vanished">Diálogo</translation>
+        <translation>Diálogo</translation>
     </message>
     <message>
         <source>Field</source>
-        <translation type="vanished">Campo</translation>
+        <translation>Campo</translation>
     </message>
     <message>
         <source>Scale method</source>
-        <translation type="vanished">Método de escala </translation>
+        <translation>Método de escala </translation>
     </message>
     <message>
         <source>Size from</source>
-        <translation type="vanished">Tamaño desde</translation>
+        <translation>Tamaño desde</translation>
     </message>
     <message>
         <source>to</source>
-        <translation type="vanished">hasta</translation>
+        <translation>hasta</translation>
     </message>
     <message>
         <source>Values from</source>
-        <translation type="vanished">Valores desde</translation>
+        <translation>Valores desde</translation>
     </message>
     <message>
         <source>Size when field is NULL</source>
-        <translation type="vanished">Tamaño cuando el campo es NULO</translation>
+        <translation>Tamaño cuando el campo es NULO</translation>
     </message>
 </context>
 <context>
@@ -123438,101 +123437,101 @@ Problema con la línea {1}</translation>
     <name>SlopeArea</name>
     <message>
         <source>Slope Area Combination</source>
-        <translation type="vanished">Combinación área pendiente</translation>
+        <translation>Combinación área pendiente</translation>
     </message>
     <message>
         <source>Stream Network Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de red de corriente</translation>
+        <translation>Herramientas de análisis de red de corriente</translation>
     </message>
     <message>
         <source>Slope Grid</source>
-        <translation type="vanished">Cuadrícula de pendiente</translation>
+        <translation>Cuadrícula de pendiente</translation>
     </message>
     <message>
         <source>Contributing Area Grid</source>
-        <translation type="vanished">Cuadrícula de área de contribución</translation>
+        <translation>Cuadrícula de área de contribución</translation>
     </message>
     <message>
         <source>Slope Exponent</source>
-        <translation type="vanished">Exponente de pendiente</translation>
+        <translation>Exponente de pendiente</translation>
     </message>
     <message>
         <source>Area Exponent</source>
-        <translation type="vanished">Exponente de área</translation>
+        <translation>Exponente de área</translation>
     </message>
     <message>
         <source>Slope Area Grid</source>
-        <translation type="vanished">Cuadrícula de área de pendiente</translation>
+        <translation>Cuadrícula de área de pendiente</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>SlopeAreaMulti</name>
     <message>
         <source>Slope Area Combination (multifile)</source>
-        <translation type="vanished">Combinación área pendiente (multiarchivo)</translation>
+        <translation>Combinación área pendiente (multiarchivo)</translation>
     </message>
     <message>
         <source>Stream Network Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de red de corriente</translation>
+        <translation>Herramientas de análisis de red de corriente</translation>
     </message>
     <message>
         <source>Slope Grid</source>
-        <translation type="vanished">Cuadrícula de pendiente</translation>
+        <translation>Cuadrícula de pendiente</translation>
     </message>
     <message>
         <source>Contributing Area Grid</source>
-        <translation type="vanished">Cuadrícula de área de contribución</translation>
+        <translation>Cuadrícula de área de contribución</translation>
     </message>
     <message>
         <source>Slope Exponent</source>
-        <translation type="vanished">Exponente de pendiente</translation>
+        <translation>Exponente de pendiente</translation>
     </message>
     <message>
         <source>Area Exponent</source>
-        <translation type="vanished">Exponente de área</translation>
+        <translation>Exponente de área</translation>
     </message>
     <message>
         <source>Slope Area Grid</source>
-        <translation type="vanished">Cuadrícula de área de pendiente</translation>
+        <translation>Cuadrícula de área de pendiente</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>Smooth</name>
     <message>
         <source>Smooth geometry</source>
-        <translation type="vanished">Suavizar geometría</translation>
+        <translation>Suavizar geometría</translation>
     </message>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Iterations</source>
-        <translation type="vanished">Iteraciones</translation>
+        <translation>Iteraciones</translation>
     </message>
     <message>
         <source>Offset</source>
-        <translation type="vanished">Desplazamiento</translation>
+        <translation>Desplazamiento</translation>
     </message>
     <message>
         <source>Smoothed</source>
-        <translation type="vanished">Suavizado</translation>
+        <translation>Suavizado</translation>
     </message>
     <message>
         <source>Error smoothing geometry</source>
-        <translation type="vanished">Error al suavizar geometría</translation>
+        <translation>Error al suavizar geometría</translation>
     </message>
 </context>
 <context>
@@ -123625,7 +123624,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2534"/>
@@ -123649,7 +123648,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Can not create spatial index</source>
-        <translation type="vanished">No se puede crear el índice espacial</translation>
+        <translation>No se puede crear el índice espacial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2539"/>
@@ -123661,31 +123660,31 @@ Problema con la línea {1}</translation>
     <name>SpatialJoin</name>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <source>Take attributes of the first located feature</source>
-        <translation type="vanished">Tomar atributos del primer objeto espacial localizado</translation>
+        <translation>Tomar atributos del primer objeto espacial localizado</translation>
     </message>
     <message>
         <source>Take summary of intersecting features</source>
-        <translation type="vanished">Tomar resumen de objetos espaciales que se intersequen</translation>
+        <translation>Tomar resumen de objetos espaciales que se intersequen</translation>
     </message>
     <message>
         <source>Only keep matching records</source>
-        <translation type="vanished">Mantener sólo los registros coincidentes</translation>
+        <translation>Mantener sólo los registros coincidentes</translation>
     </message>
     <message>
         <source>Keep all records (including non-matching target records)</source>
-        <translation type="vanished">Mantener todos los registros (incluidos los que no coinciden con el destino)</translation>
+        <translation>Mantener todos los registros (incluidos los que no coinciden con el destino)</translation>
     </message>
     <message>
         <source>Target vector layer</source>
-        <translation type="vanished">Capa vectorial objetivo</translation>
+        <translation>Capa vectorial objetivo</translation>
     </message>
     <message>
         <source>Join vector layer</source>
-        <translation type="vanished">Unir capa vectorial</translation>
+        <translation>Unir capa vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2555"/>
@@ -123694,19 +123693,19 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Precision</source>
-        <translation type="vanished">Precisión</translation>
+        <translation>Precisión</translation>
     </message>
     <message>
         <source>Attribute summary</source>
-        <translation type="vanished">Resumen de atributos</translation>
+        <translation>Resumen de atributos</translation>
     </message>
     <message>
         <source>Statistics for summary (comma separated)</source>
-        <translation type="vanished">Estadísticas para resumen (separado por comas)</translation>
+        <translation>Estadísticas para resumen (separado por comas)</translation>
     </message>
     <message>
         <source>Joined table</source>
-        <translation type="vanished">Tabla unida</translation>
+        <translation>Tabla unida</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2543"/>
@@ -124016,27 +124015,27 @@ Problema con la línea {1}</translation>
     <name>SplitLinesWithLines</name>
     <message>
         <source>Vector overlay tools</source>
-        <translation type="vanished">Herramientas de superposición vectorial</translation>
+        <translation>Herramientas de superposición vectorial</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Split layer</source>
-        <translation type="vanished">Dividir capa</translation>
+        <translation>Dividir capa</translation>
     </message>
     <message>
         <source>Splitted</source>
-        <translation type="vanished">Dividido</translation>
+        <translation>Dividido</translation>
     </message>
     <message>
         <source>Geometry exception while splitting</source>
-        <translation type="vanished">Excepción de geometría al dividir</translation>
+        <translation>Excepción de geometría al dividir</translation>
     </message>
     <message>
         <source>Split lines with lines</source>
-        <translation type="vanished">Dividir líneas con líneas</translation>
+        <translation>Dividir líneas con líneas</translation>
     </message>
 </context>
 <context>
@@ -124076,11 +124075,11 @@ Problema con la línea {1}</translation>
     <name>SslErrors</name>
     <message>
         <source>Unable To Validate The Connection</source>
-        <translation type="vanished">No se puede validar la conexión</translation>
+        <translation>No se puede validar la conexión</translation>
     </message>
     <message>
         <source><html><head/><body><p><span style=" font-family:'Sans Serif'; font-size:11pt; font-weight:600; color:#ff0000;">Warning</span><span style=" font-family:'Sans Serif'; font-size:11pt; color:#ff0000;">:</span><span style=" font-family:'Sans Serif'; font-size:11pt; color:#000000;"> One or more SSL errors have occurred validating the host you are connecting to. Revi [...]
-        <translation type="vanished"><html><head/><body><p><span style=" font-family:'Sans Serif'; font-size:11pt; font-weight:600; color:#ff0000;">Advertencia</span><span style=" font-family:'Sans Serif'; font-size:11pt; color:#ff0000;">:</span><span style=" font-family:'Sans Serif'; font-size:11pt; color:#000000;"> Han ocurrido uno o más errores al validar el servidor al qu [...]
+        <translation><html><head/><body><p><span style=" font-family:'Sans Serif'; font-size:11pt; font-weight:600; color:#ff0000;">Advertencia</span><span style=" font-family:'Sans Serif'; font-size:11pt; color:#ff0000;">:</span><span style=" font-family:'Sans Serif'; font-size:11pt; color:#000000;"> Han ocurrido uno o más errores al validar el servidor al que se está conect [...]
     </message>
     <message>
         <location filename="../src/ui/auth/qgsauthsslimporterrors.ui" line="14"/>
@@ -124112,7 +124111,7 @@ Problema con la línea {1}</translation>
     <name>StatisticsByCategories</name>
     <message>
         <source>Vector table tools</source>
-        <translation type="vanished">Herramientas de tabla de vectorial</translation>
+        <translation>Herramientas de tabla de vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2622"/>
@@ -124121,11 +124120,11 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Field to calculate statistics on</source>
-        <translation type="vanished">Campo en el que calcular estadísticas</translation>
+        <translation>Campo en el que calcular estadísticas</translation>
     </message>
     <message>
         <source>Field with categories</source>
-        <translation type="vanished">Campo con categorías</translation>
+        <translation>Campo con categorías</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2621"/>
@@ -124165,7 +124164,7 @@ Problema con la línea {1}</translation>
     <name>SumLines</name>
     <message>
         <source>Vector analysis tools</source>
-        <translation type="vanished">Herramientas de análisis vectorial</translation>
+        <translation>Herramientas de análisis vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2634"/>
@@ -124273,7 +124272,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_symbolslist.ui" line="315"/>
@@ -124287,7 +124286,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Symbols in group</source>
-        <translation type="vanished">Símbolos en grupo</translation>
+        <translation>Símbolos en grupo</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_symbolslist.ui" line="127"/>
@@ -124302,7 +124301,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Save</source>
-        <translation type="vanished">Guardar</translation>
+        <translation>Guardar</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_symbolslist.ui" line="157"/>
@@ -124326,18 +124325,18 @@ Problema con la línea {1}</translation>
     <name>SymbolsV2GroupSelectionDialogBase</name>
     <message>
         <source>Group Selection Dialog</source>
-        <translation type="vanished">Diálogo de selección de grupo</translation>
+        <translation>Diálogo de selección de grupo</translation>
     </message>
     <message>
         <source>Close</source>
-        <translation type="vanished">Cerrar</translation>
+        <translation>Cerrar</translation>
     </message>
 </context>
 <context>
     <name>SymmetricalDifference</name>
     <message>
         <source>Vector overlay tools</source>
-        <translation type="vanished">Herramientas de superposición vectorial</translation>
+        <translation>Herramientas de superposición vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2644"/>
@@ -124361,7 +124360,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>GEOS geoprocessing error: One or more input features have invalid geometry.</source>
-        <translation type="vanished">Error de geoprocesamiento de GEOS: uno o más objetos de entrada tienen geometrías no válidas.</translation>
+        <translation>Error de geoprocesamiento de GEOS: uno o más objetos de entrada tienen geometrías no válidas.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2648"/>
@@ -124378,179 +124377,179 @@ Problema con la línea {1}</translation>
     <name>TAUDEMAlgorithm</name>
     <message>
         <source>Basic Grid Analysis tools</source>
-        <translation type="vanished">Herramientas básicas de análisis de cuadrícula</translation>
+        <translation>Herramientas básicas de análisis de cuadrícula</translation>
     </message>
     <message>
         <source>D-Infinity Avalanche Runout (multifile)</source>
-        <translation type="vanished">Alcance de avalanchas D-Infinity (multiarchivo)</translation>
+        <translation>Alcance de avalanchas D-Infinity (multiarchivo)</translation>
     </message>
     <message>
         <source>Move Outlets To Streams</source>
-        <translation type="vanished">Mover desagües a corrientes</translation>
+        <translation>Mover desagües a corrientes</translation>
     </message>
     <message>
         <source>D8 Flow Directions (multifile)</source>
-        <translation type="vanished">Direcciones de flujo D8 (multiarchivo)</translation>
+        <translation>Direcciones de flujo D8 (multiarchivo)</translation>
     </message>
     <message>
         <source>Topographic Wetness Index</source>
-        <translation type="vanished">Índice de humedad topográfica</translation>
+        <translation>Índice de humedad topográfica</translation>
     </message>
     <message>
         <source>Stream Network Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de red de corriente</translation>
+        <translation>Herramientas de análisis de red de corriente</translation>
     </message>
     <message>
         <source>Move Outlets To Streams (multifile)</source>
-        <translation type="vanished">Mover desagües a corrientes (multiarchivo)</translation>
+        <translation>Mover desagües a corrientes (multiarchivo)</translation>
     </message>
     <message>
         <source>Stream Reach and Watershed</source>
-        <translation type="vanished">Cuenca y alcance de corriente</translation>
+        <translation>Cuenca y alcance de corriente</translation>
     </message>
     <message>
         <source>D-Infinity Reverse Accumulation</source>
-        <translation type="vanished">Acumulación inversa D-Infinity</translation>
+        <translation>Acumulación inversa D-Infinity</translation>
     </message>
     <message>
         <source>Slope Over Area Ratio</source>
-        <translation type="vanished">Relación pendiente sobre área</translation>
+        <translation>Relación pendiente sobre área</translation>
     </message>
     <message>
         <source>Select GT Threshold (multifile)</source>
-        <translation type="vanished">Seleccionar umbral GT (multiarchivo)</translation>
+        <translation>Seleccionar umbral GT (multiarchivo)</translation>
     </message>
     <message>
         <source>D-Infinity Contributing Area (multifile)</source>
-        <translation type="vanished">Área tributaria D-Infinity (multiarchivo)</translation>
+        <translation>Área tributaria D-Infinity (multiarchivo)</translation>
     </message>
     <message>
         <source>D-Infinity Concentration Limited Accumulation (multifile)</source>
-        <translation type="vanished">Acumulación limitada de concentración D-Infinity (multiarchivo)</translation>
+        <translation>Acumulación limitada de concentración D-Infinity (multiarchivo)</translation>
     </message>
     <message>
         <source>D8 Distance To Streams</source>
-        <translation type="vanished">Distancia D8 a corrientes</translation>
+        <translation>Distancia D8 a corrientes</translation>
     </message>
     <message>
         <source>D-Infinity Decaying Accumulation</source>
-        <translation type="vanished">Acumulación decadente D-Infinity</translation>
+        <translation>Acumulación decadente D-Infinity</translation>
     </message>
     <message>
         <source>D-Infinity Flow Directions (multifile)</source>
-        <translation type="vanished">Direcciones de flujo D-Infinity (multiarchivo)</translation>
+        <translation>Direcciones de flujo D-Infinity (multiarchivo)</translation>
     </message>
     <message>
         <source>Select GT Threshold</source>
-        <translation type="vanished">Seleccionar Umbral GT</translation>
+        <translation>Seleccionar Umbral GT</translation>
     </message>
     <message>
         <source>D8 Contributing Area</source>
-        <translation type="vanished">Área tributaria D8</translation>
+        <translation>Área tributaria D8</translation>
     </message>
     <message>
         <source>Stream Reach and Watershed (multifile)</source>
-        <translation type="vanished">Cuenca y alcance de corriente (multiarchivo)</translation>
+        <translation>Cuenca y alcance de corriente (multiarchivo)</translation>
     </message>
     <message>
         <source>Gage Watershed - 2 (multifile)</source>
-        <translation type="vanished">Estimar cuenca hidrográfica - 2 (multiarchivo)</translation>
+        <translation>Estimar cuenca hidrográfica - 2 (multiarchivo)</translation>
     </message>
     <message>
         <source>Specialized Grid Analysis tools</source>
-        <translation type="vanished">Herramientas de análisis de cuadrícula especializadas</translation>
+        <translation>Herramientas de análisis de cuadrícula especializadas</translation>
     </message>
     <message>
         <source>D-Infinity Concentration Limited Accumulation</source>
-        <translation type="vanished">Acumulación limitada de concentración D-Infinity</translation>
+        <translation>Acumulación limitada de concentración D-Infinity</translation>
     </message>
     <message>
         <source>D-Infinity Flow Directions</source>
-        <translation type="vanished">Direcciones de flujo D-Infinity</translation>
+        <translation>Direcciones de flujo D-Infinity</translation>
     </message>
     <message>
         <source>Gage Watershed - 2</source>
-        <translation type="vanished">Estimar cuenca hidrográfica - 2</translation>
+        <translation>Estimar cuenca hidrográfica - 2</translation>
     </message>
     <message>
         <source>D-Infinity Contributing Area</source>
-        <translation type="vanished">Área tributaria D-Infinity</translation>
+        <translation>Área tributaria D-Infinity</translation>
     </message>
     <message>
         <source>Slope Over Area Ratio (multifile)</source>
-        <translation type="vanished">Relación pendiente sobre área (multiarchivo)</translation>
+        <translation>Relación pendiente sobre área (multiarchivo)</translation>
     </message>
     <message>
         <source>D8 Extreme Upslope Value (multifile)</source>
-        <translation type="vanished">Valor pendiente arriba extremo D8 (multiarchivo)</translation>
+        <translation>Valor pendiente arriba extremo D8 (multiarchivo)</translation>
     </message>
     <message>
         <source>D-Infinity Reverse Accumulation (multifile)</source>
-        <translation type="vanished">Acumulación inversa D-Infinity (multiarchivo)</translation>
+        <translation>Acumulación inversa D-Infinity (multiarchivo)</translation>
     </message>
     <message>
         <source>Pit Remove</source>
-        <translation type="vanished">Eliminación de pozos</translation>
+        <translation>Eliminación de pozos</translation>
     </message>
     <message>
         <source>Gage Watershed</source>
-        <translation type="vanished">Estimar cuenca hidrográfica</translation>
+        <translation>Estimar cuenca hidrográfica</translation>
     </message>
     <message>
         <source>Stream Definition By Threshold</source>
-        <translation type="vanished">Definición de corriente por umbral</translation>
+        <translation>Definición de corriente por umbral</translation>
     </message>
     <message>
         <source>D8 Extreme Upslope Value</source>
-        <translation type="vanished">Valor pendiente arriba extremo D8</translation>
+        <translation>Valor pendiente arriba extremo D8</translation>
     </message>
     <message>
         <source>Slope Average Down</source>
-        <translation type="vanished">Pendiente media hacia abajo</translation>
+        <translation>Pendiente media hacia abajo</translation>
     </message>
     <message>
         <source>D8 Contributing Area (multifile)</source>
-        <translation type="vanished">Área tributaria D8 (multiarchivo)</translation>
+        <translation>Área tributaria D8 (multiarchivo)</translation>
     </message>
     <message>
         <source>D8 Distance To Streams (multifile)</source>
-        <translation type="vanished">Distancia D8 a corrientes (multiarchivo)</translation>
+        <translation>Distancia D8 a corrientes (multiarchivo)</translation>
     </message>
     <message>
         <source>Gage Watershed (multifile)</source>
-        <translation type="vanished">Estimar cuenca hidrográfica (multiarchivo)</translation>
+        <translation>Estimar cuenca hidrográfica (multiarchivo)</translation>
     </message>
     <message>
         <source>D-Infinity Avalanche Runout</source>
-        <translation type="vanished">Alcance de avalanchas D-Infinity</translation>
+        <translation>Alcance de avalanchas D-Infinity</translation>
     </message>
     <message>
         <source>Slope Average Down (multifile)</source>
-        <translation type="vanished">Pendiente media hacia abajo (multiarchivo)</translation>
+        <translation>Pendiente media hacia abajo (multiarchivo)</translation>
     </message>
     <message>
         <source>Pit Remove (multifile)</source>
-        <translation type="vanished">Eliminación de pozas (multiarchivo)</translation>
+        <translation>Eliminación de pozas (multiarchivo)</translation>
     </message>
     <message>
         <source>D-Infinity Upslope Dependence (multifile)</source>
-        <translation type="vanished">Dependencia pendiente arriba D-Infinity (multiarchivo)</translation>
+        <translation>Dependencia pendiente arriba D-Infinity (multiarchivo)</translation>
     </message>
     <message>
         <source>D-Infinity Upslope Dependence</source>
-        <translation type="vanished">Dependencia pendiente arriba D-Infinity</translation>
+        <translation>Dependencia pendiente arriba D-Infinity</translation>
     </message>
     <message>
         <source>Topographic Wetness Index (multifile)</source>
-        <translation type="vanished">Índice de humedad topográfica (multiarchivo)</translation>
+        <translation>Índice de humedad topográfica (multiarchivo)</translation>
     </message>
     <message>
         <source>Stream Definition By Threshold (multifile)</source>
-        <translation type="vanished">Definición de corriente por umbral (multiarchivo)</translation>
+        <translation>Definición de corriente por umbral (multiarchivo)</translation>
     </message>
     <message>
         <source>D8 Flow Directions</source>
-        <translation type="vanished">Direcciones de flujo D8</translation>
+        <translation>Direcciones de flujo D8</translation>
     </message>
 </context>
 <context>
@@ -124566,52 +124565,52 @@ Problema con la línea {1}</translation>
     <message>
         <source>Could not load TauDEM algorithm: %s
 %s</source>
-        <translation type="vanished">No se pudo cargar el algoritmo de TauDEM: %s
+        <translation>No se pudo cargar el algoritmo de TauDEM: %s
 %s</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>TauDEMAlgorithmProvider</name>
     <message>
         <source>TauDEM command line tools folder</source>
-        <translation type="vanished">Carpeta de herramientas de línea de órdenes de TauDEM</translation>
+        <translation>Carpeta de herramientas de línea de órdenes de TauDEM</translation>
     </message>
     <message>
         <source>MPICH2/OpenMPI bin directory</source>
-        <translation type="vanished">Directorio de compartimentos de MPICH2/OpenMPI</translation>
+        <translation>Directorio de compartimentos de MPICH2/OpenMPI</translation>
     </message>
     <message>
         <source>Number of MPI parallel processes to use</source>
-        <translation type="vanished">Número de procesos paralelos de MPI a usar</translation>
+        <translation>Número de procesos paralelos de MPI a usar</translation>
     </message>
     <message>
         <source>Could not open TauDEM algorithm: %s</source>
-        <translation type="vanished">No se pudo abrir el algoritmo de TauDEM: %s</translation>
+        <translation>No se pudo abrir el algoritmo de TauDEM: %s</translation>
     </message>
     <message>
         <source>TauDEM (hydrologic analysis)</source>
-        <translation type="vanished">TauDEM (análisis hidrológico)</translation>
+        <translation>TauDEM (análisis hidrológico)</translation>
     </message>
     <message>
         <source>TauDEM multifile command line tools folder</source>
-        <translation type="vanished">Carpeta de herramientas de línea de órdenes de TauDEM multiarchivo</translation>
+        <translation>Carpeta de herramientas de línea de órdenes de TauDEM multiarchivo</translation>
     </message>
     <message>
         <source>Enable singlefile TauDEM tools</source>
-        <translation type="vanished">Habilitar herramientas TauDEM monoarchivo</translation>
+        <translation>Habilitar herramientas TauDEM monoarchivo</translation>
     </message>
     <message>
         <source>Enable multifile TauDEM tools</source>
-        <translation type="vanished">Habilitar herramientas TauDEM  multiarchivo</translation>
+        <translation>Habilitar herramientas TauDEM  multiarchivo</translation>
     </message>
     <message>
         <source>Could not open TauDEM algorithm %s:
 %s</source>
-        <translation type="vanished">No se pudo abrir el algoritmo de TauDEM %s:
+        <translation>No se pudo abrir el algoritmo de TauDEM %s:
 %s</translation>
     </message>
 </context>
@@ -124620,34 +124619,34 @@ Problema con la línea {1}</translation>
     <message>
         <source>Could not load TauDEM algorithm: %s
 %s</source>
-        <translation type="vanished">No se pudo cargar el algoritmo de TauDEM: %s
+        <translation>No se pudo cargar el algoritmo de TauDEM: %s
 %s</translation>
     </message>
     <message>
         <source>Wrong number of MPI processes used. Please set correct number before running TauDEM algorithms.</source>
-        <translation type="vanished">Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
+        <translation>Número usado de procesos MPI incorrecto. Por favor, establezca un número correcto antes de ejecutar algoritmos TauDEM.</translation>
     </message>
 </context>
 <context>
     <name>TauDEMUtils</name>
     <message>
         <source>TauDEM execution console output</source>
-        <translation type="vanished">Salida de la consola de ejecución de TauDEM</translation>
+        <translation>Salida de la consola de ejecución de TauDEM</translation>
     </message>
     <message>
         <source>TauDEM command:</source>
-        <translation type="vanished">Orden de TauDEM:</translation>
+        <translation>Orden de TauDEM:</translation>
     </message>
 </context>
 <context>
     <name>TextToFloat</name>
     <message>
         <source>Vector table tools</source>
-        <translation type="vanished">Herramientas de tabla de vectorial</translation>
+        <translation>Herramientas de tabla de vectorial</translation>
     </message>
     <message>
         <source>Input Layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2657"/>
@@ -124737,39 +124736,39 @@ Problema con la línea {1}</translation>
     <name>TinSurfaceCreate</name>
     <message>
         <source>Tin Surface Create</source>
-        <translation type="vanished">Crear una superficie TIN</translation>
+        <translation>Crear una superficie TIN</translation>
     </message>
     <message>
         <source>Surface</source>
-        <translation type="vanished">Superficie</translation>
+        <translation>Superficie</translation>
     </message>
     <message>
         <source>Input LAS layer</source>
-        <translation type="vanished">Capa LAS de entrada</translation>
+        <translation>Capa LAS de entrada</translation>
     </message>
     <message>
         <source>Cellsize</source>
-        <translation type="vanished">Tamaño de celda</translation>
+        <translation>Tamaño de celda</translation>
     </message>
     <message>
         <source>XY Units</source>
-        <translation type="vanished">Unidades XY</translation>
+        <translation>Unidades XY</translation>
     </message>
     <message>
         <source>Z Units</source>
-        <translation type="vanished">Unidades Z</translation>
+        <translation>Unidades Z</translation>
     </message>
     <message>
         <source>.dtm output surface</source>
-        <translation type="vanished">superficie .dtm de salida</translation>
+        <translation>superficie .dtm de salida</translation>
     </message>
     <message>
         <source>Select specific return</source>
-        <translation type="vanished">Seleccionar retorno específico</translation>
+        <translation>Seleccionar retorno específico</translation>
     </message>
     <message>
         <source>Class</source>
-        <translation type="vanished">Clase</translation>
+        <translation>Clase</translation>
     </message>
 </context>
 <context>
@@ -124869,7 +124868,7 @@ Problema con la línea {1}</translation>
     <name>TreeProviderItem</name>
     <message>
         <source> [{0} geoalgorithms]</source>
-        <translation type="vanished"> [{0} geoalgoritmos]</translation>
+        <translation> [{0} geoalgoritmos]</translation>
     </message>
 </context>
 <context>
@@ -124909,7 +124908,7 @@ Problema con la línea {1}</translation>
     <name>UndoWidget</name>
     <message>
         <source>Undo/Redo Panel</source>
-        <translation type="vanished">Panel deshacer/rehacer</translation>
+        <translation>Panel deshacer/rehacer</translation>
     </message>
     <message>
         <location filename="../src/app/qgsundowidget.cpp" line="193"/>
@@ -124931,7 +124930,7 @@ Problema con la línea {1}</translation>
     <name>Union</name>
     <message>
         <source>Vector overlay tools</source>
-        <translation type="vanished">Herramientas de superposición vectorial</translation>
+        <translation>Herramientas de superposición vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2711"/>
@@ -124950,7 +124949,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Input layer 2</source>
-        <translation type="vanished">Capa de entrada 2</translation>
+        <translation>Capa de entrada 2</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2715"/>
@@ -124959,7 +124958,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>GEOS geoprocessing error: One or more input features have invalid geometry.</source>
-        <translation type="vanished">Error de geoprocesamiento de GEOS: uno o más objetos de entrada tienen geometrías no válidas.</translation>
+        <translation>Error de geoprocesamiento de GEOS: uno o más objetos de entrada tienen geometrías no válidas.</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2714"/>
@@ -124971,7 +124970,7 @@ Problema con la línea {1}</translation>
     <name>UniqueValues</name>
     <message>
         <source>Vector table tools</source>
-        <translation type="vanished">Herramientas de tabla de vectorial</translation>
+        <translation>Herramientas de tabla de vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2720"/>
@@ -124980,7 +124979,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Target field</source>
-        <translation type="vanished">Campo objetivo</translation>
+        <translation>Campo objetivo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2719"/>
@@ -125050,7 +125049,7 @@ Problema con la línea {1}</translation>
     <name>VariableDistanceBuffer</name>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2733"/>
@@ -125112,7 +125111,7 @@ Problema con la línea {1}</translation>
     <name>VariableEditorDelegate</name>
     <message>
         <source>Rename variable</source>
-        <translation type="vanished">Cambiar nombre de variable</translation>
+        <translation>Cambiar nombre de variable</translation>
     </message>
     <message>
         <location filename="../src/gui/qgsvariableeditorwidget.cpp" line="731"/>
@@ -125129,74 +125128,74 @@ Problema con la línea {1}</translation>
     <name>VectorGrid</name>
     <message>
         <source>Vector creation tools</source>
-        <translation type="vanished">Herramientas de creación de vectoriales</translation>
+        <translation>Herramientas de creación de vectoriales</translation>
     </message>
     <message>
         <source>Output grid as polygons</source>
-        <translation type="vanished">Producir cuadrícula como polígonos</translation>
+        <translation>Producir cuadrícula como polígonos</translation>
     </message>
     <message>
         <source>Output grid as lines</source>
-        <translation type="vanished">Producir cuadrícula como líneas</translation>
+        <translation>Producir cuadrícula como líneas</translation>
     </message>
     <message>
         <source>Grid extent</source>
-        <translation type="vanished">Extensión de la cuadrícula</translation>
+        <translation>Extensión de la cuadrícula</translation>
     </message>
     <message>
         <source>X spacing</source>
-        <translation type="vanished">Espaciado X</translation>
+        <translation>Espaciado X</translation>
     </message>
     <message>
         <source>Y spacing</source>
-        <translation type="vanished">Espaciado Y</translation>
+        <translation>Espaciado Y</translation>
     </message>
     <message>
         <source>Grid type</source>
-        <translation type="vanished">Tipo de cuadrícula</translation>
+        <translation>Tipo de cuadrícula</translation>
     </message>
     <message>
         <source>Grid</source>
-        <translation type="vanished">Cuadrícula</translation>
+        <translation>Cuadrícula</translation>
     </message>
     <message>
         <source>Vector grid</source>
-        <translation type="vanished">Cuadrícula vectorial</translation>
+        <translation>Cuadrícula vectorial</translation>
     </message>
 </context>
 <context>
     <name>VectorLayerBoundsAlgorithm</name>
     <message>
         <source>Vector layer bounds</source>
-        <translation type="vanished">Limites de capas de vectores</translation>
+        <translation>Limites de capas de vectores</translation>
     </message>
     <message>
         <source>Modeler-only tools</source>
-        <translation type="vanished">Herramientas sólo del modelador</translation>
+        <translation>Herramientas sólo del modelador</translation>
     </message>
     <message>
         <source>Layer</source>
-        <translation type="vanished">Capa</translation>
+        <translation>Capa</translation>
     </message>
     <message>
         <source>min X</source>
-        <translation type="vanished">X mín</translation>
+        <translation>X mín</translation>
     </message>
     <message>
         <source>max X</source>
-        <translation type="vanished">X máx</translation>
+        <translation>X máx</translation>
     </message>
     <message>
         <source>min Y</source>
-        <translation type="vanished">Y mín</translation>
+        <translation>Y mín</translation>
     </message>
     <message>
         <source>max Y</source>
-        <translation type="vanished">Y máx</translation>
+        <translation>Y máx</translation>
     </message>
     <message>
         <source>Extent</source>
-        <translation type="vanished">Extensión</translation>
+        <translation>Extensión</translation>
     </message>
 </context>
 <context>
@@ -125330,7 +125329,7 @@ Problema con la línea {1}</translation>
     <name>VectorSplit</name>
     <message>
         <source>Vector general tools</source>
-        <translation type="vanished">Herramientas generales vectoriales</translation>
+        <translation>Herramientas generales vectoriales</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2782"/>
@@ -125402,7 +125401,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Vector geometry tools</source>
-        <translation type="vanished">Herramientas de geometría vectorial</translation>
+        <translation>Herramientas de geometría vectorial</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2797"/>
@@ -125419,11 +125418,11 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Transparency</source>
-        <translation type="vanished">Transparencia</translation>
+        <translation>Transparencia</translation>
     </message>
     <message>
         <source> %</source>
-        <translation type="vanished"> %</translation>
+        <translation> %</translation>
     </message>
     <message>
         <location filename="../src/ui/effects/widget_blur.ui" line="40"/>
@@ -125513,7 +125512,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Transparency</source>
-        <translation type="vanished">Transparencia</translation>
+        <translation>Transparencia</translation>
     </message>
     <message>
         <location filename="../src/ui/effects/widget_coloreffects.ui" line="199"/>
@@ -125527,7 +125526,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source> %</source>
-        <translation type="vanished"> %</translation>
+        <translation> %</translation>
     </message>
     <message>
         <location filename="../src/ui/effects/widget_coloreffects.ui" line="229"/>
@@ -125554,11 +125553,11 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Transparency</source>
-        <translation type="vanished">Transparencia</translation>
+        <translation>Transparencia</translation>
     </message>
     <message>
         <source> %</source>
-        <translation type="vanished"> %</translation>
+        <translation> %</translation>
     </message>
     <message>
         <location filename="../src/ui/effects/widget_drawsource.ui" line="57"/>
@@ -125575,7 +125574,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Fill</source>
-        <translation type="vanished">Relleno</translation>
+        <translation>Relleno</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_ellipse.ui" line="90"/>
@@ -125655,7 +125654,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Outline</source>
-        <translation type="vanished">Línea exterior</translation>
+        <translation>Línea exterior</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_ellipse.ui" line="526"/>
@@ -125664,7 +125663,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Outline style</source>
-        <translation type="vanished">Estilo de línea exterior</translation>
+        <translation>Estilo de línea exterior</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_ellipse.ui" line="30"/>
@@ -125673,7 +125672,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Outline width</source>
-        <translation type="vanished">Anchura de línea exterior</translation>
+        <translation>Anchura de línea exterior</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_ellipse.ui" line="235"/>
@@ -125687,7 +125686,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Offset X,Y</source>
-        <translation type="vanished">Desplazamiento X, Y</translation>
+        <translation>Desplazamiento X, Y</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_ellipse.ui" line="20"/>
@@ -125711,7 +125710,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -125728,7 +125727,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_filledmarker.ui" line="76"/>
@@ -125742,7 +125741,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Offset X,Y</source>
-        <translation type="vanished">Desplazamiento X, Y</translation>
+        <translation>Desplazamiento X, Y</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_filledmarker.ui" line="69"/>
@@ -125814,15 +125813,15 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Fill</source>
-        <translation type="vanished">Relleno</translation>
+        <translation>Relleno</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Outline</source>
-        <translation type="vanished">Línea exterior</translation>
+        <translation>Línea exterior</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_fontmarker.ui" line="204"/>
@@ -125831,15 +125830,15 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Outline width</source>
-        <translation type="vanished">Anchura de línea exterior</translation>
+        <translation>Anchura de línea exterior</translation>
     </message>
     <message>
         <source>No outline</source>
-        <translation type="vanished">Ninguna línea exterior</translation>
+        <translation>Ninguna línea exterior</translation>
     </message>
     <message>
         <source>Offset X,Y</source>
-        <translation type="vanished">Desplazamiento X, Y</translation>
+        <translation>Desplazamiento X, Y</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_fontmarker.ui" line="233"/>
@@ -125975,7 +125974,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Transparency</source>
-        <translation type="vanished">Transparencia</translation>
+        <translation>Transparencia</translation>
     </message>
     <message>
         <location filename="../src/ui/effects/widget_glow.ui" line="65"/>
@@ -125989,11 +125988,11 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Edit</source>
-        <translation type="vanished">Editar</translation>
+        <translation>Editar</translation>
     </message>
     <message>
         <source> %</source>
-        <translation type="vanished"> %</translation>
+        <translation> %</translation>
     </message>
     <message>
         <location filename="../src/ui/effects/widget_glow.ui" line="146"/>
@@ -126020,7 +126019,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Edit</source>
-        <translation type="vanished">Editar</translation>
+        <translation>Editar</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_gradientfill.ui" line="137"/>
@@ -126134,11 +126133,11 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Offset X,Y</source>
-        <translation type="vanished">Desplazamiento X, Y</translation>
+        <translation>Desplazamiento X, Y</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_gradientfill.ui" line="304"/>
@@ -126156,7 +126155,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Distance</source>
-        <translation type="vanished">Distancia</translation>
+        <translation>Distancia</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_linepatternfill.ui" line="27"/>
@@ -126186,7 +126185,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -126256,7 +126255,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -126298,23 +126297,23 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Vertical distance</source>
-        <translation type="vanished">Distancia vertical</translation>
+        <translation>Distancia vertical</translation>
     </message>
     <message>
         <source>Vertical displacement</source>
-        <translation type="vanished">Desplazamiento vertical</translation>
+        <translation>Desplazamiento vertical</translation>
     </message>
     <message>
         <source>Horizontal displacement</source>
-        <translation type="vanished">Desplazamiento horizontal</translation>
+        <translation>Desplazamiento horizontal</translation>
     </message>
     <message>
         <source>Horizontal distance</source>
-        <translation type="vanished">Distancia horizontal</translation>
+        <translation>Distancia horizontal</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -126326,7 +126325,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_rasterfill.ui" line="20"/>
@@ -126384,7 +126383,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>%</source>
-        <translation type="vanished">%</translation>
+        <translation>%</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_rasterfill.ui" line="312"/>
@@ -126393,7 +126392,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Offset X,Y</source>
-        <translation type="vanished">Desplazamiento X, Y</translation>
+        <translation>Desplazamiento X, Y</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_rasterfill.ui" line="230"/>
@@ -126451,19 +126450,19 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Outline width</source>
-        <translation type="vanished">Anchura de línea exterior</translation>
+        <translation>Anchura de línea exterior</translation>
     </message>
     <message>
         <source>No outline</source>
-        <translation type="vanished">Ninguna línea exterior</translation>
+        <translation>Ninguna línea exterior</translation>
     </message>
     <message>
         <source>Fill</source>
-        <translation type="vanished">Relleno</translation>
+        <translation>Relleno</translation>
     </message>
     <message>
         <source>Border</source>
-        <translation type="vanished">Contorno</translation>
+        <translation>Contorno</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_svgfill.ui" line="131"/>
@@ -126477,7 +126476,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_svgfill.ui" line="262"/>
@@ -126499,7 +126498,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Transparency</source>
-        <translation type="vanished">Transparencia</translation>
+        <translation>Transparencia</translation>
     </message>
     <message>
         <location filename="../src/ui/effects/widget_shadoweffect.ui" line="82"/>
@@ -126523,7 +126522,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source> %</source>
-        <translation type="vanished"> %</translation>
+        <translation> %</translation>
     </message>
     <message>
         <location filename="../src/ui/effects/widget_shadoweffect.ui" line="159"/>
@@ -126595,7 +126594,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Edit</source>
-        <translation type="vanished">Editar</translation>
+        <translation>Editar</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_shapeburstfill.ui" line="393"/>
@@ -126604,7 +126603,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Shade whole shape</source>
-        <translation type="vanished">Sombrear la forma completa</translation>
+        <translation>Sombrear la forma completa</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_shapeburstfill.ui" line="208"/>
@@ -126613,7 +126612,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Shade to a set distance:</source>
-        <translation type="vanished">Sombrear a una distancia dada:</translation>
+        <translation>Sombrear a una distancia dada:</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_shapeburstfill.ui" line="20"/>
@@ -126622,11 +126621,11 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Offset X,Y</source>
-        <translation type="vanished">Desplazamiento X, Y</translation>
+        <translation>Desplazamiento X, Y</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -126638,15 +126637,15 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Outline width</source>
-        <translation type="vanished">Anchura de línea exterior</translation>
+        <translation>Anchura de línea exterior</translation>
     </message>
     <message>
         <source>Outline</source>
-        <translation type="vanished">Línea exterior</translation>
+        <translation>Línea exterior</translation>
     </message>
     <message>
         <source>Offset X,Y</source>
-        <translation type="vanished">Desplazamiento X, Y</translation>
+        <translation>Desplazamiento X, Y</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_simplefill.ui" line="298"/>
@@ -126655,7 +126654,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Outline style</source>
-        <translation type="vanished">Estilo de línea exterior</translation>
+        <translation>Estilo de línea exterior</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_simplefill.ui" line="20"/>
@@ -126714,11 +126713,11 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Fill</source>
-        <translation type="vanished">Relleno</translation>
+        <translation>Relleno</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -126751,7 +126750,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Pen width</source>
-        <translation type="vanished">Anchura de plumilla</translation>
+        <translation>Anchura de plumilla</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_simpleline.ui" line="28"/>
@@ -126765,7 +126764,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Pen style</source>
-        <translation type="vanished">Estilo de plumilla</translation>
+        <translation>Estilo de plumilla</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_simpleline.ui" line="95"/>
@@ -126799,7 +126798,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -126821,15 +126820,15 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Fill</source>
-        <translation type="vanished">Relleno</translation>
+        <translation>Relleno</translation>
     </message>
     <message>
         <source>Outline style</source>
-        <translation type="vanished">Estilo de línea exterior</translation>
+        <translation>Estilo de línea exterior</translation>
     </message>
     <message>
         <source>Outline width</source>
-        <translation type="vanished">Anchura de línea exterior</translation>
+        <translation>Anchura de línea exterior</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_simplemarker.ui" line="158"/>
@@ -126928,7 +126927,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Outline</source>
-        <translation type="vanished">Línea exterior</translation>
+        <translation>Línea exterior</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_simplemarker.ui" line="119"/>
@@ -126937,11 +126936,11 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Offset X,Y</source>
-        <translation type="vanished">Desplazamiento X, Y</translation>
+        <translation>Desplazamiento X, Y</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -126953,11 +126952,11 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Fill</source>
-        <translation type="vanished">Relleno</translation>
+        <translation>Relleno</translation>
     </message>
     <message>
         <source>Offset X,Y</source>
-        <translation type="vanished">Desplazamiento X, Y</translation>
+        <translation>Desplazamiento X, Y</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_svgmarker.ui" line="580"/>
@@ -126966,23 +126965,23 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>No outline</source>
-        <translation type="vanished">Ninguna línea exterior</translation>
+        <translation>Ninguna línea exterior</translation>
     </message>
     <message>
         <source>Outline</source>
-        <translation type="vanished">Línea exterior</translation>
+        <translation>Línea exterior</translation>
     </message>
     <message>
         <source>Outline width</source>
-        <translation type="vanished">Anchura de línea exterior</translation>
+        <translation>Anchura de línea exterior</translation>
     </message>
     <message>
         <source>x </source>
-        <translation type="vanished">x </translation>
+        <translation>x </translation>
     </message>
     <message>
         <source>y </source>
-        <translation type="vanished">y </translation>
+        <translation>y </translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_svgmarker.ui" line="425"/>
@@ -127101,7 +127100,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../src/ui/symbollayer/widget_svgmarker.ui" line="405"/>
@@ -127133,7 +127132,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -127272,7 +127271,7 @@ Problema con la línea {1}</translation>
     <name>WidgetWrapper</name>
     <message>
         <source>Select file</source>
-        <translation type="vanished">Seleccionar archivo</translation>
+        <translation>Seleccionar archivo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2802"/>
@@ -127305,7 +127304,7 @@ Problema con la línea {1}</translation>
     <name>ZonalStatistics</name>
     <message>
         <source>Raster tools</source>
-        <translation type="vanished">Herramientas ráster</translation>
+        <translation>Herramientas ráster</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2806"/>
@@ -127404,7 +127403,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Load whole raster in memory</source>
-        <translation type="vanished">Cargar todo el ráster en memoria</translation>
+        <translation>Cargar todo el ráster en memoria</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2825"/>
@@ -127413,7 +127412,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Zonal Statistics</source>
-        <translation type="vanished">Estadísticas de zona</translation>
+        <translation>Estadísticas de zona</translation>
     </message>
 </context>
 <context>
@@ -127448,7 +127447,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>You need to set either a brighten percentage or a NULL color!</source>
-        <translation type="vanished">¡Necesita establecer un porcentaje de brillo o un color NULO!</translation>
+        <translation>¡Necesita establecer un porcentaje de brillo o un color NULO!</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2850"/>
@@ -127502,7 +127501,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>You need to set either a segment rules file or write directly the rules!</source>
-        <translation type="vanished">¡Necesita establecer un archivo de reglas de segmento o escribir las reglas directamente!</translation>
+        <translation>¡Necesita establecer un archivo de reglas de segmento o escribir las reglas directamente!</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2851"/>
@@ -127552,7 +127551,7 @@ Problema con la línea {1}</translation>
     <message>
         <source>Feature type for '{}' should be a list of elements taken in the following values:
 'point', 'line', 'boundary', 'centroid', 'area'</source>
-        <translation type="vanished">El tipo de objeto para '{}' debería ser una lista de elementos tomados de los siguientes valores:
+        <translation>El tipo de objeto para '{}' debería ser una lista de elementos tomados de los siguientes valores:
 ¡punto', 'línea', 'contorno', 'centroide', 'área'</translation>
     </message>
     <message>
@@ -127577,7 +127576,7 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Fusion</source>
-        <translation type="vanished">Fusión</translation>
+        <translation>Fusión</translation>
     </message>
 </context>
 <context>
@@ -127592,7 +127591,7 @@ Problema con la línea {1}</translation>
     <name>aspect</name>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2858"/>
@@ -127636,15 +127635,15 @@ Problema con la línea {1}</translation>
     </message>
     <message>
         <source>Use Zevenbergen&Thorne formula (instead of the Horn's one)</source>
-        <translation type="vanished">Usar la fórmula Zevenbergen&Thorne (en vez de la de Horn)</translation>
+        <translation>Usar la fórmula Zevenbergen&Thorne (en vez de la de Horn)</translation>
     </message>
     <message>
         <source>Return trigonometric angle (instead of azimuth)</source>
-        <translation type="vanished">Devolver ángulo trigonométrico (en vez de azimut)</translation>
+        <translation>Devolver ángulo trigonométrico (en vez de azimut)</translation>
     </message>
     <message>
         <source>Return 0 for flat (instead of -9999)</source>
-        <translation type="vanished">Devolver 0 para llano (en vez de 9999)</translation>
+        <translation>Devolver 0 para llano (en vez de 9999)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2865"/>
@@ -127656,139 +127655,139 @@ Problema con la línea {1}</translation>
     <name>blast2dem</name>
     <message>
         <source>blast2dem</source>
-        <translation type="vanished">blast2dem</translation>
+        <translation>blast2dem</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>Attribute</source>
-        <translation type="vanished">Atributo</translation>
+        <translation>Atributo</translation>
     </message>
     <message>
         <source>Product</source>
-        <translation type="vanished">Producto</translation>
+        <translation>Producto</translation>
     </message>
     <message>
         <source>Use tile bounding box (after tiling with buffer)</source>
-        <translation type="vanished">Usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
+        <translation>Usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
     </message>
 </context>
 <context>
     <name>blast2demPro</name>
     <message>
         <source>blast2demPro</source>
-        <translation type="vanished">blastAdemPro</translation>
+        <translation>blastAdemPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>Attribute</source>
-        <translation type="vanished">Atributo</translation>
+        <translation>Atributo</translation>
     </message>
     <message>
         <source>Product</source>
-        <translation type="vanished">Producto</translation>
+        <translation>Producto</translation>
     </message>
     <message>
         <source>Use tile bounding box (after tiling with buffer)</source>
-        <translation type="vanished">Usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
+        <translation>Usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
     </message>
 </context>
 <context>
     <name>blast2iso</name>
     <message>
         <source>blast2iso</source>
-        <translation type="vanished">blastAiso</translation>
+        <translation>blastAiso</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>smooth underlying TIN</source>
-        <translation type="vanished">suavizar TIN subyacente</translation>
+        <translation>suavizar TIN subyacente</translation>
     </message>
     <message>
         <source>extract isoline with a spacing of</source>
-        <translation type="vanished">extraer isolínea con un espaciado de </translation>
+        <translation>extraer isolínea con un espaciado de </translation>
     </message>
     <message>
         <source>clean isolines shorter than (0 = do not clean)</source>
-        <translation type="vanished">limpiar isolíneas más cortas de (0 = no limpiar)</translation>
+        <translation>limpiar isolíneas más cortas de (0 = no limpiar)</translation>
     </message>
     <message>
         <source>simplify segments shorter than (0 = do not simplify)</source>
-        <translation type="vanished">simplificar segmentos más cortos de (0 = no simplificar)</translation>
+        <translation>simplificar segmentos más cortos de (0 = no simplificar)</translation>
     </message>
     <message>
         <source>simplify segments pairs with area less than (0 = do not simplify)</source>
-        <translation type="vanished">simplificar pares de segmentos con área inferior a (0 = no simplificar)</translation>
+        <translation>simplificar pares de segmentos con área inferior a (0 = no simplificar)</translation>
     </message>
 </context>
 <context>
     <name>blast2isoPro</name>
     <message>
         <source>blast2isoPro</source>
-        <translation type="vanished">blastAisoPro</translation>
+        <translation>blastAisoPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>smooth underlying TIN</source>
-        <translation type="vanished">suavizar TIN subyacente</translation>
+        <translation>suavizar TIN subyacente</translation>
     </message>
     <message>
         <source>extract isoline with a spacing of</source>
-        <translation type="vanished">extraer isolínea con un espaciado de </translation>
+        <translation>extraer isolínea con un espaciado de </translation>
     </message>
     <message>
         <source>clean isolines shorter than (0 = do not clean)</source>
-        <translation type="vanished">limpiar isolíneas más cortas de (0 = no limpiar)</translation>
+        <translation>limpiar isolíneas más cortas de (0 = no limpiar)</translation>
     </message>
     <message>
         <source>simplify segments shorter than (0 = do not simplify)</source>
-        <translation type="vanished">simplificar segmentos más cortos de (0 = no simplificar)</translation>
+        <translation>simplificar segmentos más cortos de (0 = no simplificar)</translation>
     </message>
     <message>
         <source>simplify segments pairs with area less than (0 = do not simplify)</source>
-        <translation type="vanished">simplificar pares de segmentos con área inferior a (0 = no simplificar)</translation>
+        <translation>simplificar pares de segmentos con área inferior a (0 = no simplificar)</translation>
     </message>
 </context>
 <context>
     <name>buildvrt</name>
     <message>
         <source>[GDAL] Miscellaneous</source>
-        <translation type="vanished">[GDAL] Miscelánea</translation>
+        <translation>[GDAL] Miscelánea</translation>
     </message>
     <message>
         <source>Input layers</source>
-        <translation type="vanished">Capas de entrada</translation>
+        <translation>Capas de entrada</translation>
     </message>
     <message>
         <source>Resolution</source>
-        <translation type="vanished">Resolución</translation>
+        <translation>Resolución</translation>
     </message>
     <message>
         <source>Layer stack</source>
-        <translation type="vanished">Pila de capas</translation>
+        <translation>Pila de capas</translation>
     </message>
     <message>
         <source>Allow projection difference</source>
-        <translation type="vanished">Permitir diferencia de proyección</translation>
+        <translation>Permitir diferencia de proyección</translation>
     </message>
     <message>
         <source>Virtual</source>
-        <translation type="vanished">Virtual</translation>
+        <translation>Virtual</translation>
     </message>
     <message>
         <source>Build Virtual Raster</source>
-        <translation type="vanished">Construir ráster virtual</translation>
+        <translation>Construir ráster virtual</translation>
     </message>
 </context>
 <context>
@@ -127999,7 +127998,7 @@ which are described and illustrated on <a href="http://en.wikipedia.org/
 <p>Contact the author through aruntheguy at gmail dot com</p>
 
 </source>
-        <translation type="vanished"><h1>Ayuda del complemento Mapa de calor</h1>
+        <translation><h1>Ayuda del complemento Mapa de calor</h1>
 <p>El complemento Mapa de calor utiliza Estimación de Densidad de Núcleo para crear un ráster de densidad (mapa de calor)
 de una capa vectorial de puntos de entrada. La densidad se calcula en base al número de puntos en cada localización, de
 forma que números más grandes de puntos agrupados dan como resultado valores mas grandes.
@@ -128213,7 +128212,7 @@ that will be automatically deleted after running.</li>
 from the close button. This allows you to save the geometry to be restored to the next start.
 </p>
 </source>
-        <translation type="vanished"><h3>Consola de Python para QGIS</h3>
+        <translation><h3>Consola de Python para QGIS</h3>
 <a href="#console">Consola</a><br>
 <a href="#editor">Editor</a><br>
 <a href="#settings">Configuración</a><br><br>
@@ -128437,7 +128436,7 @@ The vector layer needs to be in editing mode, before you can click on the <la
 When you toggle to edition the layer, a new row of functions appears in the attribute table: the <label>Field Calculator Bar</label>. This allows quick editing values of existing fields by performing calculations on basis of existing attribute values or defined functions button in the attribute table, e.g. to calculate length or area of geometry features.<br>
 To edit values, select the field to modify with the filter button on the left and fill the text box with the new value or an expression to calculate new value. Then, press <label>Update all</label> button to update all the rows of the attribute table or <label>Update selected</label> button if some features are selected or a filter is applied on the attribute table display. You can also use the <label>Expression builder</label> button to calculate the  [...]
 </source>
-        <translation type="vanished"><h3>Tabla de atributos</h3>
+        <translation><h3>Tabla de atributos</h3>
 La tabla de atributos muestra los objetos espaciales de la capa seleccionada. Cada fila de la tabla representa un objeto espacial con sus atributos mostrados en varias columnas. Se pueden buscar, seleccionar, mover o incluso editar los objetos espaciales de la tabla. Por omisión la tabla de atributos es una ventana separada. Si la ha abierto y no la puede ver, probablemente está oculta tras la ventana principal de QGIS. También la puede hacer una ventana adosable, marcando <label>A [...]
 
 El número de objetos espaciales totales, filtrados y seleccionados de la capa se muestra en la cabecera de la tabla.<p>
@@ -128541,7 +128540,7 @@ To delete a bookmark from the Bookmarks dialog, click on it then click the <l
 To update the extent of a bookmark, click on it then click the <label>Update</label> button. Confirm your choice by clicking <label>OK</label> or cancel the update by clicking <label>Cancel</label>.
 
 </source>
-        <translation type="vanished"><h3>Marcadores espaciales</h3>
+        <translation><h3>Marcadores espaciales</h3>
 Los marcadores espaciales le permiten "marcar" una localización geográfica y volver a ella más tarde.
 <p>
 <a href="#creating">Crear un marcador</a><br/>
@@ -128595,7 +128594,7 @@ Click on one of the icons along the top of the composer window to select what ty
 </p>
 
 </source>
-        <translation type="vanished"><h3>Diseñador de impresión</h3>
+        <translation><h3>Diseñador de impresión</h3>
 
 <p>
 El diseñador de impresión permite ordenar los elementos que serán impresos dentro de la página. Los elementos incluyen el contenido de la vista del mapa, la barra de escala, la leyenda e imágenes adicionales.
@@ -128624,7 +128623,7 @@ system.
 <p>
 Defining a custom CRS in QGIS requires a good understanding of the Proj.4 projection library. To begin, refer to the <a href="ftp://ftp.remotesensing.org/proj/OF90-284.pdf">Cartographic Projection Procedures for the UNIX Environment</a> - A User's Manual by Gerald I. Evenden, U.S. Geological Survey Open-File Report 90-284, 1990. This manual describes the use of the <i>proj.4</i> and related command line utilities. The cartographic parameters used wi [...]
 </source>
-        <translation type="vanished"><h3>Definición de sistemas de referencia de coordenadas personalizados</h3>
+        <translation><h3>Definición de sistemas de referencia de coordenadas personalizados</h3>
 Si QGIS no ofrece el sistema de referencia de coordenadas que necesita, puede definir un SRC personalizado. <p>
 Para definir un SRC, seleccione <label>SRC personalizado</label> del menú <label>Edición</label> (Gnome, OSX) o del menú <label>Configuración</label> (KDE, Windows). Los SRC personalizados se almacenan en la base de datos de su usuario de QGIS. Además de sus SRC personalizados, esta base de datos también contiene los marcadores geoespaciales y otros datos personalizados.
 
@@ -128672,7 +128671,7 @@ This plugin supports basic HTML markup tags for formatting text. For example:
 </li>
 </ul>
 </source>
-        <translation type="vanished"><h3>Etiqueta de copyright</h3>
+        <translation><h3>Etiqueta de copyright</h3>
 Dibuja una etiqueta de copyright con información.<br/>
 Es posible agregar cualquier texto aleatorio al mapa, no solo una etiqueta de copyright.
 <p>
@@ -128710,7 +128709,7 @@ Este complemento admite etiquetas HTML básicas para dar formato al texto. Por e
 Displays a north arrow overlayed onto the map.
 <p>
 At present there is only one style available. You can adjust the angle of the arrow or let QGIS set the direction automatically. If you choose to let QGIS determine the direction, it makes its best guess as to how the arrow should be oriented. For placement of the arrow you have four options, corresponding to the four corners of the map canvas.</source>
-        <translation type="vanished"><h3> Complemento Flecha de Norte</h3>
+        <translation><h3> Complemento Flecha de Norte</h3>
 Muestra una flecha de norte superpuesta en la vista del mapa.
 <p>
 Actualmente sólo hay un estilo disponible. Se puede ajustar el ángulo de la flecha o dejar que QGIS lo establezca automáticamente. Si decide dejar que QGIS determine la dirección, hará su mejor conjetura sobre cómo se debe orientar la flecha. Para la colocación de la flecha, hay cuatro opciones que corresponden a las cuatro esquinas de la vista del mapa.</translation>
@@ -128735,7 +128734,7 @@ To add a scale bar:
 <li>Click <label>OK</label>.</li>
 </ol>
 </source>
-        <translation type="vanished"><h3>Complemento de Barra de escala</h3>
+        <translation><h3>Complemento de Barra de escala</h3>
 Dibuja una barra de escala sobre el mapa.
 <p>
 Es posible controlar el estilo y la ubicación, así como las etiquetas de la barra. QGIS sólo permite desplegar la escala en las mismas unidades del mapa. Por esto si las unidades de sus capas están en metros, no es posible crear una barra de escala en pies. De la misma manera, si está usando grados decimales no podrá crear una barra de escala que muestre la distancia en metros.</p>
@@ -128813,7 +128812,7 @@ The field calculator allows you to update fields with expressions.
 <tr><td>-<tt>a</tt></td><td>negative value of <tt>a</tt></td></tr>
 </table>
 </source>
-        <translation type="vanished"><h3>Calculadora de campos</h3>
+        <translation><h3>Calculadora de campos</h3>
 La calculadora de campos le permite actualizar campos con expresiones.
 
 <h4>Operaciones admitidas</h4>
@@ -128878,7 +128877,7 @@ La calculadora de campos le permite actualizar campos con expresiones.
         <source><h3>GPS Plugin</h3>
 
 </source>
-        <translation type="vanished"><h3>Complemento de GPS</h3>
+        <translation><h3>Complemento de GPS</h3>
 
 </translation>
     </message>
@@ -128902,7 +128901,7 @@ La calculadora de campos le permite actualizar campos con expresiones.
   and choose the desired CRS for the new layer.
 </p>
 </source>
-        <translation type="vanished"><h3>Selector de sistema de referencia de coordenadas</h3>
+        <translation><h3>Selector de sistema de referencia de coordenadas</h3>
 
 <p>
   El selector de sistema de referencia de coordenadas le permite establecer la proyección para la capa actual.
@@ -128926,7 +128925,7 @@ You may also tick an <label>Open feature form, if a single feature is iden
 Identifiable layers can be set in the Project Properties dialog <label>Settings > Project Properties > Identifiable layers</label> where all the layers names are listed, their type (vector, raster, etc.) and ability to be identified.
 </p>
 </source>
-        <translation type="vanished"><h3>Identificar objetos</h3>
+        <translation><h3>Identificar objetos</h3>
 <p>
 El diálogo de resultados muestra todos los objetos identificados dentro de la tolerancia de búsqueda. Para ver los detalles de los resultados, expanda la información del objeto a la izquierda de cada objeto.
 </p>
@@ -128949,7 +128948,7 @@ A single right mouse click stops the measuring, while two right mouse clicks sta
 <h4>Measuring Angles</h4>
 To measure angles, select the tool and click on three points to create an angle between these points. The second point selected is the vertex of the angle. The angle is dynamically displayed once you clicked the second point.
 </source>
-        <translation type="vanished"><h3>Herramientas de medida</h3>
+        <translation><h3>Herramientas de medida</h3>
 Hay tres herramientas de medida: longitud, área y ángulo. Con ellas puede medir distancias, áreas y ángulos sobre el lienzo del mapa. Las herramientas proporcionan los resultados en las unidades establecidas en <label>Configuración > Opciones > Herramientas de mapa</label>.
 <h4>Medir longitudes</h4>
 Para medir longitudes, seleccione la herramienta y haga clic a lo largo de la ruta que quiera medir. Se muestra la longitud de cada segmento al igual que la longitud total de la ruta.
@@ -128964,7 +128963,7 @@ Para medir ángulos, seleccione la herramienta y haga clic en tres puntos para c
     <message>
         <source><h3>New OGR Database Connection Dialog</h3>
 </source>
-        <translation type="vanished"><h3>Nuevo diálogo de conexión a bases de datos de OGR</h3>
+        <translation><h3>Nuevo diálogo de conexión a bases de datos de OGR</h3>
 </translation>
     </message>
     <message>
@@ -128992,7 +128991,7 @@ In this section you can see the list of attributes. To delete one of them, click
 Click on <label>OK</label> to create the layer and close the dialog.
 <label>Cancel</label> will close the layer without further changes.
 </source>
-        <translation type="vanished"><h3>Crear una nueva capa SpatiaLite</h3>
+        <translation><h3>Crear una nueva capa SpatiaLite</h3>
 Puede usar este cuadro de diálogo para crear una nueva base de datos SpatiaLite y/o una capa vacía SpatiaLite para edición. Vea más adelante una explicaión de las entradas del diálogo.
 <h4>Base de datos</h4>
 Elija la base de datos de la lista desplegable. Esta lista se crea desde sus conexiones de SpatiaLite guardadas. Si no tiene ninguna conexión guardada o si quiere crear una nueva base de datos, haga clic en el botón (<label>...</label>) a la derecha de la lista desplegable.
@@ -129030,7 +129029,7 @@ You can also define the width and precision of the new attribute column.
 <h4>Attributes list</h4>
 In this section you can see the list of attributes. To delete one of them, click on it and choose <label>Remove selected attribute</label> button.
 </source>
-        <translation type="vanished"><h3>Crear nueva capa vectorial</h3>
+        <translation><h3>Crear nueva capa vectorial</h3>
 Para crear una capa nueva para editar, seleccione <label>Capa vectorial nueva</label> del menú <label>Capa</label>.<br/>
 Con este diálogo puede crear una capa de archivo shape.
 <h4>Tipo</h4>
@@ -129051,7 +129050,7 @@ QGIS supports vector data in a number of formats, including those supported by t
 QGIS supports PostGIS layers in a PostgreSQL database and SpatiaLite layers. Support for additional data types (eg. delimited text) is provided by additional data provider plugins. A list of OGR supported vector formats can be found in Appendix A.1 of the User Guide.</p>
 Detailed description how to proceed with vector data is described in chapter 5 'Working with Vector Data'.
 </source>
-        <translation type="vanished"><h3>Diálogo Abrir capa vectorial</h3>
+        <translation><h3>Diálogo Abrir capa vectorial</h3>
 
 El diálogo Abrir capa vectorial se usa para añadir datos vectoriales a la vista del mapa de QGIS. Los datos vectoriales son datos espaciales descritos usando geometrías de puntos, líneas y polígonos (áreas cerradas).</p>
 QGIS admite datos vectoriales en distintos formatos, incluyendo aquellos admitidos por el complemento del proveedor de datos de la biblioteca OGR, tales como archivos shape de ESRI, MapInfo MIF (formato de intercambio) y MapInfo TAB (formato nativo).</p>
@@ -129134,7 +129133,7 @@ Informs you about active system locale. To change it tick <label>Override
 </a>
 Tick <label>Use proxy for web access</label> to define host, port, user, and password.
 </source>
-        <translation type="vanished"><h3>Opciones</h3>
+        <translation><h3>Opciones</h3>
 Este diálogo le permite seleccionar algunas opciones básicas de QGIS. Hay ocho pestañas:
 <p>
 
@@ -129250,7 +129249,7 @@ geometry types and don't offer to add others.
 
 </ul>
 </source>
-        <translation type="vanished"><h3>Crear una conexión Oracle nueva</h3>
+        <translation><h3>Crear una conexión Oracle nueva</h3>
 Este diálogo permite definir la configuración para la conexión a una base de datos
 Oracle.
 <p>
@@ -129321,7 +129320,7 @@ To filter a layer before adding it to the map, double click on its name or use &
 </a>
 Ticking <label>Search options</label> enables additional options for searching in different column types and using 2 search modes: <label>Wildcard</label> or <label>RegExp</label>.
 </source>
-        <translation type="vanished"><h3>Añadir tablas de PostGIS</h3>
+        <translation><h3>Añadir tablas de PostGIS</h3>
 Este diálogo le permite añadir capas de PostGIS (tablas con una columna de geometría) a la vista del mapa de QGIS.
 <p>
 <a href="#connect">Conexiones</a><br/>
@@ -129445,7 +129444,7 @@ Note: Experimental plugins are generally unsuitable for production use. These pl
 
 </p>
 </source>
-        <translation type="vanished"><h3>Administrar e instalar complementos</h3>
+        <translation><h3>Administrar e instalar complementos</h3>
 
 <p>
 Administrar e instalar complementos.
@@ -129659,7 +129658,7 @@ Nota: los complementos experimentales generalmente no son adecuados para un uso
   On this tab you can choose on which layers the identify tool will work.
 </p>
 </source>
-        <translation type="vanished"><h3>Propiedades del proyecto</h3>
+        <translation><h3>Propiedades del proyecto</h3>
 <p>
   Este diálogo permite establecer algunas propiedades relacionadas con el <label>Proyecto</label>. Un proyecto es un conjunto guardado de capas y su configuración, así como otra información necesaria para restaurar el proyecto desde el disco.
 </p>
@@ -129810,7 +129809,7 @@ are sometimes limited (e.g. for shape files) or behave diffently.
 </tr>
 </table>
 </source>
-        <translation type="vanished"><h3>Constructor de consultas</h3>
+        <translation><h3>Constructor de consultas</h3>
 El constructor de consultas permite crear expresiones de filtrado específicas para cada proveedor.
 
 Estas son normalmente evaluadas mucho más rápido que las expresiones genéricas de QGIS, pero
@@ -129862,7 +129861,7 @@ a veces están limitadas (ej. para archivos shape) o se comportan de un modo dis
 To define a new connection, click on <label>New</label> button and use the file browser to point to your SpatiaLite database, which is a file with a <i>.sqlite</i> extension.<p>
 The connections you define will be remembered for further use and available to choose from the drop down menu.
 </source>
-        <translation type="vanished"><h3>Añadir tablas de SpatiaLite</h3>
+        <translation><h3>Añadir tablas de SpatiaLite</h3>
 Para definir una nueva conexión pulse el botón <label>Nueva</label> y utilice el explorador de archivos para localizar su base de datos de SpatiaLite, que es un archivo con extensión <i>.sqlite</i>.<p>
 Las conexiones que defina se recordarán para uso posterior y estarán disponibles para seleccionarlas en el menú desplegable.
 </translation>
@@ -129870,7 +129869,7 @@ Las conexiones que defina se recordarán para uso posterior y estarán disponibl
     <message>
         <source><h3>Style Manager</h3>
 </source>
-        <translation type="vanished"><h3>Administrador de estilos</h3>
+        <translation><h3>Administrador de estilos</h3>
 </translation>
     </message>
     <message>
@@ -130013,7 +130012,7 @@ The Diagram tab allows you to add a graphic overlay to a vector layer. To activa
 The current implementation of diagrams provides support for pie- and bar charts and for linear scaling
 of the diagram size according to a classification attribute.
 </source>
-        <translation type="vanished"><h3>Propiedades de las capas vectoriales</h3>
+        <translation><h3>Propiedades de las capas vectoriales</h3>
 Este diálogo le permite trabajar con la configuración
 y las propiedades de las capas vectoriales. Hay siete pestañas:
 <p>
@@ -130168,7 +130167,7 @@ del tamaño del diagrama de acuerdo con un atributo de clasificación.
 
 See <a href="http://gdal.org/ogr_formats.html">OGR Vector formats</a> for a list of supported formats and the available options.
 </source>
-        <translation type="vanished"><h3>Guarda capa vectorial como...</h3>
+        <translation><h3>Guarda capa vectorial como...</h3>
 
 <p>Este diálogo le permite guardar datos vectoriales en varios formatos usando GDAL/OGR.
 
@@ -130222,7 +130221,7 @@ On this tab you can search for WMS servers. It is possible to enter a search-str
 To visualize the results, select an table entry, press the <label>Add selected row to WMS list</label> button and change back to the <label>Servers</label> tab.<p>
 You only need to request the list of layers by clicking the <label>Connect</label> button.
 </source>
-        <translation type="vanished"><h3>Crear una nueva conexión WMS</h3>
+        <translation><h3>Crear una nueva conexión WMS</h3>
 Se pueden añadir capas WMS de forma muy sencilla, con tal de que se sepa la URL para acceder al servidor WMS, se tenga una conexión en servicio con ese servidor y el servidor entienda HTML como mecanismo de transporte de datos.<p>
 QGIS actualmente puede comportarse como un cliente WMS que entiende servidores WMS 1.1, 1.1 y 1.3.
 <p>
@@ -130293,7 +130292,7 @@ Solo necesita solicitar la lista de capas haciendo clic en el botón <label&g
 <h5>Default settings</h5>
 <p>If the attribute table of your linear layer does not contain the required fields or fields contain unexpected values, the plugin will use default values. You can set them in the default tab <label>Default settings</label>.</p>
 </source>
-        <translation type="vanished"><h3>Configuración del complemento Gráfico de ruta</h3>
+        <translation><h3>Configuración del complemento Gráfico de ruta</h3>
 <p>Gráfico de ruta es un complemento en C++ para QGIS, que calcula la ruta más corta entre dos puntos de una capa de polilíneas y dibuja esa ruta sobre la red de carreteras.</p>
 <p>
 <a href="#creating">Unidades del complemento</a><br/>
@@ -130341,7 +130340,7 @@ Pressing the <label>Calculate</label> button will run the shortest p
 <h5>Note</h5>
 <p>In order to bind the start and stop points of the route to the road network Road graph selects the nearest point or arc of the graph. In fact it can bind to any part of the road network. Nevertheless, their route and its characteristics do not take into account the distance from the starting point to the road network and of the road network to the stopping point.</p>
 </source>
-        <translation type="vanished"><h3>Encontrar ruta más corta</h3>
+        <translation><h3>Encontrar ruta más corta</h3>
 <p>Grafo de ruta es un complemento en C++ para QGIS, que calcula la ruta más corta entre dos puntos de cualquier capa de líneas y dibuja esta ruta sobre la red de carreteras. Antes de usar el complemento configúrelo. Puede hacerlo en el menú <label>Vectorial &rarr; Grafo de ruta &rarr; Configuración</label></p>
 <p>
 <a href="#howto">Cómo</a><br/>
@@ -130360,7 +130359,7 @@ Pulsando el botón <label>Calcular</label> se ejecutará el cálculo
     <message>
         <source><h3>Database connection</h3>
 </source>
-        <translation type="vanished"><h3>Conexión a base de datos</h3>
+        <translation><h3>Conexión a base de datos</h3>
 </translation>
     </message>
     <message>
@@ -130682,7 +130681,7 @@ The following options can be added
 
 
 </source>
-        <translation type="vanished"><h3>Capa de archivo de texto delimitado</h3>
+        <translation><h3>Capa de archivo de texto delimitado</h3>
 Carga y visualiza archivos de texto delimitado
 <p>
 <a href="#re">Vista general</a><br/>
@@ -130908,7 +130907,7 @@ if layer.isValid():
     </message>
     <message>
         <source>[GDAL] Extraction</source>
-        <translation type="vanished">[GDAL] Extracción</translation>
+        <translation>[GDAL] Extracción</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2870"/>
@@ -130957,7 +130956,7 @@ if layer.isValid():
     </message>
     <message>
         <source>Additional creation parameters</source>
-        <translation type="vanished">Parámetros adicionales de creación</translation>
+        <translation>Parámetros adicionales de creación</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2878"/>
@@ -130979,66 +130978,66 @@ Compruebe el registro del entorno de trabajo de procesos para buscar errores.</t
     <name>dxf2shpConverter</name>
     <message>
         <source>Converts DXF files in Shapefile format</source>
-        <translation type="vanished">Convierte archivos DXF a formato SHP</translation>
+        <translation>Convierte archivos DXF a formato SHP</translation>
     </message>
     <message>
         <source>&Dxf2Shp</source>
-        <translation type="vanished">&Dxf2Shp</translation>
+        <translation>&Dxf2Shp</translation>
     </message>
 </context>
 <context>
     <name>dxf2shpConverterGui</name>
     <message>
         <source>Dxf Importer</source>
-        <translation type="vanished">Importador DXF</translation>
+        <translation>Importador DXF</translation>
     </message>
     <message>
         <source>Input and output</source>
-        <translation type="vanished">Entrada y salida</translation>
+        <translation>Entrada y salida</translation>
     </message>
     <message>
         <source>Input DXF file</source>
-        <translation type="vanished">Archivo DXF de entrada</translation>
+        <translation>Archivo DXF de entrada</translation>
     </message>
     <message>
         <source>...</source>
-        <translation type="vanished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <source>Output file</source>
-        <translation type="vanished">Fichero de salida</translation>
+        <translation>Fichero de salida</translation>
     </message>
     <message>
         <source>Export text labels</source>
-        <translation type="vanished">Exportar etiquetas de texto</translation>
+        <translation>Exportar etiquetas de texto</translation>
     </message>
     <message>
         <source>Output file type</source>
-        <translation type="vanished">Tipo de archivo de salida</translation>
+        <translation>Tipo de archivo de salida</translation>
     </message>
     <message>
         <source>Polyline</source>
-        <translation type="vanished">Polilinea</translation>
+        <translation>Polilinea</translation>
     </message>
     <message>
         <source>Polygon</source>
-        <translation type="vanished">Polígono</translation>
+        <translation>Polígono</translation>
     </message>
     <message>
         <source>Point</source>
-        <translation type="vanished">Punto</translation>
+        <translation>Punto</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="vanished">Advertencia</translation>
+        <translation>Advertencia</translation>
     </message>
     <message>
         <source>Please specify a file to convert.</source>
-        <translation type="vanished">Por favor, especifique un archivo para convertir.</translation>
+        <translation>Por favor, especifique un archivo para convertir.</translation>
     </message>
     <message>
         <source>Please specify an output file</source>
-        <translation type="vanished">Por favor, especifique un archivo de salida</translation>
+        <translation>Por favor, especifique un archivo de salida</translation>
     </message>
     <message>
         <source>Fields description:
@@ -131052,7 +131051,7 @@ Developed by Paolo L. Scala, Barbara Rita Barricelli, Marco Padula
 CNR, Milan Unit (Information Technology), Construction Technologies Institute.
 For support send a mail to scala at itc.cnr.it
 </source>
-        <translation type="vanished">Descripcion de campos:
+        <translation>Descripcion de campos:
 * Archivo DXF de entrada: ruta al archivo DXF a convertir
 * Archivo SHP de salida: nombre deseado para el archivo shape a crear
 * Tipo de archivo SHP de salida: especifica el tipo del archivo shape de salida
@@ -131066,24 +131065,24 @@ Para ayuda enviar un correo a scala at itc.cnr.it
     </message>
     <message>
         <source>Choose a DXF file to open</source>
-        <translation type="vanished">Seleccione un archivo DXF para abrir</translation>
+        <translation>Seleccione un archivo DXF para abrir</translation>
     </message>
     <message>
         <source>DXF files</source>
-        <translation type="vanished">Archivos DXF</translation>
+        <translation>Archivos DXF</translation>
     </message>
     <message>
         <source>Choose a file name to save to</source>
-        <translation type="vanished">Seleccione un nombre de archivo en el que guardar</translation>
+        <translation>Seleccione un nombre de archivo en el que guardar</translation>
     </message>
     <message>
         <source>Shapefile</source>
-        <translation type="vanished">Archivo shape</translation>
+        <translation>Archivo shape</translation>
     </message>
     <message>
         <source>Export inserts</source>
         <extracomment>'insert' is the entity that inserts/references a symbol/block in DXF</extracomment>
-        <translation type="vanished">Exportar inserciones</translation>
+        <translation>Exportar inserciones</translation>
     </message>
 </context>
 <context>
@@ -131143,7 +131142,7 @@ Para ayuda enviar un correo a scala at itc.cnr.it
     </message>
     <message>
         <source>New Database connection requested...</source>
-        <translation type="vanished">Solicitada nueva conexión a base de datos...</translation>
+        <translation>Solicitada nueva conexión a base de datos...</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/databaseconnection/evisdatabaseconnectiongui.cpp" line="230"/>
@@ -131197,7 +131196,7 @@ Para ayuda enviar un correo a scala at itc.cnr.it
     </message>
     <message>
         <source>Error: Unabled to open file [%1]</source>
-        <translation type="vanished">Error: no se puede abrir el archivo [%1]</translation>
+        <translation>Error: no se puede abrir el archivo [%1]</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/databaseconnection/evisdatabaseconnectiongui.cpp" line="480"/>
@@ -131469,7 +131468,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Event Browser - Displaying records 01 of %1</source>
-        <translation type="vanished">Explorador de eventos - Mostrando registros 01 de %1</translation>
+        <translation>Explorador de eventos - Mostrando registros 01 de %1</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/eventbrowser/evisgenericeventbrowsergui.cpp" line="833"/>
@@ -131478,7 +131477,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Event Browser - Displaying records %1 of %2</source>
-        <translation type="vanished">Explorador de eventos - Mostrando registros %1 de %2</translation>
+        <translation>Explorador de eventos - Mostrando registros %1 de %2</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/eventbrowser/evisgenericeventbrowsergui.cpp" line="1141"/>
@@ -131505,7 +131504,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Previous</source>
-        <translation type="vanished">Anterior</translation>
+        <translation>Anterior</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/ui/evisgenericeventbrowserguibase.ui" line="115"/>
@@ -131514,7 +131513,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Next</source>
-        <translation type="vanished">Siguiente</translation>
+        <translation>Siguiente</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/ui/evisgenericeventbrowserguibase.ui" line="94"/>
@@ -131553,11 +131552,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use the drop-down list to select the field containing a directory path to the image. This can be an absolute or relative path.</source>
-        <translation type="vanished">Usar la lista desplegable para seleccionar el campo que contiene la ruta al directorio que contiene la imagen. Puede ser una ruta absoluta o relativa.</translation>
+        <translation>Usar la lista desplegable para seleccionar el campo que contiene la ruta al directorio que contiene la imagen. Puede ser una ruta absoluta o relativa.</translation>
     </message>
     <message>
         <source>If checked the path to the image will be defined appending the attribute in the field selected from the “Attribute Containing Path to Image” drop-down list to the “Base Path” defined below.</source>
-        <translation type="vanished">Si se marca, la ruta a la imagen se definirá añadiendo el valor del campo seleccionado en la lista desplegable “Atributo que contiene la ruta a la imagen” a la “Ruta base” definida más abajo.</translation>
+        <translation>Si se marca, la ruta a la imagen se definirá añadiendo el valor del campo seleccionado en la lista desplegable “Atributo que contiene la ruta a la imagen” a la “Ruta base” definida más abajo.</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/ui/evisgenericeventbrowserguibase.ui" line="270"/>
@@ -131632,11 +131631,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use the drop-down list to select the field containing the compass bearing for the image. This bearing usually references the direction the camera was pointing when the image was acquired. </source>
-        <translation type="vanished">Usar la lista desplegable para seleccionar el campo que contiene el rumbo de la brújula para la imagen. Este rumbo normalmente indica la dirección a la que apuntaba la cámara cuando se tomó la imagen.</translation>
+        <translation>Usar la lista desplegable para seleccionar el campo que contiene el rumbo de la brújula para la imagen. Este rumbo normalmente indica la dirección a la que apuntaba la cámara cuando se tomó la imagen.</translation>
     </message>
     <message>
         <source>If checked an arrow pointing in the direction defined by the attribute in the field selected from the drop-down list to the right will be displayed in the QGIS window on top of the point for this image.</source>
-        <translation type="vanished">Si se marca se mostrará una flecha apuntando a la dirección definida por el valor del campo seleccionado en la lista desplegable de la derecha en la ventana de QGIS encima del punto para esta imagen.</translation>
+        <translation>Si se marca se mostrará una flecha apuntando a la dirección definida por el valor del campo seleccionado en la lista desplegable de la derecha en la ventana de QGIS encima del punto para esta imagen.</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/ui/evisgenericeventbrowserguibase.ui" line="392"/>
@@ -131665,7 +131664,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>A value to be added to the compass bearing. This allows you to compensate for declination (adjust bearings collected using magnetic bearings to true north bearings). East declinations should be entered using positive values and west declinations should use negative values. </source>
-        <translation type="vanished">Un valor para añadir al rumbo de la brújula. Esto le permite compensar la declinación (ajustar rumbos tomados con brújulas magnéticas al Norte verdadero). Las declinaciones Este se deben introducir usando valores positivos y las declinaciones Oeste usando valores negativos.</translation>
+        <translation>Un valor para añadir al rumbo de la brújula. Esto le permite compensar la declinación (ajustar rumbos tomados con brújulas magnéticas al Norte verdadero). Las declinaciones Este se deben introducir usando valores positivos y las declinaciones Oeste usando valores negativos.</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/ui/evisgenericeventbrowserguibase.ui" line="453"/>
@@ -131679,7 +131678,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use the drop-down list to select the field containing the compass bearing offset. This allows you to compensate for declination (adjust bearings collected using magnetic bearings to true north bearings). East declinations should be entered using positive values and west declinations should use negative values. </source>
-        <translation type="vanished">Use la lista desplegable para seleccionar el campo que contiene el desplazamiento en el rumbo de la brújula. Esto permite compensar la declinación (ajustar rumbos recopilados usando rumbos magnéticos a rumbos verdaderos) Las declinaciones Este se deben introducir usando valores positivos y las declinaciones Oeste usando números negativos.</translation>
+        <translation>Use la lista desplegable para seleccionar el campo que contiene el desplazamiento en el rumbo de la brújula. Esto permite compensar la declinación (ajustar rumbos recopilados usando rumbos magnéticos a rumbos verdaderos) Las declinaciones Este se deben introducir usando valores positivos y las declinaciones Oeste usando números negativos.</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/ui/evisgenericeventbrowserguibase.ui" line="437"/>
@@ -131723,7 +131722,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the Base Path will append only the file name instead of the entire relative path (defined above) to create the full directory path to the file. </source>
-        <translation type="vanished">Si se marca, la ruta base añadirá sólo el nombre de archivo, en vez de la ruta relativa completa (definida arriba) para crear la ruta completa al archivo.</translation>
+        <translation>Si se marca, la ruta base añadirá sólo el nombre de archivo, en vez de la ruta relativa completa (definida arriba) para crear la ruta completa al archivo.</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/ui/evisgenericeventbrowserguibase.ui" line="706"/>
@@ -131735,15 +131734,15 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>If checked, the current check-box setting will be saved for the next session.</source>
-        <translation type="vanished">Si se marca, la configuración actual de la casilla de verificación se guardará para la próxima sesión.</translation>
+        <translation>Si se marca, la configuración actual de la casilla de verificación se guardará para la próxima sesión.</translation>
     </message>
     <message>
         <source>Clears the check-box on this line.</source>
-        <translation type="vanished">Limpia la casilla de verificación de esta línea.</translation>
+        <translation>Limpia la casilla de verificación de esta línea.</translation>
     </message>
     <message>
         <source>If checked, the same path rules that are defined for images will be used for non-image documents such as movies, text documents, and sound files. If not checked the path rules will only apply to images and other documents will ignore the Base Path parameter.</source>
-        <translation type="vanished">Si se marca, se usarán las mismas reglas de ruta definidas para imágenes para documentos que no sean imágenes, tales como películas, documentos de texto y archivos de sonido. Si no se marca las reglas de ruta sólo se aplicarán a las imágenes y otros documentos ignorarán el parámetro Ruta base.</translation>
+        <translation>Si se marca, se usarán las mismas reglas de ruta definidas para imágenes para documentos que no sean imágenes, tales como películas, documentos de texto y archivos de sonido. Si no se marca las reglas de ruta sólo se aplicarán a las imágenes y otros documentos ignorarán el parámetro Ruta base.</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/ui/evisgenericeventbrowserguibase.ui" line="771"/>
@@ -131752,7 +131751,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Clicking on Save will save the settings without closing the Options pane. Clicking on Restore Defaults will reset all of the fields to their default settings. It has the same effect as clicking all of the “Reset to default” buttons. </source>
-        <translation type="vanished">Pulsar Guardar guardará la configuración sin cerrar la ventana. Pulsar Restaurar predeterminados restablecerá todos los campos a su configuración predeterminada. Tiene el mismo efecto que pulsar todos los botones "Restablecer al predeterminado".</translation>
+        <translation>Pulsar Guardar guardará la configuración sin cerrar la ventana. Pulsar Restaurar predeterminados restablecerá todos los campos a su configuración predeterminada. Tiene el mismo efecto que pulsar todos los botones "Restablecer al predeterminado".</translation>
     </message>
     <message>
         <location filename="../src/plugins/evis/ui/evisgenericeventbrowserguibase.ui" line="386"/>
@@ -131910,7 +131909,7 @@ archivo de el atributo)</translation>
     <name>fillnodata</name>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2888"/>
@@ -131919,15 +131918,15 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Search distance</source>
-        <translation type="vanished">Distancia de búsqueda</translation>
+        <translation>Distancia de búsqueda</translation>
     </message>
     <message>
         <source>Smooth iterations</source>
-        <translation type="vanished">Iteraciones suaves</translation>
+        <translation>Iteraciones suaves</translation>
     </message>
     <message>
         <source>Band to operate on</source>
-        <translation type="vanished">Banda sobre la que operar</translation>
+        <translation>Banda sobre la que operar</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2893"/>
@@ -131936,7 +131935,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Do not use default validity mask</source>
-        <translation type="vanished">No usar la máscara de validación predeterminada</translation>
+        <translation>No usar la máscara de validación predeterminada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2889"/>
@@ -131978,85 +131977,85 @@ archivo de el atributo)</translation>
     <name>flightlinesToCHM</name>
     <message>
         <source>flightlinesToCHM</source>
-        <translation type="vanished">flightlinesToCHM</translation>
+        <translation>flightlinesToCHM</translation>
     </message>
     <message>
         <source>LAStools Pipelines</source>
-        <translation type="vanished">Tuberías de LAStools</translation>
+        <translation>Tuberías de LAStools</translation>
     </message>
     <message>
         <source>tile size (side length of square tile)</source>
-        <translation type="vanished">tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
+        <translation>tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
     </message>
     <message>
         <source>buffer around each tile (avoids edge artifacts)</source>
-        <translation type="vanished">buffer alrededor de cada tesela (evita artefactos de borde)</translation>
+        <translation>buffer alrededor de cada tesela (evita artefactos de borde)</translation>
     </message>
     <message>
         <source>terrain type</source>
-        <translation type="vanished">tipo de terreno</translation>
+        <translation>tipo de terreno</translation>
     </message>
     <message>
         <source>laser beam width (diameter of laser footprint)</source>
-        <translation type="vanished">anchura de haz láser (diámetro de huella láser)</translation>
+        <translation>anchura de haz láser (diámetro de huella láser)</translation>
     </message>
     <message>
         <source>tile base name (using 'sydney' creates sydney_274000_4714000...)</source>
-        <translation type="vanished">nombre base de tesela (usar 'sidney crea sidney_274000_4714000...)</translation>
+        <translation>nombre base de tesela (usar 'sidney crea sidney_274000_4714000...)</translation>
     </message>
 </context>
 <context>
     <name>flightlinesToDTMandDSM</name>
     <message>
         <source>flightlinesToDTMandDSM</source>
-        <translation type="vanished">flightlinesToDTMandDSM</translation>
+        <translation>flightlinesToDTMandDSM</translation>
     </message>
     <message>
         <source>LAStools Pipelines</source>
-        <translation type="vanished">Tuberías de LAStools</translation>
+        <translation>Tuberías de LAStools</translation>
     </message>
     <message>
         <source>tile size (side length of square tile)</source>
-        <translation type="vanished">tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
+        <translation>tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
     </message>
     <message>
         <source>buffer around each tile (avoids edge artifacts)</source>
-        <translation type="vanished">buffer alrededor de cada tesela (evita artefactos de borde)</translation>
+        <translation>buffer alrededor de cada tesela (evita artefactos de borde)</translation>
     </message>
     <message>
         <source>terrain type</source>
-        <translation type="vanished">tipo de terreno</translation>
+        <translation>tipo de terreno</translation>
     </message>
     <message>
         <source>tile base name (using 'sydney' creates sydney_274000_4714000...)</source>
-        <translation type="vanished">nombre base de tesela (usar 'sidney crea sidney_274000_4714000...)</translation>
+        <translation>nombre base de tesela (usar 'sidney crea sidney_274000_4714000...)</translation>
     </message>
 </context>
 <context>
     <name>flightlinesToSingleCHMpitFree</name>
     <message>
         <source>flightlinesToSingleCHMpitFree</source>
-        <translation type="vanished">flightlinesToSingleCHMpitFree</translation>
+        <translation>flightlinesToSingleCHMpitFree</translation>
     </message>
     <message>
         <source>LAStools Pipelines</source>
-        <translation type="vanished">Tuberías de LAStools</translation>
+        <translation>Tuberías de LAStools</translation>
     </message>
     <message>
         <source>tile size (side length of square tile)</source>
-        <translation type="vanished">tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
+        <translation>tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
     </message>
     <message>
         <source>buffer around each tile (avoids edge artifacts)</source>
-        <translation type="vanished">buffer alrededor de cada tesela (evita artefactos de borde)</translation>
+        <translation>buffer alrededor de cada tesela (evita artefactos de borde)</translation>
     </message>
     <message>
         <source>terrain type</source>
-        <translation type="vanished">tipo de terreno</translation>
+        <translation>tipo de terreno</translation>
     </message>
     <message>
         <source>laser beam width (diameter of laser footprint)</source>
-        <translation type="vanished">anchura de haz láser (diámetro de huella láser)</translation>
+        <translation>anchura de haz láser (diámetro de huella láser)</translation>
     </message>
 </context>
 <context>
@@ -132068,7 +132067,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>[GDAL] Miscellaneous</source>
-        <translation type="vanished">[GDAL] Miscelánea</translation>
+        <translation>[GDAL] Miscelánea</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2915"/>
@@ -132102,15 +132101,15 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Resume mode, generate only missing files</source>
-        <translation type="vanished">Modo continuación, generar solo los archivos que falten</translation>
+        <translation>Modo continuación, generar solo los archivos que falten</translation>
     </message>
     <message>
         <source>NODATA transparency value to assign to the input data</source>
-        <translation type="vanished">Valor de transparencia para SINDATOS a asignar a los datos de entrada</translation>
+        <translation>Valor de transparencia para SINDATOS a asignar a los datos de entrada</translation>
     </message>
     <message>
         <source>Generate KML for Google Earth - default for "geodetic" profile and "raster" in EPSG:4326</source>
-        <translation type="vanished">Generar KML para Google Earth - predeterminado para perfil "geodetic" y "raster" en EPSG:4326</translation>
+        <translation>Generar KML para Google Earth - predeterminado para perfil "geodetic" y "raster" en EPSG:4326</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2929"/>
@@ -132244,26 +132243,26 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Copyright for the map</source>
-        <translation type="vanished">Copyright para el mapa</translation>
+        <translation>Copyright para el mapa</translation>
     </message>
     <message>
         <source>Google Maps API key from http://code.google.com/apis/maps/signup.html</source>
-        <translation type="vanished">Clave API de Google Maps de http://code.google.com/apis/maps/signup.html</translation>
+        <translation>Clave API de Google Maps de http://code.google.com/apis/maps/signup.html</translation>
     </message>
     <message>
         <source>Bing Maps API key from https://www.bingmapsportal.com/</source>
-        <translation type="vanished">Clave API de Bing Maps de https://www.bingmapsportal.com/</translation>
+        <translation>Clave API de Bing Maps de https://www.bingmapsportal.com/</translation>
     </message>
     <message>
         <source>The directory where the tile result is created</source>
-        <translation type="vanished">El directorio donde se crea el resultado de la tesela</translation>
+        <translation>El directorio donde se crea el resultado de la tesela</translation>
     </message>
 </context>
 <context>
     <name>gdal2xyz</name>
     <message>
         <source>[GDAL] Conversion</source>
-        <translation type="vanished">[GDAL] Conversión</translation>
+        <translation>[GDAL] Conversión</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2936"/>
@@ -132297,7 +132296,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>xyz</source>
-        <translation type="vanished">xyz</translation>
+        <translation>xyz</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2941"/>
@@ -132309,7 +132308,7 @@ archivo de el atributo)</translation>
     <name>gdaladdo</name>
     <message>
         <source>[GDAL] Miscellaneous</source>
-        <translation type="vanished">[GDAL] Miscelánea</translation>
+        <translation>[GDAL] Miscelánea</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2946"/>
@@ -132403,7 +132402,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Overview format</source>
-        <translation type="vanished">Vista general del formato</translation>
+        <translation>Vista general del formato</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2963"/>
@@ -132420,7 +132419,7 @@ archivo de el atributo)</translation>
     <name>gdalcalc</name>
     <message>
         <source>[GDAL] Miscellaneous</source>
-        <translation type="vanished">[GDAL] Miscelánea</translation>
+        <translation>[GDAL] Miscelánea</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="2969"/>
@@ -132570,15 +132569,15 @@ archivo de el atributo)</translation>
     <name>gdaltindex</name>
     <message>
         <source>[GDAL] Miscellaneous</source>
-        <translation type="vanished">[GDAL] Miscelánea</translation>
+        <translation>[GDAL] Miscelánea</translation>
     </message>
     <message>
         <source>Input layers</source>
-        <translation type="vanished">Capas de entrada</translation>
+        <translation>Capas de entrada</translation>
     </message>
     <message>
         <source>Tile index field</source>
-        <translation type="vanished">Campo de índice de teselas</translation>
+        <translation>Campo de índice de teselas</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3003"/>
@@ -133355,7 +133354,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Create raster images with textural features from raster (first serie of indices)</source>
-        <translation type="vanished">Crear imágenes ráster con características texturales a partir de ráster (primera serie de índices)</translation>
+        <translation>Crear imágenes ráster con características texturales a partir de ráster (primera serie de índices)</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/grasslabels-i18n.cpp" line="147"/>
@@ -133379,7 +133378,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Create raster with textural features from raster (second serie of indices)</source>
-        <translation type="vanished">Crear imágenes ráster con características texturales a partir de ráster (segunda serie de índices)</translation>
+        <translation>Crear imágenes ráster con características texturales a partir de ráster (segunda serie de índices)</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/grasslabels-i18n.cpp" line="146"/>
@@ -134853,7 +134852,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Remove vertices in threshold from lines and boundaries, boundary is pruned only if topology is not damaged (new intersection, changed attachement of centroid), first and last segment of the boundary is never changed</source>
-        <translation type="vanished">Eliminar vértices de líneas y contornos dentro del umbral. Los contornos sólo se recortan si la topología no se daña (nueva intersección, cambio en la colocación de centroides). El primer y último segmento de un contorno nunca se cambian.</translation>
+        <translation>Eliminar vértices de líneas y contornos dentro del umbral. Los contornos sólo se recortan si la topología no se daña (nueva intersección, cambio en la colocación de centroides). El primer y último segmento de un contorno nunca se cambian.</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/grasslabels-i18n.cpp" line="443"/>
@@ -135017,7 +135016,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Set raster color table from setted tables</source>
-        <translation type="vanished">Establecer la tabla de color desde tablas establecidas</translation>
+        <translation>Establecer la tabla de color desde tablas establecidas</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/grasslabels-i18n.cpp" line="476"/>
@@ -135166,7 +135165,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Tassled cap vegetation index</source>
-        <translation type="vanished">Índice de vegetación Tasseled Cap</translation>
+        <translation>Índice de vegetación Tasseled Cap</translation>
     </message>
     <message>
         <location filename="../src/plugins/grass/grasslabels-i18n.cpp" line="505"/>
@@ -135388,7 +135387,7 @@ archivo de el atributo)</translation>
     <name>hillshade</name>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3021"/>
@@ -135412,7 +135411,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Use Zevenbergen&Thorne formula (instead of the Horn's one)</source>
-        <translation type="vanished">Usar la fórmula Zevenbergen&Thorne (en vez de la de Horn)</translation>
+        <translation>Usar la fórmula Zevenbergen&Thorne (en vez de la de Horn)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3023"/>
@@ -135421,7 +135420,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Scale (ratio of vert. units to horiz.)</source>
-        <translation type="vanished">Escala (relación de unidades vert. a horiz.)</translation>
+        <translation>Escala (relación de unidades vert. a horiz.)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3025"/>
@@ -135468,1712 +135467,1712 @@ archivo de el atributo)</translation>
     <name>hugeFileClassify</name>
     <message>
         <source>hugeFileClassify</source>
-        <translation type="vanished">hugeFileClassify</translation>
+        <translation>hugeFileClassify</translation>
     </message>
     <message>
         <source>LAStools Pipelines</source>
-        <translation type="vanished">Tuberías de LAStools</translation>
+        <translation>Tuberías de LAStools</translation>
     </message>
     <message>
         <source>tile size (side length of square tile)</source>
-        <translation type="vanished">tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
+        <translation>tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
     </message>
     <message>
         <source>buffer around each tile (avoids edge artifacts)</source>
-        <translation type="vanished">buffer alrededor de cada tesela (evita artefactos de borde)</translation>
+        <translation>buffer alrededor de cada tesela (evita artefactos de borde)</translation>
     </message>
     <message>
         <source>airborne LiDAR</source>
-        <translation type="vanished">LIDAR aéreo</translation>
+        <translation>LIDAR aéreo</translation>
     </message>
     <message>
         <source>terrain type</source>
-        <translation type="vanished">tipo de terreno</translation>
+        <translation>tipo de terreno</translation>
     </message>
     <message>
         <source>preprocessing</source>
-        <translation type="vanished">preprocesado</translation>
+        <translation>preprocesado</translation>
     </message>
 </context>
 <context>
     <name>hugeFileGroundClassify</name>
     <message>
         <source>hugeFileGroundClassify</source>
-        <translation type="vanished">hugeFileGroundClassify</translation>
+        <translation>hugeFileGroundClassify</translation>
     </message>
     <message>
         <source>LAStools Pipelines</source>
-        <translation type="vanished">Tuberías de LAStools</translation>
+        <translation>Tuberías de LAStools</translation>
     </message>
     <message>
         <source>tile size (side length of square tile)</source>
-        <translation type="vanished">tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
+        <translation>tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
     </message>
     <message>
         <source>buffer around each tile (avoids edge artifacts)</source>
-        <translation type="vanished">buffer alrededor de cada tesela (evita artefactos de borde)</translation>
+        <translation>buffer alrededor de cada tesela (evita artefactos de borde)</translation>
     </message>
     <message>
         <source>airborne LiDAR</source>
-        <translation type="vanished">LIDAR aéreo</translation>
+        <translation>LIDAR aéreo</translation>
     </message>
     <message>
         <source>terrain type</source>
-        <translation type="vanished">tipo de terreno</translation>
+        <translation>tipo de terreno</translation>
     </message>
     <message>
         <source>preprocessing</source>
-        <translation type="vanished">preprocesado</translation>
+        <translation>preprocesado</translation>
     </message>
 </context>
 <context>
     <name>hugeFileNormalize</name>
     <message>
         <source>LAStools Pipelines</source>
-        <translation type="vanished">Tuberías de LAStools</translation>
+        <translation>Tuberías de LAStools</translation>
     </message>
     <message>
         <source>tile size (side length of square tile)</source>
-        <translation type="vanished">tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
+        <translation>tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
     </message>
     <message>
         <source>buffer around each tile (avoids edge artifacts)</source>
-        <translation type="vanished">buffer alrededor de cada tesela (evita artefactos de borde)</translation>
+        <translation>buffer alrededor de cada tesela (evita artefactos de borde)</translation>
     </message>
     <message>
         <source>airborne LiDAR</source>
-        <translation type="vanished">LIDAR aéreo</translation>
+        <translation>LIDAR aéreo</translation>
     </message>
     <message>
         <source>terrain type</source>
-        <translation type="vanished">tipo de terreno</translation>
+        <translation>tipo de terreno</translation>
     </message>
     <message>
         <source>preprocessing</source>
-        <translation type="vanished">preprocesado</translation>
+        <translation>preprocesado</translation>
     </message>
 </context>
 <context>
     <name>information</name>
     <message>
         <source>[GDAL] Miscellaneous</source>
-        <translation type="vanished">[GDAL] Miscelánea</translation>
+        <translation>[GDAL] Miscelánea</translation>
     </message>
     <message>
         <source>Input layer</source>
-        <translation type="vanished">Capa de entrada</translation>
+        <translation>Capa de entrada</translation>
     </message>
     <message>
         <source>Suppress GCP info</source>
-        <translation type="vanished">Suprimir información de PCT</translation>
+        <translation>Suprimir información de PCT</translation>
     </message>
     <message>
         <source>Suppress metadata info</source>
-        <translation type="vanished">Suprimir información de metadatos</translation>
+        <translation>Suprimir información de metadatos</translation>
     </message>
     <message>
         <source>Layer information</source>
-        <translation type="vanished">Información de la capa</translation>
+        <translation>Información de la capa</translation>
     </message>
     <message>
         <source>Information</source>
-        <translation type="vanished">Información</translation>
+        <translation>Información</translation>
     </message>
 </context>
 <context>
     <name>las2dem</name>
     <message>
         <source>las2dem</source>
-        <translation type="vanished">las2dem</translation>
+        <translation>las2dem</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>Attribute</source>
-        <translation type="vanished">Atributo</translation>
+        <translation>Atributo</translation>
     </message>
     <message>
         <source>Product</source>
-        <translation type="vanished">Producto</translation>
+        <translation>Producto</translation>
     </message>
     <message>
         <source>use tile bounding box (after tiling with buffer)</source>
-        <translation type="vanished">usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
+        <translation>usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
     </message>
 </context>
 <context>
     <name>las2demPro</name>
     <message>
         <source>las2demPro</source>
-        <translation type="vanished">lasAdemPro</translation>
+        <translation>lasAdemPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>attribute (what to interpolate)</source>
-        <translation type="vanished">atributo (qué interpolar)</translation>
+        <translation>atributo (qué interpolar)</translation>
     </message>
     <message>
         <source>product (how to output per pixel)</source>
-        <translation type="vanished">producto (cómo sacar por píxel)</translation>
+        <translation>producto (cómo sacar por píxel)</translation>
     </message>
     <message>
         <source>use tile bounding box (after tiling with buffer)</source>
-        <translation type="vanished">usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
+        <translation>usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
     </message>
 </context>
 <context>
     <name>las2iso</name>
     <message>
         <source>las2iso</source>
-        <translation type="vanished">las2iso</translation>
+        <translation>las2iso</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>smooth underlying TIN</source>
-        <translation type="vanished">suavizar TIN subyacente</translation>
+        <translation>suavizar TIN subyacente</translation>
     </message>
     <message>
         <source>extract isoline with a spacing of</source>
-        <translation type="vanished">extraer isolínea con un espaciado de </translation>
+        <translation>extraer isolínea con un espaciado de </translation>
     </message>
     <message>
         <source>clean isolines shorter than (0 = do not clean)</source>
-        <translation type="vanished">limpiar isolíneas más cortas de (0 = no limpiar)</translation>
+        <translation>limpiar isolíneas más cortas de (0 = no limpiar)</translation>
     </message>
     <message>
         <source>simplify segments shorter than (0 = do not simplify)</source>
-        <translation type="vanished">simplificar segmentos más cortos de (0 = no simplificar)</translation>
+        <translation>simplificar segmentos más cortos de (0 = no simplificar)</translation>
     </message>
     <message>
         <source>simplify segments pairs with area less than (0 = do not simplify)</source>
-        <translation type="vanished">simplificar pares de segmentos con área inferior a (0 = no simplificar)</translation>
+        <translation>simplificar pares de segmentos con área inferior a (0 = no simplificar)</translation>
     </message>
 </context>
 <context>
     <name>las2lasPro_filter</name>
     <message>
         <source>las2lasPro_filter</source>
-        <translation type="vanished">lasAlasPro_filter</translation>
+        <translation>lasAlasPro_filter</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
 </context>
 <context>
     <name>las2lasPro_project</name>
     <message>
         <source>las2lasPro_project</source>
-        <translation type="vanished">lasAlasPro_project</translation>
+        <translation>lasAlasPro_project</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>source projection</source>
-        <translation type="vanished">proyección de origen</translation>
+        <translation>proyección de origen</translation>
     </message>
     <message>
         <source>source utm zone</source>
-        <translation type="vanished">zona UTM de origen</translation>
+        <translation>zona UTM de origen</translation>
     </message>
     <message>
         <source>source state plane code</source>
-        <translation type="vanished">código plano de estado de origen</translation>
+        <translation>código plano de estado de origen</translation>
     </message>
     <message>
         <source>target projection</source>
-        <translation type="vanished">proyección de destino</translation>
+        <translation>proyección de destino</translation>
     </message>
     <message>
         <source>target utm zone</source>
-        <translation type="vanished">zona UTM de destino</translation>
+        <translation>zona UTM de destino</translation>
     </message>
     <message>
         <source>target state plane code</source>
-        <translation type="vanished">código plano de estado de destino</translation>
+        <translation>código plano de estado de destino</translation>
     </message>
 </context>
 <context>
     <name>las2lasPro_transform</name>
     <message>
         <source>las2lasPro_transform</source>
-        <translation type="vanished">lasAlasPro_transform</translation>
+        <translation>lasAlasPro_transform</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>operations (first 8 need an argument)</source>
-        <translation type="vanished">operaciones (las 8 primeras necesitan un argumento)</translation>
+        <translation>operaciones (las 8 primeras necesitan un argumento)</translation>
     </message>
     <message>
         <source>argument for operation</source>
-        <translation type="vanished">argumento para la operación</translation>
+        <translation>argumento para la operación</translation>
     </message>
 </context>
 <context>
     <name>las2las_filter</name>
     <message>
         <source>las2las_filter</source>
-        <translation type="vanished">las2las_filter</translation>
+        <translation>las2las_filter</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
 </context>
 <context>
     <name>las2las_project</name>
     <message>
         <source>las2las_project</source>
-        <translation type="vanished">lasAlas_project</translation>
+        <translation>lasAlas_project</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>source projection</source>
-        <translation type="vanished">proyección de origen</translation>
+        <translation>proyección de origen</translation>
     </message>
     <message>
         <source>source utm zone</source>
-        <translation type="vanished">zona UTM de origen</translation>
+        <translation>zona UTM de origen</translation>
     </message>
     <message>
         <source>source state plane code</source>
-        <translation type="vanished">código plano de estado de origen</translation>
+        <translation>código plano de estado de origen</translation>
     </message>
     <message>
         <source>target projection</source>
-        <translation type="vanished">proyección de destino</translation>
+        <translation>proyección de destino</translation>
     </message>
     <message>
         <source>target utm zone</source>
-        <translation type="vanished">zona UTM de destino</translation>
+        <translation>zona UTM de destino</translation>
     </message>
     <message>
         <source>target state plane code</source>
-        <translation type="vanished">código plano de estado de destino</translation>
+        <translation>código plano de estado de destino</translation>
     </message>
 </context>
 <context>
     <name>las2las_transform</name>
     <message>
         <source>las2las_transform</source>
-        <translation type="vanished">las2las_transform</translation>
+        <translation>las2las_transform</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>operations (first 8 need an argument)</source>
-        <translation type="vanished">operaciones (las 8 primeras necesitan un argumento)</translation>
+        <translation>operaciones (las 8 primeras necesitan un argumento)</translation>
     </message>
     <message>
         <source>argument for operation</source>
-        <translation type="vanished">argumento para la operación</translation>
+        <translation>argumento para la operación</translation>
     </message>
 </context>
 <context>
     <name>las2shp</name>
     <message>
         <source>las2shp</source>
-        <translation type="vanished">lasAshp</translation>
+        <translation>lasAshp</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>use PointZ instead of MultiPointZ</source>
-        <translation type="vanished">usar PuntoZ en vez de MultiPuntoZ</translation>
+        <translation>usar PuntoZ en vez de MultiPuntoZ</translation>
     </message>
     <message>
         <source>number of points per record</source>
-        <translation type="vanished">número de puntos por registro</translation>
+        <translation>número de puntos por registro</translation>
     </message>
     <message>
         <source>Output SHP file</source>
-        <translation type="vanished">Archivo SHP de salida</translation>
+        <translation>Archivo SHP de salida</translation>
     </message>
 </context>
 <context>
     <name>las2tin</name>
     <message>
         <source>las2tin</source>
-        <translation type="vanished">lasAtin</translation>
+        <translation>lasAtin</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
 </context>
 <context>
     <name>las2txt</name>
     <message>
         <source>las2txt</source>
-        <translation type="vanished">lasAtxt</translation>
+        <translation>lasAtxt</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>parse string</source>
-        <translation type="vanished">analizar cadena</translation>
+        <translation>analizar cadena</translation>
     </message>
     <message>
         <source>Output ASCII file</source>
-        <translation type="vanished">Archivo ASCII de salida</translation>
+        <translation>Archivo ASCII de salida</translation>
     </message>
 </context>
 <context>
     <name>las2txtPro</name>
     <message>
         <source>las2txtPro</source>
-        <translation type="vanished">lasAtxtPro</translation>
+        <translation>lasAtxtPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>parse string</source>
-        <translation type="vanished">analizar cadena</translation>
+        <translation>analizar cadena</translation>
     </message>
 </context>
 <context>
     <name>lasboundary</name>
     <message>
         <source>lasboundary</source>
-        <translation type="vanished">lasboundary</translation>
+        <translation>lasboundary</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>compute boundary based on</source>
-        <translation type="vanished">procesar contorno en base a</translation>
+        <translation>procesar contorno en base a</translation>
     </message>
     <message>
         <source>concavity</source>
-        <translation type="vanished">concavidad</translation>
+        <translation>concavidad</translation>
     </message>
     <message>
         <source>interior holes</source>
-        <translation type="vanished">agujeros interiores</translation>
+        <translation>agujeros interiores</translation>
     </message>
     <message>
         <source>disjoint polygon</source>
-        <translation type="vanished">polígono inconexo</translation>
+        <translation>polígono inconexo</translation>
     </message>
 </context>
 <context>
     <name>lasboundaryPro</name>
     <message>
         <source>lasboundaryPro</source>
-        <translation type="vanished">lasboundaryPro</translation>
+        <translation>lasboundaryPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>compute boundary based on</source>
-        <translation type="vanished">procesar contorno en base a</translation>
+        <translation>procesar contorno en base a</translation>
     </message>
     <message>
         <source>concavity</source>
-        <translation type="vanished">concavidad</translation>
+        <translation>concavidad</translation>
     </message>
     <message>
         <source>interior holes</source>
-        <translation type="vanished">agujeros interiores</translation>
+        <translation>agujeros interiores</translation>
     </message>
     <message>
         <source>disjoint polygon</source>
-        <translation type="vanished">polígono inconexo</translation>
+        <translation>polígono inconexo</translation>
     </message>
 </context>
 <context>
     <name>lascanopy</name>
     <message>
         <source>lascanopy</source>
-        <translation type="vanished">lascanopy</translation>
+        <translation>lascanopy</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>square plot size</source>
-        <translation type="vanished">tamaño de trazado cuadrado</translation>
+        <translation>tamaño de trazado cuadrado</translation>
     </message>
     <message>
         <source>height cutoff / breast height</source>
-        <translation type="vanished">altura de corte / altura de pecho</translation>
+        <translation>altura de corte / altura de pecho</translation>
     </message>
     <message>
         <source>create</source>
-        <translation type="vanished">crear</translation>
+        <translation>crear</translation>
     </message>
     <message>
         <source>count rasters (e.g. 2.0 5.0 10.0 20.0)</source>
-        <translation type="vanished">rásters de recuento (e.g. 2.0 5.0 10.0 20.0)</translation>
+        <translation>rásters de recuento (e.g. 2.0 5.0 10.0 20.0)</translation>
     </message>
     <message>
         <source>density rasters (e.g. 2.0 5.0 10.0 20.0)</source>
-        <translation type="vanished">rásters de densidad (e.g. 2.0 5.0 10.0 20.0)</translation>
+        <translation>rásters de densidad (e.g. 2.0 5.0 10.0 20.0)</translation>
     </message>
     <message>
         <source>use tile bounding box (after tiling with buffer)</source>
-        <translation type="vanished">usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
+        <translation>usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
     </message>
     <message>
         <source>input file is single plot</source>
-        <translation type="vanished">el archivo de entrada es un único gráfico</translation>
+        <translation>el archivo de entrada es un único gráfico</translation>
     </message>
 </context>
 <context>
     <name>lascanopyPro</name>
     <message>
         <source>lascanopyPro</source>
-        <translation type="vanished">lascanopyPro</translation>
+        <translation>lascanopyPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>square plot size</source>
-        <translation type="vanished">tamaño de trazado cuadrado</translation>
+        <translation>tamaño de trazado cuadrado</translation>
     </message>
     <message>
         <source>height cutoff / breast height</source>
-        <translation type="vanished">altura de corte / altura de pecho</translation>
+        <translation>altura de corte / altura de pecho</translation>
     </message>
     <message>
         <source>create</source>
-        <translation type="vanished">crear</translation>
+        <translation>crear</translation>
     </message>
     <message>
         <source>count rasters (e.g. 2.0 5.0 10.0 20.0)</source>
-        <translation type="vanished">rásters de recuento (e.g. 2.0 5.0 10.0 20.0)</translation>
+        <translation>rásters de recuento (e.g. 2.0 5.0 10.0 20.0)</translation>
     </message>
     <message>
         <source>density rasters (e.g. 2.0 5.0 10.0 20.0)</source>
-        <translation type="vanished">rásters de densidad (e.g. 2.0 5.0 10.0 20.0)</translation>
+        <translation>rásters de densidad (e.g. 2.0 5.0 10.0 20.0)</translation>
     </message>
     <message>
         <source>use tile bounding box (after tiling with buffer)</source>
-        <translation type="vanished">usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
+        <translation>usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
     </message>
     <message>
         <source>input file is single plot</source>
-        <translation type="vanished">el archivo de entrada es un único gráfico</translation>
+        <translation>el archivo de entrada es un único gráfico</translation>
     </message>
 </context>
 <context>
     <name>lasclassify</name>
     <message>
         <source>lasclassify</source>
-        <translation type="vanished">lasclassify</translation>
+        <translation>lasclassify</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
 </context>
 <context>
     <name>lasclassifyPro</name>
     <message>
         <source>lasclassifyPro</source>
-        <translation type="vanished">lasclassifyPro</translation>
+        <translation>lasclassifyPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
 </context>
 <context>
     <name>lasclip</name>
     <message>
         <source>lasclip</source>
-        <translation type="vanished">lasclip</translation>
+        <translation>lasclip</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>Input polygon(s)</source>
-        <translation type="vanished">Polígono(s) de entrada</translation>
+        <translation>Polígono(s) de entrada</translation>
     </message>
     <message>
         <source>interior</source>
-        <translation type="vanished">interior</translation>
+        <translation>interior</translation>
     </message>
     <message>
         <source>what to do with points</source>
-        <translation type="vanished">qué hacer con los puntos</translation>
+        <translation>qué hacer con los puntos</translation>
     </message>
     <message>
         <source>classify as</source>
-        <translation type="vanished">clasificar como</translation>
+        <translation>clasificar como</translation>
     </message>
 </context>
 <context>
     <name>lascolor</name>
     <message>
         <source>lascolor</source>
-        <translation type="vanished">lascolor</translation>
+        <translation>lascolor</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>Input ortho</source>
-        <translation type="vanished">Orto de entrada</translation>
+        <translation>Orto de entrada</translation>
     </message>
 </context>
 <context>
     <name>lascontrol</name>
     <message>
         <source>lascontrol</source>
-        <translation type="vanished">lascontrol</translation>
+        <translation>lascontrol</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>ASCII text file of control points</source>
-        <translation type="vanished">Archivo de texto ASCII de puntos de control</translation>
+        <translation>Archivo de texto ASCII de puntos de control</translation>
     </message>
     <message>
         <source>parse string marking which columns are xyz (use 's' for skip)</source>
-        <translation type="vanished">analizar cadena marcando qué columnas son XYZ (usar 's' para saltar)</translation>
+        <translation>analizar cadena marcando qué columnas son XYZ (usar 's' para saltar)</translation>
     </message>
     <message>
         <source>which points to use for elevation checks</source>
-        <translation type="vanished">qué puntos usar para comprobaciones de altitud</translation>
+        <translation>qué puntos usar para comprobaciones de altitud</translation>
     </message>
     <message>
         <source>adjust z elevation by translating away the average error</source>
-        <translation type="vanished">ajustar altitud Z eliminando el error promedio</translation>
+        <translation>ajustar altitud Z eliminando el error promedio</translation>
     </message>
 </context>
 <context>
     <name>lasdiff</name>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>other input LAS/LAZ file</source>
-        <translation type="vanished">otro archivo LAS/LAZ de entrada</translation>
+        <translation>otro archivo LAS/LAZ de entrada</translation>
     </message>
     <message>
         <source>stop reporting difference after this many points</source>
-        <translation type="vanished">dejar de informar diferencias después de este número de puntos</translation>
+        <translation>dejar de informar diferencias después de este número de puntos</translation>
     </message>
     <message>
         <source>create elevation difference file (if points are in the same order)</source>
-        <translation type="vanished">crear archivo de diferencia de altitud (si los puntos están en el mismo orden)</translation>
+        <translation>crear archivo de diferencia de altitud (si los puntos están en el mismo orden)</translation>
     </message>
 </context>
 <context>
     <name>lasduplicate</name>
     <message>
         <source>lasduplicate</source>
-        <translation type="vanished">lasduplicate</translation>
+        <translation>lasduplicate</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>keep duplicate with lowest z coordinate</source>
-        <translation type="vanished">mantener duplicado con coordenada Z más baja</translation>
+        <translation>mantener duplicado con coordenada Z más baja</translation>
     </message>
     <message>
         <source>only remove duplicates in x y and z</source>
-        <translation type="vanished">solo eliminar duplicados en X, Y y Z</translation>
+        <translation>solo eliminar duplicados en X, Y y Z</translation>
     </message>
     <message>
         <source>mark surviving duplicate as single return</source>
-        <translation type="vanished">marcar duplicados supervivientes como retorno único</translation>
+        <translation>marcar duplicados supervivientes como retorno único</translation>
     </message>
     <message>
         <source>record removed duplicates to LAS/LAZ file</source>
-        <translation type="vanished">registrar duplicados eliminados en archivo LAS/LAZ</translation>
+        <translation>registrar duplicados eliminados en archivo LAS/LAZ</translation>
     </message>
 </context>
 <context>
     <name>lasduplicatePro</name>
     <message>
         <source>lasduplicatePro</source>
-        <translation type="vanished">lasduplicatePro</translation>
+        <translation>lasduplicatePro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>keep duplicate with lowest z coordinate</source>
-        <translation type="vanished">mantener duplicado con coordenada Z más baja</translation>
+        <translation>mantener duplicado con coordenada Z más baja</translation>
     </message>
     <message>
         <source>only remove duplicates in x y and z</source>
-        <translation type="vanished">solo eliminar duplicados en X, Y y Z</translation>
+        <translation>solo eliminar duplicados en X, Y y Z</translation>
     </message>
     <message>
         <source>mark surviving duplicate as single return</source>
-        <translation type="vanished">marcar duplicados supervivientes como retorno único</translation>
+        <translation>marcar duplicados supervivientes como retorno único</translation>
     </message>
     <message>
         <source>record removed duplicates</source>
-        <translation type="vanished">registrar duplicados eliminados</translation>
+        <translation>registrar duplicados eliminados</translation>
     </message>
 </context>
 <context>
     <name>lasgrid</name>
     <message>
         <source>lasgrid</source>
-        <translation type="vanished">lasgrid</translation>
+        <translation>lasgrid</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>Attribute</source>
-        <translation type="vanished">Atributo</translation>
+        <translation>Atributo</translation>
     </message>
     <message>
         <source>Method</source>
-        <translation type="vanished">Método</translation>
+        <translation>Método</translation>
     </message>
     <message>
         <source>use tile bounding box (after tiling with buffer)</source>
-        <translation type="vanished">usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
+        <translation>usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
     </message>
 </context>
 <context>
     <name>lasgridPro</name>
     <message>
         <source>lasgridPro</source>
-        <translation type="vanished">lasgridPro</translation>
+        <translation>lasgridPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>Attribute</source>
-        <translation type="vanished">Atributo</translation>
+        <translation>Atributo</translation>
     </message>
     <message>
         <source>Method</source>
-        <translation type="vanished">Método</translation>
+        <translation>Método</translation>
     </message>
     <message>
         <source>use tile bounding box (after tiling with buffer)</source>
-        <translation type="vanished">usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
+        <translation>usar el recuadro delimitador de la tesela (después de hacer el teselado con buffer)</translation>
     </message>
 </context>
 <context>
     <name>lasground</name>
     <message>
         <source>lasground</source>
-        <translation type="vanished">lasground</translation>
+        <translation>lasground</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>no triangle bulging during TIN refinement</source>
-        <translation type="vanished">ningún abultamiento de triángulos durante el refinamiento TIN</translation>
+        <translation>ningún abultamiento de triángulos durante el refinamiento TIN</translation>
     </message>
     <message>
         <source>terrain type</source>
-        <translation type="vanished">tipo de terreno</translation>
+        <translation>tipo de terreno</translation>
     </message>
     <message>
         <source>preprocessing</source>
-        <translation type="vanished">preprocesado</translation>
+        <translation>preprocesado</translation>
     </message>
 </context>
 <context>
     <name>lasgroundPro</name>
     <message>
         <source>lasgroundPro</source>
-        <translation type="vanished">lasgroundPro</translation>
+        <translation>lasgroundPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>no triangle bulging during TIN refinement</source>
-        <translation type="vanished">ningún abultamiento de triángulos durante el refinamiento TIN</translation>
+        <translation>ningún abultamiento de triángulos durante el refinamiento TIN</translation>
     </message>
     <message>
         <source>terrain type</source>
-        <translation type="vanished">tipo de terreno</translation>
+        <translation>tipo de terreno</translation>
     </message>
     <message>
         <source>preprocessing</source>
-        <translation type="vanished">preprocesado</translation>
+        <translation>preprocesado</translation>
     </message>
 </context>
 <context>
     <name>lasgroundPro_new</name>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>terrain type</source>
-        <translation type="vanished">tipo de terreno</translation>
+        <translation>tipo de terreno</translation>
     </message>
     <message>
         <source>preprocessing</source>
-        <translation type="vanished">preprocesado</translation>
+        <translation>preprocesado</translation>
     </message>
     <message>
         <source>step (for 'custom' terrain only)</source>
-        <translation type="vanished">paso (solo para terreno 'personalizado')</translation>
+        <translation>paso (solo para terreno 'personalizado')</translation>
     </message>
     <message>
         <source>offset (for 'custom' terrain only)</source>
-        <translation type="vanished">desplazamiento (solo para terreno 'personalizado')</translation>
+        <translation>desplazamiento (solo para terreno 'personalizado')</translation>
     </message>
 </context>
 <context>
     <name>lasground_new</name>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>terrain type</source>
-        <translation type="vanished">tipo de terreno</translation>
+        <translation>tipo de terreno</translation>
     </message>
     <message>
         <source>preprocessing</source>
-        <translation type="vanished">preprocesado</translation>
+        <translation>preprocesado</translation>
     </message>
     <message>
         <source>step (for 'custom' terrain only)</source>
-        <translation type="vanished">paso (solo para terreno 'personalizado')</translation>
+        <translation>paso (solo para terreno 'personalizado')</translation>
     </message>
     <message>
         <source>offset (for 'custom' terrain only)</source>
-        <translation type="vanished">desplazamiento (solo para terreno 'personalizado')</translation>
+        <translation>desplazamiento (solo para terreno 'personalizado')</translation>
     </message>
 </context>
 <context>
     <name>lasheight</name>
     <message>
         <source>lasheight</source>
-        <translation type="vanished">lasheight</translation>
+        <translation>lasheight</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>replace z</source>
-        <translation type="vanished">remplazar Z</translation>
+        <translation>remplazar Z</translation>
     </message>
     <message>
         <source>drop above</source>
-        <translation type="vanished">eliminar arriba</translation>
+        <translation>eliminar arriba</translation>
     </message>
     <message>
         <source>drop above height</source>
-        <translation type="vanished">altura para eliminar arriba</translation>
+        <translation>altura para eliminar arriba</translation>
     </message>
     <message>
         <source>drop below</source>
-        <translation type="vanished">eliminar abajo</translation>
+        <translation>eliminar abajo</translation>
     </message>
     <message>
         <source>drop below height</source>
-        <translation type="vanished">altura para eliminar abajo</translation>
+        <translation>altura para eliminar abajo</translation>
     </message>
 </context>
 <context>
     <name>lasheightPro</name>
     <message>
         <source>lasheightPro</source>
-        <translation type="vanished">lasheightPro</translation>
+        <translation>lasheightPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>replace z</source>
-        <translation type="vanished">remplazar Z</translation>
+        <translation>remplazar Z</translation>
     </message>
     <message>
         <source>drop above</source>
-        <translation type="vanished">eliminar arriba</translation>
+        <translation>eliminar arriba</translation>
     </message>
     <message>
         <source>drop above height</source>
-        <translation type="vanished">altura para eliminar arriba</translation>
+        <translation>altura para eliminar arriba</translation>
     </message>
     <message>
         <source>drop below</source>
-        <translation type="vanished">eliminar abajo</translation>
+        <translation>eliminar abajo</translation>
     </message>
     <message>
         <source>drop below height</source>
-        <translation type="vanished">altura para eliminar abajo</translation>
+        <translation>altura para eliminar abajo</translation>
     </message>
 </context>
 <context>
     <name>lasheightPro_classify</name>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>replace z</source>
-        <translation type="vanished">remplazar Z</translation>
+        <translation>remplazar Z</translation>
     </message>
     <message>
         <source>classify below height as</source>
-        <translation type="vanished">clasificar altura inferior como</translation>
+        <translation>clasificar altura inferior como</translation>
     </message>
     <message>
         <source>below height</source>
-        <translation type="vanished">altura inferior</translation>
+        <translation>altura inferior</translation>
     </message>
     <message>
         <source>classify between height as</source>
-        <translation type="vanished">clasificar altura entre como</translation>
+        <translation>clasificar altura entre como</translation>
     </message>
     <message>
         <source>between height ... </source>
-        <translation type="vanished">entre altura...</translation>
+        <translation>entre altura...</translation>
     </message>
     <message>
         <source>... and height</source>
-        <translation type="vanished">... y altura</translation>
+        <translation>... y altura</translation>
     </message>
     <message>
         <source>between height ...</source>
-        <translation type="vanished">altura entre...</translation>
+        <translation>altura entre...</translation>
     </message>
     <message>
         <source>classify above</source>
-        <translation type="vanished">clasificar por encima</translation>
+        <translation>clasificar por encima</translation>
     </message>
     <message>
         <source>classify above height</source>
-        <translation type="vanished">clasificar altura superior como</translation>
+        <translation>clasificar altura superior como</translation>
     </message>
 </context>
 <context>
     <name>lasheight_classify</name>
     <message>
         <source>lasheight_classify</source>
-        <translation type="vanished">clasificar_altura_las</translation>
+        <translation>clasificar_altura_las</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>replace z</source>
-        <translation type="vanished">remplazar Z</translation>
+        <translation>remplazar Z</translation>
     </message>
     <message>
         <source>classify below height as</source>
-        <translation type="vanished">clasificar altura inferior como</translation>
+        <translation>clasificar altura inferior como</translation>
     </message>
     <message>
         <source>below height</source>
-        <translation type="vanished">altura inferior</translation>
+        <translation>altura inferior</translation>
     </message>
     <message>
         <source>classify between height as</source>
-        <translation type="vanished">clasificar altura entre como</translation>
+        <translation>clasificar altura entre como</translation>
     </message>
     <message>
         <source>between height ... </source>
-        <translation type="vanished">entre altura...</translation>
+        <translation>entre altura...</translation>
     </message>
     <message>
         <source>... and height</source>
-        <translation type="vanished">... y altura</translation>
+        <translation>... y altura</translation>
     </message>
     <message>
         <source>between height ...</source>
-        <translation type="vanished">altura entre...</translation>
+        <translation>altura entre...</translation>
     </message>
     <message>
         <source>classify above</source>
-        <translation type="vanished">clasificar por encima</translation>
+        <translation>clasificar por encima</translation>
     </message>
     <message>
         <source>classify above height</source>
-        <translation type="vanished">clasificar altura superior como</translation>
+        <translation>clasificar altura superior como</translation>
     </message>
 </context>
 <context>
     <name>lasindex</name>
     <message>
         <source>lasindex</source>
-        <translation type="vanished">lasindex</translation>
+        <translation>lasindex</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>append *.lax file to *.laz file</source>
-        <translation type="vanished">añadir archivo *.lax a archivo *.laz</translation>
+        <translation>añadir archivo *.lax a archivo *.laz</translation>
     </message>
     <message>
         <source>is mobile or terrestrial LiDAR (not airborne)</source>
-        <translation type="vanished">es LIDAR móvil o terrestre (no aéreo)</translation>
+        <translation>es LIDAR móvil o terrestre (no aéreo)</translation>
     </message>
 </context>
 <context>
     <name>lasindexPro</name>
     <message>
         <source>lasindexPro</source>
-        <translation type="vanished">lasindexPro</translation>
+        <translation>lasindexPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>append *.lax file to *.laz file</source>
-        <translation type="vanished">añadir archivo *.lax a archivo *.laz</translation>
+        <translation>añadir archivo *.lax a archivo *.laz</translation>
     </message>
     <message>
         <source>is mobile or terrestrial LiDAR (not airborne)</source>
-        <translation type="vanished">es LIDAR móvil o terrestre (no aéreo)</translation>
+        <translation>es LIDAR móvil o terrestre (no aéreo)</translation>
     </message>
 </context>
 <context>
     <name>lasinfo</name>
     <message>
         <source>lasinfo</source>
-        <translation type="vanished">lasinfo</translation>
+        <translation>lasinfo</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>compute density</source>
-        <translation type="vanished">procesar densidad</translation>
+        <translation>procesar densidad</translation>
     </message>
     <message>
         <source>repair bounding box</source>
-        <translation type="vanished">reparar recuadro delimitador</translation>
+        <translation>reparar recuadro delimitador</translation>
     </message>
     <message>
         <source>repair counters</source>
-        <translation type="vanished">reparar contadores</translation>
+        <translation>reparar contadores</translation>
     </message>
     <message>
         <source>histogram</source>
-        <translation type="vanished">histograma</translation>
+        <translation>histograma</translation>
     </message>
     <message>
         <source>bin size</source>
-        <translation type="vanished">tamaño de compartimento</translation>
+        <translation>tamaño de compartimento</translation>
     </message>
     <message>
         <source>Output ASCII file</source>
-        <translation type="vanished">Archivo ASCII de salida</translation>
+        <translation>Archivo ASCII de salida</translation>
     </message>
 </context>
 <context>
     <name>lasinfoPro</name>
     <message>
         <source>lasinfoPro</source>
-        <translation type="vanished">lasinfoPro</translation>
+        <translation>lasinfoPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>compute density</source>
-        <translation type="vanished">procesar densidad</translation>
+        <translation>procesar densidad</translation>
     </message>
     <message>
         <source>repair bounding box</source>
-        <translation type="vanished">reparar recuadro delimitador</translation>
+        <translation>reparar recuadro delimitador</translation>
     </message>
     <message>
         <source>repair counters</source>
-        <translation type="vanished">reparar contadores</translation>
+        <translation>reparar contadores</translation>
     </message>
     <message>
         <source>histogram</source>
-        <translation type="vanished">histograma</translation>
+        <translation>histograma</translation>
     </message>
     <message>
         <source>bin size</source>
-        <translation type="vanished">tamaño de compartimento</translation>
+        <translation>tamaño de compartimento</translation>
     </message>
 </context>
 <context>
     <name>lasmerge</name>
     <message>
         <source>lasmerge</source>
-        <translation type="vanished">lasmerge</translation>
+        <translation>lasmerge</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>2nd file</source>
-        <translation type="vanished">2º archivo</translation>
+        <translation>2º archivo</translation>
     </message>
     <message>
         <source>3rd file</source>
-        <translation type="vanished">3º archivo</translation>
+        <translation>3º archivo</translation>
     </message>
     <message>
         <source>4th file</source>
-        <translation type="vanished">4º archivo</translation>
+        <translation>4º archivo</translation>
     </message>
     <message>
         <source>5th file</source>
-        <translation type="vanished">5º archivo</translation>
+        <translation>5º archivo</translation>
     </message>
     <message>
         <source>6th file</source>
-        <translation type="vanished">6º archivo</translation>
+        <translation>6º archivo</translation>
     </message>
     <message>
         <source>7th file</source>
-        <translation type="vanished">7º archivo</translation>
+        <translation>7º archivo</translation>
     </message>
 </context>
 <context>
     <name>lasmergePro</name>
     <message>
         <source>lasmergePro</source>
-        <translation type="vanished">lasmergePro</translation>
+        <translation>lasmergePro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
 </context>
 <context>
     <name>lasnoise</name>
     <message>
         <source>lasnoise</source>
-        <translation type="vanished">lasnoise</translation>
+        <translation>lasnoise</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>isolated if surrounding cells have only</source>
-        <translation type="vanished">aislado si las celdas circundantes tiene solo</translation>
+        <translation>aislado si las celdas circundantes tiene solo</translation>
     </message>
     <message>
         <source>resolution of isolation grid in xy</source>
-        <translation type="vanished">resolución de cuadrícula de aislamiento en XY</translation>
+        <translation>resolución de cuadrícula de aislamiento en XY</translation>
     </message>
     <message>
         <source>resolution of isolation grid in z</source>
-        <translation type="vanished">resolución de cuadrícula de aislamiento en Z</translation>
+        <translation>resolución de cuadrícula de aislamiento en Z</translation>
     </message>
     <message>
         <source>what to do with isolated points</source>
-        <translation type="vanished">qué hacer con puntos aislados</translation>
+        <translation>qué hacer con puntos aislados</translation>
     </message>
     <message>
         <source>classify as</source>
-        <translation type="vanished">clasificar como</translation>
+        <translation>clasificar como</translation>
     </message>
 </context>
 <context>
     <name>lasnoisePro</name>
     <message>
         <source>lasnoisePro</source>
-        <translation type="vanished">lasnoisePro</translation>
+        <translation>lasnoisePro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>isolated if surrounding cells have only</source>
-        <translation type="vanished">aislado si las celdas circundantes tiene solo</translation>
+        <translation>aislado si las celdas circundantes tiene solo</translation>
     </message>
     <message>
         <source>resolution of isolation grid in xy</source>
-        <translation type="vanished">resolución de cuadrícula de aislamiento en XY</translation>
+        <translation>resolución de cuadrícula de aislamiento en XY</translation>
     </message>
     <message>
         <source>resolution of isolation grid in z</source>
-        <translation type="vanished">resolución de cuadrícula de aislamiento en Z</translation>
+        <translation>resolución de cuadrícula de aislamiento en Z</translation>
     </message>
     <message>
         <source>what to do with isolated points</source>
-        <translation type="vanished">qué hacer con puntos aislados</translation>
+        <translation>qué hacer con puntos aislados</translation>
     </message>
     <message>
         <source>classify as</source>
-        <translation type="vanished">clasificar como</translation>
+        <translation>clasificar como</translation>
     </message>
 </context>
 <context>
     <name>lasoverage</name>
     <message>
         <source>lasoverage</source>
-        <translation type="vanished">lasoverage</translation>
+        <translation>lasoverage</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>size of grid used for scan angle check</source>
-        <translation type="vanished">tamaño de cuadrícula usada para comprobación de ángulo de escaneo</translation>
+        <translation>tamaño de cuadrícula usada para comprobación de ángulo de escaneo</translation>
     </message>
     <message>
         <source>mode of operation</source>
-        <translation type="vanished">modo de operación</translation>
+        <translation>modo de operación</translation>
     </message>
 </context>
 <context>
     <name>lasoveragePro</name>
     <message>
         <source>lasoveragePro</source>
-        <translation type="vanished">lasoveragePro</translation>
+        <translation>lasoveragePro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>size of grid used for scan angle check</source>
-        <translation type="vanished">tamaño de cuadrícula usada para comprobación de ángulo de escaneo</translation>
+        <translation>tamaño de cuadrícula usada para comprobación de ángulo de escaneo</translation>
     </message>
     <message>
         <source>mode of operation</source>
-        <translation type="vanished">modo de operación</translation>
+        <translation>modo de operación</translation>
     </message>
 </context>
 <context>
     <name>lasoverlap</name>
     <message>
         <source>lasoverlap</source>
-        <translation type="vanished">lasoverlap</translation>
+        <translation>lasoverlap</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>size of grid used for overlap check</source>
-        <translation type="vanished">tamaño de cuadrícula usado para comprobación de superposición</translation>
+        <translation>tamaño de cuadrícula usado para comprobación de superposición</translation>
     </message>
     <message>
         <source>attribute to check</source>
-        <translation type="vanished">atributo a comprobar</translation>
+        <translation>atributo a comprobar</translation>
     </message>
     <message>
         <source>operation on attribute per cell</source>
-        <translation type="vanished">operación sobre atributo por celda</translation>
+        <translation>operación sobre atributo por celda</translation>
     </message>
     <message>
         <source>create overlap raster</source>
-        <translation type="vanished">crear ráster de superposición</translation>
+        <translation>crear ráster de superposición</translation>
     </message>
     <message>
         <source>create difference raster</source>
-        <translation type="vanished">crear ráster de diferencia</translation>
+        <translation>crear ráster de diferencia</translation>
     </message>
 </context>
 <context>
     <name>lasoverlapPro</name>
     <message>
         <source>lasoverlapPro</source>
-        <translation type="vanished">lasoverlapPro</translation>
+        <translation>lasoverlapPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>size of grid used for overlap check</source>
-        <translation type="vanished">tamaño de cuadrícula usado para comprobación de superposición</translation>
+        <translation>tamaño de cuadrícula usado para comprobación de superposición</translation>
     </message>
     <message>
         <source>attribute to check</source>
-        <translation type="vanished">atributo a comprobar</translation>
+        <translation>atributo a comprobar</translation>
     </message>
     <message>
         <source>operation on attribute per cell</source>
-        <translation type="vanished">operación sobre atributo por celda</translation>
+        <translation>operación sobre atributo por celda</translation>
     </message>
     <message>
         <source>create overlap raster</source>
-        <translation type="vanished">crear ráster de superposición</translation>
+        <translation>crear ráster de superposición</translation>
     </message>
     <message>
         <source>create difference raster</source>
-        <translation type="vanished">crear ráster de diferencia</translation>
+        <translation>crear ráster de diferencia</translation>
     </message>
 </context>
 <context>
     <name>lasprecision</name>
     <message>
         <source>lasprecision</source>
-        <translation type="vanished">lasprecision</translation>
+        <translation>lasprecision</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>Output ASCII file</source>
-        <translation type="vanished">Archivo ASCII de salida</translation>
+        <translation>Archivo ASCII de salida</translation>
     </message>
 </context>
 <context>
     <name>laspublish</name>
     <message>
         <source>laspublish</source>
-        <translation type="vanished">publicar_las</translation>
+        <translation>publicar_las</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>type of portal</source>
-        <translation type="vanished">tipo de portal</translation>
+        <translation>tipo de portal</translation>
     </message>
     <message>
         <source>show Skybox</source>
-        <translation type="vanished">mostrar Skybox</translation>
+        <translation>mostrar Skybox</translation>
     </message>
     <message>
         <source>default material colors on start-up</source>
-        <translation type="vanished">colores de material predeterminados al inicio</translation>
+        <translation>colores de material predeterminados al inicio</translation>
     </message>
     <message>
         <source>portal output directory</source>
-        <translation type="vanished">directorio de salida de portal</translation>
+        <translation>directorio de salida de portal</translation>
     </message>
     <message>
         <source>copy or move source LiDAR files into portal (only for download portals)</source>
-        <translation type="vanished">copiar o mover archivos LiDAR de origen al portal (solo para portales de descarga)</translation>
+        <translation>copiar o mover archivos LiDAR de origen al portal (solo para portales de descarga)</translation>
     </message>
     <message>
         <source>overwrite existing files</source>
-        <translation type="vanished">sobrescribir archivos existentes</translation>
+        <translation>sobrescribir archivos existentes</translation>
     </message>
     <message>
         <source>portal HTML page</source>
-        <translation type="vanished">página HTML del portal</translation>
+        <translation>página HTML del portal</translation>
     </message>
     <message>
         <source>portal title</source>
-        <translation type="vanished">título del portal</translation>
+        <translation>título del portal</translation>
     </message>
     <message>
         <source>portal description</source>
-        <translation type="vanished">descripción del portal</translation>
+        <translation>descripción del portal</translation>
     </message>
 </context>
 <context>
     <name>laspublishPro</name>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>type of portal</source>
-        <translation type="vanished">tipo de portal</translation>
+        <translation>tipo de portal</translation>
     </message>
     <message>
         <source>show Skybox</source>
-        <translation type="vanished">mostrar Skybox</translation>
+        <translation>mostrar Skybox</translation>
     </message>
     <message>
         <source>default material colors on start-up</source>
-        <translation type="vanished">colores de material predeterminados al inicio</translation>
+        <translation>colores de material predeterminados al inicio</translation>
     </message>
     <message>
         <source>portal output directory</source>
-        <translation type="vanished">directorio de salida de portal</translation>
+        <translation>directorio de salida de portal</translation>
     </message>
     <message>
         <source>copy or move source LiDAR files into portal (only for download portals)</source>
-        <translation type="vanished">copiar o mover archivos LiDAR de origen al portal (solo para portales de descarga)</translation>
+        <translation>copiar o mover archivos LiDAR de origen al portal (solo para portales de descarga)</translation>
     </message>
     <message>
         <source>overwrite existing files</source>
-        <translation type="vanished">sobrescribir archivos existentes</translation>
+        <translation>sobrescribir archivos existentes</translation>
     </message>
     <message>
         <source>portal HTML page</source>
-        <translation type="vanished">página HTML del portal</translation>
+        <translation>página HTML del portal</translation>
     </message>
     <message>
         <source>portal title</source>
-        <translation type="vanished">título del portal</translation>
+        <translation>título del portal</translation>
     </message>
     <message>
         <source>portal description</source>
-        <translation type="vanished">descripción del portal</translation>
+        <translation>descripción del portal</translation>
     </message>
 </context>
 <context>
     <name>lasquery</name>
     <message>
         <source>lasquery</source>
-        <translation type="vanished">lasquery</translation>
+        <translation>lasquery</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>area of interest</source>
-        <translation type="vanished">área de interés</translation>
+        <translation>área de interés</translation>
     </message>
 </context>
 <context>
     <name>lassort</name>
     <message>
         <source>lassort</source>
-        <translation type="vanished">lassort</translation>
+        <translation>lassort</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>sort by GPS time</source>
-        <translation type="vanished">ordenar por hora GPS</translation>
+        <translation>ordenar por hora GPS</translation>
     </message>
     <message>
         <source>sort by point source ID</source>
-        <translation type="vanished">ordenar por ID de origen de punto</translation>
+        <translation>ordenar por ID de origen de punto</translation>
     </message>
 </context>
 <context>
     <name>lassortPro</name>
     <message>
         <source>lassortPro</source>
-        <translation type="vanished">lassortPro</translation>
+        <translation>lassortPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>sort by GPS time</source>
-        <translation type="vanished">ordenar por hora GPS</translation>
+        <translation>ordenar por hora GPS</translation>
     </message>
     <message>
         <source>sort by point source ID</source>
-        <translation type="vanished">ordenar por ID de origen de punto</translation>
+        <translation>ordenar por ID de origen de punto</translation>
     </message>
 </context>
 <context>
     <name>lassplit</name>
     <message>
         <source>lassplit</source>
-        <translation type="vanished">lassplit</translation>
+        <translation>lassplit</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>number of digits for file names</source>
-        <translation type="vanished">número de dígitos para nombres de archivo</translation>
+        <translation>número de dígitos para nombres de archivo</translation>
     </message>
     <message>
         <source>how to split</source>
-        <translation type="vanished">cómo dividir</translation>
+        <translation>cómo dividir</translation>
     </message>
     <message>
         <source>interval or number</source>
-        <translation type="vanished">intervalo o número</translation>
+        <translation>intervalo o número</translation>
     </message>
 </context>
 <context>
     <name>lasthin</name>
     <message>
         <source>lasthin</source>
-        <translation type="vanished">lasthin</translation>
+        <translation>lasthin</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>size of grid used for thinning</source>
-        <translation type="vanished">tamaño de cuadrícula usada para adelgazar</translation>
+        <translation>tamaño de cuadrícula usada para adelgazar</translation>
     </message>
     <message>
         <source>keep particular point per cell</source>
-        <translation type="vanished">mantener punto particular por celda</translation>
+        <translation>mantener punto particular por celda</translation>
     </message>
     <message>
         <source>mark thinned-away points as withheld</source>
-        <translation type="vanished">marcar los puntos adelgazados como rechazados</translation>
+        <translation>marcar los puntos adelgazados como rechazados</translation>
     </message>
     <message>
         <source>classify surviving points as class</source>
-        <translation type="vanished">clasificar puntos supervivientes como clase</translation>
+        <translation>clasificar puntos supervivientes como clase</translation>
     </message>
     <message>
         <source>class</source>
-        <translation type="vanished">clase</translation>
+        <translation>clase</translation>
     </message>
 </context>
 <context>
     <name>lasthinPro</name>
     <message>
         <source>lasthinPro</source>
-        <translation type="vanished">lasthinPro</translation>
+        <translation>lasthinPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>size of grid used for thinning</source>
-        <translation type="vanished">tamaño de cuadrícula usada para adelgazar</translation>
+        <translation>tamaño de cuadrícula usada para adelgazar</translation>
     </message>
     <message>
         <source>keep particular point per cell</source>
-        <translation type="vanished">mantener punto particular por celda</translation>
+        <translation>mantener punto particular por celda</translation>
     </message>
     <message>
         <source>mark thinned-away points as withheld</source>
-        <translation type="vanished">marcar los puntos adelgazados como rechazados</translation>
+        <translation>marcar los puntos adelgazados como rechazados</translation>
     </message>
     <message>
         <source>classify surviving points as class</source>
-        <translation type="vanished">clasificar puntos supervivientes como clase</translation>
+        <translation>clasificar puntos supervivientes como clase</translation>
     </message>
     <message>
         <source>class</source>
-        <translation type="vanished">clase</translation>
+        <translation>clase</translation>
     </message>
 </context>
 <context>
     <name>lastile</name>
     <message>
         <source>lastile</source>
-        <translation type="vanished">lastile</translation>
+        <translation>lastile</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>tile size (side length of square tile)</source>
-        <translation type="vanished">tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
+        <translation>tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
     </message>
     <message>
         <source>buffer around each tile</source>
-        <translation type="vanished">buffer alrededor de cada tesela</translation>
+        <translation>buffer alrededor de cada tesela</translation>
     </message>
     <message>
         <source>make tiling reversible (advanced, usually not needed)</source>
-        <translation type="vanished">hacer reversible el teselado (avanzado, normalmente no es necesario)</translation>
+        <translation>hacer reversible el teselado (avanzado, normalmente no es necesario)</translation>
     </message>
 </context>
 <context>
     <name>lastilePro</name>
     <message>
         <source>lastilePro</source>
-        <translation type="vanished">lastilePro</translation>
+        <translation>lastilePro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>tile size (side length of square tile)</source>
-        <translation type="vanished">tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
+        <translation>tamaño de tesela (longitud de lado de tesela cuadrada)</translation>
     </message>
     <message>
         <source>buffer around each tile (avoids edge artifacts)</source>
-        <translation type="vanished">buffer alrededor de cada tesela (evita artefactos de borde)</translation>
+        <translation>buffer alrededor de cada tesela (evita artefactos de borde)</translation>
     </message>
     <message>
         <source>more than 2000 tiles</source>
-        <translation type="vanished">más de 2000 teselas</translation>
+        <translation>más de 2000 teselas</translation>
     </message>
     <message>
         <source>tile base name (using sydney.laz creates sydney_274000_4714000.laz)</source>
-        <translation type="vanished">nombre base de tesela (usar 'sidney.laz crea sidney_274000_4714000.laz)</translation>
+        <translation>nombre base de tesela (usar 'sidney.laz crea sidney_274000_4714000.laz)</translation>
     </message>
 </context>
 <context>
     <name>lasvalidate</name>
     <message>
         <source>lasvalidate</source>
-        <translation type="vanished">lasvalidate</translation>
+        <translation>lasvalidate</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>save report to '*_LVS.xml'</source>
-        <translation type="vanished">guardar informe a '*_LVS.xml'</translation>
+        <translation>guardar informe a '*_LVS.xml'</translation>
     </message>
     <message>
         <source>Output XML file</source>
-        <translation type="vanished">Archivo XML de salida</translation>
+        <translation>Archivo XML de salida</translation>
     </message>
 </context>
 <context>
     <name>lasvalidatePro</name>
     <message>
         <source>lasvalidatePro</source>
-        <translation type="vanished">lasvalidatePro</translation>
+        <translation>lasvalidatePro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>generate one '*_LVS.xml' report per file</source>
-        <translation type="vanished">generar un informe '*_LVS.xml' por archivo</translation>
+        <translation>generar un informe '*_LVS.xml' por archivo</translation>
     </message>
     <message>
         <source>Output XML file</source>
-        <translation type="vanished">Archivo XML de salida</translation>
+        <translation>Archivo XML de salida</translation>
     </message>
 </context>
 <context>
     <name>lasview</name>
     <message>
         <source>lasview</source>
-        <translation type="vanished">lasview</translation>
+        <translation>lasview</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>max number of points sampled</source>
-        <translation type="vanished">número máximo de puntos muestreados</translation>
+        <translation>número máximo de puntos muestreados</translation>
     </message>
     <message>
         <source>color by</source>
-        <translation type="vanished">color por</translation>
+        <translation>color por</translation>
     </message>
     <message>
         <source>window size (x y) in pixels</source>
-        <translation type="vanished">tamaño de ventana (x y) en píxeles</translation>
+        <translation>tamaño de ventana (x y) en píxeles</translation>
     </message>
 </context>
 <context>
     <name>lasviewPro</name>
     <message>
         <source>lasviewPro</source>
-        <translation type="vanished">lasviewPro</translation>
+        <translation>lasviewPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>max number of points sampled</source>
-        <translation type="vanished">número máximo de puntos muestreados</translation>
+        <translation>número máximo de puntos muestreados</translation>
     </message>
     <message>
         <source>color by</source>
-        <translation type="vanished">color por</translation>
+        <translation>color por</translation>
     </message>
     <message>
         <source>window size (x y) in pixels</source>
-        <translation type="vanished">tamaño de ventana (x y) en píxeles</translation>
+        <translation>tamaño de ventana (x y) en píxeles</translation>
     </message>
 </context>
 <context>
     <name>laszip</name>
     <message>
         <source>laszip</source>
-        <translation type="vanished">laszip</translation>
+        <translation>laszip</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>only report size</source>
-        <translation type="vanished">solo informar del tamaño</translation>
+        <translation>solo informar del tamaño</translation>
     </message>
     <message>
         <source>create spatial indexing file (*.lax)</source>
-        <translation type="vanished">crear archivo de indexado espacial (*.lax)</translation>
+        <translation>crear archivo de indexado espacial (*.lax)</translation>
     </message>
     <message>
         <source>append *.lax into *.laz file</source>
-        <translation type="vanished">añadir *.lax a archivo *.laz</translation>
+        <translation>añadir *.lax a archivo *.laz</translation>
     </message>
 </context>
 <context>
     <name>laszipPro</name>
     <message>
         <source>laszipPro</source>
-        <translation type="vanished">laszipPro</translation>
+        <translation>laszipPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>only report size</source>
-        <translation type="vanished">solo informar del tamaño</translation>
+        <translation>solo informar del tamaño</translation>
     </message>
     <message>
         <source>create spatial indexing file (*.lax)</source>
-        <translation type="vanished">crear archivo de indexado espacial (*.lax)</translation>
+        <translation>crear archivo de indexado espacial (*.lax)</translation>
     </message>
     <message>
         <source>append *.lax into *.laz file</source>
-        <translation type="vanished">añadir *.lax a archivo *.laz</translation>
+        <translation>añadir *.lax a archivo *.laz</translation>
     </message>
 </context>
 <context>
@@ -137185,7 +137184,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>[GDAL] Miscellaneous</source>
-        <translation type="vanished">[GDAL] Miscelánea</translation>
+        <translation>[GDAL] Miscelánea</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3037"/>
@@ -137219,7 +137218,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Output raster type</source>
-        <translation type="vanished">Tipo de ráster de salida</translation>
+        <translation>Tipo de ráster de salida</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3042"/>
@@ -137231,7 +137230,7 @@ archivo de el atributo)</translation>
     <name>nearblack</name>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3048"/>
@@ -137281,62 +137280,62 @@ archivo de el atributo)</translation>
     <name>nviz</name>
     <message>
         <source>Visualization(NVIZ)</source>
-        <translation type="vanished">Visualización (NVIZ)</translation>
+        <translation>Visualización (NVIZ)</translation>
     </message>
     <message>
         <source>Raster file(s) for elevation</source>
-        <translation type="vanished">Archivo(s) ráster para elevación</translation>
+        <translation>Archivo(s) ráster para elevación</translation>
     </message>
     <message>
         <source>Vector lines/areas overlay file(s)</source>
-        <translation type="vanished">Archivo(s) vectorial de superposición de líneas/áreas</translation>
+        <translation>Archivo(s) vectorial de superposición de líneas/áreas</translation>
     </message>
     <message>
         <source>Raster file(s) for color</source>
-        <translation type="vanished">Archivo(s) ráster para color</translation>
+        <translation>Archivo(s) ráster para color</translation>
     </message>
     <message>
         <source>GRASS region extent</source>
-        <translation type="vanished">Extensión de la región de GRASS</translation>
+        <translation>Extensión de la región de GRASS</translation>
     </message>
     <message>
         <source>GRASS region cellsize (leave 0 for default)</source>
-        <translation type="vanished">Tamaño de celda de la región de GRASS (dejar 0 para predeterminado)</translation>
+        <translation>Tamaño de celda de la región de GRASS (dejar 0 para predeterminado)</translation>
     </message>
     <message>
         <source>nviz</source>
-        <translation type="vanished">nviz</translation>
+        <translation>nviz</translation>
     </message>
 </context>
 <context>
     <name>nviz7</name>
     <message>
         <source>nviz7</source>
-        <translation type="vanished">nviz7</translation>
+        <translation>nviz7</translation>
     </message>
     <message>
         <source>Visualization(NVIZ)</source>
-        <translation type="vanished">Visualización (NVIZ)</translation>
+        <translation>Visualización (NVIZ)</translation>
     </message>
     <message>
         <source>Raster file(s) for elevation</source>
-        <translation type="vanished">Archivo(s) ráster para elevación</translation>
+        <translation>Archivo(s) ráster para elevación</translation>
     </message>
     <message>
         <source>Vector lines/areas overlay file(s)</source>
-        <translation type="vanished">Archivo(s) vectorial de superposición de líneas/áreas</translation>
+        <translation>Archivo(s) vectorial de superposición de líneas/áreas</translation>
     </message>
     <message>
         <source>Raster file(s) for color</source>
-        <translation type="vanished">Archivo(s) ráster para color</translation>
+        <translation>Archivo(s) ráster para color</translation>
     </message>
     <message>
         <source>GRASS region extent</source>
-        <translation type="vanished">Extensión de la región de GRASS</translation>
+        <translation>Extensión de la región de GRASS</translation>
     </message>
     <message>
         <source>GRASS region cellsize (leave 0 for default)</source>
-        <translation type="vanished">Tamaño de celda de la región de GRASS (dejar 0 para predeterminado)</translation>
+        <translation>Tamaño de celda de la región de GRASS (dejar 0 para predeterminado)</translation>
     </message>
 </context>
 <context>
@@ -137434,18 +137433,18 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>The APIs file was not compiled, click on "Compile APIs..."</source>
-        <translation type="vanished">El archivo de API no se compiló, pulse en "Compilar API..."</translation>
+        <translation>El archivo de API no se compiló, pulse en "Compilar API..."</translation>
     </message>
 </context>
 <context>
     <name>parent</name>
     <message>
         <source>Cannot parse XML file: %s</source>
-        <translation type="vanished">No se puede analizar el archivo XML: %s</translation>
+        <translation>No se puede analizar el archivo XML: %s</translation>
     </message>
     <message>
         <source>Cannot open file: %s</source>
-        <translation type="vanished">No se puede abrir el archivo: %s</translation>
+        <translation>No se puede abrir el archivo: %s</translation>
     </message>
     <message>
         <location filename="../python/plugins/MetaSearch/python-i18n.cpp" line="137"/>
@@ -137477,7 +137476,7 @@ archivo de el atributo)</translation>
     <name>pct2rgb</name>
     <message>
         <source>[GDAL] Conversion</source>
-        <translation type="vanished">[GDAL] Conversión</translation>
+        <translation>[GDAL] Conversión</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3077"/>
@@ -137501,7 +137500,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Band to convert</source>
-        <translation type="vanished">Banda a convertir</translation>
+        <translation>Banda a convertir</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3080"/>
@@ -137538,7 +137537,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>[GDAL] Conversion</source>
-        <translation type="vanished">[GDAL] Conversión</translation>
+        <translation>[GDAL] Conversión</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3085"/>
@@ -137547,7 +137546,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Output field name</source>
-        <translation type="vanished">Nombre del campo de salida</translation>
+        <translation>Nombre del campo de salida</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3089"/>
@@ -137559,7 +137558,7 @@ archivo de el atributo)</translation>
     <name>proximity</name>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3095"/>
@@ -137623,7 +137622,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Values</source>
-        <translation type="vanished">Valores</translation>
+        <translation>Valores</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3100"/>
@@ -137632,23 +137631,23 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Max distance (negative value to ignore)</source>
-        <translation type="vanished">Distancia máxima (valor negativo para ignorar)</translation>
+        <translation>Distancia máxima (valor negativo para ignorar)</translation>
     </message>
     <message>
         <source>Nodata (negative value to ignore)</source>
-        <translation type="vanished">Sin datos (valor negativo para ignorar)</translation>
+        <translation>Sin datos (valor negativo para ignorar)</translation>
     </message>
     <message>
         <source>Fixed buf value (negative value to ignore)</source>
-        <translation type="vanished">Valor de buffer fijo (valor negativo para ignorar)</translation>
+        <translation>Valor de buffer fijo (valor negativo para ignorar)</translation>
     </message>
     <message>
         <source>Output raster type</source>
-        <translation type="vanished">Tipo de ráster de salida</translation>
+        <translation>Tipo de ráster de salida</translation>
     </message>
     <message>
         <source>Distance</source>
-        <translation type="vanished">Distancia</translation>
+        <translation>Distancia</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3107"/>
@@ -137660,7 +137659,7 @@ archivo de el atributo)</translation>
     <name>rasterize</name>
     <message>
         <source>[GDAL] Conversion</source>
-        <translation type="vanished">[GDAL] Conversión</translation>
+        <translation>[GDAL] Conversión</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3114"/>
@@ -137669,31 +137668,31 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Attribute field</source>
-        <translation type="vanished">Campo de atributos</translation>
+        <translation>Campo de atributos</translation>
     </message>
     <message>
         <source>Set output raster size (ignored if above option is checked)</source>
-        <translation type="vanished">Establecer tamaño del ráster de salida (ignorado si la opción anterior está marcada)</translation>
+        <translation>Establecer tamaño del ráster de salida (ignorado si la opción anterior está marcada)</translation>
     </message>
     <message>
         <source>Horizontal</source>
-        <translation type="vanished">Horizontal</translation>
+        <translation>Horizontal</translation>
     </message>
     <message>
         <source>Vertical</source>
-        <translation type="vanished">Vertical</translation>
+        <translation>Vertical</translation>
     </message>
     <message>
         <source>Raster extent</source>
-        <translation type="vanished">Extensión del ráster</translation>
+        <translation>Extensión del ráster</translation>
     </message>
     <message>
         <source>Additional creation options</source>
-        <translation type="vanished">Opciones adicionales de creación</translation>
+        <translation>Opciones adicionales de creación</translation>
     </message>
     <message>
         <source>Raster type</source>
-        <translation type="vanished">Tipo de ráster</translation>
+        <translation>Tipo de ráster</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3128"/>
@@ -137702,35 +137701,35 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Nodata value</source>
-        <translation type="vanished">Valor de sin datos</translation>
+        <translation>Valor de sin datos</translation>
     </message>
     <message>
         <source>GeoTIFF options. Compression type:</source>
-        <translation type="vanished">Opciones de GeoTIFF. Tipo de compresión:</translation>
+        <translation>Opciones de GeoTIFF. Tipo de compresión:</translation>
     </message>
     <message>
         <source>Set the JPEG compression level</source>
-        <translation type="vanished">Establecer el nivel de compresión JPEG</translation>
+        <translation>Establecer el nivel de compresión JPEG</translation>
     </message>
     <message>
         <source>Set the DEFLATE compression level</source>
-        <translation type="vanished">Establecer el nivel de compresión DEFLATE</translation>
+        <translation>Establecer el nivel de compresión DEFLATE</translation>
     </message>
     <message>
         <source>Set the predictor for LZW or DEFLATE compression</source>
-        <translation type="vanished">Establecer el pronosticador para compresión LZW o DEFLATE</translation>
+        <translation>Establecer el pronosticador para compresión LZW o DEFLATE</translation>
     </message>
     <message>
         <source>Create tiled output (only used for the GTiff format)</source>
-        <translation type="vanished">Crear salida teselada (solo usado para el formato GTiff)</translation>
+        <translation>Crear salida teselada (solo usado para el formato GTiff)</translation>
     </message>
     <message>
         <source>Control whether the created file is a BigTIFF or a classic TIFF</source>
-        <translation type="vanished">Controlar si el archivo creado es un BigTIFF o un TIFF clásico</translation>
+        <translation>Controlar si el archivo creado es un BigTIFF o un TIFF clásico</translation>
     </message>
     <message>
         <source>Force the generation of an associated ESRI world file (.tfw)</source>
-        <translation type="vanished">Forzar la generación de un archivo world de ESRI asociado (.tfw)</translation>
+        <translation>Forzar la generación de un archivo world de ESRI asociado (.tfw)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3112"/>
@@ -137812,7 +137811,7 @@ archivo de el atributo)</translation>
     <name>rasterize_over</name>
     <message>
         <source>[GDAL] Conversion</source>
-        <translation type="vanished">[GDAL] Conversión</translation>
+        <translation>[GDAL] Conversión</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3132"/>
@@ -137849,23 +137848,23 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>[GDAL] Miscellaneous</source>
-        <translation type="vanished">[GDAL] Miscelánea</translation>
+        <translation>[GDAL] Miscelánea</translation>
     </message>
     <message>
         <source>Input layers</source>
-        <translation type="vanished">Capas de entrada</translation>
+        <translation>Capas de entrada</translation>
     </message>
     <message>
         <source>Pixel size to be used for the output file (XSIZE YSIZE like 512 512)</source>
-        <translation type="vanished">Tamaño de píxel a usar para el archivo de salida (XSIZE YSIZE como 512 512)</translation>
+        <translation>Tamaño de píxel a usar para el archivo de salida (XSIZE YSIZE como 512 512)</translation>
     </message>
     <message>
         <source>Resampling algorithm</source>
-        <translation type="vanished">Algoritmo de remuestreo</translation>
+        <translation>Algoritmo de remuestreo</translation>
     </message>
     <message>
         <source>Override source CRS</source>
-        <translation type="vanished">Ignorar SRC de origen</translation>
+        <translation>Ignorar SRC de origen</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3140"/>
@@ -137964,19 +137963,19 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Output raster type</source>
-        <translation type="vanished">Tipo de ráster de salida</translation>
+        <translation>Tipo de ráster de salida</translation>
     </message>
     <message>
         <source>Output raster format</source>
-        <translation type="vanished">Formato del ráster de salida</translation>
+        <translation>Formato del ráster de salida</translation>
     </message>
     <message>
         <source>Use a directory for each row</source>
-        <translation type="vanished">Usar un directorio para cada fila</translation>
+        <translation>Usar un directorio para cada fila</translation>
     </message>
     <message>
         <source>Name of the csv file containing the tile(s) georeferencing information</source>
-        <translation type="vanished">Nombre del archivo CSV que contiene la información de georreferenciación de la(s) tesela(s)</translation>
+        <translation>Nombre del archivo CSV que contiene la información de georreferenciación de la(s) tesela(s)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3152"/>
@@ -137985,22 +137984,22 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>name of shape file containing the result tile(s) index</source>
-        <translation type="vanished">nombre del archivo shape que contiene el índice de la(s) tesela(s) resultante(s)</translation>
+        <translation>nombre del archivo shape que contiene el índice de la(s) tesela(s) resultante(s)</translation>
     </message>
     <message>
         <source>name of the attribute containing the tile name in the result shape file</source>
-        <translation type="vanished">nombre del atributo que contiene el nombre de la tesela en el archivo shape de salida</translation>
+        <translation>nombre del atributo que contiene el nombre de la tesela en el archivo shape de salida</translation>
     </message>
     <message>
         <source>The directory where the tile result is created</source>
-        <translation type="vanished">El directorio donde se crea la tesela resultante</translation>
+        <translation>El directorio donde se crea la tesela resultante</translation>
     </message>
 </context>
 <context>
     <name>rgb2pct</name>
     <message>
         <source>[GDAL] Conversion</source>
-        <translation type="vanished">[GDAL] Conversión</translation>
+        <translation>[GDAL] Conversión</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3164"/>
@@ -138027,7 +138026,7 @@ archivo de el atributo)</translation>
     <name>roughness</name>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3171"/>
@@ -138146,30 +138145,30 @@ archivo de el atributo)</translation>
     <name>self.output</name>
     <message>
         <source>Spatialite files(*.sqlite)</source>
-        <translation type="vanished">Archivos SpatiaLite (*.sqlite)</translation>
+        <translation>Archivos SpatiaLite (*.sqlite)</translation>
     </message>
 </context>
 <context>
     <name>shp2las</name>
     <message>
         <source>shp2las</source>
-        <translation type="vanished">shpAlas</translation>
+        <translation>shpAlas</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>Input SHP file</source>
-        <translation type="vanished">Archivo SHP de entrada</translation>
+        <translation>Archivo SHP de entrada</translation>
     </message>
     <message>
         <source>resolution of x and y coordinate</source>
-        <translation type="vanished">resolución de la coordenada X e Y</translation>
+        <translation>resolución de la coordenada X e Y</translation>
     </message>
     <message>
         <source>resolution of z coordinate</source>
-        <translation type="vanished">resolución de la coordenada Z</translation>
+        <translation>resolución de la coordenada Z</translation>
     </message>
 </context>
 <context>
@@ -138181,7 +138180,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3180"/>
@@ -138215,7 +138214,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Pixel connection</source>
-        <translation type="vanished">Conexión de píxeles</translation>
+        <translation>Conexión de píxeles</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3185"/>
@@ -138227,7 +138226,7 @@ archivo de el atributo)</translation>
     <name>slope</name>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3191"/>
@@ -138271,15 +138270,15 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Use Zevenbergen&Thorne formula (instead of the Horn's one)</source>
-        <translation type="vanished">Usar la fórmula Zevenbergen&Thorne (en vez de la de Horn)</translation>
+        <translation>Usar la fórmula Zevenbergen&Thorne (en vez de la de Horn)</translation>
     </message>
     <message>
         <source>Slope expressed as percent (instead of degrees)</source>
-        <translation type="vanished">Pendiente expresada en porcentaje (en vez de grados)</translation>
+        <translation>Pendiente expresada en porcentaje (en vez de grados)</translation>
     </message>
     <message>
         <source>Scale (ratio of vert. units to horiz.)</source>
-        <translation type="vanished">Escala (relación de unidades vert. a horiz.)</translation>
+        <translation>Escala (relación de unidades vert. a horiz.)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3198"/>
@@ -138503,7 +138502,7 @@ archivo de el atributo)</translation>
     <name>tpi</name>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3203"/>
@@ -138537,7 +138536,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Topographic Position Index</source>
-        <translation type="vanished">Índice de posición topográfica</translation>
+        <translation>Índice de posición topográfica</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3208"/>
@@ -138554,23 +138553,23 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Set the size of the output file (In pixels or %)</source>
-        <translation type="vanished">Establecer el tamaño del archivo de salida (en píxeles o %)</translation>
+        <translation>Establecer el tamaño del archivo de salida (en píxeles o %)</translation>
     </message>
     <message>
         <source>Output size is a percentage of input size</source>
-        <translation type="vanished">El tamaño de salida es un porcentaje del de entrada</translation>
+        <translation>El tamaño de salida es un porcentaje del de entrada</translation>
     </message>
     <message>
         <source>Expand</source>
-        <translation type="vanished">Expandir</translation>
+        <translation>Expandir</translation>
     </message>
     <message>
         <source>Output projection for output file [leave blank to use input projection]</source>
-        <translation type="vanished">Proyección de salida para el archivo de salida (dejar en blanco para usar la proyección de entrada)</translation>
+        <translation>Proyección de salida para el archivo de salida (dejar en blanco para usar la proyección de entrada)</translation>
     </message>
     <message>
         <source>Subset based on georeferenced coordinates</source>
-        <translation type="vanished">Subconjunto basado en coordenadas georreferenciadas</translation>
+        <translation>Subconjunto basado en coordenadas georreferenciadas</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3214"/>
@@ -138609,11 +138608,11 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Output raster type</source>
-        <translation type="vanished">Tipo de ráster de salida</translation>
+        <translation>Tipo de ráster de salida</translation>
     </message>
     <message>
         <source>Nodata value, leave blank to take the nodata value from input</source>
-        <translation type="vanished">Valor de sin datos, dejar en blanco para tomar el valor de sin datos de la entrada</translation>
+        <translation>Valor de sin datos, dejar en blanco para tomar el valor de sin datos de la entrada</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3220"/>
@@ -138622,42 +138621,42 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>[GDAL] Conversion</source>
-        <translation type="vanished">[GDAL] Conversión</translation>
+        <translation>[GDAL] Conversión</translation>
     </message>
     <message>
         <source>GeoTIFF options. Compression type:</source>
-        <translation type="vanished">Opciones de GeoTIFF. Tipo de compresión:</translation>
+        <translation>Opciones de GeoTIFF. Tipo de compresión:</translation>
     </message>
     <message>
         <source>Set the JPEG compression level</source>
-        <translation type="vanished">Establecer el nivel de compresión JPEG</translation>
+        <translation>Establecer el nivel de compresión JPEG</translation>
     </message>
     <message>
         <source>Set the DEFLATE compression level</source>
-        <translation type="vanished">Establecer el nivel de compresión DEFLATE</translation>
+        <translation>Establecer el nivel de compresión DEFLATE</translation>
     </message>
     <message>
         <source>Set the predictor for LZW or DEFLATE compression</source>
-        <translation type="vanished">Establecer el pronosticador para compresión LZW o DEFLATE</translation>
+        <translation>Establecer el pronosticador para compresión LZW o DEFLATE</translation>
     </message>
     <message>
         <source>Create tiled output (only used for the GTiff format)</source>
-        <translation type="vanished">Crear salida teselada (solo usado para el formato GTiff)</translation>
+        <translation>Crear salida teselada (solo usado para el formato GTiff)</translation>
     </message>
     <message>
         <source>Control whether the created file is a BigTIFF or a classic TIFF</source>
-        <translation type="vanished">Controlar si el archivo creado es un BigTIFF o un TIFF clásico</translation>
+        <translation>Controlar si el archivo creado es un BigTIFF o un TIFF clásico</translation>
     </message>
     <message>
         <source>Force the generation of an associated ESRI world file (.tfw))</source>
-        <translation type="vanished">Forzar la generación de un archivo de georreferenciación de ESRI asociado (.tfw)</translation>
+        <translation>Forzar la generación de un archivo de georreferenciación de ESRI asociado (.tfw)</translation>
     </message>
 </context>
 <context>
     <name>tri</name>
     <message>
         <source>[GDAL] Analysis</source>
-        <translation type="vanished">[GDAL] Análisis</translation>
+        <translation>[GDAL] Análisis</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3225"/>
@@ -138699,82 +138698,82 @@ archivo de el atributo)</translation>
     <name>txt2las</name>
     <message>
         <source>txt2las</source>
-        <translation type="vanished">txtAlas</translation>
+        <translation>txtAlas</translation>
     </message>
     <message>
         <source>LAStools</source>
-        <translation type="vanished">LAStools</translation>
+        <translation>LAStools</translation>
     </message>
     <message>
         <source>Input ASCII file</source>
-        <translation type="vanished">Archivo ASCII de entrada</translation>
+        <translation>Archivo ASCII de entrada</translation>
     </message>
     <message>
         <source>parse lines as</source>
-        <translation type="vanished">procesar líneas como</translation>
+        <translation>procesar líneas como</translation>
     </message>
     <message>
         <source>skip the first n lines</source>
-        <translation type="vanished">saltar las primeras n líneas</translation>
+        <translation>saltar las primeras n líneas</translation>
     </message>
     <message>
         <source>resolution of x and y coordinate</source>
-        <translation type="vanished">resolución de la coordenada X e Y</translation>
+        <translation>resolución de la coordenada X e Y</translation>
     </message>
     <message>
         <source>resolution of z coordinate</source>
-        <translation type="vanished">resolución de la coordenada Z</translation>
+        <translation>resolución de la coordenada Z</translation>
     </message>
     <message>
         <source>projection</source>
-        <translation type="vanished">proyección</translation>
+        <translation>proyección</translation>
     </message>
     <message>
         <source>utm zone</source>
-        <translation type="vanished">zona UTM</translation>
+        <translation>zona UTM</translation>
     </message>
     <message>
         <source>state plane code</source>
-        <translation type="vanished">código plano de estado</translation>
+        <translation>código plano de estado</translation>
     </message>
 </context>
 <context>
     <name>txt2lasPro</name>
     <message>
         <source>txt2lasPro</source>
-        <translation type="vanished">txtAlasPro</translation>
+        <translation>txtAlasPro</translation>
     </message>
     <message>
         <source>LAStools Production</source>
-        <translation type="vanished">Producción LAStools</translation>
+        <translation>Producción LAStools</translation>
     </message>
     <message>
         <source>parse lines as</source>
-        <translation type="vanished">procesar líneas como</translation>
+        <translation>procesar líneas como</translation>
     </message>
     <message>
         <source>skip the first n lines</source>
-        <translation type="vanished">saltar las primeras n líneas</translation>
+        <translation>saltar las primeras n líneas</translation>
     </message>
     <message>
         <source>resolution of x and y coordinate</source>
-        <translation type="vanished">resolución de la coordenada X e Y</translation>
+        <translation>resolución de la coordenada X e Y</translation>
     </message>
     <message>
         <source>resolution of z coordinate</source>
-        <translation type="vanished">resolución de la coordenada Z</translation>
+        <translation>resolución de la coordenada Z</translation>
     </message>
     <message>
         <source>projection</source>
-        <translation type="vanished">proyección</translation>
+        <translation>proyección</translation>
     </message>
     <message>
         <source>utm zone</source>
-        <translation type="vanished">zona UTM</translation>
+        <translation>zona UTM</translation>
     </message>
     <message>
         <source>state plane code</source>
-        <translation type="vanished">código plano de estado</translation>
+        <translation>código plano de estado</translation>
     </message>
 </context>
 <context>
@@ -138796,11 +138795,11 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Operating system name, eg 'windows', 'linux' or 'osx'.</source>
-        <translation type="vanished">Nombre del sistema operativo, ej. 'Windows', 'Linux' o 'OSX'.</translation>
+        <translation>Nombre del sistema operativo, ej. 'Windows', 'Linux' o 'OSX'.</translation>
     </message>
     <message>
         <source>QGIS platform, eg 'desktop' or 'server'.</source>
-        <translation type="vanished">Plataforma de QGIS, ej. 'Escritorio' o 'Servidor'.</translation>
+        <translation>Plataforma de QGIS, ej. 'Escritorio' o 'Servidor'.</translation>
     </message>
     <message>
         <location filename="../src/core/expression/qgsexpression.cpp" line="630"/>
@@ -138979,31 +138978,31 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Composer item user ID (not necessarily unique).</source>
-        <translation type="vanished">ID de usuario de elemento del diseñador (no necesariamente único).</translation>
+        <translation>ID de usuario de elemento del diseñador (no necesariamente único).</translation>
     </message>
     <message>
         <source>Composer item unique ID.</source>
-        <translation type="vanished">ID única del elemento del diseñador.</translation>
+        <translation>ID única del elemento del diseñador.</translation>
     </message>
     <message>
         <source>Left position of composer item (in mm).</source>
-        <translation type="vanished">Posición izquierda del elemento del diseñador (en mm).</translation>
+        <translation>Posición izquierda del elemento del diseñador (en mm).</translation>
     </message>
     <message>
         <source>Top position of composer item (in mm).</source>
-        <translation type="vanished">Posición superior del elemento del diseñador (en mm).</translation>
+        <translation>Posición superior del elemento del diseñador (en mm).</translation>
     </message>
     <message>
         <source>Width of composer item (in mm).</source>
-        <translation type="vanished">Anchura del elemento del diseñador (en mm).</translation>
+        <translation>Anchura del elemento del diseñador (en mm).</translation>
     </message>
     <message>
         <source>Height of composer item (in mm).</source>
-        <translation type="vanished">Altura del elemento del diseñador (en mm).</translation>
+        <translation>Altura del elemento del diseñador (en mm).</translation>
     </message>
     <message>
         <source>ID of current map destination. This will be 'canvas' for canvas renders, and the item ID for composer map renders.</source>
-        <translation type="vanished">ID del destino actual del mapa. Será 'lienzo' para renderizadores de la vista del mapa y la ID del elemento para renderizadores del diseñador de mapas.</translation>
+        <translation>ID del destino actual del mapa. Será 'lienzo' para renderizadores de la vista del mapa y la ID del elemento para renderizadores del diseñador de mapas.</translation>
     </message>
     <message>
         <location filename="../src/core/expression/qgsexpression.cpp" line="677"/>
@@ -139072,7 +139071,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Current grid annotation axis (eg, 'x' for longitude, 'y' for latitude).</source>
-        <translation type="vanished">Eje de la anotación de la cuadrícula actual (ej.: 'x' para longitud, 'y' para latitud).</translation>
+        <translation>Eje de la anotación de la cuadrícula actual (ej.: 'x' para longitud, 'y' para latitud).</translation>
     </message>
     <message>
         <location filename="../src/core/expression/qgsexpression.cpp" line="705"/>
@@ -139229,19 +139228,19 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Source SRS</source>
-        <translation type="vanished">SRE de origen</translation>
+        <translation>SRE de origen</translation>
     </message>
     <message>
         <source>Destination SRS</source>
-        <translation type="vanished">SRE de destino</translation>
+        <translation>SRE de destino</translation>
     </message>
     <message>
         <source>Output file resolution in target georeferenced units (leave 0 for no change)</source>
-        <translation type="vanished">Resolución del archivo de salida en las unidades georreferenciadas de destino (dejar 0 para sin cambio)</translation>
+        <translation>Resolución del archivo de salida en las unidades georreferenciadas de destino (dejar 0 para sin cambio)</translation>
     </message>
     <message>
         <source>Resampling method</source>
-        <translation type="vanished">Método de remuestreo</translation>
+        <translation>Método de remuestreo</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3252"/>
@@ -139250,7 +139249,7 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>Output raster type</source>
-        <translation type="vanished">Tipo de ráster de salida</translation>
+        <translation>Tipo de ráster de salida</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3259"/>
@@ -139259,47 +139258,47 @@ archivo de el atributo)</translation>
     </message>
     <message>
         <source>[GDAL] Projections</source>
-        <translation type="vanished">[GDAL] Proyecciones</translation>
+        <translation>[GDAL] Proyecciones</translation>
     </message>
     <message>
         <source>Nodata value, leave blank to take the nodata value from input</source>
-        <translation type="vanished">Valor de sin datos, dejar en blanco para tomar el valor de sin datos de la entrada</translation>
+        <translation>Valor de sin datos, dejar en blanco para tomar el valor de sin datos de la entrada</translation>
     </message>
     <message>
         <source>Raster extent</source>
-        <translation type="vanished">Extensión del ráster</translation>
+        <translation>Extensión del ráster</translation>
     </message>
     <message>
         <source>CRS of the raster extent</source>
-        <translation type="vanished">SRC de la extensión del ráster</translation>
+        <translation>SRC de la extensión del ráster</translation>
     </message>
     <message>
         <source>GeoTIFF options. Compression type:</source>
-        <translation type="vanished">Opciones de GeoTIFF. Tipo de compresión:</translation>
+        <translation>Opciones de GeoTIFF. Tipo de compresión:</translation>
     </message>
     <message>
         <source>Set the JPEG compression level</source>
-        <translation type="vanished">Establecer el nivel de compresión JPEG</translation>
+        <translation>Establecer el nivel de compresión JPEG</translation>
     </message>
     <message>
         <source>Set the DEFLATE compression level</source>
-        <translation type="vanished">Establecer el nivel de compresión DEFLATE</translation>
+        <translation>Establecer el nivel de compresión DEFLATE</translation>
     </message>
     <message>
         <source>Set the predictor for LZW or DEFLATE compression</source>
-        <translation type="vanished">Establecer el pronosticador para compresión LZW o DEFLATE</translation>
+        <translation>Establecer el pronosticador para compresión LZW o DEFLATE</translation>
     </message>
     <message>
         <source>Create tiled output (only used for the GTiff format)</source>
-        <translation type="vanished">Crear salida teselada (solo usado para el formato GTiff)</translation>
+        <translation>Crear salida teselada (solo usado para el formato GTiff)</translation>
     </message>
     <message>
         <source>Control whether the created file is a BigTIFF or a classic TIFF</source>
-        <translation type="vanished">Controlar si el archivo creado es un BigTIFF o un TIFF clásico</translation>
+        <translation>Controlar si el archivo creado es un BigTIFF o un TIFF clásico</translation>
     </message>
     <message>
         <source>Force the generation of an associated ESRI world file (.tfw))</source>
-        <translation type="vanished">Forzar la generación de un archivo de georreferenciación de ESRI asociado (.tfw)</translation>
+        <translation>Forzar la generación de un archivo de georreferenciación de ESRI asociado (.tfw)</translation>
     </message>
     <message>
         <location filename="../python/plugins/processing/python-i18n.cpp" line="3258"/>
diff --git a/i18n/qgis_pl.ts b/i18n/qgis_pl.ts
index b923652..af81ae4 100644
--- a/i18n/qgis_pl.ts
+++ b/i18n/qgis_pl.ts
@@ -20970,7 +20970,7 @@ Proszę sprawdzić ustawienia geoprocesingu.</translation>
     <message>
         <location filename="../src/ui/3d/point3dsymbolwidget.ui" line="232"/>
         <source>Translation</source>
-        <translation>Tłumaczenie</translation>
+        <translation>Przesunięcie</translation>
     </message>
     <message>
         <location filename="../src/ui/3d/point3dsymbolwidget.ui" line="260"/>
@@ -34969,7 +34969,7 @@ Prosimy o kontakt z autorami.</translation>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="3389"/>
         <source>Overview</source>
-        <translation>Wprowadzenie</translation>
+        <translation>Podgląd</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="3485"/>
@@ -36583,7 +36583,7 @@ Anuluj te zadania i spróbuj ponownie.</translation>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="13121"/>
         <source>%1 Panel</source>
-        <translation type="unfinished"></translation>
+        <translation>%1</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="13197"/>
@@ -36623,7 +36623,7 @@ Anuluj te zadania i spróbuj ponownie.</translation>
     <message>
         <source>en</source>
         <comment>documentation language</comment>
-        <translation type="vanished">pl</translation>
+        <translation type="vanished">en</translation>
     </message>
     <message>
         <location filename="../src/app/qgisapp.cpp" line="9923"/>
@@ -75228,7 +75228,7 @@ Zmniejsz rozdzielczość lub rozmiar papieru.</translation>
     <message>
         <location filename="../src/app/layout/qgslayoutdesignerdialog.cpp" line="806"/>
         <source>%1 Panel</source>
-        <translation type="unfinished"></translation>
+        <translation>%1</translation>
     </message>
     <message>
         <location filename="../src/app/layout/qgslayoutdesignerdialog.cpp" line="1620"/>
@@ -93707,7 +93707,7 @@ Prawdopodobnie jest uszkodzony</translation>
     <message>
         <location filename="../src/app/pluginmanager/qgspluginmanager.cpp" line="919"/>
         <source>bug tracker</source>
-        <translation type="unfinished"></translation>
+        <translation>zgłaszanie błędów</translation>
     </message>
     <message>
         <location filename="../src/app/pluginmanager/qgspluginmanager.cpp" line="923"/>
diff --git a/ms-windows/osgeo4w/package.cmd b/ms-windows/osgeo4w/package.cmd
index 4a2dcc0..728bf12 100644
--- a/ms-windows/osgeo4w/package.cmd
+++ b/ms-windows/osgeo4w/package.cmd
@@ -81,8 +81,6 @@ if not exist "%SETUPAPI_LIBRARY%" (echo SETUPAPI_LIBRARY not found & goto error)
 set CMAKE_OPT=^
 	-D SPATIALINDEX_LIBRARY=%O4W_ROOT%/lib/spatialindex-64.lib ^
 	-D SIP_BINARY_PATH=%O4W_ROOT%/apps/Python36/sip.exe ^
-	-D CMAKE_CXX_FLAGS_RELEASE="/MD /Zi /MP /O2 /Ob2 /D NDEBUG" ^
-	-D CMAKE_PDB_OUTPUT_DIRECTORY_RELEASE=%BUILDDIR%\apps\%PACKAGENAME%\pdb ^
 	-D SETUPAPI_LIBRARY="%SETUPAPI_LIBRARY%" ^
 	-D CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS=TRUE
 
@@ -424,11 +422,6 @@ tar -C %OSGEO4W_ROOT% -cjf %ARCH%/release/qgis/%PACKAGENAME%/%PACKAGENAME%-%VERS
 	"etc/preremove/%PACKAGENAME%.bat"
 if errorlevel 1 (echo tar desktop failed & goto error)
 
-if not exist %ARCH%\release\qgis\%PACKAGENAME%-pdb mkdir %ARCH%\release\qgis\%PACKAGENAME%-pdb
-tar -C %BUILDDIR% -cjf %ARCH%/release/qgis/%PACKAGENAME%-pdb/%PACKAGENAME%-pdb-%VERSION%-%PACKAGE%.tar.bz2 ^
-	apps/%PACKAGENAME%/pdb
-if errorlevel 1 (echo tar failed & goto error)
-
 tar -C %OSGEO4W_ROOT% -cjf %ARCH%/release/qgis/%PACKAGENAME%-grass-plugin-common/%PACKAGENAME%-grass-plugin-common-%VERSION%-%PACKAGE%.tar.bz2 ^
 	--exclude-from exclude ^
 	--exclude "*.pyc" ^
diff --git a/ms-windows/osgeo4w/postinstall-desktop.bat b/ms-windows/osgeo4w/postinstall-desktop.bat
index c0e04f2..458433d 100644
--- a/ms-windows/osgeo4w/postinstall-desktop.bat
+++ b/ms-windows/osgeo4w/postinstall-desktop.bat
@@ -12,7 +12,7 @@ if not %OSGEO4W_MENU_LINKS%==0 mkdir "%OSGEO4W_STARTMENU%"
 if not %OSGEO4W_DESKTOP_LINKS%==0 mkdir "%OSGEO4W_DESKTOP%"
 
 if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%O4W_ROOT%\bin\@package at -bin.exe" "%OSGEO4W_STARTMENU%" "QGIS Desktop @version@"
-if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%O4W_ROOT%\bin\package at -bin.exe" "%OSGEO4W_DESKTOP%" "QGIS Desktop @version@"
+if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%O4W_ROOT%\bin\@package at -bin.exe" "%OSGEO4W_DESKTOP%" "QGIS Desktop @version@"
 
 if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%O4W_ROOT%\bin\nircmd.exe" "%OSGEO4W_STARTMENU%" "Qt Designer with QGIS @version@ custom widgets" "exec hide """%OSGEO4W_ROOT%\bin\@package at -designer.bat"" "%O4W_ROOT%\apps\@package@\icons\QGIS.ico"
 if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%O4W_ROOT%\bin\nircmd.exe" "%OSGEO4W_DESKTOP%" "Qt Designer with QGIS @version@ custom widgets" "exec hide %O4W_ROOT%\bin\@package at -designer.bat" "%O4W_ROOT%\apps\@package@\icons\QGIS.ico"
@@ -21,3 +21,4 @@ set OSGEO4W_ROOT=%OSGEO4W_ROOT:\=\\%
 textreplace -std -t "%O4W_ROOT%\apps\@package@\bin\qgis.reg"
 nircmd elevate "%WINDIR%\regedit" /s "%O4W_ROOT%\apps\@package@\bin\qgis.reg"
 del /s /q "%OSGEO4W_ROOT%\apps\@package@\python\*.pyc"
+exit /b 0
diff --git a/ms-windows/osgeo4w/postinstall-dev.bat b/ms-windows/osgeo4w/postinstall-dev.bat
index db9ddfc..91a0c5c 100644
--- a/ms-windows/osgeo4w/postinstall-dev.bat
+++ b/ms-windows/osgeo4w/postinstall-dev.bat
@@ -34,3 +34,4 @@ set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/@package@
 "%OSGEO4W_ROOT%\apps\@package@\crssync"
 
 del /s /q "%OSGEO4W_ROOT%\apps\@package@\*.pyc"
+exit /b 0
diff --git a/ms-windows/osgeo4w/postinstall-grass-plugin-common.bat b/ms-windows/osgeo4w/postinstall-grass-plugin-common.bat
index 59ae472..892c9d8 100644
--- a/ms-windows/osgeo4w/postinstall-grass-plugin-common.bat
+++ b/ms-windows/osgeo4w/postinstall-grass-plugin-common.bat
@@ -1 +1,2 @@
 del /s /q "%OSGEO4W_ROOT%\apps\@package@\grass\*.pyc"
+exit /b 0
diff --git a/ms-windows/osgeo4w/postinstall-grass.bat b/ms-windows/osgeo4w/postinstall-grass.bat
index c0535a1..a4e6b28 100644
--- a/ms-windows/osgeo4w/postinstall-grass.bat
+++ b/ms-windows/osgeo4w/postinstall-grass.bat
@@ -2,12 +2,12 @@ textreplace -std -t bin\@package at -grass@grassmajor at .bat
 
 if "%OSGEO4W_DESKTOP%"=="" set OSGEO4W_DESKTOP=~$folder.common_desktop$
 
-copy bin\@package at -bin.exe bin\@package at -bin-grass@grassmajor at .exe
-copy bin\@package at -bin.vars bin\@package at -bin-grass@grassmajor at .vars
+copy bin\@package at -bin.exe bin\@package at -bin-g@grassversion at .exe
+copy bin\@package at -bin.vars bin\@package at -bin-g@grassversion at .vars
 call "%OSGEO4W_ROOT%\bin\@package at -grass@grassmajor at .bat" --postinstall
 
 if not %OSGEO4W_MENU_LINKS%==0 mkdir "%OSGEO4W_STARTMENU%"
 if not %OSGEO4W_DESKTOP_LINKS%==0 mkdir "%OSGEO4W_DESKTOP%"
 
-if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\@package at -bin-grass@grassmajor at .exe" "%OSGEO4W_STARTMENU%" "QGIS Desktop @version@ with GRASS @grassversion@"
-if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\@package at -bin-grass@grassmajor at .exe" "%OSGEO4W_DESKTOP%" "QGIS Desktop @version@ with GRASS @grassversion@"
+if not %OSGEO4W_MENU_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\@package at -bin-g@grassversion at .exe" "%OSGEO4W_STARTMENU%" "QGIS Desktop @version@ with GRASS @grassversion@"
+if not %OSGEO4W_DESKTOP_LINKS%==0 nircmd shortcut "%OSGEO4W_ROOT%\bin\@package at -bin-g@grassversion at .exe" "%OSGEO4W_DESKTOP%" "QGIS Desktop @version@ with GRASS @grassversion@"
diff --git a/ms-windows/osgeo4w/preremove-grass.bat b/ms-windows/osgeo4w/preremove-grass.bat
index 42ae9d5..1694aa9 100644
--- a/ms-windows/osgeo4w/preremove-grass.bat
+++ b/ms-windows/osgeo4w/preremove-grass.bat
@@ -5,6 +5,6 @@ del "%OSGEO4W_DESKTOP%\QGIS Desktop @version@ with GRASS @grassversion at .lnk"
 del "%OSGEO4W_DESKTOP%\QGIS Browser @version@ with GRASS @grassversion at .lnk"
 rmdir "%OSGEO4W_DESKTOP%"
 del "%OSGEO4W_ROOT%\bin\@package at -grass@grassmajor at .bat"
-del "%OSGEO4W_ROOT%\bin\@package at -bin-grass@grassmajor at .exe"
-del "%OSGEO4W_ROOT%\bin\@package at -bin-grass@grassmajor at .vars"
-del "%OSGEO4W_ROOT%\bin\@package at -bin-grass@grassmajor at .env"
+del "%OSGEO4W_ROOT%\bin\@package at -bin-g@grassversion at .exe"
+del "%OSGEO4W_ROOT%\bin\@package at -bin-g@grassversion at .vars"
+del "%OSGEO4W_ROOT%\bin\@package at -bin-g@grassversion at .env"
diff --git a/python/PyQt/PyQt5/Qsci.py b/python/PyQt/PyQt5/Qsci.py
index 0abd0e0..990d2f8 100644
--- a/python/PyQt/PyQt5/Qsci.py
+++ b/python/PyQt/PyQt5/Qsci.py
@@ -21,6 +21,6 @@ __author__ = 'Matthias Kuhn'
 __date__ = 'November 2015'
 __copyright__ = '(C) 2015, Matthias Kuhn'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.Qsci import *
diff --git a/python/PyQt/PyQt5/Qt.py b/python/PyQt/PyQt5/Qt.py
index 547e178..ca90f73 100644
--- a/python/PyQt/PyQt5/Qt.py
+++ b/python/PyQt/PyQt5/Qt.py
@@ -21,7 +21,7 @@ __author__ = 'Marco Bernasocchi'
 __date__ = 'September 2016'
 __copyright__ = '(C) 2016, Marco Bernasocchi'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from PyQt5.Qt import *
diff --git a/python/PyQt/PyQt5/QtCore.py b/python/PyQt/PyQt5/QtCore.py
index da68cef..fac950a 100644
--- a/python/PyQt/PyQt5/QtCore.py
+++ b/python/PyQt/PyQt5/QtCore.py
@@ -21,7 +21,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = 'November 2015'
 __copyright__ = '(C) 2015, Matthias Kuhn'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.QtCore import *
 
diff --git a/python/PyQt/PyQt5/QtGui.py b/python/PyQt/PyQt5/QtGui.py
index fb9e185..04a1193 100644
--- a/python/PyQt/PyQt5/QtGui.py
+++ b/python/PyQt/PyQt5/QtGui.py
@@ -21,6 +21,6 @@ __author__ = 'Matthias Kuhn'
 __date__ = 'November 2015'
 __copyright__ = '(C) 2015, Matthias Kuhn'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.QtGui import *
diff --git a/python/PyQt/PyQt5/QtNetwork.py b/python/PyQt/PyQt5/QtNetwork.py
index 33e7a4c..eededcb 100644
--- a/python/PyQt/PyQt5/QtNetwork.py
+++ b/python/PyQt/PyQt5/QtNetwork.py
@@ -21,6 +21,6 @@ __author__ = 'Juergen E. Fischer'
 __date__ = 'March 2016'
 __copyright__ = '(C) 2016, Juergen E. Fischer'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.QtNetwork import *
diff --git a/python/PyQt/PyQt5/QtPrintSupport.py b/python/PyQt/PyQt5/QtPrintSupport.py
index 2106015..b6953ce 100644
--- a/python/PyQt/PyQt5/QtPrintSupport.py
+++ b/python/PyQt/PyQt5/QtPrintSupport.py
@@ -21,6 +21,6 @@ __author__ = 'Matthias Kuhn'
 __date__ = 'November 2015'
 __copyright__ = '(C) 2015, Matthias Kuhn'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.QtPrintSupport import *
diff --git a/python/PyQt/PyQt5/QtSql.py b/python/PyQt/PyQt5/QtSql.py
index 0e7585d..a2e2ded 100644
--- a/python/PyQt/PyQt5/QtSql.py
+++ b/python/PyQt/PyQt5/QtSql.py
@@ -21,6 +21,6 @@ __author__ = 'Juergen E. Fischer'
 __date__ = 'March 2016'
 __copyright__ = '(C) 2016, Juergen E. Fischer'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.QtSql import *
diff --git a/python/PyQt/PyQt5/QtSvg.py b/python/PyQt/PyQt5/QtSvg.py
index 5815ff4..fc3a199 100644
--- a/python/PyQt/PyQt5/QtSvg.py
+++ b/python/PyQt/PyQt5/QtSvg.py
@@ -21,6 +21,6 @@ __author__ = 'Juergen E. Fischer'
 __date__ = 'March 2016'
 __copyright__ = '(C) 2016, Juergen E. Fischer'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.QtSvg import *
diff --git a/python/PyQt/PyQt5/QtTest.py b/python/PyQt/PyQt5/QtTest.py
index 606a5f1..ddb4b3c 100644
--- a/python/PyQt/PyQt5/QtTest.py
+++ b/python/PyQt/PyQt5/QtTest.py
@@ -21,6 +21,6 @@ __author__ = 'Juergen E. Fischer'
 __date__ = 'March 2016'
 __copyright__ = '(C) 2016, Juergen E. Fischer'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.QtTest import *
diff --git a/python/PyQt/PyQt5/QtWebKit.py b/python/PyQt/PyQt5/QtWebKit.py
index 85e21bb..0ebaee5 100644
--- a/python/PyQt/PyQt5/QtWebKit.py
+++ b/python/PyQt/PyQt5/QtWebKit.py
@@ -21,6 +21,6 @@ __author__ = 'Matthias Kuhn'
 __date__ = 'November 2015'
 __copyright__ = '(C) 2015, Matthias Kuhn'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.QtWebKit import *
diff --git a/python/PyQt/PyQt5/QtWebKitWidgets.py b/python/PyQt/PyQt5/QtWebKitWidgets.py
index cdf276e..8cbfa57 100644
--- a/python/PyQt/PyQt5/QtWebKitWidgets.py
+++ b/python/PyQt/PyQt5/QtWebKitWidgets.py
@@ -21,6 +21,6 @@ __author__ = 'Matthias Kuhn'
 __date__ = 'November 2015'
 __copyright__ = '(C) 2015, Matthias Kuhn'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.QtWebKitWidgets import *
diff --git a/python/PyQt/PyQt5/QtWidgets.py b/python/PyQt/PyQt5/QtWidgets.py
index f2b2ac6..77a1c1b 100644
--- a/python/PyQt/PyQt5/QtWidgets.py
+++ b/python/PyQt/PyQt5/QtWidgets.py
@@ -21,7 +21,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = 'November 2015'
 __copyright__ = '(C) 2015, Matthias Kuhn'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.QtWidgets import *
 
diff --git a/python/PyQt/PyQt5/QtXml.py b/python/PyQt/PyQt5/QtXml.py
index 261c46c..a98f34b 100644
--- a/python/PyQt/PyQt5/QtXml.py
+++ b/python/PyQt/PyQt5/QtXml.py
@@ -21,6 +21,6 @@ __author__ = 'Juergen E. Fischer'
 __date__ = 'March 2016'
 __copyright__ = '(C) 2016, Juergen E. Fischer'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.QtXml import *
diff --git a/python/PyQt/PyQt5/uic/__init__.py b/python/PyQt/PyQt5/uic/__init__.py
index 574a88f..bd6b9da 100644
--- a/python/PyQt/PyQt5/uic/__init__.py
+++ b/python/PyQt/PyQt5/uic/__init__.py
@@ -21,7 +21,7 @@ __author__ = 'Jürgen E. Fischer'
 __date__ = 'February 2016'
 __copyright__ = '(C) 2016, Jürgen E. Fischer'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.uic.Compiler import indenter, compiler
 from PyQt5.uic.objcreator import widgetPluginPath
diff --git a/python/PyQt/PyQt5/uic/properties.py b/python/PyQt/PyQt5/uic/properties.py
index 3c4f8a7..62d4171 100644
--- a/python/PyQt/PyQt5/uic/properties.py
+++ b/python/PyQt/PyQt5/uic/properties.py
@@ -21,6 +21,6 @@ __author__ = 'Juergen E. Fischer'
 __date__ = 'March 2016'
 __copyright__ = '(C) 2016, Juergen E. Fischer'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.uic import properties
diff --git a/python/PyQt/PyQt5/uic/pyuic.py b/python/PyQt/PyQt5/uic/pyuic.py
index 05e7936..1543d21 100644
--- a/python/PyQt/PyQt5/uic/pyuic.py
+++ b/python/PyQt/PyQt5/uic/pyuic.py
@@ -21,7 +21,7 @@ __author__ = 'Juergen E. Fischer'
 __date__ = 'March 2016'
 __copyright__ = '(C) 2016, Juergen E. Fischer'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from PyQt5.uic import pyuic
 if (callable(pyuic.main)):
diff --git a/python/__init__.py b/python/__init__.py
index 0cca420..1f3b119 100644
--- a/python/__init__.py
+++ b/python/__init__.py
@@ -21,7 +21,7 @@ __author__ = 'Martin Dobias'
 __date__ = 'January 2007'
 __copyright__ = '(C) 2007, Martin Dobias'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from builtins import zip
 import os
diff --git a/python/analysis/__init__.py b/python/analysis/__init__.py
index ca22d9f..7e283ba 100644
--- a/python/analysis/__init__.py
+++ b/python/analysis/__init__.py
@@ -21,7 +21,7 @@ __author__ = 'Nathan Woodrow'
 __date__ = 'May 2014'
 __copyright__ = '(C) 2014, Nathan Woodrow'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt import QtCore
 
diff --git a/python/analysis/network/qgsgraphdirector.sip.in b/python/analysis/network/qgsgraphdirector.sip.in
index eb910fb..c9fc92e 100644
--- a/python/analysis/network/qgsgraphdirector.sip.in
+++ b/python/analysis/network/qgsgraphdirector.sip.in
@@ -32,6 +32,8 @@ using "builder" design patter.
 %End
   public:
 
+    ~QgsGraphDirector();
+
     virtual void makeGraph( QgsGraphBuilderInterface *builder,
                             const QVector< QgsPointXY > &additionalPoints,
                             QVector< QgsPointXY > &snappedPoints /Out/,
diff --git a/python/console/__init__.py b/python/console/__init__.py
index cb16dd6..47555fd 100644
--- a/python/console/__init__.py
+++ b/python/console/__init__.py
@@ -21,6 +21,6 @@ __author__ = 'Salvatore Larosa'
 __date__ = 'September 2012'
 __copyright__ = '(C) 2012, Salvatore Larosa'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .console import show_console  # NOQA
diff --git a/python/core/__init__.py b/python/core/__init__.py
index 051013b..d1e4939 100644
--- a/python/core/__init__.py
+++ b/python/core/__init__.py
@@ -23,7 +23,7 @@ __author__ = 'Nathan Woodrow'
 __date__ = 'May 2014'
 __copyright__ = '(C) 2014, Nathan Woodrow'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QCoreApplication, NULL
 
diff --git a/python/core/contextmanagers.py b/python/core/contextmanagers.py
index a200c14..94b9a44 100644
--- a/python/core/contextmanagers.py
+++ b/python/core/contextmanagers.py
@@ -21,7 +21,7 @@ __author__ = 'Nathan Woodrow'
 __date__ = 'May 2014'
 __copyright__ = '(C) 2014, Nathan Woodrow'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import sys
 from contextlib import contextmanager
diff --git a/python/core/conversions.sip b/python/core/conversions.sip
index d760095..8b7a082 100644
--- a/python/core/conversions.sip
+++ b/python/core/conversions.sip
@@ -49,7 +49,7 @@ template <TYPE>
     QVector<TYPE> *t = new QVector<TYPE>(sipCpp->at(i));
     PyObject *tobj;
 
-    if ((tobj = sipConvertFromMappedType(t, qvector_type, sipTransferObj)) == NULL)
+    if ((tobj = sipConvertFromNewType(t, qvector_type, NULL)) == NULL)
     {
       Py_DECREF(l);
       delete t;
@@ -126,7 +126,7 @@ template <TYPE>
     QVector<QVector<TYPE> > *t = new QVector<QVector<TYPE> >(sipCpp->at(i));
     PyObject *tobj;
 
-    if ((tobj = sipConvertFromMappedType(t, qvector_type, sipTransferObj)) == NULL)
+    if ((tobj = sipConvertFromNewType(t, qvector_type, NULL)) == NULL)
     {
       Py_DECREF(l);
       delete t;
@@ -202,7 +202,7 @@ template <TYPE>
     QList<TYPE> *t = new QList<TYPE>(sipCpp->at(i));
     PyObject *tobj;
 
-    if ((tobj = sipConvertFromMappedType(t, qlist_type, sipTransferObj)) == NULL)
+    if ((tobj = sipConvertFromNewType(t, qlist_type, NULL)) == NULL)
     {
       Py_DECREF(l);
       delete t;
@@ -470,7 +470,7 @@ template<TYPE>
     QMap<int, TYPE> *t = new QMap<int, TYPE>(*it);
 
     PyObject *kobj = PyLong_FromLongLong(it.key());
-    PyObject *tobj = sipConvertFromMappedType(t, qmap2, sipTransferObj);
+    PyObject *tobj = sipConvertFromNewType(t, qmap2, sipTransferObj);
 
     if (kobj == NULL || tobj == NULL || PyDict_SetItem(d, kobj, tobj) < 0)
     {
diff --git a/python/core/processing/qgsprocessingfeedback.sip.in b/python/core/processing/qgsprocessingfeedback.sip.in
index 627982e..f818a03 100644
--- a/python/core/processing/qgsprocessingfeedback.sip.in
+++ b/python/core/processing/qgsprocessingfeedback.sip.in
@@ -35,10 +35,11 @@ setProgress() to provide detailed progress reports, such as "Transformed
 .. seealso:: :py:func:`setProgress`
 %End
 
-    virtual void reportError( const QString &error );
+    virtual void reportError( const QString &error, bool fatalError = false );
 %Docstring
-Reports that the algorithm encountered an error which prevented it
-from successfully executing.
+Reports that the algorithm encountered an ``error`` while executing.
+
+If ``fatalError`` is true then the error prevented the algorithm from executing.
 %End
 
     virtual void pushInfo( const QString &info );
@@ -127,7 +128,7 @@ to scale the current progress to account for progress through the overall proces
 
     virtual void setProgressText( const QString &text );
 
-    virtual void reportError( const QString &error );
+    virtual void reportError( const QString &error, bool fatalError );
 
     virtual void pushInfo( const QString &info );
 
diff --git a/python/core/qgsaction.sip.in b/python/core/qgsaction.sip.in
index d099043..de992ef 100644
--- a/python/core/qgsaction.sip.in
+++ b/python/core/qgsaction.sip.in
@@ -42,6 +42,7 @@ Create a new QgsAction
 :param description:   A human readable description string
 :param command:       The action text. Its interpretation depends on the type
 :param capture:       If this is set to true, the output will be captured when an action is run
+:param enabledOnlyWhenEditable: if true then action is only enable in editmode
 %End
 
     QgsAction( ActionType type, const QString &description, const QString &action, const QString &icon, bool capture, const QString &shortTitle = QString(), const QSet<QString> &actionScopes = QSet<QString>(), const QString &notificationMessage = QString() );
@@ -56,6 +57,7 @@ Create a new QgsAction
 :param shortTitle:           A short string used to label user interface elements like buttons
 :param actionScopes:         A set of scopes in which this action will be available
 :param notificationMessage:  A particular message which reception will trigger the action
+:param enabledOnlyWhenEditable: if true then action is only enable in editmode
 %End
 
     QString name() const;
@@ -118,6 +120,13 @@ The action type
 Whether to capture output for display when this action is run
 %End
 
+
+    bool isEnabledOnlyWhenEditable() const;
+%Docstring
+Return whether only enabled in editable mode
+%End
+
+
     bool runable() const;
 %Docstring
 Checks if the action is runable on the current platform
diff --git a/python/core/qgsfileutils.sip.in b/python/core/qgsfileutils.sip.in
index 2b9779a..6d2c6c8 100644
--- a/python/core/qgsfileutils.sip.in
+++ b/python/core/qgsfileutils.sip.in
@@ -72,7 +72,9 @@ will be returned unchanged.
 Converts a ``string`` to a safe filename, replacing characters which are not safe
 for filenames with an '_' character.
 
-This method should be called with file names only, not complete paths.
+.. warning::
+
+   This method strips slashes from the filename, so it is safe to call with file names only, not complete paths.
 %End
 };
 
diff --git a/python/core/qgsmapsettings.sip.in b/python/core/qgsmapsettings.sip.in
index 3402584..ddbdf0f 100644
--- a/python/core/qgsmapsettings.sip.in
+++ b/python/core/qgsmapsettings.sip.in
@@ -124,6 +124,10 @@ The layers are stored in the reverse order of how they are rendered (layer with
 %Docstring
 Set list of layers for map rendering. The layers must be registered in :py:class:`QgsProject`.
 The layers are stored in the reverse order of how they are rendered (layer with index 0 will be on top)
+
+.. note::
+
+   Any non-spatial layers will be automatically stripped from the list (since they cannot be rendered!).
 %End
 
     QMap<QString, QString> layerStyleOverrides() const;
diff --git a/python/core/qgspluginlayer.sip.in b/python/core/qgspluginlayer.sip.in
index 1fa8fb2..168d049 100644
--- a/python/core/qgspluginlayer.sip.in
+++ b/python/core/qgspluginlayer.sip.in
@@ -7,7 +7,6 @@
  ************************************************************************/
 
 
-
 class QgsPluginLayer : QgsMapLayer
 {
 %Docstring
@@ -54,9 +53,13 @@ Set source string. This is used for example in layer tree to show tooltip.
 .. versionadded:: 2.16
 %End
 
+    virtual QgsDataProvider *dataProvider();
+
+
   protected:
 };
 
+
 /************************************************************************
  * This file has been generated automatically from                      *
  *                                                                      *
diff --git a/python/core/symbology/qgscategorizedsymbolrenderer.sip.in b/python/core/symbology/qgscategorizedsymbolrenderer.sip.in
index 85a99d8..d8cec82 100644
--- a/python/core/symbology/qgscategorizedsymbolrenderer.sip.in
+++ b/python/core/symbology/qgscategorizedsymbolrenderer.sip.in
@@ -45,7 +45,22 @@ copy constructor
     void setLabel( const QString &label );
 
     bool renderState() const;
+%Docstring
+Returns true if the category is currently enabled and should be rendered.
+
+.. seealso:: :py:func:`setRenderState`
+
+.. versionadded:: 2.5
+%End
+
     void setRenderState( bool render );
+%Docstring
+Sets whether the category is currently enabled and should be rendered.
+
+.. seealso:: :py:func:`renderState`
+
+.. versionadded:: 2.5
+%End
 
     QString dump() const;
 
@@ -252,9 +267,36 @@ Will return null if the functionality is disabled.
 hashtable for faster access to symbols
 %End
 
-    QgsSymbol *skipRender();
+ QgsSymbol *skipRender() /Deprecated/;
+%Docstring
 
-    QgsSymbol *symbolForValue( const QVariant &value );
+.. deprecated:: No longer used, will be removed in QGIS 4.0
+%End
+
+ QgsSymbol *symbolForValue( const QVariant &value ) /Deprecated/;
+%Docstring
+Returns the matching symbol corresponding to an attribute ``value``.
+
+.. deprecated:: use variant which takes a second bool argument instead.
+%End
+
+
+    QgsSymbol *symbolForValue( const QVariant &value, bool &foundMatchingSymbol /Out/ ) /PyName=symbolForValue2/;
+%Docstring
+Returns the matching symbol corresponding to an attribute ``value``.
+
+Will return None if no matching symbol was found for ``value``, or
+if the category corresponding to ``value`` is currently disabled (see QgsRendererCategory.renderState()).
+
+If ``foundMatchingSymbol`` is specified then it will be set to true if
+a matching category was found. This can be used to differentiate between
+a None returned as a result of no matching category vs a None as a result
+of disabled categories.
+
+.. note::
+
+   available in Python bindings as symbolForValue2
+%End
 
   private:
     QgsCategorizedSymbolRenderer( const QgsCategorizedSymbolRenderer & );
diff --git a/python/gui/__init__.py b/python/gui/__init__.py
index 7a6fbf1..0d09f92 100644
--- a/python/gui/__init__.py
+++ b/python/gui/__init__.py
@@ -21,7 +21,7 @@ __author__ = 'Nathan Woodrow'
 __date__ = 'May 2014'
 __copyright__ = '(C) 2014, Nathan Woodrow'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt import QtCore
 from qgis._gui import *
diff --git a/python/gui/processing/qgsprocessingalgorithmdialogbase.sip.in b/python/gui/processing/qgsprocessingalgorithmdialogbase.sip.in
index afc1671..f0796fe 100644
--- a/python/gui/processing/qgsprocessingalgorithmdialogbase.sip.in
+++ b/python/gui/processing/qgsprocessingalgorithmdialogbase.sip.in
@@ -100,9 +100,11 @@ Returns the parameter values for the algorithm to run in the dialog.
     virtual void accept();
 
 
-    void reportError( const QString &error );
+    void reportError( const QString &error, bool fatalError );
 %Docstring
 Reports an ``error`` string to the dialog's log.
+
+If ``fatalError`` is true, the error prevented the algorithm from executing.
 %End
 
     void pushInfo( const QString &info );
@@ -215,6 +217,13 @@ Sets the current ``task`` running in the dialog. The task will automatically be
 by the dialog. Ownership of ``task`` is transferred to the dialog.
 %End
 
+    static QString formatStringForLog( const QString &string );
+%Docstring
+Formats an input ``string`` for display in the log tab.
+
+.. versionadded:: 3.0.1
+%End
+
   protected slots:
 
     virtual void finished( bool successful, const QVariantMap &result, QgsProcessingContext &context, QgsProcessingFeedback *feedback );
diff --git a/python/gui/qgisinterface.sip.in b/python/gui/qgisinterface.sip.in
index 6f38a0e..c1514b7 100644
--- a/python/gui/qgisinterface.sip.in
+++ b/python/gui/qgisinterface.sip.in
@@ -849,6 +849,7 @@ Unregister a previously registered custom drop ``handler`` for layout windows.
 %End
 
 
+
     virtual void openURL( const QString &url, bool useQgisDocDirectory = true ) = 0 /Deprecated/;
 %Docstring
 Open a url in the users browser. By default the QGIS doc directory is used
diff --git a/python/gui/qgsactionmenu.sip.in b/python/gui/qgsactionmenu.sip.in
index 83b0455..c801b4c 100644
--- a/python/gui/qgsactionmenu.sip.in
+++ b/python/gui/qgsactionmenu.sip.in
@@ -73,6 +73,13 @@ Change the feature on which actions are performed
 as long as the menu is displayed and the action is running.
 %End
 
+    void setMode( const QgsAttributeForm::Mode mode );
+%Docstring
+Change the mode of the actions
+
+:param mode: The mode of the attribute form
+%End
+
     void setExpressionContextScope( const QgsExpressionContextScope &scope );
 %Docstring
 Sets an expression context scope used to resolve underlying actions.
diff --git a/python/gui/qgsattributeform.sip.in b/python/gui/qgsattributeform.sip.in
index 3220014..8b489dd 100644
--- a/python/gui/qgsattributeform.sip.in
+++ b/python/gui/qgsattributeform.sip.in
@@ -26,6 +26,7 @@ class QgsAttributeForm : QWidget
       MultiEditMode,
       SearchMode,
       AggregateSearchMode,
+      IdentifyMode
     };
 
     enum FilterType
diff --git a/python/gui/qgsfilterlineedit.sip.in b/python/gui/qgsfilterlineedit.sip.in
index d657557..ddf3c27 100644
--- a/python/gui/qgsfilterlineedit.sip.in
+++ b/python/gui/qgsfilterlineedit.sip.in
@@ -213,6 +213,15 @@ Will select all text when this widget receives the focus.
 .. versionadded:: 3.0
 %End
 
+
+    virtual bool event( QEvent *event );
+%Docstring
+Reimplemented to enable/disable the clear action
+depending on read-only status
+
+.. versionadded:: 3.0.1
+%End
+
   public slots:
 
     virtual void clearValue();
diff --git a/python/gui/qgsmaplayeractionregistry.sip.in b/python/gui/qgsmaplayeractionregistry.sip.in
index c989098..371106d 100644
--- a/python/gui/qgsmaplayeractionregistry.sip.in
+++ b/python/gui/qgsmaplayeractionregistry.sip.in
@@ -30,7 +30,15 @@ An action which can run on map layers
     typedef QFlags<QgsMapLayerAction::Target> Targets;
 
 
-    QgsMapLayerAction( const QString &name, QObject *parent /TransferThis/, Targets targets = AllActions, const QIcon &icon = QIcon() );
+    enum Flag
+    {
+      EnabledOnlyWhenEditable,
+    };
+
+    typedef QFlags<QgsMapLayerAction::Flag> Flags;
+
+
+    QgsMapLayerAction( const QString &name, QObject *parent /TransferThis/, Targets targets = AllActions, const QIcon &icon = QIcon(), QgsMapLayerAction::Flags flags = 0 );
 %Docstring
 Creates a map layer action which can run on any layer
 
@@ -39,18 +47,25 @@ Creates a map layer action which can run on any layer
    using AllActions as a target probably does not make a lot of sense. This default action was settled for API compatibility reasons.
 %End
 
-    QgsMapLayerAction( const QString &name, QObject *parent /TransferThis/, QgsMapLayer *layer, Targets targets = AllActions, const QIcon &icon = QIcon() );
+    QgsMapLayerAction( const QString &name, QObject *parent /TransferThis/, QgsMapLayer *layer, Targets targets = AllActions, const QIcon &icon = QIcon(), QgsMapLayerAction::Flags flags = 0 );
 %Docstring
 Creates a map layer action which can run only on a specific layer
 %End
 
-    QgsMapLayerAction( const QString &name, QObject *parent /TransferThis/, QgsMapLayer::LayerType layerType, Targets targets = AllActions, const QIcon &icon = QIcon() );
+    QgsMapLayerAction( const QString &name, QObject *parent /TransferThis/, QgsMapLayer::LayerType layerType, Targets targets = AllActions, const QIcon &icon = QIcon(), QgsMapLayerAction::Flags flags = 0 );
 %Docstring
 Creates a map layer action which can run on a specific type of layer
 %End
 
     ~QgsMapLayerAction();
 
+    QgsMapLayerAction::Flags flags() const;
+%Docstring
+Layer behavior flags.
+
+.. versionadded:: 3.0
+%End
+
     bool canRunUsingLayer( QgsMapLayer *layer ) const;
 %Docstring
 True if action can run using the specified layer
@@ -80,6 +95,13 @@ Define the targets of the action
 Return availibity of action
 %End
 
+    bool isEnabledOnlyWhenEditable() const;
+%Docstring
+Returns true if the action is only enabled for layers in editable mode.
+
+.. versionadded:: 3.0
+%End
+
   signals:
     void triggeredForFeatures( QgsMapLayer *layer, const QList<QgsFeature> &featureList );
 %Docstring
@@ -158,6 +180,9 @@ Triggered when an action is added or removed from the registry
 
 };
 
+QFlags<QgsMapLayerAction::Flag> operator|(QgsMapLayerAction::Flag f1, QFlags<QgsMapLayerAction::Flag> f2);
+
+
 /************************************************************************
  * This file has been generated automatically from                      *
  *                                                                      *
diff --git a/python/plugins/db_manager/db_manager.py b/python/plugins/db_manager/db_manager.py
index 4031759..2881924 100644
--- a/python/plugins/db_manager/db_manager.py
+++ b/python/plugins/db_manager/db_manager.py
@@ -55,6 +55,7 @@ class DBManager(QMainWindow):
         self.restoreGeometry(settings.value("/DB_Manager/mainWindow/geometry", QByteArray(), type=QByteArray))
         self.restoreState(settings.value("/DB_Manager/mainWindow/windowState", QByteArray(), type=QByteArray))
 
+        self.toolBar.setIconSize(self.iface.iconSize())
         self.tabs.currentChanged.connect(self.tabChanged)
         self.tree.selectedItemChanged.connect(self.itemChanged)
         self.tree.model().dataChanged.connect(self.iface.reloadConnections)
diff --git a/python/plugins/db_manager/db_plugins/oracle/sql_dictionary.py b/python/plugins/db_manager/db_plugins/oracle/sql_dictionary.py
index 042489d..2f5d39e 100644
--- a/python/plugins/db_manager/db_plugins/oracle/sql_dictionary.py
+++ b/python/plugins/db_manager/db_plugins/oracle/sql_dictionary.py
@@ -27,7 +27,7 @@ __author__ = 'Médéric RIBREUX'
 __date__ = 'August 2014'
 __copyright__ = '(C) 2014, Médéric RIBREUX'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 # keywords
 keywords = [
diff --git a/python/plugins/db_manager/db_plugins/postgis/connector_test.py b/python/plugins/db_manager/db_plugins/postgis/connector_test.py
index 0cabe97..dbd9ee2 100644
--- a/python/plugins/db_manager/db_plugins/postgis/connector_test.py
+++ b/python/plugins/db_manager/db_plugins/postgis/connector_test.py
@@ -21,7 +21,7 @@ __author__ = 'Sandro Santilli'
 __date__ = 'May 2017'
 __copyright__ = '(C) 2017, Sandro Santilli'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import qgis
diff --git a/python/plugins/db_manager/db_plugins/postgis/plugin_test.py b/python/plugins/db_manager/db_plugins/postgis/plugin_test.py
index 96f30c2..79a65bc 100644
--- a/python/plugins/db_manager/db_plugins/postgis/plugin_test.py
+++ b/python/plugins/db_manager/db_plugins/postgis/plugin_test.py
@@ -21,7 +21,7 @@ __author__ = 'Sandro Santilli'
 __date__ = 'May 2017'
 __copyright__ = '(C) 2017, Sandro Santilli'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import re
diff --git a/python/plugins/db_manager/db_plugins/postgis/plugins/qgis_topoview/__init__.py b/python/plugins/db_manager/db_plugins/postgis/plugins/qgis_topoview/__init__.py
index 2e6501d..20fe979 100644
--- a/python/plugins/db_manager/db_plugins/postgis/plugins/qgis_topoview/__init__.py
+++ b/python/plugins/db_manager/db_plugins/postgis/plugins/qgis_topoview/__init__.py
@@ -235,19 +235,19 @@ def run(item, action, mainwindow):
         groupFaces = QgsLayerTreeGroup(u'Faces')
         for layer in faceLayers:
             nodeLayer = groupFaces.addLayer(layer)
-            nodeLayer.setVisible(Qt.Unchecked)
+            nodeLayer.setItemVisibilityChecked(False)
             nodeLayer.setExpanded(False)
 
         groupNodes = QgsLayerTreeGroup(u'Nodes')
         for layer in nodeLayers:
             nodeLayer = groupNodes.addLayer(layer)
-            nodeLayer.setVisible(Qt.Unchecked)
+            nodeLayer.setItemVisibilityChecked(False)
             nodeLayer.setExpanded(False)
 
         groupEdges = QgsLayerTreeGroup(u'Edges')
         for layer in edgeLayers:
             nodeLayer = groupEdges.addLayer(layer)
-            nodeLayer.setVisible(Qt.Unchecked)
+            nodeLayer.setItemVisibilityChecked(False)
             nodeLayer.setExpanded(False)
 
         supergroup = QgsLayerTreeGroup(u'Topology "%s"' % toponame)
diff --git a/python/plugins/db_manager/db_plugins/postgis/sql_dictionary.py b/python/plugins/db_manager/db_plugins/postgis/sql_dictionary.py
index 06418bd..699656c 100644
--- a/python/plugins/db_manager/db_plugins/postgis/sql_dictionary.py
+++ b/python/plugins/db_manager/db_plugins/postgis/sql_dictionary.py
@@ -22,7 +22,7 @@ __author__ = 'Giuseppe Sucameli'
 __date__ = 'April 2012'
 __copyright__ = '(C) 2012, Giuseppe Sucameli'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 # keywords
 keywords = [
diff --git a/python/plugins/db_manager/db_plugins/spatialite/sql_dictionary.py b/python/plugins/db_manager/db_plugins/spatialite/sql_dictionary.py
index 26d1f06..fbd7b59 100644
--- a/python/plugins/db_manager/db_plugins/spatialite/sql_dictionary.py
+++ b/python/plugins/db_manager/db_plugins/spatialite/sql_dictionary.py
@@ -22,7 +22,7 @@ __author__ = 'Giuseppe Sucameli'
 __date__ = 'April 2012'
 __copyright__ = '(C) 2012, Giuseppe Sucameli'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 # keywords
 keywords = [
diff --git a/python/plugins/db_manager/db_plugins/vlayers/sql_dictionary.py b/python/plugins/db_manager/db_plugins/vlayers/sql_dictionary.py
index d5a5867..1507dd4 100644
--- a/python/plugins/db_manager/db_plugins/vlayers/sql_dictionary.py
+++ b/python/plugins/db_manager/db_plugins/vlayers/sql_dictionary.py
@@ -22,7 +22,7 @@ __author__ = 'Hugo Mercier'
 __date__ = 'December 2015'
 __copyright__ = '(C) 2015, Hugo Mercier'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 # keywords
diff --git a/python/plugins/db_manager/dlg_field_properties.py b/python/plugins/db_manager/dlg_field_properties.py
index 8398f26..f5bc9c8 100644
--- a/python/plugins/db_manager/dlg_field_properties.py
+++ b/python/plugins/db_manager/dlg_field_properties.py
@@ -22,7 +22,7 @@ __author__ = 'Giuseppe Sucameli'
 __date__ = 'April 2012'
 __copyright__ = '(C) 2012, Giuseppe Sucameli'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtWidgets import QDialog, QMessageBox
 
diff --git a/python/plugins/db_manager/sql_dictionary.py b/python/plugins/db_manager/sql_dictionary.py
index 8bd5574..624738c 100644
--- a/python/plugins/db_manager/sql_dictionary.py
+++ b/python/plugins/db_manager/sql_dictionary.py
@@ -21,7 +21,7 @@ __author__ = 'Giuseppe Sucameli'
 __date__ = 'April 2012'
 __copyright__ = '(C) 2012, Giuseppe Sucameli'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 # GENERIC SQL DICTIONARY
 
diff --git a/python/plugins/db_manager/sqledit.py b/python/plugins/db_manager/sqledit.py
index 24411c4..9784f89 100644
--- a/python/plugins/db_manager/sqledit.py
+++ b/python/plugins/db_manager/sqledit.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import Qt
 from qgis.PyQt.QtGui import QColor, QFont, QKeySequence
diff --git a/python/plugins/processing/ProcessingPlugin.py b/python/plugins/processing/ProcessingPlugin.py
index cc95518..339bc19 100644
--- a/python/plugins/processing/ProcessingPlugin.py
+++ b/python/plugins/processing/ProcessingPlugin.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import shutil
 import os
diff --git a/python/plugins/processing/__init__.py b/python/plugins/processing/__init__.py
index 81d9dec..4d5dd6f 100644
--- a/python/plugins/processing/__init__.py
+++ b/python/plugins/processing/__init__.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from processing.tools.dataobjects import *          # NOQA
 from processing.tools.general import *              # NOQA
diff --git a/python/plugins/processing/algs/exampleprovider/ExampleAlgorithm.py b/python/plugins/processing/algs/exampleprovider/ExampleAlgorithm.py
index 3ac9b60..b87ec59 100644
--- a/python/plugins/processing/algs/exampleprovider/ExampleAlgorithm.py
+++ b/python/plugins/processing/algs/exampleprovider/ExampleAlgorithm.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import QgsVectorFileWriter, QgsSettings, QgsProcessingUtils
 
diff --git a/python/plugins/processing/algs/exampleprovider/ExampleAlgorithmProvider.py b/python/plugins/processing/algs/exampleprovider/ExampleAlgorithmProvider.py
index 2f28178..1e39eed 100644
--- a/python/plugins/processing/algs/exampleprovider/ExampleAlgorithmProvider.py
+++ b/python/plugins/processing/algs/exampleprovider/ExampleAlgorithmProvider.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import QgsProcessingProvider
 from processing.core.ProcessingConfig import Setting, ProcessingConfig
diff --git a/python/plugins/processing/algs/exampleprovider/ProcessingExampleProviderPlugin.py b/python/plugins/processing/algs/exampleprovider/ProcessingExampleProviderPlugin.py
index bedd6fa..e20023e 100644
--- a/python/plugins/processing/algs/exampleprovider/ProcessingExampleProviderPlugin.py
+++ b/python/plugins/processing/algs/exampleprovider/ProcessingExampleProviderPlugin.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import sys
diff --git a/python/plugins/processing/algs/exampleprovider/__init__.py b/python/plugins/processing/algs/exampleprovider/__init__.py
index 7f86e32..19f0298 100644
--- a/python/plugins/processing/algs/exampleprovider/__init__.py
+++ b/python/plugins/processing/algs/exampleprovider/__init__.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from exampleprovider.ProcessingExampleProviderPlugin import ProcessingExampleProviderPlugin
 
diff --git a/python/plugins/processing/algs/gdal/AssignProjection.py b/python/plugins/processing/algs/gdal/AssignProjection.py
index 4b5e3d2..f10696c 100644
--- a/python/plugins/processing/algs/gdal/AssignProjection.py
+++ b/python/plugins/processing/algs/gdal/AssignProjection.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/Buffer.py b/python/plugins/processing/algs/gdal/Buffer.py
index 0af149b..93c9c68 100644
--- a/python/plugins/processing/algs/gdal/Buffer.py
+++ b/python/plugins/processing/algs/gdal/Buffer.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Giovanni Manghi'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessing,
                        QgsProcessingParameterDefinition,
diff --git a/python/plugins/processing/algs/gdal/ClipRasterByExtent.py b/python/plugins/processing/algs/gdal/ClipRasterByExtent.py
index 7e1400a..7d4c180 100644
--- a/python/plugins/processing/algs/gdal/ClipRasterByExtent.py
+++ b/python/plugins/processing/algs/gdal/ClipRasterByExtent.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -132,8 +132,7 @@ class ClipRasterByExtent(GdalAlgorithm):
         arguments.append(QgsRasterFileWriter.driverForExtension(os.path.splitext(out)[1]))
 
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         arguments.append(inLayer.source())
         arguments.append(out)
diff --git a/python/plugins/processing/algs/gdal/ClipRasterByMask.py b/python/plugins/processing/algs/gdal/ClipRasterByMask.py
index 2e3e33e..9deed35 100644
--- a/python/plugins/processing/algs/gdal/ClipRasterByMask.py
+++ b/python/plugins/processing/algs/gdal/ClipRasterByMask.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -74,7 +74,7 @@ class ClipRasterByMask(GdalAlgorithm):
                                                        defaultValue=0.0,
                                                        optional=True))
         self.addParameter(QgsProcessingParameterBoolean(self.ALPHA_BAND,
-                                                        self.tr('Create and output alpha band'),
+                                                        self.tr('Create an output alpha band'),
                                                         defaultValue=False))
         self.addParameter(QgsProcessingParameterBoolean(self.CROP_TO_CUTLINE,
                                                         self.tr('Crop the extent of the target dataset to the extent of the cutline'),
@@ -154,8 +154,7 @@ class ClipRasterByMask(GdalAlgorithm):
             arguments.append('-dstnodata {}'.format(nodata))
 
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         arguments.append(inLayer.source())
         arguments.append(out)
diff --git a/python/plugins/processing/algs/gdal/ClipVectorByExtent.py b/python/plugins/processing/algs/gdal/ClipVectorByExtent.py
index 8996c3b..2fcfc8b 100644
--- a/python/plugins/processing/algs/gdal/ClipVectorByExtent.py
+++ b/python/plugins/processing/algs/gdal/ClipVectorByExtent.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsVectorLayer,
                        QgsProcessing,
diff --git a/python/plugins/processing/algs/gdal/ClipVectorByMask.py b/python/plugins/processing/algs/gdal/ClipVectorByMask.py
index 0524062..4e690ab 100644
--- a/python/plugins/processing/algs/gdal/ClipVectorByMask.py
+++ b/python/plugins/processing/algs/gdal/ClipVectorByMask.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessing,
                        QgsProcessingParameterDefinition,
diff --git a/python/plugins/processing/algs/gdal/ColorRelief.py b/python/plugins/processing/algs/gdal/ColorRelief.py
index 61c1dc3..c7a3361 100644
--- a/python/plugins/processing/algs/gdal/ColorRelief.py
+++ b/python/plugins/processing/algs/gdal/ColorRelief.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from qgis.core import (QgsRasterFileWriter,
diff --git a/python/plugins/processing/algs/gdal/Dissolve.py b/python/plugins/processing/algs/gdal/Dissolve.py
index e9b2754..c8c48cb 100644
--- a/python/plugins/processing/algs/gdal/Dissolve.py
+++ b/python/plugins/processing/algs/gdal/Dissolve.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Giovanni Manghi'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessing,
                        QgsProcessingParameterDefinition,
diff --git a/python/plugins/processing/algs/gdal/ExecuteSql.py b/python/plugins/processing/algs/gdal/ExecuteSql.py
index b028da0..2783d31 100644
--- a/python/plugins/processing/algs/gdal/ExecuteSql.py
+++ b/python/plugins/processing/algs/gdal/ExecuteSql.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from qgis.core import (QgsProcessingException,
diff --git a/python/plugins/processing/algs/gdal/GdalAlgorithm.py b/python/plugins/processing/algs/gdal/GdalAlgorithm.py
index 65d76b9..fb72a1a 100644
--- a/python/plugins/processing/algs/gdal/GdalAlgorithm.py
+++ b/python/plugins/processing/algs/gdal/GdalAlgorithm.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import re
diff --git a/python/plugins/processing/algs/gdal/GdalAlgorithmDialog.py b/python/plugins/processing/algs/gdal/GdalAlgorithmDialog.py
index 03c23b8..21a21c7 100644
--- a/python/plugins/processing/algs/gdal/GdalAlgorithmDialog.py
+++ b/python/plugins/processing/algs/gdal/GdalAlgorithmDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QCoreApplication
 from qgis.PyQt.QtWidgets import (QWidget,
@@ -113,7 +113,7 @@ class GdalParametersPanel(ParametersPanel):
                     parameters[output.name()] = self.tr("[temporary file]")
             for p in self.alg.parameterDefinitions():
                 if (not p.name() in parameters and not p.flags() & QgsProcessingParameterDefinition.FlagOptional) \
-                        or (not p.checkValueIsAcceptable(parameters[p.name()], context)):
+                        or (not p.checkValueIsAcceptable(parameters[p.name()])):
                     # not ready yet
                     self.text.setPlainText('')
                     return
diff --git a/python/plugins/processing/algs/gdal/GdalAlgorithmProvider.py b/python/plugins/processing/algs/gdal/GdalAlgorithmProvider.py
index 058c314..dd610d0 100644
--- a/python/plugins/processing/algs/gdal/GdalAlgorithmProvider.py
+++ b/python/plugins/processing/algs/gdal/GdalAlgorithmProvider.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/GdalUtils.py b/python/plugins/processing/algs/gdal/GdalUtils.py
index e06bb32..007b97c 100644
--- a/python/plugins/processing/algs/gdal/GdalUtils.py
+++ b/python/plugins/processing/algs/gdal/GdalUtils.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import subprocess
@@ -389,3 +389,25 @@ class GdalUtils:
         name = ly.GetName()
         ds = None
         return name
+
+    @staticmethod
+    def parseCreationOptions(value):
+        parts = value.split('|')
+        options = []
+        for p in parts:
+            options.extend(['-co', p])
+        return options
+
+    @staticmethod
+    def writeLayerParameterToTextFile(filename, alg, parameters, parameter_name, context, quote=True, executing=False):
+        listFile = os.path.join(QgsProcessingUtils.tempFolder(), filename)
+        with open(listFile, 'w') as f:
+            if executing:
+                layers = []
+                for l in alg.parameterAsLayerList(parameters, parameter_name, context):
+                    if quote:
+                        layers.append('"' + l.source() + '"')
+                    else:
+                        layers.append(l.source())
+                f.write('\n'.join(layers))
+        return listFile
diff --git a/python/plugins/processing/algs/gdal/GridAverage.py b/python/plugins/processing/algs/gdal/GridAverage.py
index 094e32d..acc705a 100644
--- a/python/plugins/processing/algs/gdal/GridAverage.py
+++ b/python/plugins/processing/algs/gdal/GridAverage.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -167,8 +167,7 @@ class GridAverage(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         arguments.append(ogrLayer)
         arguments.append(out)
diff --git a/python/plugins/processing/algs/gdal/GridDataMetrics.py b/python/plugins/processing/algs/gdal/GridDataMetrics.py
index fedcea6..e35ccef 100644
--- a/python/plugins/processing/algs/gdal/GridDataMetrics.py
+++ b/python/plugins/processing/algs/gdal/GridDataMetrics.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -181,8 +181,7 @@ class GridDataMetrics(GdalAlgorithm):
         options = self.parameterAsString(parameters, self.OPTIONS, context)
 
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         arguments.append(ogrLayer)
         arguments.append(out)
diff --git a/python/plugins/processing/algs/gdal/GridInverseDistance.py b/python/plugins/processing/algs/gdal/GridInverseDistance.py
index 5fb0a35..9610490 100644
--- a/python/plugins/processing/algs/gdal/GridInverseDistance.py
+++ b/python/plugins/processing/algs/gdal/GridInverseDistance.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
@@ -190,8 +190,7 @@ class GridInverseDistance(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         arguments.append(ogrLayer)
         arguments.append(out)
diff --git a/python/plugins/processing/algs/gdal/GridInverseDistanceNearestNeighbor.py b/python/plugins/processing/algs/gdal/GridInverseDistanceNearestNeighbor.py
index 2f95375..6b2893d 100644
--- a/python/plugins/processing/algs/gdal/GridInverseDistanceNearestNeighbor.py
+++ b/python/plugins/processing/algs/gdal/GridInverseDistanceNearestNeighbor.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
@@ -175,8 +175,7 @@ class GridInverseDistanceNearestNeighbor(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         arguments.append(ogrLayer)
         arguments.append(out)
diff --git a/python/plugins/processing/algs/gdal/GridLinear.py b/python/plugins/processing/algs/gdal/GridLinear.py
index cc98a53..e4be37e 100644
--- a/python/plugins/processing/algs/gdal/GridLinear.py
+++ b/python/plugins/processing/algs/gdal/GridLinear.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
@@ -146,8 +146,7 @@ class GridLinear(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         arguments.append(ogrLayer)
         arguments.append(out)
diff --git a/python/plugins/processing/algs/gdal/GridNearestNeighbor.py b/python/plugins/processing/algs/gdal/GridNearestNeighbor.py
index 0bc5426..50fffdd 100644
--- a/python/plugins/processing/algs/gdal/GridNearestNeighbor.py
+++ b/python/plugins/processing/algs/gdal/GridNearestNeighbor.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
@@ -161,8 +161,7 @@ class GridNearestNeighbor(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         arguments.append(ogrLayer)
         arguments.append(out)
diff --git a/python/plugins/processing/algs/gdal/OffsetCurve.py b/python/plugins/processing/algs/gdal/OffsetCurve.py
index 2b69373..fc68161 100644
--- a/python/plugins/processing/algs/gdal/OffsetCurve.py
+++ b/python/plugins/processing/algs/gdal/OffsetCurve.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Giovanni Manghi'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessing,
                        QgsProcessingParameterDefinition,
diff --git a/python/plugins/processing/algs/gdal/OgrToPostGis.py b/python/plugins/processing/algs/gdal/OgrToPostGis.py
index 7ba109f..f42540c 100644
--- a/python/plugins/processing/algs/gdal/OgrToPostGis.py
+++ b/python/plugins/processing/algs/gdal/OgrToPostGis.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessingParameterFeatureSource,
                        QgsProcessingParameterString,
diff --git a/python/plugins/processing/algs/gdal/OneSideBuffer.py b/python/plugins/processing/algs/gdal/OneSideBuffer.py
index f0492bc..3d1aa0f 100644
--- a/python/plugins/processing/algs/gdal/OneSideBuffer.py
+++ b/python/plugins/processing/algs/gdal/OneSideBuffer.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Giovanni Manghi'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessing,
                        QgsProcessingParameterDefinition,
diff --git a/python/plugins/processing/algs/gdal/PointsAlongLines.py b/python/plugins/processing/algs/gdal/PointsAlongLines.py
index 1cc8bb8..5317c1a 100644
--- a/python/plugins/processing/algs/gdal/PointsAlongLines.py
+++ b/python/plugins/processing/algs/gdal/PointsAlongLines.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Giovanni Manghi'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessingParameterFeatureSource,
                        QgsProcessingParameterString,
diff --git a/python/plugins/processing/algs/gdal/aspect.py b/python/plugins/processing/algs/gdal/aspect.py
index 2a32a1a..a0bc8d9 100644
--- a/python/plugins/processing/algs/gdal/aspect.py
+++ b/python/plugins/processing/algs/gdal/aspect.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -125,7 +125,6 @@ class aspect(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         return ['gdaldem', GdalUtils.escapeAndJoin(arguments)]
diff --git a/python/plugins/processing/algs/gdal/buildvrt.py b/python/plugins/processing/algs/gdal/buildvrt.py
index 63fd324..b749626 100644
--- a/python/plugins/processing/algs/gdal/buildvrt.py
+++ b/python/plugins/processing/algs/gdal/buildvrt.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Radoslaw Guzinski'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -113,14 +113,9 @@ class buildvrt(GdalAlgorithm):
             arguments.append('-allow_projection_difference')
         # Always write input files to a text file in case there are many of them and the
         # length of the command will be longer then allowed in command prompt
-        listFile = os.path.join(QgsProcessingUtils.tempFolder(), 'buildvrtInputFiles.txt')
-        with open(listFile, 'w') as f:
-            layers = []
-            for l in self.parameterAsLayerList(parameters, self.INPUT, context):
-                layers.append(l.source())
-            f.write('\n'.join(layers))
+        list_file = GdalUtils.writeLayerParameterToTextFile(filename='buildvrtInputFiles.txt', alg=self, parameters=parameters, parameter_name=self.INPUT, context=context, executing=executing, quote=False)
         arguments.append('-input_file_list')
-        arguments.append(listFile)
+        arguments.append(list_file)
 
         out = self.parameterAsOutputLayer(parameters, self.OUTPUT, context)
         arguments.append(out)
diff --git a/python/plugins/processing/algs/gdal/contour.py b/python/plugins/processing/algs/gdal/contour.py
index 86cf3cb..a17841d 100644
--- a/python/plugins/processing/algs/gdal/contour.py
+++ b/python/plugins/processing/algs/gdal/contour.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/extractprojection.py b/python/plugins/processing/algs/gdal/extractprojection.py
index 026b8fc..1550b52 100644
--- a/python/plugins/processing/algs/gdal/extractprojection.py
+++ b/python/plugins/processing/algs/gdal/extractprojection.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/fillnodata.py b/python/plugins/processing/algs/gdal/fillnodata.py
index 94e3065..90c4db2 100644
--- a/python/plugins/processing/algs/gdal/fillnodata.py
+++ b/python/plugins/processing/algs/gdal/fillnodata.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/gdal2tiles.py b/python/plugins/processing/algs/gdal/gdal2tiles.py
index 2e72ee5..b744305 100644
--- a/python/plugins/processing/algs/gdal/gdal2tiles.py
+++ b/python/plugins/processing/algs/gdal/gdal2tiles.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from qgis.core import (QgsProcessingParameterDefinition,
diff --git a/python/plugins/processing/algs/gdal/gdal2xyz.py b/python/plugins/processing/algs/gdal/gdal2xyz.py
index 7d98a19..61af5f3 100644
--- a/python/plugins/processing/algs/gdal/gdal2xyz.py
+++ b/python/plugins/processing/algs/gdal/gdal2xyz.py
@@ -23,14 +23,14 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessing,
                        QgsProcessingParameterRasterLayer,
                        QgsProcessingParameterBand,
                        QgsProcessingParameterBoolean,
-                       QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputFile)
+                       QgsProcessingParameterFileDestination
+                       )
 from processing.algs.gdal.GdalAlgorithm import GdalAlgorithm
 from processing.algs.gdal.GdalUtils import GdalUtils
 from processing.tools.system import isWindows
@@ -58,7 +58,6 @@ class gdal2xyz(GdalAlgorithm):
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT,
                                                                 self.tr('XYZ ASCII file'),
                                                                 self.tr('CSV files (*.csv)')))
-        self.addOutput(QgsProcessingOutputFile(self.OUTPUT, self.tr('XYZ ASCII file')))
 
     def name(self):
         return 'gdal2xyz'
diff --git a/python/plugins/processing/algs/gdal/gdaladdo.py b/python/plugins/processing/algs/gdal/gdaladdo.py
index c01ac96..759555e 100644
--- a/python/plugins/processing/algs/gdal/gdaladdo.py
+++ b/python/plugins/processing/algs/gdal/gdaladdo.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/gdalcalc.py b/python/plugins/processing/algs/gdal/gdalcalc.py
index ec95166..8a2d002 100644
--- a/python/plugins/processing/algs/gdal/gdalcalc.py
+++ b/python/plugins/processing/algs/gdal/gdalcalc.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Giovanni Manghi'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from processing.algs.gdal.GdalAlgorithm import GdalAlgorithm
 from processing.algs.gdal.GdalUtils import GdalUtils
diff --git a/python/plugins/processing/algs/gdal/gdalinfo.py b/python/plugins/processing/algs/gdal/gdalinfo.py
index 812e6e5..682c231 100644
--- a/python/plugins/processing/algs/gdal/gdalinfo.py
+++ b/python/plugins/processing/algs/gdal/gdalinfo.py
@@ -23,15 +23,14 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
 from qgis.PyQt.QtGui import QIcon
 from qgis.core import (QgsProcessingParameterRasterLayer,
                        QgsProcessingParameterBoolean,
-                       QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml)
+                       QgsProcessingParameterFileDestination)
 from processing.algs.gdal.GdalAlgorithm import GdalAlgorithm
 from processing.algs.gdal.GdalUtils import GdalUtils
 
@@ -69,7 +68,6 @@ class gdalinfo(GdalAlgorithm):
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT,
                                                                 self.tr('Layer information'),
                                                                 self.tr('HTML files (*.html)')))
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT, self.tr('Layer information')))
 
     def name(self):
         return 'gdalinfo'
diff --git a/python/plugins/processing/algs/gdal/gdaltindex.py b/python/plugins/processing/algs/gdal/gdaltindex.py
index 30e20d4..0dc3a68 100644
--- a/python/plugins/processing/algs/gdal/gdaltindex.py
+++ b/python/plugins/processing/algs/gdal/gdaltindex.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Pedro Venancio'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/hillshade.py b/python/plugins/processing/algs/gdal/hillshade.py
index 3a09155..2602a08 100644
--- a/python/plugins/processing/algs/gdal/hillshade.py
+++ b/python/plugins/processing/algs/gdal/hillshade.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
@@ -160,7 +160,6 @@ class hillshade(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         return ['gdaldem', GdalUtils.escapeAndJoin(arguments)]
diff --git a/python/plugins/processing/algs/gdal/merge.py b/python/plugins/processing/algs/gdal/merge.py
index 78deff4..571a17e 100644
--- a/python/plugins/processing/algs/gdal/merge.py
+++ b/python/plugins/processing/algs/gdal/merge.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -36,7 +36,9 @@ from qgis.core import (QgsRasterFileWriter,
                        QgsProcessingParameterEnum,
                        QgsProcessingParameterString,
                        QgsProcessingParameterBoolean,
-                       QgsProcessingParameterRasterDestination)
+                       QgsProcessingParameterNumber,
+                       QgsProcessingParameterRasterDestination,
+                       QgsProcessingUtils)
 from processing.algs.gdal.GdalAlgorithm import GdalAlgorithm
 from processing.algs.gdal.GdalUtils import GdalUtils
 
@@ -52,6 +54,8 @@ class merge(GdalAlgorithm):
     SEPARATE = 'SEPARATE'
     OPTIONS = 'OPTIONS'
     DATA_TYPE = 'DATA_TYPE'
+    NODATA_INPUT = 'NODATA_INPUT'
+    NODATA_OUTPUT = 'NODATA_OUTPUT'
     OUTPUT = 'OUTPUT'
 
     TYPES = ['Byte', 'Int16', 'UInt16', 'UInt32', 'Int32', 'Float32', 'Float64', 'CInt16', 'CInt32', 'CFloat32', 'CFloat64']
@@ -70,6 +74,22 @@ class merge(GdalAlgorithm):
                                                         self.tr('Place each input file into a separate band'),
                                                         defaultValue=False))
 
+        nodata_param = QgsProcessingParameterNumber(self.NODATA_INPUT,
+                                                    self.tr('Input pixel value to treat as "nodata"'),
+                                                    type=QgsProcessingParameterNumber.Integer,
+                                                    defaultValue=None,
+                                                    optional=True)
+        nodata_param.setFlags(nodata_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
+        self.addParameter(nodata_param)
+
+        nodata_out_param = QgsProcessingParameterNumber(self.NODATA_OUTPUT,
+                                                        self.tr('Assign specified "nodata" value to output'),
+                                                        type=QgsProcessingParameterNumber.Integer,
+                                                        defaultValue=None,
+                                                        optional=True)
+        nodata_out_param.setFlags(nodata_out_param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
+        self.addParameter(nodata_out_param)
+
         options_param = QgsProcessingParameterString(self.OPTIONS,
                                                      self.tr('Additional creation parameters'),
                                                      defaultValue='',
@@ -105,7 +125,6 @@ class merge(GdalAlgorithm):
         return QIcon(os.path.join(pluginPath, 'images', 'gdaltools', 'merge.png'))
 
     def getConsoleCommands(self, parameters, context, feedback, executing=True):
-        layers = self.parameterAsLayerList(parameters, self.INPUT, context)
         out = self.parameterAsOutputLayer(parameters, self.OUTPUT, context)
 
         arguments = []
@@ -115,6 +134,16 @@ class merge(GdalAlgorithm):
         if self.parameterAsBool(parameters, self.SEPARATE, context):
             arguments.append('-separate')
 
+        if self.NODATA_INPUT in parameters and parameters[self.NODATA_INPUT] is not None:
+            nodata_input = self.parameterAsInt(parameters, self.NODATA_INPUT, context)
+            arguments.append('-n')
+            arguments.append(str(nodata_input))
+
+        if self.NODATA_OUTPUT in parameters and parameters[self.NODATA_OUTPUT] is not None:
+            nodata_output = self.parameterAsInt(parameters, self.NODATA_OUTPUT, context)
+            arguments.append('-a_nodata')
+            arguments.append(str(nodata_output))
+
         arguments.append('-ot')
         arguments.append(self.TYPES[self.parameterAsEnum(parameters, self.DATA_TYPE, context)])
 
@@ -123,14 +152,16 @@ class merge(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         arguments.append('-o')
         arguments.append(out)
 
-        for layer in layers:
-            arguments.append(layer.source())
+        # Always write input files to a text file in case there are many of them and the
+        # length of the command will be longer then allowed in command prompt
+        list_file = GdalUtils.writeLayerParameterToTextFile(filename='mergeInputFiles.txt', alg=self, parameters=parameters, parameter_name=self.INPUT, context=context, quote=True, executing=executing)
+        arguments.append('--optfile')
+        arguments.append(list_file)
 
         commands = []
         if isWindows():
diff --git a/python/plugins/processing/algs/gdal/nearblack.py b/python/plugins/processing/algs/gdal/nearblack.py
index face3ee..08288ab 100644
--- a/python/plugins/processing/algs/gdal/nearblack.py
+++ b/python/plugins/processing/algs/gdal/nearblack.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -112,7 +112,6 @@ class nearblack(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         return ['nearblack', GdalUtils.escapeAndJoin(arguments)]
diff --git a/python/plugins/processing/algs/gdal/ogr2ogr.py b/python/plugins/processing/algs/gdal/ogr2ogr.py
index b332e96..48571cf 100644
--- a/python/plugins/processing/algs/gdal/ogr2ogr.py
+++ b/python/plugins/processing/algs/gdal/ogr2ogr.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/ogr2ogrtabletopostgislist.py b/python/plugins/processing/algs/gdal/ogr2ogrtabletopostgislist.py
index 260325b..e3b2eb8 100644
--- a/python/plugins/processing/algs/gdal/ogr2ogrtabletopostgislist.py
+++ b/python/plugins/processing/algs/gdal/ogr2ogrtabletopostgislist.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import QgsSettings
 
diff --git a/python/plugins/processing/algs/gdal/ogr2ogrtopostgislist.py b/python/plugins/processing/algs/gdal/ogr2ogrtopostgislist.py
index 6cfbd4f..89396f1 100644
--- a/python/plugins/processing/algs/gdal/ogr2ogrtopostgislist.py
+++ b/python/plugins/processing/algs/gdal/ogr2ogrtopostgislist.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessingParameterFeatureSource,
                        QgsProcessingParameterString,
diff --git a/python/plugins/processing/algs/gdal/ogrinfo.py b/python/plugins/processing/algs/gdal/ogrinfo.py
index 5fd961a..ba8e1ee 100644
--- a/python/plugins/processing/algs/gdal/ogrinfo.py
+++ b/python/plugins/processing/algs/gdal/ogrinfo.py
@@ -23,13 +23,12 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from qgis.core import (QgsProcessingParameterVectorLayer,
                        QgsProcessingParameterBoolean,
-                       QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml)
+                       QgsProcessingParameterFileDestination)
 from processing.algs.gdal.GdalAlgorithm import GdalAlgorithm
 from processing.algs.gdal.GdalUtils import GdalUtils
 
@@ -57,7 +56,6 @@ class ogrinfo(GdalAlgorithm):
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT,
                                                                 self.tr('Layer information'),
                                                                 self.tr('HTML files (*.html)')))
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT, self.tr('Layer information')))
 
     def name(self):
         return 'ogrinfo'
diff --git a/python/plugins/processing/algs/gdal/pct2rgb.py b/python/plugins/processing/algs/gdal/pct2rgb.py
index 0ad02a0..865837d 100644
--- a/python/plugins/processing/algs/gdal/pct2rgb.py
+++ b/python/plugins/processing/algs/gdal/pct2rgb.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/polygonize.py b/python/plugins/processing/algs/gdal/polygonize.py
index 65403fb..880e060 100644
--- a/python/plugins/processing/algs/gdal/polygonize.py
+++ b/python/plugins/processing/algs/gdal/polygonize.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/proximity.py b/python/plugins/processing/algs/gdal/proximity.py
index a2adb85..278300b 100644
--- a/python/plugins/processing/algs/gdal/proximity.py
+++ b/python/plugins/processing/algs/gdal/proximity.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -170,8 +170,7 @@ class proximity(GdalAlgorithm):
         arguments.append(QgsRasterFileWriter.driverForExtension(os.path.splitext(out)[1]))
 
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         arguments.append(inLayer.source())
         arguments.append(out)
diff --git a/python/plugins/processing/algs/gdal/rasterize.py b/python/plugins/processing/algs/gdal/rasterize.py
index 792e19e..929e853 100644
--- a/python/plugins/processing/algs/gdal/rasterize.py
+++ b/python/plugins/processing/algs/gdal/rasterize.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -214,8 +214,7 @@ class rasterize(GdalAlgorithm):
         options = self.parameterAsString(parameters, self.OPTIONS, context)
 
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         arguments.append(ogrLayer)
         arguments.append(out)
diff --git a/python/plugins/processing/algs/gdal/rasterize_over.py b/python/plugins/processing/algs/gdal/rasterize_over.py
index 98dc43e..2df73d7 100644
--- a/python/plugins/processing/algs/gdal/rasterize_over.py
+++ b/python/plugins/processing/algs/gdal/rasterize_over.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/retile.py b/python/plugins/processing/algs/gdal/retile.py
index 5da0ef6..92ee179 100644
--- a/python/plugins/processing/algs/gdal/retile.py
+++ b/python/plugins/processing/algs/gdal/retile.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessing,
                        QgsProcessingParameterDefinition,
@@ -187,8 +187,7 @@ class retile(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         if self.parameterAsBool(parameters, self.DIR_FOR_ROW, context):
             arguments.append('-pyramidOnly')
diff --git a/python/plugins/processing/algs/gdal/rgb2pct.py b/python/plugins/processing/algs/gdal/rgb2pct.py
index bcbda37..dde2a9d 100644
--- a/python/plugins/processing/algs/gdal/rgb2pct.py
+++ b/python/plugins/processing/algs/gdal/rgb2pct.py
@@ -24,7 +24,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/roughness.py b/python/plugins/processing/algs/gdal/roughness.py
index cd54644..8f3df2c 100644
--- a/python/plugins/processing/algs/gdal/roughness.py
+++ b/python/plugins/processing/algs/gdal/roughness.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/sieve.py b/python/plugins/processing/algs/gdal/sieve.py
index 593bbaa..394716d 100644
--- a/python/plugins/processing/algs/gdal/sieve.py
+++ b/python/plugins/processing/algs/gdal/sieve.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/gdal/slope.py b/python/plugins/processing/algs/gdal/slope.py
index 5bc796d..bcdbf41 100644
--- a/python/plugins/processing/algs/gdal/slope.py
+++ b/python/plugins/processing/algs/gdal/slope.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
@@ -129,7 +129,6 @@ class slope(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         return ['gdaldem', GdalUtils.escapeAndJoin(arguments)]
diff --git a/python/plugins/processing/algs/gdal/tpi.py b/python/plugins/processing/algs/gdal/tpi.py
index 2680fdd..cff5e4e 100644
--- a/python/plugins/processing/algs/gdal/tpi.py
+++ b/python/plugins/processing/algs/gdal/tpi.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
@@ -99,7 +99,6 @@ class tpi(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         return ['gdaldem', GdalUtils.escapeAndJoin(arguments)]
diff --git a/python/plugins/processing/algs/gdal/translate.py b/python/plugins/processing/algs/gdal/translate.py
index 947f7eb..a358d21 100644
--- a/python/plugins/processing/algs/gdal/translate.py
+++ b/python/plugins/processing/algs/gdal/translate.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -137,8 +137,7 @@ class translate(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         arguments.append(inLayer.source())
         arguments.append(out)
diff --git a/python/plugins/processing/algs/gdal/tri.py b/python/plugins/processing/algs/gdal/tri.py
index a743a9b..5f277a0 100644
--- a/python/plugins/processing/algs/gdal/tri.py
+++ b/python/plugins/processing/algs/gdal/tri.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -98,7 +98,6 @@ class tri(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         return ['gdaldem', GdalUtils.escapeAndJoin(arguments)]
diff --git a/python/plugins/processing/algs/gdal/ui/RasterOptionsWidget.py b/python/plugins/processing/algs/gdal/ui/RasterOptionsWidget.py
index 7ebc762..d7160d9 100644
--- a/python/plugins/processing/algs/gdal/ui/RasterOptionsWidget.py
+++ b/python/plugins/processing/algs/gdal/ui/RasterOptionsWidget.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtWidgets import QLineEdit, QComboBox
 from qgis.gui import QgsRasterFormatSaveOptionsWidget
@@ -70,4 +70,4 @@ class RasterOptionsWidgetWrapper(WidgetWrapper):
         elif self.dialogType == DIALOG_BATCH:
             return self.widget.text()
         else:
-            return ' '.join(self.widget.options())
+            return '|'.join(self.widget.options())
diff --git a/python/plugins/processing/algs/gdal/warp.py b/python/plugins/processing/algs/gdal/warp.py
index 007fd58..7a98994 100644
--- a/python/plugins/processing/algs/gdal/warp.py
+++ b/python/plugins/processing/algs/gdal/warp.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -212,8 +212,7 @@ class warp(GdalAlgorithm):
 
         options = self.parameterAsString(parameters, self.OPTIONS, context)
         if options:
-            arguments.append('-co')
-            arguments.append(options)
+            arguments.extend(GdalUtils.parseCreationOptions(options))
 
         arguments.append(inLayer.source())
         arguments.append(out)
diff --git a/python/plugins/processing/algs/grass7/Grass7Algorithm.py b/python/plugins/processing/algs/grass7/Grass7Algorithm.py
index 8294f2f..373c054 100644
--- a/python/plugins/processing/algs/grass7/Grass7Algorithm.py
+++ b/python/plugins/processing/algs/grass7/Grass7Algorithm.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012-2015, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import sys
 import os
@@ -59,10 +59,6 @@ from qgis.core import (Qgis,
                        QgsProcessingParameterFileDestination,
                        QgsProcessingParameterFile,
                        QgsProcessingParameterFolderDestination,
-                       QgsProcessingOutputFolder,
-                       QgsProcessingOutputVectorLayer,
-                       QgsProcessingOutputRasterLayer,
-                       QgsProcessingOutputHtml,
                        QgsProcessingUtils)
 from qgis.utils import iface
 
@@ -178,10 +174,6 @@ class Grass7Algorithm(QgsProcessingAlgorithm):
         for p in self.params:
             # We use createOutput argument for automatic output creation
             res = self.addParameter(p, True)
-            # File destinations are not automatically added as outputs
-            if (isinstance(p, QgsProcessingParameterFileDestination)
-                    and p.defaultFileExtension().lower() == 'html'):
-                self.addOutput(QgsProcessingOutputHtml(p.name(), p.description()))
 
     def defineCharacteristicsFromFile(self):
         """
@@ -561,7 +553,13 @@ class Grass7Algorithm(QgsProcessingAlgorithm):
                     value = '"{}"'.format(
                         self.parameterAsString(parameters, paramName, context)
                     )
-            # For numbers and points, we translate as a string
+            elif isinstance(param, QgsProcessingParameterPoint):
+                if self.parameterAsString(parameters, paramName, context):
+                    # parameter specified, evaluate as point
+                    # TODO - handle CRS transform
+                    point = self.parameterAsPoint(parameters, paramName, context)
+                    value = '{},{}'.format(point.x(), point.y())
+            # For numbers, we translate as a string
             elif isinstance(param, (QgsProcessingParameterNumber,
                                     QgsProcessingParameterPoint)):
                 value = self.parameterAsString(parameters, paramName, context)
diff --git a/python/plugins/processing/algs/grass7/Grass7AlgorithmProvider.py b/python/plugins/processing/algs/grass7/Grass7AlgorithmProvider.py
index 2dd8b66..e0c2591 100644
--- a/python/plugins/processing/algs/grass7/Grass7AlgorithmProvider.py
+++ b/python/plugins/processing/algs/grass7/Grass7AlgorithmProvider.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from qgis.PyQt.QtCore import QCoreApplication
diff --git a/python/plugins/processing/algs/grass7/Grass7Utils.py b/python/plugins/processing/algs/grass7/Grass7Utils.py
index bcb4adc..5ab90d8 100644
--- a/python/plugins/processing/algs/grass7/Grass7Utils.py
+++ b/python/plugins/processing/algs/grass7/Grass7Utils.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014-2015, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import stat
 import shutil
diff --git a/python/plugins/processing/algs/grass7/description/v.net.visibility.txt b/python/plugins/processing/algs/grass7/description/v.net.visibility.txt
index b325939..ff64335 100644
--- a/python/plugins/processing/algs/grass7/description/v.net.visibility.txt
+++ b/python/plugins/processing/algs/grass7/description/v.net.visibility.txt
@@ -3,6 +3,6 @@ Performs visibility graph construction.
 Vector (v.*)
 QgsProcessingParameterVectorLayer|input|Input vector line layer (arcs)|-1|None|False
 QgsProcessingParameterPoint|coordinates|Coordinates|None|True
-QgsProcessingParameterString|coordinates|Coordinates|None|False|True
+#QgsProcessingParameterString|coordinates|Coordinates|None|False|True
 QgsProcessingParameterVectorLayer|visibility|Input vector line layer containing visible points|0|None|True
 QgsProcessingParameterVectorDestination|output|Network Visibility
diff --git a/python/plugins/processing/algs/grass7/ext/i.py b/python/plugins/processing/algs/grass7/ext/i.py
index f4e5041..b6f928b 100644
--- a/python/plugins/processing/algs/grass7/ext/i.py
+++ b/python/plugins/processing/algs/grass7/ext/i.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from processing.tools.system import (isWindows, getTempFilename)
diff --git a/python/plugins/processing/algs/grass7/ext/i_albedo.py b/python/plugins/processing/algs/grass7/ext/i_albedo.py
index 6f733d1..14083b4 100644
--- a/python/plugins/processing/algs/grass7/ext/i_albedo.py
+++ b/python/plugins/processing/algs/grass7/ext/i_albedo.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .i import verifyRasterNum
 
diff --git a/python/plugins/processing/algs/grass7/ext/i_cca.py b/python/plugins/processing/algs/grass7/ext/i_cca.py
index 7bb6733..d0c9121 100644
--- a/python/plugins/processing/algs/grass7/ext/i_cca.py
+++ b/python/plugins/processing/algs/grass7/ext/i_cca.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .i import verifyRasterNum, regroupRasters, importSigFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/i_cluster.py b/python/plugins/processing/algs/grass7/ext/i_cluster.py
index 1f40d26..584aad7 100644
--- a/python/plugins/processing/algs/grass7/ext/i_cluster.py
+++ b/python/plugins/processing/algs/grass7/ext/i_cluster.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from .i import regroupRasters, verifyRasterNum, exportSigFile
diff --git a/python/plugins/processing/algs/grass7/ext/i_colors_enhance.py b/python/plugins/processing/algs/grass7/ext/i_colors_enhance.py
index 1cccea6..a71a330 100644
--- a/python/plugins/processing/algs/grass7/ext/i_colors_enhance.py
+++ b/python/plugins/processing/algs/grass7/ext/i_colors_enhance.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .i import exportInputRasters
 
diff --git a/python/plugins/processing/algs/grass7/ext/i_evapo_mh.py b/python/plugins/processing/algs/grass7/ext/i_evapo_mh.py
index f64317a..3b04198 100644
--- a/python/plugins/processing/algs/grass7/ext/i_evapo_mh.py
+++ b/python/plugins/processing/algs/grass7/ext/i_evapo_mh.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def checkParameterValuesBeforeExecuting(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/i_gensig.py b/python/plugins/processing/algs/grass7/ext/i_gensig.py
index f764421..b2aea92 100644
--- a/python/plugins/processing/algs/grass7/ext/i_gensig.py
+++ b/python/plugins/processing/algs/grass7/ext/i_gensig.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from .i import regroupRasters, exportSigFile
diff --git a/python/plugins/processing/algs/grass7/ext/i_gensigset.py b/python/plugins/processing/algs/grass7/ext/i_gensigset.py
index 49d2107..1c774ca 100644
--- a/python/plugins/processing/algs/grass7/ext/i_gensigset.py
+++ b/python/plugins/processing/algs/grass7/ext/i_gensigset.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from .i import regroupRasters, exportSigFile
diff --git a/python/plugins/processing/algs/grass7/ext/i_group.py b/python/plugins/processing/algs/grass7/ext/i_group.py
index c90410e..1f4f043 100644
--- a/python/plugins/processing/algs/grass7/ext/i_group.py
+++ b/python/plugins/processing/algs/grass7/ext/i_group.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .i import verifyRasterNum
 
diff --git a/python/plugins/processing/algs/grass7/ext/i_in_spotvgt.py b/python/plugins/processing/algs/grass7/ext/i_in_spotvgt.py
index 2303732..c1a4268 100644
--- a/python/plugins/processing/algs/grass7/ext/i_in_spotvgt.py
+++ b/python/plugins/processing/algs/grass7/ext/i_in_spotvgt.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processInputs(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/i_landsat_acca.py b/python/plugins/processing/algs/grass7/ext/i_landsat_acca.py
index fcc5d25..233facf 100644
--- a/python/plugins/processing/algs/grass7/ext/i_landsat_acca.py
+++ b/python/plugins/processing/algs/grass7/ext/i_landsat_acca.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .i import verifyRasterNum, orderedInput
 
diff --git a/python/plugins/processing/algs/grass7/ext/i_landsat_toar.py b/python/plugins/processing/algs/grass7/ext/i_landsat_toar.py
index 452543b..3024247 100644
--- a/python/plugins/processing/algs/grass7/ext/i_landsat_toar.py
+++ b/python/plugins/processing/algs/grass7/ext/i_landsat_toar.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .i import verifyRasterNum, orderedInput
 
diff --git a/python/plugins/processing/algs/grass7/ext/i_maxlik.py b/python/plugins/processing/algs/grass7/ext/i_maxlik.py
index 42468a3..078b81b 100644
--- a/python/plugins/processing/algs/grass7/ext/i_maxlik.py
+++ b/python/plugins/processing/algs/grass7/ext/i_maxlik.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .i import regroupRasters, importSigFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/i_oif.py b/python/plugins/processing/algs/grass7/ext/i_oif.py
index 4f1e235..08a37ed 100644
--- a/python/plugins/processing/algs/grass7/ext/i_oif.py
+++ b/python/plugins/processing/algs/grass7/ext/i_oif.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .i import verifyRasterNum
 
diff --git a/python/plugins/processing/algs/grass7/ext/i_pansharpen.py b/python/plugins/processing/algs/grass7/ext/i_pansharpen.py
index 038ce88..3be5610 100644
--- a/python/plugins/processing/algs/grass7/ext/i_pansharpen.py
+++ b/python/plugins/processing/algs/grass7/ext/i_pansharpen.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from processing.tools.system import getTempFilename
diff --git a/python/plugins/processing/algs/grass7/ext/i_pca.py b/python/plugins/processing/algs/grass7/ext/i_pca.py
index 035cb56..e0e00b8 100644
--- a/python/plugins/processing/algs/grass7/ext/i_pca.py
+++ b/python/plugins/processing/algs/grass7/ext/i_pca.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .i import verifyRasterNum
 
diff --git a/python/plugins/processing/algs/grass7/ext/i_segment.py b/python/plugins/processing/algs/grass7/ext/i_segment.py
index ed854a8..8b93899 100644
--- a/python/plugins/processing/algs/grass7/ext/i_segment.py
+++ b/python/plugins/processing/algs/grass7/ext/i_segment.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .i import regroupRasters
 
diff --git a/python/plugins/processing/algs/grass7/ext/i_smap.py b/python/plugins/processing/algs/grass7/ext/i_smap.py
index 4859198..56137db 100644
--- a/python/plugins/processing/algs/grass7/ext/i_smap.py
+++ b/python/plugins/processing/algs/grass7/ext/i_smap.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .i import regroupRasters, importSigFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/i_tasscap.py b/python/plugins/processing/algs/grass7/ext/i_tasscap.py
index d2eb01b..9a13196 100644
--- a/python/plugins/processing/algs/grass7/ext/i_tasscap.py
+++ b/python/plugins/processing/algs/grass7/ext/i_tasscap.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .i import verifyRasterNum
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_blend_combine.py b/python/plugins/processing/algs/grass7/ext/r_blend_combine.py
index 824e765..c15c382 100644
--- a/python/plugins/processing/algs/grass7/ext/r_blend_combine.py
+++ b/python/plugins/processing/algs/grass7/ext/r_blend_combine.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processInputs(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/r_blend_rgb.py b/python/plugins/processing/algs/grass7/ext/r_blend_rgb.py
index afddf3b..195556b 100644
--- a/python/plugins/processing/algs/grass7/ext/r_blend_rgb.py
+++ b/python/plugins/processing/algs/grass7/ext/r_blend_rgb.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
diff --git a/python/plugins/processing/algs/grass7/ext/r_category.py b/python/plugins/processing/algs/grass7/ext/r_category.py
index 12599ba..207df22 100644
--- a/python/plugins/processing/algs/grass7/ext/r_category.py
+++ b/python/plugins/processing/algs/grass7/ext/r_category.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from processing.tools.system import getTempFilename
 from processing.algs.grass7.Grass7Utils import Grass7Utils
diff --git a/python/plugins/processing/algs/grass7/ext/r_colors.py b/python/plugins/processing/algs/grass7/ext/r_colors.py
index d7332d5..606a3a3 100644
--- a/python/plugins/processing/algs/grass7/ext/r_colors.py
+++ b/python/plugins/processing/algs/grass7/ext/r_colors.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from processing.algs.grass7.Grass7Utils import Grass7Utils
diff --git a/python/plugins/processing/algs/grass7/ext/r_colors_stddev.py b/python/plugins/processing/algs/grass7/ext/r_colors_stddev.py
index 6310613..65e7951 100644
--- a/python/plugins/processing/algs/grass7/ext/r_colors_stddev.py
+++ b/python/plugins/processing/algs/grass7/ext/r_colors_stddev.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from processing.algs.grass7.Grass7Utils import Grass7Utils
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_drain.py b/python/plugins/processing/algs/grass7/ext/r_drain.py
index aa5423d..2d0c4e9 100644
--- a/python/plugins/processing/algs/grass7/ext/r_drain.py
+++ b/python/plugins/processing/algs/grass7/ext/r_drain.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def checkParameterValuesBeforeExecuting(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/r_horizon.py b/python/plugins/processing/algs/grass7/ext/r_horizon.py
index 4da52e8..3155efd 100644
--- a/python/plugins/processing/algs/grass7/ext/r_horizon.py
+++ b/python/plugins/processing/algs/grass7/ext/r_horizon.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 import os
 
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li.py b/python/plugins/processing/algs/grass7/ext/r_li.py
index 6227495..cfc8ceb 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import shutil
 from qgis.core import QgsProcessingParameterString
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_cwed.py b/python/plugins/processing/algs/grass7/ext/r_li_cwed.py
index c16c9f9..53ed42f 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_cwed.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_cwed.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_cwed_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_cwed_ascii.py
index af0acc5..9857129 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_cwed_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_cwed_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_dominance.py b/python/plugins/processing/algs/grass7/ext/r_li_dominance.py
index 7a35020..15ed8c4 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_dominance.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_dominance.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_dominance_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_dominance_ascii.py
index 20d3a87..ce18810 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_dominance_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_dominance_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_edgedensity.py b/python/plugins/processing/algs/grass7/ext/r_li_edgedensity.py
index 594516c..722b25b 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_edgedensity.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_edgedensity.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_edgedensity_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_edgedensity_ascii.py
index e54c6b6..33dbc7f 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_edgedensity_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_edgedensity_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_mpa.py b/python/plugins/processing/algs/grass7/ext/r_li_mpa.py
index 5d2624e..fdd6609 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_mpa.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_mpa.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_mpa_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_mpa_ascii.py
index 1225e47..00e20cb 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_mpa_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_mpa_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_mps.py b/python/plugins/processing/algs/grass7/ext/r_li_mps.py
index ebd2f5d..971ad03 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_mps.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_mps.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_mps_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_mps_ascii.py
index 9fe9d6e..3277264 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_mps_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_mps_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_padcv.py b/python/plugins/processing/algs/grass7/ext/r_li_padcv.py
index f83fae0..05aa921 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_padcv.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_padcv.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_padcv_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_padcv_ascii.py
index 8a27131..7abca03 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_padcv_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_padcv_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_padrange.py b/python/plugins/processing/algs/grass7/ext/r_li_padrange.py
index 422ee25..591458f 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_padrange.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_padrange.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_padrange_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_padrange_ascii.py
index cd168aa..512ea71 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_padrange_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_padrange_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_padsd.py b/python/plugins/processing/algs/grass7/ext/r_li_padsd.py
index fbba791..3402b12 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_padsd.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_padsd.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_padsd_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_padsd_ascii.py
index 90b4c5e..1ac027c 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_padsd_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_padsd_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_patchdensity.py b/python/plugins/processing/algs/grass7/ext/r_li_patchdensity.py
index 52ec86f..1a0d38f 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_patchdensity.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_patchdensity.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_patchdensity_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_patchdensity_ascii.py
index 2665b20..71f2b7e 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_patchdensity_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_patchdensity_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_patchnum.py b/python/plugins/processing/algs/grass7/ext/r_li_patchnum.py
index 113d389..2696ace 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_patchnum.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_patchnum.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_patchnum_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_patchnum_ascii.py
index 7a05dc6..01c5846 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_patchnum_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_patchnum_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_pielou.py b/python/plugins/processing/algs/grass7/ext/r_li_pielou.py
index 9a21b10..bb7d758 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_pielou.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_pielou.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_pielou_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_pielou_ascii.py
index 810e0ca..0927f2d 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_pielou_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_pielou_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_renyi.py b/python/plugins/processing/algs/grass7/ext/r_li_renyi.py
index 8964b0c..6477e3a 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_renyi.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_renyi.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_renyi_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_renyi_ascii.py
index c7cb1ad..f390248 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_renyi_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_renyi_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_richness.py b/python/plugins/processing/algs/grass7/ext/r_li_richness.py
index c276ee4..c5e73a2 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_richness.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_richness.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_richness_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_richness_ascii.py
index 1539476..bc3c91f 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_richness_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_richness_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_shannon.py b/python/plugins/processing/algs/grass7/ext/r_li_shannon.py
index 6b8a761..142596c 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_shannon.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_shannon.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_shannon_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_shannon_ascii.py
index 35bc5f9..62a1d6f 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_shannon_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_shannon_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_shape.py b/python/plugins/processing/algs/grass7/ext/r_li_shape.py
index bff6ddb..30d1148 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_shape.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_shape.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_shape_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_shape_ascii.py
index 25e3cd8..1c7b4b4 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_shape_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_shape_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_simpson.py b/python/plugins/processing/algs/grass7/ext/r_li_simpson.py
index 4e67989..ca322e5 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_simpson.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_simpson.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_li_simpson_ascii.py b/python/plugins/processing/algs/grass7/ext/r_li_simpson_ascii.py
index 6d9786e..a9cd6ff 100644
--- a/python/plugins/processing/algs/grass7/ext/r_li_simpson_ascii.py
+++ b/python/plugins/processing/algs/grass7/ext/r_li_simpson_ascii.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .r_li import checkMovingWindow, configFile, moveOutputTxtFile
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_mapcalc.py b/python/plugins/processing/algs/grass7/ext/r_mapcalc.py
index 047f1c3..c50c645 100644
--- a/python/plugins/processing/algs/grass7/ext/r_mapcalc.py
+++ b/python/plugins/processing/algs/grass7/ext/r_mapcalc.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/grass7/ext/r_mask_rast.py b/python/plugins/processing/algs/grass7/ext/r_mask_rast.py
index 4abd3c8..f222085 100644
--- a/python/plugins/processing/algs/grass7/ext/r_mask_rast.py
+++ b/python/plugins/processing/algs/grass7/ext/r_mask_rast.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processCommand(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/r_mask_vect.py b/python/plugins/processing/algs/grass7/ext/r_mask_vect.py
index 955471a..8b1a09f 100644
--- a/python/plugins/processing/algs/grass7/ext/r_mask_vect.py
+++ b/python/plugins/processing/algs/grass7/ext/r_mask_vect.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processCommand(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/r_null.py b/python/plugins/processing/algs/grass7/ext/r_null.py
index 748d3be..e6f9766 100644
--- a/python/plugins/processing/algs/grass7/ext/r_null.py
+++ b/python/plugins/processing/algs/grass7/ext/r_null.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def checkParameterValuesBeforeExecuting(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/r_proj.py b/python/plugins/processing/algs/grass7/ext/r_proj.py
index c59da97..3ccbb9e 100644
--- a/python/plugins/processing/algs/grass7/ext/r_proj.py
+++ b/python/plugins/processing/algs/grass7/ext/r_proj.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import QgsProcessingParameterString
 from ..Grass7Utils import isWindows
diff --git a/python/plugins/processing/algs/grass7/ext/r_reclass.py b/python/plugins/processing/algs/grass7/ext/r_reclass.py
index 300acf7..511bcb5 100644
--- a/python/plugins/processing/algs/grass7/ext/r_reclass.py
+++ b/python/plugins/processing/algs/grass7/ext/r_reclass.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from processing.tools.system import getTempFilename
diff --git a/python/plugins/processing/algs/grass7/ext/r_resamp_filter.py b/python/plugins/processing/algs/grass7/ext/r_resamp_filter.py
index 5c87280..e06aae5 100644
--- a/python/plugins/processing/algs/grass7/ext/r_resamp_filter.py
+++ b/python/plugins/processing/algs/grass7/ext/r_resamp_filter.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def checkParameterValuesBeforeExecuting(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/r_rgb.py b/python/plugins/processing/algs/grass7/ext/r_rgb.py
index 8627d4a..61dfc7c 100644
--- a/python/plugins/processing/algs/grass7/ext/r_rgb.py
+++ b/python/plugins/processing/algs/grass7/ext/r_rgb.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processInputs(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/r_series_interp.py b/python/plugins/processing/algs/grass7/ext/r_series_interp.py
index afa9bc6..6c2cfaa 100644
--- a/python/plugins/processing/algs/grass7/ext/r_series_interp.py
+++ b/python/plugins/processing/algs/grass7/ext/r_series_interp.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from processing.algs.grass7.Grass7Utils import Grass7Utils
diff --git a/python/plugins/processing/algs/grass7/ext/r_shade.py b/python/plugins/processing/algs/grass7/ext/r_shade.py
index 58b2790..284e91c 100644
--- a/python/plugins/processing/algs/grass7/ext/r_shade.py
+++ b/python/plugins/processing/algs/grass7/ext/r_shade.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processInputs(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/r_statistics.py b/python/plugins/processing/algs/grass7/ext/r_statistics.py
index 883f825..7c65a31 100644
--- a/python/plugins/processing/algs/grass7/ext/r_statistics.py
+++ b/python/plugins/processing/algs/grass7/ext/r_statistics.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import QgsProcessingParameterString
 from processing.algs.grass7.Grass7Utils import Grass7Utils
diff --git a/python/plugins/processing/algs/grass7/ext/r_stats_quantile_rast.py b/python/plugins/processing/algs/grass7/ext/r_stats_quantile_rast.py
index 74db7f6..49b0e22 100644
--- a/python/plugins/processing/algs/grass7/ext/r_stats_quantile_rast.py
+++ b/python/plugins/processing/algs/grass7/ext/r_stats_quantile_rast.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import QgsProcessingParameterString
 from processing.algs.grass7.Grass7Utils import Grass7Utils
diff --git a/python/plugins/processing/algs/grass7/ext/r_what_color.py b/python/plugins/processing/algs/grass7/ext/r_what_color.py
index 0fb53a9..dac3c10 100644
--- a/python/plugins/processing/algs/grass7/ext/r_what_color.py
+++ b/python/plugins/processing/algs/grass7/ext/r_what_color.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processInputs(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/v_distance.py b/python/plugins/processing/algs/grass7/ext/v_distance.py
index 56b117e..f1e7cc7 100644
--- a/python/plugins/processing/algs/grass7/ext/v_distance.py
+++ b/python/plugins/processing/algs/grass7/ext/v_distance.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import QgsProcessingParameterDefinition
 
diff --git a/python/plugins/processing/algs/grass7/ext/v_edit.py b/python/plugins/processing/algs/grass7/ext/v_edit.py
index d2efbaf..a19cf6f 100644
--- a/python/plugins/processing/algs/grass7/ext/v_edit.py
+++ b/python/plugins/processing/algs/grass7/ext/v_edit.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
diff --git a/python/plugins/processing/algs/grass7/ext/v_extrude.py b/python/plugins/processing/algs/grass7/ext/v_extrude.py
index e268ec1..3e5d5ca 100644
--- a/python/plugins/processing/algs/grass7/ext/v_extrude.py
+++ b/python/plugins/processing/algs/grass7/ext/v_extrude.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def checkParameterValuesBeforeExecuting(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/v_in_geonames.py b/python/plugins/processing/algs/grass7/ext/v_in_geonames.py
index 0dc1d20..69375cf 100644
--- a/python/plugins/processing/algs/grass7/ext/v_in_geonames.py
+++ b/python/plugins/processing/algs/grass7/ext/v_in_geonames.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processCommand(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/v_net.py b/python/plugins/processing/algs/grass7/ext/v_net.py
index 8e4d45d..da979cc 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net.py
@@ -27,7 +27,7 @@ __copyright__ = '(C) 2015, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from qgis.core import QgsProcessingException
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_alloc.py b/python/plugins/processing/algs/grass7/ext/v_net_alloc.py
index 49ef141..2c1e49b 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_alloc.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_alloc.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .v_net import incorporatePoints, variableOutput
 
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_allpairs.py b/python/plugins/processing/algs/grass7/ext/v_net_allpairs.py
index 677af89..82160a2 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_allpairs.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_allpairs.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from .v_net import incorporatePoints, variableOutput
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_bridge.py b/python/plugins/processing/algs/grass7/ext/v_net_bridge.py
index 3e32973..359f1aa 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_bridge.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_bridge.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .v_net import incorporatePoints, variableOutput
 
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_centrality.py b/python/plugins/processing/algs/grass7/ext/v_net_centrality.py
index a87fad4..b87078b 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_centrality.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_centrality.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .v_net import incorporatePoints, variableOutput
 
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_components.py b/python/plugins/processing/algs/grass7/ext/v_net_components.py
index b990750..27e99a0 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_components.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_components.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .v_net import incorporatePoints, variableOutput
 from qgis.core import QgsProcessingParameterDefinition
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_connectivity.py b/python/plugins/processing/algs/grass7/ext/v_net_connectivity.py
index 7b2541d..e330305 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_connectivity.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_connectivity.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .v_net import incorporatePoints, variableOutput
 
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_distance.py b/python/plugins/processing/algs/grass7/ext/v_net_distance.py
index f98fef1..a82f121 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_distance.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_distance.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_flow.py b/python/plugins/processing/algs/grass7/ext/v_net_flow.py
index 0a28f08..e959eb0 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_flow.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_flow.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from .v_net import incorporatePoints, variableOutput
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_iso.py b/python/plugins/processing/algs/grass7/ext/v_net_iso.py
index 573420e..e24e8d4 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_iso.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_iso.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .v_net import incorporatePoints, variableOutput
 
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_path.py b/python/plugins/processing/algs/grass7/ext/v_net_path.py
index ef00021..4d818eb 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_path.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_path.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .v_net import incorporatePoints, variableOutput
 
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_salesman.py b/python/plugins/processing/algs/grass7/ext/v_net_salesman.py
index 17d6d12..7616ef4 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_salesman.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_salesman.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .v_net import incorporatePoints, variableOutput
 from qgis.core import QgsProcessingParameterDefinition
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_spanningtree.py b/python/plugins/processing/algs/grass7/ext/v_net_spanningtree.py
index 24d445b..0dc0d83 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_spanningtree.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_spanningtree.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .v_net import incorporatePoints, variableOutput
 
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_steiner.py b/python/plugins/processing/algs/grass7/ext/v_net_steiner.py
index b77a143..795486e 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_steiner.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_steiner.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .v_net import incorporatePoints, variableOutput
 
diff --git a/python/plugins/processing/algs/grass7/ext/v_net_visibility.py b/python/plugins/processing/algs/grass7/ext/v_net_visibility.py
index 831a45c..d0acb8c 100644
--- a/python/plugins/processing/algs/grass7/ext/v_net_visibility.py
+++ b/python/plugins/processing/algs/grass7/ext/v_net_visibility.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from .v_net import variableOutput
 
diff --git a/python/plugins/processing/algs/grass7/ext/v_proj.py b/python/plugins/processing/algs/grass7/ext/v_proj.py
index 245c19c..7b1b2eb 100644
--- a/python/plugins/processing/algs/grass7/ext/v_proj.py
+++ b/python/plugins/processing/algs/grass7/ext/v_proj.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import QgsProcessingParameterString
 
diff --git a/python/plugins/processing/algs/grass7/ext/v_rast_stats.py b/python/plugins/processing/algs/grass7/ext/v_rast_stats.py
index 09ee877..559dee6 100644
--- a/python/plugins/processing/algs/grass7/ext/v_rast_stats.py
+++ b/python/plugins/processing/algs/grass7/ext/v_rast_stats.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processCommand(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/v_rectify.py b/python/plugins/processing/algs/grass7/ext/v_rectify.py
index bf179d9..be433a3 100644
--- a/python/plugins/processing/algs/grass7/ext/v_rectify.py
+++ b/python/plugins/processing/algs/grass7/ext/v_rectify.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from processing.algs.grass7.Grass7Utils import Grass7Utils
diff --git a/python/plugins/processing/algs/grass7/ext/v_sample.py b/python/plugins/processing/algs/grass7/ext/v_sample.py
index 07437af..29d40c0 100644
--- a/python/plugins/processing/algs/grass7/ext/v_sample.py
+++ b/python/plugins/processing/algs/grass7/ext/v_sample.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processInputs(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/v_to_3d.py b/python/plugins/processing/algs/grass7/ext/v_to_3d.py
index 48400d1..ec6a1ae 100644
--- a/python/plugins/processing/algs/grass7/ext/v_to_3d.py
+++ b/python/plugins/processing/algs/grass7/ext/v_to_3d.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def checkParameterValuesBeforeExecuting(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/v_vect_stats.py b/python/plugins/processing/algs/grass7/ext/v_vect_stats.py
index f4c3ebd..1825119 100644
--- a/python/plugins/processing/algs/grass7/ext/v_vect_stats.py
+++ b/python/plugins/processing/algs/grass7/ext/v_vect_stats.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processCommand(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/v_voronoi.py b/python/plugins/processing/algs/grass7/ext/v_voronoi.py
index 93ef5c7..7c7581b 100644
--- a/python/plugins/processing/algs/grass7/ext/v_voronoi.py
+++ b/python/plugins/processing/algs/grass7/ext/v_voronoi.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processInputs(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/v_what_rast.py b/python/plugins/processing/algs/grass7/ext/v_what_rast.py
index ee89f77..fe8c62e 100644
--- a/python/plugins/processing/algs/grass7/ext/v_what_rast.py
+++ b/python/plugins/processing/algs/grass7/ext/v_what_rast.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processCommand(alg, parameters, context):
diff --git a/python/plugins/processing/algs/grass7/ext/v_what_vect.py b/python/plugins/processing/algs/grass7/ext/v_what_vect.py
index 97bd88c..37d12f0 100644
--- a/python/plugins/processing/algs/grass7/ext/v_what_vect.py
+++ b/python/plugins/processing/algs/grass7/ext/v_what_vect.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Médéric Ribreux'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def processCommand(alg, parameters, context):
diff --git a/python/plugins/processing/algs/help/__init__.py b/python/plugins/processing/algs/help/__init__.py
index 71abdfa..fa1e0f1 100644
--- a/python/plugins/processing/algs/help/__init__.py
+++ b/python/plugins/processing/algs/help/__init__.py
@@ -21,7 +21,7 @@ __author__ = 'Victor Olaya'
 __date__ = 'January 2016'
 __copyright__ = '(C) 2016, Victor Olaya'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import codecs
diff --git a/python/plugins/processing/algs/qgis/AddTableField.py b/python/plugins/processing/algs/qgis/AddTableField.py
index e7939da..9c6c0e5 100644
--- a/python/plugins/processing/algs/qgis/AddTableField.py
+++ b/python/plugins/processing/algs/qgis/AddTableField.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QVariant
 from qgis.core import (QgsField,
diff --git a/python/plugins/processing/algs/qgis/Aggregate.py b/python/plugins/processing/algs/qgis/Aggregate.py
index ec39eaf..1fcf471 100644
--- a/python/plugins/processing/algs/qgis/Aggregate.py
+++ b/python/plugins/processing/algs/qgis/Aggregate.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Arnaud Morvan'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (
     QgsDistanceArea,
diff --git a/python/plugins/processing/algs/qgis/Aspect.py b/python/plugins/processing/algs/qgis/Aspect.py
index aca2eed..369e90f 100644
--- a/python/plugins/processing/algs/qgis/Aspect.py
+++ b/python/plugins/processing/algs/qgis/Aspect.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/BarPlot.py b/python/plugins/processing/algs/qgis/BarPlot.py
index 61195af..213b832 100644
--- a/python/plugins/processing/algs/qgis/BarPlot.py
+++ b/python/plugins/processing/algs/qgis/BarPlot.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import plotly as plt
 import plotly.graph_objs as go
@@ -31,8 +31,7 @@ import plotly.graph_objs as go
 
 from qgis.core import (QgsProcessingParameterFeatureSource,
                        QgsProcessingParameterField,
-                       QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml)
+                       QgsProcessingParameterFileDestination)
 from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
 from processing.tools import vector
 
@@ -65,8 +64,6 @@ class BarPlot(QgisAlgorithm):
 
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT, self.tr('Bar plot'), self.tr('HTML files (*.html)')))
 
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT, self.tr('Bar plot')))
-
     def name(self):
         return 'barplot'
 
diff --git a/python/plugins/processing/algs/qgis/BasicStatistics.py b/python/plugins/processing/algs/qgis/BasicStatistics.py
index e68d345..2174549 100644
--- a/python/plugins/processing/algs/qgis/BasicStatistics.py
+++ b/python/plugins/processing/algs/qgis/BasicStatistics.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import codecs
@@ -38,7 +38,6 @@ from qgis.core import (QgsStatisticalSummary,
                        QgsProcessingParameterFeatureSource,
                        QgsProcessingParameterField,
                        QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml,
                        QgsProcessingOutputNumber)
 
 from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
@@ -98,7 +97,6 @@ class BasicStatisticsForField(QgisAlgorithm):
                                                       None, self.INPUT_LAYER, QgsProcessingParameterField.Any))
 
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT_HTML_FILE, self.tr('Statistics'), self.tr('HTML files (*.html)'), None, True))
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT_HTML_FILE, self.tr('Statistics')))
 
         self.addOutput(QgsProcessingOutputNumber(self.COUNT, self.tr('Count')))
         self.addOutput(QgsProcessingOutputNumber(self.UNIQUE, self.tr('Number of unique values')))
diff --git a/python/plugins/processing/algs/qgis/BoxPlot.py b/python/plugins/processing/algs/qgis/BoxPlot.py
index 6185400..3915990 100644
--- a/python/plugins/processing/algs/qgis/BoxPlot.py
+++ b/python/plugins/processing/algs/qgis/BoxPlot.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Matteo Ghetta'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import plotly as plt
 import plotly.graph_objs as go
@@ -32,7 +32,6 @@ from qgis.core import (QgsProcessingParameterFeatureSource,
                        QgsProcessingParameterField,
                        QgsProcessingParameterEnum,
                        QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml,
                        QgsFeatureRequest)
 from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
 from processing.tools import vector
@@ -76,7 +75,6 @@ class BoxPlot(QgisAlgorithm):
             options=msd, defaultValue=0))
 
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT, self.tr('Box plot'), self.tr('HTML files (*.html)')))
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT, self.tr('Box plot')))
 
     def name(self):
         return 'boxplot'
diff --git a/python/plugins/processing/algs/qgis/Buffer.py b/python/plugins/processing/algs/qgis/Buffer.py
index 022a48d..e178a65 100644
--- a/python/plugins/processing/algs/qgis/Buffer.py
+++ b/python/plugins/processing/algs/qgis/Buffer.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsFeature,
                        QgsGeometry,
diff --git a/python/plugins/processing/algs/qgis/CheckValidity.py b/python/plugins/processing/algs/qgis/CheckValidity.py
index a276142..1fd3749 100644
--- a/python/plugins/processing/algs/qgis/CheckValidity.py
+++ b/python/plugins/processing/algs/qgis/CheckValidity.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Arnaud Morvan'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/ConcaveHull.py b/python/plugins/processing/algs/qgis/ConcaveHull.py
index d6eeee3..e48502b 100644
--- a/python/plugins/processing/algs/qgis/ConcaveHull.py
+++ b/python/plugins/processing/algs/qgis/ConcaveHull.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Piotr Pociask'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QCoreApplication
 from math import sqrt
@@ -88,7 +88,7 @@ class ConcaveHull(QgisAlgorithm):
         delaunay_layer = processing.run("qgis:delaunaytriangulation", {'INPUT': parameters[ConcaveHull.INPUT], 'OUTPUT': 'memory:'}, feedback=feedback, context=context)['OUTPUT']
 
         # Get max edge length from Delaunay triangles
-        feedback.setProgressText(QCoreApplication.translate('Computing edges max length…'))
+        feedback.setProgressText(QCoreApplication.translate('ConcaveHull', 'Computing edges max length…'))
 
         features = delaunay_layer.getFeatures()
         count = delaunay_layer.featureCount()
diff --git a/python/plugins/processing/algs/qgis/CreateAttributeIndex.py b/python/plugins/processing/algs/qgis/CreateAttributeIndex.py
index dc50038..aa7a171 100644
--- a/python/plugins/processing/algs/qgis/CreateAttributeIndex.py
+++ b/python/plugins/processing/algs/qgis/CreateAttributeIndex.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsVectorDataProvider,
                        QgsFields,
diff --git a/python/plugins/processing/algs/qgis/CreateConstantRaster.py b/python/plugins/processing/algs/qgis/CreateConstantRaster.py
index fdc3773..d921089 100644
--- a/python/plugins/processing/algs/qgis/CreateConstantRaster.py
+++ b/python/plugins/processing/algs/qgis/CreateConstantRaster.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import math
diff --git a/python/plugins/processing/algs/qgis/Datasources2Vrt.py b/python/plugins/processing/algs/qgis/Datasources2Vrt.py
index a188dab..f68e760 100644
--- a/python/plugins/processing/algs/qgis/Datasources2Vrt.py
+++ b/python/plugins/processing/algs/qgis/Datasources2Vrt.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Luigi Pirelli'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import codecs
 import xml.sax.saxutils
diff --git a/python/plugins/processing/algs/qgis/DefineProjection.py b/python/plugins/processing/algs/qgis/DefineProjection.py
index 466a99c..6f71cdd 100644
--- a/python/plugins/processing/algs/qgis/DefineProjection.py
+++ b/python/plugins/processing/algs/qgis/DefineProjection.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import re
diff --git a/python/plugins/processing/algs/qgis/Delaunay.py b/python/plugins/processing/algs/qgis/Delaunay.py
index c3e2580..5cd0a19 100644
--- a/python/plugins/processing/algs/qgis/Delaunay.py
+++ b/python/plugins/processing/algs/qgis/Delaunay.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/DeleteColumn.py b/python/plugins/processing/algs/qgis/DeleteColumn.py
index a631f7b..92ec95f 100644
--- a/python/plugins/processing/algs/qgis/DeleteColumn.py
+++ b/python/plugins/processing/algs/qgis/DeleteColumn.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2010, Michael Minn'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessingParameterField,
                        QgsProcessing)
diff --git a/python/plugins/processing/algs/qgis/DeleteDuplicateGeometries.py b/python/plugins/processing/algs/qgis/DeleteDuplicateGeometries.py
index b09e94b..2f4514c 100644
--- a/python/plugins/processing/algs/qgis/DeleteDuplicateGeometries.py
+++ b/python/plugins/processing/algs/qgis/DeleteDuplicateGeometries.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2010, Michael Minn'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsFeatureRequest,
                        QgsFeatureSink,
diff --git a/python/plugins/processing/algs/qgis/DeleteHoles.py b/python/plugins/processing/algs/qgis/DeleteHoles.py
index a7c4af8..acf3097 100644
--- a/python/plugins/processing/algs/qgis/DeleteHoles.py
+++ b/python/plugins/processing/algs/qgis/DeleteHoles.py
@@ -22,7 +22,7 @@ __copyright__ = '(C) 2015, Etienne Trimaille'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessingParameterNumber,
                        QgsProcessing)
diff --git a/python/plugins/processing/algs/qgis/DensifyGeometries.py b/python/plugins/processing/algs/qgis/DensifyGeometries.py
index fe004f8..f88541e 100644
--- a/python/plugins/processing/algs/qgis/DensifyGeometries.py
+++ b/python/plugins/processing/algs/qgis/DensifyGeometries.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/DensifyGeometriesInterval.py b/python/plugins/processing/algs/qgis/DensifyGeometriesInterval.py
index 0f593e8..bbca81a 100644
--- a/python/plugins/processing/algs/qgis/DensifyGeometriesInterval.py
+++ b/python/plugins/processing/algs/qgis/DensifyGeometriesInterval.py
@@ -24,7 +24,7 @@ __copyright__ = '(C) 2012, Anita Graser'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessingParameterNumber,
                        QgsProcessing)
diff --git a/python/plugins/processing/algs/qgis/Difference.py b/python/plugins/processing/algs/qgis/Difference.py
index 8608c12..53637da 100644
--- a/python/plugins/processing/algs/qgis/Difference.py
+++ b/python/plugins/processing/algs/qgis/Difference.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/EliminateSelection.py b/python/plugins/processing/algs/qgis/EliminateSelection.py
index 5404a01..90b0801 100644
--- a/python/plugins/processing/algs/qgis/EliminateSelection.py
+++ b/python/plugins/processing/algs/qgis/EliminateSelection.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Bernhard Ströbl'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/ExecuteSQL.py b/python/plugins/processing/algs/qgis/ExecuteSQL.py
index 2c30498..97d52ce 100644
--- a/python/plugins/processing/algs/qgis/ExecuteSQL.py
+++ b/python/plugins/processing/algs/qgis/ExecuteSQL.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Hugo Mercier'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsVirtualLayerDefinition,
                        QgsVectorLayer,
diff --git a/python/plugins/processing/algs/qgis/Explode.py b/python/plugins/processing/algs/qgis/Explode.py
index 04e2a5a..dd00e4a 100644
--- a/python/plugins/processing/algs/qgis/Explode.py
+++ b/python/plugins/processing/algs/qgis/Explode.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsFeature,
                        QgsGeometry,
diff --git a/python/plugins/processing/algs/qgis/ExportGeometryInfo.py b/python/plugins/processing/algs/qgis/ExportGeometryInfo.py
index 1473b4c..0f13c82 100644
--- a/python/plugins/processing/algs/qgis/ExportGeometryInfo.py
+++ b/python/plugins/processing/algs/qgis/ExportGeometryInfo.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/ExtendLines.py b/python/plugins/processing/algs/qgis/ExtendLines.py
index b7df257..289630c 100644
--- a/python/plugins/processing/algs/qgis/ExtendLines.py
+++ b/python/plugins/processing/algs/qgis/ExtendLines.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessingParameterNumber,
                        QgsProcessingException,
diff --git a/python/plugins/processing/algs/qgis/ExtentFromLayer.py b/python/plugins/processing/algs/qgis/ExtentFromLayer.py
index 93f0b6d..2c54fe5 100644
--- a/python/plugins/processing/algs/qgis/ExtentFromLayer.py
+++ b/python/plugins/processing/algs/qgis/ExtentFromLayer.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/ExtractSpecificVertices.py b/python/plugins/processing/algs/qgis/ExtractSpecificVertices.py
index ff241dc..8ea4f67 100644
--- a/python/plugins/processing/algs/qgis/ExtractSpecificVertices.py
+++ b/python/plugins/processing/algs/qgis/ExtractSpecificVertices.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import math
 from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
diff --git a/python/plugins/processing/algs/qgis/FieldPyculator.py b/python/plugins/processing/algs/qgis/FieldPyculator.py
index 2d29cd8..b7e03da 100644
--- a/python/plugins/processing/algs/qgis/FieldPyculator.py
+++ b/python/plugins/processing/algs/qgis/FieldPyculator.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya & NextGIS'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import sys
 
diff --git a/python/plugins/processing/algs/qgis/FieldsCalculator.py b/python/plugins/processing/algs/qgis/FieldsCalculator.py
index 412077f..2af7ecf 100644
--- a/python/plugins/processing/algs/qgis/FieldsCalculator.py
+++ b/python/plugins/processing/algs/qgis/FieldsCalculator.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QVariant
 from qgis.core import (QgsExpression,
diff --git a/python/plugins/processing/algs/qgis/FieldsMapper.py b/python/plugins/processing/algs/qgis/FieldsMapper.py
index 7493e45..b9c41de 100644
--- a/python/plugins/processing/algs/qgis/FieldsMapper.py
+++ b/python/plugins/processing/algs/qgis/FieldsMapper.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Arnaud Morvan'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (
     QgsDistanceArea,
@@ -32,7 +32,8 @@ from qgis.core import (
     QgsFields,
     QgsProcessing,
     QgsProcessingException,
-    QgsProcessingParameterDefinition)
+    QgsProcessingParameterDefinition,
+    NULL)
 
 from processing.algs.qgis.QgisAlgorithm import QgisFeatureBasedAlgorithm
 
@@ -133,16 +134,20 @@ class FieldsMapper(QgisFeatureBasedAlgorithm):
                                         typeName="",
                                         len=field_def.get('length', 0),
                                         prec=field_def.get('precision', 0)))
-            expression = QgsExpression(field_def['expression'])
-            expression.setGeomCalculator(da)
-            expression.setDistanceUnits(context.project().distanceUnits())
-            expression.setAreaUnits(context.project().areaUnits())
-            if expression.hasParserError():
-                raise QgsProcessingException(
-                    self.tr(u'Parser error in expression "{}": {}')
-                    .format(expression.expression(),
-                            expression.parserErrorString()))
-            self.expressions.append(expression)
+            if field_def['expression']:
+                expression = QgsExpression(field_def['expression'])
+                expression.setGeomCalculator(da)
+                expression.setDistanceUnits(context.project().distanceUnits())
+                expression.setAreaUnits(context.project().areaUnits())
+                if expression.hasParserError():
+                    feedback.reportError(
+                        self.tr(u'Parser error in expression "{}": {}')
+                        .format(expression.expression(),
+                                expression.parserErrorString()))
+                    return False
+                self.expressions.append(expression)
+            else:
+                self.expressions.append(None)
         return True
 
     def outputFields(self, inputFields):
@@ -150,22 +155,26 @@ class FieldsMapper(QgisFeatureBasedAlgorithm):
 
     def processAlgorithm(self, parameters, context, feeback):
         for expression in self.expressions:
-            expression.prepare(self.expr_context)
+            if expression is not None:
+                expression.prepare(self.expr_context)
         self._row_number = 0
         return super().processAlgorithm(parameters, context, feeback)
 
     def processFeature(self, feature, context, feedback):
         attributes = []
         for expression in self.expressions:
-            self.expr_context.setFeature(feature)
-            self.expr_context.lastScope().setVariable("row_number", self._row_number)
-            value = expression.evaluate(self.expr_context)
-            if expression.hasEvalError():
-                raise QgsProcessingException(
-                    self.tr(u'Evaluation error in expression "{}": {}')
-                        .format(expression.expression(),
-                                expression.parserErrorString()))
-            attributes.append(value)
+            if expression is not None:
+                self.expr_context.setFeature(feature)
+                self.expr_context.lastScope().setVariable("row_number", self._row_number)
+                value = expression.evaluate(self.expr_context)
+                if expression.hasEvalError():
+                    raise QgsProcessingException(
+                        self.tr(u'Evaluation error in expression "{}": {}')
+                            .format(expression.expression(),
+                                    expression.parserErrorString()))
+                attributes.append(value)
+            else:
+                attributes.append(NULL)
         feature.setAttributes(attributes)
         self._row_number += 1
         return [feature]
diff --git a/python/plugins/processing/algs/qgis/FindProjection.py b/python/plugins/processing/algs/qgis/FindProjection.py
index 0212f39..f27e450 100644
--- a/python/plugins/processing/algs/qgis/FindProjection.py
+++ b/python/plugins/processing/algs/qgis/FindProjection.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/GeometryByExpression.py b/python/plugins/processing/algs/qgis/GeometryByExpression.py
index 6968b5a..e5ab23d 100644
--- a/python/plugins/processing/algs/qgis/GeometryByExpression.py
+++ b/python/plugins/processing/algs/qgis/GeometryByExpression.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsWkbTypes,
                        QgsExpression,
diff --git a/python/plugins/processing/algs/qgis/GeometryConvert.py b/python/plugins/processing/algs/qgis/GeometryConvert.py
index 8239385..5cb47e0 100644
--- a/python/plugins/processing/algs/qgis/GeometryConvert.py
+++ b/python/plugins/processing/algs/qgis/GeometryConvert.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2010, Michael Minn'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsFeature,
                        QgsGeometry,
diff --git a/python/plugins/processing/algs/qgis/Grid.py b/python/plugins/processing/algs/qgis/Grid.py
index b095017..50f6621 100644
--- a/python/plugins/processing/algs/qgis/Grid.py
+++ b/python/plugins/processing/algs/qgis/Grid.py
@@ -23,14 +23,15 @@ __copyright__ = '(C) 2010, Michael Minn'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import math
 
 from qgis.PyQt.QtGui import QIcon
 from qgis.PyQt.QtCore import QVariant
-from qgis.core import (QgsField,
+from qgis.core import (QgsApplication,
+                       QgsField,
                        QgsFeatureSink,
                        QgsFeature,
                        QgsGeometry,
@@ -63,7 +64,7 @@ class Grid(QgisAlgorithm):
     OUTPUT = 'OUTPUT'
 
     def icon(self):
-        return QIcon(os.path.join(pluginPath, 'images', 'ftools', 'vector_grid.svg'))
+        return QgsApplication.getThemeIcon("/vector_grid.svg")
 
     def tags(self):
         return self.tr('grid,lines,polygons,vector,create,fishnet,diamond,hexagon').split(',')
diff --git a/python/plugins/processing/algs/qgis/Heatmap.py b/python/plugins/processing/algs/qgis/Heatmap.py
index 100818a..bdceac7 100644
--- a/python/plugins/processing/algs/qgis/Heatmap.py
+++ b/python/plugins/processing/algs/qgis/Heatmap.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from collections import OrderedDict
diff --git a/python/plugins/processing/algs/qgis/Hillshade.py b/python/plugins/processing/algs/qgis/Hillshade.py
index 2adf707..15c6790 100644
--- a/python/plugins/processing/algs/qgis/Hillshade.py
+++ b/python/plugins/processing/algs/qgis/Hillshade.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/HubDistanceLines.py b/python/plugins/processing/algs/qgis/HubDistanceLines.py
index 766c306..0fb972e 100644
--- a/python/plugins/processing/algs/qgis/HubDistanceLines.py
+++ b/python/plugins/processing/algs/qgis/HubDistanceLines.py
@@ -24,7 +24,7 @@ __copyright__ = '(C) 2010, Michael Minn'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QVariant
 from qgis.core import (QgsField,
diff --git a/python/plugins/processing/algs/qgis/HubDistancePoints.py b/python/plugins/processing/algs/qgis/HubDistancePoints.py
index 2e848a2..e911442 100644
--- a/python/plugins/processing/algs/qgis/HubDistancePoints.py
+++ b/python/plugins/processing/algs/qgis/HubDistancePoints.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2010, Michael Minn'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QVariant
 from qgis.core import (QgsField,
diff --git a/python/plugins/processing/algs/qgis/HypsometricCurves.py b/python/plugins/processing/algs/qgis/HypsometricCurves.py
index a091b18..e628d35 100644
--- a/python/plugins/processing/algs/qgis/HypsometricCurves.py
+++ b/python/plugins/processing/algs/qgis/HypsometricCurves.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import numpy
diff --git a/python/plugins/processing/algs/qgis/IdwInterpolation.py b/python/plugins/processing/algs/qgis/IdwInterpolation.py
index 3b7ac43..1343ac0 100644
--- a/python/plugins/processing/algs/qgis/IdwInterpolation.py
+++ b/python/plugins/processing/algs/qgis/IdwInterpolation.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/ImportIntoPostGIS.py b/python/plugins/processing/algs/qgis/ImportIntoPostGIS.py
index 74d5014..4e3f7c7 100644
--- a/python/plugins/processing/algs/qgis/ImportIntoPostGIS.py
+++ b/python/plugins/processing/algs/qgis/ImportIntoPostGIS.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsVectorLayerExporter,
                        QgsSettings,
diff --git a/python/plugins/processing/algs/qgis/ImportIntoSpatialite.py b/python/plugins/processing/algs/qgis/ImportIntoSpatialite.py
index 3048121..9c5535e 100644
--- a/python/plugins/processing/algs/qgis/ImportIntoSpatialite.py
+++ b/python/plugins/processing/algs/qgis/ImportIntoSpatialite.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Mathieu Pellerin'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsDataSourceUri,
                        QgsFeatureSink,
diff --git a/python/plugins/processing/algs/qgis/Intersection.py b/python/plugins/processing/algs/qgis/Intersection.py
index 1b86494..b91b9a8 100644
--- a/python/plugins/processing/algs/qgis/Intersection.py
+++ b/python/plugins/processing/algs/qgis/Intersection.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/KeepNBiggestParts.py b/python/plugins/processing/algs/qgis/KeepNBiggestParts.py
index a091b47..aaf394c 100644
--- a/python/plugins/processing/algs/qgis/KeepNBiggestParts.py
+++ b/python/plugins/processing/algs/qgis/KeepNBiggestParts.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from operator import itemgetter
 
diff --git a/python/plugins/processing/algs/qgis/LinesToPolygons.py b/python/plugins/processing/algs/qgis/LinesToPolygons.py
index 183ba0f..72f7dea 100644
--- a/python/plugins/processing/algs/qgis/LinesToPolygons.py
+++ b/python/plugins/processing/algs/qgis/LinesToPolygons.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/MeanAndStdDevPlot.py b/python/plugins/processing/algs/qgis/MeanAndStdDevPlot.py
index 0949aa5..2650c3b 100644
--- a/python/plugins/processing/algs/qgis/MeanAndStdDevPlot.py
+++ b/python/plugins/processing/algs/qgis/MeanAndStdDevPlot.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import plotly as plt
 import plotly.graph_objs as go
@@ -31,8 +31,7 @@ import plotly.graph_objs as go
 from qgis.core import (QgsProcessingParameterFeatureSource,
                        QgsProcessingParameterField,
                        QgsProcessingUtils,
-                       QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml)
+                       QgsProcessingParameterFileDestination)
 from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
 
 from processing.tools import vector
@@ -64,7 +63,6 @@ class MeanAndStdDevPlot(QgisAlgorithm):
                                                       self.tr('Value field'), parentLayerParameterName=self.INPUT))
 
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT, self.tr('Plot'), self.tr('HTML files (*.html)')))
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT, self.tr('Plot')))
 
     def name(self):
         return 'meanandstandarddeviationplot'
diff --git a/python/plugins/processing/algs/qgis/MinimumBoundingGeometry.py b/python/plugins/processing/algs/qgis/MinimumBoundingGeometry.py
index f080a8e..11ca9f4 100644
--- a/python/plugins/processing/algs/qgis/MinimumBoundingGeometry.py
+++ b/python/plugins/processing/algs/qgis/MinimumBoundingGeometry.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import math
diff --git a/python/plugins/processing/algs/qgis/NearestNeighbourAnalysis.py b/python/plugins/processing/algs/qgis/NearestNeighbourAnalysis.py
index 0241753..ad9856f 100644
--- a/python/plugins/processing/algs/qgis/NearestNeighbourAnalysis.py
+++ b/python/plugins/processing/algs/qgis/NearestNeighbourAnalysis.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import math
@@ -37,7 +37,6 @@ from qgis.core import (QgsFeatureRequest,
                        QgsProcessing,
                        QgsProcessingParameterFeatureSource,
                        QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml,
                        QgsProcessingOutputNumber,
                        QgsSpatialIndex)
 
@@ -73,7 +72,6 @@ class NearestNeighbourAnalysis(QgisAlgorithm):
                                                               self.tr('Input layer'), [QgsProcessing.TypeVectorPoint]))
 
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT_HTML_FILE, self.tr('Nearest neighbour'), self.tr('HTML files (*.html)'), None, True))
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT_HTML_FILE, self.tr('Nearest neighbour')))
 
         self.addOutput(QgsProcessingOutputNumber(self.OBSERVED_MD,
                                                  self.tr('Observed mean distance')))
diff --git a/python/plugins/processing/algs/qgis/OffsetLine.py b/python/plugins/processing/algs/qgis/OffsetLine.py
index 3e5ffae..2b45703 100644
--- a/python/plugins/processing/algs/qgis/OffsetLine.py
+++ b/python/plugins/processing/algs/qgis/OffsetLine.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/Orthogonalize.py b/python/plugins/processing/algs/qgis/Orthogonalize.py
index 0eb886e..52bf52c 100644
--- a/python/plugins/processing/algs/qgis/Orthogonalize.py
+++ b/python/plugins/processing/algs/qgis/Orthogonalize.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessing,
                        QgsProcessingException,
diff --git a/python/plugins/processing/algs/qgis/PointDistance.py b/python/plugins/processing/algs/qgis/PointDistance.py
index c5cb07c..9218ba1 100644
--- a/python/plugins/processing/algs/qgis/PointDistance.py
+++ b/python/plugins/processing/algs/qgis/PointDistance.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import math
diff --git a/python/plugins/processing/algs/qgis/PointOnSurface.py b/python/plugins/processing/algs/qgis/PointOnSurface.py
index ee798dc..c33eef5 100644
--- a/python/plugins/processing/algs/qgis/PointOnSurface.py
+++ b/python/plugins/processing/algs/qgis/PointOnSurface.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/PointsAlongGeometry.py b/python/plugins/processing/algs/qgis/PointsAlongGeometry.py
index 1afd677..5f27048 100644
--- a/python/plugins/processing/algs/qgis/PointsAlongGeometry.py
+++ b/python/plugins/processing/algs/qgis/PointsAlongGeometry.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import math
diff --git a/python/plugins/processing/algs/qgis/PointsDisplacement.py b/python/plugins/processing/algs/qgis/PointsDisplacement.py
index aca89ef..34a1877 100644
--- a/python/plugins/processing/algs/qgis/PointsDisplacement.py
+++ b/python/plugins/processing/algs/qgis/PointsDisplacement.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import math
 from qgis.core import (QgsFeatureSink,
diff --git a/python/plugins/processing/algs/qgis/PointsFromLines.py b/python/plugins/processing/algs/qgis/PointsFromLines.py
index 85ba808..cf34979 100644
--- a/python/plugins/processing/algs/qgis/PointsFromLines.py
+++ b/python/plugins/processing/algs/qgis/PointsFromLines.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from osgeo import gdal
 from qgis.PyQt.QtCore import QVariant
diff --git a/python/plugins/processing/algs/qgis/PointsFromPolygons.py b/python/plugins/processing/algs/qgis/PointsFromPolygons.py
index c1f56fc..d6d050b 100644
--- a/python/plugins/processing/algs/qgis/PointsFromPolygons.py
+++ b/python/plugins/processing/algs/qgis/PointsFromPolygons.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from osgeo import gdal
 from qgis.core import (QgsFeatureRequest,
diff --git a/python/plugins/processing/algs/qgis/PointsInPolygon.py b/python/plugins/processing/algs/qgis/PointsInPolygon.py
index dbcd417..440e71f 100644
--- a/python/plugins/processing/algs/qgis/PointsInPolygon.py
+++ b/python/plugins/processing/algs/qgis/PointsInPolygon.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/PointsLayerFromTable.py b/python/plugins/processing/algs/qgis/PointsLayerFromTable.py
index 3e626f6..9c5b897 100644
--- a/python/plugins/processing/algs/qgis/PointsLayerFromTable.py
+++ b/python/plugins/processing/algs/qgis/PointsLayerFromTable.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsApplication,
                        QgsWkbTypes,
diff --git a/python/plugins/processing/algs/qgis/PointsToPaths.py b/python/plugins/processing/algs/qgis/PointsToPaths.py
index 89928ae..6aa85d7 100644
--- a/python/plugins/processing/algs/qgis/PointsToPaths.py
+++ b/python/plugins/processing/algs/qgis/PointsToPaths.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from datetime import datetime
@@ -162,7 +162,7 @@ class PointsToPaths(QgisAlgorithm):
             if feedback.isCanceled():
                 break
 
-            vertices.sort()
+            vertices.sort(key=lambda x: (x[0] is None, x[0]))
             f = QgsFeature()
             attributes = []
             if group_field_index >= 0:
diff --git a/python/plugins/processing/algs/qgis/PolarPlot.py b/python/plugins/processing/algs/qgis/PolarPlot.py
index 7b5ad1e..51eed32 100644
--- a/python/plugins/processing/algs/qgis/PolarPlot.py
+++ b/python/plugins/processing/algs/qgis/PolarPlot.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import plotly as plt
 import plotly.graph_objs as go
@@ -31,8 +31,7 @@ import numpy as np
 
 from qgis.core import (QgsProcessingParameterFeatureSource,
                        QgsProcessingParameterField,
-                       QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml)
+                       QgsProcessingParameterFileDestination)
 from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
 from processing.tools import vector
 
@@ -62,7 +61,6 @@ class PolarPlot(QgisAlgorithm):
                                                       self.tr('Value field'), parentLayerParameterName=self.INPUT))
 
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT, self.tr('Polar plot'), self.tr('HTML files (*.html)')))
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT, self.tr('Polar plot')))
 
     def name(self):
         return 'polarplot'
diff --git a/python/plugins/processing/algs/qgis/PoleOfInaccessibility.py b/python/plugins/processing/algs/qgis/PoleOfInaccessibility.py
index dec9461..1921032 100644
--- a/python/plugins/processing/algs/qgis/PoleOfInaccessibility.py
+++ b/python/plugins/processing/algs/qgis/PoleOfInaccessibility.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/Polygonize.py b/python/plugins/processing/algs/qgis/Polygonize.py
index 8bf60c4..d07f02b 100644
--- a/python/plugins/processing/algs/qgis/Polygonize.py
+++ b/python/plugins/processing/algs/qgis/Polygonize.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Piotr Pociask'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QCoreApplication
 from qgis.core import (QgsFields,
diff --git a/python/plugins/processing/algs/qgis/PolygonsToLines.py b/python/plugins/processing/algs/qgis/PolygonsToLines.py
index cc88265..c8c4950 100644
--- a/python/plugins/processing/algs/qgis/PolygonsToLines.py
+++ b/python/plugins/processing/algs/qgis/PolygonsToLines.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/PostGISExecuteSQL.py b/python/plugins/processing/algs/qgis/PostGISExecuteSQL.py
index fdd6397..0008a89 100644
--- a/python/plugins/processing/algs/qgis/PostGISExecuteSQL.py
+++ b/python/plugins/processing/algs/qgis/PostGISExecuteSQL.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya, Carterix Geomatics'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessingException, QgsProcessingParameterString)
 from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
diff --git a/python/plugins/processing/algs/qgis/QgisAlgorithm.py b/python/plugins/processing/algs/qgis/QgisAlgorithm.py
index c9addfb..f4d9192 100644
--- a/python/plugins/processing/algs/qgis/QgisAlgorithm.py
+++ b/python/plugins/processing/algs/qgis/QgisAlgorithm.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import QgsProcessingAlgorithm, QgsProcessingFeatureBasedAlgorithm
 from qgis.PyQt.QtCore import QCoreApplication
diff --git a/python/plugins/processing/algs/qgis/QgisAlgorithmProvider.py b/python/plugins/processing/algs/qgis/QgisAlgorithmProvider.py
index 1f7622c..81bb2ed 100644
--- a/python/plugins/processing/algs/qgis/QgisAlgorithmProvider.py
+++ b/python/plugins/processing/algs/qgis/QgisAlgorithmProvider.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/RandomExtract.py b/python/plugins/processing/algs/qgis/RandomExtract.py
index 7502427..3d57f56 100644
--- a/python/plugins/processing/algs/qgis/RandomExtract.py
+++ b/python/plugins/processing/algs/qgis/RandomExtract.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import random
 
diff --git a/python/plugins/processing/algs/qgis/RandomExtractWithinSubsets.py b/python/plugins/processing/algs/qgis/RandomExtractWithinSubsets.py
index c14cba3..acda258 100644
--- a/python/plugins/processing/algs/qgis/RandomExtractWithinSubsets.py
+++ b/python/plugins/processing/algs/qgis/RandomExtractWithinSubsets.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import random
 
diff --git a/python/plugins/processing/algs/qgis/RandomPointsAlongLines.py b/python/plugins/processing/algs/qgis/RandomPointsAlongLines.py
index fcb8e29..2254545 100644
--- a/python/plugins/processing/algs/qgis/RandomPointsAlongLines.py
+++ b/python/plugins/processing/algs/qgis/RandomPointsAlongLines.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import random
 
diff --git a/python/plugins/processing/algs/qgis/RandomPointsExtent.py b/python/plugins/processing/algs/qgis/RandomPointsExtent.py
index 64e9d48..c687529 100644
--- a/python/plugins/processing/algs/qgis/RandomPointsExtent.py
+++ b/python/plugins/processing/algs/qgis/RandomPointsExtent.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import random
diff --git a/python/plugins/processing/algs/qgis/RandomPointsLayer.py b/python/plugins/processing/algs/qgis/RandomPointsLayer.py
index 6829a9e..63b7480 100644
--- a/python/plugins/processing/algs/qgis/RandomPointsLayer.py
+++ b/python/plugins/processing/algs/qgis/RandomPointsLayer.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import random
diff --git a/python/plugins/processing/algs/qgis/RandomPointsPolygons.py b/python/plugins/processing/algs/qgis/RandomPointsPolygons.py
index 723ca53..44c676e 100644
--- a/python/plugins/processing/algs/qgis/RandomPointsPolygons.py
+++ b/python/plugins/processing/algs/qgis/RandomPointsPolygons.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import random
diff --git a/python/plugins/processing/algs/qgis/RandomSelection.py b/python/plugins/processing/algs/qgis/RandomSelection.py
index 03d2641..9d81e85 100644
--- a/python/plugins/processing/algs/qgis/RandomSelection.py
+++ b/python/plugins/processing/algs/qgis/RandomSelection.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import random
diff --git a/python/plugins/processing/algs/qgis/RandomSelectionWithinSubsets.py b/python/plugins/processing/algs/qgis/RandomSelectionWithinSubsets.py
index 3eb4e81..4321590 100644
--- a/python/plugins/processing/algs/qgis/RandomSelectionWithinSubsets.py
+++ b/python/plugins/processing/algs/qgis/RandomSelectionWithinSubsets.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import random
diff --git a/python/plugins/processing/algs/qgis/RasterCalculator.py b/python/plugins/processing/algs/qgis/RasterCalculator.py
index f27f272..fe35d19 100644
--- a/python/plugins/processing/algs/qgis/RasterCalculator.py
+++ b/python/plugins/processing/algs/qgis/RasterCalculator.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import math
diff --git a/python/plugins/processing/algs/qgis/RasterLayerHistogram.py b/python/plugins/processing/algs/qgis/RasterLayerHistogram.py
index 4f3022b..332240f 100644
--- a/python/plugins/processing/algs/qgis/RasterLayerHistogram.py
+++ b/python/plugins/processing/algs/qgis/RasterLayerHistogram.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import plotly as plt
 import plotly.graph_objs as go
@@ -31,8 +31,7 @@ import plotly.graph_objs as go
 from qgis.core import (QgsProcessingParameterRasterLayer,
                        QgsProcessingParameterBand,
                        QgsProcessingParameterNumber,
-                       QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml)
+                       QgsProcessingParameterFileDestination)
 from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
 from processing.tools import raster
 
@@ -64,7 +63,6 @@ class RasterLayerHistogram(QgisAlgorithm):
                                                        self.tr('number of bins'), minValue=2, defaultValue=10))
 
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT, self.tr('Histogram'), self.tr('HTML files (*.html)')))
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT, self.tr('Histogram')))
 
     def name(self):
         return 'rasterlayerhistogram'
diff --git a/python/plugins/processing/algs/qgis/RasterLayerStatistics.py b/python/plugins/processing/algs/qgis/RasterLayerStatistics.py
index fee93b0..e813099 100644
--- a/python/plugins/processing/algs/qgis/RasterLayerStatistics.py
+++ b/python/plugins/processing/algs/qgis/RasterLayerStatistics.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import codecs
 
@@ -32,7 +32,6 @@ from qgis.core import (QgsRectangle,
                        QgsProcessingParameterRasterLayer,
                        QgsProcessingParameterBand,
                        QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml,
                        QgsProcessingOutputNumber)
 from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
 
@@ -68,7 +67,6 @@ class RasterLayerStatistics(QgisAlgorithm):
                                                      1,
                                                      self.INPUT))
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT_HTML_FILE, self.tr('Statistics'), self.tr('HTML files (*.html)'), None, True))
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT_HTML_FILE, self.tr('Statistics')))
 
         self.addOutput(QgsProcessingOutputNumber(self.MIN, self.tr('Minimum value')))
         self.addOutput(QgsProcessingOutputNumber(self.MAX, self.tr('Maximum value')))
diff --git a/python/plugins/processing/algs/qgis/Rasterize.py b/python/plugins/processing/algs/qgis/Rasterize.py
index 616368f..8124d2e 100644
--- a/python/plugins/processing/algs/qgis/Rasterize.py
+++ b/python/plugins/processing/algs/qgis/Rasterize.py
@@ -49,7 +49,7 @@ __copyright__ = '(C) 2016 by OPENGIS.ch'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 class RasterizeAlgorithm(QgisAlgorithm):
diff --git a/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsFixed.py b/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsFixed.py
index 77f41e4..55e23cb 100644
--- a/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsFixed.py
+++ b/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsFixed.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import math
 
diff --git a/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsVariable.py b/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsVariable.py
index 83a91a2..9bdc2b8 100644
--- a/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsVariable.py
+++ b/python/plugins/processing/algs/qgis/RectanglesOvalsDiamondsVariable.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import math
 
diff --git a/python/plugins/processing/algs/qgis/RegularPoints.py b/python/plugins/processing/algs/qgis/RegularPoints.py
index ea1f7fd..cc752d7 100644
--- a/python/plugins/processing/algs/qgis/RegularPoints.py
+++ b/python/plugins/processing/algs/qgis/RegularPoints.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from random import seed, uniform
diff --git a/python/plugins/processing/algs/qgis/Relief.py b/python/plugins/processing/algs/qgis/Relief.py
index 72d08eb..388a206 100644
--- a/python/plugins/processing/algs/qgis/Relief.py
+++ b/python/plugins/processing/algs/qgis/Relief.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/ReverseLineDirection.py b/python/plugins/processing/algs/qgis/ReverseLineDirection.py
index 66506aa..286ee4c 100644
--- a/python/plugins/processing/algs/qgis/ReverseLineDirection.py
+++ b/python/plugins/processing/algs/qgis/ReverseLineDirection.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsGeometry,
                        QgsProcessingException,
diff --git a/python/plugins/processing/algs/qgis/Ruggedness.py b/python/plugins/processing/algs/qgis/Ruggedness.py
index 964fbed..33cab3d 100644
--- a/python/plugins/processing/algs/qgis/Ruggedness.py
+++ b/python/plugins/processing/algs/qgis/Ruggedness.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/SelectByAttribute.py b/python/plugins/processing/algs/qgis/SelectByAttribute.py
index e1e9955..66b9d8a 100644
--- a/python/plugins/processing/algs/qgis/SelectByAttribute.py
+++ b/python/plugins/processing/algs/qgis/SelectByAttribute.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2010, Michael Minn'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QVariant
 from qgis.core import (QgsExpression,
diff --git a/python/plugins/processing/algs/qgis/SelectByExpression.py b/python/plugins/processing/algs/qgis/SelectByExpression.py
index bec3d38..bcc8fda 100644
--- a/python/plugins/processing/algs/qgis/SelectByExpression.py
+++ b/python/plugins/processing/algs/qgis/SelectByExpression.py
@@ -22,7 +22,7 @@ __copyright__ = '(C) 2014, Michael Douchin'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsExpression,
                        QgsProcessing,
diff --git a/python/plugins/processing/algs/qgis/ServiceAreaFromLayer.py b/python/plugins/processing/algs/qgis/ServiceAreaFromLayer.py
index d086a3b..9759449 100644
--- a/python/plugins/processing/algs/qgis/ServiceAreaFromLayer.py
+++ b/python/plugins/processing/algs/qgis/ServiceAreaFromLayer.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from collections import OrderedDict
diff --git a/python/plugins/processing/algs/qgis/ServiceAreaFromPoint.py b/python/plugins/processing/algs/qgis/ServiceAreaFromPoint.py
index d5079b9..696eaeb 100644
--- a/python/plugins/processing/algs/qgis/ServiceAreaFromPoint.py
+++ b/python/plugins/processing/algs/qgis/ServiceAreaFromPoint.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from collections import OrderedDict
diff --git a/python/plugins/processing/algs/qgis/SetMValue.py b/python/plugins/processing/algs/qgis/SetMValue.py
index d0df7e5..91b714d 100644
--- a/python/plugins/processing/algs/qgis/SetMValue.py
+++ b/python/plugins/processing/algs/qgis/SetMValue.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/SetRasterStyle.py b/python/plugins/processing/algs/qgis/SetRasterStyle.py
index 11e2ba0..fb8726e 100644
--- a/python/plugins/processing/algs/qgis/SetRasterStyle.py
+++ b/python/plugins/processing/algs/qgis/SetRasterStyle.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/SetVectorStyle.py b/python/plugins/processing/algs/qgis/SetVectorStyle.py
index 782f788..3b764f9 100644
--- a/python/plugins/processing/algs/qgis/SetVectorStyle.py
+++ b/python/plugins/processing/algs/qgis/SetVectorStyle.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessingAlgorithm,
                        QgsProcessingParameterFile,
diff --git a/python/plugins/processing/algs/qgis/SetZValue.py b/python/plugins/processing/algs/qgis/SetZValue.py
index 10be7dd..1e9395a 100644
--- a/python/plugins/processing/algs/qgis/SetZValue.py
+++ b/python/plugins/processing/algs/qgis/SetZValue.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/ShortestPathLayerToPoint.py b/python/plugins/processing/algs/qgis/ShortestPathLayerToPoint.py
index 18c0afa..e0ebf73 100644
--- a/python/plugins/processing/algs/qgis/ShortestPathLayerToPoint.py
+++ b/python/plugins/processing/algs/qgis/ShortestPathLayerToPoint.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from collections import OrderedDict
diff --git a/python/plugins/processing/algs/qgis/ShortestPathPointToLayer.py b/python/plugins/processing/algs/qgis/ShortestPathPointToLayer.py
index 1cd0382..146c713 100644
--- a/python/plugins/processing/algs/qgis/ShortestPathPointToLayer.py
+++ b/python/plugins/processing/algs/qgis/ShortestPathPointToLayer.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from collections import OrderedDict
diff --git a/python/plugins/processing/algs/qgis/ShortestPathPointToPoint.py b/python/plugins/processing/algs/qgis/ShortestPathPointToPoint.py
index 199f079..7c1dafb 100644
--- a/python/plugins/processing/algs/qgis/ShortestPathPointToPoint.py
+++ b/python/plugins/processing/algs/qgis/ShortestPathPointToPoint.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from collections import OrderedDict
diff --git a/python/plugins/processing/algs/qgis/SingleSidedBuffer.py b/python/plugins/processing/algs/qgis/SingleSidedBuffer.py
index 3e2eb26..e0ecbff 100644
--- a/python/plugins/processing/algs/qgis/SingleSidedBuffer.py
+++ b/python/plugins/processing/algs/qgis/SingleSidedBuffer.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsGeometry,
                        QgsWkbTypes,
diff --git a/python/plugins/processing/algs/qgis/Slope.py b/python/plugins/processing/algs/qgis/Slope.py
index aad521d..9df0028 100644
--- a/python/plugins/processing/algs/qgis/Slope.py
+++ b/python/plugins/processing/algs/qgis/Slope.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/SnapGeometries.py b/python/plugins/processing/algs/qgis/SnapGeometries.py
index 12d0a95..7629614 100644
--- a/python/plugins/processing/algs/qgis/SnapGeometries.py
+++ b/python/plugins/processing/algs/qgis/SnapGeometries.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.analysis import (QgsGeometrySnapper,
                            QgsInternalGeometrySnapper)
diff --git a/python/plugins/processing/algs/qgis/SpatialIndex.py b/python/plugins/processing/algs/qgis/SpatialIndex.py
index 6f66366..368f29f 100644
--- a/python/plugins/processing/algs/qgis/SpatialIndex.py
+++ b/python/plugins/processing/algs/qgis/SpatialIndex.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/SpatialJoin.py b/python/plugins/processing/algs/qgis/SpatialJoin.py
index 7433c1a..63c91a9 100644
--- a/python/plugins/processing/algs/qgis/SpatialJoin.py
+++ b/python/plugins/processing/algs/qgis/SpatialJoin.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Joshua Arnott'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/SpatialJoinSummary.py b/python/plugins/processing/algs/qgis/SpatialJoinSummary.py
index 62c9b2e..e567d68 100644
--- a/python/plugins/processing/algs/qgis/SpatialJoinSummary.py
+++ b/python/plugins/processing/algs/qgis/SpatialJoinSummary.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/SpatialiteExecuteSQL.py b/python/plugins/processing/algs/qgis/SpatialiteExecuteSQL.py
index 36f8aef..fe274ce 100644
--- a/python/plugins/processing/algs/qgis/SpatialiteExecuteSQL.py
+++ b/python/plugins/processing/algs/qgis/SpatialiteExecuteSQL.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Mathieu Pellerin'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsDataSourceUri,
                        QgsProcessingAlgorithm,
diff --git a/python/plugins/processing/algs/qgis/StatisticsByCategories.py b/python/plugins/processing/algs/qgis/StatisticsByCategories.py
index b8db8ac..38fb1dd 100644
--- a/python/plugins/processing/algs/qgis/StatisticsByCategories.py
+++ b/python/plugins/processing/algs/qgis/StatisticsByCategories.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessingParameterFeatureSource,
                        QgsStatisticalSummary,
diff --git a/python/plugins/processing/algs/qgis/SumLines.py b/python/plugins/processing/algs/qgis/SumLines.py
index 1e88d2c..ea932131 100644
--- a/python/plugins/processing/algs/qgis/SumLines.py
+++ b/python/plugins/processing/algs/qgis/SumLines.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/SymmetricalDifference.py b/python/plugins/processing/algs/qgis/SymmetricalDifference.py
index 57df641..380e83b 100644
--- a/python/plugins/processing/algs/qgis/SymmetricalDifference.py
+++ b/python/plugins/processing/algs/qgis/SymmetricalDifference.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/TextToFloat.py b/python/plugins/processing/algs/qgis/TextToFloat.py
index aedfad7..175e4bf 100644
--- a/python/plugins/processing/algs/qgis/TextToFloat.py
+++ b/python/plugins/processing/algs/qgis/TextToFloat.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2010, Michael Minn'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QVariant
 from qgis.core import (QgsField,
diff --git a/python/plugins/processing/algs/qgis/TinInterpolation.py b/python/plugins/processing/algs/qgis/TinInterpolation.py
index 0dd9213..b5765a3 100644
--- a/python/plugins/processing/algs/qgis/TinInterpolation.py
+++ b/python/plugins/processing/algs/qgis/TinInterpolation.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/TopoColors.py b/python/plugins/processing/algs/qgis/TopoColors.py
index 485f46f..2a98400 100644
--- a/python/plugins/processing/algs/qgis/TopoColors.py
+++ b/python/plugins/processing/algs/qgis/TopoColors.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive323
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import operator
diff --git a/python/plugins/processing/algs/qgis/TruncateTable.py b/python/plugins/processing/algs/qgis/TruncateTable.py
index 0b93538..8f71378 100644
--- a/python/plugins/processing/algs/qgis/TruncateTable.py
+++ b/python/plugins/processing/algs/qgis/TruncateTable.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessingAlgorithm,
                        QgsProcessingParameterVectorLayer,
diff --git a/python/plugins/processing/algs/qgis/Union.py b/python/plugins/processing/algs/qgis/Union.py
index cdd91f2..e7c703d 100644
--- a/python/plugins/processing/algs/qgis/Union.py
+++ b/python/plugins/processing/algs/qgis/Union.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/UniqueValues.py b/python/plugins/processing/algs/qgis/UniqueValues.py
index 12019de..0867663 100644
--- a/python/plugins/processing/algs/qgis/UniqueValues.py
+++ b/python/plugins/processing/algs/qgis/UniqueValues.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import codecs
@@ -42,8 +42,7 @@ from qgis.core import (QgsCoordinateReferenceSystem,
                        QgsProcessingParameterFeatureSink,
                        QgsProcessingOutputNumber,
                        QgsProcessingOutputString,
-                       QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml)
+                       QgsProcessingParameterFileDestination)
 
 from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
 
@@ -81,7 +80,6 @@ class UniqueValues(QgisAlgorithm):
         self.addParameter(QgsProcessingParameterFeatureSink(self.OUTPUT, self.tr('Unique values'), optional=True, defaultValue=''))
 
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT_HTML_FILE, self.tr('HTML report'), self.tr('HTML files (*.html)'), None, True))
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT_HTML_FILE, self.tr('HTML report')))
         self.addOutput(QgsProcessingOutputNumber(self.TOTAL_VALUES, self.tr('Total unique values')))
         self.addOutput(QgsProcessingOutputString(self.UNIQUE_VALUES, self.tr('Unique values')))
 
diff --git a/python/plugins/processing/algs/qgis/VariableDistanceBuffer.py b/python/plugins/processing/algs/qgis/VariableDistanceBuffer.py
index 3c9f4e1..b753f75 100644
--- a/python/plugins/processing/algs/qgis/VariableDistanceBuffer.py
+++ b/python/plugins/processing/algs/qgis/VariableDistanceBuffer.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/VectorLayerHistogram.py b/python/plugins/processing/algs/qgis/VectorLayerHistogram.py
index a6a61bd..ce52d60 100644
--- a/python/plugins/processing/algs/qgis/VectorLayerHistogram.py
+++ b/python/plugins/processing/algs/qgis/VectorLayerHistogram.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import plotly as plt
 import plotly.graph_objs as go
@@ -31,8 +31,7 @@ import plotly.graph_objs as go
 from qgis.core import (QgsProcessingParameterFeatureSource,
                        QgsProcessingParameterField,
                        QgsProcessingParameterNumber,
-                       QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml)
+                       QgsProcessingParameterFileDestination)
 from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
 from processing.tools import vector
 
@@ -63,7 +62,6 @@ class VectorLayerHistogram(QgisAlgorithm):
                                                        self.tr('number of bins'), minValue=2, defaultValue=10))
 
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT, self.tr('Histogram'), self.tr('HTML files (*.html)')))
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT, self.tr('Histogram')))
 
     def name(self):
         return 'vectorlayerhistogram'
diff --git a/python/plugins/processing/algs/qgis/VectorLayerScatterplot.py b/python/plugins/processing/algs/qgis/VectorLayerScatterplot.py
index e8f6f77..2d9710f 100644
--- a/python/plugins/processing/algs/qgis/VectorLayerScatterplot.py
+++ b/python/plugins/processing/algs/qgis/VectorLayerScatterplot.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import plotly as plt
 import plotly.graph_objs as go
@@ -31,8 +31,7 @@ import plotly.graph_objs as go
 from qgis.core import (QgsProcessingParameterFeatureSource,
                        QgsProcessingParameterField,
                        QgsProcessingUtils,
-                       QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml)
+                       QgsProcessingParameterFileDestination)
 from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
 from processing.tools import vector
 
@@ -66,7 +65,6 @@ class VectorLayerScatterplot(QgisAlgorithm):
                                                       type=QgsProcessingParameterField.Numeric))
 
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT, self.tr('Scatterplot'), self.tr('HTML files (*.html)')))
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT, self.tr('Scatterplot')))
 
     def name(self):
         return 'vectorlayerscatterplot'
diff --git a/python/plugins/processing/algs/qgis/VectorLayerScatterplot3D.py b/python/plugins/processing/algs/qgis/VectorLayerScatterplot3D.py
index 19d8949..3f46f5c 100644
--- a/python/plugins/processing/algs/qgis/VectorLayerScatterplot3D.py
+++ b/python/plugins/processing/algs/qgis/VectorLayerScatterplot3D.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import plotly as plt
 import plotly.graph_objs as go
@@ -31,7 +31,6 @@ import plotly.graph_objs as go
 from qgis.core import (QgsProcessingParameterFeatureSource,
                        QgsProcessingParameterField,
                        QgsProcessingParameterFileDestination,
-                       QgsProcessingOutputHtml,
                        QgsProcessingUtils)
 from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
 
@@ -72,7 +71,6 @@ class VectorLayerScatterplot3D(QgisAlgorithm):
                                                       type=QgsProcessingParameterField.Numeric))
 
         self.addParameter(QgsProcessingParameterFileDestination(self.OUTPUT, self.tr('Histogram'), self.tr('HTML files (*.html)')))
-        self.addOutput(QgsProcessingOutputHtml(self.OUTPUT, self.tr('Histogram')))
 
     def name(self):
         return 'scatter3dplot'
diff --git a/python/plugins/processing/algs/qgis/VectorSplit.py b/python/plugins/processing/algs/qgis/VectorSplit.py
index 6f1f16e..5b4b7fc 100644
--- a/python/plugins/processing/algs/qgis/VectorSplit.py
+++ b/python/plugins/processing/algs/qgis/VectorSplit.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/VoronoiPolygons.py b/python/plugins/processing/algs/qgis/VoronoiPolygons.py
index 447f99a..45f08b6 100644
--- a/python/plugins/processing/algs/qgis/VoronoiPolygons.py
+++ b/python/plugins/processing/algs/qgis/VoronoiPolygons.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/ZonalStatistics.py b/python/plugins/processing/algs/qgis/ZonalStatistics.py
index 2c57e6d..13677e9 100644
--- a/python/plugins/processing/algs/qgis/ZonalStatistics.py
+++ b/python/plugins/processing/algs/qgis/ZonalStatistics.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from collections import OrderedDict
diff --git a/python/plugins/processing/algs/qgis/ui/AggregatesPanel.py b/python/plugins/processing/algs/qgis/ui/AggregatesPanel.py
index 4950ed7..f8aaa88 100644
--- a/python/plugins/processing/algs/qgis/ui/AggregatesPanel.py
+++ b/python/plugins/processing/algs/qgis/ui/AggregatesPanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Arnaud Morvan'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import (
     QItemSelectionModel,
diff --git a/python/plugins/processing/algs/qgis/ui/FieldsCalculatorDialog.py b/python/plugins/processing/algs/qgis/ui/FieldsCalculatorDialog.py
index 3196ae6..14b25d7 100644
--- a/python/plugins/processing/algs/qgis/ui/FieldsCalculatorDialog.py
+++ b/python/plugins/processing/algs/qgis/ui/FieldsCalculatorDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import re
@@ -67,7 +67,7 @@ class FieldCalculatorFeedback(QgsProcessingFeedback):
         QgsProcessingFeedback.__init__(self)
         self.dialog = dialog
 
-    def reportError(self, msg):
+    def reportError(self, msg, fatal_error):
         self.dialog.error(msg)
 
 
diff --git a/python/plugins/processing/algs/qgis/ui/FieldsMappingPanel.py b/python/plugins/processing/algs/qgis/ui/FieldsMappingPanel.py
index f7d67aa..cbc22a2 100644
--- a/python/plugins/processing/algs/qgis/ui/FieldsMappingPanel.py
+++ b/python/plugins/processing/algs/qgis/ui/FieldsMappingPanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Arnaud Morvan'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from collections import OrderedDict
diff --git a/python/plugins/processing/algs/qgis/ui/InterpolationDataWidget.py b/python/plugins/processing/algs/qgis/ui/InterpolationDataWidget.py
index e60fe37..2ba0c77 100644
--- a/python/plugins/processing/algs/qgis/ui/InterpolationDataWidget.py
+++ b/python/plugins/processing/algs/qgis/ui/InterpolationDataWidget.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/qgis/ui/RasterCalculatorWidgets.py b/python/plugins/processing/algs/qgis/ui/RasterCalculatorWidgets.py
index c65d953..e9421e0 100644
--- a/python/plugins/processing/algs/qgis/ui/RasterCalculatorWidgets.py
+++ b/python/plugins/processing/algs/qgis/ui/RasterCalculatorWidgets.py
@@ -21,7 +21,7 @@ __author__ = 'Victor Olaya'
 __date__ = 'November 2016'
 __copyright__ = '(C) 2016, Victor Olaya'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from functools import partial
diff --git a/python/plugins/processing/algs/qgis/ui/ReliefColorsWidget.py b/python/plugins/processing/algs/qgis/ui/ReliefColorsWidget.py
index 421830f..d4cb798 100644
--- a/python/plugins/processing/algs/qgis/ui/ReliefColorsWidget.py
+++ b/python/plugins/processing/algs/qgis/ui/ReliefColorsWidget.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import codecs
diff --git a/python/plugins/processing/algs/qgis/voronoi.py b/python/plugins/processing/algs/qgis/voronoi.py
index 8a6c951..cccb625 100644
--- a/python/plugins/processing/algs/qgis/voronoi.py
+++ b/python/plugins/processing/algs/qgis/voronoi.py
@@ -21,7 +21,7 @@ __author__ = 'Victor Olaya'
 __date__ = 'August 2012'
 __copyright__ = '(C) 2012, Victor Olaya'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 #############################################################################
 #
diff --git a/python/plugins/processing/algs/saga/SagaAlgorithm.py b/python/plugins/processing/algs/saga/SagaAlgorithm.py
index ff63789..39d46bc 100644
--- a/python/plugins/processing/algs/saga/SagaAlgorithm.py
+++ b/python/plugins/processing/algs/saga/SagaAlgorithm.py
@@ -24,12 +24,13 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import importlib
 from copy import deepcopy
 from qgis.core import (Qgis,
+                       QgsApplication,
                        QgsProcessingUtils,
                        QgsProcessingException,
                        QgsMessageLog,
@@ -101,6 +102,12 @@ class SagaAlgorithm(SagaAlgorithmBase):
     def shortHelpString(self):
         return shortHelp.get(self.id(), None)
 
+    def icon(self):
+        return QgsApplication.getThemeIcon("/providerSaga.svg")
+
+    def svgIconPath(self):
+        return QgsApplication.iconPath("providerSaga.svg")
+
     def flags(self):
         # TODO - maybe it's safe to background thread this?
         return super().flags() | QgsProcessingAlgorithm.FlagNoThreading
@@ -277,8 +284,8 @@ class SagaAlgorithm(SagaAlgorithmBase):
 
                 values = []
                 values.append(rect.xMinimum())
-                values.append(rect.yMinimum())
                 values.append(rect.xMaximum())
+                values.append(rect.yMinimum())
                 values.append(rect.yMaximum())
 
                 for i in range(4):
diff --git a/python/plugins/processing/algs/saga/SagaAlgorithmBase.py b/python/plugins/processing/algs/saga/SagaAlgorithmBase.py
index 355d007..501d59e 100644
--- a/python/plugins/processing/algs/saga/SagaAlgorithmBase.py
+++ b/python/plugins/processing/algs/saga/SagaAlgorithmBase.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/algs/saga/SagaAlgorithmProvider.py b/python/plugins/processing/algs/saga/SagaAlgorithmProvider.py
index 8907ef9..18178ec 100644
--- a/python/plugins/processing/algs/saga/SagaAlgorithmProvider.py
+++ b/python/plugins/processing/algs/saga/SagaAlgorithmProvider.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from qgis.PyQt.QtGui import QIcon
diff --git a/python/plugins/processing/algs/saga/SagaDescriptionCreator.py b/python/plugins/processing/algs/saga/SagaDescriptionCreator.py
index fa29d47..bc70fa9 100644
--- a/python/plugins/processing/algs/saga/SagaDescriptionCreator.py
+++ b/python/plugins/processing/algs/saga/SagaDescriptionCreator.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import subprocess
 import os
diff --git a/python/plugins/processing/algs/saga/SagaNameDecorator.py b/python/plugins/processing/algs/saga/SagaNameDecorator.py
index 000faa6..599354a 100644
--- a/python/plugins/processing/algs/saga/SagaNameDecorator.py
+++ b/python/plugins/processing/algs/saga/SagaNameDecorator.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 groups = {'grid_analysis': 'Raster analysis',
           'grid_calculus': 'Raster calculus',
diff --git a/python/plugins/processing/algs/saga/SagaUtils.py b/python/plugins/processing/algs/saga/SagaUtils.py
index fd04cbb..002e205 100644
--- a/python/plugins/processing/algs/saga/SagaUtils.py
+++ b/python/plugins/processing/algs/saga/SagaUtils.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import stat
diff --git a/python/plugins/processing/algs/saga/SplitRGBBands.py b/python/plugins/processing/algs/saga/SplitRGBBands.py
index e77f553..e351918 100644
--- a/python/plugins/processing/algs/saga/SplitRGBBands.py
+++ b/python/plugins/processing/algs/saga/SplitRGBBands.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from qgis.core import (QgsProcessingParameterRasterLayer,
diff --git a/python/plugins/processing/algs/saga/ext/supervisedclassification.py b/python/plugins/processing/algs/saga/ext/supervisedclassification.py
index a123b88..12df614 100644
--- a/python/plugins/processing/algs/saga/ext/supervisedclassification.py
+++ b/python/plugins/processing/algs/saga/ext/supervisedclassification.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from processing.tests.TestData import table
diff --git a/python/plugins/processing/algs/saga/versioncheck.py b/python/plugins/processing/algs/saga/versioncheck.py
index e55363e..e424b82 100644
--- a/python/plugins/processing/algs/saga/versioncheck.py
+++ b/python/plugins/processing/algs/saga/versioncheck.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
diff --git a/python/plugins/processing/core/Processing.py b/python/plugins/processing/core/Processing.py
index 254fe73..dc336cc 100644
--- a/python/plugins/processing/core/Processing.py
+++ b/python/plugins/processing/core/Processing.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import traceback
diff --git a/python/plugins/processing/core/ProcessingConfig.py b/python/plugins/processing/core/ProcessingConfig.py
index 0c2834a..d8398c9 100644
--- a/python/plugins/processing/core/ProcessingConfig.py
+++ b/python/plugins/processing/core/ProcessingConfig.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/core/ProcessingLog.py b/python/plugins/processing/core/ProcessingLog.py
index 9bf1afe..ef26363 100644
--- a/python/plugins/processing/core/ProcessingLog.py
+++ b/python/plugins/processing/core/ProcessingLog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import codecs
diff --git a/python/plugins/processing/core/ProcessingResults.py b/python/plugins/processing/core/ProcessingResults.py
index 56946f6..6a82457 100644
--- a/python/plugins/processing/core/ProcessingResults.py
+++ b/python/plugins/processing/core/ProcessingResults.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QObject, pyqtSignal
 
diff --git a/python/plugins/processing/core/defaultproviders.py b/python/plugins/processing/core/defaultproviders.py
index 93e6bd3..0601035 100644
--- a/python/plugins/processing/core/defaultproviders.py
+++ b/python/plugins/processing/core/defaultproviders.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def loadDefaultProviders():
diff --git a/python/plugins/processing/core/outputs.py b/python/plugins/processing/core/outputs.py
index 71af71a..e8fd7d1 100644
--- a/python/plugins/processing/core/outputs.py
+++ b/python/plugins/processing/core/outputs.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import sys
 
diff --git a/python/plugins/processing/core/parameters.py b/python/plugins/processing/core/parameters.py
index 88593bc..cfcc6e3 100644
--- a/python/plugins/processing/core/parameters.py
+++ b/python/plugins/processing/core/parameters.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import sys
 
diff --git a/python/plugins/processing/gui/AlgorithmDialog.py b/python/plugins/processing/gui/AlgorithmDialog.py
index f8fa8ed..68a9765 100644
--- a/python/plugins/processing/gui/AlgorithmDialog.py
+++ b/python/plugins/processing/gui/AlgorithmDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from pprint import pformat
 import time
diff --git a/python/plugins/processing/gui/AlgorithmDialogBase.py b/python/plugins/processing/gui/AlgorithmDialogBase.py
index 8677bd4..29c096f 100644
--- a/python/plugins/processing/gui/AlgorithmDialogBase.py
+++ b/python/plugins/processing/gui/AlgorithmDialogBase.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 class AlgorithmDialogBase:
diff --git a/python/plugins/processing/gui/AlgorithmExecutor.py b/python/plugins/processing/gui/AlgorithmExecutor.py
index 3e1a190..5fafa0b 100644
--- a/python/plugins/processing/gui/AlgorithmExecutor.py
+++ b/python/plugins/processing/gui/AlgorithmExecutor.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import sys
 from qgis.PyQt.QtCore import QCoreApplication
diff --git a/python/plugins/processing/gui/AlgorithmLocatorFilter.py b/python/plugins/processing/gui/AlgorithmLocatorFilter.py
index c268af6..e4708c2 100644
--- a/python/plugins/processing/gui/AlgorithmLocatorFilter.py
+++ b/python/plugins/processing/gui/AlgorithmLocatorFilter.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from qgis.core import (QgsApplication,
diff --git a/python/plugins/processing/gui/AutofillDialog.py b/python/plugins/processing/gui/AutofillDialog.py
index 6cff44e..db78a1d 100644
--- a/python/plugins/processing/gui/AutofillDialog.py
+++ b/python/plugins/processing/gui/AutofillDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/BatchAlgorithmDialog.py b/python/plugins/processing/gui/BatchAlgorithmDialog.py
index fffa4aa..b93c558 100644
--- a/python/plugins/processing/gui/BatchAlgorithmDialog.py
+++ b/python/plugins/processing/gui/BatchAlgorithmDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from pprint import pformat
 import time
diff --git a/python/plugins/processing/gui/BatchInputSelectionPanel.py b/python/plugins/processing/gui/BatchInputSelectionPanel.py
index 3ae6483..76d896f 100644
--- a/python/plugins/processing/gui/BatchInputSelectionPanel.py
+++ b/python/plugins/processing/gui/BatchInputSelectionPanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/BatchOutputSelectionPanel.py b/python/plugins/processing/gui/BatchOutputSelectionPanel.py
index 8ab7a77..c29839b 100644
--- a/python/plugins/processing/gui/BatchOutputSelectionPanel.py
+++ b/python/plugins/processing/gui/BatchOutputSelectionPanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import re
diff --git a/python/plugins/processing/gui/BatchPanel.py b/python/plugins/processing/gui/BatchPanel.py
index 2bee684..1a6725c 100644
--- a/python/plugins/processing/gui/BatchPanel.py
+++ b/python/plugins/processing/gui/BatchPanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import json
@@ -159,7 +159,7 @@ class BatchPanel(BASE, WIDGET):
                     if param.isDestination():
                         continue
                     if param.name() in params:
-                        value = params[param.name()].strip("'")
+                        value = eval(params[param.name()])
                         wrapper = self.wrappers[row][column]
                         wrapper.setValue(value)
                     column += 1
@@ -193,7 +193,7 @@ class BatchPanel(BASE, WIDGET):
                     continue
                 wrapper = self.wrappers[row][col]
                 if not param.checkValueIsAcceptable(wrapper.value(), context):
-                    self.parent.bar.pushMessage("", self.tr('Wrong or missing parameter value: {0} (row {1})').format(
+                    self.parent.messageBar().pushMessage("", self.tr('Wrong or missing parameter value: {0} (row {1})').format(
                         param.description(), row + 1),
                         level=Qgis.Warning, duration=5)
                     return
@@ -208,7 +208,7 @@ class BatchPanel(BASE, WIDGET):
                     algOutputs[out.name()] = text.strip()
                     col += 1
                 else:
-                    self.parent.bar.pushMessage("", self.tr('Wrong or missing output value: {0} (row {1})').format(
+                    self.parent.messageBar().pushMessage("", self.tr('Wrong or missing output value: {0} (row {1})').format(
                         out.description(), row + 1),
                         level=Qgis.Warning, duration=5)
                     return
diff --git a/python/plugins/processing/gui/CheckboxesPanel.py b/python/plugins/processing/gui/CheckboxesPanel.py
index 8e91c44..e32ef5c 100644
--- a/python/plugins/processing/gui/CheckboxesPanel.py
+++ b/python/plugins/processing/gui/CheckboxesPanel.py
@@ -23,7 +23,7 @@ __date__ = 'January 2015'
 __copyright__ = '(C) 2015, Arnaud Morvan'
 
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import Qt
 from qgis.PyQt.QtWidgets import (
@@ -107,9 +107,7 @@ class CheckboxesPanel(QWidget):
     def setValue(self, value):
         if self._multiple:
             for (v, button) in self._buttons:
-                if v in value:
-                    button.setChecked(True)
+                button.setChecked(v in value)
         else:
             for v, button in self._buttons:
-                if v == value:
-                    button.setChecked(True)
+                button.setChecked(v == value)
diff --git a/python/plugins/processing/gui/ConfigDialog.py b/python/plugins/processing/gui/ConfigDialog.py
index 68b8330..3b3cf1a 100644
--- a/python/plugins/processing/gui/ConfigDialog.py
+++ b/python/plugins/processing/gui/ConfigDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/ContextAction.py b/python/plugins/processing/gui/ContextAction.py
index 6e1c751..c370da2 100644
--- a/python/plugins/processing/gui/ContextAction.py
+++ b/python/plugins/processing/gui/ContextAction.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from qgis.PyQt.QtCore import QCoreApplication
diff --git a/python/plugins/processing/gui/DestinationSelectionPanel.py b/python/plugins/processing/gui/DestinationSelectionPanel.py
index 58ef502..1a4e94e 100644
--- a/python/plugins/processing/gui/DestinationSelectionPanel.py
+++ b/python/plugins/processing/gui/DestinationSelectionPanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import re
 import os
diff --git a/python/plugins/processing/gui/DirectorySelectorDialog.py b/python/plugins/processing/gui/DirectorySelectorDialog.py
index 84bbef8..9d6ee37 100644
--- a/python/plugins/processing/gui/DirectorySelectorDialog.py
+++ b/python/plugins/processing/gui/DirectorySelectorDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/EditRenderingStylesDialog.py b/python/plugins/processing/gui/EditRenderingStylesDialog.py
index 50831b8..3878785 100644
--- a/python/plugins/processing/gui/EditRenderingStylesDialog.py
+++ b/python/plugins/processing/gui/EditRenderingStylesDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/ExtentSelectionPanel.py b/python/plugins/processing/gui/ExtentSelectionPanel.py
index ab58cef..b2004db 100644
--- a/python/plugins/processing/gui/ExtentSelectionPanel.py
+++ b/python/plugins/processing/gui/ExtentSelectionPanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/FileSelectionPanel.py b/python/plugins/processing/gui/FileSelectionPanel.py
index cecad6f..af2bbec 100644
--- a/python/plugins/processing/gui/FileSelectionPanel.py
+++ b/python/plugins/processing/gui/FileSelectionPanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/FixedTableDialog.py b/python/plugins/processing/gui/FixedTableDialog.py
index 4b802ba..6d7892a 100644
--- a/python/plugins/processing/gui/FixedTableDialog.py
+++ b/python/plugins/processing/gui/FixedTableDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/FixedTablePanel.py b/python/plugins/processing/gui/FixedTablePanel.py
index 2ac7933..dabc254 100644
--- a/python/plugins/processing/gui/FixedTablePanel.py
+++ b/python/plugins/processing/gui/FixedTablePanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/Help2Html.py b/python/plugins/processing/gui/Help2Html.py
index ee79b63..cee0d0b 100644
--- a/python/plugins/processing/gui/Help2Html.py
+++ b/python/plugins/processing/gui/Help2Html.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import re
diff --git a/python/plugins/processing/gui/HelpEditionDialog.py b/python/plugins/processing/gui/HelpEditionDialog.py
index 95cf292..ee770ad 100644
--- a/python/plugins/processing/gui/HelpEditionDialog.py
+++ b/python/plugins/processing/gui/HelpEditionDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import json
diff --git a/python/plugins/processing/gui/HistoryDialog.py b/python/plugins/processing/gui/HistoryDialog.py
index 1032d92..9306507 100644
--- a/python/plugins/processing/gui/HistoryDialog.py
+++ b/python/plugins/processing/gui/HistoryDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -133,7 +133,7 @@ class HistoryDialog(BASE, WIDGET):
         if isinstance(item, TreeLogEntryItem):
             if item.isAlg:
                 popupmenu = QMenu()
-                createTestAction = QAction(self.tr('Create Test…'), self.tree)
+                createTestAction = QAction(QCoreApplication.translate('HistoryDialog', 'Create Test…'), self.tree)
                 createTestAction.triggered.connect(self.createTest)
                 popupmenu.addAction(createTestAction)
                 popupmenu.exec_(self.tree.mapToGlobal(point))
diff --git a/python/plugins/processing/gui/ListMultiselectWidget.py b/python/plugins/processing/gui/ListMultiselectWidget.py
index 254f915..20b3ab6 100644
--- a/python/plugins/processing/gui/ListMultiselectWidget.py
+++ b/python/plugins/processing/gui/ListMultiselectWidget.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Marco Bernasocchi'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from qgis.PyQt.QtWidgets import (QGroupBox,
diff --git a/python/plugins/processing/gui/MessageBarProgress.py b/python/plugins/processing/gui/MessageBarProgress.py
index f875fa4..669e0da 100644
--- a/python/plugins/processing/gui/MessageBarProgress.py
+++ b/python/plugins/processing/gui/MessageBarProgress.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import Qt, QCoreApplication
 from qgis.PyQt.QtWidgets import QProgressBar
@@ -48,7 +48,7 @@ class MessageBarProgress(QgsProcessingFeedback):
         iface.messageBar().pushWidget(self.progressMessageBar,
                                       Qgis.Info)
 
-    def reportError(self, msg):
+    def reportError(self, msg, fatal_error):
         self.msg.append(msg)
 
     def close(self):
diff --git a/python/plugins/processing/gui/MessageDialog.py b/python/plugins/processing/gui/MessageDialog.py
index 141c6d4..ac5e12a 100644
--- a/python/plugins/processing/gui/MessageDialog.py
+++ b/python/plugins/processing/gui/MessageDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2014, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/MultipleFileInputDialog.py b/python/plugins/processing/gui/MultipleFileInputDialog.py
index 1b86f09..86b4e23 100644
--- a/python/plugins/processing/gui/MultipleFileInputDialog.py
+++ b/python/plugins/processing/gui/MultipleFileInputDialog.py
@@ -25,7 +25,7 @@ __author__ = 'Victor Olaya'
 __date__ = 'August 2012'
 __copyright__ = '(C) 2012, Victor Olaya'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/MultipleInputDialog.py b/python/plugins/processing/gui/MultipleInputDialog.py
index a174ec7..bd2f23e 100644
--- a/python/plugins/processing/gui/MultipleInputDialog.py
+++ b/python/plugins/processing/gui/MultipleInputDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/MultipleInputPanel.py b/python/plugins/processing/gui/MultipleInputPanel.py
index 23b55a6..ec34dd7 100644
--- a/python/plugins/processing/gui/MultipleInputPanel.py
+++ b/python/plugins/processing/gui/MultipleInputPanel.py
@@ -24,7 +24,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/NumberInputPanel.py b/python/plugins/processing/gui/NumberInputPanel.py
index 0fb3390..d7f70aa 100644
--- a/python/plugins/processing/gui/NumberInputPanel.py
+++ b/python/plugins/processing/gui/NumberInputPanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import math
diff --git a/python/plugins/processing/gui/ParameterGuiUtils.py b/python/plugins/processing/gui/ParameterGuiUtils.py
index 62528fe..5d2da7f 100644
--- a/python/plugins/processing/gui/ParameterGuiUtils.py
+++ b/python/plugins/processing/gui/ParameterGuiUtils.py
@@ -24,7 +24,7 @@ __copyright__ = '(C) 2017, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsProcessing,
                        QgsProviderRegistry,
diff --git a/python/plugins/processing/gui/ParametersPanel.py b/python/plugins/processing/gui/ParametersPanel.py
index a29877c..23eccfc 100644
--- a/python/plugins/processing/gui/ParametersPanel.py
+++ b/python/plugins/processing/gui/ParametersPanel.py
@@ -27,7 +27,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/PointMapTool.py b/python/plugins/processing/gui/PointMapTool.py
index 335f7c6..050976f 100644
--- a/python/plugins/processing/gui/PointMapTool.py
+++ b/python/plugins/processing/gui/PointMapTool.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import Qt, pyqtSignal
 
diff --git a/python/plugins/processing/gui/PointSelectionPanel.py b/python/plugins/processing/gui/PointSelectionPanel.py
index 9d0e6f0..341ec97 100644
--- a/python/plugins/processing/gui/PointSelectionPanel.py
+++ b/python/plugins/processing/gui/PointSelectionPanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/PostgisTableSelector.py b/python/plugins/processing/gui/PostgisTableSelector.py
index f5fdc6a..92b7bff 100644
--- a/python/plugins/processing/gui/PostgisTableSelector.py
+++ b/python/plugins/processing/gui/PostgisTableSelector.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
diff --git a/python/plugins/processing/gui/Postprocessing.py b/python/plugins/processing/gui/Postprocessing.py
index 2d9da39..ecc0b7b 100644
--- a/python/plugins/processing/gui/Postprocessing.py
+++ b/python/plugins/processing/gui/Postprocessing.py
@@ -24,7 +24,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import traceback
diff --git a/python/plugins/processing/gui/ProcessingToolbox.py b/python/plugins/processing/gui/ProcessingToolbox.py
index c7e8c36..e1d7373 100644
--- a/python/plugins/processing/gui/ProcessingToolbox.py
+++ b/python/plugins/processing/gui/ProcessingToolbox.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import operator
 import os
diff --git a/python/plugins/processing/gui/RangePanel.py b/python/plugins/processing/gui/RangePanel.py
index 0b5a527..bc52e9c 100644
--- a/python/plugins/processing/gui/RangePanel.py
+++ b/python/plugins/processing/gui/RangePanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/RectangleMapTool.py b/python/plugins/processing/gui/RectangleMapTool.py
index cad6a59..b4eb0fe 100644
--- a/python/plugins/processing/gui/RectangleMapTool.py
+++ b/python/plugins/processing/gui/RectangleMapTool.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import pyqtSignal
 from qgis.PyQt.QtGui import QColor
diff --git a/python/plugins/processing/gui/RenderingStyleFilePanel.py b/python/plugins/processing/gui/RenderingStyleFilePanel.py
index d614c21..d53b2c9 100644
--- a/python/plugins/processing/gui/RenderingStyleFilePanel.py
+++ b/python/plugins/processing/gui/RenderingStyleFilePanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/gui/RenderingStyles.py b/python/plugins/processing/gui/RenderingStyles.py
index 8dc92d9..5112242 100644
--- a/python/plugins/processing/gui/RenderingStyles.py
+++ b/python/plugins/processing/gui/RenderingStyles.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from processing.tools.system import userFolder
diff --git a/python/plugins/processing/gui/ResultsDock.py b/python/plugins/processing/gui/ResultsDock.py
index 7d5a690..745aacc 100644
--- a/python/plugins/processing/gui/ResultsDock.py
+++ b/python/plugins/processing/gui/ResultsDock.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import time
diff --git a/python/plugins/processing/gui/TestTools.py b/python/plugins/processing/gui/TestTools.py
index 437d60f..df74a69 100644
--- a/python/plugins/processing/gui/TestTools.py
+++ b/python/plugins/processing/gui/TestTools.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import posixpath
diff --git a/python/plugins/processing/gui/ToolboxAction.py b/python/plugins/processing/gui/ToolboxAction.py
index 7e6d57f..502fbd2 100644
--- a/python/plugins/processing/gui/ToolboxAction.py
+++ b/python/plugins/processing/gui/ToolboxAction.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QCoreApplication
 
diff --git a/python/plugins/processing/gui/__init__.py b/python/plugins/processing/gui/__init__.py
index 2345b59..f383f3a 100644
--- a/python/plugins/processing/gui/__init__.py
+++ b/python/plugins/processing/gui/__init__.py
@@ -21,7 +21,7 @@ __author__ = 'Victor Olaya'
 __date__ = 'August 2013'
 __copyright__ = '(C) 2013, Victor Olaya'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt import uic
 import logging
diff --git a/python/plugins/processing/gui/menus.py b/python/plugins/processing/gui/menus.py
index d7beb7a..91e9b84 100644
--- a/python/plugins/processing/gui/menus.py
+++ b/python/plugins/processing/gui/menus.py
@@ -21,7 +21,7 @@ __author__ = 'Victor Olaya'
 __date__ = 'February 2016'
 __copyright__ = '(C) 2016, Victor Olaya'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from qgis.PyQt.QtCore import QCoreApplication
@@ -47,64 +47,59 @@ vectorMenu = QApplication.translate('MainWindow', 'Vect&or')
 analysisToolsMenu = vectorMenu + "/" + Processing.tr('&Analysis Tools')
 defaultMenuEntries.update({'qgis:distancematrix': analysisToolsMenu,
                            'qgis:sumlinelengths': analysisToolsMenu,
-                           'qgis:pointsinpolygon': analysisToolsMenu,
                            'qgis:countpointsinpolygon': analysisToolsMenu,
                            'qgis:listuniquevalues': analysisToolsMenu,
                            'qgis:basicstatisticsforfields': analysisToolsMenu,
                            'qgis:nearestneighbouranalysis': analysisToolsMenu,
-                           'qgis:meancoordinates': analysisToolsMenu,
-                           'qgis:lineintersections': analysisToolsMenu})
+                           'native:meancoordinates': analysisToolsMenu,
+                           'native:lineintersections': analysisToolsMenu})
 researchToolsMenu = vectorMenu + "/" + Processing.tr('&Research Tools')
-defaultMenuEntries.update({'qgis:randomselection': researchToolsMenu,
+defaultMenuEntries.update({'qgis:creategrid': researchToolsMenu,
+                           'qgis:randomselection': researchToolsMenu,
                            'qgis:randomselectionwithinsubsets': researchToolsMenu,
                            'qgis:randompointsinextent': researchToolsMenu,
                            'qgis:randompointsinlayerbounds': researchToolsMenu,
-                           'qgis:randompointsinsidepolygonsfixed': researchToolsMenu,
-                           'qgis:randompointsinsidepolygonsvariable': researchToolsMenu,
+                           'qgis:randompointsinsidepolygons': researchToolsMenu,
                            'qgis:regularpoints': researchToolsMenu,
-                           'qgis:vectorgrid': researchToolsMenu,
-                           'qgis:selectbylocation': researchToolsMenu,
+                           'native:selectbylocation': researchToolsMenu,
                            'qgis:polygonfromlayerextent': researchToolsMenu})
 
 geoprocessingToolsMenu = vectorMenu + "/" + Processing.tr('&Geoprocessing Tools')
-defaultMenuEntries.update({'qgis:convexhull': geoprocessingToolsMenu,
-                           'qgis:fixeddistancebuffer': geoprocessingToolsMenu,
-                           'qgis:variabledistancebuffer': geoprocessingToolsMenu,
+defaultMenuEntries.update({'native:buffer': geoprocessingToolsMenu,
+                           'native:convexhull': geoprocessingToolsMenu,
                            'qgis:intersection': geoprocessingToolsMenu,
                            'qgis:union': geoprocessingToolsMenu,
                            'qgis:symmetricaldifference': geoprocessingToolsMenu,
                            'native:clip': geoprocessingToolsMenu,
                            'qgis:difference': geoprocessingToolsMenu,
-                           'qgis:dissolve': geoprocessingToolsMenu,
+                           'native:dissolve': geoprocessingToolsMenu,
                            'qgis:eliminateselectedpolygons': geoprocessingToolsMenu})
 geometryToolsMenu = vectorMenu + "/" + Processing.tr('G&eometry Tools')
 defaultMenuEntries.update({'qgis:checkvalidity': geometryToolsMenu,
                            'qgis:exportaddgeometrycolumns': geometryToolsMenu,
-                           'qgis:centroids': geometryToolsMenu,
+                           'native:centroids': geometryToolsMenu,
                            'qgis:delaunaytriangulation': geometryToolsMenu,
                            'qgis:voronoipolygons': geometryToolsMenu,
-                           'qgis:simplifygeometries': geometryToolsMenu,
+                           'native:simplifygeometries': geometryToolsMenu,
                            'qgis:densifygeometries': geometryToolsMenu,
-                           'qgis:multiparttosingleparts': geometryToolsMenu,
-                           'qgis:singlepartstomultipart': geometryToolsMenu,
+                           'native:multiparttosingleparts': geometryToolsMenu,
+                           'native:collect': geometryToolsMenu,
                            'qgis:polygonstolines': geometryToolsMenu,
                            'qgis:linestopolygons': geometryToolsMenu,
-                           'qgis:extractnodes': geometryToolsMenu})
+                           'native:extractvertices': geometryToolsMenu})
 managementToolsMenu = vectorMenu + "/" + Processing.tr('&Data Management Tools')
 defaultMenuEntries.update({'qgis:definecurrentprojection': managementToolsMenu,
                            'qgis:joinattributesbylocation': managementToolsMenu,
                            'qgis:splitvectorlayer': managementToolsMenu,
-                           'qgis:mergevectorlayers': managementToolsMenu,
+                           'native:mergevectorlayers': managementToolsMenu,
                            'qgis:createspatialindex': managementToolsMenu})
 
 rasterMenu = Processing.tr('&Raster')
 projectionsMenu = rasterMenu + "/" + Processing.tr('Projections')
 defaultMenuEntries.update({'gdal:warpreproject': projectionsMenu,
-                           'gdal:assignprojection': projectionsMenu,
-                           'gdal:extractprojection': projectionsMenu})
+                           'gdal:assignprojection': projectionsMenu})
 conversionMenu = rasterMenu + "/" + Processing.tr('Conversion')
 defaultMenuEntries.update({'gdal:rasterize': conversionMenu,
-                           'gdal:rasterize_over': conversionMenu,
                            'gdal:polygonize': conversionMenu,
                            'gdal:translate': conversionMenu,
                            'gdal:rgbtopct': conversionMenu,
@@ -120,18 +115,18 @@ defaultMenuEntries.update({'gdal:sieve': analysisMenu,
                            'gdal:proximity': analysisMenu,
                            'gdal:griddatametrics': analysisMenu,
                            'gdal:gridaverage': analysisMenu,
-                           'gdal:gridinvdist': analysisMenu,
+                           'gdal:gridinversedistance': analysisMenu,
                            'gdal:gridnearestneighbor': analysisMenu,
                            'gdal:aspect': analysisMenu,
                            'gdal:hillshade': analysisMenu,
                            'gdal:roughness': analysisMenu,
                            'gdal:slope': analysisMenu,
-                           'gdal:tpi': analysisMenu,
-                           'gdal:tri': analysisMenu})
+                           'gdal:tpitopographicpositionindex': analysisMenu,
+                           'gdal:triterrainruggednessindex': analysisMenu})
 miscMenu = rasterMenu + "/" + Processing.tr('Miscellaneous')
 defaultMenuEntries.update({'gdal:buildvirtualraster': miscMenu,
                            'gdal:merge': miscMenu,
-                           'gdal:rasterinfo': miscMenu,
+                           'gdal:gdalinfo': miscMenu,
                            'gdal:overviews': miscMenu,
                            'gdal:tileindex': miscMenu})
 
diff --git a/python/plugins/processing/gui/wrappers.py b/python/plugins/processing/gui/wrappers.py
index 0e4f4e3..8888847 100644
--- a/python/plugins/processing/gui/wrappers.py
+++ b/python/plugins/processing/gui/wrappers.py
@@ -24,7 +24,7 @@ __copyright__ = '(C) 2016, Arnaud Morvan'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import locale
 import os
@@ -1029,7 +1029,7 @@ class FeatureSourceWidgetWrapper(WidgetWrapper):
             return widget
 
     def layerChanged(self, layer):
-        if layer is not None or layer.type() != QgsMapLayer.VectorLayer or layer.selectedFeatureCount() == 0:
+        if layer is None or layer.type() != QgsMapLayer.VectorLayer or layer.selectedFeatureCount() == 0:
             self.use_selection_checkbox.setChecked(False)
             self.use_selection_checkbox.setEnabled(False)
         else:
diff --git a/python/plugins/processing/modeler/AddModelFromFileAction.py b/python/plugins/processing/modeler/AddModelFromFileAction.py
index 833d771..3c5916d 100644
--- a/python/plugins/processing/modeler/AddModelFromFileAction.py
+++ b/python/plugins/processing/modeler/AddModelFromFileAction.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 201, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import shutil
diff --git a/python/plugins/processing/modeler/CreateNewModelAction.py b/python/plugins/processing/modeler/CreateNewModelAction.py
index cd188dc..51efd69 100644
--- a/python/plugins/processing/modeler/CreateNewModelAction.py
+++ b/python/plugins/processing/modeler/CreateNewModelAction.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/modeler/DeleteModelAction.py b/python/plugins/processing/modeler/DeleteModelAction.py
index efa0a0c..cc413a6 100644
--- a/python/plugins/processing/modeler/DeleteModelAction.py
+++ b/python/plugins/processing/modeler/DeleteModelAction.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from qgis.core import QgsApplication, QgsProcessingModelAlgorithm
diff --git a/python/plugins/processing/modeler/EditModelAction.py b/python/plugins/processing/modeler/EditModelAction.py
index 8a5c2c0..31df89e 100644
--- a/python/plugins/processing/modeler/EditModelAction.py
+++ b/python/plugins/processing/modeler/EditModelAction.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QCoreApplication
 from qgis.core import QgsApplication, QgsProcessingModelAlgorithm
diff --git a/python/plugins/processing/modeler/ModelerAlgorithmProvider.py b/python/plugins/processing/modeler/ModelerAlgorithmProvider.py
index e09058d..c59be27 100644
--- a/python/plugins/processing/modeler/ModelerAlgorithmProvider.py
+++ b/python/plugins/processing/modeler/ModelerAlgorithmProvider.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/modeler/ModelerDialog.py b/python/plugins/processing/modeler/ModelerDialog.py
index 0d0de3c..6911b1e 100644
--- a/python/plugins/processing/modeler/ModelerDialog.py
+++ b/python/plugins/processing/modeler/ModelerDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import codecs
 import sys
@@ -325,7 +325,7 @@ class ModelerDialog(BASE, WIDGET):
 
     def runModel(self):
         if len(self.model.childAlgorithms()) == 0:
-            self.bar.pushMessage("", "Model doesn't contain any algorithm and/or parameter and can't be executed", level=Qgis.Warning, duration=5)
+            self.bar.pushMessage("", self.tr("Model doesn't contain any algorithm and/or parameter and can't be executed"), level=Qgis.Warning, duration=5)
             return
 
         dlg = AlgorithmDialog(self.model)
@@ -396,7 +396,7 @@ class ModelerDialog(BASE, WIDGET):
 
         img.save(filename)
 
-        self.bar.pushMessage("", "Model was correctly exported as image", level=Qgis.Success, duration=5)
+        self.bar.pushMessage("", self.tr("Model was correctly exported as image"), level=Qgis.Success, duration=5)
         self.repaintModel(controls=True)
 
     def exportAsPdf(self):
@@ -424,7 +424,7 @@ class ModelerDialog(BASE, WIDGET):
         self.scene.render(painter, printerRect, totalRect)
         painter.end()
 
-        self.bar.pushMessage("", "Model was correctly exported as PDF", level=Qgis.Success, duration=5)
+        self.bar.pushMessage("", self.tr("Model was correctly exported as PDF"), level=Qgis.Success, duration=5)
         self.repaintModel(controls=True)
 
     def exportAsSvg(self):
@@ -452,7 +452,7 @@ class ModelerDialog(BASE, WIDGET):
         self.scene.render(painter, svgRect, totalRect)
         painter.end()
 
-        self.bar.pushMessage("", "Model was correctly exported as SVG", level=Qgis.Success, duration=5)
+        self.bar.pushMessage("", self.tr("Model was correctly exported as SVG"), level=Qgis.Success, duration=5)
         self.repaintModel(controls=True)
 
     def exportAsPython(self):
@@ -469,7 +469,7 @@ class ModelerDialog(BASE, WIDGET):
         with codecs.open(filename, 'w', encoding='utf-8') as fout:
             fout.write(text)
 
-        self.bar.pushMessage("", "Model was correctly exported as python script", level=Qgis.Success, duration=5)
+        self.bar.pushMessage("", self.tr("Model was correctly exported as python script"), level=Qgis.Success, duration=5)
 
     def saveModel(self, saveAs):
         if str(self.textGroup.text()).strip() == '' \
@@ -503,7 +503,7 @@ class ModelerDialog(BASE, WIDGET):
                     )
                 return
             self.update_model.emit()
-            self.bar.pushMessage("", "Model was correctly saved", level=Qgis.Success, duration=5)
+            self.bar.pushMessage("", self.tr("Model was correctly saved"), level=Qgis.Success, duration=5)
 
             self.hasChanged = False
 
@@ -695,12 +695,7 @@ class ModelerDialog(BASE, WIDGET):
             else:
                 providerItem = TreeProviderItem(provider, self.algorithmTree, self)
 
-                if not provider.isActive():
-                    providerItem.setHidden(True)
-                    self.disabledProviderItems[provider.id()] = providerItem
-
                 # insert non-native providers at end of tree, alphabetically
-
                 for i in range(self.algorithmTree.invisibleRootItem().childCount()):
                     child = self.algorithmTree.invisibleRootItem().child(i)
                     if isinstance(child, TreeProviderItem):
@@ -709,6 +704,10 @@ class ModelerDialog(BASE, WIDGET):
 
                 self.algorithmTree.insertTopLevelItem(i + 1, providerItem)
 
+                if not provider.isActive():
+                    providerItem.setHidden(True)
+                    self.disabledProviderItems[provider.id()] = providerItem
+
     def addAlgorithmsFromProvider(self, provider, parent):
         groups = {}
         count = 0
diff --git a/python/plugins/processing/modeler/ModelerGraphicItem.py b/python/plugins/processing/modeler/ModelerGraphicItem.py
index bbd200f..17e367a 100644
--- a/python/plugins/processing/modeler/ModelerGraphicItem.py
+++ b/python/plugins/processing/modeler/ModelerGraphicItem.py
@@ -24,7 +24,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import math
diff --git a/python/plugins/processing/modeler/ModelerParameterDefinitionDialog.py b/python/plugins/processing/modeler/ModelerParameterDefinitionDialog.py
index 70ab1aa..1e131c7 100644
--- a/python/plugins/processing/modeler/ModelerParameterDefinitionDialog.py
+++ b/python/plugins/processing/modeler/ModelerParameterDefinitionDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import math
 
diff --git a/python/plugins/processing/modeler/ModelerParametersDialog.py b/python/plugins/processing/modeler/ModelerParametersDialog.py
index 2b55c9a..e4b2dcb 100644
--- a/python/plugins/processing/modeler/ModelerParametersDialog.py
+++ b/python/plugins/processing/modeler/ModelerParametersDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import webbrowser
 
@@ -367,7 +367,7 @@ class ModelerParametersDialog(QDialog):
         algHelp = self._alg.helpUrl()
         if not algHelp:
             algHelp = QgsHelp.helpUrl("processing_algs/{}/{}.html#{}".format(
-                self._alg.provider().helpId(), self._alg.groupId(), self._alg.name())).toString()
+                self._alg.provider().helpId(), self._alg.groupId(), "{}{}".format(self._alg.provider().helpId(), self._alg.name()))).toString()
 
         if algHelp not in [None, ""]:
             webbrowser.open(algHelp)
diff --git a/python/plugins/processing/modeler/ModelerScene.py b/python/plugins/processing/modeler/ModelerScene.py
index f023699..74f6559 100644
--- a/python/plugins/processing/modeler/ModelerScene.py
+++ b/python/plugins/processing/modeler/ModelerScene.py
@@ -24,7 +24,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QPointF, Qt
 from qgis.PyQt.QtWidgets import QGraphicsItem, QGraphicsScene
diff --git a/python/plugins/processing/modeler/ModelerUtils.py b/python/plugins/processing/modeler/ModelerUtils.py
index fddf6ac..b85989e 100644
--- a/python/plugins/processing/modeler/ModelerUtils.py
+++ b/python/plugins/processing/modeler/ModelerUtils.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from processing.tools.system import userFolder, mkdir
diff --git a/python/plugins/processing/modeler/MultilineTextPanel.py b/python/plugins/processing/modeler/MultilineTextPanel.py
index 8bb8ae9..bc6666f 100644
--- a/python/plugins/processing/modeler/MultilineTextPanel.py
+++ b/python/plugins/processing/modeler/MultilineTextPanel.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtWidgets import QComboBox, QPlainTextEdit, QSizePolicy, QVBoxLayout, QWidget
 
diff --git a/python/plugins/processing/modeler/OpenModelFromFileAction.py b/python/plugins/processing/modeler/OpenModelFromFileAction.py
index c2dce68..d6c8123 100644
--- a/python/plugins/processing/modeler/OpenModelFromFileAction.py
+++ b/python/plugins/processing/modeler/OpenModelFromFileAction.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2018, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from qgis.PyQt.QtWidgets import QFileDialog
diff --git a/python/plugins/processing/modeler/WrongModelException.py b/python/plugins/processing/modeler/WrongModelException.py
index 3ae4c76..ccfc9aa 100644
--- a/python/plugins/processing/modeler/WrongModelException.py
+++ b/python/plugins/processing/modeler/WrongModelException.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 class WrongModelException(Exception):
diff --git a/python/plugins/processing/preconfigured/DeletePreconfiguredAlgorithmAction.py b/python/plugins/processing/preconfigured/DeletePreconfiguredAlgorithmAction.py
index 335fe3c..0a8362e 100644
--- a/python/plugins/processing/preconfigured/DeletePreconfiguredAlgorithmAction.py
+++ b/python/plugins/processing/preconfigured/DeletePreconfiguredAlgorithmAction.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from qgis.PyQt.QtCore import QCoreApplication
diff --git a/python/plugins/processing/preconfigured/NewPreconfiguredAlgorithmAction.py b/python/plugins/processing/preconfigured/NewPreconfiguredAlgorithmAction.py
index 48731f0..33ed5d5 100644
--- a/python/plugins/processing/preconfigured/NewPreconfiguredAlgorithmAction.py
+++ b/python/plugins/processing/preconfigured/NewPreconfiguredAlgorithmAction.py
@@ -24,7 +24,7 @@ __copyright__ = '(C) 2016, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QCoreApplication
 from processing.core.GeoAlgorithm import GeoAlgorithm
diff --git a/python/plugins/processing/preconfigured/PreconfiguredAlgorithm.py b/python/plugins/processing/preconfigured/PreconfiguredAlgorithm.py
index 8f1cc3f..6c97782 100644
--- a/python/plugins/processing/preconfigured/PreconfiguredAlgorithm.py
+++ b/python/plugins/processing/preconfigured/PreconfiguredAlgorithm.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
diff --git a/python/plugins/processing/preconfigured/PreconfiguredAlgorithmDialog.py b/python/plugins/processing/preconfigured/PreconfiguredAlgorithmDialog.py
index b142d60..213a528 100644
--- a/python/plugins/processing/preconfigured/PreconfiguredAlgorithmDialog.py
+++ b/python/plugins/processing/preconfigured/PreconfiguredAlgorithmDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
diff --git a/python/plugins/processing/preconfigured/PreconfiguredAlgorithmProvider.py b/python/plugins/processing/preconfigured/PreconfiguredAlgorithmProvider.py
index 531e255..47c1139 100644
--- a/python/plugins/processing/preconfigured/PreconfiguredAlgorithmProvider.py
+++ b/python/plugins/processing/preconfigured/PreconfiguredAlgorithmProvider.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/script/AddScriptFromFileAction.py b/python/plugins/processing/script/AddScriptFromFileAction.py
index 2630a98..f062b69 100644
--- a/python/plugins/processing/script/AddScriptFromFileAction.py
+++ b/python/plugins/processing/script/AddScriptFromFileAction.py
@@ -23,11 +23,12 @@ __copyright__ = '(C) 201, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import shutil
 
+from qgis.PyQt.QtCore import QCoreApplication
 from qgis.PyQt.QtWidgets import QFileDialog
 
 from qgis.core import Qgis, QgsApplication, QgsMessageLog, QgsSettings
@@ -40,7 +41,7 @@ from processing.script import ScriptUtils
 class AddScriptFromFileAction(ToolboxAction):
 
     def __init__(self):
-        self.name = self.tr("Add Script from File…")
+        self.name = QCoreApplication.translate("AddScriptFromFileAction", "Add Script from File…")
         self.group = self.tr("Tools")
 
     def execute(self):
diff --git a/python/plugins/processing/script/CreateNewScriptAction.py b/python/plugins/processing/script/CreateNewScriptAction.py
index d304369..66ce6f0 100644
--- a/python/plugins/processing/script/CreateNewScriptAction.py
+++ b/python/plugins/processing/script/CreateNewScriptAction.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/script/DeleteScriptAction.py b/python/plugins/processing/script/DeleteScriptAction.py
index 63de6ce..3bcb282 100644
--- a/python/plugins/processing/script/DeleteScriptAction.py
+++ b/python/plugins/processing/script/DeleteScriptAction.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/script/EditScriptAction.py b/python/plugins/processing/script/EditScriptAction.py
index 0c6bc48..c7ed165 100644
--- a/python/plugins/processing/script/EditScriptAction.py
+++ b/python/plugins/processing/script/EditScriptAction.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import inspect
 
diff --git a/python/plugins/processing/script/ScriptAlgorithmProvider.py b/python/plugins/processing/script/ScriptAlgorithmProvider.py
index 5f8e51a..0c3219d 100644
--- a/python/plugins/processing/script/ScriptAlgorithmProvider.py
+++ b/python/plugins/processing/script/ScriptAlgorithmProvider.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/script/ScriptEdit.py b/python/plugins/processing/script/ScriptEdit.py
index 9dae873..011ddac 100644
--- a/python/plugins/processing/script/ScriptEdit.py
+++ b/python/plugins/processing/script/ScriptEdit.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/python/plugins/processing/script/ScriptEditorDialog.py b/python/plugins/processing/script/ScriptEditorDialog.py
index a67a48c..fb7dbf7 100644
--- a/python/plugins/processing/script/ScriptEditorDialog.py
+++ b/python/plugins/processing/script/ScriptEditorDialog.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import codecs
diff --git a/python/plugins/processing/script/ScriptUtils.py b/python/plugins/processing/script/ScriptUtils.py
index 451795e..82283c5 100644
--- a/python/plugins/processing/script/ScriptUtils.py
+++ b/python/plugins/processing/script/ScriptUtils.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import inspect
diff --git a/python/plugins/processing/tests/GuiTest.py b/python/plugins/processing/tests/GuiTest.py
index 01e5be5..e831071 100644
--- a/python/plugins/processing/tests/GuiTest.py
+++ b/python/plugins/processing/tests/GuiTest.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2017, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.testing import start_app, unittest
 from qgis.core import QgsApplication
diff --git a/python/plugins/processing/tests/ModelerTest.py b/python/plugins/processing/tests/ModelerTest.py
index 7a2fa85..0ba5487 100644
--- a/python/plugins/processing/tests/ModelerTest.py
+++ b/python/plugins/processing/tests/ModelerTest.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.testing import start_app, unittest
 
diff --git a/python/plugins/processing/tests/TestData.py b/python/plugins/processing/tests/TestData.py
index 62d6b04..f893025 100644
--- a/python/plugins/processing/tests/TestData.py
+++ b/python/plugins/processing/tests/TestData.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os.path
 
diff --git a/python/plugins/processing/tests/ToolsTest.py b/python/plugins/processing/tests/ToolsTest.py
index e5f5a51..b637837 100644
--- a/python/plugins/processing/tests/ToolsTest.py
+++ b/python/plugins/processing/tests/ToolsTest.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2016, Nyall Dawson'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import shutil
diff --git a/python/plugins/processing/tests/testdata/expected/concave_hull_points_03.gml b/python/plugins/processing/tests/testdata/expected/concave_hull_points_03.gml
new file mode 100644
index 0000000..b584f14
--- /dev/null
+++ b/python/plugins/processing/tests/testdata/expected/concave_hull_points_03.gml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<ogr:FeatureCollection
+     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+     xsi:schemaLocation="http://ogr.maptools.org/ concave_hull_points_03.xsd"
+     xmlns:ogr="http://ogr.maptools.org/"
+     xmlns:gml="http://www.opengis.net/gml">
+  <gml:boundedBy>
+    <gml:Box>
+      <gml:coord><gml:X>2</gml:X><gml:Y>1</gml:Y></gml:coord>
+      <gml:coord><gml:X>5</gml:X><gml:Y>3</gml:Y></gml:coord>
+    </gml:Box>
+  </gml:boundedBy>
+                                                                                                                                                                
+  <gml:featureMember>
+    <ogr:concave_hull_points_03 fid="1">
+      <ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>4,1 2,2 3,3 5,2 4,1</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
+      <ogr:id>4</ogr:id>
+      <ogr:id2>2</ogr:id2>
+    </ogr:concave_hull_points_03>
+  </gml:featureMember>
+</ogr:FeatureCollection>
diff --git a/python/plugins/processing/tests/testdata/expected/concave_hull_points_03.xsd b/python/plugins/processing/tests/testdata/expected/concave_hull_points_03.xsd
new file mode 100644
index 0000000..665572b
--- /dev/null
+++ b/python/plugins/processing/tests/testdata/expected/concave_hull_points_03.xsd
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="http://ogr.maptools.org/" xmlns:ogr="http://ogr.maptools.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" version="1.0">
+<xs:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/2.1.2/feature.xsd"/>
+<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:_FeatureCollection"/>
+<xs:complexType name="FeatureCollectionType">
+  <xs:complexContent>
+    <xs:extension base="gml:AbstractFeatureCollectionType">
+      <xs:attribute name="lockId" type="xs:string" use="optional"/>
+      <xs:attribute name="scope" type="xs:string" use="optional"/>
+    </xs:extension>
+  </xs:complexContent>
+</xs:complexType>
+<xs:element name="concave_hull_points_03" type="ogr:concave_hull_points_03_Type" substitutionGroup="gml:_Feature"/>
+<xs:complexType name="concave_hull_points_03_Type">
+  <xs:complexContent>
+    <xs:extension base="gml:AbstractFeatureType">
+      <xs:sequence>
+        <xs:element name="geometryProperty" type="gml:PolygonPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
+        <xs:element name="id" nillable="true" minOccurs="0" maxOccurs="1">
+          <xs:simpleType>
+            <xs:restriction base="xs:integer">
+              <xs:totalDigits value="10"/>
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:element>
+        <xs:element name="id2" nillable="true" minOccurs="0" maxOccurs="1">
+          <xs:simpleType>
+            <xs:restriction base="xs:integer">
+              <xs:totalDigits value="10"/>
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:element>
+      </xs:sequence>
+    </xs:extension>
+  </xs:complexContent>
+</xs:complexType>
+</xs:schema>
diff --git a/python/plugins/processing/tests/testdata/expected/concave_hull_points_07.gml b/python/plugins/processing/tests/testdata/expected/concave_hull_points_07.gml
new file mode 100644
index 0000000..38f7bd4
--- /dev/null
+++ b/python/plugins/processing/tests/testdata/expected/concave_hull_points_07.gml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<ogr:FeatureCollection
+     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+     xsi:schemaLocation="http://ogr.maptools.org/ concave_hull_points_07.xsd"
+     xmlns:ogr="http://ogr.maptools.org/"
+     xmlns:gml="http://www.opengis.net/gml">
+  <gml:boundedBy>
+    <gml:Box>
+      <gml:coord><gml:X>0</gml:X><gml:Y>-1</gml:Y></gml:coord>
+      <gml:coord><gml:X>8</gml:X><gml:Y>3</gml:Y></gml:coord>
+    </gml:Box>
+  </gml:boundedBy>
+                                                                                                                                                               
+  <gml:featureMember>
+    <ogr:concave_hull_points_07 fid="0">
+      <ogr:geometryProperty><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>4,1 0,-1 1,1 2,2 3,3 5,2 8,-1 7,-1 4,1</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></ogr:geometryProperty>
+      <ogr:id>4</ogr:id>
+      <ogr:id2>8</ogr:id2>
+    </ogr:concave_hull_points_07>
+  </gml:featureMember>
+</ogr:FeatureCollection>
diff --git a/python/plugins/processing/tests/testdata/expected/concave_hull_points_07.xsd b/python/plugins/processing/tests/testdata/expected/concave_hull_points_07.xsd
new file mode 100644
index 0000000..b835a4a
--- /dev/null
+++ b/python/plugins/processing/tests/testdata/expected/concave_hull_points_07.xsd
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="http://ogr.maptools.org/" xmlns:ogr="http://ogr.maptools.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" version="1.0">
+<xs:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/2.1.2/feature.xsd"/>
+<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:_FeatureCollection"/>
+<xs:complexType name="FeatureCollectionType">
+  <xs:complexContent>
+    <xs:extension base="gml:AbstractFeatureCollectionType">
+      <xs:attribute name="lockId" type="xs:string" use="optional"/>
+      <xs:attribute name="scope" type="xs:string" use="optional"/>
+    </xs:extension>
+  </xs:complexContent>
+</xs:complexType>
+<xs:element name="concave_hull_points_07" type="ogr:concave_hull_points_07_Type" substitutionGroup="gml:_Feature"/>
+<xs:complexType name="concave_hull_points_07_Type">
+  <xs:complexContent>
+    <xs:extension base="gml:AbstractFeatureType">
+      <xs:sequence>
+        <xs:element name="geometryProperty" type="gml:PolygonPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
+        <xs:element name="id" nillable="true" minOccurs="0" maxOccurs="1">
+          <xs:simpleType>
+            <xs:restriction base="xs:integer">
+              <xs:totalDigits value="10"/>
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:element>
+        <xs:element name="id2" nillable="true" minOccurs="0" maxOccurs="1">
+          <xs:simpleType>
+            <xs:restriction base="xs:integer">
+              <xs:totalDigits value="10"/>
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:element>
+      </xs:sequence>
+    </xs:extension>
+  </xs:complexContent>
+</xs:complexType>
+</xs:schema>
diff --git a/python/plugins/processing/tests/testdata/expected/refactor_fields_null.gml b/python/plugins/processing/tests/testdata/expected/refactor_fields_null.gml
new file mode 100644
index 0000000..85ffda5
--- /dev/null
+++ b/python/plugins/processing/tests/testdata/expected/refactor_fields_null.gml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<ogr:FeatureCollection
+     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+     xsi:schemaLocation="http://ogr.maptools.org/ refactor_fields_null.xsd"
+     xmlns:ogr="http://ogr.maptools.org/"
+     xmlns:gml="http://www.opengis.net/gml">
+  <gml:boundedBy>
+    <gml:Box>
+      <gml:coord><gml:X>0</gml:X><gml:Y>-5</gml:Y></gml:coord>
+      <gml:coord><gml:X>8</gml:X><gml:Y>3</gml:Y></gml:coord>
+    </gml:Box>
+  </gml:boundedBy>
+                                                                                                                                                               
+  <gml:featureMember>
+    <ogr:refactor_fields_null fid="points.0">
+      <ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>1,1</gml:coordinates></gml:Point></ogr:geometryProperty>
+      <ogr:id>1</ogr:id>
+      <ogr:id2>2</ogr:id2>
+    </ogr:refactor_fields_null>
+  </gml:featureMember>
+  <gml:featureMember>
+    <ogr:refactor_fields_null fid="points.1">
+      <ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>3,3</gml:coordinates></gml:Point></ogr:geometryProperty>
+      <ogr:id>2</ogr:id>
+      <ogr:id2>1</ogr:id2>
+    </ogr:refactor_fields_null>
+  </gml:featureMember>
+  <gml:featureMember>
+    <ogr:refactor_fields_null fid="points.2">
+      <ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>2,2</gml:coordinates></gml:Point></ogr:geometryProperty>
+      <ogr:id>3</ogr:id>
+      <ogr:id2>0</ogr:id2>
+    </ogr:refactor_fields_null>
+  </gml:featureMember>
+  <gml:featureMember>
+    <ogr:refactor_fields_null fid="points.3">
+      <ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>5,2</gml:coordinates></gml:Point></ogr:geometryProperty>
+      <ogr:id>4</ogr:id>
+      <ogr:id2>2</ogr:id2>
+    </ogr:refactor_fields_null>
+  </gml:featureMember>
+  <gml:featureMember>
+    <ogr:refactor_fields_null fid="points.4">
+      <ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>4,1</gml:coordinates></gml:Point></ogr:geometryProperty>
+      <ogr:id>5</ogr:id>
+      <ogr:id2>1</ogr:id2>
+    </ogr:refactor_fields_null>
+  </gml:featureMember>
+  <gml:featureMember>
+    <ogr:refactor_fields_null fid="points.5">
+      <ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>0,-5</gml:coordinates></gml:Point></ogr:geometryProperty>
+      <ogr:id>6</ogr:id>
+      <ogr:id2>0</ogr:id2>
+    </ogr:refactor_fields_null>
+  </gml:featureMember>
+  <gml:featureMember>
+    <ogr:refactor_fields_null fid="points.6">
+      <ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>8,-1</gml:coordinates></gml:Point></ogr:geometryProperty>
+      <ogr:id>7</ogr:id>
+      <ogr:id2>0</ogr:id2>
+    </ogr:refactor_fields_null>
+  </gml:featureMember>
+  <gml:featureMember>
+    <ogr:refactor_fields_null fid="points.7">
+      <ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>7,-1</gml:coordinates></gml:Point></ogr:geometryProperty>
+      <ogr:id>8</ogr:id>
+      <ogr:id2>0</ogr:id2>
+    </ogr:refactor_fields_null>
+  </gml:featureMember>
+  <gml:featureMember>
+    <ogr:refactor_fields_null fid="points.8">
+      <ogr:geometryProperty><gml:Point srsName="EPSG:4326"><gml:coordinates>0,-1</gml:coordinates></gml:Point></ogr:geometryProperty>
+      <ogr:id>9</ogr:id>
+      <ogr:id2>0</ogr:id2>
+    </ogr:refactor_fields_null>
+  </gml:featureMember>
+</ogr:FeatureCollection>
diff --git a/python/plugins/processing/tests/testdata/expected/refactor_fields_null.xsd b/python/plugins/processing/tests/testdata/expected/refactor_fields_null.xsd
new file mode 100644
index 0000000..e3b6ff1
--- /dev/null
+++ b/python/plugins/processing/tests/testdata/expected/refactor_fields_null.xsd
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="http://ogr.maptools.org/" xmlns:ogr="http://ogr.maptools.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" version="1.0">
+<xs:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/2.1.2/feature.xsd"/>
+<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:_FeatureCollection"/>
+<xs:complexType name="FeatureCollectionType">
+  <xs:complexContent>
+    <xs:extension base="gml:AbstractFeatureCollectionType">
+      <xs:attribute name="lockId" type="xs:string" use="optional"/>
+      <xs:attribute name="scope" type="xs:string" use="optional"/>
+    </xs:extension>
+  </xs:complexContent>
+</xs:complexType>
+<xs:element name="refactor_fields_null" type="ogr:refactor_fields_null_Type" substitutionGroup="gml:_Feature"/>
+<xs:complexType name="refactor_fields_null_Type">
+  <xs:complexContent>
+    <xs:extension base="gml:AbstractFeatureType">
+      <xs:sequence>
+        <xs:element name="geometryProperty" type="gml:PointPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
+        <xs:element name="id" nillable="true" minOccurs="0" maxOccurs="1">
+          <xs:simpleType>
+            <xs:restriction base="xs:integer">
+              <xs:totalDigits value="10"/>
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:element>
+        <xs:element name="id2" nillable="true" minOccurs="0" maxOccurs="1">
+          <xs:simpleType>
+            <xs:restriction base="xs:integer">
+              <xs:totalDigits value="10"/>
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:element>
+        <xs:element name="no_exp" nillable="true" minOccurs="0" maxOccurs="1">
+          <xs:simpleType>
+            <xs:restriction base="xs:string">
+              <xs:maxLength value="255"/>
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:element>
+      </xs:sequence>
+    </xs:extension>
+  </xs:complexContent>
+</xs:complexType>
+</xs:schema>
diff --git a/python/plugins/processing/tests/testdata/gdal_algorithm_tests.yaml b/python/plugins/processing/tests/testdata/gdal_algorithm_tests.yaml
index 29d49e4..78b34cb 100644
--- a/python/plugins/processing/tests/testdata/gdal_algorithm_tests.yaml
+++ b/python/plugins/processing/tests/testdata/gdal_algorithm_tests.yaml
@@ -250,6 +250,7 @@ tests:
         hash:
         - aca7c839c679613f4910cbdea660359f1551c104c57fea9a61795668
         - 57e2bc100ec9836e2aa7df4ccf6b5715bd3f3524a524ce47bec52f68
+        - e607570f34b1c61bc622751b324023b67642b657ef4b91a80d9057cb
         type: rasterhash
 
   - algorithm: gdal:gridnearestneighbor
diff --git a/python/plugins/processing/tests/testdata/qgis_algorithm_tests.yaml b/python/plugins/processing/tests/testdata/qgis_algorithm_tests.yaml
index 00808f2..19ebd4d 100644
--- a/python/plugins/processing/tests/testdata/qgis_algorithm_tests.yaml
+++ b/python/plugins/processing/tests/testdata/qgis_algorithm_tests.yaml
@@ -1513,6 +1513,7 @@ tests:
         - 58365b3715b925d6286e7f082ebd9c2a20f09fa1c922176d3f238002
         - 75cca4c1a870a1e21185a2d85b33b6d9958a69fc6ebb04e4d6ceb8a3
         - c05cd8dbfb00200a3803dcdc74ad177588eb8379867c4046463f73f1
+        - 8f59f545b5df01f213b7a2233eb364d05b5801676d1f4285ad1225a1
         type: rasterhash
 
   - algorithm: qgis:relief
@@ -2482,6 +2483,38 @@ tests:
         name: expected/refactorfields.gml
         type: vector
 
+  - algorithm: qgis:refactorfields
+    name: Refactor fields, empty expression
+    params:
+      FIELDS_MAPPING:
+      - expression: '"fid"'
+        length: 0
+        name: fid
+        precision: 0
+        type: 10
+      - expression: '"id"'
+        length: 0
+        name: id
+        precision: 0
+        type: 2
+      - expression: '"id2"'
+        length: 0
+        name: id2
+        precision: 0
+        type: 2
+      - expression: ''
+        length: 0
+        name: no_exp
+        precision: 0
+        type: 10
+      INPUT:
+        name: points.gml
+        type: vector
+    results:
+      OUTPUT:
+        name: expected/refactor_fields_null.gml
+        type: vector
+
   - algorithm: native:reprojectlayer
     name: reproject vector layer
     params:
@@ -4688,3 +4721,31 @@ tests:
       OUTPUT:
         name: expected/biggest_parts.gml
         type: vector
+
+  - algorithm: qgis:concavehull
+    name: Concave Hull - Points (0.3)
+    params:
+      ALPHA: 0.3
+      HOLES: true
+      INPUT:
+        name: points.gml
+        type: vector
+      NO_MULTIGEOMETRY: false
+    results:
+      OUTPUT:
+        name: expected/concave_hull_points_03.gml
+        type: vector
+
+  - algorithm: qgis:concavehull
+    name: Concave Hull - Points (0.7)
+    params:
+      ALPHA: 0.7
+      HOLES: true
+      INPUT:
+        name: points.gml
+        type: vector
+      NO_MULTIGEOMETRY: false
+    results:
+      OUTPUT:
+        name: expected/concave_hull_points_07.gml
+        type: vector
diff --git a/python/plugins/processing/tools/__init__.py b/python/plugins/processing/tools/__init__.py
index 9610990..5b026ff 100644
--- a/python/plugins/processing/tools/__init__.py
+++ b/python/plugins/processing/tools/__init__.py
@@ -23,4 +23,4 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
diff --git a/python/plugins/processing/tools/dataobjects.py b/python/plugins/processing/tools/dataobjects.py
index 0291d1f..cd1680f 100644
--- a/python/plugins/processing/tools/dataobjects.py
+++ b/python/plugins/processing/tools/dataobjects.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import re
diff --git a/python/plugins/processing/tools/general.py b/python/plugins/processing/tools/general.py
index 78ea48d..bca9d82 100644
--- a/python/plugins/processing/tools/general.py
+++ b/python/plugins/processing/tools/general.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import configparser
diff --git a/python/plugins/processing/tools/postgis.py b/python/plugins/processing/tools/postgis.py
index 47b5c8e..52cee4e 100644
--- a/python/plugins/processing/tools/postgis.py
+++ b/python/plugins/processing/tools/postgis.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Martin Dobias'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import psycopg2
 import psycopg2.extensions  # For isolation levels
diff --git a/python/plugins/processing/tools/raster.py b/python/plugins/processing/tools/raster.py
index e44d24d..e9ec888 100644
--- a/python/plugins/processing/tools/raster.py
+++ b/python/plugins/processing/tools/raster.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya  and Alexander Bruy'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import struct
diff --git a/python/plugins/processing/tools/spatialite.py b/python/plugins/processing/tools/spatialite.py
index 8725c68..edfe01c 100644
--- a/python/plugins/processing/tools/spatialite.py
+++ b/python/plugins/processing/tools/spatialite.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2015, René-Luc Dhont'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.utils import spatialite_connect
 import sqlite3 as sqlite
diff --git a/python/plugins/processing/tools/system.py b/python/plugins/processing/tools/system.py
index e82714c..090050e 100644
--- a/python/plugins/processing/tools/system.py
+++ b/python/plugins/processing/tools/system.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2012, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import time
diff --git a/python/plugins/processing/tools/vector.py b/python/plugins/processing/tools/vector.py
index 1ed2ee7..a8751b1 100644
--- a/python/plugins/processing/tools/vector.py
+++ b/python/plugins/processing/tools/vector.py
@@ -23,7 +23,7 @@ __copyright__ = '(C) 2013, Victor Olaya'
 
 # This will get replaced with a git SHA1 when you do a git archive
 
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import csv
 
diff --git a/python/pyplugin_installer/__init__.py b/python/pyplugin_installer/__init__.py
index abb05b2..5e779c2 100644
--- a/python/pyplugin_installer/__init__.py
+++ b/python/pyplugin_installer/__init__.py
@@ -26,7 +26,7 @@ __author__ = 'Borys Jurgiel'
 __date__ = 'May 2013'
 __copyright__ = '(C) 2013, Borys Jurgiel'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 # import functions for easier access
diff --git a/python/server/__init__.py b/python/server/__init__.py
index 45ed2a3..bab2d4e 100644
--- a/python/server/__init__.py
+++ b/python/server/__init__.py
@@ -21,7 +21,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = 'October 2014'
 __copyright__ = '(C) 2014, Alessandro Pasotti'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt import QtCore     # NOQA
 
diff --git a/python/server/qgsmapserviceexception.sip.in b/python/server/qgsmapserviceexception.sip.in
index 4c79269..df4fb61 100644
--- a/python/server/qgsmapserviceexception.sip.in
+++ b/python/server/qgsmapserviceexception.sip.in
@@ -16,7 +16,7 @@ class QgsMapServiceException : QgsOgcServiceException
 %Docstring
  Exception class for WMS service exceptions (for compatibility only).
 
-\deprecated Use QsgServerException
+.. deprecated:: Use QsgServerException
 
 The most important codes are:
 * "InvalidFormat"
diff --git a/python/user.py b/python/user.py
index 87fc6be..9c02ccd 100644
--- a/python/user.py
+++ b/python/user.py
@@ -21,7 +21,7 @@ __author__ = 'Nathan Woodrow'
 __date__ = 'January 2015'
 __copyright__ = '(C) 2015, Nathan Woodrow'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import sys
diff --git a/python/utils.py b/python/utils.py
index cfd4003..b380e2f 100644
--- a/python/utils.py
+++ b/python/utils.py
@@ -21,7 +21,7 @@ __author__ = 'Martin Dobias'
 __date__ = 'November 2009'
 __copyright__ = '(C) 2009, Martin Dobias'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 """
 QGIS utilities module
diff --git a/resources/function_help/json/make_triangle b/resources/function_help/json/make_triangle
new file mode 100644
index 0000000..a9593d2
--- /dev/null
+++ b/resources/function_help/json/make_triangle
@@ -0,0 +1,13 @@
+{
+  "name": "make_triangle",
+  "type": "function",
+  "description": "Creates a triangle polygon.",
+  "variableLenArguments": false,
+  "arguments": [
+	{"arg":"point 1", "description": "first point of the triangle"},
+	{"arg":"point 2", "description": "second point of the triangle"},
+	{"arg":"point 3", "description": "third point of the triangle"}],
+  "examples": [ { "expression":"geom_to_wkt(make_triangle(make_point(0,0), make_point(5,5), make_point(0,10)))", "returns":"'Triangle ((0 0, 5 5, 0 10, 0 0))'"},
+    { "expression":"geom_to_wkt(boundary(make_triangle(make_point(0,0), make_point(5,5), make_point(0,10))))", "returns":"'LineString (0 0, 5 5, 0 10, 0 0)'"}
+    ]
+}
diff --git a/resources/qgis_global_settings.ini b/resources/qgis_global_settings.ini
index 9790d9c..a85f9f5 100644
--- a/resources/qgis_global_settings.ini
+++ b/resources/qgis_global_settings.ini
@@ -34,7 +34,3 @@ connections-xyz\OpenStreetMap\zmin=0
 # for now this is online version of the User Guide for latest (LTR) release
 helpSearchPath=https://docs.qgis.org/$qgis_short_version/$qgis_locale/docs/user_manual/
 
-[app]
-
-# If true, the experimental "duplicate feature" actions will be shown in the QGIS UI
-tools\showDuplicateFeatureActions=false
\ No newline at end of file
diff --git a/scripts/generate_test_mask_image.py b/scripts/generate_test_mask_image.py
index 162525f..5222057 100755
--- a/scripts/generate_test_mask_image.py
+++ b/scripts/generate_test_mask_image.py
@@ -22,7 +22,7 @@ __author__ = 'Nyall Dawson'
 __date__ = 'February 2015'
 __copyright__ = '(C) 2015, Nyall Dawson'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 # Generates (or updates) a unit test image mask, which is used to specify whether
diff --git a/scripts/mkuidefaults.py b/scripts/mkuidefaults.py
index c0bd4a7..fc59d0e 100644
--- a/scripts/mkuidefaults.py
+++ b/scripts/mkuidefaults.py
@@ -21,7 +21,7 @@ __author__ = 'Juergen E. Fischer'
 __date__ = 'June 2013'
 __copyright__ = '(C) 2013, Juergen E. Fischer'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import sys
 import struct
diff --git a/scripts/parse_dash_results.py b/scripts/parse_dash_results.py
index f7922dc..744afe7 100755
--- a/scripts/parse_dash_results.py
+++ b/scripts/parse_dash_results.py
@@ -26,7 +26,7 @@ __author__ = 'Nyall Dawson'
 __date__ = 'October 2016'
 __copyright__ = '(C) 2016, Nyall Dawson'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import sys
@@ -159,7 +159,7 @@ class ResultHandler(QDialog):
 
         images = {}
         for img in measurement_img:
-            m = re.search('Rendered Image (.*?)\s', img.get('alt'))
+            m = re.search('Rendered Image (.*?)(\s|$)', img.get('alt'))
             test_name = m.group(1)
             rendered_image = img.get('src')
             images[test_name] = '{}/{}'.format(dash_url, rendered_image)
diff --git a/scripts/pyuic-wrapper.py b/scripts/pyuic-wrapper.py
index 67a4815..f54e665 100644
--- a/scripts/pyuic-wrapper.py
+++ b/scripts/pyuic-wrapper.py
@@ -21,6 +21,6 @@ __author__ = 'Juergen E. Fischer'
 __date__ = 'March 2016'
 __copyright__ = '(C) 2016, Juergen E. Fischer'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis.PyQt.uic.pyuic
diff --git a/scripts/sipify.pl b/scripts/sipify.pl
index aef2e19..249da2b 100755
--- a/scripts/sipify.pl
+++ b/scripts/sipify.pl
@@ -192,6 +192,9 @@ sub processDoxygenLine {
     if ( $line =~ m/\\since .*?([\d\.]+)/i ) {
         return "\n.. versionadded:: $1\n";
     }
+    if ( $line =~ m/\\deprecated (.*)/i ) {
+        return "\n.. deprecated:: $1\n";
+    }
 
     # create links in see also
     if ( $line =~ m/\\see +(\w+(\.\w+)*)(\([^()]*\))?/ ) {
@@ -596,7 +599,7 @@ while ($LINE_IDX < $LINE_COUNT){
         next;
     }
     # Skip Q_OBJECT, Q_PROPERTY, Q_ENUM, Q_GADGET etc.
-    if ($LINE =~ m/^\s*Q_(OBJECT|ENUMS|ENUM|FLAG|PROPERTY|GADGET|DECLARE_METATYPE|DECLARE_TYPEINFO|DECL_DEPRECATED|NOWARN_DEPRECATED_(PUSH|POP))\b.*?$/){
+    if ($LINE =~ m/^\s*Q_(OBJECT|ENUMS|ENUM|FLAG|PROPERTY|GADGET|DECLARE_METATYPE|DECLARE_TYPEINFO|NOWARN_DEPRECATED_(PUSH|POP))\b.*?$/){
         next;
     }
 
@@ -847,6 +850,7 @@ while ($LINE_IDX < $LINE_COUNT){
         $LINE =~ s/^(\s*template\s*<)(?:class|typename) (\w+>)(.*)$/$1$2$3/;
         $LINE =~ s/\s*\boverride\b//;
         $LINE =~ s/\s*\bextern \b//;
+        $LINE =~ s/\s*\bQ_DECL_DEPRECATED\b//;
         $LINE =~ s/^(\s*)?(const )?(virtual |static )?inline /$1$2$3/;
         $LINE =~ s/\bconstexpr\b/const/;
         $LINE =~ s/\bnullptr\b/0/g;
diff --git a/scripts/widgets_tree.py b/scripts/widgets_tree.py
index 784f106..28679a9 100644
--- a/scripts/widgets_tree.py
+++ b/scripts/widgets_tree.py
@@ -22,7 +22,7 @@ __author__ = 'Martin Dobias'
 __date__ = 'May 2011'
 __copyright__ = '(C) 2011, Martin Dobias'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 """
 Reads .ui files from ../src/ui/ directory and write to stdout an XML describing
diff --git a/src/analysis/network/qgsgraphdirector.h b/src/analysis/network/qgsgraphdirector.h
index 82bc726..a0dc3d3 100644
--- a/src/analysis/network/qgsgraphdirector.h
+++ b/src/analysis/network/qgsgraphdirector.h
@@ -56,6 +56,11 @@ class ANALYSIS_EXPORT QgsGraphDirector : public QObject
 
   public:
 
+    ~QgsGraphDirector()
+    {
+      qDeleteAll( mStrategies );
+    }
+
     /**
      * Make a graph using QgsGraphBuilder
      *
diff --git a/src/analysis/processing/qgsalgorithmfiledownloader.cpp b/src/analysis/processing/qgsalgorithmfiledownloader.cpp
index 7f03f7b..df25eab 100644
--- a/src/analysis/processing/qgsalgorithmfiledownloader.cpp
+++ b/src/analysis/processing/qgsalgorithmfiledownloader.cpp
@@ -65,7 +65,6 @@ void QgsFileDownloaderAlgorithm::initAlgorithm( const QVariantMap & )
   addParameter( new QgsProcessingParameterString( QStringLiteral( "URL" ), tr( "URL" ), QVariant(), false, false ) );
   addParameter( new QgsProcessingParameterFileDestination( QStringLiteral( "OUTPUT" ),
                 tr( "File destination" ), QObject::tr( "All files (*.*)" ), QVariant(), true ) );
-  addOutput( new QgsProcessingOutputFile( QStringLiteral( "OUTPUT" ), tr( "File destination" ) ) );
 }
 
 QVariantMap QgsFileDownloaderAlgorithm::processAlgorithm( const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessingFeedback *feedback )
diff --git a/src/analysis/processing/qgsalgorithmpackage.cpp b/src/analysis/processing/qgsalgorithmpackage.cpp
index 50921d2..60e7955 100644
--- a/src/analysis/processing/qgsalgorithmpackage.cpp
+++ b/src/analysis/processing/qgsalgorithmpackage.cpp
@@ -52,7 +52,6 @@ void QgsPackageAlgorithm::initAlgorithm( const QVariantMap & )
   addParameter( new QgsProcessingParameterMultipleLayers( QStringLiteral( "LAYERS" ), QObject::tr( "Input layers" ), QgsProcessing::TypeVector ) );
   addParameter( new QgsProcessingParameterFileDestination( QStringLiteral( "OUTPUT" ), QObject::tr( "Destination GeoPackage" ), QObject::tr( "GeoPackage files (*.gpkg)" ) ) );
   addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "OVERWRITE" ), QObject::tr( "Overwrite existing GeoPackage" ), false ) );
-  addOutput( new QgsProcessingOutputFile( QStringLiteral( "OUTPUT" ), QObject::tr( "GeoPackage" ) ) );
   addOutput( new QgsProcessingOutputMultipleLayers( QStringLiteral( "OUTPUT_LAYERS" ), QObject::tr( "Layers within new package" ) ) );
 }
 
diff --git a/src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp b/src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp
index 01cd202..170c03f 100644
--- a/src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp
+++ b/src/analysis/processing/qgsalgorithmrasterlayeruniquevalues.cpp
@@ -53,8 +53,6 @@ void QgsRasterLayerUniqueValuesReportAlgorithm::initAlgorithm( const QVariantMap
   addParameter( new QgsProcessingParameterFileDestination( QStringLiteral( "OUTPUT_HTML_FILE" ),
                 QObject::tr( "Unique values report" ), QObject::tr( "HTML files (*.html)" ), QVariant(), true ) );
 
-  addOutput( new QgsProcessingOutputHtml( QStringLiteral( "OUTPUT_HTML_FILE" ), QObject::tr( "Unique values report" ) ) );
-
   addOutput( new QgsProcessingOutputString( QStringLiteral( "EXTENT" ), QObject::tr( "Extent" ) ) );
   addOutput( new QgsProcessingOutputString( QStringLiteral( "CRS_AUTHID" ), QObject::tr( "CRS authority identifier" ) ) );
   addOutput( new QgsProcessingOutputNumber( QStringLiteral( "WIDTH_IN_PIXELS" ), QObject::tr( "Width in pixels" ) ) );
diff --git a/src/analysis/raster/qgsrelief.cpp b/src/analysis/raster/qgsrelief.cpp
index 04d5057..63851da 100644
--- a/src/analysis/raster/qgsrelief.cpp
+++ b/src/analysis/raster/qgsrelief.cpp
@@ -452,6 +452,9 @@ gdal::dataset_unique_ptr QgsRelief::openOutputFile( GDALDatasetH inputDataset, G
 
   //create three band raster (reg, green, blue)
   gdal::dataset_unique_ptr outputDataset( GDALCreate( outputDriver, mOutputFile.toUtf8().constData(), xSize, ySize, 3, GDT_Byte, papszOptions ) );
+  CSLDestroy( papszOptions );
+  papszOptions = nullptr;
+
   if ( !outputDataset )
   {
     return nullptr;
diff --git a/src/app/3d/qgs3dmapcanvasdockwidget.cpp b/src/app/3d/qgs3dmapcanvasdockwidget.cpp
index f6e6027..81efe87 100644
--- a/src/app/3d/qgs3dmapcanvasdockwidget.cpp
+++ b/src/app/3d/qgs3dmapcanvasdockwidget.cpp
@@ -114,6 +114,8 @@ void Qgs3DMapCanvasDockWidget::resetView()
 void Qgs3DMapCanvasDockWidget::configure()
 {
   QDialog dlg;
+  dlg.setWindowTitle( tr( "3D Configuration" ) );
+
   Qgs3DMapSettings *map = mCanvas->map();
   Qgs3DMapConfigWidget *w = new Qgs3DMapConfigWidget( map, mMainCanvas, &dlg );
   QDialogButtonBox *buttons = new QDialogButtonBox( QDialogButtonBox::Ok | QDialogButtonBox::Cancel, &dlg );
diff --git a/src/app/layout/qgslayoutmapwidget.cpp b/src/app/layout/qgslayoutmapwidget.cpp
index c50ddfe..a1e059f 100644
--- a/src/app/layout/qgslayoutmapwidget.cpp
+++ b/src/app/layout/qgslayoutmapwidget.cpp
@@ -596,7 +596,7 @@ void QgsLayoutMapWidget::updateGuiElements()
   }
 
   blockAllSignals( true );
-  mLabel->setText( tr( "Map %1" ).arg( mMapItem->id() ) );
+  mLabel->setText( mMapItem->displayName() );
 
   whileBlocking( mCrsSelector )->setCrs( mMapItem->presetCrs() );
 
diff --git a/src/app/layout/qgslayoutpropertieswidget.cpp b/src/app/layout/qgslayoutpropertieswidget.cpp
index a5abeb9..ef84f8a 100644
--- a/src/app/layout/qgslayoutpropertieswidget.cpp
+++ b/src/app/layout/qgslayoutpropertieswidget.cpp
@@ -79,10 +79,10 @@ QgsLayoutPropertiesWidget::QgsLayoutPropertiesWidget( QWidget *parent, QgsLayout
   connect( mResizePageButton, &QPushButton::clicked, this, &QgsLayoutPropertiesWidget::resizeToContents );
 
   connect( mResolutionSpinBox, static_cast < void ( QSpinBox::* )( int ) > ( &QSpinBox::valueChanged ), this, &QgsLayoutPropertiesWidget::dpiChanged );
-  connect( mReferenceMapComboBox, &QgsLayoutItemComboBox::itemChanged, this, &QgsLayoutPropertiesWidget::referenceMapChanged );
 
   mReferenceMapComboBox->setCurrentLayout( mLayout );
   mReferenceMapComboBox->setItemType( QgsLayoutItemRegistry::LayoutMap );
+  connect( mReferenceMapComboBox, &QgsLayoutItemComboBox::itemChanged, this, &QgsLayoutPropertiesWidget::referenceMapChanged );
 
   connect( mLayout, &QgsLayout::changed, this, &QgsLayoutPropertiesWidget::updateGui );
 
diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp
index 93fa3ce..1661eca 100644
--- a/src/app/qgisapp.cpp
+++ b/src/app/qgisapp.cpp
@@ -1407,7 +1407,10 @@ QgisApp::~QgisApp()
 
   unregisterCustomLayoutDropHandler( mLayoutQptDropHandler );
 
+#ifdef WITH_BINDINGS
   delete mPythonUtils;
+#endif
+
   delete mTray;
   delete mDataSourceManagerDialog;
   qDeleteAll( mCustomDropHandlers );
@@ -1774,7 +1777,7 @@ void QgisApp::applyDefaultSettingsToCanvas( QgsMapCanvas *canvas )
   canvas->setParallelRenderingEnabled( settings.value( QStringLiteral( "qgis/parallel_rendering" ), true ).toBool() );
   canvas->setMapUpdateInterval( settings.value( QStringLiteral( "qgis/map_update_interval" ), 250 ).toInt() );
   canvas->setSegmentationTolerance( settings.value( QStringLiteral( "qgis/segmentationTolerance" ), "0.01745" ).toDouble() );
-  canvas->setSegmentationToleranceType( QgsAbstractGeometry::SegmentationToleranceType( settings.enumSettingValue( QStringLiteral( "qgis/segmentationToleranceType" ), QgsAbstractGeometry::MaximumAngle ) ) );
+  canvas->setSegmentationToleranceType( QgsAbstractGeometry::SegmentationToleranceType( settings.enumValue( QStringLiteral( "qgis/segmentationToleranceType" ), QgsAbstractGeometry::MaximumAngle ) ) );
 }
 
 int QgisApp::chooseReasonableDefaultIconSize() const
@@ -1984,7 +1987,7 @@ void QgisApp::createActions()
   connect( mActionOpenTable, &QAction::triggered, this, [ = ]
   {
     QgsSettings settings;
-    QgsAttributeTableFilterModel::FilterMode initialMode = settings.enumSettingValue( QStringLiteral( "qgis/attributeTableBehavior" ),  QgsAttributeTableFilterModel::ShowAll );
+    QgsAttributeTableFilterModel::FilterMode initialMode = settings.enumValue( QStringLiteral( "qgis/attributeTableBehavior" ),  QgsAttributeTableFilterModel::ShowAll );
     attributeTable( initialMode );
   } );
   connect( mActionOpenFieldCalc, &QAction::triggered, this, &QgisApp::fieldCalculator );
@@ -2365,13 +2368,13 @@ void QgisApp::refreshProfileMenu()
 
   mConfigMenu->addSeparator( );
 
-  QAction *openProfileFolderAction = mConfigMenu->addAction( tr( "Open active profile folder" ) );
+  QAction *openProfileFolderAction = mConfigMenu->addAction( tr( "Open Active Profile Folder" ) );
   connect( openProfileFolderAction, &QAction::triggered, this, [this]()
   {
     QDesktopServices::openUrl( QUrl::fromLocalFile( userProfileManager()->userProfile()->folder() ) );
   } );
 
-  QAction *newProfileAction = mConfigMenu->addAction( tr( "New profile" ) );
+  QAction *newProfileAction = mConfigMenu->addAction( tr( "New Profile…" ) );
   connect( newProfileAction, &QAction::triggered, this, &QgisApp::newProfile );
 }
 
@@ -3660,9 +3663,9 @@ void QgisApp::initLayerTreeView()
   btnVisibilityPresets->setMenu( QgsMapThemes::instance()->menu() );
 
   // filter legend action
-  mActionFilterLegend = new QAction( tr( "Filter Legend By Map Content" ), this );
+  mActionFilterLegend = new QAction( tr( "Filter Legend by Map Content" ), this );
   mActionFilterLegend->setCheckable( true );
-  mActionFilterLegend->setToolTip( tr( "Filter Legend By Map Content" ) );
+  mActionFilterLegend->setToolTip( tr( "Filter Legend by Map Content" ) );
   mActionFilterLegend->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionFilter2.svg" ) ) );
   connect( mActionFilterLegend, &QAction::toggled, this, &QgisApp::updateFilterLegend );
 
@@ -6464,6 +6467,9 @@ void QgisApp::refreshFeatureActions()
   QList<QgsAction> actions = vlayer->actions()->actions( QStringLiteral( "Canvas" ) );
   Q_FOREACH ( const QgsAction &action, actions )
   {
+    if ( !vlayer->isEditable() && action.isEnabledOnlyWhenEditable() )
+      continue;
+
     QString actionTitle = !action.shortTitle().isEmpty() ? action.shortTitle() : action.icon().isNull() ? action.name() : QStringLiteral( "" );
     QAction *qAction = new QAction( action.icon(), actionTitle, mFeatureActionMenu );
     qAction->setData( QVariant::fromValue<QgsAction>( action ) );
@@ -7492,31 +7498,27 @@ void QgisApp::setupLayoutManagerConnections()
 
 void QgisApp::setupDuplicateFeaturesAction()
 {
-  QgsSettings settings;
-  if ( settings.value( QStringLiteral( "tools/showDuplicateFeatureActions" ), false, QgsSettings::App ).toBool() )
-  {
-    mDuplicateFeatureAction.reset( new QgsMapLayerAction( tr( "Duplicate feature" ),
-                                   nullptr, QgsMapLayerAction::SingleFeature,
-                                   QgsApplication::getThemeIcon( QStringLiteral( "/mActionDuplicateFeature.svg" ) ) ) );
+  mDuplicateFeatureAction.reset( new QgsMapLayerAction( tr( "Duplicate feature" ),
+                                 nullptr, QgsMapLayerAction::SingleFeature,
+                                 QgsApplication::getThemeIcon( QStringLiteral( "/mActionDuplicateFeature.svg" ) ), QgsMapLayerAction::EnabledOnlyWhenEditable ) );
 
-    QgsGui::mapLayerActionRegistry()->addMapLayerAction( mDuplicateFeatureAction.get() );
-    connect( mDuplicateFeatureAction.get(), &QgsMapLayerAction::triggeredForFeature, this, [this]( QgsMapLayer * layer, const QgsFeature & feat )
-    {
-      duplicateFeatures( layer, feat );
-    }
-           );
+  QgsGui::mapLayerActionRegistry()->addMapLayerAction( mDuplicateFeatureAction.get() );
+  connect( mDuplicateFeatureAction.get(), &QgsMapLayerAction::triggeredForFeature, this, [this]( QgsMapLayer * layer, const QgsFeature & feat )
+  {
+    duplicateFeatures( layer, feat );
+  }
+         );
 
-    mDuplicateFeatureDigitizeAction.reset( new QgsMapLayerAction( tr( "Duplicate feature and digitize" ),
-                                           nullptr, QgsMapLayerAction::SingleFeature,
-                                           QgsApplication::getThemeIcon( QStringLiteral( "/mActionDuplicateFeatureDigitized.svg" ) ) ) );
+  mDuplicateFeatureDigitizeAction.reset( new QgsMapLayerAction( tr( "Duplicate feature and digitize" ),
+                                         nullptr, QgsMapLayerAction::SingleFeature,
+                                         QgsApplication::getThemeIcon( QStringLiteral( "/mActionDuplicateFeatureDigitized.svg" ) ), QgsMapLayerAction::EnabledOnlyWhenEditable ) );
 
-    QgsGui::mapLayerActionRegistry()->addMapLayerAction( mDuplicateFeatureDigitizeAction.get() );
-    connect( mDuplicateFeatureDigitizeAction.get(), &QgsMapLayerAction::triggeredForFeature, this, [this]( QgsMapLayer * layer, const QgsFeature & feat )
-    {
-      duplicateFeatureDigitized( layer, feat );
-    }
-           );
+  QgsGui::mapLayerActionRegistry()->addMapLayerAction( mDuplicateFeatureDigitizeAction.get() );
+  connect( mDuplicateFeatureDigitizeAction.get(), &QgsMapLayerAction::triggeredForFeature, this, [this]( QgsMapLayer * layer, const QgsFeature & feat )
+  {
+    duplicateFeatureDigitized( layer, feat );
   }
+         );
 }
 
 void QgisApp::setupAtlasMapLayerAction( QgsPrintLayout *layout, bool enableAction )
@@ -9165,7 +9167,7 @@ void QgisApp::duplicateLayers( const QList<QgsMapLayer *> &lyrList )
   QString layerDupName, unSppType;
   QList<QgsMessageBarItem *> msgBars;
 
-  Q_FOREACH ( QgsMapLayer *selectedLyr, selectedLyrs )
+  for ( QgsMapLayer *selectedLyr : selectedLyrs )
   {
     dupLayer = nullptr;
     unSppType.clear();
@@ -9229,6 +9231,8 @@ void QgisApp::duplicateLayers( const QList<QgsMapLayer *> &lyrList )
       continue;
     }
 
+    dupLayer->setName( layerDupName );
+
     // add layer to layer registry and legend
     QList<QgsMapLayer *> myList;
     myList << dupLayer;
@@ -9263,7 +9267,7 @@ void QgisApp::duplicateLayers( const QList<QgsMapLayer *> &lyrList )
   freezeCanvases( false );
 
   // display errors in message bar after duplication of layers
-  Q_FOREACH ( QgsMessageBarItem *msgBar, msgBars )
+  for ( QgsMessageBarItem *msgBar : qgis::as_const( msgBars ) )
   {
     mInfoBar->pushItem( msgBar );
   }
@@ -13204,7 +13208,13 @@ QgsFeature QgisApp::duplicateFeatures( QgsMapLayer *mlayer, const QgsFeature &fe
 
   QgsVectorLayer *layer = qobject_cast<QgsVectorLayer *>( mlayer );
 
-  layer->startEditing();
+  if ( !layer->isEditable() )
+  {
+    //should never happen because the action should be disabled
+    QString msg = tr( "Cannot duplicate feature in not editable mode on layer %1" ).arg( layer->name() );
+    messageBar()->pushMessage( msg, Qgis::Warning, 3 );
+    return QgsFeature();
+  }
 
   QgsFeatureList featureList;
 
@@ -13252,7 +13262,13 @@ QgsFeature QgisApp::duplicateFeatureDigitized( QgsMapLayer *mlayer, const QgsFea
 
   QgsVectorLayer *layer = qobject_cast<QgsVectorLayer *>( mlayer );
 
-  layer->startEditing();
+  if ( !layer->isEditable() )
+  {
+    //should never happen because the action should be disabled
+    QString msg = tr( "Cannot duplicate feature in not editable mode on layer %1" ).arg( layer->name() );
+    messageBar()->pushMessage( msg, Qgis::Warning, 3 );
+    return QgsFeature();
+  }
 
   QgsMapToolDigitizeFeature *digitizeFeature = new QgsMapToolDigitizeFeature( mMapCanvas, mlayer, QgsMapToolCapture::CaptureNone );
 
diff --git a/src/app/qgsattributeactiondialog.cpp b/src/app/qgsattributeactiondialog.cpp
index 6b09566..a979a10 100644
--- a/src/app/qgsattributeactiondialog.cpp
+++ b/src/app/qgsattributeactiondialog.cpp
@@ -148,13 +148,19 @@ void QgsAttributeActionDialog::insertRow( int row, const QgsAction &action )
   // Notification message
   mAttributeActionTable->setItem( row, NotificationMessage, new QTableWidgetItem( action.notificationMessage() ) );
 
+  // EnabledOnlyWhenEditable
+  item = new QTableWidgetItem();
+  item->setFlags( item->flags() & ~( Qt::ItemIsEditable ) );
+  item->setCheckState( action.isEnabledOnlyWhenEditable() ? Qt::Checked : Qt::Unchecked );
+  mAttributeActionTable->setItem( row, EnabledOnlyWhenEditable, item );
+
   updateButtons();
 }
 
-void QgsAttributeActionDialog::insertRow( int row, QgsAction::ActionType type, const QString &name, const QString &actionText, const QString &iconPath, bool capture, const QString &shortTitle, const QSet<QString> &actionScopes, const QString &notificationMessage )
+void QgsAttributeActionDialog::insertRow( int row, QgsAction::ActionType type, const QString &name, const QString &actionText, const QString &iconPath, bool capture, const QString &shortTitle, const QSet<QString> &actionScopes, const QString &notificationMessage, bool isEnabledOnlyWhenEditable )
 {
   if ( uniqueName( name ) == name )
-    insertRow( row, QgsAction( type, name, actionText, iconPath, capture, shortTitle, actionScopes, notificationMessage ) );
+    insertRow( row, QgsAction( type, name, actionText, iconPath, capture, shortTitle, actionScopes, notificationMessage, isEnabledOnlyWhenEditable ) );
 }
 
 void QgsAttributeActionDialog::moveUp()
@@ -223,7 +229,8 @@ QgsAction QgsAttributeActionDialog::rowToAction( int row ) const
                     mAttributeActionTable->item( row, Capture )->checkState() == Qt::Checked,
                     mAttributeActionTable->item( row, ShortTitle )->text(),
                     mAttributeActionTable->item( row, ActionScopes )->data( Qt::UserRole ).value<QSet<QString>>(),
-                    mAttributeActionTable->item( row, NotificationMessage )->text()
+                    mAttributeActionTable->item( row, NotificationMessage )->text(),
+                    mAttributeActionTable->item( row, EnabledOnlyWhenEditable )->checkState() == Qt::Checked
                   );
   return action;
 }
@@ -278,7 +285,7 @@ void QgsAttributeActionDialog::insert()
   {
     QString name = uniqueName( dlg.description() );
 
-    insertRow( pos, dlg.type(), name, dlg.actionText(), dlg.iconPath(), dlg.capture(), dlg.shortTitle(), dlg.actionScopes(), dlg.notificationMessage() );
+    insertRow( pos, dlg.type(), name, dlg.actionText(), dlg.iconPath(), dlg.capture(), dlg.shortTitle(), dlg.actionScopes(), dlg.notificationMessage(), dlg.isEnabledOnlyWhenEditable() );
   }
 }
 
@@ -313,7 +320,7 @@ void QgsAttributeActionDialog::addDefaultActions()
   insertRow( pos++, QgsAction::OpenUrl, tr( "Open file" ), QStringLiteral( "[% \"PATH\" %]" ), QLatin1String( "" ), false, tr( "Open file" ), QSet<QString>() << QStringLiteral( "Feature" ) << QStringLiteral( "Canvas" ), QString() );
   insertRow( pos++, QgsAction::OpenUrl, tr( "Search on web based on attribute's value" ), QStringLiteral( "http://www.google.com/search?q=[% \"ATTRIBUTE\" %]" ), QLatin1String( "" ), false, tr( "Search Web" ), QSet<QString>() << QStringLiteral( "Field" ), QString() );
   insertRow( pos++, QgsAction::GenericPython, tr( "List feature ids" ), QStringLiteral( "from qgis.PyQt import QtWidgets\n\nlayer = QgsProject.instance().mapLayer('[% @layer_id %]')\nif layer.selectedFeatureCount():\n    ids = layer.selectedFeatureIds()\nelse:\n    ids = [f.id() for f in layer.getFeatures()]\n\nQtWidgets.QMessageBox.information(None, \"Feature ids\", ', '.join([str(id) for id in ids]))" ), QLatin1String( "" ), false, tr( "List feature ids" ), QSet<QString>() << QStringLi [...]
-  insertRow( pos++, QgsAction::GenericPython, tr( "Duplicate selected features" ), QStringLiteral( "project = QgsProject.instance()\nlayer = QgsProject.instance().mapLayer('[% @layer_id %]')\nlayer.startEditing()\nfeatures=[]\nif len('[% $id %]')>0:\n    features.append( layer.getFeature( [% $id %] ) )\nelse:\n    for x in layer.selectedFeatures():\n        features.append( x )\nfeature_count=0\nchildren_info=''\nfeatureids=[]\nfor f in features:\n    result=QgsVectorLayerUtils.duplicate [...]
+  insertRow( pos++, QgsAction::GenericPython, tr( "Duplicate selected features" ), QStringLiteral( "project = QgsProject.instance()\nlayer = QgsProject.instance().mapLayer('[% @layer_id %]')\nif not layer.isEditable():\n    qgis.utils.iface.messageBar().pushMessage( 'Cannot duplicate feature in not editable mode on layer {layer}'.format( layer=layer.name() ) )\nelse:\n    features=[]\n    if len('[% $id %]')>0:\n        features.append( layer.getFeature( [% $id %] ) )\n    else:\n        [...]
 
 }
 
@@ -330,6 +337,7 @@ void QgsAttributeActionDialog::itemDoubleClicked( QTableWidgetItem *item )
     mAttributeActionTable->item( row, Capture )->checkState() == Qt::Checked,
     mAttributeActionTable->item( row, ActionScopes )->data( Qt::UserRole ).value<QSet<QString>>(),
     mAttributeActionTable->item( row, NotificationMessage )->text(),
+    mAttributeActionTable->item( row, EnabledOnlyWhenEditable )->checkState() == Qt::Checked,
     mLayer
   );
 
@@ -344,6 +352,7 @@ void QgsAttributeActionDialog::itemDoubleClicked( QTableWidgetItem *item )
     mAttributeActionTable->item( row, ActionText )->setText( actionProperties.actionText() );
     mAttributeActionTable->item( row, Capture )->setCheckState( actionProperties.capture() ? Qt::Checked : Qt::Unchecked );
     mAttributeActionTable->item( row, NotificationMessage )->setText( actionProperties.notificationMessage() );
+    mAttributeActionTable->item( row, EnabledOnlyWhenEditable )->setCheckState( actionProperties.isEnabledOnlyWhenEditable() ? Qt::Checked : Qt::Unchecked );
 
     QTableWidgetItem *item = mAttributeActionTable->item( row, ActionScopes );
     QStringList actionScopes = actionProperties.actionScopes().toList();
diff --git a/src/app/qgsattributeactiondialog.h b/src/app/qgsattributeactiondialog.h
index 7253932..6a53134 100644
--- a/src/app/qgsattributeactiondialog.h
+++ b/src/app/qgsattributeactiondialog.h
@@ -44,7 +44,8 @@ class APP_EXPORT QgsAttributeActionDialog: public QWidget, private Ui::QgsAttrib
       ActionText,
       Capture,
       ActionScopes,
-      NotificationMessage
+      NotificationMessage,
+      EnabledOnlyWhenEditable
     };
 
   public:
@@ -70,7 +71,7 @@ class APP_EXPORT QgsAttributeActionDialog: public QWidget, private Ui::QgsAttrib
 
   private:
     void insertRow( int row, const QgsAction &action );
-    void insertRow( int row, QgsAction::ActionType type, const QString &name, const QString &actionText, const QString &iconPath, bool capture, const QString &shortTitle, const QSet<QString> &actionScopes, const QString &notificationMessage );
+    void insertRow( int row, QgsAction::ActionType type, const QString &name, const QString &actionText, const QString &iconPath, bool capture, const QString &shortTitle, const QSet<QString> &actionScopes, const QString &notificationMessage, const bool isEnabledOnlyWhenEditable = false );
     void swapRows( int row1, int row2 );
     QgsAction rowToAction( int row ) const;
 
diff --git a/src/app/qgsattributeactionpropertiesdialog.cpp b/src/app/qgsattributeactionpropertiesdialog.cpp
index 6c55c6f..653afb8 100644
--- a/src/app/qgsattributeactionpropertiesdialog.cpp
+++ b/src/app/qgsattributeactionpropertiesdialog.cpp
@@ -31,7 +31,7 @@
 #include <QFileDialog>
 #include <QImageWriter>
 
-QgsAttributeActionPropertiesDialog::QgsAttributeActionPropertiesDialog( QgsAction::ActionType type, const QString &description, const QString &shortTitle, const QString &iconPath, const QString &actionText, bool capture, const QSet<QString> &actionScopes, const QString &notificationMessage, QgsVectorLayer *layer, QWidget *parent )
+QgsAttributeActionPropertiesDialog::QgsAttributeActionPropertiesDialog( QgsAction::ActionType type, const QString &description, const QString &shortTitle, const QString &iconPath, const QString &actionText, bool capture, const QSet<QString> &actionScopes, const QString &notificationMessage, bool isEnabledOnlyWhenEditable, QgsVectorLayer *layer, QWidget *parent )
   : QDialog( parent )
   , mLayer( layer )
 {
@@ -45,6 +45,7 @@ QgsAttributeActionPropertiesDialog::QgsAttributeActionPropertiesDialog( QgsActio
   mActionText->setText( actionText );
   mCaptureOutput->setChecked( capture );
   mNotificationMessage->setText( notificationMessage );
+  mIsEnabledOnlyWhenEditable->setChecked( isEnabledOnlyWhenEditable );
 
   init( actionScopes );
 }
@@ -107,6 +108,10 @@ QString QgsAttributeActionPropertiesDialog::notificationMessage() const
   return mNotificationMessage->text();
 }
 
+bool QgsAttributeActionPropertiesDialog::isEnabledOnlyWhenEditable() const
+{
+  return mIsEnabledOnlyWhenEditable->isChecked();
+}
 
 bool QgsAttributeActionPropertiesDialog::capture() const
 {
diff --git a/src/app/qgsattributeactionpropertiesdialog.h b/src/app/qgsattributeactionpropertiesdialog.h
index 6872980..35d0509 100644
--- a/src/app/qgsattributeactionpropertiesdialog.h
+++ b/src/app/qgsattributeactionpropertiesdialog.h
@@ -28,7 +28,7 @@ class QgsAttributeActionPropertiesDialog: public QDialog, private Ui::QgsAttribu
     Q_OBJECT
 
   public:
-    QgsAttributeActionPropertiesDialog( QgsAction::ActionType type, const QString &description, const QString &shortTitle, const QString &iconPath, const QString &actionText, bool capture, const QSet<QString> &actionScopes, const QString &notificationMessage, QgsVectorLayer *layer, QWidget *parent = nullptr );
+    QgsAttributeActionPropertiesDialog( QgsAction::ActionType type, const QString &description, const QString &shortTitle, const QString &iconPath, const QString &actionText, bool capture, const QSet<QString> &actionScopes, const QString &notificationMessage, bool isEnabledOnlyWhenEditable, QgsVectorLayer *layer, QWidget *parent = nullptr );
 
     QgsAttributeActionPropertiesDialog( QgsVectorLayer *layer, QWidget *parent = nullptr );
 
@@ -46,6 +46,8 @@ class QgsAttributeActionPropertiesDialog: public QDialog, private Ui::QgsAttribu
 
     QString notificationMessage() const;
 
+    bool isEnabledOnlyWhenEditable() const;
+
     bool capture() const;
 
     QgsExpressionContext createExpressionContext() const override;
diff --git a/src/app/qgsattributetabledialog.cpp b/src/app/qgsattributetabledialog.cpp
index 2b77e5b..f40c1cd 100644
--- a/src/app/qgsattributetabledialog.cpp
+++ b/src/app/qgsattributetabledialog.cpp
@@ -333,25 +333,6 @@ QgsAttributeTableDialog::QgsAttributeTableDialog( QgsVectorLayer *layer, QgsAttr
       mActionSearchForm->setToolTip( tr( "Search is not supported when using custom UI forms" ) );
     }
 
-    QList<QgsAction> actions = mLayer->actions()->actions( QStringLiteral( "Layer" ) );
-
-    if ( actions.isEmpty() )
-    {
-      mActionFeatureActions->setVisible( false );
-    }
-    else
-    {
-      QMenu *actionMenu = new QMenu();
-      Q_FOREACH ( const QgsAction &action, actions )
-      {
-        QAction *qAction = actionMenu->addAction( action.icon(), action.shortTitle() );
-        qAction->setToolTip( action.name() );
-        qAction->setData( QVariant::fromValue<QgsAction>( action ) );
-        connect( qAction, &QAction::triggered, this, &QgsAttributeTableDialog::layerActionTriggered );
-      }
-      mActionFeatureActions->setMenu( actionMenu );
-    }
-
     editingToggled();
     // Close and delete if the layer has been destroyed
     connect( mLayer, &QObject::destroyed, this, &QWidget::close );
@@ -857,6 +838,29 @@ void QgsAttributeTableDialog::editingToggled()
   }
   // not necessary to set table read only if layer is not editable
   // because model always reflects actual state when returning item flags
+
+  QList<QgsAction> actions = mLayer->actions()->actions( QStringLiteral( "Layer" ) );
+
+  if ( actions.isEmpty() )
+  {
+    mActionFeatureActions->setVisible( false );
+  }
+  else
+  {
+    QMenu *actionMenu = new QMenu();
+    Q_FOREACH ( const QgsAction &action, actions )
+    {
+      if ( !mLayer->isEditable() && action.isEnabledOnlyWhenEditable() )
+        continue;
+
+      QAction *qAction = actionMenu->addAction( action.icon(), action.shortTitle() );
+      qAction->setToolTip( action.name() );
+      qAction->setData( QVariant::fromValue<QgsAction>( action ) );
+      connect( qAction, &QAction::triggered, this, &QgsAttributeTableDialog::layerActionTriggered );
+    }
+    mActionFeatureActions->setMenu( actionMenu );
+  }
+
 }
 
 void QgsAttributeTableDialog::mActionAddAttribute_triggered()
diff --git a/src/app/qgsclipboard.cpp b/src/app/qgsclipboard.cpp
index cf02b2b..b5d09bf 100644
--- a/src/app/qgsclipboard.cpp
+++ b/src/app/qgsclipboard.cpp
@@ -76,7 +76,7 @@ void QgsClipboard::replaceWithCopyOf( QgsFeatureStore &featureStore )
 
 QString QgsClipboard::generateClipboardText() const
 {
-  CopyFormat format = QgsSettings().enumSettingValue( QStringLiteral( "qgis/copyFeatureFormat" ),  AttributesWithWKT );
+  CopyFormat format = QgsSettings().enumValue( QStringLiteral( "qgis/copyFeatureFormat" ),  AttributesWithWKT );
 
   switch ( format )
   {
@@ -155,7 +155,7 @@ void QgsClipboard::setSystemClipboard()
 
   if ( mFeatureClipboard.count() < 1000 )
   {
-    CopyFormat format = QgsSettings().enumSettingValue( QStringLiteral( "qgis/copyFeatureFormat" ), AttributesWithWKT );
+    CopyFormat format = QgsSettings().enumValue( QStringLiteral( "qgis/copyFeatureFormat" ), AttributesWithWKT );
 
     QString htmlCopy;
     switch ( format )
diff --git a/src/app/qgsfeatureaction.cpp b/src/app/qgsfeatureaction.cpp
index 59e6489..ea2ea5b 100644
--- a/src/app/qgsfeatureaction.cpp
+++ b/src/app/qgsfeatureaction.cpp
@@ -82,6 +82,9 @@ QgsAttributeDialog *QgsFeatureAction::newDialog( bool cloneFeature )
       if ( !action.runable() )
         continue;
 
+      if ( !mLayer->isEditable() && action.isEnabledOnlyWhenEditable() )
+        continue;
+
       QgsFeature &feat = const_cast<QgsFeature &>( *dialog->feature() );
       QgsFeatureAction *a = new QgsFeatureAction( action.name(), feat, mLayer, action.id(), -1, dialog );
       dialog->addAction( a );
diff --git a/src/app/qgsidentifyresultsdialog.cpp b/src/app/qgsidentifyresultsdialog.cpp
index 0f551b3..e98f13f 100644
--- a/src/app/qgsidentifyresultsdialog.cpp
+++ b/src/app/qgsidentifyresultsdialog.cpp
@@ -511,6 +511,9 @@ void QgsIdentifyResultsDialog::addFeature( QgsVectorLayer *vlayer, const QgsFeat
       if ( !action.runable() )
         continue;
 
+      if ( action.isEnabledOnlyWhenEditable() )
+        continue;
+
       QTreeWidgetItem *twi = new QTreeWidgetItem( QStringList() << QLatin1String( "" ) << action.name() );
       twi->setIcon( 0, QgsApplication::getThemeIcon( QStringLiteral( "/mAction.svg" ) ) );
       twi->setData( 0, Qt::UserRole, "action" );
@@ -521,6 +524,9 @@ void QgsIdentifyResultsDialog::addFeature( QgsVectorLayer *vlayer, const QgsFeat
     //add actions from QgsMapLayerActionRegistry
     for ( int i = 0; i < registeredActions.size(); i++ )
     {
+      if ( registeredActions.at( i )->isEnabledOnlyWhenEditable() )
+        continue;
+
       QgsMapLayerAction *action = registeredActions.at( i );
       QTreeWidgetItem *twi = new QTreeWidgetItem( QStringList() << QLatin1String( "" ) << action->text() );
       twi->setIcon( 0, QgsApplication::getThemeIcon( QStringLiteral( "/mAction.svg" ) ) );
@@ -1092,6 +1098,9 @@ void QgsIdentifyResultsDialog::contextMenuEvent( QContextMenuEvent *event )
         if ( !action.runable() )
           continue;
 
+        if ( action.isEnabledOnlyWhenEditable() )
+          continue;
+
         QgsFeatureAction *a = new QgsFeatureAction( action.name(), mFeatures[ featIdx ], vlayer, action.id(), idx, this );
         mActionPopup->addAction( QgsApplication::getThemeIcon( QStringLiteral( "/mAction.svg" ) ), action.name(), a, SLOT( execute() ) );
       }
@@ -1110,9 +1119,12 @@ void QgsIdentifyResultsDialog::contextMenuEvent( QContextMenuEvent *event )
 
       int featIdx = featItem->data( 0, Qt::UserRole + 1 ).toInt();
 
-      QList<QgsMapLayerAction *>::iterator actionIt;
+      QList<QgsMapLayerAction *>::const_iterator actionIt;
       for ( actionIt = registeredActions.begin(); actionIt != registeredActions.end(); ++actionIt )
       {
+        if ( ( *actionIt )->isEnabledOnlyWhenEditable() )
+          continue;
+
         QgsIdentifyResultsDialogMapLayerAction *a = new QgsIdentifyResultsDialogMapLayerAction( ( *actionIt )->text(), this, ( *actionIt ), vlayer, &( mFeatures[ featIdx ] ) );
         mActionPopup->addAction( QgsApplication::getThemeIcon( QStringLiteral( "/mAction.svg" ) ), ( *actionIt )->text(), a, SLOT( execute() ) );
       }
diff --git a/src/app/qgsmaptooloffsetcurve.cpp b/src/app/qgsmaptooloffsetcurve.cpp
index a338c6c..992b54f 100644
--- a/src/app/qgsmaptooloffsetcurve.cpp
+++ b/src/app/qgsmaptooloffsetcurve.cpp
@@ -580,10 +580,10 @@ void QgsMapToolOffsetCurve::updateGeometryAndRubberBand( double offset )
 
   QgsGeometry offsetGeom;
   QgsSettings s;
-  QgsGeometry::JoinStyle joinStyle = s.enumSettingValue( QStringLiteral( "/qgis/digitizing/offset_join_style" ),  QgsGeometry::JoinStyleRound );
+  QgsGeometry::JoinStyle joinStyle = s.enumValue( QStringLiteral( "/qgis/digitizing/offset_join_style" ),  QgsGeometry::JoinStyleRound );
   int quadSegments = s.value( QStringLiteral( "/qgis/digitizing/offset_quad_seg" ), 8 ).toInt();
   double miterLimit = s.value( QStringLiteral( "/qgis/digitizing/offset_miter_limit" ), 5.0 ).toDouble();
-  QgsGeometry::EndCapStyle capStyle = s.enumSettingValue( QStringLiteral( "/qgis/digitizing/offset_cap_style" ),  QgsGeometry::CapRound );
+  QgsGeometry::EndCapStyle capStyle = s.enumValue( QStringLiteral( "/qgis/digitizing/offset_cap_style" ),  QgsGeometry::CapRound );
 
 
   if ( QgsWkbTypes::geometryType( mOriginalGeometry.wkbType() ) == QgsWkbTypes::LineGeometry )
@@ -631,10 +631,10 @@ QgsOffsetUserWidget::QgsOffsetUserWidget( QWidget *parent )
   mCapStyleComboBox->addItem( tr( "Square" ), QgsGeometry::CapSquare );
 
   QgsSettings s;
-  QgsGeometry::JoinStyle joinStyle = s.enumSettingValue( QStringLiteral( "/qgis/digitizing/offset_join_style" ),  QgsGeometry::JoinStyleRound );
+  QgsGeometry::JoinStyle joinStyle = s.enumValue( QStringLiteral( "/qgis/digitizing/offset_join_style" ),  QgsGeometry::JoinStyleRound );
   int quadSegments = s.value( QStringLiteral( "/qgis/digitizing/offset_quad_seg" ), 8 ).toInt();
   double miterLimit = s.value( QStringLiteral( "/qgis/digitizing/offset_miter_limit" ), 5.0 ).toDouble();
-  QgsGeometry::EndCapStyle capStyle = s.enumSettingValue( QStringLiteral( "/qgis/digitizing/offset_cap_style" ),  QgsGeometry::CapRound );
+  QgsGeometry::EndCapStyle capStyle = s.enumValue( QStringLiteral( "/qgis/digitizing/offset_cap_style" ),  QgsGeometry::CapRound );
 
   mJoinStyleComboBox->setCurrentIndex( mJoinStyleComboBox->findData( joinStyle ) );
   mQuadrantSpinBox->setValue( quadSegments );
diff --git a/src/app/qgsmaptoolselectradius.cpp b/src/app/qgsmaptoolselectradius.cpp
index 0ce3dce..cb266ad 100644
--- a/src/app/qgsmaptoolselectradius.cpp
+++ b/src/app/qgsmaptoolselectradius.cpp
@@ -124,9 +124,7 @@ void QgsMapToolSelectRadius::canvasMoveEvent( QgsMapMouseEvent *e )
 
   if ( !mRubberBand )
   {
-    mRubberBand = qgis::make_unique< QgsRubberBand >( mCanvas, QgsWkbTypes::PolygonGeometry );
-    mRubberBand->setFillColor( mFillColor );
-    mRubberBand->setStrokeColor( mStrokeColor );
+    createRubberBand();
   }
 
   updateRadiusFromEdge( radiusEdge );
@@ -156,9 +154,7 @@ void QgsMapToolSelectRadius::canvasReleaseEvent( QgsMapMouseEvent *e )
   {
     if ( !mRubberBand )
     {
-      mRubberBand = qgis::make_unique< QgsRubberBand >( mCanvas, QgsWkbTypes::PolygonGeometry );
-      mRubberBand->setFillColor( mFillColor );
-      mRubberBand->setStrokeColor( mStrokeColor );
+      createRubberBand();
     }
     QgsPointXY radiusEdge = e->snapPoint();
     updateRadiusFromEdge( radiusEdge );
@@ -205,6 +201,9 @@ void QgsMapToolSelectRadius::keyReleaseEvent( QKeyEvent *e )
 
 void QgsMapToolSelectRadius::updateRubberband( const double &radius )
 {
+  if ( !mRubberBand )
+    createRubberBand();
+
   mRubberBand->reset( QgsWkbTypes::PolygonGeometry );
   for ( int i = 0; i <= RADIUS_SEGMENTS; ++i )
   {
@@ -262,6 +261,13 @@ void QgsMapToolSelectRadius::createRotationWidget()
   connect( mDistanceWidget, &QgsDistanceWidget::distanceEditingCanceled, this, &QgsMapToolSelectRadius::cancel );
 }
 
+void QgsMapToolSelectRadius::createRubberBand()
+{
+  mRubberBand = qgis::make_unique< QgsRubberBand >( mCanvas, QgsWkbTypes::PolygonGeometry );
+  mRubberBand->setFillColor( mFillColor );
+  mRubberBand->setStrokeColor( mStrokeColor );
+}
+
 void QgsMapToolSelectRadius::deleteRotationWidget()
 {
   if ( mDistanceWidget )
diff --git a/src/app/qgsmaptoolselectradius.h b/src/app/qgsmaptoolselectradius.h
index 2addacc..8f1624f 100644
--- a/src/app/qgsmaptoolselectradius.h
+++ b/src/app/qgsmaptoolselectradius.h
@@ -103,6 +103,8 @@ class APP_EXPORT QgsMapToolSelectRadius : public QgsMapTool
     void deleteRotationWidget();
     void createRotationWidget();
 
+    void createRubberBand();
+
     //! used for storing all of the maps point for the polygon
     std::unique_ptr< QgsRubberBand > mRubberBand;
     std::unique_ptr<QgsSnapIndicator> mSnapIndicator;
diff --git a/src/app/qgsmaptoolsimplify.cpp b/src/app/qgsmaptoolsimplify.cpp
index 18bfbb3..84e3faa 100644
--- a/src/app/qgsmaptoolsimplify.cpp
+++ b/src/app/qgsmaptoolsimplify.cpp
@@ -73,7 +73,7 @@ QgsMapToolSimplify::QgsMapToolSimplify( QgsMapCanvas *canvas )
 {
   QgsSettings settings;
   mTolerance = settings.value( QStringLiteral( "digitizing/simplify_tolerance" ), 1 ).toDouble();
-  mToleranceUnits = settings.enumSettingValue( QStringLiteral( "digitizing/simplify_tolerance_units" ), QgsTolerance::LayerUnits );
+  mToleranceUnits = settings.enumValue( QStringLiteral( "digitizing/simplify_tolerance_units" ), QgsTolerance::LayerUnits );
 
   mSimplifyDialog = new QgsSimplifyDialog( this, canvas->topLevelWidget() );
 }
diff --git a/src/app/qgsoptions.cpp b/src/app/qgsoptions.cpp
index b3619ce..03d65ed 100644
--- a/src/app/qgsoptions.cpp
+++ b/src/app/qgsoptions.cpp
@@ -388,7 +388,7 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList<QgsOpti
   cmbAttrTableBehavior->addItem( tr( "Show all features" ), QgsAttributeTableFilterModel::ShowAll );
   cmbAttrTableBehavior->addItem( tr( "Show selected features" ), QgsAttributeTableFilterModel::ShowSelected );
   cmbAttrTableBehavior->addItem( tr( "Show features visible on map" ), QgsAttributeTableFilterModel::ShowVisible );
-  cmbAttrTableBehavior->setCurrentIndex( cmbAttrTableBehavior->findData( mSettings->enumSettingValue( QStringLiteral( "/qgis/attributeTableBehavior" ), QgsAttributeTableFilterModel::ShowAll ) ) );
+  cmbAttrTableBehavior->setCurrentIndex( cmbAttrTableBehavior->findData( mSettings->enumValue( QStringLiteral( "/qgis/attributeTableBehavior" ), QgsAttributeTableFilterModel::ShowAll ) ) );
 
   mAttrTableViewComboBox->clear();
   mAttrTableViewComboBox->addItem( tr( "Remember last view" ), -1 );
@@ -576,7 +576,7 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList<QgsOpti
   spinMaxThreads->setValue( QgsApplication::maxThreads() );
 
   // Default simplify drawing configuration
-  mSimplifyDrawingGroupBox->setChecked( mSettings->enumSettingValue( QStringLiteral( "/qgis/simplifyDrawingHints" ), QgsVectorSimplifyMethod::GeometrySimplification ) != QgsVectorSimplifyMethod::NoSimplification );
+  mSimplifyDrawingGroupBox->setChecked( mSettings->enumValue( QStringLiteral( "/qgis/simplifyDrawingHints" ), QgsVectorSimplifyMethod::GeometrySimplification ) != QgsVectorSimplifyMethod::NoSimplification );
   mSimplifyDrawingSpinBox->setValue( mSettings->value( QStringLiteral( "/qgis/simplifyDrawingTol" ), Qgis::DEFAULT_MAPTOPIXEL_THRESHOLD ).toFloat() );
   mSimplifyDrawingAtProvider->setChecked( !mSettings->value( QStringLiteral( "/qgis/simplifyLocal" ), true ).toBool() );
 
@@ -870,7 +870,7 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList<QgsOpti
   mDefaultSnapModeComboBox->setCurrentIndex( mDefaultSnapModeComboBox->findData( mSettings->value( QStringLiteral( "/qgis/digitizing/default_snap_type" ), QgsSnappingConfig::Vertex ).toInt() ) );
   mDefaultSnappingToleranceSpinBox->setValue( mSettings->value( QStringLiteral( "/qgis/digitizing/default_snapping_tolerance" ), Qgis::DEFAULT_SNAP_TOLERANCE ).toDouble() );
   mSearchRadiusVertexEditSpinBox->setValue( mSettings->value( QStringLiteral( "/qgis/digitizing/search_radius_vertex_edit" ), 10 ).toDouble() );
-  QgsTolerance::UnitType defSnapUnits = mSettings->enumSettingValue( QStringLiteral( "/qgis/digitizing/default_snapping_tolerance_unit" ), Qgis::DEFAULT_SNAP_UNITS );
+  QgsTolerance::UnitType defSnapUnits = mSettings->enumValue( QStringLiteral( "/qgis/digitizing/default_snapping_tolerance_unit" ), Qgis::DEFAULT_SNAP_UNITS );
   if ( defSnapUnits == QgsTolerance::ProjectUnits || defSnapUnits == QgsTolerance::LayerUnits )
   {
     index = mDefaultSnappingToleranceComboBox->findText( tr( "map units" ) );
@@ -2164,11 +2164,11 @@ void QgsOptions::initContrastEnhancement( QComboBox *cbox, const QString &name,
   //add items to the color enhanceContrast combo boxes
   cbox->addItem( tr( "No Stretch" ),
                  QgsContrastEnhancement::contrastEnhancementAlgorithmString( QgsContrastEnhancement::NoEnhancement ) );
-  cbox->addItem( tr( "Stretch To MinMax" ),
+  cbox->addItem( tr( "Stretch to MinMax" ),
                  QgsContrastEnhancement::contrastEnhancementAlgorithmString( QgsContrastEnhancement::StretchToMinimumMaximum ) );
-  cbox->addItem( tr( "Stretch And Clip To MinMax" ),
+  cbox->addItem( tr( "Stretch and Clip to MinMax" ),
                  QgsContrastEnhancement::contrastEnhancementAlgorithmString( QgsContrastEnhancement::StretchAndClipToMinimumMaximum ) );
-  cbox->addItem( tr( "Clip To MinMax" ),
+  cbox->addItem( tr( "Clip to MinMax" ),
                  QgsContrastEnhancement::contrastEnhancementAlgorithmString( QgsContrastEnhancement::ClipToMinimumMaximum ) );
 
   QString contrastEnhancement = mSettings->value( "/Raster/defaultContrastEnhancementAlgorithm/" + name, defaultVal ).toString();
diff --git a/src/app/qgsrastercalcdialog.cpp b/src/app/qgsrastercalcdialog.cpp
index b0c5818..4f5caec 100644
--- a/src/app/qgsrastercalcdialog.cpp
+++ b/src/app/qgsrastercalcdialog.cpp
@@ -77,6 +77,7 @@ QgsRasterCalcDialog::QgsRasterCalcDialog( QgsRasterLayer *rasterLayer, QWidget *
   mExpressionTextEdit->setCurrentFont( QFontDatabase::systemFont( QFontDatabase::FixedFont ) );
 
   QgsSettings settings;
+  mOutputLayer->setStorageMode( QgsFileWidget::SaveFile );
   mOutputLayer->setDialogTitle( tr( "Enter result file" ) );
   mOutputLayer->setDefaultRoot( settings.value( QStringLiteral( "/RasterCalculator/lastOutputDir" ), QDir::homePath() ).toString() );
   connect( mOutputLayer, &QgsFileWidget::fileChanged, this, [ = ]() { setAcceptButtonState(); } );
diff --git a/src/app/qgssnappingwidget.cpp b/src/app/qgssnappingwidget.cpp
index 411db85..ff5b916 100644
--- a/src/app/qgssnappingwidget.cpp
+++ b/src/app/qgssnappingwidget.cpp
@@ -89,10 +89,10 @@ QgsSnappingWidget::QgsSnappingWidget( QgsProject *project, QgsMapCanvas *canvas,
   mLayerTreeView->resizeColumnToContents( 0 );
 
   // enable button
-  mEnabledAction = new QAction( tr( "Toggle snapping" ), this );
+  mEnabledAction = new QAction( tr( "Toggle Snapping" ), this );
   mEnabledAction->setCheckable( true );
   mEnabledAction->setIcon( QIcon( QgsApplication::getThemeIcon( "/mIconSnapping.svg" ) ) );
-  mEnabledAction->setToolTip( tr( "toggle snapping (S)" ) );
+  mEnabledAction->setToolTip( tr( "Enable Snapping (S)" ) );
   mEnabledAction->setShortcut( tr( "S", "Keyboard shortcut: toggle snapping" ) );
   mEnabledAction->setObjectName( QStringLiteral( "EnableSnappingAction" ) );
   connect( mEnabledAction, &QAction::toggled, this, &QgsSnappingWidget::enableSnapping );
@@ -111,7 +111,7 @@ QgsSnappingWidget::QgsSnappingWidget( QgsProject *project, QgsMapCanvas *canvas,
   if ( mDisplayMode == ToolBar )
   {
     modeMenu->addSeparator();
-    QAction *openDialogAction = new QAction( tr( "Open snapping options" ), modeMenu );
+    QAction *openDialogAction = new QAction( tr( "Open Snapping Options…" ), modeMenu );
     connect( openDialogAction, &QAction::triggered, QgisApp::instance(), &QgisApp::snappingOptions );
     modeMenu->addAction( openDialogAction );
   }
@@ -159,7 +159,7 @@ QgsSnappingWidget::QgsSnappingWidget( QgsProject *project, QgsMapCanvas *canvas,
   connect( mUnitsComboBox, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsSnappingWidget::changeUnit );
 
   // topological editing button
-  mTopologicalEditingAction = new QAction( tr( "Topological editing" ), this );
+  mTopologicalEditingAction = new QAction( tr( "Topological Editing" ), this );
   mTopologicalEditingAction->setCheckable( true );
   mTopologicalEditingAction->setIcon( QIcon( QgsApplication::getThemeIcon( "/mIconTopologicalEditing.svg" ) ) );
   mTopologicalEditingAction->setToolTip( tr( "Enable Topological Editing" ) );
@@ -167,7 +167,7 @@ QgsSnappingWidget::QgsSnappingWidget( QgsProject *project, QgsMapCanvas *canvas,
   connect( mTopologicalEditingAction, &QAction::toggled, this, &QgsSnappingWidget::enableTopologicalEditing );
 
   // snapping on intersection button
-  mIntersectionSnappingAction = new QAction( tr( "Snapping on intersection" ), this );
+  mIntersectionSnappingAction = new QAction( tr( "Snapping on Intersection" ), this );
   mIntersectionSnappingAction->setCheckable( true );
   mIntersectionSnappingAction->setIcon( QIcon( QgsApplication::getThemeIcon( "/mIconSnappingIntersection.svg" ) ) );
   mIntersectionSnappingAction->setToolTip( tr( "Enable Snapping on Intersection" ) );
@@ -175,7 +175,7 @@ QgsSnappingWidget::QgsSnappingWidget( QgsProject *project, QgsMapCanvas *canvas,
   connect( mIntersectionSnappingAction, &QAction::toggled, this, &QgsSnappingWidget::enableIntersectionSnapping );
 
   // snapping on intersection button
-  mEnableTracingAction = new QAction( tr( "Enable tracing" ), this );
+  mEnableTracingAction = new QAction( tr( "Enable Tracing" ), this );
   mEnableTracingAction->setCheckable( true );
   mEnableTracingAction->setIcon( QIcon( QgsApplication::getThemeIcon( "/mActionTracing.svg" ) ) );
   mEnableTracingAction->setToolTip( tr( "Enable Tracing (T)" ) );
diff --git a/src/app/qgsstatusbarcoordinateswidget.cpp b/src/app/qgsstatusbarcoordinateswidget.cpp
index 781d946..dbce420 100644
--- a/src/app/qgsstatusbarcoordinateswidget.cpp
+++ b/src/app/qgsstatusbarcoordinateswidget.cpp
@@ -35,6 +35,7 @@ QgsStatusBarCoordinatesWidget::QgsStatusBarCoordinatesWidget( QWidget *parent )
 {
   // calculate the size of two chars
   mTwoCharSize = fontMetrics().width( QStringLiteral( "OO" ) );
+  mMinimumWidth = mTwoCharSize * 4;
 
   // add a label to show current position
   mLabel = new QLabel( QString(), this );
@@ -225,7 +226,7 @@ void QgsStatusBarCoordinatesWidget::showMouseCoordinates( const QgsPointXY &p )
     return;
   }
 
-  mLineEdit->setText( QgsCoordinateUtils::formatCoordinateForProject( p, mMapCanvas->mapSettings().destinationCrs(),
+  mLineEdit->setText( QgsCoordinateUtils::formatCoordinateForProject( QgsProject::instance(), p, mMapCanvas->mapSettings().destinationCrs(),
                       mMousePrecisionDecimalPlaces ) );
 
   ensureCoordinatesVisible();
@@ -251,7 +252,7 @@ void QgsStatusBarCoordinatesWidget::ensureCoordinatesVisible()
 {
 
   //ensure the label is big (and small) enough
-  int width = mLineEdit->fontMetrics().width( mLineEdit->text() ) + 10;
+  int width = std::max( mLineEdit->fontMetrics().width( mLineEdit->text() ) + 10, mMinimumWidth );
   if ( mLineEdit->minimumWidth() < width || ( mLineEdit->minimumWidth() - width ) > mTwoCharSize )
   {
     mLineEdit->setMinimumWidth( width );
diff --git a/src/app/qgsstatusbarcoordinateswidget.h b/src/app/qgsstatusbarcoordinateswidget.h
index f745c8c..a877a1f 100644
--- a/src/app/qgsstatusbarcoordinateswidget.h
+++ b/src/app/qgsstatusbarcoordinateswidget.h
@@ -72,7 +72,8 @@ class APP_EXPORT QgsStatusBarCoordinatesWidget : public QWidget
     QValidator *mCoordsEditValidator = nullptr;
     QTimer *mDizzyTimer = nullptr;
     QgsMapCanvas *mMapCanvas = nullptr;
-    int mTwoCharSize;
+    int mTwoCharSize = 0;
+    int mMinimumWidth = 0;
 
     //! The number of decimal places to use if not automatic
     unsigned int mMousePrecisionDecimalPlaces;
diff --git a/src/core/auth/qgsauthcertutils.cpp b/src/core/auth/qgsauthcertutils.cpp
index c421aaa..adfed9f 100644
--- a/src/core/auth/qgsauthcertutils.cpp
+++ b/src/core/auth/qgsauthcertutils.cpp
@@ -1150,11 +1150,11 @@ QString QgsAuthCertUtils::sslErrorEnumString( QSslError::SslError errenum )
   switch ( errenum )
   {
     case QSslError::UnableToGetIssuerCertificate:
-      return QObject::tr( "Unable To Get Issuer Certificate" );
+      return QObject::tr( "Unable to Get Issuer Certificate" );
     case QSslError::UnableToDecryptCertificateSignature:
-      return QObject::tr( "Unable To Decrypt Certificate Signature" );
+      return QObject::tr( "Unable to Decrypt Certificate Signature" );
     case QSslError::UnableToDecodeIssuerPublicKey:
-      return QObject::tr( "Unable To Decode Issuer Public Key" );
+      return QObject::tr( "Unable to Decode Issuer Public Key" );
     case QSslError::CertificateSignatureFailed:
       return QObject::tr( "Certificate Signature Failed" );
     case QSslError::CertificateNotYetValid:
@@ -1170,9 +1170,9 @@ QString QgsAuthCertUtils::sslErrorEnumString( QSslError::SslError errenum )
     case QSslError::SelfSignedCertificateInChain:
       return QObject::tr( "Self-signed Certificate In Chain" );
     case QSslError::UnableToGetLocalIssuerCertificate:
-      return QObject::tr( "Unable To Get Local Issuer Certificate" );
+      return QObject::tr( "Unable to Get Local Issuer Certificate" );
     case QSslError::UnableToVerifyFirstCertificate:
-      return QObject::tr( "Unable To Verify First Certificate" );
+      return QObject::tr( "Unable to Verify First Certificate" );
     case QSslError::CertificateRevoked:
       return QObject::tr( "Certificate Revoked" );
     case QSslError::InvalidCaCertificate:
diff --git a/src/core/geometry/qgsgeometryeditutils.cpp b/src/core/geometry/qgsgeometryeditutils.cpp
index 788dcb5..b458cce 100644
--- a/src/core/geometry/qgsgeometryeditutils.cpp
+++ b/src/core/geometry/qgsgeometryeditutils.cpp
@@ -137,11 +137,13 @@ QgsGeometry::OperationResult QgsGeometryEditUtils::addPart( QgsAbstractGeometry
       poly->setExteriorRing( curve );
       added = geomCollection->addGeometry( poly.release() );
     }
-    else if ( QgsWkbTypes::flatType( part->wkbType() ) == QgsWkbTypes::Polygon )
+    else if ( QgsWkbTypes::flatType( part->wkbType() ) == QgsWkbTypes::Polygon
+              || QgsWkbTypes::flatType( part->wkbType() ) == QgsWkbTypes::CurvePolygon )
     {
       added = geomCollection->addGeometry( part.release() );
     }
-    else if ( QgsWkbTypes::flatType( part->wkbType() ) == QgsWkbTypes::MultiPolygon )
+    else if ( QgsWkbTypes::flatType( part->wkbType() ) == QgsWkbTypes::MultiPolygon
+              ||  QgsWkbTypes::flatType( part->wkbType() ) == QgsWkbTypes::MultiSurface )
     {
       std::unique_ptr<QgsGeometryCollection> parts( static_cast<QgsGeometryCollection *>( part.release() ) );
 
diff --git a/src/core/geometry/qgsgeometrymakevalid.cpp b/src/core/geometry/qgsgeometrymakevalid.cpp
index 2de0277..2b5701a 100644
--- a/src/core/geometry/qgsgeometrymakevalid.cpp
+++ b/src/core/geometry/qgsgeometrymakevalid.cpp
@@ -457,13 +457,15 @@ static GEOSGeometry *LWGEOM_GEOS_nodeLines( const GEOSGeometry *lines )
   if ( ! point )
     return nullptr;
 
-  GEOSGeometry *noded = GEOSUnion_r( handle, lines, point );
-  if ( !noded )
+  GEOSGeometry *noded = nullptr;
+  try
   {
-    GEOSGeom_destroy_r( handle, point );
-    return nullptr;
+    noded = GEOSUnion_r( handle, lines, point );
+  }
+  catch ( GEOSException & )
+  {
+    // no need to do anything here - we'll return nullptr anyway
   }
-
   GEOSGeom_destroy_r( handle, point );
   return noded;
 }
diff --git a/src/core/geometry/qgsgeos.cpp b/src/core/geometry/qgsgeos.cpp
index 983d719..555a5f5 100644
--- a/src/core/geometry/qgsgeos.cpp
+++ b/src/core/geometry/qgsgeos.cpp
@@ -896,7 +896,10 @@ QgsGeometryEngine::EngineOperationResult QgsGeos::splitPolygonGeometry( GEOSGeom
   }
 
   for ( i = 0; i < testedGeometries.size(); ++i )
+  {
     newGeometries << QgsGeometry( fromGeos( testedGeometries[i] ) );
+    GEOSGeom_destroy_r( geosinit.ctxt, testedGeometries[i] );
+  }
 
   return Success;
 }
diff --git a/src/core/geometry/qgslinestring.cpp b/src/core/geometry/qgslinestring.cpp
index 8722b93..d4082ef 100644
--- a/src/core/geometry/qgslinestring.cpp
+++ b/src/core/geometry/qgslinestring.cpp
@@ -786,24 +786,23 @@ int QgsLineString::dimension() const
 
 void QgsLineString::transform( const QgsCoordinateTransform &ct, QgsCoordinateTransform::TransformDirection d, bool transformZ )
 {
-  double *zArray = mZ.data();
-
+  double *zArray = nullptr;
   bool hasZ = is3D();
   int nPoints = numPoints();
-  bool useDummyZ = !hasZ || !transformZ;
-  if ( useDummyZ )
+
+  // it's possible that transformCoords will throw an exception - so we need to use
+  // a smart pointer for the dummy z values in order to ensure that they always get cleaned up
+  std::unique_ptr< double[] > dummyZ;
+  if ( !hasZ || !transformZ )
   {
-    zArray = new double[nPoints];
-    for ( int i = 0; i < nPoints; ++i )
-    {
-      zArray[i] = 0;
-    }
+    dummyZ.reset( new double[nPoints]() );
+    zArray = dummyZ.get();
   }
-  ct.transformCoords( nPoints, mX.data(), mY.data(), zArray, d );
-  if ( useDummyZ )
+  else
   {
-    delete[] zArray;
+    zArray = mZ.data();
   }
+  ct.transformCoords( nPoints, mX.data(), mY.data(), zArray, d );
   clearCache();
 }
 
diff --git a/src/core/layout/qgscompositionconverter.cpp b/src/core/layout/qgscompositionconverter.cpp
index 6c96ff0..0d8dd88 100644
--- a/src/core/layout/qgscompositionconverter.cpp
+++ b/src/core/layout/qgscompositionconverter.cpp
@@ -142,9 +142,9 @@ std::unique_ptr< QgsPrintLayout > QgsCompositionConverter::createLayoutFromCompo
     QgsReadWriteContext context;
     if ( project )
       context.setPathResolver( project->pathResolver() );
-    QgsFillSymbol *symbol = QgsSymbolLayerUtils::loadSymbol<QgsFillSymbol>( symbolElement, context );
+    std::unique_ptr< QgsFillSymbol > symbol( QgsSymbolLayerUtils::loadSymbol<QgsFillSymbol>( symbolElement, context ) );
     if ( symbol )
-      layout->pageCollection()->setPageStyleSymbol( symbol );
+      layout->pageCollection()->setPageStyleSymbol( symbol.get() );
   }
 
   QString name = composerElement.attribute( QStringLiteral( "name" ) );
@@ -452,6 +452,29 @@ QList<QgsLayoutObject *> QgsCompositionConverter::addItemsFromCompositionXml( Qg
   return newItems;
 }
 
+bool QgsCompositionConverter::isCompositionTemplate( const QDomDocument &document )
+{
+  return document.elementsByTagName( QStringLiteral( "Composition" ) ).count() > 0;
+}
+
+QDomDocument QgsCompositionConverter::convertCompositionTemplate( const QDomDocument &document, QgsProject *project )
+{
+  QDomDocument doc;
+  QgsReadWriteContext context;
+  if ( project )
+    context.setPathResolver( project->pathResolver() );
+  if ( document.elementsByTagName( QStringLiteral( "Composition" ) ).count( ) > 0 )
+  {
+    QDomElement composerElem = document.elementsByTagName( QStringLiteral( "Composition" ) ).at( 0 ).toElement( );
+
+    std::unique_ptr<QgsLayout> layout = createLayoutFromCompositionXml( composerElem,
+                                        project );
+    QDomElement elem = layout->writeXml( doc, context );
+    doc.appendChild( elem );
+  }
+  return doc;
+}
+
 bool QgsCompositionConverter::readLabelXml( QgsLayoutItemLabel *layoutItem, const QDomElement &itemElem, const QgsProject *project )
 {
   Q_UNUSED( project );
diff --git a/src/core/layout/qgscompositionconverter.h b/src/core/layout/qgscompositionconverter.h
index 59ab910..a8e5c88 100644
--- a/src/core/layout/qgscompositionconverter.h
+++ b/src/core/layout/qgscompositionconverter.h
@@ -144,6 +144,23 @@ class CORE_EXPORT QgsCompositionConverter
         QPointF *position = nullptr,
         bool pasteInPlace = false );
 
+    /**
+     * Check if the given \a document is a composition template
+     * \param document a dom document
+     * \return true if the document is a composition template
+     */
+    static bool isCompositionTemplate( const QDomDocument &document );
+
+    /**
+     * Convert a composition template \a document to a layout template
+     * \param document containing a composition
+     * \param project
+     * \return dom document with the converted template
+     */
+    static QDomDocument convertCompositionTemplate( const QDomDocument
+        &document, QgsProject *project );
+
+
   private:
 
 
diff --git a/src/core/layout/qgslayout.cpp b/src/core/layout/qgslayout.cpp
index 5fa8ffa..8dafa70 100644
--- a/src/core/layout/qgslayout.cpp
+++ b/src/core/layout/qgslayout.cpp
@@ -27,6 +27,7 @@
 #include "qgslayoutmultiframe.h"
 #include "qgslayoutitemmap.h"
 #include "qgslayoutundostack.h"
+#include "qgscompositionconverter.h"
 
 QgsLayout::QgsLayout( QgsProject *project )
   : mProject( project )
@@ -609,7 +610,17 @@ QList< QgsLayoutItem * > QgsLayout::loadFromTemplate( const QDomDocument &docume
     clear();
   }
 
-  QDomDocument doc = document;
+  QDomDocument doc;
+
+  // If this is a 2.x composition template, convert it to a layout template
+  if ( QgsCompositionConverter::isCompositionTemplate( document ) )
+  {
+    doc = QgsCompositionConverter::convertCompositionTemplate( document, mProject );
+  }
+  else
+  {
+    doc = document;
+  }
 
   // remove all uuid attributes since we don't want duplicates UUIDS
   QDomNodeList itemsNodes = doc.elementsByTagName( QStringLiteral( "LayoutItem" ) );
diff --git a/src/core/layout/qgslayoutitemlegend.cpp b/src/core/layout/qgslayoutitemlegend.cpp
index cba617d..fab9186 100644
--- a/src/core/layout/qgslayoutitemlegend.cpp
+++ b/src/core/layout/qgslayoutitemlegend.cpp
@@ -182,9 +182,9 @@ void QgsLayoutItemLegend::adjustBoxSize()
   QgsDebugMsg( QString( "width = %1 height = %2" ).arg( size.width() ).arg( size.height() ) );
   if ( size.isValid() )
   {
-    QRectF targetRect = QRectF( pos().x(), pos().y(), size.width(), size.height() );
+    QgsLayoutSize newSize = mLayout->convertFromLayoutUnits( size, sizeWithUnits().units() );
     //set new rect, respecting position mode and data defined size/position
-    attemptSetSceneRect( targetRect );
+    attemptResize( newSize );
   }
 }
 
diff --git a/src/core/layout/qgslayouttable.cpp b/src/core/layout/qgslayouttable.cpp
index 7ec1d92..fdd4f3f 100644
--- a/src/core/layout/qgslayouttable.cpp
+++ b/src/core/layout/qgslayouttable.cpp
@@ -196,6 +196,7 @@ QSizeF QgsLayoutTable::totalSize() const
 
 void QgsLayoutTable::refresh()
 {
+  QgsLayoutMultiFrame::refresh();
   refreshAttributes();
 }
 
diff --git a/src/core/layout/qgslayoutundostack.cpp b/src/core/layout/qgslayoutundostack.cpp
index 6fb4964..82b6744 100644
--- a/src/core/layout/qgslayoutundostack.cpp
+++ b/src/core/layout/qgslayoutundostack.cpp
@@ -106,7 +106,10 @@ void QgsLayoutUndoStack::push( QUndoCommand *cmd )
   if ( mBlockedCommands > 0 )
     delete cmd;
   else
+  {
     mUndoStack->push( cmd );
+    mLayout->project()->setDirty( true );
+  }
 }
 
 void QgsLayoutUndoStack::indexChanged()
diff --git a/src/core/pal/feature.cpp b/src/core/pal/feature.cpp
index 05b4459..eb18ab8 100644
--- a/src/core/pal/feature.cpp
+++ b/src/core/pal/feature.cpp
@@ -856,12 +856,17 @@ int FeaturePart::createCandidatesAlongLineNearMidpoint( QList<LabelPosition *> &
   {
     lineStepDistance = std::min( std::min( labelHeight, labelWidth ), lineStepDistance / mLF->layer()->pal->line_p );
   }
-  else // line length < label width => centering label position
+  else if ( !line->isClosed() ) // line length < label width => centering label position
   {
     currentDistanceAlongLine = - ( labelWidth - totalLineLength ) / 2.0;
     lineStepDistance = -1;
     totalLineLength = labelWidth;
   }
+  else
+  {
+    // closed line, not long enough for label => no candidates!
+    currentDistanceAlongLine = std::numeric_limits< double >::max();
+  }
 
   double candidateLength;
   double beta;
diff --git a/src/core/pal/pointset.cpp b/src/core/pal/pointset.cpp
index c55a702..004f4ce 100644
--- a/src/core/pal/pointset.cpp
+++ b/src/core/pal/pointset.cpp
@@ -846,3 +846,8 @@ double PointSet::length() const
     return -1;
   }
 }
+
+bool PointSet::isClosed() const
+{
+  return qgsDoubleNear( x[0], x[nbPoints - 1] ) && qgsDoubleNear( y[0], y[nbPoints - 1] );
+}
diff --git a/src/core/pal/pointset.h b/src/core/pal/pointset.h
index 902b680..1c375c4 100644
--- a/src/core/pal/pointset.h
+++ b/src/core/pal/pointset.h
@@ -156,13 +156,18 @@ namespace pal
        */
       double length() const;
 
+      /**
+       * Returns true if pointset is closed.
+       */
+      bool isClosed() const;
+
     protected:
       mutable GEOSGeometry *mGeos = nullptr;
       mutable bool mOwnsGeom = false;
 
       int nbPoints;
       double *x = nullptr;
-      double *y;   // points order is counterclockwise
+      double *y = nullptr;   // points order is counterclockwise
 
       int *cHull = nullptr;
       int cHullSize;
diff --git a/src/core/processing/qgsprocessingalgrunnertask.cpp b/src/core/processing/qgsprocessingalgrunnertask.cpp
index 7d09bfa..b80e9fd 100644
--- a/src/core/processing/qgsprocessingalgrunnertask.cpp
+++ b/src/core/processing/qgsprocessingalgrunnertask.cpp
@@ -41,10 +41,14 @@ QgsProcessingAlgRunnerTask::QgsProcessingAlgRunnerTask( const QgsProcessingAlgor
 void QgsProcessingAlgRunnerTask::cancel()
 {
   mFeedback->cancel();
+  QgsTask::cancel();
 }
 
 bool QgsProcessingAlgRunnerTask::run()
 {
+  if ( isCanceled() )
+    return false;
+
   connect( mFeedback, &QgsFeedback::progressChanged, this, &QgsProcessingAlgRunnerTask::setProgress );
   bool ok = false;
   try
diff --git a/src/core/processing/qgsprocessingfeedback.cpp b/src/core/processing/qgsprocessingfeedback.cpp
index 684c0cf..2fa3c0e 100644
--- a/src/core/processing/qgsprocessingfeedback.cpp
+++ b/src/core/processing/qgsprocessingfeedback.cpp
@@ -36,9 +36,9 @@ void QgsProcessingMultiStepFeedback::setProgressText( const QString &text )
   mFeedback->setProgressText( text );
 }
 
-void QgsProcessingMultiStepFeedback::reportError( const QString &error )
+void QgsProcessingMultiStepFeedback::reportError( const QString &error, bool fatalError )
 {
-  mFeedback->reportError( error );
+  mFeedback->reportError( error, fatalError );
 }
 
 void QgsProcessingMultiStepFeedback::pushInfo( const QString &info )
diff --git a/src/core/processing/qgsprocessingfeedback.h b/src/core/processing/qgsprocessingfeedback.h
index 952f9bb..5f9e580 100644
--- a/src/core/processing/qgsprocessingfeedback.h
+++ b/src/core/processing/qgsprocessingfeedback.h
@@ -47,10 +47,11 @@ class CORE_EXPORT QgsProcessingFeedback : public QgsFeedback
     virtual void setProgressText( const QString &text ) { Q_UNUSED( text ); }
 
     /**
-     * Reports that the algorithm encountered an error which prevented it
-     * from successfully executing.
+     * Reports that the algorithm encountered an \a error while executing.
+     *
+     * If \a fatalError is true then the error prevented the algorithm from executing.
      */
-    virtual void reportError( const QString &error ) { QgsMessageLog::logMessage( error ); }
+    virtual void reportError( const QString &error, bool fatalError = false ) { Q_UNUSED( fatalError ); QgsMessageLog::logMessage( error ); }
 
     /**
      * Pushes a general informational message from the algorithm. This can
@@ -125,7 +126,7 @@ class CORE_EXPORT QgsProcessingMultiStepFeedback : public QgsProcessingFeedback
     void setCurrentStep( int step );
 
     void setProgressText( const QString &text ) override;
-    void reportError( const QString &error ) override;
+    void reportError( const QString &error, bool fatalError ) override;
     void pushInfo( const QString &info ) override;
     void pushCommandInfo( const QString &info ) override;
     void pushDebugInfo( const QString &info ) override;
diff --git a/src/core/processing/qgsprocessingparameters.cpp b/src/core/processing/qgsprocessingparameters.cpp
index 5da5e71..b054fdf 100644
--- a/src/core/processing/qgsprocessingparameters.cpp
+++ b/src/core/processing/qgsprocessingparameters.cpp
@@ -3386,7 +3386,14 @@ QString QgsProcessingParameterFileDestination::valueAsPythonString( const QVaria
 
 QgsProcessingOutputDefinition *QgsProcessingParameterFileDestination::toOutputDefinition() const
 {
-  return nullptr;
+  if ( !mFileFilter.isEmpty() && mFileFilter.contains( QStringLiteral( "htm" ), Qt::CaseInsensitive ) )
+  {
+    return new QgsProcessingOutputHtml( name(), description() );
+  }
+  else
+  {
+    return new QgsProcessingOutputFile( name(), description() );
+  }
 }
 
 QString QgsProcessingParameterFileDestination::defaultFileExtension() const
diff --git a/src/core/processing/qgsprocessingprovider.cpp b/src/core/processing/qgsprocessingprovider.cpp
index d50ab04..ee04924 100644
--- a/src/core/processing/qgsprocessingprovider.cpp
+++ b/src/core/processing/qgsprocessingprovider.cpp
@@ -60,8 +60,11 @@ void QgsProcessingProvider::refreshAlgorithms()
 {
   qDeleteAll( mAlgorithms );
   mAlgorithms.clear();
-  loadAlgorithms();
-  emit algorithmsLoaded();
+  if ( isActive() )
+  {
+    loadAlgorithms();
+    emit algorithmsLoaded();
+  }
 }
 
 QList<const QgsProcessingAlgorithm *> QgsProcessingProvider::algorithms() const
diff --git a/src/core/processing/qgsprocessingutils.cpp b/src/core/processing/qgsprocessingutils.cpp
index ff7e364..cfb0632 100644
--- a/src/core/processing/qgsprocessingutils.cpp
+++ b/src/core/processing/qgsprocessingutils.cpp
@@ -27,6 +27,7 @@
 #include "qgsprocessingalgorithm.h"
 #include "qgsvectorlayerfeatureiterator.h"
 #include "qgsexpressioncontextscopegenerator.h"
+#include "qgsfileutils.h"
 
 QList<QgsRasterLayer *> QgsProcessingUtils::compatibleRasterLayers( QgsProject *project, bool sort )
 {
@@ -539,7 +540,7 @@ QString QgsProcessingUtils::generateTempFilename( const QString &basename )
     QDir tmpDir;
     tmpDir.mkdir( path );
   }
-  return path + '/' + basename;
+  return path + '/' + QgsFileUtils::stringToSafeFilename( basename );
 }
 
 QString QgsProcessingUtils::formatHelpMapAsHtml( const QVariantMap &map, const QgsProcessingAlgorithm *algorithm )
diff --git a/src/core/qgsaction.cpp b/src/core/qgsaction.cpp
index d24ff4b..7807cfd 100644
--- a/src/core/qgsaction.cpp
+++ b/src/core/qgsaction.cpp
@@ -124,6 +124,7 @@ void QgsAction::readXml( const QDomNode &actionNode )
   mCaptureOutput = actionElement.attributeNode( QStringLiteral( "capture" ) ).value().toInt() != 0;
   mShortTitle = actionElement.attributeNode( QStringLiteral( "shortTitle" ) ).value();
   mNotificationMessage = actionElement.attributeNode( QStringLiteral( "notificationMessage" ) ).value();
+  mIsEnabledOnlyWhenEditable = actionElement.attributeNode( QStringLiteral( "isEnabledOnlyWhenEditable" ) ).value().toInt() != 0;
   mId = QUuid( actionElement.attributeNode( QStringLiteral( "id" ) ).value() );
   if ( mId.isNull() )
     mId = QUuid::createUuid();
@@ -139,6 +140,7 @@ void QgsAction::writeXml( QDomNode &actionsNode ) const
   actionSetting.setAttribute( QStringLiteral( "action" ), mCommand );
   actionSetting.setAttribute( QStringLiteral( "capture" ), mCaptureOutput );
   actionSetting.setAttribute( QStringLiteral( "notificationMessage" ), mNotificationMessage );
+  actionSetting.setAttribute( QStringLiteral( "isEnabledOnlyWhenEditable" ), mIsEnabledOnlyWhenEditable );
   actionSetting.setAttribute( QStringLiteral( "id" ), mId.toString() );
 
   Q_FOREACH ( const QString &scope, mActionScopes )
diff --git a/src/core/qgsaction.h b/src/core/qgsaction.h
index 9d99720..693f384 100644
--- a/src/core/qgsaction.h
+++ b/src/core/qgsaction.h
@@ -57,14 +57,27 @@ class CORE_EXPORT QgsAction
      * \param description   A human readable description string
      * \param command       The action text. Its interpretation depends on the type
      * \param capture       If this is set to true, the output will be captured when an action is run
+     * \param enabledOnlyWhenEditable if true then action is only enable in editmode
      */
+#ifndef SIP_RUN
+    QgsAction( ActionType type, const QString &description, const QString &command, bool capture = false, bool enabledOnlyWhenEditable = false )
+      : mType( type )
+      , mDescription( description )
+      , mCommand( command )
+      , mCaptureOutput( capture )
+      , mId( QUuid::createUuid() )
+      , mIsEnabledOnlyWhenEditable( enabledOnlyWhenEditable )
+    {}
+#else
     QgsAction( ActionType type, const QString &description, const QString &command, bool capture = false )
       : mType( type )
       , mDescription( description )
       , mCommand( command )
       , mCaptureOutput( capture )
       , mId( QUuid::createUuid() )
+      , mIsEnabledOnlyWhenEditable( enabledOnlyWhenEditable )
     {}
+#endif
 
     /**
      * Create a new QgsAction
@@ -77,7 +90,22 @@ class CORE_EXPORT QgsAction
      * \param shortTitle           A short string used to label user interface elements like buttons
      * \param actionScopes         A set of scopes in which this action will be available
      * \param notificationMessage  A particular message which reception will trigger the action
+     * \param enabledOnlyWhenEditable if true then action is only enable in editmode
      */
+#ifndef SIP_RUN
+    QgsAction( ActionType type, const QString &description, const QString &action, const QString &icon, bool capture, const QString &shortTitle = QString(), const QSet<QString> &actionScopes = QSet<QString>(), const QString &notificationMessage = QString(), bool enabledOnlyWhenEditable = false )
+      : mType( type )
+      , mDescription( description )
+      , mShortTitle( shortTitle )
+      , mIcon( icon )
+      , mCommand( action )
+      , mCaptureOutput( capture )
+      , mActionScopes( actionScopes )
+      , mNotificationMessage( notificationMessage )
+      , mId( QUuid::createUuid() )
+      , mIsEnabledOnlyWhenEditable( enabledOnlyWhenEditable )
+    {}
+#else
     QgsAction( ActionType type, const QString &description, const QString &action, const QString &icon, bool capture, const QString &shortTitle = QString(), const QSet<QString> &actionScopes = QSet<QString>(), const QString &notificationMessage = QString() )
       : mType( type )
       , mDescription( description )
@@ -88,7 +116,9 @@ class CORE_EXPORT QgsAction
       , mActionScopes( actionScopes )
       , mNotificationMessage( notificationMessage )
       , mId( QUuid::createUuid() )
+      , mIsEnabledOnlyWhenEditable( enabledOnlyWhenEditable )
     {}
+#endif
 
     //! The name of the action. This may be a longer description.
     QString name() const { return mDescription; }
@@ -138,6 +168,11 @@ class CORE_EXPORT QgsAction
     //! Whether to capture output for display when this action is run
     bool capture() const { return mCaptureOutput; }
 
+
+    //! Return whether only enabled in editable mode
+    bool isEnabledOnlyWhenEditable() const { return mIsEnabledOnlyWhenEditable; }
+
+
     //! Checks if the action is runable on the current platform
     bool runable() const;
 
@@ -216,6 +251,7 @@ class CORE_EXPORT QgsAction
     mutable std::shared_ptr<QAction> mAction;
     QUuid mId;
     QgsExpressionContextScope mExpressionContextScope;
+    bool mIsEnabledOnlyWhenEditable;
 };
 
 Q_DECLARE_METATYPE( QgsAction )
diff --git a/src/core/qgsapplication.cpp b/src/core/qgsapplication.cpp
index 6216647..358c211 100644
--- a/src/core/qgsapplication.cpp
+++ b/src/core/qgsapplication.cpp
@@ -1404,8 +1404,8 @@ void QgsApplication::setCustomVariables( const QVariantMap &variables )
   QgsSettings settings;
 
   QVariantMap::const_iterator it = variables.constBegin();
-  settings.beginGroup("variables");
-  settings.remove("");
+  settings.beginGroup( "variables" );
+  settings.remove( "" );
   for ( ; it != variables.constEnd(); ++it )
   {
     settings.setValue( it.key(), it.value() );
diff --git a/src/core/qgsbrowsermodel.cpp b/src/core/qgsbrowsermodel.cpp
index 635b34d..36f6b36 100644
--- a/src/core/qgsbrowsermodel.cpp
+++ b/src/core/qgsbrowsermodel.cpp
@@ -177,7 +177,7 @@ void QgsBrowserModel::initialize()
   if ( ! mInitialized )
   {
     connect( QgsProject::instance(), &QgsProject::readProject, this, &QgsBrowserModel::updateProjectHome );
-    connect( QgsProject::instance(), &QgsProject::writeProject, this, &QgsBrowserModel::updateProjectHome );
+    connect( QgsProject::instance(), &QgsProject::projectSaved, this, &QgsBrowserModel::updateProjectHome );
     addRootItems();
     mInitialized = true;
   }
diff --git a/src/core/qgscolorschemeregistry.cpp b/src/core/qgscolorschemeregistry.cpp
index 50280ed..de49e76 100644
--- a/src/core/qgscolorschemeregistry.cpp
+++ b/src/core/qgscolorschemeregistry.cpp
@@ -47,7 +47,7 @@ void QgsColorSchemeRegistry::addDefaultSchemes()
   addColorScheme( new QgsRecentColorScheme() );
   addColorScheme( new QgsCustomColorScheme() );
   addColorScheme( new QgsProjectColorScheme() );
-
+  addUserSchemes();
 }
 
 void QgsColorSchemeRegistry::addUserSchemes()
diff --git a/src/core/qgscoordinateformatter.cpp b/src/core/qgscoordinateformatter.cpp
index 04eaf6b..7a1dc87 100644
--- a/src/core/qgscoordinateformatter.cpp
+++ b/src/core/qgscoordinateformatter.cpp
@@ -61,7 +61,7 @@ QString QgsCoordinateFormatter::formatY( double y, QgsCoordinateFormatter::Forma
 QString QgsCoordinateFormatter::format( const QgsPointXY &point, QgsCoordinateFormatter::Format format, int precision, FormatFlags flags )
 {
   return QStringLiteral( "%1,%2" ).arg( formatX( point.x(), format, precision, flags ),
-                                        formatY( point.x(), format, precision, flags ) );
+                                        formatY( point.y(), format, precision, flags ) );
 }
 
 QString QgsCoordinateFormatter::asPair( double x, double y, int precision )
diff --git a/src/core/qgscoordinateutils.cpp b/src/core/qgscoordinateutils.cpp
index 8e7f692..87e4199 100644
--- a/src/core/qgscoordinateutils.cpp
+++ b/src/core/qgscoordinateutils.cpp
@@ -62,9 +62,12 @@ int QgsCoordinateUtils::calculateCoordinatePrecision( double mapUnitsPerPixel, c
   return dp;
 }
 
-QString QgsCoordinateUtils::formatCoordinateForProject( const QgsPointXY &point, const QgsCoordinateReferenceSystem &destCrs, int precision )
+QString QgsCoordinateUtils::formatCoordinateForProject( QgsProject *project, const QgsPointXY &point, const QgsCoordinateReferenceSystem &destCrs, int precision )
 {
-  QString format = QgsProject::instance()->readEntry( QStringLiteral( "PositionPrecision" ), QStringLiteral( "/DegreeFormat" ), QStringLiteral( "MU" ) );
+  if ( !project )
+    return QString();
+
+  QString format = project->readEntry( QStringLiteral( "PositionPrecision" ), QStringLiteral( "/DegreeFormat" ), QStringLiteral( "MU" ) );
 
   QgsPointXY geo = point;
   if ( format == QLatin1String( "DM" ) || format == QLatin1String( "DMS" ) || format == QLatin1String( "D" ) )
@@ -73,9 +76,7 @@ QString QgsCoordinateUtils::formatCoordinateForProject( const QgsPointXY &point,
     if ( destCrs.isValid() && !destCrs.isGeographic() )
     {
       // need to transform to geographic coordinates
-      Q_NOWARN_DEPRECATED_PUSH
-      QgsCoordinateTransform ct( destCrs, QgsCoordinateReferenceSystem( GEOSRID ) );
-      Q_NOWARN_DEPRECATED_POP
+      QgsCoordinateTransform ct( destCrs, QgsCoordinateReferenceSystem( GEOSRID ), project );
       try
       {
         geo = ct.transform( point );
diff --git a/src/core/qgscoordinateutils.h b/src/core/qgscoordinateutils.h
index feeadbf..95c8ffa 100644
--- a/src/core/qgscoordinateutils.h
+++ b/src/core/qgscoordinateutils.h
@@ -26,6 +26,7 @@
 
 class QgsPointXY;
 class QgsCoordinateReferenceSystem;
+class QgsProject;
 
 //not stable api - I plan on reworking this when QgsCoordinateFormatter lands in 2.16
 ///@cond NOT_STABLE_API
@@ -53,7 +54,12 @@ class CORE_EXPORT QgsCoordinateUtils
      */
     static int calculateCoordinatePrecision( double mapUnitsPerPixel, const QgsCoordinateReferenceSystem &mapCrs );
 
-    static QString formatCoordinateForProject( const QgsPointXY &point, const QgsCoordinateReferenceSystem &destCrs, int precision );
+    /**
+     * Formats a \a point coordinate for use with the specified \a project, respecting the project's
+     * coordinate display settings.
+     * \since QGIS 3.2
+     */
+    static QString formatCoordinateForProject( QgsProject *project, const QgsPointXY &point, const QgsCoordinateReferenceSystem &destCrs, int precision );
 
 };
 
diff --git a/src/core/qgsfileutils.cpp b/src/core/qgsfileutils.cpp
index 074e625..8a9490f 100644
--- a/src/core/qgsfileutils.cpp
+++ b/src/core/qgsfileutils.cpp
@@ -86,7 +86,7 @@ QString QgsFileUtils::addExtensionFromFilter( const QString &fileName, const QSt
 
 QString QgsFileUtils::stringToSafeFilename( const QString &string )
 {
-  QRegularExpression rx( "[^\\w\\-. ]" );
+  QRegularExpression rx( "[/\\\\\\?%\\*\\:\\|\"<>]" );
   QString s = string;
   s.replace( rx, QStringLiteral( "_" ) );
   return s;
diff --git a/src/core/qgsfileutils.h b/src/core/qgsfileutils.h
index a028e79..b9eaa04 100644
--- a/src/core/qgsfileutils.h
+++ b/src/core/qgsfileutils.h
@@ -75,7 +75,7 @@ class CORE_EXPORT QgsFileUtils
      * Converts a \a string to a safe filename, replacing characters which are not safe
      * for filenames with an '_' character.
      *
-     * This method should be called with file names only, not complete paths.
+     * \warning This method strips slashes from the filename, so it is safe to call with file names only, not complete paths.
      */
     static QString stringToSafeFilename( const QString &string );
 };
diff --git a/src/core/qgsmapsettings.cpp b/src/core/qgsmapsettings.cpp
index ca21612..bfee530 100644
--- a/src/core/qgsmapsettings.cpp
+++ b/src/core/qgsmapsettings.cpp
@@ -256,7 +256,15 @@ QList<QgsMapLayer *> QgsMapSettings::layers() const
 
 void QgsMapSettings::setLayers( const QList<QgsMapLayer *> &layers )
 {
-  mLayers = _qgis_listRawToQPointer( layers );
+  // filter list, removing null layers and non-spatial layers
+  auto filteredList = layers;
+  filteredList.erase( std::remove_if( filteredList.begin(), filteredList.end(),
+                                      []( QgsMapLayer * layer )
+  {
+    return !layer || !layer->isSpatial();
+  } ), filteredList.end() );
+
+  mLayers = _qgis_listRawToQPointer( filteredList );
 }
 
 QMap<QString, QString> QgsMapSettings::layerStyleOverrides() const
diff --git a/src/core/qgsmapsettings.h b/src/core/qgsmapsettings.h
index 4335f20..033bcf0 100644
--- a/src/core/qgsmapsettings.h
+++ b/src/core/qgsmapsettings.h
@@ -133,6 +133,8 @@ class CORE_EXPORT QgsMapSettings
     /**
      * Set list of layers for map rendering. The layers must be registered in QgsProject.
      * The layers are stored in the reverse order of how they are rendered (layer with index 0 will be on top)
+     *
+     * \note Any non-spatial layers will be automatically stripped from the list (since they cannot be rendered!).
      */
     void setLayers( const QList<QgsMapLayer *> &layers );
 
diff --git a/src/core/qgsmapsettingsutils.cpp b/src/core/qgsmapsettingsutils.cpp
index d54c777..53d6552 100644
--- a/src/core/qgsmapsettingsutils.cpp
+++ b/src/core/qgsmapsettingsutils.cpp
@@ -87,7 +87,7 @@ QString QgsMapSettingsUtils::worldFileContent( const QgsMapSettings &mapSettings
   s[1] = 0;
   s[2] = xOrigin;
   s[3] = 0;
-  s[4] = ms.mapUnitsPerPixel();
+  s[4] = -ms.mapUnitsPerPixel();
   s[5] = yOrigin;
 
   // rotation matrix
@@ -104,7 +104,9 @@ QString QgsMapSettingsUtils::worldFileContent( const QgsMapSettings &mapSettings
   double b = r[0] * s[1] + r[1] * s[4];
   double c = r[0] * s[2] + r[1] * s[5] + r[2];
   double d = r[3] * s[0] + r[4] * s[3];
-  double e = r[3] * s[1] + r[4] * s[4];
+  // Pixel YDim - almost always negative
+  // See https://en.wikipedia.org/wiki/World_file#cite_ref-3, https://issues.qgis.org/issues/18491
+  double e =  r[3] * s[1] + r[4] * s[4];
   double f = r[3] * s[2] + r[4] * s[5] + r[5];
 
   QString content;
@@ -113,10 +115,9 @@ QString QgsMapSettingsUtils::worldFileContent( const QgsMapSettings &mapSettings
   // Rotation on y axis
   content += qgsDoubleToString( d ) + "\r\n";
   // Rotation on x axis
-  content += qgsDoubleToString( -b ) + "\r\n";
-  // Pixel YDim - almost always negative
-  // See https://en.wikipedia.org/wiki/World_file#cite_ref-3
-  content += "-" + qgsDoubleToString( e ) + "\r\n";
+  content += qgsDoubleToString( b ) + "\r\n";
+  // Pixel YDim
+  content += qgsDoubleToString( e ) + "\r\n";
   // Origin X (center of top left cell)
   content += qgsDoubleToString( c ) + "\r\n";
   // Origin Y (center of top left cell)
diff --git a/src/core/qgspallabeling.cpp b/src/core/qgspallabeling.cpp
index 6b28016..05870fc 100644
--- a/src/core/qgspallabeling.cpp
+++ b/src/core/qgspallabeling.cpp
@@ -2186,6 +2186,17 @@ bool QgsPalLayerSettings::dataDefinedValEval( DataDefinedValueType valType,
         }
         return false;
       }
+      case DDSizeF:
+      {
+        QString ptstr = exprVal.toString().trimmed();
+
+        if ( !ptstr.isEmpty() )
+        {
+          dataDefinedValues.insert( p, QVariant( QgsSymbolLayerUtils::decodeSize( ptstr ) ) );
+          return true;
+        }
+        return false;
+      }
     }
   }
   return false;
@@ -2671,7 +2682,7 @@ void QgsPalLayerSettings::parseShapeBackground( QgsRenderContext &context )
   dataDefinedValEval( DDUnits, QgsPalLayerSettings::ShapeOffsetUnits, exprVal, context.expressionContext() );
 
   // data defined shape radii?
-  dataDefinedValEval( DDPointF, QgsPalLayerSettings::ShapeRadii, exprVal, context.expressionContext(), QgsSymbolLayerUtils::encodeSize( background.radii() ) );
+  dataDefinedValEval( DDSizeF, QgsPalLayerSettings::ShapeRadii, exprVal, context.expressionContext(), QgsSymbolLayerUtils::encodeSize( background.radii() ) );
 
   // data defined shape radii units?
   dataDefinedValEval( DDUnits, QgsPalLayerSettings::ShapeRadiiUnits, exprVal, context.expressionContext() );
@@ -2920,12 +2931,13 @@ QgsGeometry QgsPalLabeling::prepareGeometry( const QgsGeometry &geometry, QgsRen
   // fix invalid polygons
   if ( geom.type() == QgsWkbTypes::PolygonGeometry && !geom.isGeosValid() )
   {
-    QgsGeometry bufferGeom = geom.buffer( 0, 0 );
-    if ( bufferGeom.isNull() )
+    QgsGeometry validGeom = geom.makeValid();
+    if ( validGeom.isNull() )
     {
+      QgsDebugMsg( QString( "Could not repair geometry: %1" ).arg( validGeom.lastError() ) );
       return QgsGeometry();
     }
-    geom = bufferGeom;
+    geom = validGeom;
   }
 
   if ( !clipGeometry.isNull() &&
diff --git a/src/core/qgspallabeling.h b/src/core/qgspallabeling.h
index 5ba85c7..d529a6d 100644
--- a/src/core/qgspallabeling.h
+++ b/src/core/qgspallabeling.h
@@ -847,7 +847,8 @@ class CORE_EXPORT QgsPalLayerSettings
       DDColor,
       DDJoinStyle,
       DDBlendMode,
-      DDPointF
+      DDPointF,
+      DDSizeF, //!< Data defined size
     };
 
     // convenience data defined evaluation function
diff --git a/src/core/qgspathresolver.cpp b/src/core/qgspathresolver.cpp
index 32d0a8d..3a71795 100644
--- a/src/core/qgspathresolver.cpp
+++ b/src/core/qgspathresolver.cpp
@@ -146,8 +146,14 @@ QString QgsPathResolver::writePath( const QString &src ) const
     return src;
   }
 
-  QFileInfo pfi( mBaseFileName );
-  QString projPath = pfi.absoluteFilePath();
+  // Get projPath even if project has not been created yet
+  QFileInfo pfi( QFileInfo( mBaseFileName ).path() );
+  QString projPath = pfi.canonicalFilePath();
+
+  // If project directory doesn't exit, fallback to absoluteFilePath : symbolic
+  // links won't be handled correctly, but that's OK as the path is "virtual".
+  if ( projPath.isEmpty() )
+    projPath = pfi.absoluteFilePath();
 
   if ( projPath.isEmpty() )
   {
@@ -185,12 +191,9 @@ QString QgsPathResolver::writePath( const QString &src ) const
   const Qt::CaseSensitivity cs = Qt::CaseSensitive;
 #endif
 
-  QStringList projElems = mBaseFileName.split( '/', QString::SkipEmptyParts );
+  QStringList projElems = projPath.split( '/', QString::SkipEmptyParts );
   QStringList srcElems = srcPath.split( '/', QString::SkipEmptyParts );
 
-  // remove project file element
-  projElems.removeLast();
-
   projElems.removeAll( QStringLiteral( "." ) );
   srcElems.removeAll( QStringLiteral( "." ) );
 
@@ -207,7 +210,7 @@ QString QgsPathResolver::writePath( const QString &src ) const
 
   if ( n == 0 )
   {
-    // no common parts; might not even by a file
+    // no common parts; might not even be a file
     return src;
   }
 
diff --git a/src/core/qgspluginlayer.cpp b/src/core/qgspluginlayer.cpp
index 9e93ae1..c99e5d2 100644
--- a/src/core/qgspluginlayer.cpp
+++ b/src/core/qgspluginlayer.cpp
@@ -17,10 +17,12 @@
 #include "qgsmaplayerlegend.h"
 #include "qgsmaplayerrenderer.h"
 
+
 QgsPluginLayer::QgsPluginLayer( const QString &layerType, const QString &layerName )
   : QgsMapLayer( PluginLayer, layerName )
   , mPluginLayerType( layerType )
 {
+  mDataProvider = new QgsPluginLayerDataProvider( layerType );
 }
 
 QgsPluginLayer::~QgsPluginLayer()
@@ -28,6 +30,7 @@ QgsPluginLayer::~QgsPluginLayer()
   // TODO: shall we move the responsibility of emitting the signal to plugin
   // layer implementations before they start doing their part of cleanup...?
   emit willBeDeleted();
+  delete mDataProvider;
 }
 
 QString QgsPluginLayer::pluginLayerType()
@@ -38,9 +41,54 @@ QString QgsPluginLayer::pluginLayerType()
 void QgsPluginLayer::setExtent( const QgsRectangle &extent )
 {
   mExtent = extent;
+  static_cast<QgsPluginLayerDataProvider *>( mDataProvider )->setExtent( extent );
 }
 
 void QgsPluginLayer::setSource( const QString &source )
 {
   mDataSource = source;
 }
+
+QgsDataProvider *QgsPluginLayer::dataProvider()
+{
+  return mDataProvider;
+}
+
+const QgsDataProvider *QgsPluginLayer::dataProvider() const
+{
+  return mDataProvider;
+}
+
+//
+// QgsPluginLayerDataProvider
+//
+///@cond PRIVATE
+QgsPluginLayerDataProvider::QgsPluginLayerDataProvider( const QString &layerType )
+  : mName( layerType )
+{}
+
+QgsCoordinateReferenceSystem QgsPluginLayerDataProvider::crs() const
+{
+  return QgsCoordinateReferenceSystem();
+}
+
+QString QgsPluginLayerDataProvider::name() const
+{
+  return mName;
+}
+
+QString QgsPluginLayerDataProvider::description() const
+{
+  return QString();
+}
+
+QgsRectangle QgsPluginLayerDataProvider::extent() const
+{
+  return mExtent;
+}
+
+bool QgsPluginLayerDataProvider::isValid() const
+{
+  return true;
+}
+///@endcond
diff --git a/src/core/qgspluginlayer.h b/src/core/qgspluginlayer.h
index aa9b563..fe77604 100644
--- a/src/core/qgspluginlayer.h
+++ b/src/core/qgspluginlayer.h
@@ -17,7 +17,7 @@
 
 #include "qgis_core.h"
 #include "qgsmaplayer.h"
-
+#include "qgsdataprovider.h"
 
 /**
  * \ingroup core
@@ -55,8 +55,38 @@ class CORE_EXPORT QgsPluginLayer : public QgsMapLayer
      */
     void setSource( const QString &source );
 
+    QgsDataProvider *dataProvider() override;
+    const QgsDataProvider *dataProvider() const override SIP_SKIP;
+
   protected:
     QString mPluginLayerType;
+    QgsDataProvider *mDataProvider;
+};
+
+#ifndef SIP_RUN
+///@cond PRIVATE
+
+/**
+ * A minimal data provider for plugin layers
+ */
+class QgsPluginLayerDataProvider : public QgsDataProvider
+{
+    Q_OBJECT
+
+  public:
+    QgsPluginLayerDataProvider( const QString &layerType );
+    void setExtent( const QgsRectangle &extent ) { mExtent = extent; }
+    virtual QgsCoordinateReferenceSystem crs() const override;
+    virtual QString name() const override;
+    QString description() const override;
+    virtual QgsRectangle extent() const override;
+    virtual bool isValid() const override;
+
+  private:
+    QString mName;
+    QgsRectangle mExtent;
 };
+///@endcond
+#endif
 
 #endif // QGSPLUGINLAYER_H
diff --git a/src/core/qgssettings.h b/src/core/qgssettings.h
index 6c68239..6baa592 100644
--- a/src/core/qgssettings.h
+++ b/src/core/qgssettings.h
@@ -228,8 +228,8 @@ class CORE_EXPORT QgsSettings : public QObject
      * \note The enum needs to be declared with Q_ENUM, and flags with Q_FLAG (not Q_FLAGS).
      */
     template <class T>
-    T enumSettingValue( const QString &key, const T &defaultValue,
-                        const Section section = NoSection, bool flag = false ) const
+    T enumValue( const QString &key, const T &defaultValue,
+                 const Section section = NoSection, bool flag = false ) const
     {
       T v;
       if ( !flag )
diff --git a/src/core/qgssnappingconfig.cpp b/src/core/qgssnappingconfig.cpp
index bf87eff..5d0eead 100644
--- a/src/core/qgssnappingconfig.cpp
+++ b/src/core/qgssnappingconfig.cpp
@@ -118,16 +118,16 @@ void QgsSnappingConfig::reset()
 {
   // get defaults values. They are both used for standard and advanced configuration (per layer)
   bool enabled = QgsSettings().value( QStringLiteral( "/qgis/digitizing/default_snap_enabled" ), false ).toBool();
-  SnappingMode mode = QgsSettings().enumSettingValue( QStringLiteral( "/qgis/digitizing/default_snap_mode" ),  AllLayers );
+  SnappingMode mode = QgsSettings().enumValue( QStringLiteral( "/qgis/digitizing/default_snap_mode" ),  AllLayers );
   if ( mode == 0 )
   {
     // backward compatibility with QGIS 2.x
     // could be removed in 3.4+
     mode = AllLayers;
   }
-  SnappingType type = QgsSettings().enumSettingValue( QStringLiteral( "/qgis/digitizing/default_snap_type" ),  Vertex );
+  SnappingType type = QgsSettings().enumValue( QStringLiteral( "/qgis/digitizing/default_snap_type" ),  Vertex );
   double tolerance = QgsSettings().value( QStringLiteral( "/qgis/digitizing/default_snapping_tolerance" ), Qgis::DEFAULT_SNAP_TOLERANCE ).toDouble();
-  QgsTolerance::UnitType units = QgsSettings().enumSettingValue( QStringLiteral( "/qgis/digitizing/default_snapping_tolerance_unit" ),  Qgis::DEFAULT_SNAP_UNITS );
+  QgsTolerance::UnitType units = QgsSettings().enumValue( QStringLiteral( "/qgis/digitizing/default_snapping_tolerance_unit" ),  Qgis::DEFAULT_SNAP_UNITS );
 
   // assign main (standard) config
   mEnabled = enabled;
@@ -370,7 +370,7 @@ bool QgsSnappingConfig::addLayers( const QList<QgsMapLayer *> &layers )
   bool enabled = QgsSettings().value( QStringLiteral( "/qgis/digitizing/default_snap_enabled" ), true ).toBool();
   SnappingType type = ( SnappingType )QgsSettings().value( QStringLiteral( "/qgis/digitizing/default_snap_type" ), Vertex ).toInt();
   double tolerance = QgsSettings().value( QStringLiteral( "/qgis/digitizing/default_snapping_tolerance" ), Qgis::DEFAULT_SNAP_TOLERANCE ).toDouble();
-  QgsTolerance::UnitType units = QgsSettings().enumSettingValue( QStringLiteral( "/qgis/digitizing/default_snapping_tolerance_unit" ), Qgis::DEFAULT_SNAP_UNITS );
+  QgsTolerance::UnitType units = QgsSettings().enumValue( QStringLiteral( "/qgis/digitizing/default_snapping_tolerance_unit" ), Qgis::DEFAULT_SNAP_UNITS );
 
   Q_FOREACH ( QgsMapLayer *ml, layers )
   {
diff --git a/src/core/qgsstacktrace.cpp b/src/core/qgsstacktrace.cpp
index b1c2754..773836c 100644
--- a/src/core/qgsstacktrace.cpp
+++ b/src/core/qgsstacktrace.cpp
@@ -17,12 +17,10 @@
 
 #include <QVector>
 
-#ifdef QGISDEBUG
 #ifdef WIN32
 #include <windows.h>
 #include <dbghelp.h>
 #endif
-#endif
 
 #include "qgis.h"
 
diff --git a/src/core/qgstolerance.cpp b/src/core/qgstolerance.cpp
index 8594a52..83b0deb 100644
--- a/src/core/qgstolerance.cpp
+++ b/src/core/qgstolerance.cpp
@@ -73,7 +73,7 @@ double QgsTolerance::vertexSearchRadius( const QgsMapSettings &mapSettings )
 {
   QgsSettings settings;
   double tolerance = settings.value( QStringLiteral( "qgis/digitizing/search_radius_vertex_edit" ), 10 ).toDouble();
-  UnitType units = settings.enumSettingValue( QStringLiteral( "qgis/digitizing/search_radius_vertex_edit_unit" ),  QgsTolerance::Pixels );
+  UnitType units = settings.enumValue( QStringLiteral( "qgis/digitizing/search_radius_vertex_edit_unit" ),  QgsTolerance::Pixels );
   if ( units == LayerUnits )
     units = ProjectUnits;
   return toleranceInProjectUnits( tolerance, nullptr, mapSettings, units );
@@ -83,7 +83,7 @@ double QgsTolerance::vertexSearchRadius( QgsMapLayer *layer, const QgsMapSetting
 {
   QgsSettings settings;
   double tolerance = settings.value( QStringLiteral( "qgis/digitizing/search_radius_vertex_edit" ), 10 ).toDouble();
-  UnitType units = settings.enumSettingValue( QStringLiteral( "qgis/digitizing/search_radius_vertex_edit_unit" ),  QgsTolerance::Pixels );
+  UnitType units = settings.enumValue( QStringLiteral( "qgis/digitizing/search_radius_vertex_edit_unit" ),  QgsTolerance::Pixels );
   return toleranceInMapUnits( tolerance, layer, mapSettings, units );
 }
 
@@ -91,7 +91,7 @@ double QgsTolerance::defaultTolerance( QgsMapLayer *layer, const QgsMapSettings
 {
   QgsSettings settings;
   double tolerance = settings.value( QStringLiteral( "qgis/digitizing/default_snapping_tolerance" ), Qgis::DEFAULT_SNAP_TOLERANCE ).toDouble();
-  UnitType units = settings.enumSettingValue( QStringLiteral( "qgis/digitizing/default_snapping_tolerance_unit" ),  Qgis::DEFAULT_SNAP_UNITS );
+  UnitType units = settings.enumValue( QStringLiteral( "qgis/digitizing/default_snapping_tolerance_unit" ),  Qgis::DEFAULT_SNAP_UNITS );
   return toleranceInMapUnits( tolerance, layer, mapSettings, units );
 }
 
diff --git a/src/core/qgsvectorfilewriter.cpp b/src/core/qgsvectorfilewriter.cpp
index d69fb65..0295773 100644
--- a/src/core/qgsvectorfilewriter.cpp
+++ b/src/core/qgsvectorfilewriter.cpp
@@ -2223,7 +2223,7 @@ gdal::ogr_feature_unique_ptr QgsVectorFileWriter::createFeature( const QgsFeatur
     }
     else
     {
-      OGR_F_SetGeometry( poFeature.get(), createEmptyGeometry( mWkbType ) );
+      OGR_F_SetGeometryDirectly( poFeature.get(), createEmptyGeometry( mWkbType ) );
     }
   }
   return poFeature;
diff --git a/src/core/qgsvectorlayer.cpp b/src/core/qgsvectorlayer.cpp
index 591278b..b8d0e54 100644
--- a/src/core/qgsvectorlayer.cpp
+++ b/src/core/qgsvectorlayer.cpp
@@ -162,8 +162,8 @@ QgsVectorLayer::QgsVectorLayer( const QString &vectorLayerPath,
 
   // Default simplify drawing settings
   QgsSettings settings;
-  mSimplifyMethod.setSimplifyHints( settings.enumSettingValue( QStringLiteral( "qgis/simplifyDrawingHints" ), mSimplifyMethod.simplifyHints(), QgsSettings::NoSection, true ) );
-  mSimplifyMethod.setSimplifyAlgorithm( settings.enumSettingValue( QStringLiteral( "qgis/simplifyAlgorithm" ), mSimplifyMethod.simplifyAlgorithm() ) );
+  mSimplifyMethod.setSimplifyHints( settings.enumValue( QStringLiteral( "qgis/simplifyDrawingHints" ), mSimplifyMethod.simplifyHints(), QgsSettings::NoSection, true ) );
+  mSimplifyMethod.setSimplifyAlgorithm( settings.enumValue( QStringLiteral( "qgis/simplifyAlgorithm" ), mSimplifyMethod.simplifyAlgorithm() ) );
   mSimplifyMethod.setThreshold( settings.value( QStringLiteral( "qgis/simplifyDrawingTol" ), mSimplifyMethod.threshold() ).toFloat() );
   mSimplifyMethod.setForceLocalOptimization( settings.value( QStringLiteral( "qgis/simplifyLocal" ), mSimplifyMethod.forceLocalOptimization() ).toBool() );
   mSimplifyMethod.setMaximumScale( settings.value( QStringLiteral( "qgis/simplifyMaxScale" ), mSimplifyMethod.maximumScale() ).toFloat() );
diff --git a/src/core/raster/qgsrasterinterface.cpp b/src/core/raster/qgsrasterinterface.cpp
index 32e7df2..a2dfa8d 100644
--- a/src/core/raster/qgsrasterinterface.cpp
+++ b/src/core/raster/qgsrasterinterface.cpp
@@ -188,10 +188,11 @@ QgsRasterBandStats QgsRasterInterface::bandStatistics( int bandNo,
         if ( blk->isNoData( i ) ) continue; // NULL
 
         double myValue = blk->value( i );
-
         myRasterBandStats.sum += myValue;
         myRasterBandStats.elementCount++;
 
+        if ( !std::isfinite( myValue ) ) continue; // inf
+
         if ( myFirstIterationFlag )
         {
           myFirstIterationFlag = false;
diff --git a/src/core/symbology/qgscategorizedsymbolrenderer.cpp b/src/core/symbology/qgscategorizedsymbolrenderer.cpp
index d4830aa..6c48986 100644
--- a/src/core/symbology/qgscategorizedsymbolrenderer.cpp
+++ b/src/core/symbology/qgscategorizedsymbolrenderer.cpp
@@ -168,21 +168,25 @@ void QgsCategorizedSymbolRenderer::rebuildHash()
   for ( int i = 0; i < mCategories.size(); ++i )
   {
     const QgsRendererCategory &cat = mCategories.at( i );
-    mSymbolHash.insert( cat.value().toString(), ( cat.renderState() || mCounting ) ? cat.symbol() : skipRender() );
+    mSymbolHash.insert( cat.value().toString(), ( cat.renderState() || mCounting ) ? cat.symbol() : nullptr );
   }
 }
 
 QgsSymbol *QgsCategorizedSymbolRenderer::skipRender()
 {
-  static QgsMarkerSymbol *skipRender = nullptr;
-  if ( !skipRender )
-    skipRender = new QgsMarkerSymbol();
-
-  return skipRender;
+  return nullptr;
 }
 
 QgsSymbol *QgsCategorizedSymbolRenderer::symbolForValue( const QVariant &value )
 {
+  bool found = false;
+  return symbolForValue( value, found );
+}
+
+QgsSymbol *QgsCategorizedSymbolRenderer::symbolForValue( const QVariant &value, bool &foundMatchingSymbol )
+{
+  foundMatchingSymbol = false;
+
   // TODO: special case for int, double
   QHash<QString, QgsSymbol *>::const_iterator it = mSymbolHash.constFind( value.isNull() ? QLatin1String( "" ) : value.toString() );
   if ( it == mSymbolHash.constEnd() )
@@ -198,6 +202,8 @@ QgsSymbol *QgsCategorizedSymbolRenderer::symbolForValue( const QVariant &value )
     return nullptr;
   }
 
+  foundMatchingSymbol = true;
+
   return *it;
 }
 
@@ -228,15 +234,14 @@ QgsSymbol *QgsCategorizedSymbolRenderer::originalSymbolForFeature( QgsFeature &f
 {
   QVariant value = valueForFeature( feature, context );
 
+  bool foundCategory = false;
   // find the right symbol for the category
-  QgsSymbol *symbol = symbolForValue( value );
-  if ( symbol == skipRender() )
-    return nullptr;
+  QgsSymbol *symbol = symbolForValue( value, foundCategory );
 
-  if ( !symbol )
+  if ( !foundCategory )
   {
-    // if no symbol found use default one
-    return symbolForValue( QVariant( "" ) );
+    // if no symbol found, use default symbol
+    return symbolForValue( QVariant( "" ), foundCategory );
   }
 
   return symbol;
@@ -793,7 +798,7 @@ QSet<QString> QgsCategorizedSymbolRenderer::legendKeysForFeature( QgsFeature &fe
   {
     if ( value == cat.value() )
     {
-      if ( cat.renderState() )
+      if ( cat.renderState() || mCounting )
         return QSet< QString >() << QString::number( i );
       else
         return QSet< QString >();
diff --git a/src/core/symbology/qgscategorizedsymbolrenderer.h b/src/core/symbology/qgscategorizedsymbolrenderer.h
index 649af91..78a7822 100644
--- a/src/core/symbology/qgscategorizedsymbolrenderer.h
+++ b/src/core/symbology/qgscategorizedsymbolrenderer.h
@@ -56,8 +56,18 @@ class CORE_EXPORT QgsRendererCategory
     void setSymbol( QgsSymbol *s SIP_TRANSFER );
     void setLabel( const QString &label );
 
-    // \since QGIS 2.5
+    /**
+     * Returns true if the category is currently enabled and should be rendered.
+     * \see setRenderState()
+     * \since QGIS 2.5
+     */
     bool renderState() const;
+
+    /**
+     * Sets whether the category is currently enabled and should be rendered.
+     * \see renderState()
+     * \since QGIS 2.5
+     */
     void setRenderState( bool render );
 
     // debugging
@@ -233,9 +243,33 @@ class CORE_EXPORT QgsCategorizedSymbolRenderer : public QgsFeatureRenderer
 
     void rebuildHash();
 
-    QgsSymbol *skipRender();
+    /**
+     * \deprecated No longer used, will be removed in QGIS 4.0
+     */
+    Q_DECL_DEPRECATED QgsSymbol *skipRender() SIP_DEPRECATED;
+
+    /**
+     * Returns the matching symbol corresponding to an attribute \a value.
+     * \deprecated use variant which takes a second bool argument instead.
+     */
+    Q_DECL_DEPRECATED QgsSymbol *symbolForValue( const QVariant &value ) SIP_DEPRECATED;
 
-    QgsSymbol *symbolForValue( const QVariant &value );
+    // TODO QGIS 4.0 - rename Python method to symbolForValue
+
+    /**
+     * Returns the matching symbol corresponding to an attribute \a value.
+     *
+     * Will return nullptr if no matching symbol was found for \a value, or
+     * if the category corresponding to \a value is currently disabled (see QgsRendererCategory::renderState()).
+     *
+     * If \a foundMatchingSymbol is specified then it will be set to true if
+     * a matching category was found. This can be used to differentiate between
+     * a nullptr returned as a result of no matching category vs a nullptr as a result
+     * of disabled categories.
+     *
+     * \note available in Python bindings as symbolForValue2
+     */
+    QgsSymbol *symbolForValue( const QVariant &value, bool &foundMatchingSymbol SIP_OUT ) SIP_PYNAME( symbolForValue2 );
 
   private:
 #ifdef SIP_RUN
diff --git a/src/core/symbology/qgsfillsymbollayer.cpp b/src/core/symbology/qgsfillsymbollayer.cpp
index b322e12..7e56fa7 100644
--- a/src/core/symbology/qgsfillsymbollayer.cpp
+++ b/src/core/symbology/qgsfillsymbollayer.cpp
@@ -3135,6 +3135,11 @@ void QgsPointPatternFillSymbolLayer::applyPattern( const QgsSymbolRenderContext
     pointRenderContext.setRendererScale( context.renderContext().rendererScale() );
     pointRenderContext.setPainter( &p );
     pointRenderContext.setScaleFactor( context.renderContext().scaleFactor() );
+    if ( context.renderContext().flags() & QgsRenderContext::Antialiasing )
+    {
+      pointRenderContext.setFlag( QgsRenderContext::Antialiasing, true );
+      p.setRenderHint( QPainter::Antialiasing, true );
+    }
     QgsMapToPixel mtp( context.renderContext().mapToPixel().mapUnitsPerPixel() );
     pointRenderContext.setMapToPixel( mtp );
     pointRenderContext.setForceVectorOutput( false );
diff --git a/src/core/symbology/qgssymbol.cpp b/src/core/symbology/qgssymbol.cpp
index 941f431..7d1f8d7 100644
--- a/src/core/symbology/qgssymbol.cpp
+++ b/src/core/symbology/qgssymbol.cpp
@@ -125,6 +125,13 @@ QPolygonF QgsSymbol::_getLineString( QgsRenderContext &context, const QgsCurve &
     ct.transformPolygon( pts );
   }
 
+  // remove non-finite points, e.g. infinite or NaN points caused by reprojecting errors
+  pts.erase( std::remove_if( pts.begin(), pts.end(),
+                             []( const QPointF point )
+  {
+    return !std::isfinite( point.x() ) || !std::isfinite( point.y() );
+  } ), pts.end() );
+
   QPointF *ptr = pts.data();
   for ( int i = 0; i < pts.size(); ++i, ++ptr )
   {
@@ -161,6 +168,13 @@ QPolygonF QgsSymbol::_getPolygonRing( QgsRenderContext &context, const QgsCurve
     ct.transformPolygon( poly );
   }
 
+  // remove non-finite points, e.g. infinite or NaN points caused by reprojecting errors
+  poly.erase( std::remove_if( poly.begin(), poly.end(),
+                              []( const QPointF point )
+  {
+    return !std::isfinite( point.x() ) || !std::isfinite( point.y() );
+  } ), poly.end() );
+
   QPointF *ptr = poly.data();
   for ( int i = 0; i < poly.size(); ++i, ++ptr )
   {
diff --git a/src/core/symbology/qgssymbollayerutils.cpp b/src/core/symbology/qgssymbollayerutils.cpp
index 998404c..f773c1a 100644
--- a/src/core/symbology/qgssymbollayerutils.cpp
+++ b/src/core/symbology/qgssymbollayerutils.cpp
@@ -3693,7 +3693,7 @@ QString QgsSymbolLayerUtils::svgSymbolNameToPath( QString name, const QgsPathRes
       svgPath.chop( 1 );
     }
 
-    QgsDebugMsg( "SvgPath: " + svgPath );
+    QgsDebugMsgLevel( "SvgPath: " + svgPath, 3 );
     // Not sure why to lowest dir was used instead of full relative path, it was causing #8664
     //QFileInfo myInfo( name );
     //QString myFileName = myInfo.fileName(); // foo.svg
@@ -3701,10 +3701,10 @@ QString QgsSymbolLayerUtils::svgSymbolNameToPath( QString name, const QgsPathRes
     //QString myLocalPath = svgPath + QString( myLowestDir.isEmpty() ? "" : '/' + myLowestDir ) + '/' + myFileName;
     QString myLocalPath = svgPath + QDir::separator() + name;
 
-    QgsDebugMsg( "Alternative svg path: " + myLocalPath );
+    QgsDebugMsgLevel( "Alternative svg path: " + myLocalPath, 3 );
     if ( QFile( myLocalPath ).exists() )
     {
-      QgsDebugMsg( "Svg found in alternative path" );
+      QgsDebugMsgLevel( "Svg found in alternative path", 3 );
       return QFileInfo( myLocalPath ).canonicalFilePath();
     }
   }
diff --git a/src/crashhandler/qgsstacktrace.cpp b/src/crashhandler/qgsstacktrace.cpp
index e7c8083..666ae76 100644
--- a/src/crashhandler/qgsstacktrace.cpp
+++ b/src/crashhandler/qgsstacktrace.cpp
@@ -772,9 +772,6 @@ void getStackTrace( StackTrace *stackTrace, QString symbolPath, QgsStackTrace *t
 QgsStackTrace *QgsStackTrace::trace( DWORD processId, DWORD threadId, LPEXCEPTION_POINTERS exception, QString symbolPath )
 {
   QgsStackTrace *trace = new QgsStackTrace();
-#ifndef QGISDEBUG
-  return stack;
-#endif
   EXCEPTION_POINTERS remoteException = { 0 };
   CONTEXT remoteContextRecord = { 0 };
 
diff --git a/src/crashhandler/qgsstacktrace.h b/src/crashhandler/qgsstacktrace.h
index f220c5f..dd2ad83 100644
--- a/src/crashhandler/qgsstacktrace.h
+++ b/src/crashhandler/qgsstacktrace.h
@@ -19,12 +19,10 @@
 #include <QVector>
 #include "qgsconfig.h"
 
-#ifdef QGISDEBUG
 #ifdef WIN32
 #include <windows.h>
 #include <dbghelp.h>
 #endif
-#endif
 
 #include <QStringList>
 
diff --git a/src/gui/attributetable/qgsattributetableview.cpp b/src/gui/attributetable/qgsattributetableview.cpp
index 0418fcd..80fc01e 100644
--- a/src/gui/attributetable/qgsattributetableview.cpp
+++ b/src/gui/attributetable/qgsattributetableview.cpp
@@ -135,6 +135,10 @@ void QgsAttributeTableView::setModel( QgsAttributeTableFilterModel *filterModel
     connect( mFeatureSelectionModel, static_cast<void ( QgsFeatureSelectionModel::* )()>( &QgsFeatureSelectionModel::requestRepaint ),
              this, static_cast<void ( QgsAttributeTableView::* )()>( &QgsAttributeTableView::repaintRequested ) );
   }
+
+  connect( mFilterModel->layer(), &QgsVectorLayer::editingStarted, this, &QgsAttributeTableView::recreateActionWidgets );
+  connect( mFilterModel->layer(), &QgsVectorLayer::editingStopped, this, &QgsAttributeTableView::recreateActionWidgets );
+  connect( mFilterModel->layer(), &QgsVectorLayer::readOnlyChanged, this, &QgsAttributeTableView::recreateActionWidgets );
 }
 
 void QgsAttributeTableView::setFeatureSelectionManager( QgsIFeatureSelectionManager *featureSelectionManager )
@@ -176,6 +180,9 @@ QWidget *QgsAttributeTableView::createActionWidget( QgsFeatureId fid )
   QList<QgsAction> actions = mFilterModel->layer()->actions()->actions( QStringLiteral( "Feature" ) );
   Q_FOREACH ( const QgsAction &action, actions )
   {
+    if ( !mFilterModel->layer()->isEditable() && action.isEnabledOnlyWhenEditable() )
+      continue;
+
     QString actionTitle = !action.shortTitle().isEmpty() ? action.shortTitle() : action.icon().isNull() ? action.name() : QLatin1String( "" );
     QAction *act = new QAction( action.icon(), actionTitle, container );
     act->setToolTip( action.name() );
diff --git a/src/gui/attributetable/qgsdualview.cpp b/src/gui/attributetable/qgsdualview.cpp
index a795425..d7ccfa1 100644
--- a/src/gui/attributetable/qgsdualview.cpp
+++ b/src/gui/attributetable/qgsdualview.cpp
@@ -545,7 +545,7 @@ void QgsDualView::viewWillShowContextMenu( QMenu *menu, const QModelIndex &atInd
 
   QModelIndex sourceIndex = mFilterModel->mapToSource( atIndex );
 
-  QAction *copyContentAction = new QAction( tr( "Copy cell content" ), this );
+  QAction *copyContentAction = new QAction( tr( "Copy Cell Content" ), this );
   copyContentAction->setData( QVariant::fromValue<QModelIndex>( sourceIndex ) );
   menu->addAction( copyContentAction );
   connect( copyContentAction, &QAction::triggered, this, &QgsDualView::copyCellContent );
@@ -554,16 +554,16 @@ void QgsDualView::viewWillShowContextMenu( QMenu *menu, const QModelIndex &atInd
   QgsMapCanvas *canvas = mFilterModel->mapCanvas();
   if ( canvas && vl && vl->geometryType() != QgsWkbTypes::NullGeometry )
   {
-    menu->addAction( tr( "Zoom to feature" ), this, SLOT( zoomToCurrentFeature() ) );
-    menu->addAction( tr( "Pan to feature" ), this, SLOT( panToCurrentFeature() ) );
-    menu->addAction( tr( "Flash feature" ), this, SLOT( flashCurrentFeature() ) );
+    menu->addAction( tr( "Zoom to Feature" ), this, SLOT( zoomToCurrentFeature() ) );
+    menu->addAction( tr( "Pan to Feature" ), this, SLOT( panToCurrentFeature() ) );
+    menu->addAction( tr( "Flash Feature" ), this, SLOT( flashCurrentFeature() ) );
   }
 
   //add user-defined actions to context menu
   QList<QgsAction> actions = mLayer->actions()->actions( QStringLiteral( "Field" ) );
   if ( !actions.isEmpty() )
   {
-    QAction *a = menu->addAction( tr( "Run layer action" ) );
+    QAction *a = menu->addAction( tr( "Run Layer Action" ) );
     a->setEnabled( false );
 
     Q_FOREACH ( const QgsAction &action, actions )
@@ -571,6 +571,9 @@ void QgsDualView::viewWillShowContextMenu( QMenu *menu, const QModelIndex &atInd
       if ( !action.runable() )
         continue;
 
+      if ( !vl->isEditable() && action.isEnabledOnlyWhenEditable() )
+        continue;
+
       QgsAttributeTableAction *a = new QgsAttributeTableAction( action.name(), this, action.id(), sourceIndex );
 #if QT_VERSION < QT_VERSION_CHECK(5, 6, 0)
       menu->addAction( action.name(), a, SLOT( execute() ) );
@@ -599,11 +602,11 @@ void QgsDualView::viewWillShowContextMenu( QMenu *menu, const QModelIndex &atInd
   }
 
   menu->addSeparator();
-  QgsAttributeTableAction *a = new QgsAttributeTableAction( tr( "Open form" ), this, QString(), sourceIndex );
+  QgsAttributeTableAction *a = new QgsAttributeTableAction( tr( "Open Form" ), this, QString(), sourceIndex );
 #if QT_VERSION < QT_VERSION_CHECK(5, 6, 0)
-  menu->addAction( tr( "Open form" ), a, SLOT( featureForm() ) );
+  menu->addAction( tr( "Open Form" ), a, SLOT( featureForm() ) );
 #else
-  menu->addAction( tr( "Open form" ), a, &QgsAttributeTableAction::featureForm );
+  menu->addAction( tr( "Open Form" ), a, &QgsAttributeTableAction::featureForm );
 #endif
 }
 
@@ -621,11 +624,11 @@ void QgsDualView::showViewHeaderMenu( QPoint point )
   delete mHorizontalHeaderMenu;
   mHorizontalHeaderMenu = new QMenu( this );
 
-  QAction *hide = new QAction( tr( "&Hide column" ), mHorizontalHeaderMenu );
+  QAction *hide = new QAction( tr( "&Hide Column" ), mHorizontalHeaderMenu );
   connect( hide, &QAction::triggered, this, &QgsDualView::hideColumn );
   hide->setData( col );
   mHorizontalHeaderMenu->addAction( hide );
-  QAction *setWidth = new QAction( tr( "&Set width…" ), mHorizontalHeaderMenu );
+  QAction *setWidth = new QAction( tr( "&Set Width…" ), mHorizontalHeaderMenu );
   connect( setWidth, &QAction::triggered, this, &QgsDualView::resizeColumn );
   setWidth->setData( col );
   mHorizontalHeaderMenu->addAction( setWidth );
@@ -635,7 +638,7 @@ void QgsDualView::showViewHeaderMenu( QPoint point )
   mHorizontalHeaderMenu->addAction( optimizeWidth );
 
   mHorizontalHeaderMenu->addSeparator();
-  QAction *organize = new QAction( tr( "&Organize columns…" ), mHorizontalHeaderMenu );
+  QAction *organize = new QAction( tr( "&Organize Columns…" ), mHorizontalHeaderMenu );
   connect( organize, &QAction::triggered, this, &QgsDualView::organizeColumns );
   mHorizontalHeaderMenu->addAction( organize );
   QAction *sort = new QAction( tr( "&Sort…" ), mHorizontalHeaderMenu );
diff --git a/src/gui/editorwidgets/qgsdatetimeedit.cpp b/src/gui/editorwidgets/qgsdatetimeedit.cpp
index 588632f..37e21cd 100644
--- a/src/gui/editorwidgets/qgsdatetimeedit.cpp
+++ b/src/gui/editorwidgets/qgsdatetimeedit.cpp
@@ -26,6 +26,8 @@
 #include "qgsapplication.h"
 #include "qgslogger.h"
 
+
+
 QgsDateTimeEdit::QgsDateTimeEdit( QWidget *parent )
   : QDateTimeEdit( parent )
 {
@@ -70,6 +72,10 @@ void QgsDateTimeEdit::clear()
     disconnect( this, &QDateTimeEdit::dateTimeChanged, this, &QgsDateTimeEdit::changed );
     emit dateTimeChanged( QDateTime() );
     connect( this, &QDateTimeEdit::dateTimeChanged, this, &QgsDateTimeEdit::changed );
+
+    // otherwise, NULL is not displayed in the line edit
+    // this might not be the right way to do it
+    clearFocus();
   }
 }
 
@@ -81,7 +87,7 @@ void QgsDateTimeEdit::setEmpty()
 
 void QgsDateTimeEdit::mousePressEvent( QMouseEvent *event )
 {
-  // catch mouse press on the button
+  // catch mouse press on the button (when the current value is null)
   // in non-calendar mode: modifiy the date  so it leads to showing current date (don't bother about time)
   // in calendar mode: be sure NULL is displayed when needed and show page of current date in calendar widget
 
@@ -89,23 +95,37 @@ void QgsDateTimeEdit::mousePressEvent( QMouseEvent *event )
 
   if ( mIsNull )
   {
-    QStyleOptionSpinBox opt;
-    this->initStyleOption( &opt );
-    const QRect buttonUpRect = style()->subControlRect( QStyle::CC_SpinBox, &opt, QStyle::SC_SpinBoxUp );
-    const QRect buttonDownRect = style()->subControlRect( QStyle::CC_SpinBox, &opt, QStyle::SC_SpinBoxDown );
-    if ( buttonUpRect.contains( event->pos() ) || buttonDownRect.contains( event->pos() ) )
+    QStyle::SubControl control;
+    if ( calendarPopup() )
     {
-      if ( calendarPopup() && calendarWidget() )
+      QStyleOptionComboBox optCombo;
+      optCombo.init( this );
+      optCombo.editable = true;
+      optCombo.subControls = QStyle::SC_All;
+      control = style()->hitTestComplexControl( QStyle::CC_ComboBox, &optCombo, event->pos(), this );
+
+      if ( control == QStyle::SC_ComboBoxArrow && calendarWidget() )
       {
+        mCurrentPressEvent = true;
         // ensure the line edit still displays NULL
-        displayNull( true );
         updateCalendar = true;
+        displayNull( updateCalendar );
+        mCurrentPressEvent = false;
       }
-      else
+    }
+    else
+    {
+      QStyleOptionSpinBox opt;
+      this->initStyleOption( &opt );
+      control  = style()->hitTestComplexControl( QStyle::CC_SpinBox, &opt, event->pos(), this );
+
+      if ( control == QStyle::SC_SpinBoxDown || control == QStyle::SC_SpinBoxUp )
       {
-        blockSignals( true );
-        resetBeforeChange( buttonUpRect.contains( event->pos() ) ? -1 : 1 );
-        blockSignals( false );
+        mCurrentPressEvent = true;
+        disconnect( this, &QDateTimeEdit::dateTimeChanged, this, &QgsDateTimeEdit::changed );
+        resetBeforeChange( control == QStyle::SC_SpinBoxDown ? -1 : 1 );
+        connect( this, &QDateTimeEdit::dateTimeChanged, this, &QgsDateTimeEdit::changed );
+        mCurrentPressEvent = false;
       }
     }
   }
@@ -121,13 +141,13 @@ void QgsDateTimeEdit::mousePressEvent( QMouseEvent *event )
 
 void QgsDateTimeEdit::focusOutEvent( QFocusEvent *event )
 {
-  if ( mAllowNull && mIsNull )
+  if ( mAllowNull && mIsNull && !mCurrentPressEvent )
   {
+    QAbstractSpinBox::focusOutEvent( event );
     if ( lineEdit()->text() != QgsApplication::nullRepresentation() )
     {
       displayNull();
     }
-    QAbstractSpinBox::focusOutEvent( event );
     emit editingFinished();
   }
   else
@@ -184,7 +204,7 @@ void QgsDateTimeEdit::changed( const QDateTime &dateTime )
 
 void QgsDateTimeEdit::displayNull( bool updateCalendar )
 {
-  blockSignals( true );
+  disconnect( this, &QDateTimeEdit::dateTimeChanged, this, &QgsDateTimeEdit::changed );
   if ( updateCalendar )
   {
     // set current time to minimum date time to avoid having
@@ -192,7 +212,7 @@ void QgsDateTimeEdit::displayNull( bool updateCalendar )
     QDateTimeEdit::setDateTime( minimumDateTime() );
   }
   lineEdit()->setText( QgsApplication::nullRepresentation() );
-  blockSignals( false );
+  connect( this, &QDateTimeEdit::dateTimeChanged, this, &QgsDateTimeEdit::changed );
 }
 
 void QgsDateTimeEdit::resetBeforeChange( int delta )
diff --git a/src/gui/editorwidgets/qgsdatetimeedit.h b/src/gui/editorwidgets/qgsdatetimeedit.h
index 8ffe875..d5d9831 100644
--- a/src/gui/editorwidgets/qgsdatetimeedit.h
+++ b/src/gui/editorwidgets/qgsdatetimeedit.h
@@ -88,6 +88,7 @@ class GUI_EXPORT QgsDateTimeEdit : public QDateTimeEdit
     bool mAllowNull = true;
     bool mIsNull = false;
     bool mIsEmpty = false;
+    bool mCurrentPressEvent = false;
 
     QString mOriginalStyleSheet = QString();
     QAction *mClearAction;
diff --git a/src/gui/editorwidgets/qgsdatetimeeditwrapper.cpp b/src/gui/editorwidgets/qgsdatetimeeditwrapper.cpp
index fcc64a0..bdcc4c7 100644
--- a/src/gui/editorwidgets/qgsdatetimeeditwrapper.cpp
+++ b/src/gui/editorwidgets/qgsdatetimeeditwrapper.cpp
@@ -126,15 +126,22 @@ void QgsDateTimeEditWrapper::dateTimeChanged( const QDateTime &dateTime )
       emit valueChanged( dateTime.time() );
       break;
     default:
-      const bool fieldIsoFormat = config( QStringLiteral( "field_iso_format" ), false ).toBool();
-      const QString fieldFormat = config( QStringLiteral( "field_format" ), QgsDateTimeFieldFormatter::defaultFormat( field().type() ) ).toString();
-      if ( fieldIsoFormat )
+      if ( !dateTime.isValid() || dateTime.isNull() )
       {
-        emit valueChanged( dateTime.toString( Qt::ISODate ) );
+        emit valueChanged( QVariant( field().type() ) );
       }
       else
       {
-        emit valueChanged( dateTime.toString( fieldFormat ) );
+        const bool fieldIsoFormat = config( QStringLiteral( "field_iso_format" ), false ).toBool();
+        const QString fieldFormat = config( QStringLiteral( "field_format" ), QgsDateTimeFieldFormatter::defaultFormat( field().type() ) ).toString();
+        if ( fieldIsoFormat )
+        {
+          emit valueChanged( dateTime.toString( Qt::ISODate ) );
+        }
+        else
+        {
+          emit valueChanged( dateTime.toString( fieldFormat ) );
+        }
       }
       break;
   }
diff --git a/src/gui/effects/qgseffectstackpropertieswidget.cpp b/src/gui/effects/qgseffectstackpropertieswidget.cpp
index 264235c..5ba18a2 100644
--- a/src/gui/effects/qgseffectstackpropertieswidget.cpp
+++ b/src/gui/effects/qgseffectstackpropertieswidget.cpp
@@ -390,7 +390,7 @@ QgsEffectStackCompactWidget::QgsEffectStackCompactWidget( QWidget *parent, QgsPa
 {
   QHBoxLayout *layout = new QHBoxLayout();
   layout->setContentsMargins( 0, 0, 0, 0 );
-  layout->setSpacing( 0 );
+  layout->setSpacing( 6 );
   setLayout( layout );
 
   mEnabledCheckBox = new QCheckBox( this );
diff --git a/src/gui/layertree/qgslayertreemapcanvasbridge.cpp b/src/gui/layertree/qgslayertreemapcanvasbridge.cpp
index b66c70e..2f3fc8d 100644
--- a/src/gui/layertree/qgslayertreemapcanvasbridge.cpp
+++ b/src/gui/layertree/qgslayertreemapcanvasbridge.cpp
@@ -49,6 +49,9 @@ void QgsLayerTreeMapCanvasBridge::setCanvasLayers()
       QgsLayerTreeLayer *nodeLayer = mRoot->findLayer( layer->id() );
       if ( nodeLayer )
       {
+        if ( !nodeLayer->layer()->isSpatial() )
+          continue;
+
         allLayerOrder << nodeLayer->layer();
         if ( nodeLayer->isVisible() )
           canvasLayers << nodeLayer->layer();
@@ -106,11 +109,14 @@ void QgsLayerTreeMapCanvasBridge::setCanvasLayers( QgsLayerTreeNode *node, QList
   if ( QgsLayerTree::isLayer( node ) )
   {
     QgsLayerTreeLayer *nodeLayer = QgsLayerTree::toLayer( node );
-    allLayers << nodeLayer->layer();
-    if ( nodeLayer->isVisible() )
-      canvasLayers << nodeLayer->layer();
-    if ( nodeLayer->customProperty( QStringLiteral( "overview" ), 0 ).toInt() )
-      overviewLayers << nodeLayer->layer();
+    if ( nodeLayer->layer() && nodeLayer->layer()->isSpatial() )
+    {
+      allLayers << nodeLayer->layer();
+      if ( nodeLayer->isVisible() )
+        canvasLayers << nodeLayer->layer();
+      if ( nodeLayer->customProperty( QStringLiteral( "overview" ), 0 ).toInt() )
+        overviewLayers << nodeLayer->layer();
+    }
   }
 
   Q_FOREACH ( QgsLayerTreeNode *child, node->children() )
diff --git a/src/gui/layertree/qgslayertreeviewdefaultactions.cpp b/src/gui/layertree/qgslayertreeviewdefaultactions.cpp
index 8865929..75c0e71 100644
--- a/src/gui/layertree/qgslayertreeviewdefaultactions.cpp
+++ b/src/gui/layertree/qgslayertreeviewdefaultactions.cpp
@@ -129,9 +129,9 @@ QAction *QgsLayerTreeViewDefaultActions::actionCheckAndAllChildren( QObject *par
   if ( !node || !QgsLayerTree::isGroup( node ) || node->isItemVisibilityCheckedRecursive() )
     return nullptr;
 #ifdef Q_OS_MACX
-  QAction *a = new QAction( tr( "Check and all its children (⌘-click)" ), parent );
+  QAction *a = new QAction( tr( "Check and all its Children (⌘-click)" ), parent );
 #else
-  QAction *a = new QAction( tr( "Check and all its children (Ctrl-click)" ), parent );
+  QAction *a = new QAction( tr( "Check and all its Children (Ctrl-click)" ), parent );
 #endif
   connect( a, &QAction::triggered, this, &QgsLayerTreeViewDefaultActions::checkAndAllChildren );
   return a;
@@ -143,9 +143,9 @@ QAction *QgsLayerTreeViewDefaultActions::actionUncheckAndAllChildren( QObject *p
   if ( !node || !QgsLayerTree::isGroup( node ) || node->isItemVisibilityUncheckedRecursive() )
     return nullptr;
 #ifdef Q_OS_MACX
-  QAction *a = new QAction( tr( "Uncheck and all its children (⌘-click)" ), parent );
+  QAction *a = new QAction( tr( "Uncheck and all its Children (⌘-click)" ), parent );
 #else
-  QAction *a = new QAction( tr( "Uncheck and all its children (Ctrl-click)" ), parent );
+  QAction *a = new QAction( tr( "Uncheck and all its Children (Ctrl-click)" ), parent );
 #endif
   connect( a, &QAction::triggered, this, &QgsLayerTreeViewDefaultActions::uncheckAndAllChildren );
   return a;
@@ -156,7 +156,7 @@ QAction *QgsLayerTreeViewDefaultActions::actionCheckAndAllParents( QObject *pare
   QgsLayerTreeNode *node = mView->currentNode();
   if ( !node || !QgsLayerTree::isLayer( node ) || node->isVisible() )
     return nullptr;
-  QAction *a = new QAction( tr( "Check and all its parents" ), parent );
+  QAction *a = new QAction( tr( "Check and all its Parents" ), parent );
   connect( a, &QAction::triggered, this, &QgsLayerTreeViewDefaultActions::checkAndAllParents );
   return a;
 }
diff --git a/src/gui/layout/qgslayoutnewitempropertiesdialog.cpp b/src/gui/layout/qgslayoutnewitempropertiesdialog.cpp
index c78c012..9fa5f98 100644
--- a/src/gui/layout/qgslayoutnewitempropertiesdialog.cpp
+++ b/src/gui/layout/qgslayoutnewitempropertiesdialog.cpp
@@ -42,7 +42,7 @@ QgsLayoutItemPropertiesDialog::QgsLayoutItemPropertiesDialog( QWidget *parent, Q
   QgsSettings settings;
   double lastWidth = settings.value( QStringLiteral( "LayoutDesigner/lastItemWidth" ), QStringLiteral( "50" ) ).toDouble();
   double lastHeight = settings.value( QStringLiteral( "LayoutDesigner/lastItemHeight" ), QStringLiteral( "50" ) ).toDouble();
-  QgsUnitTypes::LayoutUnit lastSizeUnit = settings.enumSettingValue( QStringLiteral( "LayoutDesigner/lastSizeUnit" ), QgsUnitTypes::LayoutMillimeters );
+  QgsUnitTypes::LayoutUnit lastSizeUnit = settings.enumValue( QStringLiteral( "LayoutDesigner/lastSizeUnit" ), QgsUnitTypes::LayoutMillimeters );
   setItemSize( QgsLayoutSize( lastWidth, lastHeight, lastSizeUnit ) );
 
   mPosUnitsComboBox->linkToWidget( mXPosSpin );
diff --git a/src/gui/processing/qgsprocessingalgorithmdialogbase.cpp b/src/gui/processing/qgsprocessingalgorithmdialogbase.cpp
index 25e518c..3b81aa9 100644
--- a/src/gui/processing/qgsprocessingalgorithmdialogbase.cpp
+++ b/src/gui/processing/qgsprocessingalgorithmdialogbase.cpp
@@ -38,9 +38,9 @@ void QgsProcessingAlgorithmDialogFeedback::setProgressText( const QString &text
   emit progressTextChanged( text );
 }
 
-void QgsProcessingAlgorithmDialogFeedback::reportError( const QString &error )
+void QgsProcessingAlgorithmDialogFeedback::reportError( const QString &error, bool fatalError )
 {
-  emit errorReported( error );
+  emit errorReported( error, fatalError );
 }
 
 void QgsProcessingAlgorithmDialogFeedback::pushInfo( const QString &info )
@@ -233,7 +233,7 @@ void QgsProcessingAlgorithmDialogBase::openHelp()
   QUrl algHelp = mAlgorithm->helpUrl();
   if ( algHelp.isEmpty() )
   {
-    algHelp = QgsHelp::helpUrl( QStringLiteral( "processing_algs/%1/%2.html#%3" ).arg( mAlgorithm->provider()->helpId(), mAlgorithm->groupId(), mAlgorithm->name() ) );
+    algHelp = QgsHelp::helpUrl( QStringLiteral( "processing_algs/%1/%2.html#%3" ).arg( mAlgorithm->provider()->helpId(), mAlgorithm->groupId(), QStringLiteral( "%1%2" ).arg( mAlgorithm->provider()->helpId() ).arg( mAlgorithm->name() ) ) );
   }
 
   if ( !algHelp.isEmpty() )
@@ -316,10 +316,11 @@ void QgsProcessingAlgorithmDialogBase::closeClicked()
   close();
 }
 
-void QgsProcessingAlgorithmDialogBase::reportError( const QString &error )
+void QgsProcessingAlgorithmDialogBase::reportError( const QString &error, bool fatalError )
 {
   setInfo( error, true );
-  resetGui();
+  if ( fatalError )
+    resetGui();
   showLog();
   processEvents();
 }
@@ -332,21 +333,21 @@ void QgsProcessingAlgorithmDialogBase::pushInfo( const QString &info )
 
 void QgsProcessingAlgorithmDialogBase::pushCommandInfo( const QString &command )
 {
-  txtLog->append( QStringLiteral( "<code>%1<code>" ).arg( command.toHtmlEscaped() ) );
+  txtLog->append( QStringLiteral( "<code>%1<code>" ).arg( formatStringForLog( command.toHtmlEscaped() ) ) );
   scrollToBottomOfLog();
   processEvents();
 }
 
 void QgsProcessingAlgorithmDialogBase::pushDebugInfo( const QString &message )
 {
-  txtLog->append( QStringLiteral( "<span style=\"color:blue\">%1</span>" ).arg( message.toHtmlEscaped() ) );
+  txtLog->append( QStringLiteral( "<span style=\"color:blue\">%1</span>" ).arg( formatStringForLog( message.toHtmlEscaped() ) ) );
   scrollToBottomOfLog();
   processEvents();
 }
 
 void QgsProcessingAlgorithmDialogBase::pushConsoleInfo( const QString &info )
 {
-  txtLog->append( QStringLiteral( "<code><span style=\"color:blue\">%1</darkgray></code>" ).arg( info.toHtmlEscaped() ) );
+  txtLog->append( QStringLiteral( "<code><span style=\"color:blue\">%1</darkgray></code>" ).arg( formatStringForLog( info.toHtmlEscaped() ) ) );
   scrollToBottomOfLog();
   processEvents();
 }
@@ -473,14 +474,21 @@ void QgsProcessingAlgorithmDialogBase::setCurrentTask( QgsProcessingAlgRunnerTas
   QgsApplication::taskManager()->addTask( mAlgorithmTask );
 }
 
+QString QgsProcessingAlgorithmDialogBase::formatStringForLog( const QString &string )
+{
+  QString s = string;
+  s.replace( '\n', QStringLiteral( "<br>" ) );
+  return s;
+}
+
 void QgsProcessingAlgorithmDialogBase::setInfo( const QString &message, bool isError, bool escapeHtml )
 {
   if ( isError )
-    txtLog->append( QStringLiteral( "<span style=\"color:red\">%1</span><br />" ).arg( message ) );
+    txtLog->append( QStringLiteral( "<span style=\"color:red\">%1</span>" ).arg( formatStringForLog( message ) ) );
   else if ( escapeHtml )
-    txtLog->append( message.toHtmlEscaped() );
+    txtLog->append( formatStringForLog( message.toHtmlEscaped() ) );
   else
-    txtLog->append( message );
+    txtLog->append( formatStringForLog( message ) );
   scrollToBottomOfLog();
   processEvents();
 }
diff --git a/src/gui/processing/qgsprocessingalgorithmdialogbase.h b/src/gui/processing/qgsprocessingalgorithmdialogbase.h
index 0032048..765d9cd 100644
--- a/src/gui/processing/qgsprocessingalgorithmdialogbase.h
+++ b/src/gui/processing/qgsprocessingalgorithmdialogbase.h
@@ -54,7 +54,7 @@ class QgsProcessingAlgorithmDialogFeedback : public QgsProcessingFeedback
   signals:
 
     void progressTextChanged( const QString &text );
-    void errorReported( const QString &text );
+    void errorReported( const QString &text, bool fatalError );
     void infoPushed( const QString &text );
     void commandInfoPushed( const QString &text );
     void debugInfoPushed( const QString &text );
@@ -63,7 +63,7 @@ class QgsProcessingAlgorithmDialogFeedback : public QgsProcessingFeedback
   public slots:
 
     void setProgressText( const QString &text ) override;
-    void reportError( const QString &error ) override;
+    void reportError( const QString &error, bool fatalError ) override;
     void pushInfo( const QString &info ) override;
     void pushCommandInfo( const QString &info ) override;
     void pushDebugInfo( const QString &info ) override;
@@ -150,8 +150,10 @@ class GUI_EXPORT QgsProcessingAlgorithmDialogBase : public QDialog, private Ui::
 
     /**
      * Reports an \a error string to the dialog's log.
+     *
+     * If \a fatalError is true, the error prevented the algorithm from executing.
      */
-    void reportError( const QString &error );
+    void reportError( const QString &error, bool fatalError );
 
     /**
      * Pushes an information string to the dialog's log.
@@ -258,6 +260,13 @@ class GUI_EXPORT QgsProcessingAlgorithmDialogBase : public QDialog, private Ui::
      */
     void setCurrentTask( QgsProcessingAlgRunnerTask *task SIP_TRANSFER );
 
+    /**
+     * Formats an input \a string for display in the log tab.
+     *
+     * \since QGIS 3.0.1
+     */
+    static QString formatStringForLog( const QString &string );
+
   protected slots:
 
     /**
diff --git a/src/gui/qgsactionmenu.cpp b/src/gui/qgsactionmenu.cpp
index c7371b7..3b0eda3 100644
--- a/src/gui/qgsactionmenu.cpp
+++ b/src/gui/qgsactionmenu.cpp
@@ -44,6 +44,9 @@ void QgsActionMenu::init()
   setTitle( tr( "&Actions" ) );
 
   connect( QgsGui::mapLayerActionRegistry(), &QgsMapLayerActionRegistry::changed, this, &QgsActionMenu::reloadActions );
+  connect( mLayer, &QgsVectorLayer::editingStarted, this, &QgsActionMenu::reloadActions );
+  connect( mLayer, &QgsVectorLayer::editingStopped, this, &QgsActionMenu::reloadActions );
+  connect( mLayer, &QgsVectorLayer::readOnlyChanged, this, &QgsActionMenu::reloadActions );
 
   reloadActions();
 }
@@ -63,6 +66,12 @@ void QgsActionMenu::setFeature( const QgsFeature &feature )
   mFeature = feature;
 }
 
+void QgsActionMenu::setMode( const QgsAttributeForm::Mode mode )
+{
+  mMode = mode;
+  reloadActions();
+}
+
 void QgsActionMenu::triggerAction()
 {
   if ( !feature().isValid() )
@@ -107,6 +116,12 @@ void QgsActionMenu::reloadActions()
 
   Q_FOREACH ( const QgsAction &action, mActions )
   {
+    if ( !mLayer->isEditable() && action.isEnabledOnlyWhenEditable() )
+      continue;
+
+    if ( action.isEnabledOnlyWhenEditable() && ( mMode == QgsAttributeForm::AddFeatureMode || mMode == QgsAttributeForm::IdentifyMode ) )
+      continue;
+
     QgsAction act( action );
     act.setExpressionContextScope( mExpressionContextScope );
 
@@ -138,6 +153,10 @@ void QgsActionMenu::reloadActions()
     for ( int i = 0; i < mapLayerActions.size(); ++i )
     {
       QgsMapLayerAction *qaction = mapLayerActions.at( i );
+
+      if ( qaction->isEnabledOnlyWhenEditable() && ( mMode == QgsAttributeForm::AddFeatureMode || mMode == QgsAttributeForm::IdentifyMode ) )
+        continue;
+
       QAction *qAction = new QAction( qaction->icon(), qaction->text(), this );
       qAction->setData( QVariant::fromValue<ActionData>( ActionData( qaction, mFeatureId, mLayer ) ) );
       addAction( qAction );
diff --git a/src/gui/qgsactionmenu.h b/src/gui/qgsactionmenu.h
index ca75ec4..a5a23aa 100644
--- a/src/gui/qgsactionmenu.h
+++ b/src/gui/qgsactionmenu.h
@@ -23,6 +23,7 @@
 #include "qgsfeature.h"
 #include "qgsaction.h"
 #include "qgis_gui.h"
+#include "qgsattributeform.h"
 
 class QgsMapLayer;
 class QgsMapLayerAction;
@@ -92,6 +93,13 @@ class GUI_EXPORT QgsActionMenu : public QMenu
     void setFeature( const QgsFeature &feature );
 
     /**
+     * Change the mode of the actions
+     *
+     * \param mode The mode of the attribute form
+     */
+    void setMode( const QgsAttributeForm::Mode mode );
+
+    /**
      * Sets an expression context scope used to resolve underlying actions.
      *
      * \since QGIS 3.0
@@ -122,6 +130,7 @@ class GUI_EXPORT QgsActionMenu : public QMenu
     QgsFeatureId mFeatureId;
     QString mActionScope;
     QgsExpressionContextScope mExpressionContextScope;
+    QgsAttributeForm::Mode mMode;
 };
 
 
diff --git a/src/gui/qgsattributedialog.cpp b/src/gui/qgsattributedialog.cpp
index dc17f68..fc4ebfa 100644
--- a/src/gui/qgsattributedialog.cpp
+++ b/src/gui/qgsattributedialog.cpp
@@ -17,11 +17,9 @@
 
 #include "qgsattributedialog.h"
 
-#include "qgsgui.h"
 #include "qgsattributeform.h"
 #include "qgshighlight.h"
 #include "qgsapplication.h"
-#include "qgsactionmenu.h"
 #include "qgssettings.h"
 
 QgsAttributeDialog::QgsAttributeDialog( QgsVectorLayer *vl, QgsFeature *thepFeature, bool featureOwner, QWidget *parent, bool showDialogButtons, const QgsAttributeEditorContext &context )
@@ -41,6 +39,22 @@ QgsAttributeDialog::~QgsAttributeDialog()
 
   if ( mOwnedFeature )
     delete mOwnedFeature;
+
+  saveGeometry();
+}
+
+void QgsAttributeDialog::saveGeometry()
+{
+  // WARNING!!!! Don't use QgsGui::enableAutoGeometryRestore for this dialog -- the object name
+  // is dynamic and is set to match the layer/feature combination.
+  QgsSettings().setValue( QStringLiteral( "Windows/AttributeDialog/geometry" ), QDialog::saveGeometry() );
+}
+
+void QgsAttributeDialog::restoreGeometry()
+{
+  // WARNING!!!! Don't use QgsGui::enableAutoGeometryRestore for this dialog -- the object name
+  // is dynamic and is set to match the layer/feature combination.
+  QDialog::restoreGeometry( QgsSettings().value( QStringLiteral( "Windows/AttributeDialog/geometry" ) ).toByteArray() );
 }
 
 void QgsAttributeDialog::setHighlight( QgsHighlight *h )
@@ -74,7 +88,6 @@ void QgsAttributeDialog::reject()
 
 void QgsAttributeDialog::init( QgsVectorLayer *layer, QgsFeature *feature, const QgsAttributeEditorContext &context, bool showDialogButtons )
 {
-  QgsGui::enableAutoGeometryRestore( this );
   QgsAttributeEditorContext trackedContext = context;
   setWindowTitle( tr( "%1 - Feature Attributes" ).arg( layer->name() ) );
   setLayout( new QGridLayout() );
@@ -92,21 +105,24 @@ void QgsAttributeDialog::init( QgsVectorLayer *layer, QgsFeature *feature, const
   connect( buttonBox, &QDialogButtonBox::accepted, this, &QgsAttributeDialog::accept );
   connect( layer, &QObject::destroyed, this, &QWidget::close );
 
-  QgsActionMenu *menu = new QgsActionMenu( layer, mAttributeForm->feature(), QStringLiteral( "Feature" ), this );
-  if ( !menu->actions().isEmpty() )
+  mMenu = new QgsActionMenu( layer, mAttributeForm->feature(), QStringLiteral( "Feature" ), this );
+  if ( !mMenu->actions().isEmpty() )
   {
     QMenuBar *menuBar = new QMenuBar( this );
-    menuBar->addMenu( menu );
+    menuBar->addMenu( mMenu );
     layout()->setMenuBar( menuBar );
   }
-  else
-  {
-    delete menu;
-  }
 
+  restoreGeometry();
   focusNextChild();
 }
 
+void QgsAttributeDialog::setMode( QgsAttributeForm::Mode mode )
+{
+  mAttributeForm->setMode( mode );
+  mMenu->setMode( mode );
+}
+
 bool QgsAttributeDialog::event( QEvent *e )
 {
   if ( e->type() == QEvent::WindowActivate && mHighlight )
diff --git a/src/gui/qgsattributedialog.h b/src/gui/qgsattributedialog.h
index f809142..d2a725b 100644
--- a/src/gui/qgsattributedialog.h
+++ b/src/gui/qgsattributedialog.h
@@ -21,6 +21,7 @@
 #include "qgis.h"
 #include "qgsattributeform.h"
 #include "qgstrackedvectorlayertools.h"
+#include "qgsactionmenu.h"
 
 #include <QDialog>
 #include <QMenuBar>
@@ -77,7 +78,7 @@ class GUI_EXPORT QgsAttributeDialog : public QDialog
      * \param mode form mode. For example, if set to QgsAttributeForm::AddFeatureMode, the dialog will be editable even with an invalid feature and
      * will add a new feature when the form is accepted.
      */
-    void setMode( QgsAttributeForm::Mode mode ) { mAttributeForm->setMode( mode ); }
+    void setMode( QgsAttributeForm::Mode mode );
 
     /**
      * Sets the edit command message (Undo) that will be used when the dialog is accepted
@@ -119,9 +120,13 @@ class GUI_EXPORT QgsAttributeDialog : public QDialog
     // true if this dialog is editable
     bool mEditable;
 
+    QgsActionMenu *mMenu;
+
     static int sFormCounter;
     static QString sSettingsPath;
 
+    void saveGeometry();
+    void restoreGeometry();
 };
 
 #endif
diff --git a/src/gui/qgsattributeform.cpp b/src/gui/qgsattributeform.cpp
index 3edbd58..df1e982 100644
--- a/src/gui/qgsattributeform.cpp
+++ b/src/gui/qgsattributeform.cpp
@@ -175,6 +175,10 @@ void QgsAttributeForm::setMode( QgsAttributeForm::Mode mode )
       case QgsAttributeForm::AggregateSearchMode:
         w->setMode( QgsAttributeFormWidget::AggregateSearchMode );
         break;
+
+      case QgsAttributeForm::IdentifyMode:
+        w->setMode( QgsAttributeFormWidget::DefaultMode );
+        break;
     }
   }
 
@@ -211,6 +215,11 @@ void QgsAttributeForm::setMode( QgsAttributeForm::Mode mode )
       mSearchButtonBox->setVisible( false );
       hideButtonBox();
       break;
+
+    case QgsAttributeForm::IdentifyMode:
+      setFeature( mFeature );
+      mSearchButtonBox->setVisible( false );
+      break;
   }
 
   emit modeChanged( mMode );
@@ -236,6 +245,7 @@ void QgsAttributeForm::setFeature( const QgsFeature &feature )
   switch ( mMode )
   {
     case SingleEditMode:
+    case IdentifyMode:
     case AddFeatureMode:
     {
       resetValues();
@@ -581,6 +591,7 @@ bool QgsAttributeForm::save()
   switch ( mMode )
   {
     case SingleEditMode:
+    case IdentifyMode:
     case MultiEditMode:
       if ( !mDirty )
         return true;
@@ -605,6 +616,7 @@ bool QgsAttributeForm::save()
   switch ( mMode )
   {
     case SingleEditMode:
+    case IdentifyMode:
     case AddFeatureMode:
     case SearchMode:
     case AggregateSearchMode:
@@ -692,6 +704,7 @@ void QgsAttributeForm::onAttributeChanged( const QVariant &value )
   switch ( mMode )
   {
     case SingleEditMode:
+    case IdentifyMode:
     case AddFeatureMode:
     {
       emit attributeChanged( eww->field().name(), value );
@@ -1086,6 +1099,7 @@ void QgsAttributeForm::init()
   vl->addWidget( container );
 
   mFormEditorWidgets.clear();
+  mFormWidgets.clear();
 
   // a bar to warn the user with non-blocking messages
   setContentsMargins( 0, 0, 0, 0 );
@@ -1876,6 +1890,7 @@ void QgsAttributeForm::layerSelectionChanged()
   switch ( mMode )
   {
     case SingleEditMode:
+    case IdentifyMode:
     case AddFeatureMode:
     case SearchMode:
     case AggregateSearchMode:
diff --git a/src/gui/qgsattributeform.h b/src/gui/qgsattributeform.h
index 4b44661..6102825 100644
--- a/src/gui/qgsattributeform.h
+++ b/src/gui/qgsattributeform.h
@@ -55,6 +55,7 @@ class GUI_EXPORT QgsAttributeForm : public QWidget
       MultiEditMode, //!< Multi edit mode, for editing fields of multiple features at once
       SearchMode, //!< Form values are used for searching/filtering the layer
       AggregateSearchMode, //!< Form is in aggregate search mode, show each widget in this mode \since QGIS 3.0
+      IdentifyMode //!< Identify the feature \since QGIS 3.0
     };
 
     //! Filter types
diff --git a/src/gui/qgscolorbutton.cpp b/src/gui/qgscolorbutton.cpp
index f82a7dd..0b40cd6 100644
--- a/src/gui/qgscolorbutton.cpp
+++ b/src/gui/qgscolorbutton.cpp
@@ -433,7 +433,7 @@ void QgsColorButton::prepareMenu()
 
   if ( mShowNull )
   {
-    QAction *nullAction = new QAction( tr( "Clear color" ), this );
+    QAction *nullAction = new QAction( tr( "Clear Color" ), this );
     nullAction->setIcon( createMenuIcon( Qt::transparent, false ) );
     mMenu->addAction( nullAction );
     connect( nullAction, &QAction::triggered, this, &QgsColorButton::setToNull );
@@ -442,7 +442,7 @@ void QgsColorButton::prepareMenu()
   //show default color option if set
   if ( mDefaultColor.isValid() )
   {
-    QAction *defaultColorAction = new QAction( tr( "Default color" ), this );
+    QAction *defaultColorAction = new QAction( tr( "Default Color" ), this );
     defaultColorAction->setIcon( createMenuIcon( mDefaultColor ) );
     mMenu->addAction( defaultColorAction );
     connect( defaultColorAction, &QAction::triggered, this, &QgsColorButton::setToDefaultColor );
@@ -494,11 +494,11 @@ void QgsColorButton::prepareMenu()
 
   mMenu->addSeparator();
 
-  QAction *copyColorAction = new QAction( tr( "Copy color" ), this );
+  QAction *copyColorAction = new QAction( tr( "Copy Color" ), this );
   mMenu->addAction( copyColorAction );
   connect( copyColorAction, &QAction::triggered, this, &QgsColorButton::copyColor );
 
-  QAction *pasteColorAction = new QAction( tr( "Paste color" ), this );
+  QAction *pasteColorAction = new QAction( tr( "Paste Color" ), this );
   //enable or disable paste action based on current clipboard contents. We always show the paste
   //action, even if it's disabled, to give hint to the user that pasting colors is possible
   QColor clipColor;
@@ -516,11 +516,11 @@ void QgsColorButton::prepareMenu()
   //disabled for OSX, as it is impossible to grab the mouse under OSX
   //see note for QWidget::grabMouse() re OSX Cocoa
   //http://qt-project.org/doc/qt-4.8/qwidget.html#grabMouse
-  QAction *pickColorAction = new QAction( tr( "Pick color" ), this );
+  QAction *pickColorAction = new QAction( tr( "Pick Color" ), this );
   mMenu->addAction( pickColorAction );
   connect( pickColorAction, &QAction::triggered, this, &QgsColorButton::activatePicker );
 
-  QAction *chooseColorAction = new QAction( tr( "Choose color…" ), this );
+  QAction *chooseColorAction = new QAction( tr( "Choose Color…" ), this );
   mMenu->addAction( chooseColorAction );
   connect( chooseColorAction, &QAction::triggered, this, &QgsColorButton::showColorDialog );
 }
diff --git a/src/gui/qgscolorrampbutton.cpp b/src/gui/qgscolorrampbutton.cpp
index 05989c2..7ed5eba 100644
--- a/src/gui/qgscolorrampbutton.cpp
+++ b/src/gui/qgscolorrampbutton.cpp
@@ -230,14 +230,14 @@ void QgsColorRampButton::prepareMenu()
 {
   mMenu->clear();
 
-  QAction *invertAction = new QAction( tr( "Invert color ramp" ), this );
+  QAction *invertAction = new QAction( tr( "Invert Color Ramp" ), this );
   invertAction->setEnabled( !isNull() && !isRandomColorRamp() );
   mMenu->addAction( invertAction );
   connect( invertAction, &QAction::triggered, this, &QgsColorRampButton::invertColorRamp );
 
   if ( mShowNull )
   {
-    QAction *nullAction = new QAction( tr( "Clear current ramp" ), this );
+    QAction *nullAction = new QAction( tr( "Clear Current Ramp" ), this );
     mMenu->addAction( nullAction );
     connect( nullAction, &QAction::triggered, this, &QgsColorRampButton::setToNull );
   }
@@ -247,7 +247,7 @@ void QgsColorRampButton::prepareMenu()
   //show default color option if set
   if ( mDefaultColorRamp )
   {
-    QAction *defaultColorRampAction = new QAction( tr( "Default color ramp" ), this );
+    QAction *defaultColorRampAction = new QAction( tr( "Default Color Ramp" ), this );
     defaultColorRampAction->setIcon( createMenuIcon( mDefaultColorRamp ) );
     mMenu->addAction( defaultColorRampAction );
     connect( defaultColorRampAction, &QAction::triggered, this, &QgsColorRampButton::setToDefaultColorRamp );
@@ -255,7 +255,7 @@ void QgsColorRampButton::prepareMenu()
 
   if ( mShowRandomColorRamp )
   {
-    QAction *randomColorRampAction = new QAction( tr( "Random color ramp" ), this );
+    QAction *randomColorRampAction = new QAction( tr( "Random Color Ramp" ), this );
     randomColorRampAction->setCheckable( true );
     randomColorRampAction->setChecked( isRandomColorRamp() );
     mMenu->addAction( randomColorRampAction );
@@ -263,7 +263,7 @@ void QgsColorRampButton::prepareMenu()
 
     if ( isRandomColorRamp() || dynamic_cast<QgsLimitedRandomColorRamp *>( mColorRamp ) )
     {
-      QAction *shuffleRandomColorRampAction = new QAction( tr( "Shuffle random colors" ), this );
+      QAction *shuffleRandomColorRampAction = new QAction( tr( "Shuffle Random Colors" ), this );
       mMenu->addAction( shuffleRandomColorRampAction );
       connect( shuffleRandomColorRampAction, &QAction::triggered, this, &QgsColorRampButton::colorRampChanged );
     }
@@ -309,16 +309,16 @@ void QgsColorRampButton::prepareMenu()
 
   mMenu->addSeparator();
 
-  QAction *newColorRampAction = new QAction( tr( "Create new color ramp…" ), this );
+  QAction *newColorRampAction = new QAction( tr( "Create New Color Ramp…" ), this );
   connect( newColorRampAction, &QAction::triggered, this, &QgsColorRampButton::createColorRamp );
   mMenu->addAction( newColorRampAction );
 
-  QAction *editColorRampAction = new QAction( tr( "Edit color ramp…" ), this );
+  QAction *editColorRampAction = new QAction( tr( "Edit Color Ramp…" ), this );
   editColorRampAction->setEnabled( !isNull() && !isRandomColorRamp() );
   connect( editColorRampAction, &QAction::triggered, this, &QgsColorRampButton::showColorRampDialog );
   mMenu->addAction( editColorRampAction );
 
-  QAction *saveColorRampAction = new QAction( tr( "Save color ramp…" ), this );
+  QAction *saveColorRampAction = new QAction( tr( "Save Color Ramp…" ), this );
   saveColorRampAction->setEnabled( !isNull() && !isRandomColorRamp() );
   connect( saveColorRampAction, &QAction::triggered, this, &QgsColorRampButton::saveColorRamp );
   mMenu->addAction( saveColorRampAction );
diff --git a/src/gui/qgscolorwidgets.cpp b/src/gui/qgscolorwidgets.cpp
index 952e3ad..b23a982 100644
--- a/src/gui/qgscolorwidgets.cpp
+++ b/src/gui/qgscolorwidgets.cpp
@@ -1410,7 +1410,7 @@ QgsColorTextWidget::QgsColorTextWidget( QWidget *parent )
 
   //restore format setting
   QgsSettings settings;
-  mFormat = settings.enumSettingValue( QStringLiteral( "ColorWidgets/textWidgetFormat" ), HexRgb );
+  mFormat = settings.enumValue( QStringLiteral( "ColorWidgets/textWidgetFormat" ), HexRgb );
 
   updateText();
 }
diff --git a/src/gui/qgsexternalresourcewidget.cpp b/src/gui/qgsexternalresourcewidget.cpp
index 5dcec13..7e1ae03 100644
--- a/src/gui/qgsexternalresourcewidget.cpp
+++ b/src/gui/qgsexternalresourcewidget.cpp
@@ -22,6 +22,7 @@
 #include <QGridLayout>
 #include <QVariant>
 #include <QSettings>
+#include <QImageReader>
 #ifdef WITH_QTWEBKIT
 #include <QWebView>
 #endif
@@ -235,7 +236,10 @@ void QgsExternalResourceWidget::loadDocument( const QString &path )
 
     if ( mDocumentViewerContent == Image )
     {
-      QPixmap pm( resolvedPath );
+      // use an image reader to ensure image orientation and transforms are correctly handled
+      QImageReader ir( resolvedPath );
+      ir.setAutoTransform( true );
+      QPixmap pm = QPixmap::fromImage( ir.read() );
       mPixmapLabel->setPixmap( pm );
       updateDocumentViewer();
     }
diff --git a/src/gui/qgsfilterlineedit.cpp b/src/gui/qgsfilterlineedit.cpp
index 538e830..439b792 100644
--- a/src/gui/qgsfilterlineedit.cpp
+++ b/src/gui/qgsfilterlineedit.cpp
@@ -39,6 +39,7 @@ QgsFilterLineEdit::QgsFilterLineEdit( QWidget *parent, const QString &nullValue
   mClearAction->setCheckable( false );
   addAction( mClearAction, QLineEdit::TrailingPosition );
   connect( mClearAction, &QAction::triggered, this, &QgsFilterLineEdit::clearValue );
+  mClearAction->setVisible( false );
 
   QIcon searchIcon = QgsApplication::getThemeIcon( "/search.svg" );
   mSearchAction = new QAction( searchIcon, QString(), this );
@@ -178,3 +179,11 @@ bool QgsFilterLineEdit::shouldShowClear() const
   }
   return false; //avoid warnings
 }
+
+bool QgsFilterLineEdit::event( QEvent *event )
+{
+  if ( event->type() == QEvent::ReadOnlyChange )
+    updateClearIcon();
+
+  return QLineEdit::event( event );;
+}
diff --git a/src/gui/qgsfilterlineedit.h b/src/gui/qgsfilterlineedit.h
index a896817..d92709b 100644
--- a/src/gui/qgsfilterlineedit.h
+++ b/src/gui/qgsfilterlineedit.h
@@ -213,6 +213,15 @@ class GUI_EXPORT QgsFilterLineEdit : public QLineEdit
      */
     void setSelectOnFocus( bool selectOnFocus );
 
+
+    /**
+     * Reimplemented to enable/disable the clear action
+     * depending on read-only status
+     *
+     * \since QGIS 3.0.1
+     */
+    virtual bool event( QEvent *event ) override;
+
   public slots:
 
     /**
diff --git a/src/gui/qgsfontbutton.cpp b/src/gui/qgsfontbutton.cpp
index 54d598a..1ae7841 100644
--- a/src/gui/qgsfontbutton.cpp
+++ b/src/gui/qgsfontbutton.cpp
@@ -582,14 +582,14 @@ void QgsFontButton::prepareMenu()
   }
   mMenu->addMenu( recentFontMenu );
 
-  QAction *configureAction = new QAction( tr( "Configure format…" ), this );
+  QAction *configureAction = new QAction( tr( "Configure Format…" ), this );
   mMenu->addAction( configureAction );
   connect( configureAction, &QAction::triggered, this, &QgsFontButton::showSettingsDialog );
 
-  QAction *copyFormatAction = new QAction( tr( "Copy format" ), this );
+  QAction *copyFormatAction = new QAction( tr( "Copy Format" ), this );
   mMenu->addAction( copyFormatAction );
   connect( copyFormatAction, &QAction::triggered, this, &QgsFontButton::copyFormat );
-  QAction *pasteFormatAction = new QAction( tr( "Paste format" ), this );
+  QAction *pasteFormatAction = new QAction( tr( "Paste Format" ), this );
   //enable or disable paste action based on current clipboard contents. We always show the paste
   //action, even if it's disabled, to give hint to the user that pasting colors is possible
   QgsTextFormat tempFormat;
@@ -654,11 +654,11 @@ void QgsFontButton::prepareMenu()
 
     mMenu->addSeparator();
 
-    QAction *copyColorAction = new QAction( tr( "Copy color" ), this );
+    QAction *copyColorAction = new QAction( tr( "Copy Color" ), this );
     mMenu->addAction( copyColorAction );
     connect( copyColorAction, &QAction::triggered, this, &QgsFontButton::copyColor );
 
-    QAction *pasteColorAction = new QAction( tr( "Paste color" ), this );
+    QAction *pasteColorAction = new QAction( tr( "Paste Color" ), this );
     //enable or disable paste action based on current clipboard contents. We always show the paste
     //action, even if it's disabled, to give hint to the user that pasting colors is possible
     QColor clipColor;
diff --git a/src/gui/qgsidentifymenu.cpp b/src/gui/qgsidentifymenu.cpp
index 33cc70a..45ecae2 100644
--- a/src/gui/qgsidentifymenu.cpp
+++ b/src/gui/qgsidentifymenu.cpp
@@ -260,6 +260,7 @@ void QgsIdentifyMenu::addVectorLayer( QgsVectorLayer *layer, const QList<QgsMapT
     if ( !createMenu && mShowFeatureActions )
     {
       QgsActionMenu *featureActionMenu = new QgsActionMenu( layer, results[0].mFeature, QStringLiteral( "Feature" ), this );
+      featureActionMenu->setMode( QgsAttributeForm::IdentifyMode );
       createMenu  = !featureActionMenu->actions().isEmpty();
       delete featureActionMenu;
     }
@@ -345,6 +346,7 @@ void QgsIdentifyMenu::addVectorLayer( QgsVectorLayer *layer, const QList<QgsMapT
     if ( mShowFeatureActions )
     {
       featureActionMenu = new QgsActionMenu( layer, result.mFeature, QStringLiteral( "Feature" ), layerMenu );
+      featureActionMenu->setMode( QgsAttributeForm::IdentifyMode );
       featureActionMenu->setExpressionContextScope( mExpressionContextScope );
     }
 
diff --git a/src/gui/qgslegendfilterbutton.cpp b/src/gui/qgslegendfilterbutton.cpp
index 43e3dc8..e2e9cd5 100644
--- a/src/gui/qgslegendfilterbutton.cpp
+++ b/src/gui/qgslegendfilterbutton.cpp
@@ -26,10 +26,10 @@ QgsLegendFilterButton::QgsLegendFilterButton( QWidget *parent )
 
 {
   mMenu = new QMenu( this );
-  mSetExpressionAction = new QAction( tr( "Edit filter expression" ), mMenu );
+  mSetExpressionAction = new QAction( tr( "Edit Filter Expression…" ), mMenu );
   connect( mSetExpressionAction, &QAction::triggered, this, &QgsLegendFilterButton::onSetLegendFilterExpression );
 
-  mClearExpressionAction = new QAction( tr( "Clear filter expression" ), mMenu );
+  mClearExpressionAction = new QAction( tr( "Clear Filter Fxpression" ), mMenu );
   connect( mClearExpressionAction, &QAction::triggered, this, &QgsLegendFilterButton::onClearFilterExpression );
   mClearExpressionAction->setEnabled( false );
 
diff --git a/src/gui/qgsmapcanvas.cpp b/src/gui/qgsmapcanvas.cpp
index dec1c4b..0859a9e 100644
--- a/src/gui/qgsmapcanvas.cpp
+++ b/src/gui/qgsmapcanvas.cpp
@@ -151,7 +151,7 @@ QgsMapCanvas::QgsMapCanvas( QWidget *parent )
   //segmentation parameters
   QgsSettings settings;
   double segmentationTolerance = settings.value( QStringLiteral( "qgis/segmentationTolerance" ), "0.01745" ).toDouble();
-  QgsAbstractGeometry::SegmentationToleranceType toleranceType = settings.enumSettingValue( QStringLiteral( "qgis/segmentationToleranceType" ), QgsAbstractGeometry::MaximumAngle );
+  QgsAbstractGeometry::SegmentationToleranceType toleranceType = settings.enumValue( QStringLiteral( "qgis/segmentationToleranceType" ), QgsAbstractGeometry::MaximumAngle );
   mSettings.setSegmentationTolerance( segmentationTolerance );
   mSettings.setSegmentationToleranceType( toleranceType );
 
diff --git a/src/gui/qgsmaplayeractionregistry.cpp b/src/gui/qgsmaplayeractionregistry.cpp
index c72ebcc..f555a18 100644
--- a/src/gui/qgsmaplayeractionregistry.cpp
+++ b/src/gui/qgsmaplayeractionregistry.cpp
@@ -15,32 +15,36 @@
 
 #include "qgsmaplayeractionregistry.h"
 #include "qgsgui.h"
+#include "qgsvectorlayer.h"
 
-QgsMapLayerAction::QgsMapLayerAction( const QString &name, QObject *parent, Targets targets, const QIcon &icon )
+QgsMapLayerAction::QgsMapLayerAction( const QString &name, QObject *parent, Targets targets, const QIcon &icon, QgsMapLayerAction::Flags flags )
   : QAction( icon, name, parent )
   , mSingleLayer( false )
   , mSpecificLayerType( false )
   , mLayerType( QgsMapLayer::VectorLayer )
   , mTargets( targets )
+  , mFlags( flags )
 {
 }
 
-QgsMapLayerAction::QgsMapLayerAction( const QString &name, QObject *parent, QgsMapLayer *layer, Targets targets, const QIcon &icon )
+QgsMapLayerAction::QgsMapLayerAction( const QString &name, QObject *parent, QgsMapLayer *layer, Targets targets, const QIcon &icon, QgsMapLayerAction::Flags flags )
   : QAction( icon, name, parent )
   , mSingleLayer( true )
   , mActionLayer( layer )
   , mSpecificLayerType( false )
   , mLayerType( QgsMapLayer::VectorLayer )
   , mTargets( targets )
+  , mFlags( flags )
 {
 }
 
-QgsMapLayerAction::QgsMapLayerAction( const QString &name, QObject *parent, QgsMapLayer::LayerType layerType, Targets targets, const QIcon &icon )
+QgsMapLayerAction::QgsMapLayerAction( const QString &name, QObject *parent, QgsMapLayer::LayerType layerType, Targets targets, const QIcon &icon, QgsMapLayerAction::Flags flags )
   : QAction( icon, name, parent )
   , mSingleLayer( false )
   , mSpecificLayerType( true )
   , mLayerType( layerType )
   , mTargets( targets )
+  , mFlags( flags )
 {
 }
 
@@ -50,8 +54,24 @@ QgsMapLayerAction::~QgsMapLayerAction()
   QgsGui::mapLayerActionRegistry()->removeMapLayerAction( this );
 }
 
+QgsMapLayerAction::Flags QgsMapLayerAction::flags() const
+{
+  return mFlags;
+}
+
 bool QgsMapLayerAction::canRunUsingLayer( QgsMapLayer *layer ) const
 {
+  if ( mFlags & EnabledOnlyWhenEditable )
+  {
+    // action is only enabled for editable layers
+    if ( !layer )
+      return false;
+    if ( layer->type() != QgsMapLayer::VectorLayer )
+      return false;
+    if ( !qobject_cast<QgsVectorLayer *>( layer )->isEditable() )
+      return false;
+  }
+
   //check layer details
   if ( !mSingleLayer && !mSpecificLayerType )
   {
@@ -64,7 +84,7 @@ bool QgsMapLayerAction::canRunUsingLayer( QgsMapLayer *layer ) const
     //action is a single layer type and layer matches
     return true;
   }
-  else if ( mSpecificLayerType && layer->type() == mLayerType )
+  else if ( mSpecificLayerType && layer && layer->type() == mLayerType )
   {
     //action is for a layer type and layer type matches
     return true;
@@ -88,6 +108,11 @@ void QgsMapLayerAction::triggerForLayer( QgsMapLayer *layer )
   emit triggeredForLayer( layer );
 }
 
+bool QgsMapLayerAction::isEnabledOnlyWhenEditable() const
+{
+  return mFlags & EnabledOnlyWhenEditable;
+}
+
 //
 // Main class begins now...
 //
diff --git a/src/gui/qgsmaplayeractionregistry.h b/src/gui/qgsmaplayeractionregistry.h
index 156790e..fcb2c2d 100644
--- a/src/gui/qgsmaplayeractionregistry.h
+++ b/src/gui/qgsmaplayeractionregistry.h
@@ -47,19 +47,41 @@ class GUI_EXPORT QgsMapLayerAction : public QAction
     Q_FLAG( Targets )
 
     /**
+     * Flags which control action behavior
+     * /since QGIS 3.0
+     */
+    enum Flag
+    {
+      EnabledOnlyWhenEditable = 1 << 1, //!< Action should be shown only for editable layers
+    };
+
+    /**
+     * Action behavior flags.
+     * \since QGIS 3.0
+     */
+    Q_DECLARE_FLAGS( Flags, Flag )
+    Q_FLAG( Flags )
+
+    /**
      * Creates a map layer action which can run on any layer
      * \note using AllActions as a target probably does not make a lot of sense. This default action was settled for API compatibility reasons.
      */
-    QgsMapLayerAction( const QString &name, QObject *parent SIP_TRANSFERTHIS, Targets targets = AllActions, const QIcon &icon = QIcon() );
+    QgsMapLayerAction( const QString &name, QObject *parent SIP_TRANSFERTHIS, Targets targets = AllActions, const QIcon &icon = QIcon(), QgsMapLayerAction::Flags flags = nullptr );
 
     //! Creates a map layer action which can run only on a specific layer
-    QgsMapLayerAction( const QString &name, QObject *parent SIP_TRANSFERTHIS, QgsMapLayer *layer, Targets targets = AllActions, const QIcon &icon = QIcon() );
+    QgsMapLayerAction( const QString &name, QObject *parent SIP_TRANSFERTHIS, QgsMapLayer *layer, Targets targets = AllActions, const QIcon &icon = QIcon(), QgsMapLayerAction::Flags flags = nullptr );
 
     //! Creates a map layer action which can run on a specific type of layer
-    QgsMapLayerAction( const QString &name, QObject *parent SIP_TRANSFERTHIS, QgsMapLayer::LayerType layerType, Targets targets = AllActions, const QIcon &icon = QIcon() );
+    QgsMapLayerAction( const QString &name, QObject *parent SIP_TRANSFERTHIS, QgsMapLayer::LayerType layerType, Targets targets = AllActions, const QIcon &icon = QIcon(), QgsMapLayerAction::Flags flags = nullptr );
 
     ~QgsMapLayerAction() override;
 
+    /**
+     * Layer behavior flags.
+     * \since QGIS 3.0
+     */
+    QgsMapLayerAction::Flags flags() const;
+
     //! True if action can run using the specified layer
     bool canRunUsingLayer( QgsMapLayer *layer ) const;
 
@@ -77,6 +99,12 @@ class GUI_EXPORT QgsMapLayerAction : public QAction
     //! Return availibity of action
     const Targets &targets() const {return mTargets;}
 
+    /**
+     * Returns true if the action is only enabled for layers in editable mode.
+     * \since QGIS 3.0
+     */
+    bool isEnabledOnlyWhenEditable() const;
+
   signals:
     //! Triggered when action has been run for a specific list of features
     void triggeredForFeatures( QgsMapLayer *layer, const QList<QgsFeature> &featureList );
@@ -90,17 +118,19 @@ class GUI_EXPORT QgsMapLayerAction : public QAction
   private:
 
     // true if action is only valid for a single layer
-    bool mSingleLayer;
+    bool mSingleLayer = false;
     // layer if action is only valid for a single layer
     QgsMapLayer *mActionLayer = nullptr;
 
     // true if action is only valid for a specific layer type
-    bool mSpecificLayerType;
+    bool mSpecificLayerType = false;
     // layer type if action is only valid for a specific layer type
-    QgsMapLayer::LayerType mLayerType;
+    QgsMapLayer::LayerType mLayerType = QgsMapLayer::VectorLayer;
 
     // determine if the action can be run on layer and/or single feature and/or multiple features
-    Targets mTargets;
+    Targets mTargets = nullptr;
+
+    QgsMapLayerAction::Flags mFlags = nullptr;
 };
 
 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsMapLayerAction::Targets )
@@ -154,4 +184,6 @@ class GUI_EXPORT QgsMapLayerActionRegistry : public QObject
 
 };
 
+Q_DECLARE_OPERATORS_FOR_FLAGS( QgsMapLayerAction::Flags )
+
 #endif // QGSMAPLAYERACTIONREGISTRY_H
diff --git a/src/gui/qgsmaptoolidentify.cpp b/src/gui/qgsmaptoolidentify.cpp
index 0e2f7ab..2e95285 100644
--- a/src/gui/qgsmaptoolidentify.cpp
+++ b/src/gui/qgsmaptoolidentify.cpp
@@ -101,7 +101,7 @@ QList<QgsMapToolIdentify::IdentifyResult> QgsMapToolIdentify::identify( int x, i
   if ( mode == DefaultQgsSetting )
   {
     QgsSettings settings;
-    mode = settings.enumSettingValue( QStringLiteral( "Map/identifyMode" ), ActiveLayer );
+    mode = settings.enumValue( QStringLiteral( "Map/identifyMode" ), ActiveLayer );
   }
 
   if ( mode == LayerSelection )
@@ -325,7 +325,7 @@ void QgsMapToolIdentify::closestVertexAttributes( const QgsAbstractGeometry &geo
 
 QString QgsMapToolIdentify::formatCoordinate( const QgsPointXY &canvasPoint ) const
 {
-  return QgsCoordinateUtils::formatCoordinateForProject( canvasPoint, mCanvas->mapSettings().destinationCrs(),
+  return QgsCoordinateUtils::formatCoordinateForProject( QgsProject::instance(), canvasPoint, mCanvas->mapSettings().destinationCrs(),
          mCoordinatePrecision );
 }
 
diff --git a/src/gui/qgsmessagebar.cpp b/src/gui/qgsmessagebar.cpp
index feba01d..853a2a3 100644
--- a/src/gui/qgsmessagebar.cpp
+++ b/src/gui/qgsmessagebar.cpp
@@ -69,7 +69,7 @@ QgsMessageBar::QgsMessageBar( QWidget *parent )
 
   mCloseMenu = new QMenu( this );
   mCloseMenu->setObjectName( QStringLiteral( "mCloseMenu" ) );
-  mActionCloseAll = new QAction( tr( "Close all" ), this );
+  mActionCloseAll = new QAction( tr( "Close All" ), this );
   mCloseMenu->addAction( mActionCloseAll );
   connect( mActionCloseAll, &QAction::triggered, this, &QgsMessageBar::clearWidgets );
 
diff --git a/src/gui/qgsoptionsdialoghighlightwidgetsimpl.cpp b/src/gui/qgsoptionsdialoghighlightwidgetsimpl.cpp
index b10b4e0..28cf57e 100644
--- a/src/gui/qgsoptionsdialoghighlightwidgetsimpl.cpp
+++ b/src/gui/qgsoptionsdialoghighlightwidgetsimpl.cpp
@@ -30,11 +30,24 @@
 
 #include <functional>
 
+const int HIGHLIGHT_BACKGROUND_RED = 255;
+const int HIGHLIGHT_BACKGROUND_GREEN = 251;
+const int HIGHLIGHT_BACKGROUND_BLUE = 190;
+const int HIGHLIGHT_TEXT_RED = 0;
+const int HIGHLIGHT_TEXT_GREEN = 0;
+const int HIGHLIGHT_TEXT_BLUE = 0;
+
 // ****************
 // QLabel
 QgsOptionsDialogHighlightLabel::QgsOptionsDialogHighlightLabel( QLabel *label )
   : QgsOptionsDialogHighlightWidget( label )
   , mLabel( label )
+  , mStyleSheet( QStringLiteral( /*!search!*/"QLabel { background-color: rgb(%1, %2, %3); color: rgb(%4, %5, %6 );}/*!search!*/" ).arg( HIGHLIGHT_BACKGROUND_RED )
+                 .arg( HIGHLIGHT_BACKGROUND_GREEN )
+                 .arg( HIGHLIGHT_BACKGROUND_BLUE )
+                 .arg( HIGHLIGHT_TEXT_RED )
+                 .arg( HIGHLIGHT_TEXT_GREEN )
+                 .arg( HIGHLIGHT_TEXT_BLUE ) )
 {}
 
 bool QgsOptionsDialogHighlightLabel::searchText( const QString &text )
@@ -68,6 +81,12 @@ void QgsOptionsDialogHighlightLabel::reset()
 QgsOptionsDialogHighlightCheckBox::QgsOptionsDialogHighlightCheckBox( QCheckBox *checkBox )
   : QgsOptionsDialogHighlightWidget( checkBox )
   , mCheckBox( checkBox )
+  , mStyleSheet( QStringLiteral( "/*!search!*/QCheckBox { background-color: rgb(%1, %2, %3); color: rgb( %4, %5, %6);}/*!search!*/" ).arg( HIGHLIGHT_BACKGROUND_RED )
+                 .arg( HIGHLIGHT_BACKGROUND_GREEN )
+                 .arg( HIGHLIGHT_BACKGROUND_BLUE )
+                 .arg( HIGHLIGHT_TEXT_RED )
+                 .arg( HIGHLIGHT_TEXT_GREEN )
+                 .arg( HIGHLIGHT_TEXT_BLUE ) )
 {
 }
 
@@ -103,6 +122,12 @@ void QgsOptionsDialogHighlightCheckBox::reset()
 QgsOptionsDialogHighlightButton::QgsOptionsDialogHighlightButton( QAbstractButton *button )
   : QgsOptionsDialogHighlightWidget( button )
   , mButton( button )
+  , mStyleSheet( QStringLiteral( "/*!search!*/QAbstractButton { background-color: rgb(%1, %2, %3); color: rgb(%4, %5, %6);}/*!search!*/" ).arg( HIGHLIGHT_BACKGROUND_RED )
+                 .arg( HIGHLIGHT_BACKGROUND_GREEN )
+                 .arg( HIGHLIGHT_BACKGROUND_BLUE )
+                 .arg( HIGHLIGHT_TEXT_RED )
+                 .arg( HIGHLIGHT_TEXT_GREEN )
+                 .arg( HIGHLIGHT_TEXT_BLUE ) )
 {
 }
 
@@ -138,6 +163,12 @@ void QgsOptionsDialogHighlightButton::reset()
 QgsOptionsDialogHighlightGroupBox::QgsOptionsDialogHighlightGroupBox( QGroupBox *groupBox )
   : QgsOptionsDialogHighlightWidget( groupBox )
   , mGroupBox( groupBox )
+  , mStyleSheet( QStringLiteral( "/*!search!*/QGroupBox::title { background-color: rgb(%1, %2, %3); color: rgb(%4, %5, %6);}/*!search!*/" ).arg( HIGHLIGHT_BACKGROUND_RED )
+                 .arg( HIGHLIGHT_BACKGROUND_GREEN )
+                 .arg( HIGHLIGHT_BACKGROUND_BLUE )
+                 .arg( HIGHLIGHT_TEXT_RED )
+                 .arg( HIGHLIGHT_TEXT_GREEN )
+                 .arg( HIGHLIGHT_TEXT_BLUE ) )
 {
 }
 
@@ -209,8 +240,8 @@ bool QgsOptionsDialogHighlightTree::highlightText( const QString &text )
     for ( QTreeWidgetItem *item : items )
     {
       mTreeInitialStyle.insert( item, qMakePair( item->background( 0 ), item->foreground( 0 ) ) );
-      item->setBackground( 0, QBrush( QColor( Qt::yellow ) ) );
-      item->setForeground( 0, QBrush( QColor( Qt::blue ) ) );
+      item->setBackground( 0, QBrush( QColor( HIGHLIGHT_BACKGROUND_RED, HIGHLIGHT_BACKGROUND_GREEN, HIGHLIGHT_BACKGROUND_BLUE ) ) );
+      item->setForeground( 0, QBrush( QColor( HIGHLIGHT_TEXT_RED, HIGHLIGHT_TEXT_GREEN, HIGHLIGHT_TEXT_BLUE ) ) );
       setChildrenVisible( item, true );
 
       QTreeWidgetItem *parent = item;
diff --git a/src/gui/qgsoptionsdialoghighlightwidgetsimpl.h b/src/gui/qgsoptionsdialoghighlightwidgetsimpl.h
index af45d8b..b2a4e40 100644
--- a/src/gui/qgsoptionsdialoghighlightwidgetsimpl.h
+++ b/src/gui/qgsoptionsdialoghighlightwidgetsimpl.h
@@ -51,7 +51,7 @@ class GUI_EXPORT QgsOptionsDialogHighlightLabel : public QgsOptionsDialogHighlig
     virtual bool highlightText( const QString &text ) override;
     virtual void reset() override;
     QPointer<QLabel> mLabel;
-    QString mStyleSheet = QStringLiteral( /*!search!*/"QLabel { background-color: yellow; color: blue;}/*!search!*/" );
+    QString mStyleSheet;
 };
 
 /**
@@ -72,7 +72,7 @@ class GUI_EXPORT QgsOptionsDialogHighlightCheckBox : public QgsOptionsDialogHigh
     virtual bool highlightText( const QString &text ) override;
     virtual void reset() override;
     QPointer<QCheckBox> mCheckBox;
-    QString mStyleSheet = QStringLiteral( "/*!search!*/QCheckBox { background-color: yellow; color: blue;}/*!search!*/" );
+    QString mStyleSheet;
 };
 
 /**
@@ -93,7 +93,7 @@ class GUI_EXPORT QgsOptionsDialogHighlightButton : public QgsOptionsDialogHighli
     virtual bool highlightText( const QString &text ) override;
     virtual void reset() override;
     QPointer<QAbstractButton> mButton;
-    QString mStyleSheet = QStringLiteral( "/*!search!*/QAbstractButton { background-color: yellow; color: blue;}/*!search!*/" );
+    QString mStyleSheet;
 };
 
 /**
@@ -114,7 +114,7 @@ class GUI_EXPORT QgsOptionsDialogHighlightGroupBox : public QgsOptionsDialogHigh
     virtual bool highlightText( const QString &text ) override;
     virtual void reset() override;
     QPointer<QGroupBox> mGroupBox;
-    QString mStyleSheet = QStringLiteral( "/*!search!*/QGroupBox::title { background-color: yellow; color: blue;}/*!search!*/" );
+    QString mStyleSheet;
 };
 
 /**
diff --git a/src/gui/qgspropertyoverridebutton.cpp b/src/gui/qgspropertyoverridebutton.cpp
index f4e0b61..4f98d7e 100644
--- a/src/gui/qgspropertyoverridebutton.cpp
+++ b/src/gui/qgspropertyoverridebutton.cpp
@@ -71,7 +71,7 @@ QgsPropertyOverrideButton::QgsPropertyOverrideButton( QWidget *parent,
 
   mActionDescription = new QAction( tr( "Description…" ), this );
 
-  mActionCreateAuxiliaryField = new QAction( tr( "Store data in the project" ), this );
+  mActionCreateAuxiliaryField = new QAction( tr( "Store Data in the Project" ), this );
   mActionCreateAuxiliaryField->setCheckable( true );
 
   mActionExpDialog = new QAction( tr( "Edit…" ), this );
diff --git a/src/gui/qgssymbolbutton.cpp b/src/gui/qgssymbolbutton.cpp
index 915b1c3..9c428de 100644
--- a/src/gui/qgssymbolbutton.cpp
+++ b/src/gui/qgssymbolbutton.cpp
@@ -307,14 +307,14 @@ void QgsSymbolButton::prepareMenu()
   //menu is opened, otherwise color schemes like the recent color scheme grid are meaningless
   mMenu->clear();
 
-  QAction *configureAction = new QAction( tr( "Configure symbol…" ), this );
+  QAction *configureAction = new QAction( tr( "Configure Symbol…" ), this );
   mMenu->addAction( configureAction );
   connect( configureAction, &QAction::triggered, this, &QgsSymbolButton::showSettingsDialog );
 
-  QAction *copySymbolAction = new QAction( tr( "Copy symbol" ), this );
+  QAction *copySymbolAction = new QAction( tr( "Copy Symbol" ), this );
   mMenu->addAction( copySymbolAction );
   connect( copySymbolAction, &QAction::triggered, this, &QgsSymbolButton::copySymbol );
-  QAction *pasteSymbolAction = new QAction( tr( "Paste symbol" ), this );
+  QAction *pasteSymbolAction = new QAction( tr( "Paste Symbol" ), this );
   //enable or disable paste action based on current clipboard contents. We always show the paste
   //action, even if it's disabled, to give hint to the user that pasting symbols is possible
   std::unique_ptr< QgsSymbol > tempSymbol( QgsSymbolLayerUtils::symbolFromMimeData( QApplication::clipboard()->mimeData() ) );
@@ -369,11 +369,11 @@ void QgsSymbolButton::prepareMenu()
 
   mMenu->addSeparator();
 
-  QAction *copyColorAction = new QAction( tr( "Copy color" ), this );
+  QAction *copyColorAction = new QAction( tr( "Copy Color" ), this );
   mMenu->addAction( copyColorAction );
   connect( copyColorAction, &QAction::triggered, this, &QgsSymbolButton::copyColor );
 
-  QAction *pasteColorAction = new QAction( tr( "Paste color" ), this );
+  QAction *pasteColorAction = new QAction( tr( "Paste Color" ), this );
   //enable or disable paste action based on current clipboard contents. We always show the paste
   //action, even if it's disabled, to give hint to the user that pasting colors is possible
   QColor clipColor;
diff --git a/src/gui/symbology/qgsstylemanagerdialog.cpp b/src/gui/symbology/qgsstylemanagerdialog.cpp
index 6445658..967a0df 100644
--- a/src/gui/symbology/qgsstylemanagerdialog.cpp
+++ b/src/gui/symbology/qgsstylemanagerdialog.cpp
@@ -82,10 +82,10 @@ QgsStyleManagerDialog::QgsStyleManagerDialog( QgsStyle *style, QWidget *parent )
          );
 
   QMenu *shareMenu = new QMenu( tr( "Share menu" ), this );
-  QAction *exportAction = new QAction( tr( "Export symbol(s)…" ), this );
+  QAction *exportAction = new QAction( tr( "Export Symbol(s)…" ), this );
   exportAction->setIcon( QIcon( QgsApplication::iconPath( "mActionFileSave.svg" ) ) );
   shareMenu->addAction( exportAction );
-  QAction *importAction = new QAction( tr( "Import symbol(s)…" ), this );
+  QAction *importAction = new QAction( tr( "Import Symbol(s)…" ), this );
   importAction->setIcon( QIcon( QgsApplication::iconPath( "mActionFileOpen.svg" ) ) );
   shareMenu->addAction( importAction );
   shareMenu->addSeparator();
@@ -1390,7 +1390,7 @@ void QgsStyleManagerDialog::listitemsContextMenu( QPoint point )
   {
     mGroupListMenu->addSeparator();
   }
-  a = new QAction( tr( "Create new tag…" ), mGroupListMenu );
+  a = new QAction( tr( "Create New Tag…" ), mGroupListMenu );
   connect( a, &QAction::triggered, this, [ = ]( bool ) { tagSelectedSymbols( true ); }
          );
   mGroupListMenu->addAction( a );
diff --git a/src/gui/symbology/qgssymbolslistwidget.cpp b/src/gui/symbology/qgssymbolslistwidget.cpp
index abea145..41dcb35 100644
--- a/src/gui/symbology/qgssymbolslistwidget.cpp
+++ b/src/gui/symbology/qgssymbolslistwidget.cpp
@@ -68,7 +68,7 @@ QgsSymbolsListWidget::QgsSymbolsListWidget( QgsSymbol *symbol, QgsStyle *style,
   {
     btnAdvanced->setMenu( new QMenu( this ) );
   }
-  mClipFeaturesAction = new QAction( tr( "Clip features to canvas extent" ), this );
+  mClipFeaturesAction = new QAction( tr( "Clip Features to Canvas Extent" ), this );
   mClipFeaturesAction->setCheckable( true );
   connect( mClipFeaturesAction, &QAction::toggled, this, &QgsSymbolsListWidget::clipFeaturesToggled );
 
diff --git a/src/plugins/grass/qgis_grass_test.py b/src/plugins/grass/qgis_grass_test.py
index 865e15e..e1c9417 100755
--- a/src/plugins/grass/qgis_grass_test.py
+++ b/src/plugins/grass/qgis_grass_test.py
@@ -38,7 +38,7 @@
 __author__ = 'Radim Blazek'
 __date__ = 'December 2012'
 __copyright__ = '(C) 2012, Radim Blazek'
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import sys
diff --git a/src/plugins/grass/scripts/db.connect-login.pg.py b/src/plugins/grass/scripts/db.connect-login.pg.py
index 6a23b8f..56d126f 100644
--- a/src/plugins/grass/scripts/db.connect-login.pg.py
+++ b/src/plugins/grass/scripts/db.connect-login.pg.py
@@ -22,7 +22,7 @@ __author__ = 'Radim Blazek'
 __date__ = 'July 2009'
 __copyright__ = '(C) 2009, Radim Blazek'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 #%Module
diff --git a/src/plugins/grass/scripts/qgis.v.kernel.rast.py b/src/plugins/grass/scripts/qgis.v.kernel.rast.py
index 5f2dd08..f3ff03d 100644
--- a/src/plugins/grass/scripts/qgis.v.kernel.rast.py
+++ b/src/plugins/grass/scripts/qgis.v.kernel.rast.py
@@ -22,7 +22,7 @@ __author__ = 'Radim Blazek'
 __date__ = 'February 2010'
 __copyright__ = '(C) 2010, Radim Blazek'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 ############################################################################
diff --git a/src/plugins/grass/scripts/qgis.v.upgrade.py b/src/plugins/grass/scripts/qgis.v.upgrade.py
index 01e5359..a8dea12 100644
--- a/src/plugins/grass/scripts/qgis.v.upgrade.py
+++ b/src/plugins/grass/scripts/qgis.v.upgrade.py
@@ -22,7 +22,7 @@ __author__ = 'Radim Blazek'
 __date__ = 'October 2015'
 __copyright__ = '(C) 2015 by Radim Blazek'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 ############################################################################
diff --git a/src/plugins/grass/scripts/r.external.all.py b/src/plugins/grass/scripts/r.external.all.py
index 4678ce8..06593cc 100644
--- a/src/plugins/grass/scripts/r.external.all.py
+++ b/src/plugins/grass/scripts/r.external.all.py
@@ -22,7 +22,7 @@ __author__ = 'Lorenzo Masini'
 __date__ = 'July 2009'
 __copyright__ = '(C) 2009, Lorenzo Masini'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 ############################################################################
diff --git a/src/plugins/grass/scripts/v.out.ogr.pg.py b/src/plugins/grass/scripts/v.out.ogr.pg.py
index 1d2d5b1..433842b 100644
--- a/src/plugins/grass/scripts/v.out.ogr.pg.py
+++ b/src/plugins/grass/scripts/v.out.ogr.pg.py
@@ -22,7 +22,7 @@ __author__ = 'Radim Blazek'
 __date__ = 'July 2009'
 __copyright__ = '(C) 2009, Radim Blazek'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 ############################################################################
diff --git a/src/providers/gdal/qgsgdalprovider.cpp b/src/providers/gdal/qgsgdalprovider.cpp
index 9b80290..95d1657 100644
--- a/src/providers/gdal/qgsgdalprovider.cpp
+++ b/src/providers/gdal/qgsgdalprovider.cpp
@@ -2251,7 +2251,6 @@ void buildSupportedRasterFileFilterAndExtensions( QString &fileFiltersString, QS
       }
 
       fileFiltersString += createFileFilter_( myGdalDriverLongName, glob );
-
     }
 
 
@@ -2270,17 +2269,25 @@ void buildSupportedRasterFileFilterAndExtensions( QString &fileFiltersString, QS
       // DMD_EXTENSION; so let's check for them here and handle
       // them appropriately
 
-      if ( myGdalDriverDescription.startsWith( QLatin1String( "EHdr" ) ) )
+      if ( myGdalDriverDescription.startsWith( QLatin1String( "AIG" ) ) )
+      {
+        fileFiltersString += createFileFilter_( myGdalDriverLongName, QStringLiteral( "hdr.adf" ) );
+        wildcards << QStringLiteral( "hdr.adf" );
+      }
+#if !(GDAL_VERSION_MAJOR > 2 || (GDAL_VERSION_MAJOR == 2 && GDAL_VERSION_MINOR >= 3))
+      else if ( myGdalDriverDescription.startsWith( QLatin1String( "EHdr" ) ) )
       {
         // Fixed in GDAL 2.3
         fileFiltersString += createFileFilter_( myGdalDriverLongName, QStringLiteral( "*.bil" ) );
         extensions << QStringLiteral( "bil" );
       }
-      else if ( myGdalDriverDescription.startsWith( QLatin1String( "AIG" ) ) )
+      else if ( myGdalDriverDescription == QLatin1String( "ERS" ) )
       {
-        fileFiltersString += createFileFilter_( myGdalDriverLongName, QStringLiteral( "hdr.adf" ) );
-        wildcards << QStringLiteral( "hdr.adf" );
+        // Fixed in GDAL 2.3
+        fileFiltersString += createFileFilter_( myGdalDriverLongName, QStringLiteral( "*.ers" ) );
+        extensions << QStringLiteral( "ers" );
       }
+#endif
       else
       {
         catchallFilter << QString( GDALGetDescription( myGdalDriver ) );
diff --git a/src/providers/grass/qgsgrassoptions.cpp b/src/providers/grass/qgsgrassoptions.cpp
index 43c0359..67d4c2a 100644
--- a/src/providers/grass/qgsgrassoptions.cpp
+++ b/src/providers/grass/qgsgrassoptions.cpp
@@ -71,7 +71,7 @@ QgsGrassOptions::QgsGrassOptions( QWidget *parent )
   mModulesDebugCheckBox->setChecked( QgsGrass::modulesDebug() );
 
   // Browser
-  QgsRasterProjector::Precision crsTransform = settings.enumSettingValue( mImportSettingsPath + "/crsTransform", QgsRasterProjector::Approximate );
+  QgsRasterProjector::Precision crsTransform = settings.enumValue( mImportSettingsPath + "/crsTransform", QgsRasterProjector::Approximate );
   mCrsTransformationComboBox->addItem( QgsRasterProjector::precisionLabel( QgsRasterProjector::Approximate ), QgsRasterProjector::Approximate );
   mCrsTransformationComboBox->addItem( QgsRasterProjector::precisionLabel( QgsRasterProjector::Exact ), QgsRasterProjector::Exact );
   mCrsTransformationComboBox->setCurrentIndex( mCrsTransformationComboBox->findData( crsTransform ) );
diff --git a/src/providers/grass/qgsgrassprovidermodule.cpp b/src/providers/grass/qgsgrassprovidermodule.cpp
index 55672db..4f4b70a 100644
--- a/src/providers/grass/qgsgrassprovidermodule.cpp
+++ b/src/providers/grass/qgsgrassprovidermodule.cpp
@@ -371,6 +371,12 @@ QVector<QgsDataItem *>QgsGrassLocationItem::createChildren()
   return mapsets;
 }
 
+QIcon QgsGrassLocationItem::icon()
+{
+  return QgsApplication::getThemeIcon( "/grass_mapset.svg" );
+}
+
+
 //----------------------- QgsGrassMapsetItem ------------------------------
 
 QList<QgsGrassImport *> QgsGrassMapsetItem::sImports;
@@ -412,7 +418,7 @@ QIcon QgsGrassMapsetItem::icon()
       return QgsApplication::getThemeIcon( "/grass_mapset_search.svg" );
     }
   }
-  return QgsDirectoryItem::icon();
+  return QgsApplication::getThemeIcon( "/grass_mapset.svg" );
 }
 
 void QgsGrassMapsetItem::setState( State state )
@@ -846,7 +852,7 @@ bool QgsGrassMapsetItem::handleDrop( const QMimeData *data, Qt::DropAction )
             projector->destExtentSize( rasterProvider->extent(), rasterProvider->xSize(), rasterProvider->ySize(),
                                        newExtent, newXSize, newYSize );
           }
-          QgsRasterProjector::Precision precision = settings.enumSettingValue( QStringLiteral( "GRASS/browser/import/crsTransform" ), QgsRasterProjector::Approximate );
+          QgsRasterProjector::Precision precision = settings.enumValue( QStringLiteral( "GRASS/browser/import/crsTransform" ), QgsRasterProjector::Approximate );
           projector->setPrecision( precision );
 
           pipe->set( projector );
diff --git a/src/providers/grass/qgsgrassprovidermodule.h b/src/providers/grass/qgsgrassprovidermodule.h
index d1df14f..747c9a4 100644
--- a/src/providers/grass/qgsgrassprovidermodule.h
+++ b/src/providers/grass/qgsgrassprovidermodule.h
@@ -82,7 +82,7 @@ class QgsGrassLocationItem : public QgsDirectoryItem, public QgsGrassObjectItemB
   public:
     QgsGrassLocationItem( QgsDataItem *parent, QString dirPath, QString path );
 
-    QIcon icon() override { return QgsDirectoryItem::icon(); }
+    QIcon icon() override;
 
     QVector<QgsDataItem *> createChildren() override;
 #ifdef HAVE_GUI
diff --git a/src/providers/ogr/qgsogrprovider.cpp b/src/providers/ogr/qgsogrprovider.cpp
index b82d268..dfdeedd 100644
--- a/src/providers/ogr/qgsogrprovider.cpp
+++ b/src/providers/ogr/qgsogrprovider.cpp
@@ -1686,7 +1686,7 @@ bool QgsOgrProvider::commitTransaction()
   return true;
 }
 
-bool QgsOgrProvider::_setSubsetString( const QString &theSQL, bool updateFeatureCount, bool updateCapabilities )
+bool QgsOgrProvider::_setSubsetString( const QString &theSQL, bool updateFeatureCount, bool updateCapabilities, bool hasExistingRef )
 {
   QgsCPLErrorHandler handler;
 
@@ -1745,9 +1745,11 @@ bool QgsOgrProvider::_setSubsetString( const QString &theSQL, bool updateFeature
 
   if ( uri != dataSourceUri() )
   {
-    QgsOgrConnPool::instance()->unref( QgsOgrProviderUtils::connectionPoolId( dataSourceUri( true ) ) );
+    if ( hasExistingRef )
+      QgsOgrConnPool::instance()->unref( QgsOgrProviderUtils::connectionPoolId( dataSourceUri( true ) ) );
     setDataSourceUri( uri );
-    QgsOgrConnPool::instance()->ref( QgsOgrProviderUtils::connectionPoolId( dataSourceUri( true ) ) );
+    if ( hasExistingRef )
+      QgsOgrConnPool::instance()->ref( QgsOgrProviderUtils::connectionPoolId( dataSourceUri( true ) ) );
   }
 
   mOgrLayer->ResetReading();
@@ -3994,8 +3996,13 @@ void QgsOgrProvider::open( OpenMode mode )
     mSubsetString.clear();
     // Block signals to avoid endless recusion reloadData -> emit dataChanged -> reloadData
     blockSignals( true );
+
     // Do not update capabilities: it will be done later
-    mValid = _setSubsetString( origSubsetString, true, false );
+
+    // WARNING if this is the initial open - we don't already have a connection ref, and will be creating one later. So we *mustn't* grab an extra connection ref
+    // while setting the subset string, or we'll be left with an extra reference which is never cleared.
+    mValid = _setSubsetString( origSubsetString, true, false, mode != OpenModeInitial );
+
     blockSignals( false );
     if ( mValid )
     {
diff --git a/src/providers/ogr/qgsogrprovider.h b/src/providers/ogr/qgsogrprovider.h
index e4fc81a..247ee5c 100644
--- a/src/providers/ogr/qgsogrprovider.h
+++ b/src/providers/ogr/qgsogrprovider.h
@@ -211,7 +211,7 @@ class QgsOgrProvider : public QgsVectorDataProvider
     bool commitTransaction();
 
     //! Does the real job of settings the subset string and adds an argument to disable update capabilities
-    bool _setSubsetString( const QString &theSQL, bool updateFeatureCount = true, bool updateCapabilities = true );
+    bool _setSubsetString( const QString &theSQL, bool updateFeatureCount = true, bool updateCapabilities = true, bool hasExistingRef = true );
 
     void addSubLayerDetailsToSubLayerList( int i, QgsOgrLayer *layer ) const;
 
diff --git a/src/providers/oracle/qgsoraclefeatureiterator.cpp b/src/providers/oracle/qgsoraclefeatureiterator.cpp
index b5f6297..f012f82 100644
--- a/src/providers/oracle/qgsoraclefeatureiterator.cpp
+++ b/src/providers/oracle/qgsoraclefeatureiterator.cpp
@@ -341,7 +341,7 @@ bool QgsOracleFeatureIterator::fetchFeature( QgsFeature &feature )
       case PktRowId:
       case PktFidMap:
       {
-        QList<QVariant> primaryKeyVals;
+        QVariantList primaryKeyVals;
 
         if ( mSource->mPrimaryKeyType == PktFidMap )
         {
@@ -365,7 +365,7 @@ bool QgsOracleFeatureIterator::fetchFeature( QgsFeature &feature )
           primaryKeyVals << mQry.value( col++ );
         }
 
-        fid = mSource->mShared->lookupFid( QVariant( primaryKeyVals ) );
+        fid = mSource->mShared->lookupFid( primaryKeyVals );
       }
       break;
 
diff --git a/src/providers/oracle/qgsoracleprovider.cpp b/src/providers/oracle/qgsoracleprovider.cpp
index 9443c37..50a1689 100644
--- a/src/providers/oracle/qgsoracleprovider.cpp
+++ b/src/providers/oracle/qgsoracleprovider.cpp
@@ -1374,14 +1374,14 @@ bool QgsOracleProvider::addFeatures( QgsFeatureList &flist, QgsFeatureSink::Flag
           }
           else
           {
-            QList<QVariant> primaryKeyVals;
+            QVariantList primaryKeyVals;
 
             Q_FOREACH ( int idx, mPrimaryKeyAttrs )
             {
               primaryKeyVals << attributevec[ idx ];
             }
 
-            features->setId( mShared->lookupFid( QVariant( primaryKeyVals ) ) );
+            features->setId( mShared->lookupFid( primaryKeyVals ) );
           }
           QgsDebugMsgLevel( QString( "new fid=%1" ).arg( features->id() ), 4 );
         }
@@ -3193,11 +3193,11 @@ QgsOracleSharedData::QgsOracleSharedData()
 {
 }
 
-QgsFeatureId QgsOracleSharedData::lookupFid( const QVariant &v )
+QgsFeatureId QgsOracleSharedData::lookupFid( const QVariantList &v )
 {
   QMutexLocker locker( &mMutex );
 
-  QMap<QVariant, QgsFeatureId>::const_iterator it = mKeyToFid.find( v );
+  QMap<QVariantList, QgsFeatureId>::const_iterator it = mKeyToFid.constFind( v );
 
   if ( it != mKeyToFid.constEnd() )
   {
@@ -3214,13 +3214,13 @@ QVariant QgsOracleSharedData::removeFid( QgsFeatureId fid )
 {
   QMutexLocker locker( &mMutex );
 
-  QVariant v = mFidToKey[ fid ];
+  QVariantList v = mFidToKey[ fid ];
   mFidToKey.remove( fid );
   mKeyToFid.remove( v );
   return v;
 }
 
-void QgsOracleSharedData::insertFid( QgsFeatureId fid, const QVariant &k )
+void QgsOracleSharedData::insertFid( QgsFeatureId fid, const QVariantList &k )
 {
   QMutexLocker locker( &mMutex );
 
@@ -3228,14 +3228,14 @@ void QgsOracleSharedData::insertFid( QgsFeatureId fid, const QVariant &k )
   mKeyToFid.insert( k, fid );
 }
 
-QVariant QgsOracleSharedData::lookupKey( QgsFeatureId featureId )
+QVariantList QgsOracleSharedData::lookupKey( QgsFeatureId featureId )
 {
   QMutexLocker locker( &mMutex );
 
-  QMap<QgsFeatureId, QVariant>::const_iterator it = mFidToKey.find( featureId );
+  QMap<QgsFeatureId, QVariantList>::const_iterator it = mFidToKey.find( featureId );
   if ( it != mFidToKey.constEnd() )
     return it.value();
-  return QVariant();
+  return QVariantList();
 }
 
 QGISEXTERN bool saveStyle( const QString &uri,
diff --git a/src/providers/oracle/qgsoracleprovider.h b/src/providers/oracle/qgsoracleprovider.h
index 112328a..eb58b66 100644
--- a/src/providers/oracle/qgsoracleprovider.h
+++ b/src/providers/oracle/qgsoracleprovider.h
@@ -344,17 +344,17 @@ class QgsOracleSharedData
     QgsOracleSharedData();
 
     // FID lookups
-    QgsFeatureId lookupFid( const QVariant &v ); // lookup existing mapping or add a new one
+    QgsFeatureId lookupFid( const QVariantList &v ); // lookup existing mapping or add a new one
     QVariant removeFid( QgsFeatureId fid );
-    void insertFid( QgsFeatureId fid, const QVariant &k );
-    QVariant lookupKey( QgsFeatureId featureId );
+    void insertFid( QgsFeatureId fid, const QVariantList &k );
+    QVariantList lookupKey( QgsFeatureId featureId );
 
   protected:
     QMutex mMutex; //!< Access to all data members is guarded by the mutex
 
     QgsFeatureId mFidCounter;                    // next feature id if map is used
-    QMap<QVariant, QgsFeatureId> mKeyToFid;      // map key values to feature id
-    QMap<QgsFeatureId, QVariant> mFidToKey;      // map feature back to fea
+    QMap<QVariantList, QgsFeatureId> mKeyToFid;      // map key values to feature id
+    QMap<QgsFeatureId, QVariantList> mFidToKey;      // map feature back to fea
 };
 
 
diff --git a/src/providers/postgres/qgspgnewconnection.cpp b/src/providers/postgres/qgspgnewconnection.cpp
index 2c453b6..b283497 100644
--- a/src/providers/postgres/qgspgnewconnection.cpp
+++ b/src/providers/postgres/qgspgnewconnection.cpp
@@ -70,7 +70,7 @@ QgsPgNewConnection::QgsPgNewConnection( QWidget *parent, const QString &connName
 
     cb_useEstimatedMetadata->setChecked( settings.value( key + "/estimatedMetadata", false ).toBool() );
 
-    cbxSSLmode->setCurrentIndex( cbxSSLmode->findData( settings.enumSettingValue( key + "/sslmode", QgsDataSourceUri::SslPrefer ) ) );
+    cbxSSLmode->setCurrentIndex( cbxSSLmode->findData( settings.enumValue( key + "/sslmode", QgsDataSourceUri::SslPrefer ) ) );
 
     if ( settings.value( key + "/saveUsername" ).toString() == QLatin1String( "true" ) )
     {
diff --git a/src/providers/postgres/qgspostgresprovider.cpp b/src/providers/postgres/qgspostgresprovider.cpp
index 99eee33..278a524 100644
--- a/src/providers/postgres/qgspostgresprovider.cpp
+++ b/src/providers/postgres/qgspostgresprovider.cpp
@@ -2031,7 +2031,7 @@ bool QgsPostgresProvider::addFeatures( QgsFeatureList &flist, Flags flags )
     // e.g. for defaults
     for ( int idx = 0; idx < attributevec.count(); ++idx )
     {
-      QVariant v = attributevec.at( idx );
+      QVariant v = attributevec.value( idx, QVariant( QVariant::Int ) ); // default to NULL for missing attributes
       if ( fieldId.contains( idx ) )
         continue;
 
@@ -2050,7 +2050,7 @@ bool QgsPostgresProvider::addFeatures( QgsFeatureList &flist, Flags flags )
       for ( i = 1; i < flist.size(); i++ )
       {
         QgsAttributes attrs2 = flist[i].attributes();
-        QVariant v2 = attrs2.at( idx );
+        QVariant v2 = attrs2.value( idx, QVariant( QVariant::Int ) ); // default to NULL for missing attributes
 
         if ( v2 != v )
           break;
@@ -3919,13 +3919,12 @@ QgsVectorLayerExporter::ExportError QgsPostgresProvider::createEmptyLayer( const
 
   // use the provider to edit the table
   dsUri.setDataSource( schemaName, tableName, geometryColumn, QString(), primaryKey );
-  QgsPostgresProvider *provider = new QgsPostgresProvider( dsUri.uri( false ) );
+  std::unique_ptr< QgsPostgresProvider > provider = qgis::make_unique< QgsPostgresProvider >( dsUri.uri( false ) );
   if ( !provider->isValid() )
   {
     if ( errorMessage )
       *errorMessage = QObject::tr( "Loading of the layer %1 failed" ).arg( schemaTableName );
 
-    delete provider;
     return QgsVectorLayerExporter::ErrInvalidLayer;
   }
 
@@ -3986,7 +3985,6 @@ QgsVectorLayerExporter::ExportError QgsPostgresProvider::createEmptyLayer( const
         if ( errorMessage )
           *errorMessage = QObject::tr( "Unsupported type for field %1" ).arg( fld.name() );
 
-        delete provider;
         return QgsVectorLayerExporter::ErrAttributeTypeUnsupported;
       }
 
@@ -4006,7 +4004,6 @@ QgsVectorLayerExporter::ExportError QgsPostgresProvider::createEmptyLayer( const
       if ( errorMessage )
         *errorMessage = QObject::tr( "Creation of fields failed" );
 
-      delete provider;
       return QgsVectorLayerExporter::ErrAttributeCreationFailed;
     }
 
@@ -4729,6 +4726,7 @@ QGISEXTERN QString loadStyle( const QString &uri, QString &errCause )
 
   if ( !tableExists( *conn, QStringLiteral( "layer_styles" ) ) )
   {
+    conn->unref();
     return QLatin1String( "" );
   }
 
diff --git a/src/providers/virtual/qgsvirtuallayerqueryparser.cpp b/src/providers/virtual/qgsvirtuallayerqueryparser.cpp
index df69ef9..cf2da24 100644
--- a/src/providers/virtual/qgsvirtuallayerqueryparser.cpp
+++ b/src/providers/virtual/qgsvirtuallayerqueryparser.cpp
@@ -40,7 +40,12 @@ namespace QgsVirtualLayerQueryParser
     {
       char *errMsg = nullptr;
       int r = sqlite3_exec( db.get(), query.toUtf8().constData(), nullptr, nullptr, &errMsg );
-      QString err = QString::fromUtf8( errMsg );
+      QString err;
+      if ( r != SQLITE_OK )
+      {
+        err = QString::fromUtf8( errMsg );
+        sqlite3_free( errMsg );
+      }
       if ( r && err.startsWith( noSuchError ) )
       {
         QString tableName = err.mid( noSuchError.size() );
diff --git a/src/providers/wfs/qgswfsprovider.cpp b/src/providers/wfs/qgswfsprovider.cpp
index 94c31b3..67e8488 100644
--- a/src/providers/wfs/qgswfsprovider.cpp
+++ b/src/providers/wfs/qgswfsprovider.cpp
@@ -1374,6 +1374,13 @@ bool QgsWFSProvider::readAttributesFromSchema( QDomDocument &schemaDoc,
       geometryAttribute = name;
       geomType = QgsWkbTypes::MultiLineString;
     }
+    // such as http://go.geozug.ch/Zug_WFS_Baumkataster/service.svc/get
+    else if ( type == QLatin1String( "gmgml:Point_MultiPointPropertyType" ) )
+    {
+      foundGeometryAttribute = true;
+      geometryAttribute = name;
+      geomType = QgsWkbTypes::MultiPoint;
+    }
     //is it a geometry attribute?
     // the GeometryAssociationType has been seen in #11785
     else if ( ! foundGeometryAttribute && ( type.indexOf( gmlPT ) == 0 || type == QLatin1String( "gml:GeometryAssociationType" ) ) )
diff --git a/src/server/services/wfs/qgswfsdescribefeaturetype.cpp b/src/server/services/wfs/qgswfsdescribefeaturetype.cpp
index f12a59b..7a621e4 100644
--- a/src/server/services/wfs/qgswfsdescribefeaturetype.cpp
+++ b/src/server/services/wfs/qgswfsdescribefeaturetype.cpp
@@ -263,7 +263,7 @@ namespace QgsWfs
 
         //xsd:element
         QDomElement attElem = doc.createElement( QStringLiteral( "element" )/*xsd:element*/ );
-        attElem.setAttribute( QStringLiteral( "name" ), attributeName );
+        attElem.setAttribute( QStringLiteral( "name" ), attributeName.replace( ' ', '_' ) );
         QVariant::Type attributeType = fields.at( idx ).type();
         if ( attributeType == QVariant::Int )
           attElem.setAttribute( QStringLiteral( "type" ), QStringLiteral( "integer" ) );
diff --git a/src/server/services/wfs/qgswfsgetfeature.cpp b/src/server/services/wfs/qgswfsgetfeature.cpp
index a17a0eb..9360c6d 100644
--- a/src/server/services/wfs/qgswfsgetfeature.cpp
+++ b/src/server/services/wfs/qgswfsgetfeature.cpp
@@ -51,8 +51,6 @@ namespace QgsWfs
 
       const QgsAttributeList &attributeIndexes;
 
-      const QSet<QString> &excludedAttributes;
-
       const QString &typeName;
 
       bool withGeom;
@@ -82,6 +80,8 @@ namespace QgsWfs
 
     QgsServerRequest::Parameters mRequestParameters;
     QgsWfsParameters mWfsParameters;
+    /* GeoJSON Exporter */
+    QgsJsonExporter mJsonExporter;
   }
 
   void writeGetFeature( QgsServerInterface *serverIface, const QgsProject *project,
@@ -241,18 +241,24 @@ namespace QgsWfs
 
       //Using pending attributes and pending fields
       QgsAttributeList attrIndexes = vlayer->attributeList();
+      QgsFields fields = vlayer->fields();
       bool withGeom = true;
       if ( !propertyList.isEmpty() && propertyList.first() != QStringLiteral( "*" ) )
       {
         withGeom = false;
         QStringList::const_iterator plstIt;
         QList<int> idxList;
-        QgsFields fields = vlayer->fields();
+        // build corresponding propertyname
+        QList<QString> propertynames;
+        for ( int idx = 0; idx < fields.count(); ++idx )
+        {
+          propertynames.append( fields.field( idx ).name().replace( ' ', '_' ) );
+        }
         QString fieldName;
         for ( plstIt = propertyList.begin(); plstIt != propertyList.end(); ++plstIt )
         {
           fieldName = *plstIt;
-          int fieldNameIdx = fields.lookupField( fieldName );
+          int fieldNameIdx = propertynames.indexOf( fieldName );
           if ( fieldNameIdx > -1 )
           {
             idxList.append( fieldNameIdx );
@@ -268,6 +274,20 @@ namespace QgsWfs
         }
       }
 
+      //excluded attributes for this layer
+      const QSet<QString> &layerExcludedAttributes = vlayer->excludeAttributesWfs();
+      if ( !attrIndexes.isEmpty() && !layerExcludedAttributes.isEmpty() )
+      {
+        foreach ( const QString &excludedAttribute, layerExcludedAttributes )
+        {
+          int fieldNameIdx = fields.indexOf( excludedAttribute );
+          if ( fieldNameIdx > -1 && attrIndexes.contains( fieldNameIdx ) )
+          {
+            attrIndexes.removeOne( fieldNameIdx );
+          }
+        }
+      }
+
 
       // update request
       QgsFeatureRequest featureRequest = query.featureRequest;
@@ -319,8 +339,7 @@ namespace QgsWfs
       int layerPrecision = QgsServerProjectUtils::wfsLayerPrecision( *project, vlayer->id() );
       // specific layer crs
       QgsCoordinateReferenceSystem layerCrs = vlayer->crs();
-      //excluded attributes for this layer
-      const QSet<QString> &layerExcludedAttributes = vlayer->excludeAttributesWfs();
+
       // Geometry name
       QString geometryName = aRequest.geometryName;
       if ( !withGeom )
@@ -353,7 +372,6 @@ namespace QgsWfs
         const createFeatureParams cfp = { layerPrecision,
                                           layerCrs,
                                           attrIndexes,
-                                          layerExcludedAttributes,
                                           typeName,
                                           withGeom,
                                           geometryName,
@@ -536,6 +554,7 @@ namespace QgsWfs
 
         query.featureRequest = featureRequest;
         request.queries.append( query );
+        fidsMapIt++;
       }
       return request;
     }
@@ -1138,6 +1157,10 @@ namespace QgsWfs
           fcString += QLatin1String( "  " );
         else
           fcString += QLatin1String( " ," );
+        mJsonExporter.setSourceCrs( params.crs );
+        mJsonExporter.setIncludeGeometry( false );
+        mJsonExporter.setIncludeAttributes( !params.attributeIndexes.isEmpty() );
+        mJsonExporter.setAttributes( params.attributeIndexes );
         fcString += createFeatureGeoJSON( feat, params );
         fcString += QLatin1String( "\n" );
 
@@ -1183,21 +1206,16 @@ namespace QgsWfs
     QString createFeatureGeoJSON( QgsFeature *feat, const createFeatureParams &params )
     {
       QString id = QStringLiteral( "%1.%2" ).arg( params.typeName, FID_TO_STRING( feat->id() ) );
-
-      QgsJsonExporter exporter;
-      exporter.setSourceCrs( params.crs );
       //QgsJsonExporter force transform geometry to ESPG:4326
       //and the RFC 7946 GeoJSON specification recommends limiting coordinate precision to 6
       //Q_UNUSED( prec );
-      //exporter.setPrecision( prec );
 
       //copy feature so we can modify its geometry as required
       QgsFeature f( *feat );
       QgsGeometry geom = feat->geometry();
-      exporter.setIncludeGeometry( false );
       if ( !geom.isNull() && params.withGeom && params.geometryName != QLatin1String( "NONE" ) )
       {
-        exporter.setIncludeGeometry( true );
+        mJsonExporter.setIncludeGeometry( true );
         if ( params.geometryName == QLatin1String( "EXTENT" ) )
         {
           QgsRectangle box = geom.boundingBox();
@@ -1209,29 +1227,7 @@ namespace QgsWfs
         }
       }
 
-      QgsFields fields = feat->fields();
-      QgsAttributeList attrsToExport;
-      for ( int i = 0; i < params.attributeIndexes.count(); ++i )
-      {
-        int idx = params.attributeIndexes[i];
-        if ( idx >= fields.count() )
-        {
-          continue;
-        }
-        QString attributeName = fields.at( idx ).name();
-        //skip attribute if it is excluded from WFS publication
-        if ( params.excludedAttributes.contains( attributeName ) )
-        {
-          continue;
-        }
-
-        attrsToExport << idx;
-      }
-
-      exporter.setIncludeAttributes( !attrsToExport.isEmpty() );
-      exporter.setAttributes( attrsToExport );
-
-      return exporter.exportFeature( f, QVariantMap(), id );
+      return mJsonExporter.exportFeature( f, QVariantMap(), id );
     }
 
 
@@ -1322,11 +1318,6 @@ namespace QgsWfs
           continue;
         }
         QString attributeName = fields.at( idx ).name();
-        //skip attribute if it is excluded from WFS publication
-        if ( params.excludedAttributes.contains( attributeName ) )
-        {
-          continue;
-        }
 
         QDomElement fieldElem = doc.createElement( "qgs:" + attributeName.replace( ' ', '_' ) );
         QDomText fieldText = doc.createTextNode( featureAttributes[idx].toString() );
@@ -1424,11 +1415,6 @@ namespace QgsWfs
           continue;
         }
         QString attributeName = fields.at( idx ).name();
-        //skip attribute if it is excluded from WFS publication
-        if ( params.excludedAttributes.contains( attributeName ) )
-        {
-          continue;
-        }
 
         QDomElement fieldElem = doc.createElement( "qgs:" + attributeName.replace( ' ', '_' ) );
         QDomText fieldText = doc.createTextNode( featureAttributes[idx].toString() );
diff --git a/src/server/services/wms/qgswmsrenderer.cpp b/src/server/services/wms/qgswmsrenderer.cpp
index f188e39..d0c718a 100644
--- a/src/server/services/wms/qgswmsrenderer.cpp
+++ b/src/server/services/wms/qgswmsrenderer.cpp
@@ -1357,6 +1357,16 @@ namespace QgsWms
       return false;
     }
 
+    QgsFeatureRequest fReq;
+
+    // Transform filter geometry to layer CRS
+    std::unique_ptr<QgsGeometry> layerFilterGeom;
+    if ( filterGeom )
+    {
+      layerFilterGeom.reset( new QgsGeometry( *filterGeom ) );
+      layerFilterGeom->transform( QgsCoordinateTransform( mapSettings.destinationCrs(), layer->crs(), fReq.transformContext() ) );
+    }
+
     //we need a selection rect (0.01 of map width)
     QgsRectangle mapRect = mapSettings.extent();
     QgsRectangle layerRect = mapSettings.mapToLayerCoordinates( layer, mapRect );
@@ -1369,9 +1379,9 @@ namespace QgsWms
     {
       searchRect = featureInfoSearchRect( layer, mapSettings, renderContext, *infoPoint );
     }
-    else if ( filterGeom )
+    else if ( layerFilterGeom )
     {
-      searchRect = filterGeom->boundingBox();
+      searchRect = layerFilterGeom->boundingBox();
     }
     else if ( mParameters.contains( QStringLiteral( "BBOX" ) ) )
     {
@@ -1389,8 +1399,7 @@ namespace QgsWms
     bool segmentizeWktGeometry = QgsServerProjectUtils::wmsFeatureInfoSegmentizeWktGeometry( *mProject );
     const QSet<QString> &excludedAttributes = layer->excludeAttributesWms();
 
-    QgsFeatureRequest fReq;
-    bool hasGeometry = addWktGeometry || featureBBox || filterGeom;
+    bool hasGeometry = addWktGeometry || featureBBox || layerFilterGeom;
     fReq.setFlags( ( ( hasGeometry ) ? QgsFeatureRequest::NoFlags : QgsFeatureRequest::NoGeometry ) | QgsFeatureRequest::ExactIntersect );
 
     if ( ! searchRect.isEmpty() )
@@ -1402,9 +1411,10 @@ namespace QgsWms
       fReq.setFlags( fReq.flags() & ~ QgsFeatureRequest::ExactIntersect );
     }
 
-    if ( filterGeom )
+
+    if ( layerFilterGeom )
     {
-      fReq.setFilterExpression( QString( "intersects( $geometry, geom_from_wkt('%1') )" ).arg( filterGeom->asWkt() ) );
+      fReq.setFilterExpression( QString( "intersects( $geometry, geom_from_wkt('%1') )" ).arg( layerFilterGeom->asWkt() ) );
     }
 
 #ifdef HAVE_SERVER_PYTHON_PLUGINS
diff --git a/src/ui/layout/qgslayoutdesignerbase.ui b/src/ui/layout/qgslayoutdesignerbase.ui
index 8a0b08c..4547cdb 100644
--- a/src/ui/layout/qgslayoutdesignerbase.ui
+++ b/src/ui/layout/qgslayoutdesignerbase.ui
@@ -56,6 +56,9 @@
    <property name="windowTitle">
     <string>Layout Toolbar</string>
    </property>
+   <property name="toolTip">
+    <string>Layout Toolbar</string>
+   </property>
    <attribute name="toolBarArea">
     <enum>TopToolBarArea</enum>
    </attribute>
@@ -79,7 +82,10 @@
   </widget>
   <widget class="QToolBar" name="mToolsToolbar">
    <property name="windowTitle">
-    <string>Toolbox Toolbar</string>
+    <string>Toolbox</string>
+   </property>
+   <property name="toolTip">
+    <string>Toolbox</string>
    </property>
    <attribute name="toolBarArea">
     <enum>TopToolBarArea</enum>
@@ -93,6 +99,83 @@
    <addaction name="mActionMoveItemContent"/>
    <addaction name="mActionEditNodesItem"/>
   </widget>
+  <widget class="QToolBar" name="mNavigationToolbar">
+   <property name="windowTitle">
+    <string>Navigation Toolbar</string>
+   </property>
+   <property name="toolTip">
+    <string>Navigation Toolbar</string>
+   </property>
+   <attribute name="toolBarArea">
+    <enum>TopToolBarArea</enum>
+   </attribute>
+   <attribute name="toolBarBreak">
+    <bool>false</bool>
+   </attribute>
+   <addaction name="mActionZoomIn"/>
+   <addaction name="mActionZoomOut"/>
+   <addaction name="mActionZoomActual"/>
+   <addaction name="mActionZoomAll"/>
+   <addaction name="mActionRefreshView"/>
+  </widget>
+  <widget class="QToolBar" name="mActionsToolbar">
+   <property name="windowTitle">
+    <string>Actions Toolbar</string>
+   </property>
+   <property name="toolTip">
+    <string>Actions Toolbar</string>
+   </property>
+   <attribute name="toolBarArea">
+    <enum>TopToolBarArea</enum>
+   </attribute>
+   <attribute name="toolBarBreak">
+    <bool>false</bool>
+   </attribute>
+   <addaction name="mActionLockItems"/>
+   <addaction name="mActionUnlockAll"/>
+   <addaction name="mActionGroupItems"/>
+   <addaction name="mActionUngroupItems"/>
+  </widget>
+  <widget class="QToolBar" name="mAtlasToolbar">
+   <property name="windowTitle">
+    <string>Atlas Toolbar</string>
+   </property>
+   <property name="toolTip">
+    <string>Atlas Toolbar</string>
+   </property>
+   <attribute name="toolBarArea">
+    <enum>TopToolBarArea</enum>
+   </attribute>
+   <attribute name="toolBarBreak">
+    <bool>false</bool>
+   </attribute>
+   <addaction name="mActionAtlasPreview"/>
+   <addaction name="mActionAtlasFirst"/>
+   <addaction name="mActionAtlasPrev"/>
+   <addaction name="mActionAtlasNext"/>
+   <addaction name="mActionAtlasLast"/>
+   <addaction name="mActionPrintAtlas"/>
+   <addaction name="mActionAtlasSettings"/>
+  </widget>
+  <widget class="QToolBar" name="mReportToolbar">
+   <property name="windowTitle">
+    <string>Report Toolbar</string>
+   </property>
+   <property name="toolTip">
+    <string>Report Toolbar</string>
+   </property>
+   <attribute name="toolBarArea">
+    <enum>TopToolBarArea</enum>
+   </attribute>
+   <attribute name="toolBarBreak">
+    <bool>false</bool>
+   </attribute>
+   <addaction name="mActionPrintReport"/>
+   <addaction name="mActionExportReportAsImage"/>
+   <addaction name="mActionExportReportAsSVG"/>
+   <addaction name="mActionExportReportAsPDF"/>
+   <addaction name="mActionReportSettings"/>
+  </widget>
   <widget class="QMenuBar" name="mMenuBar">
    <property name="geometry">
     <rect>
@@ -205,6 +288,12 @@
     <addaction name="mActionInvertSelection"/>
     <addaction name="mActionSelectNextBelow"/>
     <addaction name="mActionSelectNextAbove"/>
+    <addaction name="separator"/>
+    <addaction name="mActionPan"/>
+    <addaction name="mActionZoomTool"/>
+    <addaction name="mActionSelectMoveItem"/>
+    <addaction name="mActionMoveItemContent"/>
+    <addaction name="mActionEditNodesItem"/>
    </widget>
    <widget class="QMenu" name="menuLayout">
     <property name="title">
@@ -304,71 +393,6 @@
    <addaction name="mMenuReport"/>
    <addaction name="menuSettings"/>
   </widget>
-  <widget class="QToolBar" name="mNavigationToolbar">
-   <property name="windowTitle">
-    <string>Navigation Toolbar</string>
-   </property>
-   <attribute name="toolBarArea">
-    <enum>TopToolBarArea</enum>
-   </attribute>
-   <attribute name="toolBarBreak">
-    <bool>false</bool>
-   </attribute>
-   <addaction name="mActionZoomIn"/>
-   <addaction name="mActionZoomOut"/>
-   <addaction name="mActionZoomActual"/>
-   <addaction name="mActionZoomAll"/>
-   <addaction name="mActionRefreshView"/>
-  </widget>
-  <widget class="QToolBar" name="mActionsToolbar">
-   <property name="windowTitle">
-    <string>Actions Toolbar</string>
-   </property>
-   <attribute name="toolBarArea">
-    <enum>TopToolBarArea</enum>
-   </attribute>
-   <attribute name="toolBarBreak">
-    <bool>false</bool>
-   </attribute>
-   <addaction name="mActionLockItems"/>
-   <addaction name="mActionUnlockAll"/>
-   <addaction name="mActionGroupItems"/>
-   <addaction name="mActionUngroupItems"/>
-  </widget>
-  <widget class="QToolBar" name="mAtlasToolbar">
-   <property name="windowTitle">
-    <string>Atlas Toolbar</string>
-   </property>
-   <attribute name="toolBarArea">
-    <enum>TopToolBarArea</enum>
-   </attribute>
-   <attribute name="toolBarBreak">
-    <bool>false</bool>
-   </attribute>
-   <addaction name="mActionAtlasPreview"/>
-   <addaction name="mActionAtlasFirst"/>
-   <addaction name="mActionAtlasPrev"/>
-   <addaction name="mActionAtlasNext"/>
-   <addaction name="mActionAtlasLast"/>
-   <addaction name="mActionPrintAtlas"/>
-   <addaction name="mActionAtlasSettings"/>
-  </widget>
-  <widget class="QToolBar" name="mReportToolbar">
-   <property name="windowTitle">
-    <string>Report Toolbar</string>
-   </property>
-   <attribute name="toolBarArea">
-    <enum>TopToolBarArea</enum>
-   </attribute>
-   <attribute name="toolBarBreak">
-    <bool>false</bool>
-   </attribute>
-   <addaction name="mActionPrintReport"/>
-   <addaction name="mActionExportReportAsImage"/>
-   <addaction name="mActionExportReportAsSVG"/>
-   <addaction name="mActionExportReportAsPDF"/>
-   <addaction name="mActionReportSettings"/>
-  </widget>
   <action name="mActionClose">
    <property name="text">
     <string>&Close</string>
@@ -422,7 +446,7 @@
      <normaloff>:/images/themes/default/mActionSelect.svg</normaloff>:/images/themes/default/mActionSelect.svg</iconset>
    </property>
    <property name="text">
-    <string>Move &Item</string>
+    <string>Select/Move Item</string>
    </property>
    <property name="toolTip">
     <string>Select/Move item</string>
diff --git a/src/ui/layout/qgslayoutlegendwidgetbase.ui b/src/ui/layout/qgslayoutlegendwidgetbase.ui
index 421720b..5a4cb54 100644
--- a/src/ui/layout/qgslayoutlegendwidgetbase.ui
+++ b/src/ui/layout/qgslayoutlegendwidgetbase.ui
@@ -383,7 +383,7 @@
             <item>
              <widget class="QToolButton" name="mFilterByMapToolButton">
               <property name="toolTip">
-               <string>Filter Legend By Map Content</string>
+               <string>Filter Legend by Map Content</string>
               </property>
               <property name="icon">
                <iconset resource="../../../images/images.qrc">
diff --git a/src/ui/qgisapp.ui b/src/ui/qgisapp.ui
index dafba12..8aea485 100755
--- a/src/ui/qgisapp.ui
+++ b/src/ui/qgisapp.ui
@@ -1774,10 +1774,10 @@
      <normaloff>:/images/themes/default/mActionMoveLabel.svg</normaloff>:/images/themes/default/mActionMoveLabel.svg</iconset>
    </property>
    <property name="text">
-    <string>Move Label And Diagram</string>
+    <string>Move Label and Diagram</string>
    </property>
    <property name="toolTip">
-    <string>Move Label And Diagram</string>
+    <string>Move Label and Diagram</string>
    </property>
   </action>
   <action name="mActionRotateLabel">
@@ -1988,7 +1988,10 @@ Ctrl (Cmd) increments by 15 deg.</string>
      <normaloff>:/images/themes/default/mActionEditCopy.svg</normaloff>:/images/themes/default/mActionEditCopy.svg</iconset>
    </property>
    <property name="text">
-    <string>Copy style</string>
+    <string>Copy Style</string>
+   </property>
+   <property name="toolTip">
+    <string>Copy Style</string>
    </property>
   </action>
   <action name="mActionPasteStyle">
@@ -1997,7 +2000,10 @@ Ctrl (Cmd) increments by 15 deg.</string>
      <normaloff>:/images/themes/default/mActionEditPaste.svg</normaloff>:/images/themes/default/mActionEditPaste.svg</iconset>
    </property>
    <property name="text">
-    <string>Paste style</string>
+    <string>Paste Style</string>
+   </property>
+   <property name="toolTip">
+    <string>Paste Style</string>
    </property>
   </action>
   <action name="mActionAddWcsLayer">
@@ -2033,10 +2039,10 @@ Ctrl (Cmd) increments by 15 deg.</string>
      <normaloff>:/images/themes/default/mActionPinLabels.svg</normaloff>:/images/themes/default/mActionPinLabels.svg</iconset>
    </property>
    <property name="text">
-    <string>Pin/Unpin Labels And Diagrams</string>
+    <string>Pin/Unpin Labels and Diagrams</string>
    </property>
    <property name="toolTip">
-    <string>Pin/Unpin Labels And Diagrams
+    <string>Pin/Unpin Labels and Diagrams
 Click or marquee on label/diagram to pin
 Shift unpins, Ctrl (Cmd) toggles state
 Acts on all editable layers</string>
@@ -2051,10 +2057,10 @@ Acts on all editable layers</string>
      <normaloff>:/images/themes/default/mActionShowPinnedLabels.svg</normaloff>:/images/themes/default/mActionShowPinnedLabels.svg</iconset>
    </property>
    <property name="text">
-    <string>Highlight Pinned Labels And Diagrams</string>
+    <string>Highlight Pinned Labels and Diagrams</string>
    </property>
    <property name="toolTip">
-    <string>Highlight Pinned Labels And Diagrams</string>
+    <string>Highlight Pinned Labels and Diagrams</string>
    </property>
   </action>
   <action name="mActionNewBlankProject">
@@ -2102,7 +2108,7 @@ Acts on all editable layers</string>
      <normaloff>:/images/themes/default/mActionShowHideLabels.svg</normaloff>:/images/themes/default/mActionShowHideLabels.svg</iconset>
    </property>
    <property name="text">
-    <string>Show/Hide Labels And Diagrams</string>
+    <string>Show/Hide Labels and Diagrams</string>
    </property>
    <property name="toolTip">
     <string>Show/Hide Labels And Diagrams
@@ -2636,7 +2642,7 @@ Acts on currently active editable layer</string>
     <string>Select Features by Value...</string>
    </property>
    <property name="toolTip">
-    <string>Select Features By Value</string>
+    <string>Select Features by Value</string>
    </property>
    <property name="shortcut">
     <string>F3</string>
@@ -2723,7 +2729,7 @@ Acts on currently active editable layer</string>
      <normaloff>:/images/themes/default/mActionCircleCenterPoint.svg</normaloff>:/images/themes/default/mActionCircleCenterPoint.svg</iconset>
    </property>
    <property name="text">
-    <string>&Add Circle by a center point and another point</string>
+    <string>&Add Circle by a Center Point and Another Point</string>
    </property>
    <property name="toolTip">
     <string>Add Circle by a center point and another point</string>
@@ -2798,7 +2804,7 @@ Acts on currently active editable layer</string>
      <normaloff>:/images/themes/default/mActionRectangleExtent.svg</normaloff>:/images/themes/default/mActionRectangleExtent.svg</iconset>
    </property>
    <property name="text">
-    <string>&Add Rectangle From Extent</string>
+    <string>&Add Rectangle from Extent</string>
    </property>
    <property name="toolTip">
     <string>Add rectangle from extent</string>
@@ -2813,7 +2819,7 @@ Acts on currently active editable layer</string>
      <normaloff>:/images/themes/default/mActionRectangleCenter.svg</normaloff>:/images/themes/default/mActionRectangleCenter.svg</iconset>
    </property>
    <property name="text">
-    <string>Add &Rectangle From Center and a Point</string>
+    <string>Add &Rectangle from Center and a Point</string>
    </property>
    <property name="toolTip">
     <string>Add rectangle from center and a point</string>
@@ -2828,7 +2834,7 @@ Acts on currently active editable layer</string>
      <normaloff>:/images/themes/default/mActionRegularPolygonCenterPoint.svg</normaloff>:/images/themes/default/mActionRegularPolygonCenterPoint.svg</iconset>
    </property>
    <property name="text">
-    <string>&Add Regular Polygon From Center and a Point</string>
+    <string>&Add Regular Polygon from Center and a Point</string>
    </property>
    <property name="toolTip">
     <string>Add regular polygon from center and a point</string>
@@ -2843,7 +2849,7 @@ Acts on currently active editable layer</string>
      <normaloff>:/images/themes/default/mActionRegularPolygon2Points.svg</normaloff>:/images/themes/default/mActionRegularPolygon2Points.svg</iconset>
    </property>
    <property name="text">
-    <string>Add &Regular Polygon From 2 Points</string>
+    <string>Add &Regular Polygon from 2 Points</string>
    </property>
    <property name="toolTip">
     <string>Add regular polygon from 2 points</string>
@@ -2873,7 +2879,7 @@ Acts on currently active editable layer</string>
      <normaloff>:/images/themes/default/mActionRectangle3Points.svg</normaloff>:/images/themes/default/mActionRectangle3Points.svg</iconset>
    </property>
    <property name="text">
-    <string>Add Rectangle &From 3 Points</string>
+    <string>Add Rectangle &from 3 Points</string>
    </property>
    <property name="toolTip">
     <string>Add rectangle from 3 points</string>
@@ -2888,7 +2894,7 @@ Acts on currently active editable layer</string>
      <normaloff>:/images/themes/default/mActionCircle2TangentsPoint.svg</normaloff>:/images/themes/default/mActionCircle2TangentsPoint.svg</iconset>
    </property>
    <property name="text">
-    <string>Add Circle &from 2 Tangents and a point</string>
+    <string>Add Circle &from 2 Tangents and a Point</string>
    </property>
    <property name="toolTip">
     <string>Add circle from 2 tangents and a point</string>
@@ -2903,7 +2909,7 @@ Acts on currently active editable layer</string>
      <normaloff>:/images/themes/default/mActionRegularPolygonCenterCorner.svg</normaloff>:/images/themes/default/mActionRegularPolygonCenterCorner.svg</iconset>
    </property>
    <property name="text">
-    <string>Add Regular &Polygon From Center and a Corner</string>
+    <string>Add Regular &Polygon from Center and a Corner</string>
    </property>
    <property name="toolTip">
     <string>Add regular polygon from center and a corner</string>
diff --git a/src/ui/qgsattributeactiondialogbase.ui b/src/ui/qgsattributeactiondialogbase.ui
index 41ee2d7..d8499913 100644
--- a/src/ui/qgsattributeactiondialogbase.ui
+++ b/src/ui/qgsattributeactiondialogbase.ui
@@ -44,7 +44,7 @@
      <property name="title">
       <string>Action list</string>
      </property>
-     <property name="syncGroup">
+     <property name="syncGroup" stdset="0">
       <string notr="true">actiongroup</string>
      </property>
      <layout class="QGridLayout" name="gridLayout_3">
@@ -146,7 +146,7 @@
          <enum>QAbstractItemView::SelectRows</enum>
         </property>
         <property name="columnCount">
-         <number>7</number>
+         <number>8</number>
         </property>
         <column>
          <property name="text">
@@ -186,6 +186,11 @@
           <string><html><head/><body><p>If not empty, this will enable provider notification listening and the action will be executed when the notification message matched the specified value. </p></body></html></string>
          </property>
         </column>
+        <column>
+         <property name="text">
+          <string>Only when editable</string>
+         </property>
+        </column>
        </widget>
       </item>
       <item row="1" column="2">
@@ -275,6 +280,33 @@
  </tabstops>
  <resources>
   <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
  </resources>
  <connections/>
 </ui>
diff --git a/src/ui/qgsattributeactionpropertiesdialogbase.ui b/src/ui/qgsattributeactionpropertiesdialogbase.ui
index 3484bea..8dc95ea 100644
--- a/src/ui/qgsattributeactionpropertiesdialogbase.ui
+++ b/src/ui/qgsattributeactionpropertiesdialogbase.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>702</width>
-    <height>547</height>
+    <height>554</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -39,10 +39,28 @@
       <string>Action text</string>
      </property>
      <layout class="QGridLayout" name="gridLayout">
+      <item row="2" column="0">
+       <layout class="QHBoxLayout" name="horizontalLayout_11">
+        <item>
+         <widget class="QLabel" name="label_6">
+          <property name="text">
+           <string>Execute if notification matches</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="mNotificationMessage">
+          <property name="toolTip">
+           <string><html><head/><body><p>If specified, listen to data source notification and performs action if notification message matches the specified value.</p><p>E.g. to match message beginning with <span style=" font-weight:600;">whatever </span>use <span style=" font-weight:600;">^whatever</span></p></body></html></string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
       <item row="1" column="0">
        <layout class="QHBoxLayout" name="horizontalLayout_2">
         <item>
-         <widget class="QgsFieldExpressionWidget" name="mFieldExpression">
+         <widget class="QgsFieldExpressionWidget" name="mFieldExpression" native="true">
           <property name="focusPolicy">
            <enum>Qt::TabFocus</enum>
           </property>
@@ -110,23 +128,12 @@
         </item>
        </layout>
       </item>
-      <item row="2" column="0">
-       <layout class="QHBoxLayout" name="horizontalLayout_11">
-        <item>
-         <widget class="QLabel" name="label_6">
-          <property name="text">
-           <string>Execute if notification matches</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLineEdit" name="mNotificationMessage">
-          <property name="toolTip">
-           <string><html><head/><body><p>If specified, listen to data source notification and performs action if notification message matches the specified value.</p><p>E.g. to match message beginning with <span style=" font-weight:600;">whatever </span>use <span style=" font-weight:600;">^whatever</span></p></body></html></string>
-          </property>
-         </widget>
-        </item>
-       </layout>
+      <item row="3" column="0">
+       <widget class="QCheckBox" name="mIsEnabledOnlyWhenEditable">
+        <property name="text">
+         <string>Enable only when editable</string>
+        </property>
+       </widget>
       </item>
      </layout>
     </widget>
@@ -317,6 +324,33 @@
  </tabstops>
  <resources>
   <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
  </resources>
  <connections>
   <connection>
diff --git a/src/ui/qgsexpressionselectiondialogbase.ui b/src/ui/qgsexpressionselectiondialogbase.ui
index 3aad099..e74e803 100644
--- a/src/ui/qgsexpressionselectiondialogbase.ui
+++ b/src/ui/qgsexpressionselectiondialogbase.ui
@@ -11,7 +11,7 @@
    </rect>
   </property>
   <property name="windowTitle">
-   <string>Select By Expression</string>
+   <string>Select by Expression</string>
   </property>
   <layout class="QGridLayout" name="gridLayout">
    <property name="leftMargin">
diff --git a/src/ui/qgsmapcanvasdockwidgetbase.ui b/src/ui/qgsmapcanvasdockwidgetbase.ui
index 5fc1147..8970f1b 100644
--- a/src/ui/qgsmapcanvasdockwidgetbase.ui
+++ b/src/ui/qgsmapcanvasdockwidgetbase.ui
@@ -47,25 +47,7 @@
      </widget>
     </item>
     <item>
-     <widget class="QWidget" name="mMainWidget" native="true">
-      <layout class="QHBoxLayout" name="horizontalLayout">
-       <property name="spacing">
-        <number>0</number>
-       </property>
-       <property name="leftMargin">
-        <number>0</number>
-       </property>
-       <property name="topMargin">
-        <number>0</number>
-       </property>
-       <property name="rightMargin">
-        <number>0</number>
-       </property>
-       <property name="bottomMargin">
-        <number>0</number>
-       </property>
-      </layout>
-     </widget>
+     <widget class="QWidget" name="mMainWidget" native="true"/>
     </item>
    </layout>
   </widget>
@@ -188,6 +170,7 @@
   <include location="../../images/images.qrc"/>
   <include location="../../images/images.qrc"/>
   <include location="../../images/images.qrc"/>
+  <include location="../../images/images.qrc"/>
  </resources>
  <connections/>
 </ui>
diff --git a/src/ui/qgsoptionsbase.ui b/src/ui/qgsoptionsbase.ui
index 8ef6fc5..3ba50b0 100644
--- a/src/ui/qgsoptionsbase.ui
+++ b/src/ui/qgsoptionsbase.ui
@@ -657,6 +657,9 @@
                       <property name="text">
                        <string>Modeless data source manager dialog</string>
                       </property>
+                      <property name="toolTip">
+                       <string>A modeless dialog allows you to interact with QGIS main window and dialogs.</string>
+                      </property>
                      </widget>
                     </item>
                     <item row="1" column="1">
diff --git a/src/ui/qgsvectorlayerpropertiesbase.ui b/src/ui/qgsvectorlayerpropertiesbase.ui
index 92e3a33..db187d4 100644
--- a/src/ui/qgsvectorlayerpropertiesbase.ui
+++ b/src/ui/qgsvectorlayerpropertiesbase.ui
@@ -421,8 +421,8 @@
                <rect>
                 <x>0</x>
                 <y>0</y>
-                <width>651</width>
-                <height>537</height>
+                <width>653</width>
+                <height>542</height>
                </rect>
               </property>
               <layout class="QVBoxLayout" name="verticalLayout_9">
@@ -663,6 +663,19 @@ border-radius: 2px;</string>
                  <zorder>pbnQueryBuilder</zorder>
                 </widget>
                </item>
+               <item>
+                <spacer name="verticalSpacer_3">
+                 <property name="orientation">
+                  <enum>Qt::Vertical</enum>
+                 </property>
+                 <property name="sizeHint" stdset="0">
+                  <size>
+                   <width>20</width>
+                   <height>40</height>
+                  </size>
+                 </property>
+                </spacer>
+               </item>
               </layout>
              </widget>
             </widget>
@@ -1451,8 +1464,8 @@ border-radius: 2px;</string>
                <rect>
                 <x>0</x>
                 <y>0</y>
-                <width>696</width>
-                <height>521</height>
+                <width>653</width>
+                <height>542</height>
                </rect>
               </property>
               <layout class="QVBoxLayout" name="verticalLayout_32">
@@ -1905,8 +1918,8 @@ border-radius: 2px;</string>
                <rect>
                 <x>0</x>
                 <y>0</y>
-                <width>651</width>
-                <height>537</height>
+                <width>306</width>
+                <height>578</height>
                </rect>
               </property>
               <layout class="QVBoxLayout" name="verticalLayout_13">
diff --git a/src/ui/symbollayer/widget_layerproperties.ui b/src/ui/symbollayer/widget_layerproperties.ui
index f7059d8..2ae50cf 100644
--- a/src/ui/symbollayer/widget_layerproperties.ui
+++ b/src/ui/symbollayer/widget_layerproperties.ui
@@ -71,7 +71,7 @@
    <item row="3" column="0">
     <layout class="QHBoxLayout" name="horizontalLayout_3">
      <property name="spacing">
-      <number>0</number>
+      <number>6</number>
      </property>
      <property name="bottomMargin">
       <number>0</number>
diff --git a/tests/code_layout/acceptable_missing_doc.py b/tests/code_layout/acceptable_missing_doc.py
index eff6a06..0317b78 100644
--- a/tests/code_layout/acceptable_missing_doc.py
+++ b/tests/code_layout/acceptable_missing_doc.py
@@ -21,7 +21,7 @@ __author__ = 'Stéphane Brunner'
 __date__ = 'March 2016'
 __copyright__ = '(C) 2016, Stéphane Brunner'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 # -*- coding: utf-8 -*-
 """
@@ -31,7 +31,7 @@ __author__ = 'Stéphane Brunner'
 __date__ = '18/03/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 ACCEPTABLE_MISSING_DOCS = {
     "QgsNineCellFilter": ["zFactor() const ", "setZFactor(double factor)", "setCellSizeX(double size)", "setInputNodataValue(double value)", "cellSizeX() const ", "cellSizeY() const ", "inputNodataValue() const ", "outputNodataValue() const ", "setCellSizeY(double size)", "setOutputNodataValue(double value)"],
diff --git a/tests/code_layout/test_qgsdoccoverage.py b/tests/code_layout/test_qgsdoccoverage.py
index fc57559..918aaf3 100644
--- a/tests/code_layout/test_qgsdoccoverage.py
+++ b/tests/code_layout/test_qgsdoccoverage.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '01/02/2015'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import sys
diff --git a/tests/code_layout/test_qgssipcoverage.py b/tests/code_layout/test_qgssipcoverage.py
index 5b6d768..5e924e2 100644
--- a/tests/code_layout/test_qgssipcoverage.py
+++ b/tests/code_layout/test_qgssipcoverage.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '15/10/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from qgis.testing import unittest
diff --git a/tests/code_layout/test_sipfiles_uptodate.sh b/tests/code_layout/test_sipfiles_uptodate.sh
index 0786cc3..4ef1ae9 100755
--- a/tests/code_layout/test_sipfiles_uptodate.sh
+++ b/tests/code_layout/test_sipfiles_uptodate.sh
@@ -1,5 +1,7 @@
 #!/usr/bin/env bash
 
+set -e
+
 DIR=$(git rev-parse --show-toplevel)
 
 # GNU prefix command for mac os support (gsed, gsplit)
@@ -16,7 +18,7 @@ while read -r sipfile; do
     if [ ! -f $header ]; then
       echo "*** Missing header: $header for sipfile $sipfile"
     else
-      outdiff=$(./scripts/sipify.pl $header | diff python/$sipfile -)
+      outdiff=$(./scripts/sipify.pl $header | diff python/$sipfile.in -)
       if [[ -n $outdiff ]]; then
         echo " *** SIP file not up to date: $sipfile"
         code=1
diff --git a/tests/src/analysis/testqgsprocessing.cpp b/tests/src/analysis/testqgsprocessing.cpp
index f694139..d351093 100644
--- a/tests/src/analysis/testqgsprocessing.cpp
+++ b/tests/src/analysis/testqgsprocessing.cpp
@@ -322,6 +322,12 @@ class DummyProvider : public QgsProcessingProvider
       return supportsNonFileOutputs;
     }
 
+    bool isActive() const override
+    {
+      return active;
+    }
+
+    bool active = true;
     bool *unloaded = nullptr;
     bool supportsNonFileOutputs = false;
 
@@ -972,6 +978,16 @@ void TestQgsProcessing::algorithm()
     QCOMPARE( providerRefreshed.count(), 2 + i );
   }
 
+  // inactive provider, should not load algorithms
+  p->active = false;
+  p->refreshAlgorithms();
+  QCOMPARE( providerRefreshed.count(), 3 );
+  QVERIFY( p->algorithms().empty() );
+  p->active = true;
+  p->refreshAlgorithms();
+  QCOMPARE( providerRefreshed.count(), 4 );
+  QVERIFY( !p->algorithms().empty() );
+
   QgsProcessingRegistry r;
   r.addProvider( p );
   QCOMPARE( r.algorithms().size(), 2 );
@@ -4398,6 +4414,16 @@ void TestQgsProcessing::parameterFileOut()
   QCOMPARE( fromCode->description(), QStringLiteral( "optional" ) );
   QCOMPARE( fromCode->flags(), def->flags() );
   QCOMPARE( fromCode->defaultValue(), def->defaultValue() );
+
+  // outputs definitio test
+  def.reset( new QgsProcessingParameterFileDestination( "html", QString(), QString( "HTML files" ), QString(), false ) );
+  QVERIFY( dynamic_cast< QgsProcessingOutputHtml *>( def->toOutputDefinition() ) );
+  def.reset( new QgsProcessingParameterFileDestination( "html", QString(), QString( "Text files (*.htm)" ), QString(), false ) );
+  QVERIFY( dynamic_cast< QgsProcessingOutputHtml *>( def->toOutputDefinition() ) );
+  def.reset( new QgsProcessingParameterFileDestination( "file", QString(), QString( "Text files (*.txt)" ), QString(), false ) );
+  QVERIFY( dynamic_cast< QgsProcessingOutputFile *>( def->toOutputDefinition() ) );
+  def.reset( new QgsProcessingParameterFileDestination( "file", QString(), QString(), QString(), false ) );
+  QVERIFY( dynamic_cast< QgsProcessingOutputFile *>( def->toOutputDefinition() ) );
 }
 
 void TestQgsProcessing::parameterFolderOut()
@@ -5787,6 +5813,11 @@ void TestQgsProcessing::tempUtils()
   QVERIFY( tempFile1 != tempFile2 );
   QVERIFY( tempFile2.endsWith( "test.txt" ) );
   QVERIFY( tempFile2.startsWith( tempFolder ) );
+
+  // invalid characters
+  QString tempFile3 = QgsProcessingUtils::generateTempFilename( "mybad:file.txt" );
+  QVERIFY( tempFile3.endsWith( "mybad_file.txt" ) );
+  QVERIFY( tempFile3.startsWith( tempFolder ) );
 }
 
 void TestQgsProcessing::convertCompatible()
diff --git a/tests/src/core/testqgscompositionconverter.cpp b/tests/src/core/testqgscompositionconverter.cpp
index 5e203d5..38e0c90 100644
--- a/tests/src/core/testqgscompositionconverter.cpp
+++ b/tests/src/core/testqgscompositionconverter.cpp
@@ -44,6 +44,16 @@
 #include "qgslayoutitemattributetable.h"
 
 
+// Debug output for dom nodes
+QDebug operator<<( QDebug dbg, const QDomNode &node )
+{
+  QString s;
+  QTextStream str( &s, QIODevice::WriteOnly );
+  node.save( str, 2 );
+  dbg << qPrintable( s );
+  return dbg;
+}
+
 class TestQgsCompositionConverter: public QObject
 {
     Q_OBJECT
@@ -125,7 +135,17 @@ class TestQgsCompositionConverter: public QObject
     /**
      * Test automatic conversion from a composer template
      */
-    void convertComposerTemplate();
+    void convertComposition();
+
+    /**
+     * Test if a composition template can be detected from a dom document
+     */
+    void isCompositionTemplate();
+
+    /**
+     * Test if a composition template can be converted to a layout template
+     */
+    void convertCompositionTemplate();
 
 
   private:
@@ -523,7 +543,7 @@ void TestQgsCompositionConverter::importComposerTemplateScaleBar()
 }
 
 
-void TestQgsCompositionConverter::convertComposerTemplate()
+void TestQgsCompositionConverter::convertComposition()
 {
 
   QgsProject project;
@@ -541,6 +561,42 @@ void TestQgsCompositionConverter::convertComposerTemplate()
 
 }
 
+void TestQgsCompositionConverter::isCompositionTemplate()
+{
+  QString templatePath( QStringLiteral( TEST_DATA_DIR ) + "/layouts/2x_template.qpt" );
+  QDomDocument doc( "mydocument" );
+  QFile file( templatePath );
+  file.open( QIODevice::ReadOnly );
+  doc.setContent( &file );
+  file.close();
+
+  QVERIFY( QgsCompositionConverter::isCompositionTemplate( doc ) );
+
+}
+
+void TestQgsCompositionConverter::convertCompositionTemplate()
+{
+  QString templatePath( QStringLiteral( TEST_DATA_DIR ) + "/layouts/2x_template.qpt" );
+  QDomDocument doc( "mydocument" );
+  QFile file( templatePath );
+  file.open( QIODevice::ReadOnly );
+  doc.setContent( &file );
+  file.close();
+
+  QgsProject project;
+
+  QDomDocument layoutDoc = QgsCompositionConverter::convertCompositionTemplate( doc, &project );
+  //qDebug() << layoutDoc;
+  QCOMPARE( layoutDoc.elementsByTagName( QStringLiteral( "Layout" ) ).count(), 1 );
+
+  std::unique_ptr<QgsLayout> layout = qgis::make_unique<QgsLayout>( &project );
+  QgsReadWriteContext context;
+  context.setPathResolver( project.pathResolver() );
+  layout->readXml( layoutDoc.elementsByTagName( QStringLiteral( "Layout" ) ).at( 0 ).toElement(), layoutDoc, context );
+  QVERIFY( layout.get() );
+  QCOMPARE( layout->pageCollection()->pageCount(), 2 );
+}
+
 void TestQgsCompositionConverter::importComposerTemplate()
 {
   QDomElement composerElem( loadComposer( "2x_template.qpt" ) );
@@ -646,7 +702,7 @@ void TestQgsCompositionConverter::checkRenderedImage( QgsLayout *layout, const Q
   QSize size( layout->pageCollection()->page( pageNumber )->sizeWithUnits().width() * 3.77, layout->pageCollection()->page( pageNumber )->sizeWithUnits().height() * 3.77 );
   checker.setSize( size );
   checker.setControlPathPrefix( QStringLiteral( "compositionconverter" ) );
-  QVERIFY( checker.testLayout( mReport, pageNumber, 0, true ) );
+  QVERIFY( checker.testLayout( mReport, pageNumber, 0, false ) );
 }
 
 
diff --git a/tests/src/core/testqgslabelingengine.cpp b/tests/src/core/testqgslabelingengine.cpp
index ae434b8..915eeba 100644
--- a/tests/src/core/testqgslabelingengine.cpp
+++ b/tests/src/core/testqgslabelingengine.cpp
@@ -50,6 +50,7 @@ class TestQgsLabelingEngine : public QObject
     void testParticipatingLayers();
     void testRegisterFeatureUnprojectible();
     void testRotateHidePartial();
+    void testParallelLabelSmallFeature();
 
   private:
     QgsVectorLayer *vl = nullptr;
@@ -696,5 +697,76 @@ void TestQgsLabelingEngine::testRotateHidePartial()
   QVERIFY( imageCheck( "label_rotate_hide_partial", img, 20 ) );
 }
 
+void TestQgsLabelingEngine::testParallelLabelSmallFeature()
+{
+  // Test rendering a small, closed linestring using parallel labeling
+  // This test assumes that NO label is drawn in this situation. In future we may want
+  // to revisit this and e.g. draw a centered horizontal label over the feature -- in which
+  // case the reference image here should be freely revised. But for now, we just don't
+  // want a hang/crash such as described in https://issues.qgis.org/issues/18283
+
+  QgsPalLayerSettings settings;
+  setDefaultLabelParams( settings );
+
+  QgsTextFormat format = settings.format();
+  format.setSize( 20 );
+  format.setColor( QColor( 0, 0, 0 ) );
+  settings.setFormat( format );
+
+  settings.fieldName = QStringLiteral( "'long label which doesn\\'t fit'" );
+  settings.isExpression = true;
+  settings.placement = QgsPalLayerSettings::Line;
+
+  std::unique_ptr< QgsVectorLayer> vl2( new QgsVectorLayer( QStringLiteral( "linestring?crs=epsg:3148&field=id:integer" ), QStringLiteral( "vl" ), QStringLiteral( "memory" ) ) );
+  vl2->setRenderer( new QgsNullSymbolRenderer() );
+
+  QgsVectorLayerLabelProvider *provider = new QgsVectorLayerLabelProvider( vl2.get(), QStringLiteral( "test" ), true, &settings );
+  QgsFeature f( vl2->fields(), 1 );
+
+  f.setGeometry( QgsGeometry().fromWkt( QStringLiteral( "MultiLineString ((491176.796876200591214 1277565.39028006233274937, 491172.03128372476203367 1277562.45040752924978733, 491167.67935446038609371 1277557.28786265244707465, 491165.36599104333436117 1277550.97473702346906066, 491165.35308923490811139 1277544.24074512091465294, 491166.8345245998352766 1277539.49665334494784474, 491169.47186020453227684 1277535.27191955596208572, 491173.11253597546601668 1277531.85408334922976792, 4911 [...]
+  vl2->dataProvider()->addFeature( f );
+
+  vl2->setLabeling( new QgsVectorLayerSimpleLabeling( settings ) );  // TODO: this should not be necessary!
+  vl2->setLabelsEnabled( true );
+
+  // make a fake render context
+  QSize size( 640, 480 );
+  QgsMapSettings mapSettings;
+  QgsCoordinateReferenceSystem tgtCrs;
+  tgtCrs.createFromString( QStringLiteral( "EPSG:3148" ) );
+  mapSettings.setDestinationCrs( tgtCrs );
+
+  mapSettings.setOutputSize( size );
+  mapSettings.setExtent( QgsRectangle( 490359.7, 1276862.1, 492587.8, 1278500.0 ) );
+  mapSettings.setLayers( QList<QgsMapLayer *>() << vl2.get() );
+  mapSettings.setOutputDpi( 96 );
+
+  QgsLabelingEngineSettings engineSettings = mapSettings.labelingEngineSettings();
+  engineSettings.setFlag( QgsLabelingEngineSettings::UsePartialCandidates, false );
+  engineSettings.setFlag( QgsLabelingEngineSettings::DrawLabelRectOnly, true );
+  mapSettings.setLabelingEngineSettings( engineSettings );
+
+  QgsMapRendererSequentialJob job( mapSettings );
+  job.start();
+  job.waitForFinished();
+
+  QImage img = job.renderedImage();
+
+  QPainter p( &img );
+  QgsRenderContext context = QgsRenderContext::fromMapSettings( mapSettings );
+  context.setPainter( &p );
+
+  QgsLabelingEngine engine;
+  engine.setMapSettings( mapSettings );
+  engine.addProvider( provider );
+
+  engine.run( context );
+  p.end();
+  engine.removeProvider( provider );
+
+  // no need to actually check the result here -- we were just testing that no hang/crash occurred
+  //  QVERIFY( imageCheck( "label_rotate_hide_partial", img, 20 ) );
+}
+
 QGSTEST_MAIN( TestQgsLabelingEngine )
 #include "testqgslabelingengine.moc"
diff --git a/tests/src/core/testqgsmapsettings.cpp b/tests/src/core/testqgsmapsettings.cpp
index e426475..0d2fd04 100644
--- a/tests/src/core/testqgsmapsettings.cpp
+++ b/tests/src/core/testqgsmapsettings.cpp
@@ -41,6 +41,7 @@ class TestQgsMapSettings: public QObject
     void testIsLayerVisible();
     void testMapLayerListUtils();
     void testXmlReadWrite();
+    void testSetLayers();
 
   private:
     QString toString( const QPolygonF &p, int decimalPlaces = 2 ) const;
@@ -281,5 +282,22 @@ void TestQgsMapSettings::testXmlReadWrite()
   QVERIFY( !s2.destinationCrs().isValid() );
 }
 
+void TestQgsMapSettings::testSetLayers()
+{
+  std::unique_ptr<  QgsVectorLayer  > vlA = qgis::make_unique< QgsVectorLayer >( QStringLiteral( "Point" ), QStringLiteral( "a" ), QStringLiteral( "memory" ) );
+  std::unique_ptr<  QgsVectorLayer  > vlB = qgis::make_unique< QgsVectorLayer >( QStringLiteral( "Point" ), QStringLiteral( "b" ), QStringLiteral( "memory" ) );
+  std::unique_ptr<  QgsVectorLayer  > nonSpatial = qgis::make_unique< QgsVectorLayer >( QStringLiteral( "none" ), QStringLiteral( "a" ), QStringLiteral( "memory" ) );
+
+  QgsMapSettings ms;
+  ms.setLayers( QList< QgsMapLayer * >() << vlA.get() );
+  QCOMPARE( ms.layers(), QList< QgsMapLayer * >() << vlA.get() );
+  ms.setLayers( QList< QgsMapLayer * >() << vlB.get() << vlA.get() );
+  QCOMPARE( ms.layers(), QList< QgsMapLayer * >() << vlB.get() << vlA.get() );
+
+  // non spatial and null layers should be stripped
+  ms.setLayers( QList< QgsMapLayer * >() << vlA.get() << nonSpatial.get() << nullptr << vlB.get() );
+  QCOMPARE( ms.layers(), QList< QgsMapLayer * >() << vlA.get() << vlB.get() );
+}
+
 QGSTEST_MAIN( TestQgsMapSettings )
 #include "testqgsmapsettings.moc"
diff --git a/tests/src/core/testqgsmapsettingsutils.cpp b/tests/src/core/testqgsmapsettingsutils.cpp
index e0f5057..c28b217 100644
--- a/tests/src/core/testqgsmapsettingsutils.cpp
+++ b/tests/src/core/testqgsmapsettingsutils.cpp
@@ -52,6 +52,9 @@ void TestQgsMapSettingsUtils::createWorldFileContent()
 
   mMapSettings.setRotation( 45 );
   QCOMPARE( QgsMapSettingsUtils::worldFileContent( mMapSettings ), QString( "0.70710678118654757\r\n0.70710678118654746\r\n0.70710678118654746\r\n-0.70710678118654757\r\n0.5\r\n0.49999999999999994\r\n" ) );
+
+  mMapSettings.setRotation( 145 );
+  QCOMPARE( QgsMapSettingsUtils::worldFileContent( mMapSettings ), QString( "-0.81915204428899191\r\n0.57357643635104594\r\n0.57357643635104594\r\n0.81915204428899191\r\n0.5\r\n0.49999999999999994\r\n" ) );
 }
 
 QGSTEST_MAIN( TestQgsMapSettingsUtils )
diff --git a/tests/src/core/testqgsproject.cpp b/tests/src/core/testqgsproject.cpp
index 220532c..ec093e5 100644
--- a/tests/src/core/testqgsproject.cpp
+++ b/tests/src/core/testqgsproject.cpp
@@ -99,14 +99,30 @@ void TestQgsProject::testReadPath()
 
 void TestQgsProject::testPathResolver()
 {
-  QgsPathResolver resolverRel( QStringLiteral( "/home/qgis/test.qgs" ) );
-  QCOMPARE( resolverRel.writePath( "/home/qgis/file1.txt" ), QString( "./file1.txt" ) );
-  QCOMPARE( resolverRel.writePath( "/home/qgis/subdir/file1.txt" ), QString( "./subdir/file1.txt" ) );
-  QCOMPARE( resolverRel.writePath( "/home/file1.txt" ), QString( "../file1.txt" ) );
-  QCOMPARE( resolverRel.readPath( "./file1.txt" ), QString( "/home/qgis/file1.txt" ) );
-  QCOMPARE( resolverRel.readPath( "./subdir/file1.txt" ), QString( "/home/qgis/subdir/file1.txt" ) );
-  QCOMPARE( resolverRel.readPath( "../file1.txt" ), QString( "/home/file1.txt" ) );
-  QCOMPARE( resolverRel.readPath( "/home/qgis/file1.txt" ), QString( "/home/qgis/file1.txt" ) );
+  // Test resolver with a non existing file path
+  QgsPathResolver resolverLegacy( QStringLiteral( "/home/qgis/test.qgs" ) );
+  QCOMPARE( resolverLegacy.writePath( "/home/qgis/file1.txt" ), QString( "./file1.txt" ) );
+  QCOMPARE( resolverLegacy.writePath( "/home/qgis/subdir/file1.txt" ), QString( "./subdir/file1.txt" ) );
+  QCOMPARE( resolverLegacy.writePath( "/home/file1.txt" ), QString( "../file1.txt" ) );
+  QCOMPARE( resolverLegacy.readPath( "./file1.txt" ), QString( "/home/qgis/file1.txt" ) );
+  QCOMPARE( resolverLegacy.readPath( "./subdir/file1.txt" ), QString( "/home/qgis/subdir/file1.txt" ) );
+  QCOMPARE( resolverLegacy.readPath( "../file1.txt" ), QString( "/home/file1.txt" ) );
+  QCOMPARE( resolverLegacy.readPath( "/home/qgis/file1.txt" ), QString( "/home/qgis/file1.txt" ) );
+
+  // Test resolver with existing file path
+  QTemporaryDir tmpDir;
+  QString tmpDirName = tmpDir.path();
+  QDir dir( tmpDirName );
+  dir.mkpath( tmpDirName + "/home/qgis/" );
+
+  QgsPathResolver resolverRel( QString( tmpDirName + "/home/qgis/test.qgs" ) );
+  QCOMPARE( resolverRel.writePath( tmpDirName + "/home/qgis/file1.txt" ), QString( "./file1.txt" ) );
+  QCOMPARE( resolverRel.writePath( tmpDirName + "/home/qgis/subdir/file1.txt" ), QString( "./subdir/file1.txt" ) );
+  QCOMPARE( resolverRel.writePath( tmpDirName + "/home/file1.txt" ), QString( "../file1.txt" ) );
+  QCOMPARE( resolverRel.readPath( "./file1.txt" ), QString( tmpDirName + "/home/qgis/file1.txt" ) );
+  QCOMPARE( resolverRel.readPath( "./subdir/file1.txt" ), QString( tmpDirName + "/home/qgis/subdir/file1.txt" ) );
+  QCOMPARE( resolverRel.readPath( "../file1.txt" ), QString( tmpDirName + "/home/file1.txt" ) );
+  QCOMPARE( resolverRel.readPath( tmpDirName + "/home/qgis/file1.txt" ), QString( tmpDirName + "/home/qgis/file1.txt" ) );
 
   // test older style relative path - file must exist for this to work
   QTemporaryFile tmpFile;
diff --git a/tests/src/core/testqgssettings.cpp b/tests/src/core/testqgssettings.cpp
index 4e170c3..bda210b 100644
--- a/tests/src/core/testqgssettings.cpp
+++ b/tests/src/core/testqgssettings.cpp
@@ -30,11 +30,11 @@ class TestQgsSettings : public QObject
     Q_OBJECT
 
   private slots:
-    void enumSettingValue();
+    void enumValue();
 };
 
 
-void TestQgsSettings::enumSettingValue()
+void TestQgsSettings::enumValue()
 {
   QgsSettings settings;
 
@@ -48,23 +48,23 @@ void TestQgsSettings::enumSettingValue()
   QCOMPARE( v1, -1 );
 
   // enum method returns default value if current setting is incorrect
-  QgsUnitTypes::LayoutUnit v2 = settings.enumSettingValue( QStringLiteral( "qgis/testing/my_value_for_units" ), QgsUnitTypes::LayoutMeters );
+  QgsUnitTypes::LayoutUnit v2 = settings.enumValue( QStringLiteral( "qgis/testing/my_value_for_units" ), QgsUnitTypes::LayoutMeters );
   QCOMPARE( v2, QgsUnitTypes::LayoutMeters );
 
   // test a different value than default
   settings.setValue( QStringLiteral( "qgis/testing/my_value_for_units" ), QgsUnitTypes::LayoutCentimeters );
-  QgsUnitTypes::LayoutUnit v3 = settings.enumSettingValue( QStringLiteral( "qgis/testing/my_value_for_units" ), QgsUnitTypes::LayoutMeters );
+  QgsUnitTypes::LayoutUnit v3 = settings.enumValue( QStringLiteral( "qgis/testing/my_value_for_units" ), QgsUnitTypes::LayoutMeters );
   QCOMPARE( v3, QgsUnitTypes::LayoutCentimeters );
 
   // test for flags
   QgsMapLayerProxyModel::Filters pointAndLine = QgsMapLayerProxyModel::Filters( QgsMapLayerProxyModel::PointLayer | QgsMapLayerProxyModel::LineLayer );
   QgsMapLayerProxyModel::Filters pointAndPolygon = QgsMapLayerProxyModel::Filters( QgsMapLayerProxyModel::PointLayer | QgsMapLayerProxyModel::PolygonLayer );
   settings.setValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), 1e8 ); // invalid
-  QgsMapLayerProxyModel::Filters v4 = settings.enumSettingValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), pointAndLine );
+  QgsMapLayerProxyModel::Filters v4 = settings.enumValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), pointAndLine );
   QCOMPARE( v4, pointAndLine );
 
   settings.setValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), static_cast<int>( pointAndPolygon ) );
-  QgsMapLayerProxyModel::Filters v5 = settings.enumSettingValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), pointAndLine, QgsSettings::NoSection, true );
+  QgsMapLayerProxyModel::Filters v5 = settings.enumValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), pointAndLine, QgsSettings::NoSection, true );
   QCOMPARE( v5, pointAndPolygon );
 }
 
diff --git a/tests/src/python/CMakeLists.txt b/tests/src/python/CMakeLists.txt
index 42d10fe..ad75d0d 100644
--- a/tests/src/python/CMakeLists.txt
+++ b/tests/src/python/CMakeLists.txt
@@ -101,6 +101,7 @@ ADD_PYTHON_TEST(PyQgsLocator test_qgslocator.py)
 ADD_PYTHON_TEST(PyQgsMapCanvas test_qgsmapcanvas.py)
 ADD_PYTHON_TEST(PyQgsMapCanvasAnnotationItem test_qgsmapcanvasannotationitem.py)
 ADD_PYTHON_TEST(PyQgsMapLayer test_qgsmaplayer.py)
+ADD_PYTHON_TEST(PyQgsMapLayerAction test_qgsmaplayeraction.py)
 ADD_PYTHON_TEST(PyQgsMapLayerModel test_qgsmaplayermodel.py)
 ADD_PYTHON_TEST(PyQgsMapLayerStore test_qgsmaplayerstore.py)
 ADD_PYTHON_TEST(PyQgsMapRenderer test_qgsmaprenderer.py)
diff --git a/tests/src/python/featuresourcetestbase.py b/tests/src/python/featuresourcetestbase.py
index 11f3842..f153605 100644
--- a/tests/src/python/featuresourcetestbase.py
+++ b/tests/src/python/featuresourcetestbase.py
@@ -13,7 +13,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2017-05-25'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (
     QgsRectangle,
diff --git a/tests/src/python/offlineditingtestbase.py b/tests/src/python/offlineditingtestbase.py
index a787cfe..50be127 100644
--- a/tests/src/python/offlineditingtestbase.py
+++ b/tests/src/python/offlineditingtestbase.py
@@ -25,7 +25,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '2016-06-30'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from time import sleep
 
diff --git a/tests/src/python/providertestbase.py b/tests/src/python/providertestbase.py
index 9ebcf7f..bcc1d8a 100644
--- a/tests/src/python/providertestbase.py
+++ b/tests/src/python/providertestbase.py
@@ -13,7 +13,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '2015-04-27'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (
     QgsRectangle,
diff --git a/tests/src/python/qgis_interface.py b/tests/src/python/qgis_interface.py
index 992875c..0f92149 100644
--- a/tests/src/python/qgis_interface.py
+++ b/tests/src/python/qgis_interface.py
@@ -18,7 +18,7 @@ Contact : ole.moller.nielsen at gmail.com
 
 __author__ = 'tim at linfiniti.com'
 __version__ = '0.5.0'
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 __date__ = '10/01/2011'
 __copyright__ = ('Copyright (c) 2010 by Ivan Mincik, ivan.mincik at gista.sk and '
                  'Copyright (c) 2011 German Carrillo, '
diff --git a/tests/src/python/qgis_local_server.py b/tests/src/python/qgis_local_server.py
index fa647da..3c881bd 100644
--- a/tests/src/python/qgis_local_server.py
+++ b/tests/src/python/qgis_local_server.py
@@ -11,7 +11,7 @@ __author__ = 'Larry Shaffer'
 __date__ = '2014/02/11'
 __copyright__ = 'Copyright 2014, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import sys
 import os
diff --git a/tests/src/python/qgis_wrapped_server.py b/tests/src/python/qgis_wrapped_server.py
index 58079eae..59a2a8f 100644
--- a/tests/src/python/qgis_wrapped_server.py
+++ b/tests/src/python/qgis_wrapped_server.py
@@ -48,7 +48,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '05/15/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
diff --git a/tests/src/python/test_authmanager_ogr.py b/tests/src/python/test_authmanager_ogr.py
index 8323fa4..f1cd60b 100644
--- a/tests/src/python/test_authmanager_ogr.py
+++ b/tests/src/python/test_authmanager_ogr.py
@@ -29,7 +29,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '14/11/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 qgis_app = start_app()
diff --git a/tests/src/python/test_authmanager_ogr_postgres.py b/tests/src/python/test_authmanager_ogr_postgres.py
index 693d3f0..29075d6 100644
--- a/tests/src/python/test_authmanager_ogr_postgres.py
+++ b/tests/src/python/test_authmanager_ogr_postgres.py
@@ -55,7 +55,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '03/11/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 QGIS_POSTGRES_SERVER_PORT = os.environ.get('QGIS_POSTGRES_SERVER_PORT', '55432')
 QGIS_POSTGRES_EXECUTABLE_PATH = os.environ.get('QGIS_POSTGRES_EXECUTABLE_PATH', '/usr/lib/postgresql/9.4/bin')
diff --git a/tests/src/python/test_authmanager_password_ows.py b/tests/src/python/test_authmanager_password_ows.py
index 3cad475..faa2f3d 100644
--- a/tests/src/python/test_authmanager_password_ows.py
+++ b/tests/src/python/test_authmanager_password_ows.py
@@ -30,7 +30,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '18/09/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from shutil import rmtree
 
diff --git a/tests/src/python/test_authmanager_password_postgres.py b/tests/src/python/test_authmanager_password_postgres.py
index 56f6503..6acdb23 100644
--- a/tests/src/python/test_authmanager_password_postgres.py
+++ b/tests/src/python/test_authmanager_password_postgres.py
@@ -55,7 +55,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '25/10/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 QGIS_POSTGRES_SERVER_PORT = os.environ.get('QGIS_POSTGRES_SERVER_PORT', '55432')
 QGIS_POSTGRES_EXECUTABLE_PATH = os.environ.get('QGIS_POSTGRES_EXECUTABLE_PATH', '/usr/lib/postgresql/9.4/bin')
diff --git a/tests/src/python/test_authmanager_pki_ows.py b/tests/src/python/test_authmanager_pki_ows.py
index 6a3e522..5f90fed 100644
--- a/tests/src/python/test_authmanager_pki_ows.py
+++ b/tests/src/python/test_authmanager_pki_ows.py
@@ -27,7 +27,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '25/10/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from shutil import rmtree
 
diff --git a/tests/src/python/test_authmanager_pki_postgres.py b/tests/src/python/test_authmanager_pki_postgres.py
index 5d35283..b880ac2 100644
--- a/tests/src/python/test_authmanager_pki_postgres.py
+++ b/tests/src/python/test_authmanager_pki_postgres.py
@@ -55,7 +55,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '25/10/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 QGIS_POSTGRES_SERVER_PORT = os.environ.get('QGIS_POSTGRES_SERVER_PORT', '55432')
 QGIS_POSTGRES_EXECUTABLE_PATH = os.environ.get('QGIS_POSTGRES_EXECUTABLE_PATH', '/usr/lib/postgresql/9.4/bin')
diff --git a/tests/src/python/test_authmanager_proxy.py b/tests/src/python/test_authmanager_proxy.py
index c060ba8..7c297ce 100644
--- a/tests/src/python/test_authmanager_proxy.py
+++ b/tests/src/python/test_authmanager_proxy.py
@@ -25,7 +25,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '27/09/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 QGIS_AUTH_DB_DIR_PATH = tempfile.mkdtemp()
diff --git a/tests/src/python/test_authsettingswidget.py b/tests/src/python/test_authsettingswidget.py
index 7657a21..64f2c17 100644
--- a/tests/src/python/test_authsettingswidget.py
+++ b/tests/src/python/test_authsettingswidget.py
@@ -28,7 +28,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '27/09/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 QGIS_AUTH_DB_DIR_PATH = tempfile.mkdtemp()
diff --git a/tests/src/python/test_console.py b/tests/src/python/test_console.py
index 84651e9..836c287 100644
--- a/tests/src/python/test_console.py
+++ b/tests/src/python/test_console.py
@@ -10,7 +10,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '15.4.2016'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import os
diff --git a/tests/src/python/test_db_manager_gpkg.py b/tests/src/python/test_db_manager_gpkg.py
index 3e864da..bf5f2e4 100644
--- a/tests/src/python/test_db_manager_gpkg.py
+++ b/tests/src/python/test_db_manager_gpkg.py
@@ -10,7 +10,7 @@ __author__ = 'Even Rouault'
 __date__ = '2016-10-17'
 __copyright__ = 'Copyright 2016, Even Rouault'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_layer_dependencies.py b/tests/src/python/test_layer_dependencies.py
index 0d6fe75..0c72ab3 100644
--- a/tests/src/python/test_layer_dependencies.py
+++ b/tests/src/python/test_layer_dependencies.py
@@ -10,7 +10,7 @@ __author__ = 'Hugo Mercier'
 __date__ = '12/07/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import os
diff --git a/tests/src/python/test_offline_editing_wfs.py b/tests/src/python/test_offline_editing_wfs.py
index 2340636..9c796ae 100644
--- a/tests/src/python/test_offline_editing_wfs.py
+++ b/tests/src/python/test_offline_editing_wfs.py
@@ -26,7 +26,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '05/15/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
diff --git a/tests/src/python/test_provider_afs.py b/tests/src/python/test_provider_afs.py
index 29812b6..49429d8 100644
--- a/tests/src/python/test_provider_afs.py
+++ b/tests/src/python/test_provider_afs.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2018-02-16'
 __copyright__ = 'Copyright 2018, Nyall Dawson'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import hashlib
 import os
diff --git a/tests/src/python/test_provider_db2.py b/tests/src/python/test_provider_db2.py
index 09af80e..264af58 100644
--- a/tests/src/python/test_provider_db2.py
+++ b/tests/src/python/test_provider_db2.py
@@ -10,7 +10,7 @@ __author__ = 'David Adler'
 __date__ = '2016-03-01'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_provider_memory.py b/tests/src/python/test_provider_memory.py
index 824d352..e5d9093 100644
--- a/tests/src/python/test_provider_memory.py
+++ b/tests/src/python/test_provider_memory.py
@@ -10,7 +10,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '2015-04-23'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from qgis.core import (
diff --git a/tests/src/python/test_provider_mssql.py b/tests/src/python/test_provider_mssql.py
index cec7ae2..9cc44dc 100644
--- a/tests/src/python/test_provider_mssql.py
+++ b/tests/src/python/test_provider_mssql.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2015-12-07'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_provider_ogr.py b/tests/src/python/test_provider_ogr.py
index 0b3ccbd..b567547 100644
--- a/tests/src/python/test_provider_ogr.py
+++ b/tests/src/python/test_provider_ogr.py
@@ -10,7 +10,7 @@ __author__ = 'Even Rouault'
 __date__ = '2016-04-11'
 __copyright__ = 'Copyright 2016, Even Rouault'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import shutil
diff --git a/tests/src/python/test_provider_ogr_gpkg.py b/tests/src/python/test_provider_ogr_gpkg.py
index 7f8fcb4..0ce0523 100644
--- a/tests/src/python/test_provider_ogr_gpkg.py
+++ b/tests/src/python/test_provider_ogr_gpkg.py
@@ -10,7 +10,7 @@ __author__ = 'Even Rouault'
 __date__ = '2016-04-21'
 __copyright__ = 'Copyright 2016, Even Rouault'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import re
diff --git a/tests/src/python/test_provider_ogr_sqlite.py b/tests/src/python/test_provider_ogr_sqlite.py
index 07cb8ed..6431c2f 100644
--- a/tests/src/python/test_provider_ogr_sqlite.py
+++ b/tests/src/python/test_provider_ogr_sqlite.py
@@ -10,7 +10,7 @@ __author__ = 'Even Rouault'
 __date__ = '2016-06-01'
 __copyright__ = 'Copyright 2016, Even Rouault'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_provider_oracle.py b/tests/src/python/test_provider_oracle.py
index a78acca..9371ac4 100644
--- a/tests/src/python/test_provider_oracle.py
+++ b/tests/src/python/test_provider_oracle.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2016-07-06'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_provider_postgres.py b/tests/src/python/test_provider_postgres.py
index db720f5..e4ca2ce 100644
--- a/tests/src/python/test_provider_postgres.py
+++ b/tests/src/python/test_provider_postgres.py
@@ -15,7 +15,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '2015-04-23'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import psycopg2
diff --git a/tests/src/python/test_provider_shapefile.py b/tests/src/python/test_provider_shapefile.py
index 6e48802..9cf0654 100644
--- a/tests/src/python/test_provider_shapefile.py
+++ b/tests/src/python/test_provider_shapefile.py
@@ -10,7 +10,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '2015-04-23'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import re
diff --git a/tests/src/python/test_provider_spatialite.py b/tests/src/python/test_provider_spatialite.py
index 0ca6fb0..4b800cd 100644
--- a/tests/src/python/test_provider_spatialite.py
+++ b/tests/src/python/test_provider_spatialite.py
@@ -10,7 +10,7 @@ __author__ = 'Vincent Mora'
 __date__ = '09/07/2013'
 __copyright__ = 'Copyright 2013, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_provider_tabfile.py b/tests/src/python/test_provider_tabfile.py
index 3da5439..0f241ef 100644
--- a/tests/src/python/test_provider_tabfile.py
+++ b/tests/src/python/test_provider_tabfile.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2016-01-28'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import tempfile
diff --git a/tests/src/python/test_provider_virtual.py b/tests/src/python/test_provider_virtual.py
index dc53689..515c27f 100644
--- a/tests/src/python/test_provider_virtual.py
+++ b/tests/src/python/test_provider_virtual.py
@@ -10,7 +10,7 @@ __author__ = 'Hugo Mercier'
 __date__ = '26/11/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import os
diff --git a/tests/src/python/test_provider_wfs.py b/tests/src/python/test_provider_wfs.py
index 042f009..55b089a 100644
--- a/tests/src/python/test_provider_wfs.py
+++ b/tests/src/python/test_provider_wfs.py
@@ -10,7 +10,7 @@ __author__ = 'Even Rouault'
 __date__ = '2016-03-25'
 __copyright__ = 'Copyright 2016, Even Rouault'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import hashlib
 import os
diff --git a/tests/src/python/test_provider_wfs_gui.py b/tests/src/python/test_provider_wfs_gui.py
index cc785c2..49b6d38 100644
--- a/tests/src/python/test_provider_wfs_gui.py
+++ b/tests/src/python/test_provider_wfs_gui.py
@@ -10,7 +10,7 @@ __author__ = 'Even Rouault'
 __date__ = '2016-03-25'
 __copyright__ = 'Copyright 2016, Even Rouault'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import hashlib
 import sys
diff --git a/tests/src/python/test_qgis_local_server.py b/tests/src/python/test_qgis_local_server.py
index d01dc3a..84dabe9 100644
--- a/tests/src/python/test_qgis_local_server.py
+++ b/tests/src/python/test_qgis_local_server.py
@@ -17,7 +17,7 @@ __author__ = 'Larry Shaffer'
 __date__ = '2014/02/16'
 __copyright__ = 'Copyright 2014, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import sys
diff --git a/tests/src/python/test_qgsactionmanager.py b/tests/src/python/test_qgsactionmanager.py
index 503e478..a0c96bb 100644
--- a/tests/src/python/test_qgsactionmanager.py
+++ b/tests/src/python/test_qgsactionmanager.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '28/05/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA switch sip api
 
diff --git a/tests/src/python/test_qgsaggregatecalculator.py b/tests/src/python/test_qgsaggregatecalculator.py
index c96224e..11eeaa5 100644
--- a/tests/src/python/test_qgsaggregatecalculator.py
+++ b/tests/src/python/test_qgsaggregatecalculator.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '16/05/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsannotation.py b/tests/src/python/test_qgsannotation.py
index 394d2f4..bfd033d 100644
--- a/tests/src/python/test_qgsannotation.py
+++ b/tests/src/python/test_qgsannotation.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '24/1/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsapplication.py b/tests/src/python/test_qgsapplication.py
index 282e051..c77ab1b 100644
--- a/tests/src/python/test_qgsapplication.py
+++ b/tests/src/python/test_qgsapplication.py
@@ -9,7 +9,7 @@ __author__ = 'Tim Sutton (tim at linfiniti.com)'
 __date__ = '20/01/2011'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 from qgis.testing import start_app, unittest
diff --git a/tests/src/python/test_qgsappstartup.py b/tests/src/python/test_qgsappstartup.py
index 67562fb..4983b74 100644
--- a/tests/src/python/test_qgsappstartup.py
+++ b/tests/src/python/test_qgsappstartup.py
@@ -12,7 +12,7 @@ __author__ = 'Hugo Mercier (hugo.mercier at oslandia.com)'
 __date__ = '17/07/2013'
 __copyright__ = 'Copyright 2013, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import sys
 import os
diff --git a/tests/src/python/test_qgsarrowsymbollayer.py b/tests/src/python/test_qgsarrowsymbollayer.py
index 888d0da..c4e0a70 100644
--- a/tests/src/python/test_qgsarrowsymbollayer.py
+++ b/tests/src/python/test_qgsarrowsymbollayer.py
@@ -21,7 +21,7 @@ __author__ = 'Hugo Mercier'
 __date__ = 'March 2016'
 __copyright__ = '(C) 2016, Hugo Mercier'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsattributeformeditorwidget.py b/tests/src/python/test_qgsattributeformeditorwidget.py
index 929d386..7c692fb 100644
--- a/tests/src/python/test_qgsattributeformeditorwidget.py
+++ b/tests/src/python/test_qgsattributeformeditorwidget.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2016-05'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsattributetableconfig.py b/tests/src/python/test_qgsattributetableconfig.py
index 7b19045..4a2ea30 100644
--- a/tests/src/python/test_qgsattributetableconfig.py
+++ b/tests/src/python/test_qgsattributetableconfig.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '07/06/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsattributetablemodel.py b/tests/src/python/test_qgsattributetablemodel.py
index 0602845..5e1505b 100644
--- a/tests/src/python/test_qgsattributetablemodel.py
+++ b/tests/src/python/test_qgsattributetablemodel.py
@@ -10,7 +10,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '27/05/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.gui import (
     QgsAttributeTableModel,
diff --git a/tests/src/python/test_qgsauthsystem.py b/tests/src/python/test_qgsauthsystem.py
index 19fed69..1bab1b7 100644
--- a/tests/src/python/test_qgsauthsystem.py
+++ b/tests/src/python/test_qgsauthsystem.py
@@ -12,7 +12,7 @@ __author__ = 'Larry Shaffer'
 __date__ = '2014/11/05'
 __copyright__ = 'Copyright 2014, Boundless Spatial, Inc.'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import tempfile
diff --git a/tests/src/python/test_qgsauxiliarystorage.py b/tests/src/python/test_qgsauxiliarystorage.py
index 5caa9c6..5782f29 100644
--- a/tests/src/python/test_qgsauxiliarystorage.py
+++ b/tests/src/python/test_qgsauxiliarystorage.py
@@ -10,7 +10,7 @@ __author__ = 'Paul Blottiere'
 __date__ = '06/09/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsbearingutils.py b/tests/src/python/test_qgsbearingutils.py
index 2235dfa..5c26c9c 100644
--- a/tests/src/python/test_qgsbearingutils.py
+++ b/tests/src/python/test_qgsbearingutils.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '18/10/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA switch sip api
 
diff --git a/tests/src/python/test_qgsblendmodes.py b/tests/src/python/test_qgsblendmodes.py
index e0c4b18..acfe48b 100644
--- a/tests/src/python/test_qgsblendmodes.py
+++ b/tests/src/python/test_qgsblendmodes.py
@@ -21,7 +21,7 @@ __author__ = 'Nyall Dawson'
 __date__ = 'May 2013'
 __copyright__ = '(C) 2013, Nyall Dawson, Massimo Endrighi'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsbox3d.py b/tests/src/python/test_qgsbox3d.py
index 5936bbd..ed72d58 100644
--- a/tests/src/python/test_qgsbox3d.py
+++ b/tests/src/python/test_qgsbox3d.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '11/04/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgscategorizedsymbolrenderer.py b/tests/src/python/test_qgscategorizedsymbolrenderer.py
index a7526fd..c9acea0 100644
--- a/tests/src/python/test_qgscategorizedsymbolrenderer.py
+++ b/tests/src/python/test_qgscategorizedsymbolrenderer.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2/12/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
@@ -19,9 +19,12 @@ from qgis.core import (QgsCategorizedSymbolRenderer,
                        QgsRendererCategory,
                        QgsMarkerSymbol,
                        QgsField,
-                       QgsFields
+                       QgsFields,
+                       QgsFeature,
+                       QgsRenderContext
                        )
 from qgis.PyQt.QtCore import QVariant
+from qgis.PyQt.QtGui import QColor
 
 start_app()
 
@@ -171,6 +174,144 @@ class TestQgsCategorizedSymbolRenderer(unittest.TestCase):
         assert renderer.updateCategoryRenderState(1, False)
         self.assertEqual(renderer.filter(fields), "FALSE")
 
+    def testSymbolForValue(self):
+        """Test symbolForValue"""
+        renderer = QgsCategorizedSymbolRenderer()
+        renderer.setClassAttribute('field')
+
+        symbol_a = createMarkerSymbol()
+        symbol_a.setColor(QColor(255, 0, 0))
+        renderer.addCategory(QgsRendererCategory('a', symbol_a, 'a'))
+        symbol_b = createMarkerSymbol()
+        symbol_b.setColor(QColor(0, 255, 0))
+        renderer.addCategory(QgsRendererCategory('b', symbol_b, 'b'))
+        symbol_c = createMarkerSymbol()
+        symbol_c.setColor(QColor(0, 0, 255))
+        renderer.addCategory(QgsRendererCategory('c', symbol_c, 'c', False))
+        # add default category
+        default_symbol = createMarkerSymbol()
+        default_symbol.setColor(QColor(255, 255, 255))
+        renderer.addCategory(QgsRendererCategory('', default_symbol, 'default'))
+
+        context = QgsRenderContext()
+        renderer.startRender(context, QgsFields())
+
+        symbol, ok = renderer.symbolForValue2('a')
+        self.assertEqual(symbol.color(), QColor(255, 0, 0))
+        self.assertTrue(ok)
+        symbol, ok = renderer.symbolForValue2('b')
+        self.assertEqual(symbol.color(), QColor(0, 255, 0))
+        self.assertTrue(ok)
+
+        # hidden category
+        symbol, ok = renderer.symbolForValue2('c')
+        self.assertIsNone(symbol)
+        self.assertTrue(ok)
+
+        # no matching category
+        symbol, ok = renderer.symbolForValue2('xxxx')
+        self.assertIsNone(symbol)
+        self.assertFalse(ok)
+
+        renderer.stopRender(context)
+
+    def testOriginalSymbolForFeature(self):
+        # test renderer with features
+        fields = QgsFields()
+        fields.append(QgsField('x'))
+
+        # setup renderer
+        renderer = QgsCategorizedSymbolRenderer()
+        renderer.setClassAttribute('x')
+
+        symbol_a = createMarkerSymbol()
+        symbol_a.setColor(QColor(255, 0, 0))
+        renderer.addCategory(QgsRendererCategory('a', symbol_a, 'a'))
+        symbol_b = createMarkerSymbol()
+        symbol_b.setColor(QColor(0, 255, 0))
+        renderer.addCategory(QgsRendererCategory('b', symbol_b, 'b'))
+        symbol_c = createMarkerSymbol()
+        symbol_c.setColor(QColor(0, 0, 255))
+        renderer.addCategory(QgsRendererCategory('c', symbol_c, 'c', False))
+        # add default category
+        default_symbol = createMarkerSymbol()
+        default_symbol.setColor(QColor(255, 255, 255))
+        renderer.addCategory(QgsRendererCategory('', default_symbol, 'default'))
+
+        context = QgsRenderContext()
+        renderer.startRender(context, fields)
+
+        f = QgsFeature(fields)
+        f.setAttributes(['a'])
+
+        symbol = renderer.originalSymbolForFeature(f, context)
+        self.assertEqual(symbol.color(), QColor(255, 0, 0))
+
+        f.setAttributes(['b'])
+        symbol = renderer.originalSymbolForFeature(f, context)
+        self.assertEqual(symbol.color(), QColor(0, 255, 0))
+
+        # hidden category
+        f.setAttributes(['c'])
+        symbol = renderer.originalSymbolForFeature(f, context)
+        self.assertIsNone(symbol)
+
+        # no matching category
+        f.setAttributes(['xxx'])
+        symbol = renderer.originalSymbolForFeature(f, context)
+        self.assertEqual(symbol.color(), QColor(255, 255, 255)) # default symbol
+
+        renderer.stopRender(context)
+
+    def testLegendKeysWhileCounting(self):
+        # test determining legend keys for features, while counting features
+        fields = QgsFields()
+        fields.append(QgsField('x'))
+
+        # setup renderer
+        renderer = QgsCategorizedSymbolRenderer()
+        renderer.setClassAttribute('x')
+
+        symbol_a = createMarkerSymbol()
+        symbol_a.setColor(QColor(255, 0, 0))
+        renderer.addCategory(QgsRendererCategory('a', symbol_a, 'a'))
+        symbol_b = createMarkerSymbol()
+        symbol_b.setColor(QColor(0, 255, 0))
+        renderer.addCategory(QgsRendererCategory('b', symbol_b, 'b'))
+        symbol_c = createMarkerSymbol()
+        symbol_c.setColor(QColor(0, 0, 255))
+        renderer.addCategory(QgsRendererCategory('c', symbol_c, 'c', False))
+        # add default category
+        default_symbol = createMarkerSymbol()
+        default_symbol.setColor(QColor(255, 255, 255))
+        renderer.addCategory(QgsRendererCategory('', default_symbol, 'default'))
+
+        context = QgsRenderContext()
+        context.setRendererScale(0) # simulate counting
+        renderer.startRender(context, fields)
+
+        f = QgsFeature(fields)
+        f.setAttributes(['a'])
+
+        keys = renderer.legendKeysForFeature(f, context)
+        self.assertEqual(keys, {'0'})
+
+        f.setAttributes(['b'])
+        keys = renderer.legendKeysForFeature(f, context)
+        self.assertEqual(keys, {'1'})
+
+        # hidden category, should still return keys
+        f.setAttributes(['c'])
+        keys = renderer.legendKeysForFeature(f, context)
+        self.assertEqual(keys, {'2'})
+
+        # no matching category
+        f.setAttributes(['xxx'])
+        keys = renderer.legendKeysForFeature(f, context)
+        self.assertFalse(keys)
+
+        renderer.stopRender(context)
+
 
 if __name__ == "__main__":
     unittest.main()
diff --git a/tests/src/python/test_qgscheckablecombobox.py b/tests/src/python/test_qgscheckablecombobox.py
index f58c809..f1311b7 100644
--- a/tests/src/python/test_qgscheckablecombobox.py
+++ b/tests/src/python/test_qgscheckablecombobox.py
@@ -10,7 +10,7 @@ __author__ = 'Alexander Bruy'
 __date__ = '22/03/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgscolorbutton.py b/tests/src/python/test_qgscolorbutton.py
index 3dc0f08..18bc6ea 100644
--- a/tests/src/python/test_qgscolorbutton.py
+++ b/tests/src/python/test_qgscolorbutton.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '25/05/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgscolorscheme.py b/tests/src/python/test_qgscolorscheme.py
index 2ef521a..866b759 100644
--- a/tests/src/python/test_qgscolorscheme.py
+++ b/tests/src/python/test_qgscolorscheme.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '25/07/2014'
 __copyright__ = 'Copyright 2014, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgscolorschemeregistry.py b/tests/src/python/test_qgscolorschemeregistry.py
index 5ab593f..074596b 100644
--- a/tests/src/python/test_qgscolorschemeregistry.py
+++ b/tests/src/python/test_qgscolorschemeregistry.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '25/07/2014'
 __copyright__ = 'Copyright 2014, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsconditionalstyle.py b/tests/src/python/test_qgsconditionalstyle.py
index 8cdc477..c00c1d5 100644
--- a/tests/src/python/test_qgsconditionalstyle.py
+++ b/tests/src/python/test_qgsconditionalstyle.py
@@ -11,7 +11,7 @@ __author__ = 'Nathan.Woodrow'
 __date__ = '2015-08-11'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (QgsConditionalStyle,
                        QgsFeature,
diff --git a/tests/src/python/test_qgscoordinateformatter.py b/tests/src/python/test_qgscoordinateformatter.py
index 4bddfa9..9c202a8 100644
--- a/tests/src/python/test_qgscoordinateformatter.py
+++ b/tests/src/python/test_qgscoordinateformatter.py
@@ -10,11 +10,11 @@ __author__ = 'Nyall Dawson'
 __date__ = '25/07/2014'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis
 from qgis.testing import unittest
-from qgis.core import QgsCoordinateFormatter
+from qgis.core import QgsCoordinateFormatter, QgsPointXY
 
 
 class TestQgsCoordinateFormatter(unittest.TestCase):
@@ -48,6 +48,11 @@ class TestQgsCoordinateFormatter(unittest.TestCase):
         self.assertEqual(QgsCoordinateFormatter.asPair(20, 10, 2), '20.00,10.00')
         self.assertEqual(QgsCoordinateFormatter.asPair(20, -10, 2), '20.00,-10.00')
 
+    def testFormat(self):
+        self.assertEqual(QgsCoordinateFormatter.format(QgsPointXY(20.1, 30.2), QgsCoordinateFormatter.FormatPair, 0), '20,30')
+        self.assertEqual(QgsCoordinateFormatter.format(QgsPointXY(20.1, 30.2), QgsCoordinateFormatter.FormatPair, 1), '20.1,30.2')
+        self.assertEqual(QgsCoordinateFormatter.format(QgsPointXY(20, 30), QgsCoordinateFormatter.FormatDegreesMinutesSeconds, 0), '20°0′0″E,30°0′0″N')
+
     def testFormatXFormatDegreesMinutesSeconds(self):
         """Test formatting x as DMS"""
 
diff --git a/tests/src/python/test_qgscoordinatetransform.py b/tests/src/python/test_qgscoordinatetransform.py
index f153132..ce8ae26 100644
--- a/tests/src/python/test_qgscoordinatetransform.py
+++ b/tests/src/python/test_qgscoordinatetransform.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2012 by Tim Sutton'
 __date__ = '20/08/2012'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgscoordinatetransformcontext.py b/tests/src/python/test_qgscoordinatetransformcontext.py
index 8fa9f01..155d940 100644
--- a/tests/src/python/test_qgscoordinatetransformcontext.py
+++ b/tests/src/python/test_qgscoordinatetransformcontext.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '11/5/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsdatetimeedit.py b/tests/src/python/test_qgsdatetimeedit.py
index edda2c4..110b3e3 100644
--- a/tests/src/python/test_qgsdatetimeedit.py
+++ b/tests/src/python/test_qgsdatetimeedit.py
@@ -10,7 +10,7 @@ __author__ = 'Denis Rouzaud'
 __date__ = '2018-01-04'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsdatetimestatisticalsummary.py b/tests/src/python/test_qgsdatetimestatisticalsummary.py
index 4c4196f..28722c2 100644
--- a/tests/src/python/test_qgsdatetimestatisticalsummary.py
+++ b/tests/src/python/test_qgsdatetimestatisticalsummary.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '07/05/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsdefaultvalue.py b/tests/src/python/test_qgsdefaultvalue.py
index 50fb33a..9f36f17 100644
--- a/tests/src/python/test_qgsdefaultvalue.py
+++ b/tests/src/python/test_qgsdefaultvalue.py
@@ -11,7 +11,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '26.9.2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsdelimitedtextprovider.py b/tests/src/python/test_qgsdelimitedtextprovider.py
index 5625c88..248322d 100644
--- a/tests/src/python/test_qgsdelimitedtextprovider.py
+++ b/tests/src/python/test_qgsdelimitedtextprovider.py
@@ -10,7 +10,7 @@ __author__ = 'Chris Crook'
 __date__ = '20/04/2013'
 __copyright__ = 'Copyright 2013, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 # This module provides unit test for the delimited text provider.  It uses data files in
 # the testdata/delimitedtext directory.
diff --git a/tests/src/python/test_qgsdelimitedtextprovider_wanted.py b/tests/src/python/test_qgsdelimitedtextprovider_wanted.py
index 516920a..5313e53 100644
--- a/tests/src/python/test_qgsdelimitedtextprovider_wanted.py
+++ b/tests/src/python/test_qgsdelimitedtextprovider_wanted.py
@@ -21,7 +21,7 @@ __author__ = 'Chris Crook'
 __date__ = 'May 2013'
 __copyright__ = '(C) 2013, Chris Crook'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 def test_002_load_csv_file():
diff --git a/tests/src/python/test_qgsdistancearea.py b/tests/src/python/test_qgsdistancearea.py
index bd10e2b..488befb 100644
--- a/tests/src/python/test_qgsdistancearea.py
+++ b/tests/src/python/test_qgsdistancearea.py
@@ -10,7 +10,7 @@ __author__ = 'Jürgen E. Fischer'
 __date__ = '19/01/2014'
 __copyright__ = 'Copyright 2014, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import math
@@ -600,18 +600,18 @@ class TestQgsDistanceArea(unittest.TestCase):
         self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QgsUnitTypes.DistanceKilometers, False), '1.500 km')
         self.assertEqual(QgsDistanceArea.formatDistance(0.5, 3, QgsUnitTypes.DistanceKilometers, True), '0.500 km')
         self.assertEqual(QgsDistanceArea.formatDistance(0.5, 3, QgsUnitTypes.DistanceKilometers, False), '500.000 m')
-        self.assertEqual(QgsDistanceArea.formatDistance(6000, 0, QgsUnitTypes.DistanceFeet, True), '6,000 ft')
+        self.assertEqual(QgsDistanceArea.formatDistance(6000, 0, QgsUnitTypes.DistanceFeet, True), '6000 ft')
         self.assertEqual(QgsDistanceArea.formatDistance(6000, 3, QgsUnitTypes.DistanceFeet, False), '1.136 mi')
         self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QgsUnitTypes.DistanceFeet, True), '300 ft')
         self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QgsUnitTypes.DistanceFeet, False), '300 ft')
-        self.assertEqual(QgsDistanceArea.formatDistance(3000, 0, QgsUnitTypes.DistanceYards, True), '3,000 yd')
+        self.assertEqual(QgsDistanceArea.formatDistance(3000, 0, QgsUnitTypes.DistanceYards, True), '3000 yd')
         self.assertEqual(QgsDistanceArea.formatDistance(3000, 3, QgsUnitTypes.DistanceYards, False), '1.705 mi')
         self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QgsUnitTypes.DistanceYards, True), '300 yd')
         self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QgsUnitTypes.DistanceYards, False), '300 yd')
         self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QgsUnitTypes.DistanceMiles, True), '1.500 mi')
         self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QgsUnitTypes.DistanceMiles, False), '1.500 mi')
         self.assertEqual(QgsDistanceArea.formatDistance(0.5, 3, QgsUnitTypes.DistanceMiles, True), '0.500 mi')
-        self.assertEqual(QgsDistanceArea.formatDistance(0.5, 0, QgsUnitTypes.DistanceMiles, False), '2,640 ft')
+        self.assertEqual(QgsDistanceArea.formatDistance(0.5, 0, QgsUnitTypes.DistanceMiles, False), '2640 ft')
         self.assertEqual(QgsDistanceArea.formatDistance(0.5, 1, QgsUnitTypes.DistanceNauticalMiles, True), '0.5 NM')
         self.assertEqual(QgsDistanceArea.formatDistance(0.5, 1, QgsUnitTypes.DistanceNauticalMiles, False), '0.5 NM')
         self.assertEqual(QgsDistanceArea.formatDistance(1.5, 1, QgsUnitTypes.DistanceNauticalMiles, True), '1.5 NM')
diff --git a/tests/src/python/test_qgseditformconfig.py b/tests/src/python/test_qgseditformconfig.py
index ec25ba1..dab7114 100644
--- a/tests/src/python/test_qgseditformconfig.py
+++ b/tests/src/python/test_qgseditformconfig.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '11/04/2017'
 __copyright__ = 'Copyright 2018, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgseditwidgets.py b/tests/src/python/test_qgseditwidgets.py
index 00be340..52e68ff 100644
--- a/tests/src/python/test_qgseditwidgets.py
+++ b/tests/src/python/test_qgseditwidgets.py
@@ -10,7 +10,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '20/05/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsellipsoidutils.py b/tests/src/python/test_qgsellipsoidutils.py
index c673e9d..a5d0d48 100644
--- a/tests/src/python/test_qgsellipsoidutils.py
+++ b/tests/src/python/test_qgsellipsoidutils.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '18/4/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsencodingselectiondialog.py b/tests/src/python/test_qgsencodingselectiondialog.py
index dde1b6f..a4f8479 100644
--- a/tests/src/python/test_qgsencodingselectiondialog.py
+++ b/tests/src/python/test_qgsencodingselectiondialog.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '21/11/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsexpression.py b/tests/src/python/test_qgsexpression.py
index 0d2c866..ca37f4b 100644
--- a/tests/src/python/test_qgsexpression.py
+++ b/tests/src/python/test_qgsexpression.py
@@ -10,7 +10,7 @@ __author__ = 'Nathan Woodrow'
 __date__ = '4/11/2012'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsexpressionbuilderwidget.py b/tests/src/python/test_qgsexpressionbuilderwidget.py
index f455323..7622d5f 100644
--- a/tests/src/python/test_qgsexpressionbuilderwidget.py
+++ b/tests/src/python/test_qgsexpressionbuilderwidget.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '30/07/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsexpressionlineedit.py b/tests/src/python/test_qgsexpressionlineedit.py
index 0df327c..70d99b2 100644
--- a/tests/src/python/test_qgsexpressionlineedit.py
+++ b/tests/src/python/test_qgsexpressionlineedit.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '20/08/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsextentgroupbox.py b/tests/src/python/test_qgsextentgroupbox.py
index c7d4bb9..0ad45f2 100644
--- a/tests/src/python/test_qgsextentgroupbox.py
+++ b/tests/src/python/test_qgsextentgroupbox.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '31/05/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import os
diff --git a/tests/src/python/test_qgsfeature.py b/tests/src/python/test_qgsfeature.py
index 9aead7c..992fc0a 100644
--- a/tests/src/python/test_qgsfeature.py
+++ b/tests/src/python/test_qgsfeature.py
@@ -10,7 +10,7 @@ __author__ = 'Germán Carrillo'
 __date__ = '06/10/2012'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsfeatureiterator.py b/tests/src/python/test_qgsfeatureiterator.py
index 4052481..178c7f7 100644
--- a/tests/src/python/test_qgsfeatureiterator.py
+++ b/tests/src/python/test_qgsfeatureiterator.py
@@ -10,7 +10,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '18/09/2013'
 __copyright__ = 'Copyright 2013, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsfeaturesink.py b/tests/src/python/test_qgsfeaturesink.py
index 9c989c2..eaa11ce 100644
--- a/tests/src/python/test_qgsfeaturesink.py
+++ b/tests/src/python/test_qgsfeaturesink.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 by Nyall Dawson'
 __date__ = '26/04/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 import qgis  # NOQA
 
 import os
diff --git a/tests/src/python/test_qgsfeaturesource.py b/tests/src/python/test_qgsfeaturesource.py
index ef14d93..014928a 100644
--- a/tests/src/python/test_qgsfeaturesource.py
+++ b/tests/src/python/test_qgsfeaturesource.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 by Nyall Dawson'
 __date__ = '26/04/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 import qgis  # NOQA
 
 import os
diff --git a/tests/src/python/test_qgsfeedback.py b/tests/src/python/test_qgsfeedback.py
index 1784d76..5a39f95 100644
--- a/tests/src/python/test_qgsfeedback.py
+++ b/tests/src/python/test_qgsfeedback.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '12/02/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsfieldcombobox.py b/tests/src/python/test_qgsfieldcombobox.py
index 8d3f374..b1850d1 100644
--- a/tests/src/python/test_qgsfieldcombobox.py
+++ b/tests/src/python/test_qgsfieldcombobox.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '20/07/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsfieldformatters.py b/tests/src/python/test_qgsfieldformatters.py
index 269d2df..75cfb92 100644
--- a/tests/src/python/test_qgsfieldformatters.py
+++ b/tests/src/python/test_qgsfieldformatters.py
@@ -10,7 +10,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '05/12/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsfieldmodel.py b/tests/src/python/test_qgsfieldmodel.py
index 4f467fb..4d8e1f3 100755
--- a/tests/src/python/test_qgsfieldmodel.py
+++ b/tests/src/python/test_qgsfieldmodel.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '14/11/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsfields.py b/tests/src/python/test_qgsfields.py
index eaaab92..e59bad7 100644
--- a/tests/src/python/test_qgsfields.py
+++ b/tests/src/python/test_qgsfields.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '16/08/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsfieldvalidator.py b/tests/src/python/test_qgsfieldvalidator.py
index 25983d5..fe7b113 100644
--- a/tests/src/python/test_qgsfieldvalidator.py
+++ b/tests/src/python/test_qgsfieldvalidator.py
@@ -10,7 +10,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '31/01/2018'
 __copyright__ = 'Copyright 2018, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsfiledownloader.py b/tests/src/python/test_qgsfiledownloader.py
index 5e4d096..50c5db9 100644
--- a/tests/src/python/test_qgsfiledownloader.py
+++ b/tests/src/python/test_qgsfiledownloader.py
@@ -22,7 +22,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '08/11/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 start_app()
diff --git a/tests/src/python/test_qgsfileutils.py b/tests/src/python/test_qgsfileutils.py
index bb60b9f..e113ca7 100644
--- a/tests/src/python/test_qgsfileutils.py
+++ b/tests/src/python/test_qgsfileutils.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '18/12/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
@@ -58,8 +58,8 @@ class TestQgsFileUtils(unittest.TestCase):
     def testStringToSafeFilename(self):
         self.assertEqual(QgsFileUtils.stringToSafeFilename('my FiLe v2.0_new.tif'), 'my FiLe v2.0_new.tif')
         self.assertEqual(
-            QgsFileUtils.stringToSafeFilename('rendered map_final? rev (12-03-1017)_real@#$&*#%&*$!!@$%^&(*(.tif'),
-            'rendered map_final_ rev _12-03-1017__real____________________.tif')
+            QgsFileUtils.stringToSafeFilename('rendered map_final? rev (12-03-1017)_real/\\?%*:|"<>.tif'),
+            'rendered map_final_ rev (12-03-1017)_real__________.tif')
 
 
 if __name__ == '__main__':
diff --git a/tests/src/python/test_qgsfillsymbollayers.py b/tests/src/python/test_qgsfillsymbollayers.py
index 57f5806..40c399e 100644
--- a/tests/src/python/test_qgsfillsymbollayers.py
+++ b/tests/src/python/test_qgsfillsymbollayers.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2017-01'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import qgis  # NOQA
diff --git a/tests/src/python/test_qgsfilterlineedit.py b/tests/src/python/test_qgsfilterlineedit.py
index 43f3f1a..6c46c6d 100644
--- a/tests/src/python/test_qgsfilterlineedit.py
+++ b/tests/src/python/test_qgsfilterlineedit.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '20/08/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsfloatingwidget.py b/tests/src/python/test_qgsfloatingwidget.py
index a3bb09f..ec376ec 100644
--- a/tests/src/python/test_qgsfloatingwidget.py
+++ b/tests/src/python/test_qgsfloatingwidget.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '26/04/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 from qgis.PyQt.QtWidgets import QWidget, QGridLayout
diff --git a/tests/src/python/test_qgsfontbutton.py b/tests/src/python/test_qgsfontbutton.py
index 2426651..3489981 100644
--- a/tests/src/python/test_qgsfontbutton.py
+++ b/tests/src/python/test_qgsfontbutton.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '04/06/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsfontutils.py b/tests/src/python/test_qgsfontutils.py
index 69e67e2..0e5fc83 100644
--- a/tests/src/python/test_qgsfontutils.py
+++ b/tests/src/python/test_qgsfontutils.py
@@ -12,7 +12,7 @@ __author__ = 'Larry Shaffer'
 __date__ = '2014/02/19'
 __copyright__ = 'Copyright 2014, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import QgsFontUtils, QgsSettings
 from qgis.testing import (
diff --git a/tests/src/python/test_qgsgeometry.py b/tests/src/python/test_qgsgeometry.py
index 1fe1d84..d7834bd 100644
--- a/tests/src/python/test_qgsgeometry.py
+++ b/tests/src/python/test_qgsgeometry.py
@@ -10,7 +10,7 @@ __author__ = 'Tim Sutton'
 __date__ = '20/08/2012'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import csv
@@ -1509,6 +1509,22 @@ class TestQgsGeometry(unittest.TestCase):
         wkt = polygon.asWkt()
         assert compareWkt(expwkt, wkt), "Expected:\n%s\nGot:\n%s\n" % (expwkt, wkt)
 
+        # test adding a part to a multisurface
+        geom = QgsGeometry.fromWkt('MultiSurface(((0 0,0 1,1 1,0 0)))')
+        g2 = QgsGeometry.fromWkt('CurvePolygon ((0 0,0 1,1 1,0 0))')
+        geom.addPart(g2.get().clone())
+        wkt = geom.asWkt()
+        expwkt = 'MultiSurface (Polygon ((0 0, 0 1, 1 1, 0 0)),CurvePolygon ((0 0, 0 1, 1 1, 0 0)))'
+        assert compareWkt(expwkt, wkt), "Expected:\n%s\nGot:\n%s\n" % (expwkt, wkt)
+
+        # test adding a multisurface to a multisurface
+        geom = QgsGeometry.fromWkt('MultiSurface(((20 0,20 1,21 1,20 0)))')
+        g2 = QgsGeometry.fromWkt('MultiSurface (Polygon ((0 0, 0 1, 1 1, 0 0)),CurvePolygon ((0 0, 0 1, 1 1, 0 0)))')
+        geom.addPart(g2.get().clone())
+        wkt = geom.asWkt()
+        expwkt = 'MultiSurface (Polygon ((20 0, 20 1, 21 1, 20 0)),Polygon ((0 0, 0 1, 1 1, 0 0)),CurvePolygon ((0 0, 0 1, 1 1, 0 0)))'
+        assert compareWkt(expwkt, wkt), "Expected:\n%s\nGot:\n%s\n" % (expwkt, wkt)
+
         # Test adding parts to empty geometry, should become first part
         empty = QgsGeometry()
         # if not default type specified, addPart should fail
diff --git a/tests/src/python/test_qgsgeometry_avoid_intersections.py b/tests/src/python/test_qgsgeometry_avoid_intersections.py
index 1f77087..b19b20d 100644
--- a/tests/src/python/test_qgsgeometry_avoid_intersections.py
+++ b/tests/src/python/test_qgsgeometry_avoid_intersections.py
@@ -10,7 +10,7 @@ __author__ = 'Martin Dobias'
 __date__ = '20/08/2012'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsgeometrygeneratorsymbollayer.py b/tests/src/python/test_qgsgeometrygeneratorsymbollayer.py
index 0ae27e0..9214600 100644
--- a/tests/src/python/test_qgsgeometrygeneratorsymbollayer.py
+++ b/tests/src/python/test_qgsgeometrygeneratorsymbollayer.py
@@ -21,7 +21,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = 'December 2015'
 __copyright__ = '(C) 2015, Matthias Kuhn'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsgeometryvalidator.py b/tests/src/python/test_qgsgeometryvalidator.py
index 88f4bad..d07eb52 100644
--- a/tests/src/python/test_qgsgeometryvalidator.py
+++ b/tests/src/python/test_qgsgeometryvalidator.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '03/10/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import (
     QgsGeometry,
diff --git a/tests/src/python/test_qgsgeonodeconnection.py b/tests/src/python/test_qgsgeonodeconnection.py
index 434fbbe..62bf2ea 100644
--- a/tests/src/python/test_qgsgeonodeconnection.py
+++ b/tests/src/python/test_qgsgeonodeconnection.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '12.09.2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsgraduatedsymbolrenderer.py b/tests/src/python/test_qgsgraduatedsymbolrenderer.py
index 248fb10..f1f455e 100644
--- a/tests/src/python/test_qgsgraduatedsymbolrenderer.py
+++ b/tests/src/python/test_qgsgraduatedsymbolrenderer.py
@@ -10,7 +10,7 @@ __author__ = 'Chris Crook'
 __date__ = '3/10/2014'
 __copyright__ = 'Copyright 2014, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgshighlight.py b/tests/src/python/test_qgshighlight.py
index 51cd771..16d030c 100644
--- a/tests/src/python/test_qgshighlight.py
+++ b/tests/src/python/test_qgshighlight.py
@@ -10,7 +10,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '8.11.2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import os
diff --git a/tests/src/python/test_qgsinterval.py b/tests/src/python/test_qgsinterval.py
index fd8f64f..f505db0 100644
--- a/tests/src/python/test_qgsinterval.py
+++ b/tests/src/python/test_qgsinterval.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '10/05/2016'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsissue7244.py b/tests/src/python/test_qgsissue7244.py
index 026b20f..1bbf83f 100644
--- a/tests/src/python/test_qgsissue7244.py
+++ b/tests/src/python/test_qgsissue7244.py
@@ -10,7 +10,7 @@ __author__ = 'Vincent Mora'
 __date__ = '09/07/2013'
 __copyright__ = 'Copyright 2013, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsjsonutils.py b/tests/src/python/test_qgsjsonutils.py
index f733758..1c1c0c1 100644
--- a/tests/src/python/test_qgsjsonutils.py
+++ b/tests/src/python/test_qgsjsonutils.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '3/05/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayerdefinition.py b/tests/src/python/test_qgslayerdefinition.py
index 08bc582..e9025b4 100644
--- a/tests/src/python/test_qgslayerdefinition.py
+++ b/tests/src/python/test_qgslayerdefinition.py
@@ -10,7 +10,7 @@ __author__ = 'Hugo Mercier'
 __date__ = '07/01/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayermetadata.py b/tests/src/python/test_qgslayermetadata.py
index 3bd8896..e38bbb3 100644
--- a/tests/src/python/test_qgslayermetadata.py
+++ b/tests/src/python/test_qgslayermetadata.py
@@ -12,7 +12,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '11/04/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayertree.py b/tests/src/python/test_qgslayertree.py
index af6c49f..d011ab4 100644
--- a/tests/src/python/test_qgslayertree.py
+++ b/tests/src/python/test_qgslayertree.py
@@ -10,7 +10,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '22.3.2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayertreemapcanvasbridge.py b/tests/src/python/test_qgslayertreemapcanvasbridge.py
index 03be479..d663411 100644
--- a/tests/src/python/test_qgslayertreemapcanvasbridge.py
+++ b/tests/src/python/test_qgslayertreemapcanvasbridge.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '8/03/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -48,6 +48,7 @@ class TestQgsLayerTreeMapCanvasBridge(unittest.TestCase):
                                 "layer2", "memory")
         layer3 = QgsVectorLayer("Point?field=fldtxt:string",
                                 "layer3", "memory")
+
         prj.addMapLayers([layer, layer2, layer3])
 
         canvas = QgsMapCanvas()
@@ -131,6 +132,41 @@ class TestQgsLayerTreeMapCanvasBridge(unittest.TestCase):
         self.assertEqual([l for l in prj.layerTreeRoot().layerOrder()], [layer2, layer, layer3])
         self.assertFalse(prj.layerTreeRoot().hasCustomLayerOrder())
 
+    def testNonSpatialLayer(self):
+        """ test that non spatial layers are not passed to canvas """
+
+        prj = QgsProject.instance()
+        prj.clear()
+        layer = QgsVectorLayer("Point?field=fldtxt:string",
+                               "layer1", "memory")
+        layer2 = QgsVectorLayer("Point?field=fldtxt:string",
+                                "layer2", "memory")
+        layer3 = QgsVectorLayer("Point?field=fldtxt:string",
+                                "layer3", "memory")
+        non_spatial = QgsVectorLayer("None?field=fldtxt:string",
+                                     "non_spatial", "memory")
+
+        prj.addMapLayers([layer, layer2, layer3, non_spatial])
+
+        canvas = QgsMapCanvas()
+        bridge = QgsLayerTreeMapCanvasBridge(prj.layerTreeRoot(), canvas)
+
+        #custom layer order
+        prj.layerTreeRoot().setHasCustomLayerOrder(True)
+        prj.layerTreeRoot().setCustomLayerOrder([layer3, layer, layer2])
+        app.processEvents()
+        self.assertEqual(canvas.mapSettings().layers(), [layer3, layer, layer2])
+
+        # with non-spatial (should not be possible through ui, but is through api)
+        prj.layerTreeRoot().setCustomLayerOrder([layer3, layer, layer2, non_spatial])
+        app.processEvents()
+        #self.assertEqual(canvas.mapSettings().layers(),[layer3,layer,layer2])
+
+        # no custom layer order
+        prj.layerTreeRoot().setHasCustomLayerOrder(False)
+        app.processEvents()
+        self.assertEqual(canvas.mapSettings().layers(), [layer, layer2, layer3])
+
 
 if __name__ == '__main__':
     unittest.main()
diff --git a/tests/src/python/test_qgslayout.py b/tests/src/python/test_qgslayout.py
index d7a2412..ed26811 100644
--- a/tests/src/python/test_qgslayout.py
+++ b/tests/src/python/test_qgslayout.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '18/07/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import sip
diff --git a/tests/src/python/test_qgslayoutaligner.py b/tests/src/python/test_qgslayoutaligner.py
index e1b4993..d877093 100644
--- a/tests/src/python/test_qgslayoutaligner.py
+++ b/tests/src/python/test_qgslayoutaligner.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '3/10/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import sip
diff --git a/tests/src/python/test_qgslayoutatlas.py b/tests/src/python/test_qgslayoutatlas.py
index 09eadd6..fb04d2b 100644
--- a/tests/src/python/test_qgslayoutatlas.py
+++ b/tests/src/python/test_qgslayoutatlas.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '19/12/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import sip
diff --git a/tests/src/python/test_qgslayoutexporter.py b/tests/src/python/test_qgslayoutexporter.py
index 1a66efb..04b6d73 100644
--- a/tests/src/python/test_qgslayoutexporter.py
+++ b/tests/src/python/test_qgslayoutexporter.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '11/12/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import sip
diff --git a/tests/src/python/test_qgslayoutframe.py b/tests/src/python/test_qgslayoutframe.py
index 60326df..d2e97cc 100644
--- a/tests/src/python/test_qgslayoutframe.py
+++ b/tests/src/python/test_qgslayoutframe.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 by Nyall Dawson'
 __date__ = '23/10/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutgridsettings.py b/tests/src/python/test_qgslayoutgridsettings.py
index 6f72b84..369fe7e 100644
--- a/tests/src/python/test_qgslayoutgridsettings.py
+++ b/tests/src/python/test_qgslayoutgridsettings.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '05/07/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutguides.py b/tests/src/python/test_qgslayoutguides.py
index 1fe2880..1ed16fd 100644
--- a/tests/src/python/test_qgslayoutguides.py
+++ b/tests/src/python/test_qgslayoutguides.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '05/07/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayouthtml.py b/tests/src/python/test_qgslayouthtml.py
index f7459d9..1744748 100644
--- a/tests/src/python/test_qgslayouthtml.py
+++ b/tests/src/python/test_qgslayouthtml.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '20/11/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutitem.py b/tests/src/python/test_qgslayoutitem.py
index 7b59de7..e594bef 100644
--- a/tests/src/python/test_qgslayoutitem.py
+++ b/tests/src/python/test_qgslayoutitem.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 by Nyall Dawson'
 __date__ = '17/01/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 import qgis  # NOQA
 
 from qgis.testing import start_app, unittest
diff --git a/tests/src/python/test_qgslayoutitempropertiesdialog.py b/tests/src/python/test_qgslayoutitempropertiesdialog.py
index e41ba35..194071c 100644
--- a/tests/src/python/test_qgslayoutitempropertiesdialog.py
+++ b/tests/src/python/test_qgslayoutitempropertiesdialog.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '18/07/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutlabel.py b/tests/src/python/test_qgslayoutlabel.py
index 4c6a8d3..4a82ce4 100644
--- a/tests/src/python/test_qgslayoutlabel.py
+++ b/tests/src/python/test_qgslayoutlabel.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 by Nyall Dawson'
 __date__ = '23/10/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutlegend.py b/tests/src/python/test_qgslayoutlegend.py
index 59652f7..d5626b5 100644
--- a/tests/src/python/test_qgslayoutlegend.py
+++ b/tests/src/python/test_qgslayoutlegend.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 by Nyall Dawson'
 __date__ = '24/10/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.PyQt.QtCore import QRectF
 from qgis.PyQt.QtGui import QColor
@@ -26,7 +26,10 @@ from qgis.core import (QgsLayoutItemLegend,
                        QgsProject,
                        QgsLayoutObject,
                        QgsProperty,
-                       QgsLayoutMeasurement)
+                       QgsLayoutMeasurement,
+                       QgsLayoutItem,
+                       QgsLayoutPoint,
+                       QgsLayoutSize)
 from qgis.testing import (start_app,
                           unittest
                           )
@@ -84,6 +87,24 @@ class TestQgsLayoutItemLegend(unittest.TestCase, LayoutItemTestCase):
         result, message = checker.testLayout()
         self.assertTrue(result, message)
 
+        # resize with non-top-left reference point
+        legend.setResizeToContents(False)
+        legend.setReferencePoint(QgsLayoutItem.LowerRight)
+        legend.attemptMove(QgsLayoutPoint(120, 90))
+        legend.attemptResize(QgsLayoutSize(50, 60))
+
+        self.assertEqual(legend.positionWithUnits().x(), 120.0)
+        self.assertEqual(legend.positionWithUnits().y(), 90.0)
+        self.assertAlmostEqual(legend.pos().x(), 70, -1)
+        self.assertAlmostEqual(legend.pos().y(), 30, -1)
+
+        legend.setResizeToContents(True)
+        legend.updateLegend()
+        self.assertEqual(legend.positionWithUnits().x(), 120.0)
+        self.assertEqual(legend.positionWithUnits().y(), 90.0)
+        self.assertAlmostEqual(legend.pos().x(), 91, -1)
+        self.assertAlmostEqual(legend.pos().y(), 71, -1)
+
         QgsProject.instance().removeMapLayers([point_layer.id()])
 
     def testResizeWithMapContent(self):
diff --git a/tests/src/python/test_qgslayoutmanager.py b/tests/src/python/test_qgslayoutmanager.py
index 8276208..0fb18dc 100644
--- a/tests/src/python/test_qgslayoutmanager.py
+++ b/tests/src/python/test_qgslayoutmanager.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 by Nyall Dawson'
 __date__ = '15/03/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutmap.py b/tests/src/python/test_qgslayoutmap.py
index 3b0e936..e4a1b3a 100644
--- a/tests/src/python/test_qgslayoutmap.py
+++ b/tests/src/python/test_qgslayoutmap.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 Nyall Dawson'
 __date__ = '20/10/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutmapgrid.py b/tests/src/python/test_qgslayoutmapgrid.py
index f2ee3bd..0b134bb 100644
--- a/tests/src/python/test_qgslayoutmapgrid.py
+++ b/tests/src/python/test_qgslayoutmapgrid.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 by Nyall Dawson'
 __date__ = '20/10/2017'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutpage.py b/tests/src/python/test_qgslayoutpage.py
index ba00f56..e15c678 100644
--- a/tests/src/python/test_qgslayoutpage.py
+++ b/tests/src/python/test_qgslayoutpage.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 by Nyall Dawson'
 __date__ = '23/10/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutpagecollection.py b/tests/src/python/test_qgslayoutpagecollection.py
index d79fc48..b6b3f79 100644
--- a/tests/src/python/test_qgslayoutpagecollection.py
+++ b/tests/src/python/test_qgslayoutpagecollection.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '18/07/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import sip
diff --git a/tests/src/python/test_qgslayoutpicture.py b/tests/src/python/test_qgslayoutpicture.py
index b88ebf3..887e997 100644
--- a/tests/src/python/test_qgslayoutpicture.py
+++ b/tests/src/python/test_qgslayoutpicture.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 by Nyall Dawson'
 __date__ = '23/10/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutpolygon.py b/tests/src/python/test_qgslayoutpolygon.py
index 8c42088..1d5a0d9 100644
--- a/tests/src/python/test_qgslayoutpolygon.py
+++ b/tests/src/python/test_qgslayoutpolygon.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2016 by Paul Blottiere'
 __date__ = '14/03/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutpolyline.py b/tests/src/python/test_qgslayoutpolyline.py
index 2020a8d..cd6e234 100644
--- a/tests/src/python/test_qgslayoutpolyline.py
+++ b/tests/src/python/test_qgslayoutpolyline.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2016 by Paul Blottiere'
 __date__ = '14/03/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutscalebar.py b/tests/src/python/test_qgslayoutscalebar.py
index e12fb46..bba18ee 100644
--- a/tests/src/python/test_qgslayoutscalebar.py
+++ b/tests/src/python/test_qgslayoutscalebar.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 by Nyall Dawson'
 __date__ = '23/10/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutshape.py b/tests/src/python/test_qgslayoutshape.py
index 145fed7..1f7cc77 100644
--- a/tests/src/python/test_qgslayoutshape.py
+++ b/tests/src/python/test_qgslayoutshape.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 by Nyall Dawson'
 __date__ = '23/10/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutsnapper.py b/tests/src/python/test_qgslayoutsnapper.py
index 8b3dad0..840dbf8 100644
--- a/tests/src/python/test_qgslayoutsnapper.py
+++ b/tests/src/python/test_qgslayoutsnapper.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '05/07/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutunitscombobox.py b/tests/src/python/test_qgslayoutunitscombobox.py
index 0a32830..e8adcfd 100644
--- a/tests/src/python/test_qgslayoutunitscombobox.py
+++ b/tests/src/python/test_qgslayoutunitscombobox.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '18/07/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgslayoutview.py b/tests/src/python/test_qgslayoutview.py
index 79d6f21..f30be83 100644
--- a/tests/src/python/test_qgslayoutview.py
+++ b/tests/src/python/test_qgslayoutview.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '05/07/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import sip
diff --git a/tests/src/python/test_qgslinesymbollayers.py b/tests/src/python/test_qgslinesymbollayers.py
index f015636..4f5be5d 100644
--- a/tests/src/python/test_qgslinesymbollayers.py
+++ b/tests/src/python/test_qgslinesymbollayers.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2017-01'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import qgis  # NOQA
diff --git a/tests/src/python/test_qgslocator.py b/tests/src/python/test_qgslocator.py
index eb91b42..b1f7828 100644
--- a/tests/src/python/test_qgslocator.py
+++ b/tests/src/python/test_qgslocator.py
@@ -10,7 +10,7 @@ __author__ = '(C) 2017 by Nyall Dawson'
 __date__ = '6/05/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 import qgis  # NOQA
 
 import os
diff --git a/tests/src/python/test_qgslogger.py b/tests/src/python/test_qgslogger.py
index 55433c7..bdbd14e 100644
--- a/tests/src/python/test_qgslogger.py
+++ b/tests/src/python/test_qgslogger.py
@@ -10,7 +10,7 @@ __author__ = 'Tim Sutton'
 __date__ = '20/08/2012'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsmapcanvas.py b/tests/src/python/test_qgsmapcanvas.py
index 8f102fe..0d92b2b 100644
--- a/tests/src/python/test_qgsmapcanvas.py
+++ b/tests/src/python/test_qgsmapcanvas.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '24/1/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsmapcanvasannotationitem.py b/tests/src/python/test_qgsmapcanvasannotationitem.py
index 505bd7c..c26b670 100644
--- a/tests/src/python/test_qgsmapcanvasannotationitem.py
+++ b/tests/src/python/test_qgsmapcanvasannotationitem.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '24/1/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsmaplayer.py b/tests/src/python/test_qgsmaplayer.py
index 1fd0875..7c647a1 100644
--- a/tests/src/python/test_qgsmaplayer.py
+++ b/tests/src/python/test_qgsmaplayer.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '1/02/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import tempfile
diff --git a/tests/src/python/test_qgsmaplayeraction.py b/tests/src/python/test_qgsmaplayeraction.py
new file mode 100644
index 0000000..ad4fe86
--- /dev/null
+++ b/tests/src/python/test_qgsmaplayeraction.py
@@ -0,0 +1,96 @@
+# -*- coding: utf-8 -*-
+"""QGIS Unit tests for QgsMapLayerAction.
+
+.. note:: This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+"""
+__author__ = 'Nyall Dawson'
+__date__ = '24/02/2018'
+__copyright__ = 'Copyright 2018, The QGIS Project'
+# This will get replaced with a git SHA1 when you do a git archive
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
+
+import qgis  # NOQA switch sip api
+
+from qgis.core import (QgsVectorLayer,
+                       QgsRasterLayer,
+                       QgsMapLayer)
+from qgis.gui import (QgsMapLayerActionRegistry,
+                      QgsMapLayerAction)
+
+from qgis.testing import start_app, unittest
+from utilities import unitTestDataPath
+
+import os
+
+start_app()
+
+
+class TestQgsMapLayerAction(unittest.TestCase):
+
+    def __init__(self, methodName):
+        """Run once on class initialization."""
+        unittest.TestCase.__init__(self, methodName)
+
+        self.vector_layer = QgsVectorLayer("Point?field=fldtxt:string&field=fldint:integer&field=flddate:datetime",
+                                           "test_layer", "memory")
+        assert self.vector_layer.isValid()
+        self.vector_layer2 = QgsVectorLayer("Point?field=fldtxt:string&field=fldint:integer&field=flddate:datetime",
+                                            "test_layer", "memory")
+        assert self.vector_layer2.isValid()
+        raster_path = os.path.join(unitTestDataPath(), 'landsat.tif')
+        self.raster_layer = QgsRasterLayer(raster_path, 'raster')
+        assert self.raster_layer.isValid()
+
+    def testCanRunUsingLayer(self):
+        """
+        Test that actions correctly indicate when they can run for a layer
+        """
+        action_all_layers = QgsMapLayerAction('action1', None)
+        self.assertTrue(action_all_layers.canRunUsingLayer(None))
+        self.assertTrue(action_all_layers.canRunUsingLayer(self.vector_layer))
+        self.assertTrue(action_all_layers.canRunUsingLayer(self.raster_layer))
+
+        action_vector_layers_only = QgsMapLayerAction('action2', None, QgsMapLayer.VectorLayer)
+        self.assertFalse(action_vector_layers_only.canRunUsingLayer(None))
+        self.assertTrue(action_vector_layers_only.canRunUsingLayer(self.vector_layer))
+        self.assertFalse(action_vector_layers_only.canRunUsingLayer(self.raster_layer))
+
+        action_raster_layers_only = QgsMapLayerAction('action3', None, QgsMapLayer.RasterLayer)
+        self.assertFalse(action_raster_layers_only.canRunUsingLayer(None))
+        self.assertFalse(action_raster_layers_only.canRunUsingLayer(self.vector_layer))
+        self.assertTrue(action_raster_layers_only.canRunUsingLayer(self.raster_layer))
+
+        action_specific_layer_only = QgsMapLayerAction('action4', None, self.vector_layer)
+        self.assertFalse(action_specific_layer_only.canRunUsingLayer(None))
+        self.assertTrue(action_specific_layer_only.canRunUsingLayer(self.vector_layer))
+        self.assertFalse(action_specific_layer_only.canRunUsingLayer(self.vector_layer2))
+        self.assertFalse(action_specific_layer_only.canRunUsingLayer(self.raster_layer))
+
+        action_specific_raster_layer_only = QgsMapLayerAction('action4', None, self.raster_layer)
+        self.assertFalse(action_specific_raster_layer_only.canRunUsingLayer(None))
+        self.assertFalse(action_specific_raster_layer_only.canRunUsingLayer(self.vector_layer))
+        self.assertFalse(action_specific_raster_layer_only.canRunUsingLayer(self.vector_layer2))
+        self.assertTrue(action_specific_raster_layer_only.canRunUsingLayer(self.raster_layer))
+
+        action_editable_layer_only = QgsMapLayerAction('action1', None, flags=QgsMapLayerAction.EnabledOnlyWhenEditable)
+        self.assertFalse(action_editable_layer_only.canRunUsingLayer(None))
+        self.assertFalse(action_editable_layer_only.canRunUsingLayer(self.vector_layer))
+        self.assertFalse(action_editable_layer_only.canRunUsingLayer(self.vector_layer2))
+        self.assertFalse(action_editable_layer_only.canRunUsingLayer(self.raster_layer))
+        self.vector_layer.startEditing()
+        self.assertFalse(action_editable_layer_only.canRunUsingLayer(None))
+        self.assertTrue(action_editable_layer_only.canRunUsingLayer(self.vector_layer))
+        self.assertFalse(action_editable_layer_only.canRunUsingLayer(self.vector_layer2))
+        self.assertFalse(action_editable_layer_only.canRunUsingLayer(self.raster_layer))
+        self.vector_layer.commitChanges()
+        self.assertFalse(action_editable_layer_only.canRunUsingLayer(None))
+        self.assertFalse(action_editable_layer_only.canRunUsingLayer(self.vector_layer))
+        self.assertFalse(action_editable_layer_only.canRunUsingLayer(self.vector_layer2))
+        self.assertFalse(action_editable_layer_only.canRunUsingLayer(self.raster_layer))
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/tests/src/python/test_qgsmaplayermodel.py b/tests/src/python/test_qgsmaplayermodel.py
index d6e200f..37920df 100644
--- a/tests/src/python/test_qgsmaplayermodel.py
+++ b/tests/src/python/test_qgsmaplayermodel.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '16/11/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsmaplayerstore.py b/tests/src/python/test_qgsmaplayerstore.py
index e1646dc..4666739 100644
--- a/tests/src/python/test_qgsmaplayerstore.py
+++ b/tests/src/python/test_qgsmaplayerstore.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2017-05'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import QgsMapLayerStore, QgsVectorLayer, QgsMapLayer
 from qgis.testing import start_app, unittest
diff --git a/tests/src/python/test_qgsmaprenderer.py b/tests/src/python/test_qgsmaprenderer.py
index 2505e60..05a9510 100644
--- a/tests/src/python/test_qgsmaprenderer.py
+++ b/tests/src/python/test_qgsmaprenderer.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '1/02/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsmaprenderercache.py b/tests/src/python/test_qgsmaprenderercache.py
index 9148b5b..2d301b8 100644
--- a/tests/src/python/test_qgsmaprenderercache.py
+++ b/tests/src/python/test_qgsmaprenderercache.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '1/02/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsmapthemecollection.py b/tests/src/python/test_qgsmapthemecollection.py
index f593f4d..3b2213c 100644
--- a/tests/src/python/test_qgsmapthemecollection.py
+++ b/tests/src/python/test_qgsmapthemecollection.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '8/03/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsmapunitscale.py b/tests/src/python/test_qgsmapunitscale.py
index 41438f2..dca51cf 100644
--- a/tests/src/python/test_qgsmapunitscale.py
+++ b/tests/src/python/test_qgsmapunitscale.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2015-09'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsmargins.py b/tests/src/python/test_qgsmargins.py
index f725050..e7f93c6 100644
--- a/tests/src/python/test_qgsmargins.py
+++ b/tests/src/python/test_qgsmargins.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2017-01'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import qgis  # NOQA
diff --git a/tests/src/python/test_qgsmultiedittoolbutton.py b/tests/src/python/test_qgsmultiedittoolbutton.py
index 3b0def7..dcd7007 100644
--- a/tests/src/python/test_qgsmultiedittoolbutton.py
+++ b/tests/src/python/test_qgsmultiedittoolbutton.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '16/03/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA switch sip api
 
diff --git a/tests/src/python/test_qgsnetworkcontentfetcher.py b/tests/src/python/test_qgsnetworkcontentfetcher.py
index a7c0246..e782811 100644
--- a/tests/src/python/test_qgsnetworkcontentfetcher.py
+++ b/tests/src/python/test_qgsnetworkcontentfetcher.py
@@ -13,7 +13,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '4/28/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsnewgeopackagelayerdialog.py b/tests/src/python/test_qgsnewgeopackagelayerdialog.py
index ab47e2e..1552308 100644
--- a/tests/src/python/test_qgsnewgeopackagelayerdialog.py
+++ b/tests/src/python/test_qgsnewgeopackagelayerdialog.py
@@ -10,7 +10,7 @@ __author__ = 'Even Rouault'
 __date__ = '2016-04-21'
 __copyright__ = 'Copyright 2016, Even Rouault'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 import tempfile
diff --git a/tests/src/python/test_qgsnoapplication.py b/tests/src/python/test_qgsnoapplication.py
index 6ca45ff..b86dcef 100644
--- a/tests/src/python/test_qgsnoapplication.py
+++ b/tests/src/python/test_qgsnoapplication.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '1/02/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import sys
diff --git a/tests/src/python/test_qgsnullsymbolrenderer.py b/tests/src/python/test_qgsnullsymbolrenderer.py
index 50ac0c8..88fb6e1 100644
--- a/tests/src/python/test_qgsnullsymbolrenderer.py
+++ b/tests/src/python/test_qgsnullsymbolrenderer.py
@@ -21,7 +21,7 @@ __author__ = 'Nyall Dawson'
 __date__ = 'April 2016'
 __copyright__ = '(C) 2016, Nyall Dawson'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsopacitywidget.py b/tests/src/python/test_qgsopacitywidget.py
index 9de2802..c94c281 100644
--- a/tests/src/python/test_qgsopacitywidget.py
+++ b/tests/src/python/test_qgsopacitywidget.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '30/05/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsowsconnection.py b/tests/src/python/test_qgsowsconnection.py
index ca160e3..570d192 100644
--- a/tests/src/python/test_qgsowsconnection.py
+++ b/tests/src/python/test_qgsowsconnection.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '12.09.2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgspallabeling_base.py b/tests/src/python/test_qgspallabeling_base.py
index a70be7f..efbb929 100644
--- a/tests/src/python/test_qgspallabeling_base.py
+++ b/tests/src/python/test_qgspallabeling_base.py
@@ -17,7 +17,7 @@ __author__ = 'Larry Shaffer'
 __date__ = '07/09/2013'
 __copyright__ = 'Copyright 2013, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgspallabeling_canvas.py b/tests/src/python/test_qgspallabeling_canvas.py
index 9b22f3d..76757aa 100644
--- a/tests/src/python/test_qgspallabeling_canvas.py
+++ b/tests/src/python/test_qgspallabeling_canvas.py
@@ -15,7 +15,7 @@ __author__ = 'Larry Shaffer'
 __date__ = '07/09/2013'
 __copyright__ = 'Copyright 2013, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgspallabeling_layout.py b/tests/src/python/test_qgspallabeling_layout.py
index 8af6a67..4d7a1dd 100644
--- a/tests/src/python/test_qgspallabeling_layout.py
+++ b/tests/src/python/test_qgspallabeling_layout.py
@@ -15,7 +15,7 @@ __author__ = 'Larry Shaffer'
 __date__ = '2014/02/21'
 __copyright__ = 'Copyright 2013, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgspallabeling_placement.py b/tests/src/python/test_qgspallabeling_placement.py
index 6f77127..f84e345 100644
--- a/tests/src/python/test_qgspallabeling_placement.py
+++ b/tests/src/python/test_qgspallabeling_placement.py
@@ -14,7 +14,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2015-08-24'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgspallabeling_server.py b/tests/src/python/test_qgspallabeling_server.py
index 83756ce..4c1f1cd 100644
--- a/tests/src/python/test_qgspallabeling_server.py
+++ b/tests/src/python/test_qgspallabeling_server.py
@@ -15,7 +15,7 @@ __author__ = 'Larry Shaffer'
 __date__ = '07/12/2013'
 __copyright__ = 'Copyright 2013, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgspallabeling_tests.py b/tests/src/python/test_qgspallabeling_tests.py
index ffa9d09..3c8399f 100644
--- a/tests/src/python/test_qgspallabeling_tests.py
+++ b/tests/src/python/test_qgspallabeling_tests.py
@@ -14,7 +14,7 @@ __author__ = 'Larry Shaffer'
 __date__ = '07/16/2013'
 __copyright__ = 'Copyright 2013, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgspanelwidget.py b/tests/src/python/test_qgspanelwidget.py
index 1cea0f6..ba91a88 100644
--- a/tests/src/python/test_qgspanelwidget.py
+++ b/tests/src/python/test_qgspanelwidget.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '16/08/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgspanelwidgetstack.py b/tests/src/python/test_qgspanelwidgetstack.py
index 767c3e4..482ea89 100644
--- a/tests/src/python/test_qgspanelwidgetstack.py
+++ b/tests/src/python/test_qgspanelwidgetstack.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '05/10/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgspoint.py b/tests/src/python/test_qgspoint.py
index e9746b3..96324aa 100644
--- a/tests/src/python/test_qgspoint.py
+++ b/tests/src/python/test_qgspoint.py
@@ -10,7 +10,7 @@ __author__ = 'Tim Sutton'
 __date__ = '20/08/2012'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgspointclusterrenderer.py b/tests/src/python/test_qgspointclusterrenderer.py
index 8820d91..9236365 100644
--- a/tests/src/python/test_qgspointclusterrenderer.py
+++ b/tests/src/python/test_qgspointclusterrenderer.py
@@ -21,7 +21,7 @@ __author__ = 'Nyall Dawson'
 __date__ = 'September 2016'
 __copyright__ = '(C) 2016, Nyall Dawson'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/tests/src/python/test_qgspointdisplacementrenderer.py b/tests/src/python/test_qgspointdisplacementrenderer.py
index 0155755..f012e03 100644
--- a/tests/src/python/test_qgspointdisplacementrenderer.py
+++ b/tests/src/python/test_qgspointdisplacementrenderer.py
@@ -21,7 +21,7 @@ __author__ = 'Nyall Dawson'
 __date__ = 'September 2016'
 __copyright__ = '(C) 2016, Nyall Dawson'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgspostgresdomain.py b/tests/src/python/test_qgspostgresdomain.py
index 126c9b5..d90a7d8 100644
--- a/tests/src/python/test_qgspostgresdomain.py
+++ b/tests/src/python/test_qgspostgresdomain.py
@@ -10,7 +10,7 @@ __author__ = 'Denis Rouzaud'
 __date__ = '10/02/2018'
 __copyright__ = 'Copyright 2018, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsproject.py b/tests/src/python/test_qgsproject.py
index e3a226b..1e7e649 100644
--- a/tests/src/python/test_qgsproject.py
+++ b/tests/src/python/test_qgsproject.py
@@ -12,7 +12,7 @@ __author__ = 'Sebastian Dietrich'
 __date__ = '19/11/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -811,6 +811,52 @@ class TestQgsProject(unittest.TestCase):
 
         del project
 
+    def testSymbolicLinkInProjectPath(self):
+        """
+        Test whether paths to layer sources relative to the project are stored correctly
+        when project'name contains a symbolic link.
+        In other words, test if project's and layers' names are correctly resolved.
+        """
+        tmpDir = QTemporaryDir()
+        tmpFile = "{}/project.qgs".format(tmpDir.path())
+        copyfile(os.path.join(TEST_DATA_DIR, "points.shp"), os.path.join(tmpDir.path(), "points.shp"))
+        copyfile(os.path.join(TEST_DATA_DIR, "points.dbf"), os.path.join(tmpDir.path(), "points.dbf"))
+        copyfile(os.path.join(TEST_DATA_DIR, "points.shx"), os.path.join(tmpDir.path(), "points.shx"))
+        copyfile(os.path.join(TEST_DATA_DIR, "lines.shp"), os.path.join(tmpDir.path(), "lines.shp"))
+        copyfile(os.path.join(TEST_DATA_DIR, "lines.dbf"), os.path.join(tmpDir.path(), "lines.dbf"))
+        copyfile(os.path.join(TEST_DATA_DIR, "lines.shx"), os.path.join(tmpDir.path(), "lines.shx"))
+        copyfile(os.path.join(TEST_DATA_DIR, "landsat_4326.tif"), os.path.join(tmpDir.path(), "landsat_4326.tif"))
+
+        project = QgsProject()
+
+        l0 = QgsVectorLayer(os.path.join(tmpDir.path(), "points.shp"), "points", "ogr")
+        l1 = QgsVectorLayer(os.path.join(tmpDir.path(), "lines.shp"), "lines", "ogr")
+        l2 = QgsRasterLayer(os.path.join(tmpDir.path(), "landsat_4326.tif"), "landsat", "gdal")
+        self.assertTrue(l0.isValid())
+        self.assertTrue(l1.isValid())
+        self.assertTrue(l2.isValid())
+        self.assertTrue(project.addMapLayers([l0, l1, l2]))
+        self.assertTrue(project.write(tmpFile))
+        del project
+
+        # Create symbolic link to previous project
+        tmpDir2 = QTemporaryDir()
+        symlinkDir = os.path.join(tmpDir2.path(), "dir")
+        os.symlink(tmpDir.path(), symlinkDir)
+        tmpFile = "{}/project.qgs".format(symlinkDir)
+
+        # Open project from symmlink and force re-save.
+        project = QgsProject()
+        self.assertTrue(project.read(tmpFile))
+        self.assertTrue(project.write(tmpFile))
+        del project
+
+        with open(tmpFile, 'r') as f:
+            content = ''.join(f.readlines())
+            self.assertTrue('source="./lines.shp"' in content)
+            self.assertTrue('source="./points.shp"' in content)
+            self.assertTrue('source="./landsat_4326.tif"' in content)
+
 
 if __name__ == '__main__':
     unittest.main()
diff --git a/tests/src/python/test_qgsprojectionselectionwidgets.py b/tests/src/python/test_qgsprojectionselectionwidgets.py
index b46f93f..9cbf040 100644
--- a/tests/src/python/test_qgsprojectionselectionwidgets.py
+++ b/tests/src/python/test_qgsprojectionselectionwidgets.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '12/11/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsrange.py b/tests/src/python/test_qgsrange.py
index c09c2e2..e99a7cd 100644
--- a/tests/src/python/test_qgsrange.py
+++ b/tests/src/python/test_qgsrange.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '11.04.2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsrangewidgets.py b/tests/src/python/test_qgsrangewidgets.py
index 38dc7de..aefa552 100644
--- a/tests/src/python/test_qgsrangewidgets.py
+++ b/tests/src/python/test_qgsrangewidgets.py
@@ -10,7 +10,7 @@ __author__ = 'Tobias Reber'
 __date__ = '20/05/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsrasterbandcombobox.py b/tests/src/python/test_qgsrasterbandcombobox.py
index f21bbbb..27f2b1d 100644
--- a/tests/src/python/test_qgsrasterbandcombobox.py
+++ b/tests/src/python/test_qgsrasterbandcombobox.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '09/05/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import os
diff --git a/tests/src/python/test_qgsrastercolorrampshader.py b/tests/src/python/test_qgsrastercolorrampshader.py
index 6518f76..0657a5e 100644
--- a/tests/src/python/test_qgsrastercolorrampshader.py
+++ b/tests/src/python/test_qgsrastercolorrampshader.py
@@ -11,7 +11,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '17/08/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsrasterfilewriter.py b/tests/src/python/test_qgsrasterfilewriter.py
index 03a953b..ef0dcb8 100644
--- a/tests/src/python/test_qgsrasterfilewriter.py
+++ b/tests/src/python/test_qgsrasterfilewriter.py
@@ -10,7 +10,7 @@ __author__ = 'Radim Blazek'
 __date__ = '20/08/2012'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsrasterfilewritertask.py b/tests/src/python/test_qgsrasterfilewritertask.py
index b0dfb9e..fe959fc 100644
--- a/tests/src/python/test_qgsrasterfilewritertask.py
+++ b/tests/src/python/test_qgsrasterfilewritertask.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '12/02/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import os
diff --git a/tests/src/python/test_qgsrasterlayer.py b/tests/src/python/test_qgsrasterlayer.py
index c7927e5..7d74412 100644
--- a/tests/src/python/test_qgsrasterlayer.py
+++ b/tests/src/python/test_qgsrasterlayer.py
@@ -11,7 +11,7 @@ __author__ = 'Tim Sutton'
 __date__ = '20/08/2012'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsratiolockbutton.py b/tests/src/python/test_qgsratiolockbutton.py
index 9670017..4fe7b07 100644
--- a/tests/src/python/test_qgsratiolockbutton.py
+++ b/tests/src/python/test_qgsratiolockbutton.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '18/07/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsrectangle.py b/tests/src/python/test_qgsrectangle.py
index 061bfb6..89f6be6 100644
--- a/tests/src/python/test_qgsrectangle.py
+++ b/tests/src/python/test_qgsrectangle.py
@@ -10,7 +10,7 @@ __author__ = 'Tim Sutton'
 __date__ = '20/08/2012'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsreferencedgeometry.py b/tests/src/python/test_qgsreferencedgeometry.py
index b64cd29..f1fc34a 100644
--- a/tests/src/python/test_qgsreferencedgeometry.py
+++ b/tests/src/python/test_qgsreferencedgeometry.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '31/08/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsrelation.py b/tests/src/python/test_qgsrelation.py
index 392e51d..80eeaa5 100644
--- a/tests/src/python/test_qgsrelation.py
+++ b/tests/src/python/test_qgsrelation.py
@@ -10,7 +10,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '07/10/2013'
 __copyright__ = 'Copyright 2013, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsrelationeditwidget.py b/tests/src/python/test_qgsrelationeditwidget.py
index 740e2cc..b66ca5b 100644
--- a/tests/src/python/test_qgsrelationeditwidget.py
+++ b/tests/src/python/test_qgsrelationeditwidget.py
@@ -10,7 +10,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '28/11/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsrelationmanager.py b/tests/src/python/test_qgsrelationmanager.py
index 7d7ff56..2f59981 100644
--- a/tests/src/python/test_qgsrelationmanager.py
+++ b/tests/src/python/test_qgsrelationmanager.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '17/05/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsrendercontext.py b/tests/src/python/test_qgsrendercontext.py
index c1cac9a..fb0e817 100644
--- a/tests/src/python/test_qgsrendercontext.py
+++ b/tests/src/python/test_qgsrendercontext.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '16/01/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsrenderer.py b/tests/src/python/test_qgsrenderer.py
index 1122d55..e2777a9 100644
--- a/tests/src/python/test_qgsrenderer.py
+++ b/tests/src/python/test_qgsrenderer.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '07/06/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsreport.py b/tests/src/python/test_qgsreport.py
index 04c64e7..f5bde19 100644
--- a/tests/src/python/test_qgsreport.py
+++ b/tests/src/python/test_qgsreport.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '29/12/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsrulebasedrenderer.py b/tests/src/python/test_qgsrulebasedrenderer.py
index 86c8897..a9103f5 100644
--- a/tests/src/python/test_qgsrulebasedrenderer.py
+++ b/tests/src/python/test_qgsrulebasedrenderer.py
@@ -21,7 +21,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = 'September 2015'
 __copyright__ = '(C) 2015, Matthiasd Kuhn'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgssearchwidgettoolbutton.py b/tests/src/python/test_qgssearchwidgettoolbutton.py
index 44827e5..b7ec3c5 100644
--- a/tests/src/python/test_qgssearchwidgettoolbutton.py
+++ b/tests/src/python/test_qgssearchwidgettoolbutton.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '18/05/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA switch sip api
 
diff --git a/tests/src/python/test_qgssearchwidgetwrapper.py b/tests/src/python/test_qgssearchwidgetwrapper.py
index 57770a7..82c4066 100644
--- a/tests/src/python/test_qgssearchwidgetwrapper.py
+++ b/tests/src/python/test_qgssearchwidgetwrapper.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2016-05'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsserver.py b/tests/src/python/test_qgsserver.py
index 399b0af..030a8cb 100644
--- a/tests/src/python/test_qgsserver.py
+++ b/tests/src/python/test_qgsserver.py
@@ -26,7 +26,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '25/05/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/tests/src/python/test_qgsserver_accesscontrol.py b/tests/src/python/test_qgsserver_accesscontrol.py
index b9c5493..3fb9adb 100644
--- a/tests/src/python/test_qgsserver_accesscontrol.py
+++ b/tests/src/python/test_qgsserver_accesscontrol.py
@@ -10,7 +10,7 @@ __author__ = 'Stephane Brunner'
 __date__ = '28/08/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 print('CTEST_FULL_OUTPUT')
 
diff --git a/tests/src/python/test_qgsserver_modules.py b/tests/src/python/test_qgsserver_modules.py
index 24a9902..07bb0f4 100644
--- a/tests/src/python/test_qgsserver_modules.py
+++ b/tests/src/python/test_qgsserver_modules.py
@@ -21,7 +21,7 @@ __author__ = 'David Marteau'
 __date__ = 'December 2016'
 __copyright__ = '(C) 2016, David Marteau'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 """ QGIS test for server services
 """
diff --git a/tests/src/python/test_qgsserver_plugins.py b/tests/src/python/test_qgsserver_plugins.py
index dc4395b..3505f5f 100644
--- a/tests/src/python/test_qgsserver_plugins.py
+++ b/tests/src/python/test_qgsserver_plugins.py
@@ -14,7 +14,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '22/04/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/tests/src/python/test_qgsserver_projectutils.py b/tests/src/python/test_qgsserver_projectutils.py
index 421dbf4..8375629 100644
--- a/tests/src/python/test_qgsserver_projectutils.py
+++ b/tests/src/python/test_qgsserver_projectutils.py
@@ -11,7 +11,7 @@ __author__ = 'Paul Blottiere'
 __date__ = '26/12/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/tests/src/python/test_qgsserver_request.py b/tests/src/python/test_qgsserver_request.py
index 146b9b1..2a613c5 100644
--- a/tests/src/python/test_qgsserver_request.py
+++ b/tests/src/python/test_qgsserver_request.py
@@ -15,7 +15,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '29/04/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from qgis.PyQt.QtCore import QUrl
diff --git a/tests/src/python/test_qgsserver_response.py b/tests/src/python/test_qgsserver_response.py
index d492614..b39bdd8 100644
--- a/tests/src/python/test_qgsserver_response.py
+++ b/tests/src/python/test_qgsserver_response.py
@@ -15,7 +15,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '29/04/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 from qgis.server import QgsBufferServerResponse
diff --git a/tests/src/python/test_qgsserver_security.py b/tests/src/python/test_qgsserver_security.py
index c1e264a..b5ba603 100644
--- a/tests/src/python/test_qgsserver_security.py
+++ b/tests/src/python/test_qgsserver_security.py
@@ -11,7 +11,7 @@ __author__ = 'Paul Blottiere'
 __date__ = '31/01/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.utils import spatialite_connect
 import os
diff --git a/tests/src/python/test_qgsserver_services.py b/tests/src/python/test_qgsserver_services.py
index 3909681..c24aff9 100644
--- a/tests/src/python/test_qgsserver_services.py
+++ b/tests/src/python/test_qgsserver_services.py
@@ -21,7 +21,7 @@ __author__ = 'David Marteau'
 __date__ = 'December 2016'
 __copyright__ = '(C) 2016, David Marteau'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 """ QGIS test for server services
 """
diff --git a/tests/src/python/test_qgsserver_settings.py b/tests/src/python/test_qgsserver_settings.py
index ac2e0f0..9b65331 100644
--- a/tests/src/python/test_qgsserver_settings.py
+++ b/tests/src/python/test_qgsserver_settings.py
@@ -11,7 +11,7 @@ __author__ = 'Paul Blottiere'
 __date__ = '20/12/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/tests/src/python/test_qgsserver_wfs.py b/tests/src/python/test_qgsserver_wfs.py
index f3d0dbe..fa77faf 100644
--- a/tests/src/python/test_qgsserver_wfs.py
+++ b/tests/src/python/test_qgsserver_wfs.py
@@ -14,7 +14,7 @@ __author__ = 'René-Luc Dhont'
 __date__ = '19/09/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -268,6 +268,10 @@ class TestQgsServerWFS(QgsServerTestBase):
         self.wfs_request_compare("GetFeature", '1.1.0', "SRSNAME=EPSG:4326&TYPENAME=testlayer&RESULTTYPE=hits&BBOX=913144,5605992,913303,5606048,EPSG:3857", 'wfs_getFeature_1_1_0_epsgbbox_3_feature_3857')
         self.wfs_request_compare("GetFeature", '1.1.0', "SRSNAME=EPSG:4326&TYPENAME=testlayer&RESULTTYPE=hits&BBOX=913206,5606024,913213,5606026,EPSG:3857", 'wfs_getFeature_1_1_0_epsgbbox_1_feature_3857')
 
+    def test_getFeatureFeatureId(self):
+        """Test GetFeature with featureid"""
+        self.wfs_request_compare("GetFeature", '1.0.0', "SRSNAME=EPSG:4326&TYPENAME=testlayer&FEATUREID=testlayer.0", 'wfs_getFeature_1_0_0_featureid_0')
+
 
 if __name__ == '__main__':
     unittest.main()
diff --git a/tests/src/python/test_qgsserver_wfst.py b/tests/src/python/test_qgsserver_wfst.py
index ab9047e..2661ed2 100644
--- a/tests/src/python/test_qgsserver_wfst.py
+++ b/tests/src/python/test_qgsserver_wfst.py
@@ -32,7 +32,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '05/15/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 import os
diff --git a/tests/src/python/test_qgsserver_wms.py b/tests/src/python/test_qgsserver_wms.py
index f8384b3..664d6e4 100644
--- a/tests/src/python/test_qgsserver_wms.py
+++ b/tests/src/python/test_qgsserver_wms.py
@@ -14,7 +14,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '25/05/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
@@ -193,11 +193,20 @@ class TestQgsServerWMS(QgsServerTestBase):
         self.wms_request_compare('GetFeatureInfo',
                                  '&layers=testlayer%20%C3%A8%C3%A9&' +
                                  'INFO_FORMAT=text%2Fxml&' +
-                                 'width=600&height=400&srs=EPSG%3A3857&' +
+                                 'width=600&height=400&srs=EPSG%3A4326&' +
                                  'query_layers=testlayer%20%C3%A8%C3%A9&' +
                                  'FEATURE_COUNT=10&FILTER_GEOM=POLYGON((8.2035381 44.901459,8.2035562 44.901459,8.2035562 44.901418,8.2035381 44.901418,8.2035381 44.901459))',
                                  'wms_getfeatureinfo_geometry_filter')
 
+        # Test feature info request with filter geometry in non-layer CRS
+        self.wms_request_compare('GetFeatureInfo',
+                                 '&layers=testlayer%20%C3%A8%C3%A9&' +
+                                 'INFO_FORMAT=text%2Fxml&' +
+                                 'width=600&height=400&srs=EPSG%3A3857&' +
+                                 'query_layers=testlayer%20%C3%A8%C3%A9&' +
+                                 'FEATURE_COUNT=10&FILTER_GEOM=POLYGON ((913213.6839952 5606021.5399693, 913215.6988780 5606021.5399693, 913215.6988780 5606015.09643322, 913213.6839952 5606015.0964332, 913213.6839952 5606021.5399693))',
+                                 'wms_getfeatureinfo_geometry_filter_3857')
+
         # Test feature info request with invalid query_layer
         self.wms_request_compare('GetFeatureInfo',
                                  '&layers=testlayer%20%C3%A8%C3%A9&' +
diff --git a/tests/src/python/test_qgsserver_wms_getlegendgraphic.py b/tests/src/python/test_qgsserver_wms_getlegendgraphic.py
index c6cc3c6..99412b6 100644
--- a/tests/src/python/test_qgsserver_wms_getlegendgraphic.py
+++ b/tests/src/python/test_qgsserver_wms_getlegendgraphic.py
@@ -14,7 +14,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '25/05/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/tests/src/python/test_qgsserver_wms_getmap.py b/tests/src/python/test_qgsserver_wms_getmap.py
index 37f5c2c..a88c494 100644
--- a/tests/src/python/test_qgsserver_wms_getmap.py
+++ b/tests/src/python/test_qgsserver_wms_getmap.py
@@ -14,7 +14,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '25/05/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/tests/src/python/test_qgsserver_wms_getprint.py b/tests/src/python/test_qgsserver_wms_getprint.py
index f99ce01..ed25768 100644
--- a/tests/src/python/test_qgsserver_wms_getprint.py
+++ b/tests/src/python/test_qgsserver_wms_getprint.py
@@ -14,7 +14,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '25/05/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 
diff --git a/tests/src/python/test_qgssettings.py b/tests/src/python/test_qgssettings.py
index 0661c86..6dc9a18 100644
--- a/tests/src/python/test_qgssettings.py
+++ b/tests/src/python/test_qgssettings.py
@@ -20,7 +20,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '02/02/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 start_app()
diff --git a/tests/src/python/test_qgsshortcutsmanager.py b/tests/src/python/test_qgsshortcutsmanager.py
index a1c42d1..8d5c551 100644
--- a/tests/src/python/test_qgsshortcutsmanager.py
+++ b/tests/src/python/test_qgsshortcutsmanager.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '28/05/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgssinglesymbolrenderer.py b/tests/src/python/test_qgssinglesymbolrenderer.py
index 8de858b..1842928 100644
--- a/tests/src/python/test_qgssinglesymbolrenderer.py
+++ b/tests/src/python/test_qgssinglesymbolrenderer.py
@@ -21,7 +21,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = 'December 2015'
 __copyright__ = '(C) 2015, Matthias Kuhn'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgssourceselectprovider.py b/tests/src/python/test_qgssourceselectprovider.py
index a8edc22..cd88fec 100644
--- a/tests/src/python/test_qgssourceselectprovider.py
+++ b/tests/src/python/test_qgssourceselectprovider.py
@@ -22,7 +22,7 @@ __author__ = 'Alessandro Pasotti'
 __date__ = '01/09/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 
 start_app()
diff --git a/tests/src/python/test_qgsspatialindex.py b/tests/src/python/test_qgsspatialindex.py
index 3884fda..d4d6399 100644
--- a/tests/src/python/test_qgsspatialindex.py
+++ b/tests/src/python/test_qgsspatialindex.py
@@ -10,7 +10,7 @@ __author__ = 'Alexander Bruy'
 __date__ = '20/01/2011'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgssqlstatement.py b/tests/src/python/test_qgssqlstatement.py
index 361a9e6..0860891 100644
--- a/tests/src/python/test_qgssqlstatement.py
+++ b/tests/src/python/test_qgssqlstatement.py
@@ -10,7 +10,7 @@ __author__ = 'Even Rouault'
 __date__ = '4/4/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.testing import unittest
 from qgis.core import QgsSQLStatement
diff --git a/tests/src/python/test_qgsstringstatisticalsummary.py b/tests/src/python/test_qgsstringstatisticalsummary.py
index c387888..37c8cb8 100644
--- a/tests/src/python/test_qgsstringstatisticalsummary.py
+++ b/tests/src/python/test_qgsstringstatisticalsummary.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '07/05/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsstringutils.py b/tests/src/python/test_qgsstringutils.py
index 98fd094..c8f6fef 100644
--- a/tests/src/python/test_qgsstringutils.py
+++ b/tests/src/python/test_qgsstringutils.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '30/08/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgssymbol.py b/tests/src/python/test_qgssymbol.py
index 200bfb3..52bb5ec 100644
--- a/tests/src/python/test_qgssymbol.py
+++ b/tests/src/python/test_qgssymbol.py
@@ -21,7 +21,7 @@ __author__ = 'Nyall Dawson'
 __date__ = 'January 2016'
 __copyright__ = '(C) 2016, Nyall Dawson'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
@@ -31,6 +31,9 @@ from qgis.PyQt.QtCore import QDir
 from qgis.PyQt.QtGui import QImage, QColor, QPainter
 
 from qgis.core import (QgsGeometry,
+                       QgsRectangle,
+                       QgsCoordinateTransform,
+                       QgsCoordinateReferenceSystem,
                        QgsMapUnitScale,
                        QgsMarkerSymbol,
                        QgsMultiPolygon,
@@ -45,12 +48,12 @@ from qgis.core import (QgsGeometry,
                        QgsSimpleMarkerSymbolLayer,
                        QgsSimpleMarkerSymbolLayerBase,
                        QgsUnitTypes,
-                       QgsWkbTypes
+                       QgsWkbTypes,
+                       QgsProject
                        )
 
 from qgis.testing import unittest, start_app
 
-
 start_app()
 TEST_DATA_DIR = unitTestDataPath()
 
@@ -58,7 +61,7 @@ TEST_DATA_DIR = unitTestDataPath()
 class TestQgsSymbol(unittest.TestCase):
 
     def setUp(self):
-        #Create some simple symbols
+        # Create some simple symbols
         self.fill_symbol = QgsFillSymbol.createSimple({'color': '#ffffff', 'outline_color': 'black'})
         self.line_symbol = QgsLineSymbol.createSimple({'color': '#ffffff', 'line_width': '3'})
         self.marker_symbol = QgsMarkerSymbol.createSimple({'color': '#ffffff', 'size': '3', 'outline_color': 'black'})
@@ -69,7 +72,7 @@ class TestQgsSymbol(unittest.TestCase):
         with open(report_file_path, 'a') as report_file:
             report_file.write(self.report)
 
-    def testGeometryRendering(self):
+    def txestGeometryRendering(self):
         '''Tests rendering a bunch of different geometries, including bad/odd geometries.'''
 
         empty_multipolygon = QgsMultiPolygon()
@@ -134,21 +137,21 @@ class TestQgsSymbol(unittest.TestCase):
             rendered_image = self.renderGeometry(geom)
             assert self.imageCheck(test['name'], test['reference_image'], rendered_image)
 
-            #Note - each test is repeated with the same geometry and reference image, but with added
-            #z and m dimensions. This tests that presence of the dimensions does not affect rendering
+            # Note - each test is repeated with the same geometry and reference image, but with added
+            # z and m dimensions. This tests that presence of the dimensions does not affect rendering
 
-            #test with Z
+            # test with Z
             geom_z = get_geom()
             geom_z.get().addZValue(5)
             rendered_image = self.renderGeometry(geom_z)
             assert self.imageCheck(test['name'] + 'Z', test['reference_image'], rendered_image)
 
-            #test with ZM
+            # test with ZM
             geom_z.get().addMValue(15)
             rendered_image = self.renderGeometry(geom_z)
             assert self.imageCheck(test['name'] + 'ZM', test['reference_image'], rendered_image)
 
-            #test with M
+            # test with M
             geom_m = get_geom()
             geom_m.get().addMValue(15)
             rendered_image = self.renderGeometry(geom_m)
@@ -197,8 +200,282 @@ class TestQgsSymbol(unittest.TestCase):
                 self.fail("Unknown type: " + geom.type())
         finally:
             painter.end()
+
         return image
 
+    def testReprojectionErrorsWhileRendering(self):
+        # WKT of a polygon which causes reprojection errors while rendering
+        # (apologies for the ridiculously complex wkt, but I can't find a way to reproduce with simplifiction)
+        wkt = 'MultiPolygon (((16.93392988400009358 42.77094147300012139, 16.88493899800005238 42.72939687700012712, ' \
+              '16.80298912900011032 42.76349518400014915, 16.85816491000014139 42.78400299700011544, ' \
+              '16.93392988400009358 42.77094147300012139)),((17.38200931100010393 42.79783763200002511, ' \
+              '17.65894616000011297 42.74298737200008702, 17.74887129000009622 42.69456614800010641, ' \
+              '17.32374108200008322 42.79083893400003547, 17.38200931100010393 42.79783763200002511)),' \
+              '((16.768565300000148 42.97223541900014254, 17.03207441500009622 42.98261139500014849, ' \
+              '17.13184655000009116 42.96954987200014386, 17.20020592500009116 42.92177969000012183, ' \
+              '16.85141035200010151 42.90070221600008438, 16.65544681100004709 42.92625560099999404, ' \
+              '16.70679772200014668 42.96954987200014386, 16.63168379000003938 42.98261139500014849, ' \
+              '16.768565300000148 42.97223541900014254)),((17.05567467500011958 43.02895742400001211, ' \
+              '17.24024498800011429 43.02277252800014651, 17.74146569100011561 42.83926015800001608, ' \
+              '17.70736738400009358 42.88703034100014122, 17.65334906206413734 42.8909283361407887, ' \
+              '17.70158573400010482 42.91950022500007833, 17.81175988700005064 42.909862570000044, ' \
+              '17.85847538200005147 42.81697418200012351, 18.22413781700009849 42.62807098500009317, ' \
+              '18.43735477700010961 42.55921213800017711, 18.4371480710000526 42.4934022020000981, ' \
+              '18.49642988400009358 42.41632721600008438, 18.23894290500010129 42.55906810100005089, ' \
+              '18.21753991000014139 42.6201032570001388, 18.07601972700010151 42.65131256700003348, ' \
+              '18.0432235040000819 42.70205312700007028, 17.90162194100014403 42.75189850500014188, ' \
+              '17.8928328790000819 42.79083893400003547, 17.72095787900005348 42.8262393250000315, ' \
+              '17.7618921230000808 42.77871328300012976, 17.74870853000004445 42.77204010600017625, ' \
+              '17.21387780000011958 42.98261139500014849, 17.04615319100011561 42.9950625670000619, ' \
+              '17.00163821700004974 43.05149974200010377, 17.05567467500011958 43.02895742400001211)),' \
+              '((16.19467207100007045 43.07440827000000638, 16.254893425000148 43.06854889500006323, ' \
+              '16.08716881600014403 43.01146067900008063, 16.04883873800011429 43.06517161700004692, ' \
+              '16.19467207100007045 43.07440827000000638)),((16.56275475400011032 43.22898997600010773, ' \
+              '16.65951582100009887 43.21596914300012315, 16.72771243600001867 43.16461823100003414, ' \
+              '17.19336998800014271 43.12726471600016964, 16.67017662900013875 43.12547435099999404, ' \
+              '16.37159264400014536 43.19550202000006323, 16.49642988400006516 43.21808502800014651, ' \
+              '16.58326256600014403 43.18866608300005794, 16.52051842500006273 43.22898997600010773, ' \
+              '16.56275475400011032 43.22898997600010773)),((16.80681399800010922 43.34247467700005529, ' \
+              '16.89234459700011826 43.31220123900006058, 16.84620201900008851 43.27338288000005662, ' \
+              '16.62826582100012729 43.26373932500008834, 16.50074303500014139 43.28424713700003679, ' \
+              '16.42188561300008587 43.31757233300011478, 16.40577233200011165 43.33270905200011214, ' \
+              '16.45346113400009358 43.35317617400009738, 16.42628014400008851 43.39411041900011412, ' \
+              '16.44703209700008983 43.39484284100014122, 16.80681399800010922 43.34247467700005529)),' \
+              '((16.29818769600012729 43.40363190300011809, 16.30274498800008587 43.38727448100009099, ' \
+              '16.39144941500012465 43.34638092700005529, 16.348643425000148 43.33869049700003018, ' \
+              '16.20045006600014403 43.40704987200003018, 16.29818769600012729 43.40363190300011809)),' \
+              '((16.33415774800010922 43.50153229400014254, 16.3752547540000819 43.49017975500008504, ' \
+              '16.21143639400008851 43.49005768400009231, 16.26441491000014139 43.51288483300011478, ' \
+              '16.33415774800010922 43.50153229400014254)),((15.67888431100004709 43.64801666900014254, ' \
+              '15.74040774800010922 43.62750885600009099, 15.67204837300002396 43.63743724200010377, ' \
+              '15.60377037900013875 43.67470937700007028, 15.67888431100004709 43.64801666900014254)),' \
+              '((15.36736087300005238 43.79010651200015047, 15.39568118600007551 43.7724063170000619, ' \
+              '15.22779381600014403 43.87445709800014981, 15.24073326900014536 43.88076406500009341, ' \
+              '15.36736087300005238 43.79010651200015047)),((15.44271894600009887 43.89907461100013109, ' \
+              '15.35865319100014403 43.91937897300014981, 15.26124108200011165 44.01105377800003282, ' \
+              '15.38404381600008719 43.9701602230000077, 15.44271894600009887 43.89907461100013109)),' \
+              '((15.22575931100010393 44.06622955900014915, 15.25440514400008851 44.01788971600014122, ' \
+              '15.12183678500014139 44.09223053600005926, 15.06251061300008587 44.16193268400012073, ' \
+              '15.22575931100010393 44.06622955900014915)),((14.83545983200014007 44.15102773600013109, ' \
+              '14.85726972700010151 44.15204498900000374, 14.86915123800014271 44.14052969000006499, ' \
+              '14.83521569100008719 44.14166901200009363, 14.81983483200014007 44.15302155199999845, ' \
+              '14.82243899800005238 44.16868724200004692, 14.83545983200014007 44.15102773600013109)),' \
+              '((14.98511803500011297 44.09096914300012315, 15.21680748800008587 43.91278717700008372, ' \
+              '15.13331139400011693 43.92121002800003282, 15.19450931100004709 43.87262604400017096, ' \
+              '15.10661868600007551 43.92544179900015422, 14.84961998800014271 44.17560455900014915, ' \
+              '14.98511803500011297 44.09096914300012315)),((14.765961134000122 44.26504140800015819, ' \
+              '14.74854576900014536 44.26166413000014188, 14.73959394600012729 44.28017812700015554, ' \
+              '14.79167728000007287 44.27252838700003679, 14.765961134000122 44.26504140800015819)),' \
+              '((14.66138756600011561 44.30866120000014519, 14.6407983730000808 44.31183502800003282, ' \
+              '14.59506269600007045 44.34711334800006455, 14.643565300000148 44.32575104400011412, ' \
+              '14.66138756600011561 44.30866120000014519)),((14.81120853000004445 44.35004303600000242, ' \
+              '14.75619550900009358 44.36399974200004692, 14.76343834700008983 44.41535065300017493, ' \
+              '14.80323326900008851 44.40550364800004957, 14.81120853000004445 44.35004303600000242)),' \
+              '((14.27116946700002131 44.61253489800004957, 14.23259524800005238 44.62604401200012205, ' \
+              '14.2657983730000808 44.67951080900003547, 14.28044681100007551 44.67755768400009231, ' \
+              '14.27116946700002131 44.61253489800004957)),((14.84522545700008322 44.60053131700011875, ' \
+              '14.93824303500014139 44.59414297100001079, 15.07553144600007045 44.48407623900006058, ' \
+              '14.91114342500011958 44.54547760600014783, 15.04802493600004709 44.43943919500001982, ' \
+              '15.09669030000009116 44.41518789300000947, 15.04151451900014536 44.47662995000008834, ' \
+              '15.25440514400008851 44.34003327000000638, 15.165049675000148 44.36737702000006323, ' \
+              '15.22022545700008322 44.3127302100001117, 15.13086998800008587 44.33258698100003414, ' \
+              '15.17237389400014536 44.29913971600016964, 15.12875410200007309 44.31199778900018771, ' \
+              '15.08920332100009887 44.37421295800000109, 15.11719811300014271 44.38719310099999404, ' \
+              '15.04900149800010922 44.39468008000015686, 14.89747155000009116 44.49091217699999845, ' \
+              '14.91863040500010129 44.50454336100013109, 14.87696373800011429 44.55975983300005794, ' \
+              '14.73365319100008719 44.70319245000014519, 14.84522545700008322 44.60053131700011875)),' \
+              '((14.41000410200010151 44.60097890800001608, 14.52662194100011561 44.50372955900012073, ' \
+              '14.53435306100010393 44.48407623900006058, 14.42261803500008455 44.57387929900009738, ' \
+              '14.36304772200014668 44.57343170800000109, 14.38257897200014668 44.60325755399999537, ' \
+              '14.33578535200007309 44.71678294500010509, 14.39747155000009116 44.6856143250000315, ' \
+              '14.41000410200010151 44.60097890800001608)),((14.75326582100007045 44.84585195500012844, ' \
+              '14.74048912900011032 44.82050202000000638, 14.82243899800005238 44.77142975500005662, ' \
+              '14.84961998800014271 44.70319245000014519, 14.65788821700004974 44.79877350500014188, ' \
+              '14.7268172540000819 44.79877350500014188, 14.6858016290000819 44.8471540390000456, ' \
+              '14.75326582100007045 44.84585195500012844)),((14.47103925900006516 44.95392487200003018, ' \
+              '14.45191491000008455 44.79877350500014188, 14.47217858200011165 44.7079531920000619, ' \
+              '14.53435306100010393 44.63426341400010244, 14.51335696700007816 44.618841864000089, ' \
+              '14.42790774800005238 44.65656159100014122, 14.29420006600008719 44.9086367860001161, ' \
+              '14.30152428500011297 44.94342682500014519, 14.38738040500004445 44.90900299700003018, ' \
+              '14.39031009200004974 44.96039459800012139, 14.41138756600008719 44.95636627800014651, ' \
+              '14.27849368600004709 45.1133487000000315, 14.29957116000014139 45.16233958499999801, ' \
+              '14.35621178500014139 45.16925690300008966, 14.387705925000148 45.03904857000013351, ' \
+              '14.47103925900006516 44.95392487200003018)),((14.56332441500012465 45.24974192900008063, ' \
+              '14.62378991000011297 45.17548248900006058, 14.59742272200011826 45.16644928600005926, ' \
+              '14.66529381600011561 45.16181061400011743, 14.66529381600011561 45.08734772300006455, ' \
+              '14.74048912900011032 45.07306549700014386, 14.81495201900008851 44.97748444200009033, ' \
+              '14.70639082100009887 44.9467227230000077, 14.62891686300014271 44.97817617400004053, ' \
+              '14.62086022200008983 45.04559967700011214, 14.61695397200008983 45.02464427300007799, ' \
+              '14.51050866000014139 45.03217194200011875, 14.43873131600014403 45.07050202000006323, ' \
+              '14.4670516290000819 45.12409088700015047, 14.53012129000009622 45.13483307500014519, ' \
+              '14.53435306100010393 45.23753489800002114, 14.56332441500012465 45.24974192900008063)),' \
+              '((16.36947066200013978 46.54057118800012915, 16.63767134600004738 46.47447703100009164, ' \
+              '16.75508020000012266 46.38187286400001597, 16.83765913900006694 46.38187286400001597, ' \
+              '16.88923221800007468 46.29216257800014489, 17.05294315600005461 46.15346303300005104, ' \
+              '17.20859257000006437 46.11656606000003933, 17.27587528500004055 46.01202463800002818, ' \
+              '17.31680301900004793 45.99765859000002877, 17.29013798000011093 45.98463612900009423, ' \
+              '17.40620324700006449 45.94365671800015605, 17.59110152100009827 45.93621531200012953, ' \
+              '17.65652388500006964 45.84541982000014571, 17.80917606600013414 45.81441396100005647, ' \
+              '17.85806197100004056 45.77172922800004073, 18.21121870900006456 45.78537180600012846, ' \
+              '18.40438521300006869 45.74180857400001798, 18.57347049900010916 45.81668772400014689, ' \
+              '18.6556360270001278 45.90758656800015558, 18.7755253500000947 45.88283355700004051, ' \
+              '18.90130578600007993 45.93120269800006383, 18.87288374800004931 45.89523590100002082, ' \
+              '18.90699019400011593 45.86795074500018643, 18.85531376100007606 45.85735707600009903, ' \
+              '18.84497847500006174 45.8157058720000947, 18.96848514800012708 45.66873809800016204, ' \
+              '18.90357954900008508 45.57308502200005762, 18.94171675700005153 45.53892689999999277, ' \
+              '19.01809452300011571 45.56740061400002162, 19.10625451700005328 45.51164174500017623, ' \
+              '19.00961958800010621 45.49867095900005154, 19.00300500400010151 45.45536611000007099, ' \
+              '19.03742150900006891 45.42229319300010104, 18.97592655400006834 45.39495636000008005, ' \
+              '19.09199182100007874 45.34999786400005917, 19.12475467900009107 45.29811472600006539, ' \
+              '19.36308638500014467 45.24824696900010679, 19.40783817500010855 45.20313344400013023, ' \
+              '19.39068160000005037 45.16933705700016333, 19.22593713300008744 45.16194732700016345, ' \
+              '19.12186079900010327 45.195795390000157, 19.13767378700009658 45.14603098600004216, ' \
+              '19.04486291500009543 45.13724599300006446, 19.08227665200013234 45.08494944300004192, ' \
+              '19.0872375890000967 44.97710072800013847, 19.13167932100006396 44.95317454000003465, ' \
+              '19.06667036900009293 44.90568389900012392, 18.99142948400006503 44.9149339800001286, ' \
+              '19.01582076000008215 44.86563466400004074, 18.88962691200009658 44.86119049100013001, ' \
+              '18.78338016700013213 44.91374542300012251, 18.79175174900009893 45.00154368100008639, ' \
+              '18.73831831900008638 45.0159097290000858, 18.68405806500004473 45.08479441400000098, ' \
+              '18.64871138500012648 45.06267689999999959, 18.61667199700013953 45.09766184500010411, ' \
+              '18.54959598800010667 45.09476796500011631, 18.51703983500007666 45.05585561200003042, ' \
+              '18.23788374800011525 45.15745147700012296, 18.15365116400005263 45.0975584930001645, ' \
+              '18.00347945100011771 45.1493382780000303, 17.83573775200005684 45.0644338990000648, ' \
+              '17.68473921700012852 45.1639627080000281, 17.48185754400009273 45.11440500900012296, ' \
+              '17.49622359200009214 45.1416901650001563, 17.44775109900012922 45.13430043600014585, ' \
+              '17.44330692500011537 45.16205068000009248, 17.38243208800008688 45.1396231090000839, ' \
+              '17.26895064300006766 45.18954254200015441, 17.24548954300007608 45.15538442000017483, ' \
+              '17.18709517400012032 45.14856313100001728, 17.0363033440001459 45.23047027600007652, ' \
+              '17.00829471800011561 45.21615590500009318, 17.00829471800011561 45.24416453100009505, ' \
+              '16.94731652900014751 45.23568959600000028, 16.9243721930001243 45.28452382500016427, ' \
+              '16.81171757000004163 45.18122263700009, 16.52894413300009546 45.22225372400005483, ' \
+              '16.38921106000003647 45.11683380099999852, 16.31624393700010955 45.00123362300008978, ' \
+              '16.12152714000009723 45.09616322900008356, 16.02044803900011516 45.213933818000001, ' \
+              '15.79234826700013627 45.18980092400012438, 15.76361617000014803 44.97555043600003444, ' \
+              '15.7308533120001357 44.92723297200008403, 15.77343469200010873 44.84501576800015243, ' \
+              '15.71607385200013596 44.80320953400008932, 15.72847619600008784 44.76910308800002269, ' \
+              '15.80568078600006743 44.69665273000013883, 15.88877648900006534 44.72424794500012979, ' \
+              '15.96897831200004703 44.63924021400013942, 16.02830285600006732 44.62471913700009907, ' \
+              '16.04473596200011798 44.58937245700018082, 16.00608199000004106 44.54100331600012908, ' \
+              '16.11646285000011858 44.52146962500013672, 16.15966434700004584 44.41610138000002905, ' \
+              '16.13827030500004867 44.37760243800015303, 16.20286584400008678 44.35977406800010669, ' \
+              '16.18756962000011868 44.28241444999999032, 16.21578495300011014 44.20815541600011045, ' \
+              '16.32688928200008149 44.08237498000012522, 16.50103885900011846 43.99271637000008184, ' \
+              '16.67859908100004418 43.8406843060001421, 16.71260217300007866 43.77151540100005889, ' \
+              '17.03051558500007445 43.54847991900005866, 17.27050093600007585 43.46321380700000248, ' \
+              '17.28993127500007176 43.3034302780000786, 17.44206669100009321 43.15243174300015028, ' \
+              '17.6284119050001209 43.04657257100008394, 17.66272505700004558 42.96569895500012137, ' \
+              '17.63450972400008254 42.950402731000068, 17.51563561300008587 42.95888906500012183, ' \
+              '17.47087649800005238 43.01341380400010905, 17.50196373800014271 43.03099192900005221, ' \
+              '17.43360436300014271 43.01740143400009231, 17.46021569100011561 43.03099192900005221, ' \
+              '17.42611738400009358 43.06517161700004692, 17.4045516290000819 43.05149974200010377, ' \
+              '17.31625410200012993 43.12726471600016964, 17.11394290500004445 43.21320221600008438, ' \
+              '16.88062584700011826 43.40595123900006058, 16.62582441500009622 43.44904205900009231, ' \
+              '16.52466881600011561 43.51080963700009363, 16.39144941500012465 43.51080963700009363, ' \
+              '16.47339928500008455 43.5381533870001789, 16.43384850400013875 43.54975006700000506, ' \
+              '16.11768639400008851 43.52448151200003679, 16.17237389400014536 43.4896914730000077, ' \
+              '16.11312910200004467 43.47890859600009605, 15.95948326900011693 43.50397370000008834, ' \
+              '15.987315300000148 43.54490794500010509, 15.92530358200011165 43.55857982000004824, ' \
+              '15.91895592500009116 43.62872955900012073, 15.96631920700011165 43.64118073100003414, ' \
+              '15.90479576900014536 43.64801666900014254, 15.95297285200010151 43.65086497599999404, ' \
+              '15.95045006600008719 43.68854401200015047, 15.70630944100008719 43.76341380400005221, ' \
+              '15.6174422540000819 43.82550690300017493, 15.66309655000009116 43.81297435099999404, ' \
+              '15.67888431100004709 43.81928131700011875, 15.45508873800014271 43.92804596600014122, ' \
+              '15.14454186300011429 44.19546133000015686, 15.15219160200012993 44.23529694200014717, ' \
+              '15.11036217500011958 44.26434967700011214, 15.14063561300011429 44.28245677300013483, ' \
+              '15.17660566500009622 44.24994538000005662, 15.20777428500008455 44.27277252800014651, ' \
+              '15.19809004000012465 44.30166250200007028, 15.295258009000122 44.25067780199999845, ' \
+              '15.30274498800008587 44.29913971600016964, 15.26124108200011165 44.33258698100003414, ' \
+              '15.42448978000001603 44.26797109600006763, 15.52865644600009887 44.27179596600008438, ' \
+              '15.30795332100009887 44.35439687700007028, 15.00733483200014007 44.56972890800012976, ' \
+              '14.883799675000148 44.7236188820001388, 14.883799675000148 44.86147695500012844, 14.92164147200008983 ' \
+              '44.95880768400009231, 14.85279381600011561 45.09365469000000815, 14.65788821700004974 ' \
+              '45.19660065300017493, 14.57081139400008851 45.29364655200011214, 14.31153405000009116 ' \
+              '45.34398021000005485, 14.23259524800005238 45.14935944200000506, 14.17937259200007816 ' \
+              '45.13450755400005221, 14.19312584700008983 45.10561758000012844, 14.14389082100007045 ' \
+              '45.05939362200003018, 14.151377800000148 44.97748444200009033, 14.06885826900014536 ' \
+              '44.94953034100014122, 14.08383222700007309 44.9863955750000315, 14.04029381600014403 ' \
+              '45.03896719000015025, 14.0756942070000548 44.98371002800003282, 14.02051842500011958 ' \
+              '44.90110911700004692, 13.97266686300011429 44.90110911700004692, 13.99301191500009622 ' \
+              '44.88129303600014453, 13.97266686300011429 44.82664622599999404, 14.00001061300008587 ' \
+              '44.81305573100003414, 13.89014733200011165 44.83348216400010244, 13.91797936300014271 ' \
+              '44.77826569200009033, 13.90316816500009622 44.77240631700014717, 13.89698326900011693 ' \
+              '44.81305573100003414, 13.78711998800014271 44.87506745000008834, 13.84229576900008851 ' \
+              '44.88812897300006455, 13.79460696700010658 44.89496491100008768, 13.77409915500007287 ' \
+              '44.96381256700014717, 13.6232202480000808 45.07306549700014386, 13.61255944100014403 ' \
+              '45.11786530199999845, 13.72624759200004974 45.13450755400005221, 13.5959578790000819 ' \
+              '45.14541250200001343, 13.57545006600011561 45.26487864800007799, 13.60271243600001867 ' \
+              '45.28534577000012007, 13.57545006600011561 45.30646393400006389, 13.60954837300005238 ' \
+              '45.32013580900017757, 13.54127037900013875 45.34613678600005926, 13.50709069100014403 ' \
+              '45.51190827000000638, 13.62901778100007277 45.45898346000016943, 13.75929406800014476 ' \
+              '45.46316925100011019, 13.88900191200011136 45.42363678000005223, 13.98263960800005634 ' \
+              '45.47531321200001742, 13.97189091000012695 45.5142255660000643, 14.09291711400010172 ' \
+              '45.47391794800002174, 14.21869755100007637 45.49717234400004884, 14.37279667100006009 ' \
+              '45.47784535800009564, 14.4689148350000778 45.52559438100014688, 14.49857710800012001 ' \
+              '45.59618438800005435, 14.58094934100009255 45.66780792200010808, 14.66848921700008646 ' \
+              '45.53396596300005683, 14.79716353300005949 45.46518463200006011, 14.88160282300009385 ' \
+              '45.46978383400001178, 14.9226339110000481 45.51494903600017494, 15.13926151500010064 ' \
+              '45.43004465799999991, 15.32519331800011742 45.45283396399999276, 15.36136682100004691 ' \
+              '45.48203114900003641, 15.29666792800006192 45.52295888300012905, 15.2685559480001416 ' \
+              '45.60166208900012919, 15.37376916500011248 45.64021270800010655, 15.25501672300006817 ' \
+              '45.72346344000011698, 15.42906294700014769 45.77529490200011253, 15.45128381300008868 ' \
+              '45.81513743100013869, 15.67607629400006886 45.84169911700014666, 15.65943648300003588 ' \
+              '45.88882802400014782, 15.69798710100010908 46.0362092080000167, 15.58988000500005455 ' \
+              '46.11351715100001059, 15.62284956800010605 46.19170359400006021, 16.01920780400010358 ' \
+              '46.29882883700007312, 16.05961877400008575 46.33231516600015709, 16.0579651280001201 ' \
+              '46.37753204400003426, 16.2756262620000598 46.37316538500006402, 16.23490523300009158 ' \
+              '46.4933389280001137, 16.36947066200013978 46.54057118800012915))) '
+        geom = QgsGeometry.fromWkt(wkt)
+        f = QgsFeature()
+        f.setGeometry(geom)
+
+        image = QImage(200, 200, QImage.Format_RGB32)
+
+        painter = QPainter()
+        ms = QgsMapSettings()
+        crs = QgsCoordinateReferenceSystem.fromProj4('+proj=ortho +lat_0=36.5 +lon_0=-118.8 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m +no_defs')
+        self.assertTrue(crs.isValid())
+        ms.setDestinationCrs(crs)
+        ms.setExtent(QgsRectangle(1374999.8, 3912610.7, 4724462.5, 6505499.6))
+        ms.setOutputSize(image.size())
+        context = QgsRenderContext.fromMapSettings(ms)
+        context.setPainter(painter)
+        context.setScaleFactor(96 / 25.4)  # 96 DPI
+        ct = QgsCoordinateTransform(QgsCoordinateReferenceSystem('epsg:4326'),
+                                    crs, QgsProject.instance())
+        self.assertTrue(ct.isValid())
+        context.setCoordinateTransform(ct)
+        context.setExtent(ct.transformBoundingBox(ms.extent(), QgsCoordinateTransform.ReverseTransform))
+
+        fill_symbol = QgsFillSymbol.createSimple({'color': '#ffffff', 'outline_color': '#ffffff', 'outline_width': '10'})
+
+        painter.begin(image)
+        try:
+            image.fill(QColor(0, 0, 0))
+            fill_symbol.startRender(context)
+            fill_symbol.renderFeature(f, context)
+            fill_symbol.stopRender(context)
+        finally:
+            painter.end()
+
+        assert self.imageCheck('Reprojection errors polygon', 'reprojection_errors_polygon', image)
+
+        #also test linestring
+        linestring = QgsGeometry(geom.constGet().boundary())
+        f.setGeometry(linestring)
+        line_symbol = QgsLineSymbol.createSimple({'color': '#ffffff', 'outline_width': '10'})
+
+        image = QImage(200, 200, QImage.Format_RGB32)
+        painter.begin(image)
+        try:
+            image.fill(QColor(0, 0, 0))
+            line_symbol.startRender(context)
+            line_symbol.renderFeature(f, context)
+            line_symbol.stopRender(context)
+        finally:
+            painter.end()
+
+        assert self.imageCheck('Reprojection errors linestring', 'reprojection_errors_linestring', image)
+
     def imageCheck(self, name, reference_image, image):
         self.report += "<h2>Render {}</h2>\n".format(name)
         temp_dir = QDir.tempPath() + '/'
@@ -231,15 +508,21 @@ class TestQgsMarkerSymbol(unittest.TestCase):
         # create a marker symbol with a single layer
         markerSymbol = QgsMarkerSymbol()
         markerSymbol.deleteSymbolLayer(0)
-        markerSymbol.appendSymbolLayer(QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0), strokeColor=QColor(0, 255, 0), size=10))
+        markerSymbol.appendSymbolLayer(
+            QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0),
+                                       strokeColor=QColor(0, 255, 0), size=10))
         self.assertEqual(markerSymbol.size(), 10)
         markerSymbol.setSize(20)
         self.assertEqual(markerSymbol.size(), 20)
         self.assertEqual(markerSymbol.symbolLayer(0).size(), 20)
 
         # add additional layers
-        markerSymbol.appendSymbolLayer(QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0), strokeColor=QColor(0, 255, 0), size=10))
-        markerSymbol.appendSymbolLayer(QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0), strokeColor=QColor(0, 255, 0), size=30))
+        markerSymbol.appendSymbolLayer(
+            QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0),
+                                       strokeColor=QColor(0, 255, 0), size=10))
+        markerSymbol.appendSymbolLayer(
+            QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0),
+                                       strokeColor=QColor(0, 255, 0), size=30))
         self.assertEqual(markerSymbol.size(), 30)
         markerSymbol.setSize(3)
         self.assertEqual(markerSymbol.size(), 3)
@@ -254,15 +537,21 @@ class TestQgsMarkerSymbol(unittest.TestCase):
         # create a marker symbol with a single layer
         markerSymbol = QgsMarkerSymbol()
         markerSymbol.deleteSymbolLayer(0)
-        markerSymbol.appendSymbolLayer(QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0), strokeColor=QColor(0, 255, 0), size=10, angle=90))
+        markerSymbol.appendSymbolLayer(
+            QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0),
+                                       strokeColor=QColor(0, 255, 0), size=10, angle=90))
         self.assertEqual(markerSymbol.angle(), 90)
         markerSymbol.setAngle(100)
         self.assertEqual(markerSymbol.angle(), 100)
         self.assertEqual(markerSymbol.symbolLayer(0).angle(), 100)
 
         # add additional layers
-        markerSymbol.appendSymbolLayer(QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0), strokeColor=QColor(0, 255, 0), size=10, angle=130))
-        markerSymbol.appendSymbolLayer(QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0), strokeColor=QColor(0, 255, 0), size=10, angle=150))
+        markerSymbol.appendSymbolLayer(
+            QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0),
+                                       strokeColor=QColor(0, 255, 0), size=10, angle=130))
+        markerSymbol.appendSymbolLayer(
+            QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0),
+                                       strokeColor=QColor(0, 255, 0), size=10, angle=150))
         # should take first layer's angle
         self.assertEqual(markerSymbol.angle(), 100)
         markerSymbol.setAngle(10)
@@ -278,15 +567,21 @@ class TestQgsMarkerSymbol(unittest.TestCase):
         # create a marker symbol with a single layer
         markerSymbol = QgsMarkerSymbol()
         markerSymbol.deleteSymbolLayer(0)
-        markerSymbol.appendSymbolLayer(QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0), strokeColor=QColor(0, 255, 0), size=10))
+        markerSymbol.appendSymbolLayer(
+            QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0),
+                                       strokeColor=QColor(0, 255, 0), size=10))
         self.assertEqual(markerSymbol.sizeUnit(), QgsUnitTypes.RenderMillimeters)
         markerSymbol.setSizeUnit(QgsUnitTypes.RenderMapUnits)
         self.assertEqual(markerSymbol.sizeUnit(), QgsUnitTypes.RenderMapUnits)
         self.assertEqual(markerSymbol.symbolLayer(0).sizeUnit(), QgsUnitTypes.RenderMapUnits)
 
         # add additional layers
-        markerSymbol.appendSymbolLayer(QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0), strokeColor=QColor(0, 255, 0), size=10))
-        markerSymbol.appendSymbolLayer(QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0), strokeColor=QColor(0, 255, 0), size=30))
+        markerSymbol.appendSymbolLayer(
+            QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0),
+                                       strokeColor=QColor(0, 255, 0), size=10))
+        markerSymbol.appendSymbolLayer(
+            QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0),
+                                       strokeColor=QColor(0, 255, 0), size=30))
         # should now be mixed size units
         self.assertEqual(markerSymbol.sizeUnit(), QgsUnitTypes.RenderUnknownUnit)
         markerSymbol.setSizeUnit(QgsUnitTypes.RenderPixels)
@@ -302,7 +597,9 @@ class TestQgsMarkerSymbol(unittest.TestCase):
         # create a marker symbol with a single layer
         markerSymbol = QgsMarkerSymbol()
         markerSymbol.deleteSymbolLayer(0)
-        markerSymbol.appendSymbolLayer(QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0), strokeColor=QColor(0, 255, 0), size=10))
+        markerSymbol.appendSymbolLayer(
+            QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0),
+                                       strokeColor=QColor(0, 255, 0), size=10))
         markerSymbol.symbolLayer(0).setSizeMapUnitScale(QgsMapUnitScale(10000, 20000))
         self.assertEqual(markerSymbol.sizeMapUnitScale(), QgsMapUnitScale(10000, 20000))
         markerSymbol.setSizeMapUnitScale(QgsMapUnitScale(1000, 2000))
@@ -310,8 +607,12 @@ class TestQgsMarkerSymbol(unittest.TestCase):
         self.assertEqual(markerSymbol.symbolLayer(0).sizeMapUnitScale(), QgsMapUnitScale(1000, 2000))
 
         # add additional layers
-        markerSymbol.appendSymbolLayer(QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0), strokeColor=QColor(0, 255, 0), size=10))
-        markerSymbol.appendSymbolLayer(QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0), strokeColor=QColor(0, 255, 0), size=30))
+        markerSymbol.appendSymbolLayer(
+            QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0),
+                                       strokeColor=QColor(0, 255, 0), size=10))
+        markerSymbol.appendSymbolLayer(
+            QgsSimpleMarkerSymbolLayer(QgsSimpleMarkerSymbolLayerBase.Star, color=QColor(255, 0, 0),
+                                       strokeColor=QColor(0, 255, 0), size=30))
         # should take first layer's map unit scale
         self.assertEqual(markerSymbol.sizeMapUnitScale(), QgsMapUnitScale(1000, 2000))
         markerSymbol.setSizeMapUnitScale(QgsMapUnitScale(3000, 4000))
diff --git a/tests/src/python/test_qgssymbolbutton.py b/tests/src/python/test_qgssymbolbutton.py
index 66d0288..ce37425 100644
--- a/tests/src/python/test_qgssymbolbutton.py
+++ b/tests/src/python/test_qgssymbolbutton.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '23/07/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgssymbolexpressionvariables.py b/tests/src/python/test_qgssymbolexpressionvariables.py
index 72c4243..78bb8b9 100644
--- a/tests/src/python/test_qgssymbolexpressionvariables.py
+++ b/tests/src/python/test_qgssymbolexpressionvariables.py
@@ -21,7 +21,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = 'January 2016'
 __copyright__ = '(C) 2016, Matthiasd Kuhn'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgssymbollayer.py b/tests/src/python/test_qgssymbollayer.py
index 925b285..2128629 100644
--- a/tests/src/python/test_qgssymbollayer.py
+++ b/tests/src/python/test_qgssymbollayer.py
@@ -21,7 +21,7 @@ __author__ = 'Massimo Endrighi'
 __date__ = 'October 2012'
 __copyright__ = '(C) 2012, Massimo Endrighi'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgssymbollayer_createsld.py b/tests/src/python/test_qgssymbollayer_createsld.py
index 901d3c2..1c79d22 100644
--- a/tests/src/python/test_qgssymbollayer_createsld.py
+++ b/tests/src/python/test_qgssymbollayer_createsld.py
@@ -19,7 +19,7 @@ __author__ = 'Andrea Aime'
 __date__ = 'July 2016'
 __copyright__ = '(C) 2012, Andrea Aime'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgssymbollayer_readsld.py b/tests/src/python/test_qgssymbollayer_readsld.py
index da27e71..0780ebc 100644
--- a/tests/src/python/test_qgssymbollayer_readsld.py
+++ b/tests/src/python/test_qgssymbollayer_readsld.py
@@ -21,7 +21,7 @@ __author__ = 'Jorge Gustavo Rocha'
 __date__ = 'January 2017'
 __copyright__ = '(C) 2017, Jorge Gustavo Rocha'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgssymbollayerutils.py b/tests/src/python/test_qgssymbollayerutils.py
index 257d5a8..12b79a1 100644
--- a/tests/src/python/test_qgssymbollayerutils.py
+++ b/tests/src/python/test_qgssymbollayerutils.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2016-09'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgstaskmanager.py b/tests/src/python/test_qgstaskmanager.py
index 4df87d4..9c5e90b 100644
--- a/tests/src/python/test_qgstaskmanager.py
+++ b/tests/src/python/test_qgstaskmanager.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '26/04/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgstextformatwidget.py b/tests/src/python/test_qgstextformatwidget.py
index cda18ce..67a04ca 100644
--- a/tests/src/python/test_qgstextformatwidget.py
+++ b/tests/src/python/test_qgstextformatwidget.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2016-09'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgstextrenderer.py b/tests/src/python/test_qgstextrenderer.py
index ebe95ef..6d7effe 100644
--- a/tests/src/python/test_qgstextrenderer.py
+++ b/tests/src/python/test_qgstextrenderer.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2016-09'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import os
diff --git a/tests/src/python/test_qgstreewidgetitem.py b/tests/src/python/test_qgstreewidgetitem.py
index 814fce3..d81d9c1 100644
--- a/tests/src/python/test_qgstreewidgetitem.py
+++ b/tests/src/python/test_qgstreewidgetitem.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '12/07/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA switch sip api
 
diff --git a/tests/src/python/test_qgsunittypes.py b/tests/src/python/test_qgsunittypes.py
index 5797089..6a5e7ee 100644
--- a/tests/src/python/test_qgsunittypes.py
+++ b/tests/src/python/test_qgsunittypes.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '03.02.2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsvectorcolorramp.py b/tests/src/python/test_qgsvectorcolorramp.py
index 1633200..ab1bab3 100644
--- a/tests/src/python/test_qgsvectorcolorramp.py
+++ b/tests/src/python/test_qgsvectorcolorramp.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '2015-08'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsvectorfilewriter.py b/tests/src/python/test_qgsvectorfilewriter.py
index 5133099..270cac8 100644
--- a/tests/src/python/test_qgsvectorfilewriter.py
+++ b/tests/src/python/test_qgsvectorfilewriter.py
@@ -13,7 +13,7 @@ __author__ = 'Tim Sutton'
 __date__ = '20/08/2012'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsvectorfilewritertask.py b/tests/src/python/test_qgsvectorfilewritertask.py
index 738dc2d..77d5e8c 100644
--- a/tests/src/python/test_qgsvectorfilewritertask.py
+++ b/tests/src/python/test_qgsvectorfilewritertask.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '12/02/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 import os
diff --git a/tests/src/python/test_qgsvectorlayer.py b/tests/src/python/test_qgsvectorlayer.py
index 4369930..6955ba8 100755
--- a/tests/src/python/test_qgsvectorlayer.py
+++ b/tests/src/python/test_qgsvectorlayer.py
@@ -10,7 +10,7 @@ __author__ = 'Tim Sutton'
 __date__ = '20/08/2012'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsvectorlayercache.py b/tests/src/python/test_qgsvectorlayercache.py
index df61a10..f0108d6 100644
--- a/tests/src/python/test_qgsvectorlayercache.py
+++ b/tests/src/python/test_qgsvectorlayercache.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '08/06/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsvectorlayereditbuffer.py b/tests/src/python/test_qgsvectorlayereditbuffer.py
index f4a74cd..8bf4589 100644
--- a/tests/src/python/test_qgsvectorlayereditbuffer.py
+++ b/tests/src/python/test_qgsvectorlayereditbuffer.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '15/07/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsvectorlayertools.py b/tests/src/python/test_qgsvectorlayertools.py
index 700e4b9..1fd486c 100644
--- a/tests/src/python/test_qgsvectorlayertools.py
+++ b/tests/src/python/test_qgsvectorlayertools.py
@@ -11,7 +11,7 @@ __author__ = 'Denis Rouzaud'
 __date__ = '2016-11-07'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 from qgis.core import QgsFeatureRequest, QgsVectorLayer, QgsProject, QgsVectorLayerTools
 from qgis.testing import start_app, unittest
diff --git a/tests/src/python/test_qgsvectorlayerutils.py b/tests/src/python/test_qgsvectorlayerutils.py
index 9fad2fc..76cd2cb 100644
--- a/tests/src/python/test_qgsvectorlayerutils.py
+++ b/tests/src/python/test_qgsvectorlayerutils.py
@@ -10,7 +10,7 @@ __author__ = 'Nyall Dawson'
 __date__ = '25/10/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsvirtuallayerdefinition.py b/tests/src/python/test_qgsvirtuallayerdefinition.py
index c4cb972..7cb169c 100644
--- a/tests/src/python/test_qgsvirtuallayerdefinition.py
+++ b/tests/src/python/test_qgsvirtuallayerdefinition.py
@@ -10,7 +10,7 @@ __author__ = 'Hugo Mercier'
 __date__ = '10/12/2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_qgsxmlutils.py b/tests/src/python/test_qgsxmlutils.py
index e8ee6fc..0e49489 100644
--- a/tests/src/python/test_qgsxmlutils.py
+++ b/tests/src/python/test_qgsxmlutils.py
@@ -10,7 +10,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '18/11/2016'
 __copyright__ = 'Copyright 2016, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA switch sip api
 
diff --git a/tests/src/python/test_qgsziputils.py b/tests/src/python/test_qgsziputils.py
index 72a45e3..1ea6f14 100644
--- a/tests/src/python/test_qgsziputils.py
+++ b/tests/src/python/test_qgsziputils.py
@@ -10,7 +10,7 @@ __author__ = 'Paul Blottiere'
 __date__ = '06/7/2017'
 __copyright__ = 'Copyright 2017, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 from qgis.core import QgsZipUtils
diff --git a/tests/src/python/test_qgszonalstatistics.py b/tests/src/python/test_qgszonalstatistics.py
index f94df67..2fa68ee 100644
--- a/tests/src/python/test_qgszonalstatistics.py
+++ b/tests/src/python/test_qgszonalstatistics.py
@@ -10,7 +10,7 @@ __author__ = 'Alexander Bruy'
 __date__ = '15/07/2013'
 __copyright__ = 'Copyright 2013, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/test_syntactic_sugar.py b/tests/src/python/test_syntactic_sugar.py
index 585e1a3..9d0f186 100644
--- a/tests/src/python/test_syntactic_sugar.py
+++ b/tests/src/python/test_syntactic_sugar.py
@@ -10,7 +10,7 @@ __author__ = 'Matthias Kuhn'
 __date__ = '12.8.2015'
 __copyright__ = 'Copyright 2015, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/src/python/utilities.py b/tests/src/python/utilities.py
index 1c6f33b..0b9b865 100644
--- a/tests/src/python/utilities.py
+++ b/tests/src/python/utilities.py
@@ -9,7 +9,7 @@ __author__ = 'Tim Sutton (tim at linfiniti.com)'
 __date__ = '20/01/2011'
 __copyright__ = 'Copyright 2012, The QGIS Project'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import qgis  # NOQA
 
diff --git a/tests/testdata/control_images/annotations/expected_annotation_fillstyle/expected_annotation_fillstyle_mask.png b/tests/testdata/control_images/annotations/expected_annotation_fillstyle/expected_annotation_fillstyle_mask.png
new file mode 100644
index 0000000..84cad3b
Binary files /dev/null and b/tests/testdata/control_images/annotations/expected_annotation_fillstyle/expected_annotation_fillstyle_mask.png differ
diff --git a/tests/testdata/control_images/annotations/expected_annotation_margins/expected_annotation_margins_mask.png b/tests/testdata/control_images/annotations/expected_annotation_margins/expected_annotation_margins_mask.png
new file mode 100644
index 0000000..74cc51b
Binary files /dev/null and b/tests/testdata/control_images/annotations/expected_annotation_margins/expected_annotation_margins_mask.png differ
diff --git a/tests/testdata/control_images/annotations/expected_html_annotation/expected_html_annotation_mask.png b/tests/testdata/control_images/annotations/expected_html_annotation/expected_html_annotation_mask.png
new file mode 100644
index 0000000..273d36c
Binary files /dev/null and b/tests/testdata/control_images/annotations/expected_html_annotation/expected_html_annotation_mask.png differ
diff --git a/tests/testdata/control_images/annotations/expected_html_feature/travis/expected_html_feature_mask.png b/tests/testdata/control_images/annotations/expected_html_feature/travis/expected_html_feature_mask.png
new file mode 100644
index 0000000..02abaaf
Binary files /dev/null and b/tests/testdata/control_images/annotations/expected_html_feature/travis/expected_html_feature_mask.png differ
diff --git a/tests/testdata/control_images/annotations/expected_html_nofeature/travis/expected_html_nofeature_mask.png b/tests/testdata/control_images/annotations/expected_html_nofeature/travis/expected_html_nofeature_mask.png
new file mode 100644
index 0000000..36621bb
Binary files /dev/null and b/tests/testdata/control_images/annotations/expected_html_nofeature/travis/expected_html_nofeature_mask.png differ
diff --git a/tests/testdata/control_images/annotations/expected_relative_style/expected_relative_style_mask.png b/tests/testdata/control_images/annotations/expected_relative_style/expected_relative_style_mask.png
new file mode 100644
index 0000000..74cc51b
Binary files /dev/null and b/tests/testdata/control_images/annotations/expected_relative_style/expected_relative_style_mask.png differ
diff --git a/tests/testdata/control_images/annotations/expected_svg_annotation/expected_svg_annotation_mask.png b/tests/testdata/control_images/annotations/expected_svg_annotation/expected_svg_annotation_mask.png
index 535ec0e..0c116a9 100644
Binary files a/tests/testdata/control_images/annotations/expected_svg_annotation/expected_svg_annotation_mask.png and b/tests/testdata/control_images/annotations/expected_svg_annotation/expected_svg_annotation_mask.png differ
diff --git a/tests/testdata/control_images/annotations/expected_text_annotation/default/expected_text_annotation_mask.png b/tests/testdata/control_images/annotations/expected_text_annotation/default/expected_text_annotation_mask.png
index d6a2a50..224e295 100644
Binary files a/tests/testdata/control_images/annotations/expected_text_annotation/default/expected_text_annotation_mask.png and b/tests/testdata/control_images/annotations/expected_text_annotation/default/expected_text_annotation_mask.png differ
diff --git a/tests/testdata/control_images/composer_map/expected_layoutmap_rasterized/expected_layoutmap_rasterized_mask.png b/tests/testdata/control_images/composer_map/expected_layoutmap_rasterized/expected_layoutmap_rasterized_mask.png
index 3a95170..20e2e4c 100644
Binary files a/tests/testdata/control_images/composer_map/expected_layoutmap_rasterized/expected_layoutmap_rasterized_mask.png and b/tests/testdata/control_images/composer_map/expected_layoutmap_rasterized/expected_layoutmap_rasterized_mask.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerAtlas_0/expected_importComposerAtlas_0.png b/tests/testdata/control_images/compositionconverter/expected_importComposerAtlas_0/expected_importComposerAtlas_0.png
index 8a02256..7df0fd1 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerAtlas_0/expected_importComposerAtlas_0.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerAtlas_0/expected_importComposerAtlas_0.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerAtlas_0/expected_importComposerAtlas_0_mask.png b/tests/testdata/control_images/compositionconverter/expected_importComposerAtlas_0/expected_importComposerAtlas_0_mask.png
new file mode 100644
index 0000000..b3eead4
Binary files /dev/null and b/tests/testdata/control_images/compositionconverter/expected_importComposerAtlas_0/expected_importComposerAtlas_0_mask.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateArrow_0/expected_importComposerTemplateArrow_0.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateArrow_0/expected_importComposerTemplateArrow_0.png
index c47ebe9..0010541 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateArrow_0/expected_importComposerTemplateArrow_0.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateArrow_0/expected_importComposerTemplateArrow_0.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateAttributeTable_0/expected_importComposerTemplateAttributeTable_0.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateAttributeTable_0/expected_importComposerTemplateAttributeTable_0.png
index 6ac0b77..e2aaec4 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateAttributeTable_0/expected_importComposerTemplateAttributeTable_0.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateAttributeTable_0/expected_importComposerTemplateAttributeTable_0.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateAttributeTable_0/expected_importComposerTemplateAttributeTable_0_mask.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateAttributeTable_0/expected_importComposerTemplateAttributeTable_0_mask.png
new file mode 100644
index 0000000..18e86bd
Binary files /dev/null and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateAttributeTable_0/expected_importComposerTemplateAttributeTable_0_mask.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateHtml_0/expected_importComposerTemplateHtml_0.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateHtml_0/expected_importComposerTemplateHtml_0.png
index 99c4c6f..ede440b 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateHtml_0/expected_importComposerTemplateHtml_0.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateHtml_0/expected_importComposerTemplateHtml_0.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateHtml_0/expected_importComposerTemplateHtml_0_mask.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateHtml_0/expected_importComposerTemplateHtml_0_mask.png
new file mode 100644
index 0000000..d660b99
Binary files /dev/null and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateHtml_0/expected_importComposerTemplateHtml_0_mask.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateLegend_0/expected_importComposerTemplateLegend_0.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateLegend_0/expected_importComposerTemplateLegend_0.png
index 7f7977f..80613e3 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateLegend_0/expected_importComposerTemplateLegend_0.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateLegend_0/expected_importComposerTemplateLegend_0.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateLegend_0/expected_importComposerTemplateLegend_0_mask.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateLegend_0/expected_importComposerTemplateLegend_0_mask.png
new file mode 100644
index 0000000..4f294e5
Binary files /dev/null and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateLegend_0/expected_importComposerTemplateLegend_0_mask.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateMap_0/expected_importComposerTemplateMap_0.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateMap_0/expected_importComposerTemplateMap_0.png
index 7e2c110..88a47e6 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateMap_0/expected_importComposerTemplateMap_0.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateMap_0/expected_importComposerTemplateMap_0.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateMap_0/expected_importComposerTemplateMap_0_mask.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateMap_0/expected_importComposerTemplateMap_0_mask.png
index 44fa122..16697e8 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateMap_0/expected_importComposerTemplateMap_0_mask.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateMap_0/expected_importComposerTemplateMap_0_mask.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplatePicture_0/expected_importComposerTemplatePicture_0.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplatePicture_0/expected_importComposerTemplatePicture_0.png
index 558be23..b7c7737 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplatePicture_0/expected_importComposerTemplatePicture_0.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplatePicture_0/expected_importComposerTemplatePicture_0.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplatePolygon_0/expected_importComposerTemplatePolygon_0.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplatePolygon_0/expected_importComposerTemplatePolygon_0.png
index 9f04d97..b5e2989 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplatePolygon_0/expected_importComposerTemplatePolygon_0.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplatePolygon_0/expected_importComposerTemplatePolygon_0.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplatePolyline_0/expected_importComposerTemplatePolyline_0.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplatePolyline_0/expected_importComposerTemplatePolyline_0.png
index d892401..b07c06a 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplatePolyline_0/expected_importComposerTemplatePolyline_0.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplatePolyline_0/expected_importComposerTemplatePolyline_0.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateScaleBar_0/expected_importComposerTemplateScaleBar_0.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateScaleBar_0/expected_importComposerTemplateScaleBar_0.png
index 8f3c7c0..2bbe10c 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateScaleBar_0/expected_importComposerTemplateScaleBar_0.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateScaleBar_0/expected_importComposerTemplateScaleBar_0.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateShape_0/expected_importComposerTemplateShape_0.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateShape_0/expected_importComposerTemplateShape_0.png
index dc7225e..fea3f9f 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateShape_0/expected_importComposerTemplateShape_0.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplateShape_0/expected_importComposerTemplateShape_0.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_0/expected_importComposerTemplate_0.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_0/expected_importComposerTemplate_0.png
index d830606..5ee8d0b 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_0/expected_importComposerTemplate_0.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_0/expected_importComposerTemplate_0.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_0/expected_importComposerTemplate_0_mask.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_0/expected_importComposerTemplate_0_mask.png
index a214b3f..bc5feed 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_0/expected_importComposerTemplate_0_mask.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_0/expected_importComposerTemplate_0_mask.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_1/expected_importComposerTemplate_1.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_1/expected_importComposerTemplate_1.png
index cdb9a41..a1c2cdb 100644
Binary files a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_1/expected_importComposerTemplate_1.png and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_1/expected_importComposerTemplate_1.png differ
diff --git a/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_1/expected_importComposerTemplate_1_mask.png b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_1/expected_importComposerTemplate_1_mask.png
new file mode 100644
index 0000000..c1b459a
Binary files /dev/null and b/tests/testdata/control_images/compositionconverter/expected_importComposerTemplate_1/expected_importComposerTemplate_1_mask.png differ
diff --git a/tests/testdata/control_images/effects/expected_painteffect_blur/expected_painteffect_blur_mask.png b/tests/testdata/control_images/effects/expected_painteffect_blur/expected_painteffect_blur_mask.png
index e186b66..56d7d69 100644
Binary files a/tests/testdata/control_images/effects/expected_painteffect_blur/expected_painteffect_blur_mask.png and b/tests/testdata/control_images/effects/expected_painteffect_blur/expected_painteffect_blur_mask.png differ
diff --git a/tests/testdata/control_images/effects/expected_painteffect_dropshadow/expected_painteffect_dropshadow_mask.png b/tests/testdata/control_images/effects/expected_painteffect_dropshadow/expected_painteffect_dropshadow_mask.png
index 34cf7e3..49549c1 100644
Binary files a/tests/testdata/control_images/effects/expected_painteffect_dropshadow/expected_painteffect_dropshadow_mask.png and b/tests/testdata/control_images/effects/expected_painteffect_dropshadow/expected_painteffect_dropshadow_mask.png differ
diff --git a/tests/testdata/control_images/effects/expected_painteffect_stack/expected_painteffect_stack_mask.png b/tests/testdata/control_images/effects/expected_painteffect_stack/expected_painteffect_stack_mask.png
index a27414f..575dbfe 100644
Binary files a/tests/testdata/control_images/effects/expected_painteffect_stack/expected_painteffect_stack_mask.png and b/tests/testdata/control_images/effects/expected_painteffect_stack/expected_painteffect_stack_mask.png differ
diff --git a/tests/testdata/control_images/expected_svgcache_changed_after/expected_svgcache_changed_after_mask.png b/tests/testdata/control_images/expected_svgcache_changed_after/expected_svgcache_changed_after_mask.png
index 3cf2964..615b932 100644
Binary files a/tests/testdata/control_images/expected_svgcache_changed_after/expected_svgcache_changed_after_mask.png and b/tests/testdata/control_images/expected_svgcache_changed_after/expected_svgcache_changed_after_mask.png differ
diff --git a/tests/testdata/control_images/expected_svgcache_changed_before/expected_svgcache_changed_before_mask.png b/tests/testdata/control_images/expected_svgcache_changed_before/expected_svgcache_changed_before_mask.png
new file mode 100644
index 0000000..dc9485b
Binary files /dev/null and b/tests/testdata/control_images/expected_svgcache_changed_before/expected_svgcache_changed_before_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetMap_Annotations/WMS_GetMap_Annotations_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetMap_Annotations/WMS_GetMap_Annotations_mask.png
index fa5e0f6..fef0ab7 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetMap_Annotations/WMS_GetMap_Annotations_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetMap_Annotations/WMS_GetMap_Annotations_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetMap_Mode_1bit/WMS_GetMap_Mode_1bit_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetMap_Mode_1bit/WMS_GetMap_Mode_1bit_mask.png
index 8e7c875..6e41741 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetMap_Mode_1bit/WMS_GetMap_Mode_1bit_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetMap_Mode_1bit/WMS_GetMap_Mode_1bit_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetMap_Mode_8bit/WMS_GetMap_Mode_8bit_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetMap_Mode_8bit/WMS_GetMap_Mode_8bit_mask.png
index 017aa9b..c3457b7 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetMap_Mode_8bit/WMS_GetMap_Mode_8bit_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetMap_Mode_8bit/WMS_GetMap_Mode_8bit_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetMap_StyleCustom/WMS_GetMap_StyleCustom_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetMap_StyleCustom/WMS_GetMap_StyleCustom_mask.png
index fd34d91..0874eb2 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetMap_StyleCustom/WMS_GetMap_StyleCustom_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetMap_StyleCustom/WMS_GetMap_StyleCustom_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Basic/WMS_GetPrint_Basic_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Basic/WMS_GetPrint_Basic_mask.png
index 8db85df..d11a89c 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Basic/WMS_GetPrint_Basic_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Basic/WMS_GetPrint_Basic_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Grid/WMS_GetPrint_Grid_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Grid/WMS_GetPrint_Grid_mask.png
index 8b6b210..478d07a 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Grid/WMS_GetPrint_Grid_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Grid/WMS_GetPrint_Grid_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Highlight/WMS_GetPrint_Highlight_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Highlight/WMS_GetPrint_Highlight_mask.png
index b54f8ad..e783f2d 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Highlight/WMS_GetPrint_Highlight_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Highlight/WMS_GetPrint_Highlight_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetPrint_LabelUpdated/WMS_GetPrint_LabelUpdated_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetPrint_LabelUpdated/WMS_GetPrint_LabelUpdated_mask.png
index 7f30392..5d7fa6e 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetPrint_LabelUpdated/WMS_GetPrint_LabelUpdated_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetPrint_LabelUpdated/WMS_GetPrint_LabelUpdated_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Legend/WMS_GetPrint_Legend_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Legend/WMS_GetPrint_Legend_mask.png
index bb330c4..6323f6b 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Legend/WMS_GetPrint_Legend_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Legend/WMS_GetPrint_Legend_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Opacity/WMS_GetPrint_Opacity_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Opacity/WMS_GetPrint_Opacity_mask.png
index 051f2bb..59731d4 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Opacity/WMS_GetPrint_Opacity_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Opacity/WMS_GetPrint_Opacity_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Rotation/WMS_GetPrint_Rotation_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Rotation/WMS_GetPrint_Rotation_mask.png
index 9091721..478d07a 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Rotation/WMS_GetPrint_Rotation_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Rotation/WMS_GetPrint_Rotation_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Scale/WMS_GetPrint_Scale_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Scale/WMS_GetPrint_Scale_mask.png
index 0ddb248..d11a89c 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Scale/WMS_GetPrint_Scale_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Scale/WMS_GetPrint_Scale_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Selection/WMS_GetPrint_Selection_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Selection/WMS_GetPrint_Selection_mask.png
index e00f0bf..478d07a 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetPrint_Selection/WMS_GetPrint_Selection_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetPrint_Selection/WMS_GetPrint_Selection_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetPrint_StyleCustom/WMS_GetPrint_StyleCustom_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetPrint_StyleCustom/WMS_GetPrint_StyleCustom_mask.png
index ee9972c..5d81b28 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetPrint_StyleCustom/WMS_GetPrint_StyleCustom_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetPrint_StyleCustom/WMS_GetPrint_StyleCustom_mask.png differ
diff --git a/tests/testdata/control_images/qgis_server/WMS_GetPrint_StyleDefault/WMS_GetPrint_StyleDefault_mask.png b/tests/testdata/control_images/qgis_server/WMS_GetPrint_StyleDefault/WMS_GetPrint_StyleDefault_mask.png
index 93ed78b..77c3c80 100644
Binary files a/tests/testdata/control_images/qgis_server/WMS_GetPrint_StyleDefault/WMS_GetPrint_StyleDefault_mask.png and b/tests/testdata/control_images/qgis_server/WMS_GetPrint_StyleDefault/WMS_GetPrint_StyleDefault_mask.png differ
diff --git a/tests/testdata/control_images/symbol/expected_reprojection_errors_linestring/expected_reprojection_errors_linestring.png b/tests/testdata/control_images/symbol/expected_reprojection_errors_linestring/expected_reprojection_errors_linestring.png
new file mode 100644
index 0000000..58ef3d6
Binary files /dev/null and b/tests/testdata/control_images/symbol/expected_reprojection_errors_linestring/expected_reprojection_errors_linestring.png differ
diff --git a/tests/testdata/control_images/symbol/expected_reprojection_errors_polygon/expected_reprojection_errors_polygon.png b/tests/testdata/control_images/symbol/expected_reprojection_errors_polygon/expected_reprojection_errors_polygon.png
new file mode 100644
index 0000000..58ef3d6
Binary files /dev/null and b/tests/testdata/control_images/symbol/expected_reprojection_errors_polygon/expected_reprojection_errors_polygon.png differ
diff --git a/tests/testdata/control_images/symbol_pointpatternfill/expected_datadefined_subsymbol/expected_datadefined_subsymbol_mask.png b/tests/testdata/control_images/symbol_pointpatternfill/expected_datadefined_subsymbol/expected_datadefined_subsymbol_mask.png
index 5895e2a..10c83d0 100644
Binary files a/tests/testdata/control_images/symbol_pointpatternfill/expected_datadefined_subsymbol/expected_datadefined_subsymbol_mask.png and b/tests/testdata/control_images/symbol_pointpatternfill/expected_datadefined_subsymbol/expected_datadefined_subsymbol_mask.png differ
diff --git a/tests/testdata/qgis_server/wfs_getFeature_1_0_0_featureid_0_1_0_0.txt b/tests/testdata/qgis_server/wfs_getFeature_1_0_0_featureid_0_1_0_0.txt
new file mode 100644
index 0000000..57aba9b
--- /dev/null
+++ b/tests/testdata/qgis_server/wfs_getFeature_1_0_0_featureid_0_1_0_0.txt
@@ -0,0 +1,26 @@
+Content-Type: text/xml; subtype=gml/2.1.2; charset=utf-8
+
+<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:ows="http://www.opengis.net/ows" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:qgs="http://www.qgis.org/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/wfs.xsd http://www.qgis.org/gml ?MAP=/home/ale/dev/QGIS/tests/testdata/qgis_server/test_project_ [...]
+<gml:boundedBy>
+ <gml:Box srsName="EPSG:4326">
+  <gml:coordinates cs="," ts=" ">8.20345931,44.90139484 8.20354699,44.90148253</gml:coordinates>
+ </gml:Box>
+</gml:boundedBy>
+<gml:featureMember>
+ <qgs:testlayer fid="testlayer.0">
+  <gml:boundedBy>
+   <gml:Box srsName="EPSG:4326">
+    <gml:coordinates cs="," ts=" ">8.20349634,44.90148253 8.20349634,44.90148253</gml:coordinates>
+   </gml:Box>
+  </gml:boundedBy>
+  <qgs:geometry>
+   <Point xmlns="http://www.opengis.net/gml" srsName="EPSG:4326">
+    <coordinates xmlns="http://www.opengis.net/gml" cs="," ts=" ">8.20349634,44.90148253</coordinates>
+   </Point>
+  </qgs:geometry>
+  <qgs:id>1</qgs:id>
+  <qgs:name>one</qgs:name>
+  <qgs:utf8nameè>one èé</qgs:utf8nameè>
+ </qgs:testlayer>
+</gml:featureMember>
+</wfs:FeatureCollection>
diff --git a/tests/testdata/qgis_server/wms_getfeatureinfo_geometry_filter.txt b/tests/testdata/qgis_server/wms_getfeatureinfo_geometry_filter.txt
index 1843632..669f6a0 100644
--- a/tests/testdata/qgis_server/wms_getfeatureinfo_geometry_filter.txt
+++ b/tests/testdata/qgis_server/wms_getfeatureinfo_geometry_filter.txt
@@ -7,7 +7,7 @@ Content-Type: text/xml; charset=utf-8
    <Attribute name="id" value="2"/>
    <Attribute name="name" value="two"/>
    <Attribute name="utf8nameè" value="two àò"/>
-   <BoundingBox CRS="EPSG:3857" minx="913214.6741" maxx="913214.6741" miny="5606017.8743" maxy="5606017.8743"/>
+   <BoundingBox CRS="EPSG:4326" minx="8.2035" maxx="8.2035" miny="44.9014" maxy="44.9014"/>
   </Feature>
  </Layer>
 </GetFeatureInfoResponse>
diff --git a/tests/testdata/qgis_server/wms_getfeatureinfo_geometry_filter.txt b/tests/testdata/qgis_server/wms_getfeatureinfo_geometry_filter_3857.txt
similarity index 100%
copy from tests/testdata/qgis_server/wms_getfeatureinfo_geometry_filter.txt
copy to tests/testdata/qgis_server/wms_getfeatureinfo_geometry_filter_3857.txt
diff --git a/tests/testdata/test_plugin_path/PluginPathTest/__init__.py b/tests/testdata/test_plugin_path/PluginPathTest/__init__.py
index b7c4ddd..83f1bed 100644
--- a/tests/testdata/test_plugin_path/PluginPathTest/__init__.py
+++ b/tests/testdata/test_plugin_path/PluginPathTest/__init__.py
@@ -21,7 +21,7 @@ __author__ = 'Hugo Mercier'
 __date__ = 'July 2013'
 __copyright__ = '(C) 2013, Hugo Mercier'
 # This will get replaced with a git SHA1 when you do a git archive
-__revision__ = '49858ca4978819f604fa70b9ad09541dbf493ec9'
+__revision__ = 'a86bec25ebddd442bde3c6fe8ee761b22b36c26c'
 
 import os
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/qgis.git



More information about the Pkg-grass-devel mailing list