diff --git a/Logic/FeatureSource/FeaturePipeline.ts b/Logic/FeatureSource/FeaturePipeline.ts
index bcda3f6886..b5ea30bd3a 100644
--- a/Logic/FeatureSource/FeaturePipeline.ts
+++ b/Logic/FeatureSource/FeaturePipeline.ts
@@ -100,7 +100,7 @@ export default class FeaturePipeline {
this.relationTracker = new RelationsTracker()
state.changes.allChanges.addCallbackAndRun(allChanges => {
- allChanges.filter(ch => ch.id < 0)
+ allChanges.filter(ch => ch.id < 0 && ch.changes !== undefined)
.map(ch => ch.changes)
.filter(coor => coor["lat"] !== undefined && coor["lon"] !== undefined)
.forEach(coor => {
diff --git a/UI/Popup/MoveWizard.ts b/UI/Popup/MoveWizard.ts
index 19c8b957d6..254c7a0ca7 100644
--- a/UI/Popup/MoveWizard.ts
+++ b/UI/Popup/MoveWizard.ts
@@ -198,7 +198,7 @@ export default class MoveWizard extends Toggle {
moveDisallowedReason.setData(t.isWay)
} else if (id.startsWith("relation")) {
moveDisallowedReason.setData(t.isRelation)
- } else {
+ } else if(id.indexOf("-") < 0) {
OsmObject.DownloadReferencingWays(id).then(referencing => {
if (referencing.length > 0) {
@@ -207,8 +207,8 @@ export default class MoveWizard extends Toggle {
}
})
OsmObject.DownloadReferencingRelations(id).then(partOf => {
- if(partOf.length > 0){
- moveDisallowedReason.setData(t.partOfRelation)
+ if(partOf.length > 0){
+ moveDisallowedReason.setData(t.partOfRelation)
}
})
}
diff --git a/assets/layers/bike_repair_station/bike_repair_station.json b/assets/layers/bike_repair_station/bike_repair_station.json
index 891f8a599c..6215ad1eb7 100644
--- a/assets/layers/bike_repair_station/bike_repair_station.json
+++ b/assets/layers/bike_repair_station/bike_repair_station.json
@@ -615,16 +615,7 @@
"level"
],
"icon": {
- "render": {
- "en": "./assets/layers/bike_repair_station/repair_station.svg",
- "ru": "./assets/layers/bike_repair_station/repair_station.svg",
- "it": "./assets/layers/bike_repair_station/repair_station.svg",
- "fi": "./assets/layers/bike_repair_station/repair_station.svg",
- "fr": "./assets/layers/bike_repair_station/repair_station.svg",
- "pt_BR": "./assets/layers/bike_repair_station/repair_station.svg",
- "de": "./assets/layers/bike_repair_station/repair_station.svg",
- "pt": "./assets/layers/bike_repair_station/repair_station.svg"
- },
+ "render": "./assets/layers/bike_repair_station/repair_station.svg",
"mappings": [
{
"if": {
diff --git a/assets/layers/charging_station/charging_station.json b/assets/layers/charging_station/charging_station.json
index d353a778ec..45855cf635 100644
--- a/assets/layers/charging_station/charging_station.json
+++ b/assets/layers/charging_station/charging_station.json
@@ -119,14 +119,14 @@
"if": "access=customers",
"then": {
"en": "Only customers of the place this station belongs to can use this charging station
E.g. a charging station operated by hotel which is only usable by their guests",
- "nl": "Enkel klanten van de bijhorende plaats mogen dit oplaadpunt gebruiken
Bijvoorbeeld een oplaadpunt op de parking van een restaurant dat enkel door klanten van het restaurant gebruikt mag worden"
+ "nl": "Enkel klanten van de bijhorende plaats mogen dit oplaadpunt gebruiken
Bv. op de parking van een hotel en enkel toegankelijk voor klanten van dit hotel"
}
},
{
"if": "access=private",
"then": {
"en": "Not accessible to the general public (e.g. only accessible to the owners, employees, ...)",
- "nl": "Niet toegankelijk voor het publiek Enkel toegankelijk voor de eigenaar, medewerkers ,... "
+ "nl": "Niet toegankelijk voor het publiek
Bv. enkel toegankelijk voor de eigenaar, medewerkers ,... "
}
}
]
@@ -147,7 +147,1038 @@
}
},
{
- "id": "$$$"
+ "id": "Available_charging_stations (generated)",
+ "question": {
+ "en": "Which charging connections are available here?",
+ "nl": "Welke aansluitingen zijn hier beschikbaar?"
+ },
+ "multiAnswer": true,
+ "mappings": [
+ {
+ "if": "socket:schuko=1",
+ "ifnot": "socket:schuko=",
+ "then": {
+ "en": "
Schuko wall plug without ground pin (CEE7/4 type F) ",
+ "nl": "
Schuko stekker zonder aardingspin (CEE7/4 type F) "
+ },
+ "hideInAnswer": {
+ "or": [
+ "_country!=be",
+ "_country!=fr",
+ "_country!=ma",
+ "_country!=tn",
+ "_country!=pl",
+ "_country!=cs",
+ "_country!=sk",
+ "_country!=mo"
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:schuko~*",
+ "socket:schuko!=1"
+ ]
+ },
+ "then": {
+ "en": "
Schuko wall plug without ground pin (CEE7/4 type F) ",
+ "nl": "
Schuko stekker zonder aardingspin (CEE7/4 type F) "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:typee=1",
+ "ifnot": "socket:typee=",
+ "then": {
+ "en": "
European wall plug with ground pin (CEE7/4 type E) ",
+ "nl": "
Europese stekker met aardingspin (CEE7/4 type E) "
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:typee~*",
+ "socket:typee!=1"
+ ]
+ },
+ "then": {
+ "en": "
European wall plug with ground pin (CEE7/4 type E) ",
+ "nl": "
Europese stekker met aardingspin (CEE7/4 type E) "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:chademo=1",
+ "ifnot": "socket:chademo=",
+ "then": {
+ "en": "
Chademo ",
+ "nl": "
Chademo "
+ },
+ "hideInAnswer": {
+ "or": [
+ {
+ "and": [
+ "car=no",
+ "motorcar=no",
+ "hgv=no",
+ "bus=no"
+ ]
+ },
+ {
+ "and": [
+ {
+ "or": [
+ "bicycle=yes",
+ "scooter=yes"
+ ]
+ },
+ "car!=yes",
+ "motorcar!=yes",
+ "hgv!=yes",
+ "bus!=yes"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:chademo~*",
+ "socket:chademo!=1"
+ ]
+ },
+ "then": {
+ "en": "
Chademo ",
+ "nl": "
Chademo "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:type1_cable=1",
+ "ifnot": "socket:type1_cable=",
+ "then": {
+ "en": "
Type 1 with cable (J1772) ",
+ "nl": "
Type 1 met kabel (J1772) "
+ },
+ "hideInAnswer": {
+ "or": [
+ {
+ "and": [
+ "car=no",
+ "motorcar=no",
+ "hgv=no",
+ "bus=no"
+ ]
+ },
+ {
+ "and": [
+ {
+ "or": [
+ "bicycle=yes",
+ "scooter=yes"
+ ]
+ },
+ "car!=yes",
+ "motorcar!=yes",
+ "hgv!=yes",
+ "bus!=yes"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:type1_cable~*",
+ "socket:type1_cable!=1"
+ ]
+ },
+ "then": {
+ "en": "
Type 1 with cable (J1772) ",
+ "nl": "
Type 1 met kabel (J1772) "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:type1=1",
+ "ifnot": "socket:type1=",
+ "then": {
+ "en": "
Type 1 without cable (J1772) ",
+ "nl": "
Type 1 zonder kabel (J1772) "
+ },
+ "hideInAnswer": {
+ "or": [
+ {
+ "and": [
+ "car=no",
+ "motorcar=no",
+ "hgv=no",
+ "bus=no"
+ ]
+ },
+ {
+ "and": [
+ {
+ "or": [
+ "bicycle=yes",
+ "scooter=yes"
+ ]
+ },
+ "car!=yes",
+ "motorcar!=yes",
+ "hgv!=yes",
+ "bus!=yes"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:type1~*",
+ "socket:type1!=1"
+ ]
+ },
+ "then": {
+ "en": "
Type 1 without cable (J1772) ",
+ "nl": "
Type 1 zonder kabel (J1772) "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:type1_combo=1",
+ "ifnot": "socket:type1_combo=",
+ "then": {
+ "en": "
Type 1 CCS (aka Type 1 Combo) ",
+ "nl": "
Type 1 CCS (ook gekend als Type 1 Combo) "
+ },
+ "hideInAnswer": {
+ "or": [
+ {
+ "and": [
+ "car=no",
+ "motorcar=no",
+ "hgv=no",
+ "bus=no"
+ ]
+ },
+ {
+ "and": [
+ {
+ "or": [
+ "bicycle=yes",
+ "scooter=yes"
+ ]
+ },
+ "car!=yes",
+ "motorcar!=yes",
+ "hgv!=yes",
+ "bus!=yes"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:type1_combo~*",
+ "socket:type1_combo!=1"
+ ]
+ },
+ "then": {
+ "en": "
Type 1 CCS (aka Type 1 Combo) ",
+ "nl": "
Type 1 CCS (ook gekend als Type 1 Combo) "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:tesla_supercharger=1",
+ "ifnot": "socket:tesla_supercharger=",
+ "then": {
+ "en": "
Tesla Supercharger ",
+ "nl": "
Tesla Supercharger "
+ },
+ "hideInAnswer": {
+ "or": [
+ {
+ "and": [
+ "car=no",
+ "motorcar=no",
+ "hgv=no",
+ "bus=no"
+ ]
+ },
+ {
+ "and": [
+ {
+ "or": [
+ "bicycle=yes",
+ "scooter=yes"
+ ]
+ },
+ "car!=yes",
+ "motorcar!=yes",
+ "hgv!=yes",
+ "bus!=yes"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:tesla_supercharger~*",
+ "socket:tesla_supercharger!=1"
+ ]
+ },
+ "then": {
+ "en": "
Tesla Supercharger ",
+ "nl": "
Tesla Supercharger "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:type2=1",
+ "ifnot": "socket:type2=",
+ "then": {
+ "en": "
Type 2 (mennekes) ",
+ "nl": "
Type 2 (mennekes) "
+ },
+ "hideInAnswer": {
+ "or": [
+ {
+ "and": [
+ "car=no",
+ "motorcar=no",
+ "hgv=no",
+ "bus=no"
+ ]
+ },
+ {
+ "and": [
+ {
+ "or": [
+ "bicycle=yes",
+ "scooter=yes"
+ ]
+ },
+ "car!=yes",
+ "motorcar!=yes",
+ "hgv!=yes",
+ "bus!=yes"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:type2~*",
+ "socket:type2!=1"
+ ]
+ },
+ "then": {
+ "en": "
Type 2 (mennekes) ",
+ "nl": "
Type 2 (mennekes) "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:type2_combo=1",
+ "ifnot": "socket:type2_combo=",
+ "then": {
+ "en": "
Type 2 CCS (mennekes) ",
+ "nl": "
Type 2 CCS (mennekes) "
+ },
+ "hideInAnswer": {
+ "or": [
+ {
+ "and": [
+ "car=no",
+ "motorcar=no",
+ "hgv=no",
+ "bus=no"
+ ]
+ },
+ {
+ "and": [
+ {
+ "or": [
+ "bicycle=yes",
+ "scooter=yes"
+ ]
+ },
+ "car!=yes",
+ "motorcar!=yes",
+ "hgv!=yes",
+ "bus!=yes"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:type2_combo~*",
+ "socket:type2_combo!=1"
+ ]
+ },
+ "then": {
+ "en": "
Type 2 CCS (mennekes) ",
+ "nl": "
Type 2 CCS (mennekes) "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:type2_cable=1",
+ "ifnot": "socket:type2_cable=",
+ "then": {
+ "en": "
Type 2 with cable (mennekes) ",
+ "nl": "
Type 2 met kabel (J1772) "
+ },
+ "hideInAnswer": {
+ "or": [
+ {
+ "and": [
+ "car=no",
+ "motorcar=no",
+ "hgv=no",
+ "bus=no"
+ ]
+ },
+ {
+ "and": [
+ {
+ "or": [
+ "bicycle=yes",
+ "scooter=yes"
+ ]
+ },
+ "car!=yes",
+ "motorcar!=yes",
+ "hgv!=yes",
+ "bus!=yes"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:type2_cable~*",
+ "socket:type2_cable!=1"
+ ]
+ },
+ "then": {
+ "en": "
Type 2 with cable (mennekes) ",
+ "nl": "
Type 2 met kabel (J1772) "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:tesla_supercharger_ccs=1",
+ "ifnot": "socket:tesla_supercharger_ccs=",
+ "then": {
+ "en": "
Tesla Supercharger CCS (a branded type2_css) ",
+ "nl": "
Tesla Supercharger CCS (een type2 CCS met Tesla-logo) "
+ },
+ "hideInAnswer": {
+ "or": [
+ {
+ "and": [
+ "car=no",
+ "motorcar=no",
+ "hgv=no",
+ "bus=no"
+ ]
+ },
+ {
+ "and": [
+ {
+ "or": [
+ "bicycle=yes",
+ "scooter=yes"
+ ]
+ },
+ "car!=yes",
+ "motorcar!=yes",
+ "hgv!=yes",
+ "bus!=yes"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:tesla_supercharger_ccs~*",
+ "socket:tesla_supercharger_ccs!=1"
+ ]
+ },
+ "then": {
+ "en": "
Tesla Supercharger CCS (a branded type2_css) ",
+ "nl": "
Tesla Supercharger CCS (een type2 CCS met Tesla-logo) "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:tesla_destination=1",
+ "ifnot": "socket:tesla_destination=",
+ "then": {
+ "en": "
Tesla Supercharger (destination) ",
+ "nl": "
Tesla Supercharger (destination) "
+ },
+ "hideInAnswer": {
+ "or": [
+ {
+ "and": [
+ "car=no",
+ "motorcar=no",
+ "hgv=no",
+ "bus=no"
+ ]
+ },
+ {
+ "and": [
+ {
+ "or": [
+ "bicycle=yes",
+ "scooter=yes"
+ ]
+ },
+ "car!=yes",
+ "motorcar!=yes",
+ "hgv!=yes",
+ "bus!=yes"
+ ]
+ },
+ {
+ "or": [
+ "_country!=us"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:tesla_destination~*",
+ "socket:tesla_destination!=1"
+ ]
+ },
+ "then": {
+ "en": "
Tesla Supercharger (destination) ",
+ "nl": "
Tesla Supercharger (destination) "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:tesla_destination=1",
+ "ifnot": "socket:tesla_destination=",
+ "then": {
+ "en": "
Tesla supercharger (destination (A Type 2 with cable branded as tesla) ",
+ "nl": "
Tesla supercharger (destination (Een Type 2 met kabel en Tesla-logo) "
+ },
+ "hideInAnswer": {
+ "or": [
+ {
+ "and": [
+ "car=no",
+ "motorcar=no",
+ "hgv=no",
+ "bus=no"
+ ]
+ },
+ {
+ "and": [
+ {
+ "or": [
+ "bicycle=yes",
+ "scooter=yes"
+ ]
+ },
+ "car!=yes",
+ "motorcar!=yes",
+ "hgv!=yes",
+ "bus!=yes"
+ ]
+ },
+ {
+ "or": [
+ "_country=us"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:tesla_destination~*",
+ "socket:tesla_destination!=1"
+ ]
+ },
+ "then": {
+ "en": "
Tesla supercharger (destination (A Type 2 with cable branded as tesla) ",
+ "nl": "
Tesla supercharger (destination (Een Type 2 met kabel en Tesla-logo) "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:USB-A=1",
+ "ifnot": "socket:USB-A=",
+ "then": {
+ "en": "
USB to charge phones and small electronics ",
+ "nl": "
USB om GSMs en kleine electronica op te laden "
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:USB-A~*",
+ "socket:USB-A!=1"
+ ]
+ },
+ "then": {
+ "en": "
USB to charge phones and small electronics ",
+ "nl": "
USB om GSMs en kleine electronica op te laden "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:bosch_3pin=1",
+ "ifnot": "socket:bosch_3pin=",
+ "then": {
+ "en": "
Bosch Active Connect with 3 pins and cable ",
+ "nl": "
Bosch Active Connect met 3 pinnen aan een kabel "
+ },
+ "hideInAnswer": {
+ "or": [
+ {
+ "and": [
+ "bicycle=no"
+ ]
+ },
+ {
+ "and": [
+ {
+ "or": [
+ "car=yes",
+ "motorcar=yes",
+ "hgv=yes",
+ "bus=yes"
+ ]
+ },
+ "bicycle!=yes"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:bosch_3pin~*",
+ "socket:bosch_3pin!=1"
+ ]
+ },
+ "then": {
+ "en": "
Bosch Active Connect with 3 pins and cable ",
+ "nl": "
Bosch Active Connect met 3 pinnen aan een kabel "
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "socket:bosch_5pin=1",
+ "ifnot": "socket:bosch_5pin=",
+ "then": {
+ "en": "
Bosch Active Connect with 5 pins and cable ",
+ "nl": "
Bosch Active Connect met 5 pinnen aan een kabel "
+ },
+ "hideInAnswer": {
+ "or": [
+ {
+ "and": [
+ "bicycle=no"
+ ]
+ },
+ {
+ "and": [
+ {
+ "or": [
+ "car=yes",
+ "motorcar=yes",
+ "hgv=yes",
+ "bus=yes"
+ ]
+ },
+ "bicycle!=yes"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "socket:bosch_5pin~*",
+ "socket:bosch_5pin!=1"
+ ]
+ },
+ "then": {
+ "en": "
Bosch Active Connect with 5 pins and cable ",
+ "nl": "
Bosch Active Connect met 5 pinnen aan een kabel "
+ },
+ "hideInAnswer": true
+ }
+ ]
+ },
+ {
+ "id": "plugs-0",
+ "question": {
+ "en": "How much plugs of type Schuko wall plug without ground pin (CEE7/4 type F) 
are available here?",
+ "nl": "Hoeveel stekkers van type Schuko stekker zonder aardingspin (CEE7/4 type F) 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:schuko} plugs of type Schuko wall plug without ground pin (CEE7/4 type F) 
available here",
+ "nl": "Hier zijn {socket:schuko} stekkers van het type Schuko stekker zonder aardingspin (CEE7/4 type F) 
"
+ },
+ "freeform": {
+ "key": "socket:schuko",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:schuko~*",
+ "socket:schuko!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-1",
+ "question": {
+ "en": "How much plugs of type European wall plug with ground pin (CEE7/4 type E) 
are available here?",
+ "nl": "Hoeveel stekkers van type Europese stekker met aardingspin (CEE7/4 type E) 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:typee} plugs of type European wall plug with ground pin (CEE7/4 type E) 
available here",
+ "nl": "Hier zijn {socket:typee} stekkers van het type Europese stekker met aardingspin (CEE7/4 type E) 
"
+ },
+ "freeform": {
+ "key": "socket:typee",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:typee~*",
+ "socket:typee!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-2",
+ "question": {
+ "en": "How much plugs of type Chademo 
are available here?",
+ "nl": "Hoeveel stekkers van type Chademo 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:chademo} plugs of type Chademo 
available here",
+ "nl": "Hier zijn {socket:chademo} stekkers van het type Chademo 
"
+ },
+ "freeform": {
+ "key": "socket:chademo",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:chademo~*",
+ "socket:chademo!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-3",
+ "question": {
+ "en": "How much plugs of type Type 1 with cable (J1772) 
are available here?",
+ "nl": "Hoeveel stekkers van type Type 1 met kabel (J1772) 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:type1_cable} plugs of type Type 1 with cable (J1772) 
available here",
+ "nl": "Hier zijn {socket:type1_cable} stekkers van het type Type 1 met kabel (J1772) 
"
+ },
+ "freeform": {
+ "key": "socket:type1_cable",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:type1_cable~*",
+ "socket:type1_cable!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-4",
+ "question": {
+ "en": "How much plugs of type Type 1 without cable (J1772) 
are available here?",
+ "nl": "Hoeveel stekkers van type Type 1 zonder kabel (J1772) 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:type1} plugs of type Type 1 without cable (J1772) 
available here",
+ "nl": "Hier zijn {socket:type1} stekkers van het type Type 1 zonder kabel (J1772) 
"
+ },
+ "freeform": {
+ "key": "socket:type1",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:type1~*",
+ "socket:type1!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-5",
+ "question": {
+ "en": "How much plugs of type Type 1 CCS (aka Type 1 Combo) 
are available here?",
+ "nl": "Hoeveel stekkers van type Type 1 CCS (ook gekend als Type 1 Combo) 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:type1_combo} plugs of type Type 1 CCS (aka Type 1 Combo) 
available here",
+ "nl": "Hier zijn {socket:type1_combo} stekkers van het type Type 1 CCS (ook gekend als Type 1 Combo) 
"
+ },
+ "freeform": {
+ "key": "socket:type1_combo",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:type1_combo~*",
+ "socket:type1_combo!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-6",
+ "question": {
+ "en": "How much plugs of type Tesla Supercharger 
are available here?",
+ "nl": "Hoeveel stekkers van type Tesla Supercharger 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:tesla_supercharger} plugs of type Tesla Supercharger 
available here",
+ "nl": "Hier zijn {socket:tesla_supercharger} stekkers van het type Tesla Supercharger 
"
+ },
+ "freeform": {
+ "key": "socket:tesla_supercharger",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:tesla_supercharger~*",
+ "socket:tesla_supercharger!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-7",
+ "question": {
+ "en": "How much plugs of type Type 2 (mennekes) 
are available here?",
+ "nl": "Hoeveel stekkers van type Type 2 (mennekes) 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:type2} plugs of type Type 2 (mennekes) 
available here",
+ "nl": "Hier zijn {socket:type2} stekkers van het type Type 2 (mennekes) 
"
+ },
+ "freeform": {
+ "key": "socket:type2",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:type2~*",
+ "socket:type2!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-8",
+ "question": {
+ "en": "How much plugs of type Type 2 CCS (mennekes) 
are available here?",
+ "nl": "Hoeveel stekkers van type Type 2 CCS (mennekes) 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:type2_combo} plugs of type Type 2 CCS (mennekes) 
available here",
+ "nl": "Hier zijn {socket:type2_combo} stekkers van het type Type 2 CCS (mennekes) 
"
+ },
+ "freeform": {
+ "key": "socket:type2_combo",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:type2_combo~*",
+ "socket:type2_combo!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-9",
+ "question": {
+ "en": "How much plugs of type Type 2 with cable (mennekes) 
are available here?",
+ "nl": "Hoeveel stekkers van type Type 2 met kabel (J1772) 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:type2_cable} plugs of type Type 2 with cable (mennekes) 
available here",
+ "nl": "Hier zijn {socket:type2_cable} stekkers van het type Type 2 met kabel (J1772) 
"
+ },
+ "freeform": {
+ "key": "socket:type2_cable",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:type2_cable~*",
+ "socket:type2_cable!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-10",
+ "question": {
+ "en": "How much plugs of type Tesla Supercharger CCS (a branded type2_css) 
are available here?",
+ "nl": "Hoeveel stekkers van type Tesla Supercharger CCS (een type2 CCS met Tesla-logo) 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:tesla_supercharger_ccs} plugs of type Tesla Supercharger CCS (a branded type2_css) 
available here",
+ "nl": "Hier zijn {socket:tesla_supercharger_ccs} stekkers van het type Tesla Supercharger CCS (een type2 CCS met Tesla-logo) 
"
+ },
+ "freeform": {
+ "key": "socket:tesla_supercharger_ccs",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:tesla_supercharger_ccs~*",
+ "socket:tesla_supercharger_ccs!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-11",
+ "question": {
+ "en": "How much plugs of type Tesla Supercharger (destination) 
are available here?",
+ "nl": "Hoeveel stekkers van type Tesla Supercharger (destination) 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:tesla_destination} plugs of type Tesla Supercharger (destination) 
available here",
+ "nl": "Hier zijn {socket:tesla_destination} stekkers van het type Tesla Supercharger (destination) 
"
+ },
+ "freeform": {
+ "key": "socket:tesla_destination",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:tesla_destination~*",
+ "socket:tesla_destination!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-12",
+ "question": {
+ "en": "How much plugs of type Tesla supercharger (destination (A Type 2 with cable branded as tesla) 
are available here?",
+ "nl": "Hoeveel stekkers van type Tesla supercharger (destination (Een Type 2 met kabel en Tesla-logo) 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:tesla_destination} plugs of type Tesla supercharger (destination (A Type 2 with cable branded as tesla) 
available here",
+ "nl": "Hier zijn {socket:tesla_destination} stekkers van het type Tesla supercharger (destination (Een Type 2 met kabel en Tesla-logo) 
"
+ },
+ "freeform": {
+ "key": "socket:tesla_destination",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:tesla_destination~*",
+ "socket:tesla_destination!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-13",
+ "question": {
+ "en": "How much plugs of type USB to charge phones and small electronics 
are available here?",
+ "nl": "Hoeveel stekkers van type USB om GSMs en kleine electronica op te laden 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:USB-A} plugs of type USB to charge phones and small electronics 
available here",
+ "nl": "Hier zijn {socket:USB-A} stekkers van het type USB om GSMs en kleine electronica op te laden 
"
+ },
+ "freeform": {
+ "key": "socket:USB-A",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:USB-A~*",
+ "socket:USB-A!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-14",
+ "question": {
+ "en": "How much plugs of type Bosch Active Connect with 3 pins and cable 
are available here?",
+ "nl": "Hoeveel stekkers van type Bosch Active Connect met 3 pinnen aan een kabel 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:bosch_3pin} plugs of type Bosch Active Connect with 3 pins and cable 
available here",
+ "nl": "Hier zijn {socket:bosch_3pin} stekkers van het type Bosch Active Connect met 3 pinnen aan een kabel 
"
+ },
+ "freeform": {
+ "key": "socket:bosch_3pin",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:bosch_3pin~*",
+ "socket:bosch_3pin!=0"
+ ]
+ }
+ },
+ {
+ "id": "plugs-15",
+ "question": {
+ "en": "How much plugs of type Bosch Active Connect with 5 pins and cable 
are available here?",
+ "nl": "Hoeveel stekkers van type Bosch Active Connect met 5 pinnen aan een kabel 
heeft dit oplaadpunt?"
+ },
+ "render": {
+ "en": "There are {socket:bosch_5pin} plugs of type Bosch Active Connect with 5 pins and cable 
available here",
+ "nl": "Hier zijn {socket:bosch_5pin} stekkers van het type Bosch Active Connect met 5 pinnen aan een kabel 
"
+ },
+ "freeform": {
+ "key": "socket:bosch_5pin",
+ "type": "pnat"
+ },
+ "condition": {
+ "and": [
+ "socket:bosch_5pin~*",
+ "socket:bosch_5pin!=0"
+ ]
+ }
},
{
"id": "OH",
@@ -424,10 +1455,12 @@
{
"id": "Network",
"render": {
- "en": "Part of the network {network}"
+ "en": "Part of the network {network}",
+ "nl": "Maakt deel uit van het {network}-netwerk"
},
"question": {
- "en": "Is this charging station part of a network?"
+ "en": "Is this charging station part of a network?",
+ "nl": "Is dit oplaadpunt deel van een groter netwerk?"
},
"freeform": {
"key": "network"
@@ -436,13 +1469,15 @@
{
"if": "no:network=yes",
"then": {
- "en": "Not part of a bigger network"
+ "en": "Not part of a bigger network",
+ "nl": "Maakt geen deel uit van een groter netwerk"
}
},
{
"if": "network=none",
"then": {
- "en": "Not part of a bigger network"
+ "en": "Not part of a bigger network",
+ "nl": "Maakt geen deel uit van een groter netwerk"
},
"hideInAnswer": true
},
@@ -463,10 +1498,12 @@
{
"id": "Operator",
"question": {
- "en": "Who is the operator of this charging station?"
+ "en": "Who is the operator of this charging station?",
+ "nl": "Wie beheert dit oplaadpunt?"
},
"render": {
- "en": "This charging station is operated by {operator}"
+ "en": "This charging station is operated by {operator}",
+ "nl": "Wordt beheerd door {operator}"
},
"freeform": {
"key": "operator"
@@ -479,7 +1516,8 @@
]
},
"then": {
- "en": "Actually, {operator} is the network"
+ "en": "Actually, {operator} is the network",
+ "nl": "Eigenlijk is {operator} het netwerk waarvan het deel uitmaakt"
},
"addExtraTags": [
"operator="
@@ -491,10 +1529,12 @@
{
"id": "phone",
"question": {
- "en": "What number can one call if there is a problem with this charging station?"
+ "en": "What number can one call if there is a problem with this charging station?",
+ "nl": "Wat is het telefoonnummer van de beheerder van dit oplaadpunt?"
},
"render": {
- "en": "In case of problems, call {phone}"
+ "en": "In case of problems, call {phone}",
+ "nl": "Bij problemen, bel naar {phone}"
},
"freeform": {
"key": "phone",
@@ -504,10 +1544,12 @@
{
"id": "email",
"question": {
- "en": "What is the email address of the operator?"
+ "en": "What is the email address of the operator?",
+ "nl": "Wat is het email-adres van de operator?"
},
"render": {
- "en": "In case of problems, send an email to {email}"
+ "en": "In case of problems, send an email to {email}",
+ "nl": "Bij problemen, email naar {email}"
},
"freeform": {
"key": "email",
@@ -517,10 +1559,12 @@
{
"id": "website",
"question": {
- "en": "What is the website of the operator?"
+ "en": "What is the website where one can find more information about this charging station?",
+ "nl": "Wat is de website waar men meer info kan vinden over dit oplaadpunt?"
},
"render": {
- "en": "More info on {website}"
+ "en": "More info on {website}",
+ "nl": "Meer informatie op {website}"
},
"freeform": {
"key": "website",
@@ -531,7 +1575,8 @@
{
"id": "ref",
"question": {
- "en": "What is the reference number of this charging station?"
+ "en": "What is the reference number of this charging station?",
+ "nl": "Wat is het referentienummer van dit oplaadstation?"
},
"render": {
"en": "Reference number is {ref}",
@@ -630,19 +1675,22 @@
{
"id": "Parking:fee",
"question": {
- "en": "Does one have to pay a parking fee while charging?"
+ "en": "Does one have to pay a parking fee while charging?",
+ "nl": "Moet men parkeergeld betalen tijdens het opladen?"
},
"mappings": [
{
"if": "parking:fee=no",
"then": {
- "en": "No additional parking cost while charging"
+ "en": "No additional parking cost while charging",
+ "nl": "Geen extra parkeerkost tijdens het opladen"
}
},
{
"if": "parking:fee=yes",
"then": {
- "en": "An additional parking fee should be paid while charging"
+ "en": "An additional parking fee should be paid while charging",
+ "nl": "Tijdens het opladen moet er parkeergeld betaald worden"
}
}
],
@@ -721,12 +1769,56 @@
"render": "#00f"
},
"presets": [
+ {
+ "tags": [
+ "amenity=charging_station",
+ "motorcar=no",
+ "bicycle=yes",
+ "socket:typee=1"
+ ],
+ "title": {
+ "en": "electrical outlet to charge e-bikes",
+ "nl": "gewone stekker
(bedoeld om electrische fietsen op te laden)"
+ },
+ "preciseInput": {
+ "preferredBackground": "map"
+ }
+ },
+ {
+ "tags": [
+ "amenity=charging_station",
+ "motorcar=no",
+ "bicycle=yes"
+ ],
+ "title": {
+ "en": "charging station for e-bikes",
+ "nl": "oplaadpunt voor elektrische fietsen"
+ },
+ "preciseInput": {
+ "preferredBackground": "map"
+ }
+ },
+ {
+ "tags": [
+ "amenity=charging_station",
+ "motorcar=yes",
+ "bicycle=no"
+ ],
+ "title": {
+ "en": "charging station for cars",
+ "nl": "oplaadstation voor elektrische auto's"
+ },
+ "preciseInput": {
+ "preferredBackground": "map"
+ }
+ },
{
"tags": [
"amenity=charging_station"
],
"title": {
- "en": "Charging station"
+ "en": "charging station",
+ "nl": "oplaadstation"
},
"preciseInput": {
"preferredBackground": "map"
@@ -770,7 +1862,8 @@
"options": [
{
"question": {
- "en": "Only working charging stations"
+ "en": "Only working charging stations",
+ "nl": "Enkel werkende oplaadpunten"
},
"osmTags": {
"and": [
diff --git a/assets/layers/charging_station/charging_station.protojson b/assets/layers/charging_station/charging_station.protojson
index 88ce359321..5a941d6b08 100644
--- a/assets/layers/charging_station/charging_station.protojson
+++ b/assets/layers/charging_station/charging_station.protojson
@@ -119,14 +119,14 @@
"if": "access=customers",
"then": {
"en": "Only customers of the place this station belongs to can use this charging station
E.g. a charging station operated by hotel which is only usable by their guests",
- "nl": "Enkel klanten van de bijhorende plaats mogen dit oplaadpunt gebruiken
Bijvoorbeeld een oplaadpunt op de parking van een restaurant dat enkel door klanten van het restaurant gebruikt mag worden"
+ "nl": "Enkel klanten van de bijhorende plaats mogen dit oplaadpunt gebruiken
Bv. op de parking van een hotel en enkel toegankelijk voor klanten van dit hotel"
}
},
{
"if": "access=private",
"then": {
"en": "Not accessible to the general public (e.g. only accessible to the owners, employees, ...)",
- "nl": "Niet toegankelijk voor het publiek Enkel toegankelijk voor de eigenaar, medewerkers ,... "
+ "nl": "Niet toegankelijk voor het publiek
Bv. enkel toegankelijk voor de eigenaar, medewerkers ,... "
}
}
]
@@ -419,10 +419,12 @@
{
"id": "Network",
"render": {
- "en": "Part of the network {network}"
+ "en": "Part of the network {network}",
+ "nl": "Maakt deel uit van het {network}-netwerk"
},
"question": {
- "en": "Is this charging station part of a network?"
+ "en": "Is this charging station part of a network?",
+ "nl": "Is dit oplaadpunt deel van een groter netwerk?"
},
"freeform": {
"key": "network"
@@ -431,13 +433,15 @@
{
"if": "no:network=yes",
"then": {
- "en": "Not part of a bigger network"
+ "en": "Not part of a bigger network",
+ "nl": "Maakt geen deel uit van een groter netwerk"
}
},
{
"if": "network=none",
"then": {
- "en": "Not part of a bigger network"
+ "en": "Not part of a bigger network",
+ "nl": "Maakt geen deel uit van een groter netwerk"
},
"hideInAnswer": true
},
@@ -458,10 +462,12 @@
{
"id": "Operator",
"question": {
- "en": "Who is the operator of this charging station?"
+ "en": "Who is the operator of this charging station?",
+ "nl": "Wie beheert dit oplaadpunt?"
},
"render": {
- "en": "This charging station is operated by {operator}"
+ "en": "This charging station is operated by {operator}",
+ "nl": "Wordt beheerd door {operator}"
},
"freeform": {
"key": "operator"
@@ -474,7 +480,8 @@
]
},
"then": {
- "en": "Actually, {operator} is the network"
+ "en": "Actually, {operator} is the network",
+ "nl": "Eigenlijk is {operator} het netwerk waarvan het deel uitmaakt"
},
"addExtraTags": [
"operator="
@@ -486,10 +493,11 @@
{
"id": "phone",
"question": {
- "en": "What number can one call if there is a problem with this charging station?"
+ "en": "What number can one call if there is a problem with this charging station?",
+ "nl": "Wat is het telefoonnummer van de beheerder van dit oplaadpunt?"
},
"render": {
- "en": "In case of problems, call {phone}"
+ "en": "In case of problems, call {phone}", "nl": "Bij problemen, bel naar {phone}"
},
"freeform": {
"key": "phone",
@@ -499,10 +507,12 @@
{
"id": "email",
"question": {
- "en": "What is the email address of the operator?"
+ "en": "What is the email address of the operator?",
+ "nl": "Wat is het email-adres van de operator?"
},
"render": {
- "en": "In case of problems, send an email to {email}"
+ "en": "In case of problems, send an email to {email}",
+ "nl": "Bij problemen, email naar {email}"
},
"freeform": {
"key": "email",
@@ -512,10 +522,12 @@
{
"id": "website",
"question": {
- "en": "What is the website of the operator?"
+ "en": "What is the website where one can find more information about this charging station?",
+ "nl": "Wat is de website waar men meer info kan vinden over dit oplaadpunt?"
},
"render": {
- "en": "More info on {website}"
+ "en": "More info on {website}",
+ "nl": "Meer informatie op {website}"
},
"freeform": {
"key": "website",
@@ -526,7 +538,8 @@
{
"id": "ref",
"question": {
- "en": "What is the reference number of this charging station?"
+ "en": "What is the reference number of this charging station?",
+ "nl": "Wat is het referentienummer van dit oplaadstation?"
},
"render": {
"en": "Reference number is {ref}",
@@ -625,19 +638,22 @@
{
"id": "Parking:fee",
"question": {
- "en": "Does one have to pay a parking fee while charging?"
+ "en": "Does one have to pay a parking fee while charging?",
+ "nl": "Moet men parkeergeld betalen tijdens het opladen?"
},
"mappings": [
{
"if": "parking:fee=no",
"then": {
- "en": "No additional parking cost while charging"
+ "en": "No additional parking cost while charging",
+ "nl": "Geen extra parkeerkost tijdens het opladen"
}
},
{
"if": "parking:fee=yes",
"then": {
- "en": "An additional parking fee should be paid while charging"
+ "en": "An additional parking fee should be paid while charging",
+ "nl": "Tijdens het opladen moet er parkeergeld betaald worden"
}
}
],
@@ -716,12 +732,56 @@
"render": "#00f"
},
"presets": [
+ {
+ "tags": [
+ "amenity=charging_station",
+ "motorcar=no",
+ "bicycle=yes",
+ "socket:typee=1"
+ ],
+ "title": {
+ "en": "electrical outlet to charge e-bikes",
+ "nl": "laadpunt met gewone stekker(s)
(bedoeld om electrische fietsen op te laden)"
+ },
+ "preciseInput": {
+ "preferredBackground": "map"
+ }
+ },
+ {
+ "tags": [
+ "amenity=charging_station",
+ "motorcar=no",
+ "bicycle=yes"
+ ],
+ "title": {
+ "en": "charging station for e-bikes",
+ "nl": "oplaadpunt voor elektrische fietsen"
+ },
+ "preciseInput": {
+ "preferredBackground": "map"
+ }
+ },
+ {
+ "tags": [
+ "amenity=charging_station",
+ "motorcar=yes",
+ "bicycle=no"
+ ],
+ "title": {
+ "en": "charging station for cars",
+ "nl": "oplaadstation voor elektrische auto's"
+ },
+ "preciseInput": {
+ "preferredBackground": "map"
+ }
+ },
{
"tags": [
"amenity=charging_station"
],
"title": {
- "en": "Charging station"
+ "en": "charging station",
+ "nl": "oplaadstation"
},
"preciseInput": {
"preferredBackground": "map"
@@ -765,7 +825,8 @@
"options": [
{
"question": {
- "en": "Only working charging stations"
+ "en": "Only working charging stations",
+ "nl": "Enkel werkende oplaadpunten"
},
"osmTags": {
"and": [
diff --git a/assets/layers/charging_station/csvToJson.ts b/assets/layers/charging_station/csvToJson.ts
index d781d33e7c..4b2490b905 100644
--- a/assets/layers/charging_station/csvToJson.ts
+++ b/assets/layers/charging_station/csvToJson.ts
@@ -259,7 +259,7 @@ function run(file, protojson) {
const stringified = questions.map(q => JSON.stringify(q, null, " "))
let protoString = readFileSync(protojson, "utf8")
- protoString = protoString.replace("{\"id\": \"$$$\"}", stringified.join(",\n"))
+ protoString = protoString.replace(/{[ \t\n]*"id"[ \t\n]*:[ \t\n]*"\$\$\$"[ \t\n]*}/, stringified.join(",\n"))
const proto = JSON.parse(protoString)
proto.tagRenderings.forEach(tr => {
if (typeof tr === "string") {
diff --git a/assets/layers/waste_basket/waste_basket.json b/assets/layers/waste_basket/waste_basket.json
index 612504a7b3..7a3691a979 100644
--- a/assets/layers/waste_basket/waste_basket.json
+++ b/assets/layers/waste_basket/waste_basket.json
@@ -91,6 +91,7 @@
"id": "dispensing_dog_bags",
"question": {
"en": "Does this waste basket have a dispenser for dog excrement bags?",
+ "nl": "Heeft deze vuilnisbak een verdeler voor hondenpoepzakjes?",
"de": "Verfügt dieser Abfalleimer über einen Spender für (Hunde-)Kotbeutel?"
},
"condition": {
@@ -110,6 +111,7 @@
},
"then": {
"en": "This waste basket has a dispenser for (dog) excrement bags",
+ "nl": "Deze vuilnisbak heeft een verdeler voor hondenpoepzakjes",
"de": "Dieser Abfalleimer verfügt über einen Spender für (Hunde-)Kotbeutel"
}
},
@@ -122,6 +124,7 @@
},
"then": {
"en": "This waste basket does not have a dispenser for (dog) excrement bags",
+ "nl": "Deze vuilbak heeft geen verdeler voor hondenpoepzakjes",
"de": "Dieser Abfalleimer hat keinen Spender für (Hunde-)Kotbeutel"
}
},
@@ -129,6 +132,7 @@
"if": "vending=",
"then": {
"en": "This waste basket does not have a dispenser for (dog) excrement bags",
+ "nl": "Deze vuilnisbak heeft geen verdeler voor hondenpoepzakjes",
"de": "Dieser Abfalleimer hat keinen Spender für (Hunde-)Kotbeutel"
},
"hideInAnwer": true