Make the "Merge shapefiles" tool correctly handle features without geometries.
backport adjust pluralization

backport https://github.com/geopython/MetaSearch/commit/83b88f67abb679501a238e4ab4ee344c3cdbf55d
translation script update:
* TRANSLATORS stats also needs lupdate run
* support numerus forms in python translation strings
fix windows build
fix script permissions
Fix slight offset in heatmap renderer
Merge pull request #1698 from jdugge/MergetoolEmptyGeometries

Make the Merge shapefiles tool correctly handle features without geometries
Remove useless statement
Don't enforce singleton behavior with Q_ASSERT

Fix #11726
Delete __init__.py
Delete utils.py
[layout] Add layout measurement and size classes

These classes are used for storing measurements for a layout
(QgsLayoutMeasurement) and sizes for a layout (QgsLayoutSize).
They support storing a measurement unit alongside a measurement
length/size. A new class QgsLayoutMeasurementConverter handles
conversion between different units, including converting to and
from pixels via a specified DPI property.
[layout] Create a page size registry for layout

Adds a new QgsPageSize class and QgsPageSizeRegistry singleton,
which stores and manages known page sizes
[layout] Add base classes for layout
[layout] Add measurement unit handling to QgsLayout
Start porting page items
Work on moving/resizing with units
[layout] Split unit classes into their own files
[layout] Ensure that moving/resizing items respects reference point
[layout] Create QgsLayoutContext class

Move layout rendering flags to QgsLayoutContext