diff --git a/UI/BigComponents/GeolocationControl.ts b/UI/BigComponents/GeolocationControl.ts
index d0e286b51..dfb50fe21 100644
--- a/UI/BigComponents/GeolocationControl.ts
+++ b/UI/BigComponents/GeolocationControl.ts
@@ -27,9 +27,9 @@ export class GeolocationControl extends VariableUiElement {
const timeDiff = (new Date().getTime() - lastClick.getTime()) / 1000
return timeDiff <= 3
})
- const geolocationState = geolocationHandler.geolocationState
+ const geolocationState = geolocationHandler?.geolocationState
super(
- geolocationState.permission.map(
+ geolocationState?.permission?.map(
(permission) => {
if (permission === "denied") {
return Svg.location_refused_svg()
diff --git a/UI/BigComponents/RightControls.ts b/UI/BigComponents/RightControls.ts
index 2ce468065..189559ba5 100644
--- a/UI/BigComponents/RightControls.ts
+++ b/UI/BigComponents/RightControls.ts
@@ -13,12 +13,10 @@ export default class RightControls extends Combine {
state: MapState & { featurePipeline: FeaturePipeline },
geolocationHandler: GeoLocationHandler
) {
- const geolocationButton = new Toggle(
+ const geolocationButton = Toggle.If(state.featureSwitchGeolocation, () =>
new MapControlButton(new GeolocationControl(geolocationHandler, state), {
dontStyle: true,
- }).SetClass("p-1"),
- undefined,
- state.featureSwitchGeolocation
+ }).SetClass("p-1")
)
const plus = new MapControlButton(Svg.plus_svg()).onClick(() => {
diff --git a/assets/contributors.json b/assets/contributors.json
index 45e2cdf15..5f7a22e9b 100644
--- a/assets/contributors.json
+++ b/assets/contributors.json
@@ -1,7 +1,7 @@
{
"contributors": [
{
- "commits": 5005,
+ "commits": 5008,
"contributor": "Pieter Vander Vennet"
},
{
diff --git a/assets/layers/parking_ticket_machine/parking_ticket_machine.json b/assets/layers/parking_ticket_machine/parking_ticket_machine.json
index c4c54426e..8f1bdd118 100644
--- a/assets/layers/parking_ticket_machine/parking_ticket_machine.json
+++ b/assets/layers/parking_ticket_machine/parking_ticket_machine.json
@@ -2,16 +2,19 @@
"id": "parking_ticket_machine",
"name": {
"en": "Parking Ticket Machines",
- "nl": "Parkeerkaartautomaten"
+ "nl": "Parkeerkaartautomaten",
+ "de": "Parkscheinautomaten"
},
"description": {
"en": "Layer with parking ticket machines to pay for parking.",
- "nl": "Laag met parkeerkaartautomaten om voor parkeren te betalen."
+ "nl": "Laag met parkeerkaartautomaten om voor parkeren te betalen.",
+ "de": "Ebene mit Parkscheinautomaten zum Bezahlen des Parkens."
},
"title": {
"render": {
"en": "Parking Ticket Machine",
- "nl": "Parkeerkaartautomaat"
+ "nl": "Parkeerkaartautomaat",
+ "de": "Parkscheinautomat"
}
},
"source": {
@@ -31,7 +34,8 @@
],
"title": {
"en": "a parking ticket machine",
- "nl": "een parkeerkaartautomaat"
+ "nl": "een parkeerkaartautomaat",
+ "de": "Ein Parkscheinautomat"
}
}
],
@@ -44,26 +48,30 @@
"id": "ref",
"question": {
"en": "What is the reference number of this parking ticket machine?",
- "nl": "Wat is het referentienummer van deze parkeerkaartautomaat?"
+ "nl": "Wat is het referentienummer van deze parkeerkaartautomaat?",
+ "de": "Wie lautet die Referenznummer dieses Parkscheinautomaten?"
},
"freeform": {
"key": "ref",
"type": "string",
"placeholder": {
"en": "Reference number",
- "nl": "Referentienummer"
+ "nl": "Referentienummer",
+ "de": "Referenznummer"
}
},
"render": {
"en": "This parking ticket machine has the reference number {ref}",
- "nl": "Deze parkeerkaartautomaat heeft het referentienummer {ref}"
+ "nl": "Deze parkeerkaartautomaat heeft het referentienummer {ref}",
+ "de": "Dieser Parkscheinautomat hat die Referenznummer {ref}"
},
"mappings": [
{
"if": "noref=yes",
"then": {
"en": "This parking ticket machine has no reference number",
- "nl": "Deze parkeerkaartautomaat heeft geen referentienummer"
+ "nl": "Deze parkeerkaartautomaat heeft geen referentienummer",
+ "de": "Dieser Parkscheinautomat hat keine Referenznummer"
}
}
]
diff --git a/assets/layers/recycling/recycling.json b/assets/layers/recycling/recycling.json
index 2643b3457..38472500e 100644
--- a/assets/layers/recycling/recycling.json
+++ b/assets/layers/recycling/recycling.json
@@ -1058,28 +1058,32 @@
"id": "access",
"question": {
"en": "Who can use this recycling facility?",
- "nl": "Wie kan deze recyclingfaciliteit gebruiken?"
+ "nl": "Wie kan deze recyclingfaciliteit gebruiken?",
+ "de": "Wer kann diese Recyclinganlage nutzen?"
},
"mappings": [
{
"if": "access=yes",
"then": {
"en": "Everyone can use this recycling facility",
- "nl": "Iedereen mag deze recyclingfaciliteit gebruiken"
+ "nl": "Iedereen mag deze recyclingfaciliteit gebruiken",
+ "de": "Alle können diese Recyclinganlage nutzen"
}
},
{
"if": "access=residents",
"then": {
"en": "Only residents can use this recycling facility",
- "nl": "Enkel bewoners kunnen deze recyclingfaciliteit gebruiken"
+ "nl": "Enkel bewoners kunnen deze recyclingfaciliteit gebruiken",
+ "de": "Nur Anwohnende können diese Recyclinganlage nutzen"
}
},
{
"if": "access=private",
"then": {
"en": "This recycling facility is only for private use",
- "nl": "Deze recyclingfaciliteit is alleen voor privégebruik"
+ "nl": "Deze recyclingfaciliteit is alleen voor privégebruik",
+ "de": "Diese Recyclinganlage ist nur für den privaten Gebrauch bestimmt"
}
}
],
@@ -1089,7 +1093,8 @@
},
"render": {
"en": "This recycling facility can be used by {access}",
- "nl": "Deze recyclingfaciliteit kan gebruikt worden door {access}"
+ "nl": "Deze recyclingfaciliteit kan gebruikt worden door {access}",
+ "de": "Diese Recyclinganlage kann von {access} genutzt werden"
}
}
],
diff --git a/assets/layers/waste_disposal/waste_disposal.json b/assets/layers/waste_disposal/waste_disposal.json
index c3009f5d8..df1c736fa 100644
--- a/assets/layers/waste_disposal/waste_disposal.json
+++ b/assets/layers/waste_disposal/waste_disposal.json
@@ -69,19 +69,22 @@
"id": "type",
"description": "Mapping allowing to change between waste_disposal and recycling",
"question": {
- "en": "What kind of waste disposal bin is this?"
+ "en": "What kind of waste disposal bin is this?",
+ "de": "Was für ein Abfalleimer ist das?"
},
"mappings": [
{
"if": "amenity=waste_disposal",
"then": {
- "en": "This is a medium to large bin for disposal of (household) waste"
+ "en": "This is a medium to large bin for disposal of (household) waste",
+ "de": "Dies ist ein mittelgroßer bis großer Behälter für die Entsorgung von (Haushalts-)Abfällen"
}
},
{
"if": "amenity=recycling",
"then": {
- "en": "This is actually a recycling container"
+ "en": "This is actually a recycling container",
+ "de": "Dies ist eigentlich ein Recycling-Container"
},
"addExtraTags": [
"recycling_type=container"
diff --git a/assets/tagRenderings/questions.json b/assets/tagRenderings/questions.json
index efbf42e57..e2dbb93e1 100644
--- a/assets/tagRenderings/questions.json
+++ b/assets/tagRenderings/questions.json
@@ -1234,7 +1234,8 @@
"question": {
"en": "what notes can you use to pay here?",
"nl": "Met welke bankbiljetten kan je hier betalen?",
- "de": "Mit welchen Banknoten kann man hier bezahlen?"
+ "de": "Mit welchen Banknoten kann man hier bezahlen?",
+ "es": "¿con qué billetes se puede pagar aquí?"
},
"multiAnswer": true,
"mappings": [
@@ -1244,7 +1245,8 @@
"then": {
"en": "5 euro notes are accepted",
"nl": "Biljetten van 5 euro worden geaccepteerd",
- "de": "5-Euro-Scheine werden angenommen"
+ "de": "5-Euro-Scheine werden angenommen",
+ "es": "Se aceptan billetes de 5 euros"
}
},
{
@@ -1253,7 +1255,8 @@
"then": {
"en": "10 euro notes are accepted",
"nl": "Biljetten van 10 euro worden geaccepteerd",
- "de": "10-Euro-Scheine werden angenommen"
+ "de": "10-Euro-Scheine werden angenommen",
+ "es": "Se aceptan billetes de 10 euros"
}
},
{
@@ -1262,7 +1265,8 @@
"then": {
"en": "20 euro notes are accepted",
"nl": "Biljetten van 20 euro worden geaccepteerd",
- "de": "20-Euro-Scheine werden angenommen"
+ "de": "20-Euro-Scheine werden angenommen",
+ "es": "Se aceptan billetes de 20 euros"
}
},
{
@@ -1271,7 +1275,8 @@
"then": {
"en": "50 euro notes are accepted",
"nl": "Biljetten van 50 euro worden geaccepteerd",
- "de": "50-Euro-Scheine werden angenommen"
+ "de": "50-Euro-Scheine werden angenommen",
+ "es": "Se aceptan billetes de 50 euros"
}
},
{
@@ -1280,7 +1285,8 @@
"then": {
"en": "100 euro notes are accepted",
"nl": "Biljetten van 100 euro worden geaccepteerd",
- "de": "100-Euro-Scheine werden angenommen"
+ "de": "100-Euro-Scheine werden angenommen",
+ "es": "Se aceptan billetes de 100 euros"
}
},
{
@@ -1289,7 +1295,8 @@
"then": {
"en": "200 euro notes are accepted",
"nl": "Biljetten van 200 euro worden geaccepteerd",
- "de": "200-Euro-Scheine werden angenommen"
+ "de": "200-Euro-Scheine werden angenommen",
+ "es": "Se aceptan billetes de 200 euros"
}
},
{
@@ -1298,7 +1305,8 @@
"then": {
"en": "500 euro notes are accepted",
"nl": "Biljetten van 500 euro worden geaccepteerd",
- "de": "500-Euro-Scheine werden angenommen"
+ "de": "500-Euro-Scheine werden angenommen",
+ "es": "Se aceptan billetes de 500 euros"
}
}
]
diff --git a/assets/translators.json b/assets/translators.json
index f6efd33cf..54e018ab5 100644
--- a/assets/translators.json
+++ b/assets/translators.json
@@ -84,6 +84,10 @@
"commits": 13,
"contributor": "Joost"
},
+ {
+ "commits": 11,
+ "contributor": "mcliquid"
+ },
{
"commits": 11,
"contributor": "Jiří Podhorecký"
@@ -104,10 +108,6 @@
"commits": 10,
"contributor": "Irina"
},
- {
- "commits": 9,
- "contributor": "mcliquid"
- },
{
"commits": 9,
"contributor": "Niels Madsen"
@@ -240,6 +240,10 @@
"commits": 4,
"contributor": "Jan Zabel"
},
+ {
+ "commits": 3,
+ "contributor": "gallegonovato"
+ },
{
"commits": 3,
"contributor": "Ettore Atalan"
@@ -300,10 +304,6 @@
"commits": 2,
"contributor": "multiflexi"
},
- {
- "commits": 2,
- "contributor": "gallegonovato"
- },
{
"commits": 2,
"contributor": "Piotr Strebski"
diff --git a/langs/layers/de.json b/langs/layers/de.json
index a74091b8b..cc9b822c8 100644
--- a/langs/layers/de.json
+++ b/langs/layers/de.json
@@ -5862,6 +5862,32 @@
"render": "Stellplatz"
}
},
+ "parking_ticket_machine": {
+ "description": "Ebene mit Parkscheinautomaten zum Bezahlen des Parkens.",
+ "name": "Parkscheinautomaten",
+ "presets": {
+ "0": {
+ "title": "Ein Parkscheinautomat"
+ }
+ },
+ "tagRenderings": {
+ "ref": {
+ "freeform": {
+ "placeholder": "Referenznummer"
+ },
+ "mappings": {
+ "0": {
+ "then": "Dieser Parkscheinautomat hat keine Referenznummer"
+ }
+ },
+ "question": "Wie lautet die Referenznummer dieses Parkscheinautomaten?",
+ "render": "Dieser Parkscheinautomat hat die Referenznummer {ref}"
+ }
+ },
+ "title": {
+ "render": "Parkscheinautomat"
+ }
+ },
"pedestrian_path": {
"description": "Fußgängerwege, insbesondere für die Navigation in Gebäuden und die Aufnahme von Eingängen in diese Ebene",
"name": "Fußgängerwege"
@@ -6520,6 +6546,21 @@
}
},
"tagRenderings": {
+ "access": {
+ "mappings": {
+ "0": {
+ "then": "Alle können diese Recyclinganlage nutzen"
+ },
+ "1": {
+ "then": "Nur Anwohnende können diese Recyclinganlage nutzen"
+ },
+ "2": {
+ "then": "Diese Recyclinganlage ist nur für den privaten Gebrauch bestimmt"
+ }
+ },
+ "question": "Wer kann diese Recyclinganlage nutzen?",
+ "render": "Diese Recyclinganlage kann von {access} genutzt werden"
+ },
"container-location": {
"mappings": {
"0": {
@@ -8484,6 +8525,17 @@
}
},
"question": "Wo befindet sich die Mülltonne?"
+ },
+ "type": {
+ "mappings": {
+ "0": {
+ "then": "Dies ist ein mittelgroßer bis großer Behälter für die Entsorgung von (Haushalts-)Abfällen"
+ },
+ "1": {
+ "then": "Dies ist eigentlich ein Recycling-Container"
+ }
+ },
+ "question": "Was für ein Abfalleimer ist das?"
}
},
"title": {
diff --git a/langs/shared-questions/es.json b/langs/shared-questions/es.json
index 1093b0e8a..cca6ceed6 100644
--- a/langs/shared-questions/es.json
+++ b/langs/shared-questions/es.json
@@ -29,6 +29,32 @@
},
"question": "¿Qué monedas se pueden usar aquí para pagar?"
},
+ "denominations-notes": {
+ "mappings": {
+ "0": {
+ "then": "Se aceptan billetes de 5 euros"
+ },
+ "1": {
+ "then": "Se aceptan billetes de 10 euros"
+ },
+ "2": {
+ "then": "Se aceptan billetes de 20 euros"
+ },
+ "3": {
+ "then": "Se aceptan billetes de 50 euros"
+ },
+ "4": {
+ "then": "Se aceptan billetes de 100 euros"
+ },
+ "5": {
+ "then": "Se aceptan billetes de 200 euros"
+ },
+ "6": {
+ "then": "Se aceptan billetes de 500 euros"
+ }
+ },
+ "question": "¿con qué billetes se puede pagar aquí?"
+ },
"description": {
"question": "¿Aún hay algo relevante que no ha encajado en las preguntas anteriores? Compártalo aquí.
No repita datos ya expresados"
},