From 05e38696723347d9145426fdf12c35177f74c1f2 Mon Sep 17 00:00:00 2001 From: Robin van der Linde Date: Tue, 5 Jul 2022 15:22:11 +0200 Subject: [PATCH 01/11] Parking details, generate translations --- assets/layers/parking/parking.json | 157 ++++++++++++- langs/layers/en.json | 80 ++++++- langs/layers/it.json | 364 +++++++++++++++++++++++++++++ langs/layers/nl.json | 75 +++++- langs/themes/it.json | 4 + 5 files changed, 672 insertions(+), 8 deletions(-) diff --git a/assets/layers/parking/parking.json b/assets/layers/parking/parking.json index 3363bbc3c..94cbd7d8a 100644 --- a/assets/layers/parking/parking.json +++ b/assets/layers/parking/parking.json @@ -26,7 +26,160 @@ "es": "Una capa que muestra aparcamientos para coches" }, "tagRenderings": [ - "images" + "images", + { + "id": "parking-type", + "mappings": [ + { + "if": "parking=surface", + "then": { + "en": "This is a surface parking lot", + "nl": "Dit is een bovengronds parkeerterrein" + } + }, + { + "if": "parking=street_side", + "then": { + "en": "This is a parking bay next to a street", + "nl": "Dit is een parkeerplek langs een weg" + } + }, + { + "if": "parking=underground", + "then": { + "en": "This is an underground parking garage", + "nl": "Dit is een ondergrondse parkeergarage" + } + }, + { + "if": "parking=multi-storey", + "then": { + "en": "This is a multi-storey parking garage", + "nl": "Dit is een bovengrondse parkeergarage met meerdere verdiepingen" + } + }, + { + "if": "parking=rooftop", + "then": { + "en": "This is a rooftop parking deck", + "nl": "Dit is een parkeerdek op een dak" + } + }, + { + "if": "parking=lane", + "then": { + "en": "This is a lane for parking on the road", + "nl": "Dit is een strook voor parkeren op de weg" + } + }, + { + "if": "parking=carports", + "then": { + "en": "This is parking covered by carports", + "nl": "Dit is parking overdekt met carports" + } + }, + { + "if": "parking=garage_boxes", + "then": { + "en": "This a parking consisting of garage boxes", + "nl": "Dit is een parking bestaande uit garageboxen" + } + }, + { + "if": "parking=layby", + "then": { + "en": "This is a parking on a layby", + "nl": "Dit is een parkeerplek op een layby" + } + }, + { + "if": "parking=sheds", + "then": { + "en": "This is a parking consisting of sheds", + "nl": "Dit is een parking bestaande uit schuren" + } + } + ], + "question": { + "en": "What kind of parking is this?", + "nl": "Wat voor parking is dit?" + } + }, + { + "id": "capacity-disabled", + "freeform": { + "key": "capacity:disabled", + "type": "pnat", + "placeholder": { + "en": "Amount of parking spots reserved for disabled people", + "nl": "Aantal parkeerplaatsen voor gehandicapten" + } + }, + "mappings": [ + { + "if": "capacity:disabled=yes", + "then": { + "en": "There are disabled parking spots, but it is not known how many", + "nl": "Er zijn parkeerplaatsen voor gehandicapten, maar het is niet bekend hoeveel er zijn" + }, + "hideInAnswer": true + }, + { + "if": "capacity:disabled=no", + "then": { + "en": "There are no disabled parking spots", + "nl": "Er zijn geen parkeerplaatsen voor gehandicapten" + }, + "hideInAnswer": true + } + ], + "question": { + "en": "How many disabled parking spots are there at this parking?", + "nl": "Hoeveel parkeerplaatsen voor gehandicapten zijn er op deze parking?" + }, + "render": { + "en": "There are {{capacity:disabled}} disabled parking spots", + "nl": "Er zijn {{capacity:disabled}} parkeerplaatsen voor gehandicapten" + } + }, + { + "id": "capacity", + "freeform": { + "key": "capacity", + "type": "pnat", + "placeholder": { + "en": "Amount of parking spots", + "nl": "Aantal parkeerplaatsen" + } + }, + "mappings": [ + { + "if": "capacity=yes", + "then": { + "en": "There are parking spots, but it is not known how many", + "nl": "Er zijn parkeerplaatsen, maar het is niet bekend hoeveel er zijn" + }, + "hideInAnswer": true + }, + { + "if": "capacity=no", + "then": { + "en": "There are no parking spots", + "nl": "Er zijn geen parkeerplaatsen" + }, + "hideInAnswer": true + } + ], + "question": { + "en": "How many parking spots are there at this parking?", + "nl": "Hoeveel parkeerplaatsen zijn er op deze parking?" + }, + "render": { + "en": "There are {{capacity}} parking spots", + "nl": "Er zijn {{capacity}} parkeerplaatsen" + } + } ], "presets": [ { @@ -52,7 +205,7 @@ }, "allowMove": { "enableRelocation": false, - "enableImproveAccuraccy": true + "enableImproveAccuracy": true }, "mapRendering": [ { diff --git a/langs/layers/en.json b/langs/layers/en.json index 01aa1fabb..d175ca8b4 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -3568,6 +3568,11 @@ "0": { "explanation": "{title()} has closed down permanently" } + }, + "nonDeleteMappings": { + "0": { + "then": "This is actually a pub" + } } }, "description": "A layer showing restaurants and fast-food amenities (with a special rendering for friteries)", @@ -4616,6 +4621,73 @@ "title": "a car parking" } }, + "tagRenderings": { + "capacity": { + "freeform": { + "placeholder": "Amount of parking spots" + }, + "mappings": { + "0": { + "then": "There are parking spots, but it is not known how many" + }, + "1": { + "then": "There are no parking spots" + } + }, + "question": "How many parking spots are there at this parking?", + "render": "There are {{capacity}} parking spots" + }, + "capacity-disabled": { + "freeform": { + "placeholder": "Amount of parking spots reserved for disabled people" + }, + "mappings": { + "0": { + "then": "There are disabled parking spots, but it is not known how many" + }, + "1": { + "then": "There are no disabled parking spots" + } + }, + "question": "How many disabled parking spots are there at this parking?", + "render": "There are {{capacity:disabled}} disabled parking spots" + }, + "parking-type": { + "mappings": { + "0": { + "then": "This is a surface parking lot" + }, + "1": { + "then": "This is a parking bay next to a street" + }, + "2": { + "then": "This is an underground parking garage" + }, + "3": { + "then": "This is a multi-storey parking garage" + }, + "4": { + "then": "This is a rooftop parking deck" + }, + "5": { + "then": "This is a lane for parking on the road" + }, + "6": { + "then": "This is parking covered by carports" + }, + "7": { + "then": "This a parking consisting of garage boxes" + }, + "8": { + "then": "This is a parking on a layby" + }, + "9": { + "then": "This is a parking consisting of sheds" + } + }, + "question": "What kind of parking is this?" + } + }, "title": { "render": "Car parking" } @@ -5279,11 +5351,13 @@ } }, "tagRenderings": { + "2": { + "override": { + "question": "What kind of shop is this?" + } + }, "shops-name": { "question": "What is the name of this shop?" - }, - "shops-type-from-id": { - "question": "What kind of shop is this?" } }, "title": { diff --git a/langs/layers/it.json b/langs/layers/it.json index a76a3b1d8..09efa26b6 100644 --- a/langs/layers/it.json +++ b/langs/layers/it.json @@ -1756,6 +1756,218 @@ "render": "Microbiblioteca" } }, + "recycling": { + "description": "Un livello con i contenitori e centri per la raccolta rifiuti riciclabili", + "filter": { + "0": { + "options": { + "0": { + "question": "Aperto ora" + } + } + }, + "1": { + "options": { + "0": { + "question": "Tutti i tipi di rifiuti" + }, + "1": { + "question": "Riciclo di batterie" + }, + "2": { + "question": "Riciclo di confezioni per bevande" + }, + "3": { + "question": "Riciclo di lattine" + }, + "4": { + "question": "Riciclo di abiti" + }, + "5": { + "question": "Riciclo di olio da cucina" + }, + "6": { + "question": "Riciclo di olio da motore" + }, + "7": { + "question": "Riciclo di umido" + }, + "8": { + "question": "Riciclo di bottiglie di vetro" + }, + "9": { + "question": "Riciclo di vetro" + }, + "10": { + "question": "Riciclo di giornali" + }, + "11": { + "question": "Riciclo di carta" + }, + "12": { + "question": "Riciclo di bottiglie di plastica" + }, + "13": { + "question": "Riciclo di confezioni di plastica" + }, + "14": { + "question": "Riciclo di plastica" + }, + "15": { + "question": "Riciclo di rottami metallici" + }, + "16": { + "question": "Riciclo di piccoli elettrodomestici" + }, + "17": { + "question": "Riciclo di secco" + } + } + } + }, + "name": "Riciclo", + "presets": { + "0": { + "title": "un contenitore per il riciclo" + }, + "1": { + "title": "un centro di riciclo" + } + }, + "tagRenderings": { + "container-location": { + "mappings": { + "0": { + "then": "E' un contenitore sotterraneo" + }, + "1": { + "then": "Questo contenitore è al chiuso" + }, + "2": { + "then": "Questo contenitore è all'aperto" + } + }, + "question": "Dove si trova questo contenitore?" + }, + "opening_hours": { + "mappings": { + "0": { + "then": "24/7" + } + }, + "question": "Quali sono gli orari di apertura di questo impianto di raccolta e riciclo?" + }, + "operator": { + "question": "Quale azienda gestisce questo impianto di raccolta e riciclo?", + "render": "Questa struttura di raccola e riciclo è gestita da {operator}" + }, + "recycling-accepts": { + "mappings": { + "0": { + "then": "Batterie" + }, + "1": { + "then": "Cartoni per bevande" + }, + "2": { + "then": "Lattine" + }, + "3": { + "then": "Abiti" + }, + "4": { + "then": "Olio da cucina" + }, + "5": { + "then": "Olio di motore" + }, + "6": { + "then": "Verde" + }, + "7": { + "then": "Umido" + }, + "8": { + "then": "Bottiglie di vetro" + }, + "9": { + "then": "Vetro" + }, + "10": { + "then": "Giornali" + }, + "11": { + "then": "Carta" + }, + "12": { + "then": "Bottiglie di platica" + }, + "13": { + "then": "Confezioni di plastica" + }, + "14": { + "then": "Plastica" + }, + "15": { + "then": "Rottami metallici" + }, + "16": { + "then": "Scarpe" + }, + "17": { + "then": "Piccoli elettrodomestici" + }, + "18": { + "then": "Piccoli elettrodomestici" + }, + "19": { + "then": "Aghi e oggetti appuntiti" + }, + "20": { + "then": "Secco" + } + }, + "question": "Cosa si può riciclare qui?" + }, + "recycling-centre-name": { + "mappings": { + "0": { + "then": "Questo centro raccolta e riciclo rifiuti non ha un nome specifico" + } + }, + "question": "Come si chiama questo centro raccolta e riciclo rifiuti?", + "render": "Questo centro raccolta e riciclo rifiuti si chiama {name}" + }, + "recycling-type": { + "mappings": { + "0": { + "then": "Questo è un contenitore per il riciclo di rifiuti" + }, + "1": { + "then": "Questo è un centro per la raccola e riciclo di rifiuti" + }, + "2": { + "then": "Contenitore per lo smaltimento del secco" + } + }, + "question": "Che tipo di raccolta è questo?" + } + }, + "title": { + "mappings": { + "0": { + "then": "Centro di riciclo rifiuti" + }, + "1": { + "then": "Centro di riciclo rifiuti" + }, + "2": { + "then": "Contenitore per il riciclo" + } + }, + "render": "Impianti di riciclo" + } + }, "slow_roads": { "tagRenderings": { "slow_roads-surface": { @@ -2259,6 +2471,158 @@ "render": "Punto panoramico" } }, + "waste_basket": { + "description": "Questo è un cestino dei rifiuti pubblico, un bidone della spazzatura, dove puoi buttare via la tua spazzatura", + "filter": { + "0": { + "options": { + "0": { + "question": "Tutti i tipi" + }, + "1": { + "question": "Cestino per sigarette" + }, + "2": { + "question": "Cestino per medicinali" + }, + "3": { + "question": "Cestino per escrementi dei cani" + }, + "4": { + "question": "Cestino per la spazzatura" + }, + "5": { + "question": "Cestino dei rifiuti per oggetti taglienti" + }, + "6": { + "question": "Cestino per la plastica" + } + } + }, + "1": { + "options": { + "0": { + "question": "Cestino per rifiuti con dispenser per sacchetti per escrementi dei cani" + } + } + } + }, + "mapRendering": { + "0": { + "iconSize": { + "mappings": { + "0": { + "then": "Cestino dei rifiuti" + } + } + } + } + }, + "name": "Cestino dei rifiuti", + "presets": { + "0": { + "title": "un cestino dei rifiuti" + } + }, + "tagRenderings": { + "dispensing_dog_bags": { + "mappings": { + "0": { + "then": "Questo cestino ha un distributore di sacchetti per escrementi dei cani" + }, + "1": { + "then": "Questo cestino non ha un distributore di sacchetti per escrementi dei cani" + }, + "2": { + "then": "Questo cestino non ha un distributore di sacchetti per escrementi dei cani" + } + }, + "question": "Questo cestino ha un distributore di sacchetti per escrementi dei cani?" + }, + "waste-basket-waste-types": { + "mappings": { + "0": { + "then": "Un cestino rifiuti per uso generico" + }, + "1": { + "then": "Un cestino rifiuti per uso generico" + }, + "2": { + "then": "Un cestino rifiuti per escrementi di cani" + }, + "3": { + "then": "Un cestino rifiuti per sigarette" + }, + "4": { + "then": "Un cestino rifiuti per medicinali" + }, + "5": { + "then": "Un cestino rifiuti per aghi e altri oggetti appuntiti" + }, + "6": { + "then": "Un cestino rifiuti per la plastica" + } + }, + "question": "Che tipo di cestino dei rifiuti è questo?" + } + }, + "title": { + "render": "Cestino dei rifiuti" + } + }, + "waste_disposal": { + "description": "Cestino per lo smaltimento dei rifiuti, contenitore di dimensioni medio grandi per lo smaltimento dei rifiuti (domestici)", + "filter": { + "0": { + "options": { + "0": { + "question": "Solo accesso pubblico" + } + } + } + }, + "name": "Contenitori per la raccolta differenziata", + "presets": { + "0": { + "description": "Cestino di dimensioni medio-grandi per lo smaltimento dei rifiuti (domestici)", + "title": "un raccoglitore per lo smaltimento rifiuti" + } + }, + "tagRenderings": { + "access": { + "mappings": { + "0": { + "then": "Questo cestino può essere usato da chiunque" + }, + "1": { + "then": "Questo cestino è privato" + }, + "2": { + "then": "Questo cestino è solo per residenti" + } + }, + "question": "Chi può utilizzare questo cestino per lo smaltimento dei rifiuti?", + "render": "Accesso: {access}" + }, + "disposal-location": { + "mappings": { + "0": { + "then": "Questo è un contenitore sotterraneo" + }, + "1": { + "then": "Questo contenitore è al chiuso" + }, + "2": { + "then": "Questo contenitore è all'aperto" + } + }, + "question": "Dove si trova questo contenitore?" + } + }, + "title": { + "render": "Smaltimento rifiuti" + } + }, "windturbine": { "name": "pala eolica", "presets": { diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 96d2abc4f..f46d4b970 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -4505,6 +4505,73 @@ "title": "een parking voor auto's" } }, + "tagRenderings": { + "capacity": { + "freeform": { + "placeholder": "Aantal parkeerplaatsen" + }, + "mappings": { + "0": { + "then": "Er zijn parkeerplaatsen, maar het is niet bekend hoeveel er zijn" + }, + "1": { + "then": "Er zijn geen parkeerplaatsen" + } + }, + "question": "Hoeveel parkeerplaatsen zijn er op deze parking?", + "render": "Er zijn {{capacity}} parkeerplaatsen" + }, + "capacity-disabled": { + "freeform": { + "placeholder": "Aantal parkeerplaatsen voor gehandicapten" + }, + "mappings": { + "0": { + "then": "Er zijn parkeerplaatsen voor gehandicapten, maar het is niet bekend hoeveel er zijn" + }, + "1": { + "then": "Er zijn geen parkeerplaatsen voor gehandicapten" + } + }, + "question": "Hoeveel parkeerplaatsen voor gehandicapten zijn er op deze parking?", + "render": "Er zijn {{capacity:disabled}} parkeerplaatsen voor gehandicapten" + }, + "parking-type": { + "mappings": { + "0": { + "then": "Dit is een bovengronds parkeerterrein" + }, + "1": { + "then": "Dit is een parkeerplek langs een weg" + }, + "2": { + "then": "Dit is een ondergrondse parkeergarage" + }, + "3": { + "then": "Dit is een bovengrondse parkeergarage met meerdere verdiepingen" + }, + "4": { + "then": "Dit is een parkeerdek op een dak" + }, + "5": { + "then": "Dit is een strook voor parkeren op de weg" + }, + "6": { + "then": "Dit is parking overdekt met carports" + }, + "7": { + "then": "Dit is een parking bestaande uit garageboxen" + }, + "8": { + "then": "Dit is een parkeerplek op een layby" + }, + "9": { + "then": "Dit is een parking bestaande uit schuren" + } + }, + "question": "Wat voor parking is dit?" + } + }, "title": { "render": "Parking voor auto's" } @@ -5183,11 +5250,13 @@ } }, "tagRenderings": { + "2": { + "override": { + "question": "Wat voor soort winkel is dit?" + } + }, "shops-name": { "question": "Wat is de naam van deze winkel?" - }, - "shops-type-from-id": { - "question": "Wat voor soort winkel is dit?" } }, "title": { diff --git a/langs/themes/it.json b/langs/themes/it.json index f9518d0d4..fbed99743 100644 --- a/langs/themes/it.json +++ b/langs/themes/it.json @@ -577,6 +577,10 @@ "shortDescription": "Mappa tutti gli alberi", "title": "Alberi" }, + "waste": { + "description": "Mappa dei cestini per i rifiuti e i centri di raccolta e riciclo rifiuti.", + "title": "Rifiuti" + }, "waste_basket": { "description": "In questa cartina troverai i cestini dei rifiuti nei tuoi paraggi. Se manca un cestino, puoi inserirlo tu stesso", "shortDescription": "Una cartina dei cestini dei rifiuti", From b477fdfee1553b357a9f93778d3f2bff5007a043 Mon Sep 17 00:00:00 2001 From: Robin van der Linde Date: Wed, 6 Jul 2022 09:33:27 +0000 Subject: [PATCH 02/11] Fix double braces --- assets/layers/kerbs/kerbs.json | 4 +- assets/layers/parking/parking.json | 8 ++-- .../mapcomplete-changes.json | 39 ++++++++++++------- langs/layers/en.json | 6 +-- langs/layers/nl.json | 6 +-- 5 files changed, 38 insertions(+), 25 deletions(-) diff --git a/assets/layers/kerbs/kerbs.json b/assets/layers/kerbs/kerbs.json index a9f20f6de..777555eb0 100644 --- a/assets/layers/kerbs/kerbs.json +++ b/assets/layers/kerbs/kerbs.json @@ -150,8 +150,8 @@ "nl": "Hoe hoog is deze stoeprand?" }, "render": { - "en": "Kerb height: {{kerb:height}}", - "nl": "Stoeprandhoogte: {{kerb:height}}" + "en": "Kerb height: {kerb:height}", + "nl": "Stoeprandhoogte: {kerb:height}" }, "freeform": { "key": "kerb:height", diff --git a/assets/layers/parking/parking.json b/assets/layers/parking/parking.json index 94cbd7d8a..c1b65b255 100644 --- a/assets/layers/parking/parking.json +++ b/assets/layers/parking/parking.json @@ -139,8 +139,8 @@ "nl": "Hoeveel parkeerplaatsen voor gehandicapten zijn er op deze parking?" }, "render": { - "en": "There are {{capacity:disabled}} disabled parking spots", - "nl": "Er zijn {{capacity:disabled}} parkeerplaatsen voor gehandicapten" + "en": "There are {capacity:disabled} disabled parking spots", + "nl": "Er zijn capacity:disabled} parkeerplaatsen voor gehandicapten" } }, { @@ -176,8 +176,8 @@ "nl": "Hoeveel parkeerplaatsen zijn er op deze parking?" }, "render": { - "en": "There are {{capacity}} parking spots", - "nl": "Er zijn {{capacity}} parkeerplaatsen" + "en": "There are {capacity} parking spots", + "nl": "Er zijn {capacity} parkeerplaatsen" } } ], diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json index c21ef5df7..143288b53 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json @@ -1,13 +1,16 @@ { "id": "mapcomplete-changes", "title": { - "en": "Changes made with MapComplete" + "en": "Changes made with MapComplete", + "nl": "Wijzigingen gemaakt met MapComplete" }, "shortDescription": { - "en": "Shows changes made by MapComplete" + "en": "Shows changes made by MapComplete", + "nl": "Toont wijzigingen gemaakt met MapComplete" }, "description": { - "en": "This maps shows all the changes made with MapComplete" + "en": "This maps shows all the changes made with MapComplete", + "nl": "Deze kaart toont alle wijzigingen die met MapComplete werden gemaakt" }, "maintainer": "", "icon": "./assets/svg/logo.svg", @@ -36,35 +39,41 @@ ], "title": { "render": { - "en": "Changeset for {theme}" + "en": "Changeset for {theme}", + "nl": "Wijzigingset voor {theme}" } }, "description": { - "en": "Shows all MapComplete changes" + "en": "Shows all MapComplete changes", + "nl": "Toont alle wijzigingen met MapComplete" }, "tagRenderings": [ { "id": "render_id", "render": { - "en": "Changeset {id}" + "en": "Changeset {id}", + "nl": "Wijzigingset {id}" } }, { "id": "contributor", "render": { - "en": "Change made by {_last_edit:contributor}" + "en": "Change made by {_last_edit:contributor}", + "nl": "Wijziging gemaakt door {_last_edit:contributor}" } }, { "id": "theme", "render": { - "en": "Change with theme {theme}" + "en": "Change with theme {theme}", + "nl": "Wijziging met thema {theme}" }, "mappings": [ { "if": "theme~http.*", "then": { - "en": "Change with unofficial theme {theme}" + "en": "Change with unofficial theme {theme}", + "nl": "Wijziging met officieus thema {theme}" } } ] @@ -344,7 +353,8 @@ } ], "question": { - "en": "Themename contains {search}" + "en": "Themename contains {search}", + "nl": "Themanaam bevat {search}" } } ] @@ -360,7 +370,8 @@ } ], "question": { - "en": "Made by contributor {search}" + "en": "Made by contributor {search}", + "nl": "Gemaakt door bijdrager {search}" } } ] @@ -376,7 +387,8 @@ } ], "question": { - "en": "Not made by contributor {search}" + "en": "Not made by contributor {search}", + "nl": "Niet gemaakt door bijdrager {search}" } } ] @@ -391,7 +403,8 @@ { "id": "link_to_more", "render": { - "en": "More statistics can be found here" + "en": "More statistics can be found here", + "nl": "Meer statistieken kunnen hier gevonden worden" } }, { diff --git a/langs/layers/en.json b/langs/layers/en.json index d175ca8b4..72a6f6eaf 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -4127,7 +4127,7 @@ "placeholder": "Height of the kerb" }, "question": "What is the height of this kerb?", - "render": "Kerb height: {{kerb:height}}" + "render": "Kerb height: {kerb:height}" }, "kerb-type": { "mappings": { @@ -4635,7 +4635,7 @@ } }, "question": "How many parking spots are there at this parking?", - "render": "There are {{capacity}} parking spots" + "render": "There are {capacity} parking spots" }, "capacity-disabled": { "freeform": { @@ -4650,7 +4650,7 @@ } }, "question": "How many disabled parking spots are there at this parking?", - "render": "There are {{capacity:disabled}} disabled parking spots" + "render": "There are {capacity:disabled} disabled parking spots" }, "parking-type": { "mappings": { diff --git a/langs/layers/nl.json b/langs/layers/nl.json index f46d4b970..6d1f8c96d 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -4035,7 +4035,7 @@ "placeholder": "Hoogte van de stoeprand" }, "question": "Hoe hoog is deze stoeprand?", - "render": "Stoeprandhoogte: {{kerb:height}}" + "render": "Stoeprandhoogte: {kerb:height}" }, "kerb-type": { "mappings": { @@ -4519,7 +4519,7 @@ } }, "question": "Hoeveel parkeerplaatsen zijn er op deze parking?", - "render": "Er zijn {{capacity}} parkeerplaatsen" + "render": "Er zijn {capacity} parkeerplaatsen" }, "capacity-disabled": { "freeform": { @@ -4534,7 +4534,7 @@ } }, "question": "Hoeveel parkeerplaatsen voor gehandicapten zijn er op deze parking?", - "render": "Er zijn {{capacity:disabled}} parkeerplaatsen voor gehandicapten" + "render": "Er zijn capacity:disabled} parkeerplaatsen voor gehandicapten" }, "parking-type": { "mappings": { From fbe11d4a908ecc768e9d60bd690dad4fdcee640d Mon Sep 17 00:00:00 2001 From: pietervdvn Date: Tue, 12 Jul 2022 10:45:08 +0200 Subject: [PATCH 03/11] Fix reset:layeroverview, improve rainbow map --- assets/themes/rainbow_crossings/rainbow_crossings.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/themes/rainbow_crossings/rainbow_crossings.json b/assets/themes/rainbow_crossings/rainbow_crossings.json index d05e6c5f6..32fe470a3 100644 --- a/assets/themes/rainbow_crossings/rainbow_crossings.json +++ b/assets/themes/rainbow_crossings/rainbow_crossings.json @@ -15,7 +15,6 @@ "startZoom": 16, "widenFactor": 2, "layers": [ - "rainbow_crossings", { "builtin": "rainbow_crossings", "override": { @@ -30,6 +29,7 @@ } } }, + "rainbow_crossings", { "builtin": "cycleways_and_roads", "override": { diff --git a/package.json b/package.json index 1d97a1908..78485fa28 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "generate:schemas": "ts2json-schema -p Models/ThemeConfig/Json/ -o Docs/Schemas/ -t tsconfig.json -R . -m \".*ConfigJson\" && ts-node scripts/fixSchemas.ts ", "generate:service-worker": "tsc service-worker.ts && git_hash=$(git rev-parse HEAD) && sed -i \"s/GITHUB-COMMIT/$git_hash/\" service-worker.js", "optimize-images": "cd assets/generated/ && find -name '*.png' -exec optipng '{}' \\; && echo 'PNGs are optimized'", - "reset:layeroverview": "echo {\\\"layers\\\":[], \\\"themes\\\":[]} > ./assets/generated/known_layers_and_themes.json && echo {\\\"layers\\\": []} > ./assets/generated/known_layers.json && rm ./asssets/generated/layers/* && rm ./assets/generated/themes/*", + "reset:layeroverview": "echo {\\\"layers\\\":[], \\\"themes\\\":[]} > ./assets/generated/known_layers_and_themes.json && echo {\\\"layers\\\": []} > ./assets/generated/known_layers.json && rm -f ./asssets/generated/layers/*.json && rm -f ./assets/generated/themes/*.json && npm run generate:layeroverview && ts-node scripts/generateLayerOverview.ts --force", "generate": "mkdir -p ./assets/generated; npm run reset:layeroverview; npm run generate:images; npm run generate:charging-stations; npm run generate:translations; npm run generate:licenses; npm run generate:layeroverview; npm run generate:service-worker", "generate:charging-stations": "cd ./assets/layers/charging_station && ts-node csvToJson.ts && cd -", "prepare-deploy": "npm run generate:service-worker && ./scripts/build.sh", From 19aab0358b256d80e5872da1857841ee3d7de0af Mon Sep 17 00:00:00 2001 From: pietervdvn Date: Tue, 12 Jul 2022 14:20:21 +0200 Subject: [PATCH 04/11] Fix #947 --- manifest.webmanifest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.webmanifest b/manifest.webmanifest index 1e577af78..5679708fc 100644 --- a/manifest.webmanifest +++ b/manifest.webmanifest @@ -1,5 +1,5 @@ { - "name": "index", + "name": "MapComplete", "short_name": "MapComplete", "start_url": "index.html", "lang": "en", From a7b0db24161cacdcd5293529c6ede1fe48f57e5f Mon Sep 17 00:00:00 2001 From: pietervdvn Date: Tue, 12 Jul 2022 14:20:40 +0200 Subject: [PATCH 05/11] Fix build, formatting --- assets/themes/rainbow_crossings/crossing.svg | 2 ++ assets/themes/rainbow_crossings/logo.svg | 2 +- assets/themes/rainbow_crossings/rainbow_crossings.json | 8 ++++---- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/assets/themes/rainbow_crossings/crossing.svg b/assets/themes/rainbow_crossings/crossing.svg index 37304af0f..468f421dd 100644 --- a/assets/themes/rainbow_crossings/crossing.svg +++ b/assets/themes/rainbow_crossings/crossing.svg @@ -1,6 +1,8 @@ - + diff --git a/assets/themes/rainbow_crossings/rainbow_crossings.json b/assets/themes/rainbow_crossings/rainbow_crossings.json index 32fe470a3..1a63df6fc 100644 --- a/assets/themes/rainbow_crossings/rainbow_crossings.json +++ b/assets/themes/rainbow_crossings/rainbow_crossings.json @@ -24,7 +24,9 @@ "=presets": [], "source": { "osmTags": { - "and+": ["crossing:marking=rainbow"] + "and+": [ + "crossing:marking=rainbow" + ] } } } @@ -38,6 +40,4 @@ } } ] -} - - +} \ No newline at end of file From d50b60f07a1cd7de2ed09c0d06ea3b91df32e42b Mon Sep 17 00:00:00 2001 From: pietervdvn Date: Tue, 12 Jul 2022 14:21:14 +0200 Subject: [PATCH 06/11] Fix caching behaviour of service worker --- service-worker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/service-worker.ts b/service-worker.ts index 56e006a4e..d50009104 100644 --- a/service-worker.ts +++ b/service-worker.ts @@ -71,7 +71,7 @@ self.addEventListener('fetch', event.respondWith(new Response(JSON.stringify({"service-worker-version": version}))); return } - const shouldBeCached = origin.host === requestUrl.host && origin.host !== "127.0.0.1:1234" && origin.host !== "localhost" && !origin.host.endsWith(".gitpod.io") + const shouldBeCached = origin.host === requestUrl.host && origin.hostname !== "127.0.0.1" && origin.hostname !== "localhost" && !origin.host.endsWith(".gitpod.io") if (!shouldBeCached) { console.log("Not intercepting ", requestUrl.toString(), origin.host, requestUrl.host) // We return _without_ calling event.respondWith, which signals the browser that it'll have to handle it himself From 02711c43c3166d4835257ad09a4d22c441af5e0f Mon Sep 17 00:00:00 2001 From: pietervdvn Date: Tue, 12 Jul 2022 14:22:14 +0200 Subject: [PATCH 07/11] Actually use awaits where appropriate --- scripts/generateLayouts.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/scripts/generateLayouts.ts b/scripts/generateLayouts.ts index 546d26350..1272117c5 100644 --- a/scripts/generateLayouts.ts +++ b/scripts/generateLayouts.ts @@ -165,7 +165,7 @@ async function createManifest(layout: LayoutConfig, alreadyWritten: string[]): P const ogDescr = Translations.T(layout.description ?? "").txt; const manifest = { - name: name, + name: ogTitle, short_name: ogTitle, start_url: `${layout.id.toLowerCase()}.html`, lang: "en", @@ -257,7 +257,7 @@ async function createLandingPage(layout: LayoutConfig, manifest, whiteIcons, alr .replace(/.*/s, themeSpecific) .replace(/.*/s, layout.shortDescription.textFor(targetLanguage)) .replace("", ``); - +0 try { output = output .replace(/.*/s, ``) @@ -320,10 +320,9 @@ async function main(): Promise { writeFile(manifestLocation, manif, err); // Create a landing page for the given theme - createLandingPage(layout, manifest, whiteIcons, alreadyWritten).then(landing => { - writeFile(enc(layout.id) + ".html", landing, err) - }); - createIndexFor(layout) + const landing = await createLandingPage(layout, manifest, whiteIcons, alreadyWritten) + writeFile(enc(layout.id) + ".html", landing, err) + await createIndexFor(layout) } From 1c5e9426aac14a847fcd116d47e538c28556a184 Mon Sep 17 00:00:00 2001 From: Robin van der Linde Date: Wed, 13 Jul 2022 11:01:08 +0200 Subject: [PATCH 08/11] Remove useless mapping --- assets/layers/parking/parking.json | 18 ------------------ langs/layers/en.json | 8 -------- langs/layers/nl.json | 8 -------- 3 files changed, 34 deletions(-) diff --git a/assets/layers/parking/parking.json b/assets/layers/parking/parking.json index 94cbd7d8a..4490ad695 100644 --- a/assets/layers/parking/parking.json +++ b/assets/layers/parking/parking.json @@ -153,24 +153,6 @@ "nl": "Aantal parkeerplaatsen" } }, - "mappings": [ - { - "if": "capacity=yes", - "then": { - "en": "There are parking spots, but it is not known how many", - "nl": "Er zijn parkeerplaatsen, maar het is niet bekend hoeveel er zijn" - }, - "hideInAnswer": true - }, - { - "if": "capacity=no", - "then": { - "en": "There are no parking spots", - "nl": "Er zijn geen parkeerplaatsen" - }, - "hideInAnswer": true - } - ], "question": { "en": "How many parking spots are there at this parking?", "nl": "Hoeveel parkeerplaatsen zijn er op deze parking?" diff --git a/langs/layers/en.json b/langs/layers/en.json index d175ca8b4..893237ebd 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -4626,14 +4626,6 @@ "freeform": { "placeholder": "Amount of parking spots" }, - "mappings": { - "0": { - "then": "There are parking spots, but it is not known how many" - }, - "1": { - "then": "There are no parking spots" - } - }, "question": "How many parking spots are there at this parking?", "render": "There are {{capacity}} parking spots" }, diff --git a/langs/layers/nl.json b/langs/layers/nl.json index f46d4b970..66ad00a5d 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -4510,14 +4510,6 @@ "freeform": { "placeholder": "Aantal parkeerplaatsen" }, - "mappings": { - "0": { - "then": "Er zijn parkeerplaatsen, maar het is niet bekend hoeveel er zijn" - }, - "1": { - "then": "Er zijn geen parkeerplaatsen" - } - }, "question": "Hoeveel parkeerplaatsen zijn er op deze parking?", "render": "Er zijn {{capacity}} parkeerplaatsen" }, From ab7b6d9d469d8100e775452417f3ee650b9643ab Mon Sep 17 00:00:00 2001 From: Robin van der Linde Date: Wed, 13 Jul 2022 11:06:43 +0200 Subject: [PATCH 09/11] Generate translations --- assets/layers/doctors/doctors.json | 286 +++++++++--------- assets/layers/kerbs/kerbs.json | 6 +- .../rainbow_crossings/rainbow_crossings.json | 17 +- .../mapcomplete-changes.json | 42 ++- assets/themes/onwheels/onwheels.json | 12 +- langs/layers/de.json | 2 +- langs/layers/en.json | 34 +++ langs/themes/en.json | 8 + 8 files changed, 232 insertions(+), 175 deletions(-) diff --git a/assets/layers/doctors/doctors.json b/assets/layers/doctors/doctors.json index 8979e43c0..eefedaf8d 100644 --- a/assets/layers/doctors/doctors.json +++ b/assets/layers/doctors/doctors.json @@ -1,147 +1,147 @@ { - "id": "doctors", - "name": { - "en": "doctors" + "id": "doctors", + "name": { + "en": "doctors" + }, + "description": { + "en": "This layer shows doctor offices, dentists and other healthcare facilities" + }, + "source": { + "osmTags": { + "or": [ + "amenity=doctors", + "amenity=dentist", + "healthcare=physiotherapist" + ] + } + }, + "title": { + "render": { + "en": "Doctors Office {name}" }, - "description": { - "en": "This layer shows doctor offices, dentists and other healthcare facilities" - }, - "source": { - "osmTags": { - "or": [ - "amenity=doctors", - "amenity=dentist", - "healthcare=physiotherapist" - ] - } - }, - "title": { - "render": { - "en": "Doctors Office {name}" - }, - "mappings": [ - { - "if": "amenity=doctors", - "then": "Doctors Office {name}" - }, - { - "if": "amenity=dentist", - "then": "Dentists office {name}" - }, - { - "if": "healthcare=physiotherapist", - "then": "Physiotherapists office {name}" - } - ] - }, - "minzoom": 13, - "tagRenderings": [ - "images", - "opening_hours", - "phone", - "email", - "website", - { - "question": { - "en": "What is the name of this doctors place?" - }, - "render": { - "en": "This doctors place is called {name}" - }, - "freeform": { - "key": "name" - }, - "id": "name" - }, - { - "condition": "amenity=doctors", - "id": "specialty", - "render": { - "en": "This doctor is specialized in {healthcare:speciality}" - }, - "question": { - "en": "What is this doctor specialized in?" - }, - "freeform": { - "key": "healthcare:speciality" - }, - "mappings": [ - { - "if": "healthcare:speciality=general", - "then": { - "en": "This is a general practitioner" - } - }, - { - "if": "healthcare:speciality=gynaecology", - "then": { - "en": "This is a gynaecologist" - } - }, - { - "if": "healthcare:speciality=psychiatry", - "then": { - "en": "This is a psychiatrist" - } - }, - { - "if": "healthcare:speciality=paediatrics", - "then": { - "en": "This is a paediatrician" - } - } - ] - } - ], - "presets": [ - { - "title": { - "en": "a doctors office" - }, - "tags": [ - "amenity=doctors" - ] - }, - { - "title": { - "en": "a dentists office" - }, - "tags": [ - "amenity=dentist" - ] - }, - { - "title": { - "en": "a physiotherapists office" - }, - "tags": [ - "healthcare=physiotherapist" - ] - } - ], - "filter": [ - { - "id": "opened-now", - "options": [ - { - "question": { - "en": "Opened now" - }, - "osmTags": "_isOpen=yes" - } - ] - } - ], - "mapRendering": [ - { - "icon": { - "render": "circle:white;./assets/layers/doctors/doctors.svg" - }, - "iconSize": "40,40,center", - "location": [ - "point", - "centroid" - ] - } + "mappings": [ + { + "if": "amenity=doctors", + "then": "Doctors Office {name}" + }, + { + "if": "amenity=dentist", + "then": "Dentists office {name}" + }, + { + "if": "healthcare=physiotherapist", + "then": "Physiotherapists office {name}" + } ] + }, + "minzoom": 13, + "tagRenderings": [ + "images", + "opening_hours", + "phone", + "email", + "website", + { + "question": { + "en": "What is the name of this doctors place?" + }, + "render": { + "en": "This doctors place is called {name}" + }, + "freeform": { + "key": "name" + }, + "id": "name" + }, + { + "condition": "amenity=doctors", + "id": "specialty", + "render": { + "en": "This doctor is specialized in {healthcare:speciality}" + }, + "question": { + "en": "What is this doctor specialized in?" + }, + "freeform": { + "key": "healthcare:speciality" + }, + "mappings": [ + { + "if": "healthcare:speciality=general", + "then": { + "en": "This is a general practitioner" + } + }, + { + "if": "healthcare:speciality=gynaecology", + "then": { + "en": "This is a gynaecologist" + } + }, + { + "if": "healthcare:speciality=psychiatry", + "then": { + "en": "This is a psychiatrist" + } + }, + { + "if": "healthcare:speciality=paediatrics", + "then": { + "en": "This is a paediatrician" + } + } + ] + } + ], + "presets": [ + { + "title": { + "en": "a doctors office" + }, + "tags": [ + "amenity=doctors" + ] + }, + { + "title": { + "en": "a dentists office" + }, + "tags": [ + "amenity=dentist" + ] + }, + { + "title": { + "en": "a physiotherapists office" + }, + "tags": [ + "healthcare=physiotherapist" + ] + } + ], + "filter": [ + { + "id": "opened-now", + "options": [ + { + "question": { + "en": "Opened now" + }, + "osmTags": "_isOpen=yes" + } + ] + } + ], + "mapRendering": [ + { + "icon": { + "render": "circle:white;./assets/layers/doctors/doctors.svg" + }, + "iconSize": "40,40,center", + "location": [ + "point", + "centroid" + ] + } + ] } \ No newline at end of file diff --git a/assets/layers/kerbs/kerbs.json b/assets/layers/kerbs/kerbs.json index af185c4d4..ad441c8ec 100644 --- a/assets/layers/kerbs/kerbs.json +++ b/assets/layers/kerbs/kerbs.json @@ -164,9 +164,9 @@ "de": "Wie hoch ist der Bordstein?" }, "render": { - "en": "Kerb height: {{kerb:height}}", - "nl": "Stoeprandhoogte: {{kerb:height}}", - "de": "Bordsteinhöhe: {{kerb:height}}" + "en": "Kerb height: {kerb:height}", + "nl": "Stoeprandhoogte: {kerb:height}", + "de": "Bordsteinhöhe: {kerb:height}" }, "freeform": { "key": "kerb:height", diff --git a/assets/layers/rainbow_crossings/rainbow_crossings.json b/assets/layers/rainbow_crossings/rainbow_crossings.json index 35c99d8d9..d13fe3c03 100644 --- a/assets/layers/rainbow_crossings/rainbow_crossings.json +++ b/assets/layers/rainbow_crossings/rainbow_crossings.json @@ -7,8 +7,7 @@ "en": "A layer showing pedestrian crossings with rainbow paintings" }, "source": { - "osmTags": - "highway=crossing" + "osmTags": "highway=crossing" }, "minzoom": 17, "title": { @@ -38,7 +37,7 @@ ], "tagRenderings": [ "images", - { + { "id": "crossing-with-rainbow", "question": { "en": "Does this crossing has rainbow paintings?" @@ -77,10 +76,12 @@ { "icon": { "render": "./assets/themes/rainbow_crossings/crossing.svg", - "mappings": [{ - "if": "crossing:marking=rainbow", - "then": "./assets/themes/rainbow_crossings/logo.svg" - }] + "mappings": [ + { + "if": "crossing:marking=rainbow", + "then": "./assets/themes/rainbow_crossings/logo.svg" + } + ] }, "iconSize": "40,40,center", "location": [ @@ -89,4 +90,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json index 4e43dc406..ab3cce9cd 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json @@ -2,15 +2,18 @@ "id": "mapcomplete-changes", "title": { "en": "Changes made with MapComplete", - "nl": "Wijzigingen gemaakt met MapComplete" + "nl": "Wijzigingen gemaakt met MapComplete", + "de": "Mit MapComplete vorgenommene Änderungen" }, "shortDescription": { "en": "Shows changes made by MapComplete", - "nl": "Toont wijzigingen gemaakt met MapComplete" + "nl": "Toont wijzigingen gemaakt met MapComplete", + "de": "Zeigt die mit MapComplete vorgenommenen Änderungen" }, "description": { "en": "This maps shows all the changes made with MapComplete", - "nl": "Deze kaart toont alle wijzigingen die met MapComplete werden gemaakt" + "nl": "Deze kaart toont alle wijzigingen die met MapComplete werden gemaakt", + "de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen" }, "maintainer": "", "icon": "./assets/svg/logo.svg", @@ -25,7 +28,8 @@ { "id": "mapcomplete-changes", "name": { - "en": "Changeset centers" + "en": "Changeset centers", + "de": "Zentrum der Änderungssätze" }, "minzoom": 0, "source": { @@ -40,40 +44,46 @@ "title": { "render": { "en": "Changeset for {theme}", - "nl": "Wijzigingset voor {theme}" + "nl": "Wijzigingset voor {theme}", + "de": "Änderungssatz für {theme}" } }, "description": { "en": "Shows all MapComplete changes", - "nl": "Toont alle wijzigingen met MapComplete" + "nl": "Toont alle wijzigingen met MapComplete", + "de": "Zeigt alle MapComplete Änderungen" }, "tagRenderings": [ { "id": "render_id", "render": { "en": "Changeset {id}", - "nl": "Wijzigingset {id}" + "nl": "Wijzigingset {id}", + "de": "Änderungssatz {id}" } }, { "id": "contributor", "render": { "en": "Change made by {_last_edit:contributor}", - "nl": "Wijziging gemaakt door {_last_edit:contributor}" + "nl": "Wijziging gemaakt door {_last_edit:contributor}", + "de": "Geändert von {_last_edit:contributor}" } }, { "id": "theme", "render": { "en": "Change with theme {theme}", - "nl": "Wijziging met thema {theme}" + "nl": "Wijziging met thema {theme}", + "de": "Änderung mit Thema {theme}" }, "mappings": [ { "if": "theme~http.*", "then": { "en": "Change with unofficial theme {theme}", - "nl": "Wijziging met officieus thema {theme}" + "nl": "Wijziging met officieus thema {theme}", + "de": "Änderung mit inoffiziellem Thema {theme}" } } ] @@ -370,7 +380,8 @@ ], "question": { "en": "Themename contains {search}", - "nl": "Themanaam bevat {search}" + "nl": "Themanaam bevat {search}", + "de": "Themenname enthält {search}" } } ] @@ -387,7 +398,8 @@ ], "question": { "en": "Made by contributor {search}", - "nl": "Gemaakt door bijdrager {search}" + "nl": "Gemaakt door bijdrager {search}", + "de": "Erstellt von {search}" } } ] @@ -404,7 +416,8 @@ ], "question": { "en": "Not made by contributor {search}", - "nl": "Niet gemaakt door bijdrager {search}" + "nl": "Niet gemaakt door bijdrager {search}", + "de": "Nicht erstellt von {search}" } } ] @@ -420,7 +433,8 @@ "id": "link_to_more", "render": { "en": "More statistics can be found here", - "nl": "Meer statistieken kunnen hier gevonden worden" + "nl": "Meer statistieken kunnen hier gevonden worden", + "de": "Weitere Statistiken finden Sie hier" } }, { diff --git a/assets/themes/onwheels/onwheels.json b/assets/themes/onwheels/onwheels.json index 881729e71..920ce1e1c 100644 --- a/assets/themes/onwheels/onwheels.json +++ b/assets/themes/onwheels/onwheels.json @@ -1,10 +1,10 @@ { "id": "onwheels", "title": { - "en": "OnWheels" + "en": "OnWheels" }, "description": { - "en": "On this map, publicly weelchair accessible places are shown and can be easily added" + "en": "On this map, publicly weelchair accessible places are shown and can be easily added" }, "maintainer": "MapComplete", "icon": "./assets/themes/onwheels/crest.svg", @@ -29,11 +29,11 @@ "viewpoint", "doctors" ], - "overrideAll" : { - "minzoom" : "15", - "mapRendering" : [ + "overrideAll": { + "minzoom": "15", + "mapRendering": [ { - "label" : null + "label": null } ] } diff --git a/langs/layers/de.json b/langs/layers/de.json index 2d686ca62..bfe2f47f8 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -4122,7 +4122,7 @@ "placeholder": "Höhe des Bordsteins" }, "question": "Wie hoch ist der Bordstein?", - "render": "Bordsteinhöhe: {{kerb:height}}" + "render": "Bordsteinhöhe: {kerb:height}" }, "kerb-type": { "mappings": { diff --git a/langs/layers/en.json b/langs/layers/en.json index 3b3642a7f..3e51d47e2 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -3256,6 +3256,7 @@ "name": "Direction visualization" }, "doctors": { + "description": "This layer shows doctor offices, dentists and other healthcare facilities", "filter": { "0": { "options": { @@ -3278,6 +3279,10 @@ } }, "tagRenderings": { + "name": { + "question": "What is the name of this doctors place?", + "render": "This doctors place is called {name}" + }, "specialty": { "mappings": { "0": { @@ -5049,6 +5054,35 @@ "render": "Bookcase" } }, + "rainbow_crossings": { + "description": "A layer showing pedestrian crossings with rainbow paintings", + "name": "Crossings with rainbow paintings", + "presets": { + "0": { + "description": "Pedestrian crossing", + "title": "a crossing" + } + }, + "tagRenderings": { + "crossing-with-rainbow": { + "mappings": { + "0": { + "then": "This crossing has rainbow paintings" + }, + "1": { + "then": "No rainbow paintings here" + }, + "2": { + "then": "No rainbow paintings here" + } + }, + "question": "Does this crossing has rainbow paintings?" + } + }, + "title": { + "render": "Crossing" + } + }, "recycling": { "description": "A layer with recycling containers and centres", "filter": { diff --git a/langs/themes/en.json b/langs/themes/en.json index b3e3d3a17..5dd1e80ae 100644 --- a/langs/themes/en.json +++ b/langs/themes/en.json @@ -741,6 +741,10 @@ "shortDescription": "Publicly accessible towers to enjoy the view", "title": "Observation towers" }, + "onwheels": { + "description": "On this map, publicly weelchair accessible places are shown and can be easily added", + "title": "OnWheels" + }, "openwindpowermap": { "description": "A map for showing and editing wind turbines.", "title": "OpenWindPowerMap" @@ -863,6 +867,10 @@ "shortDescription": "A map showing postboxes and post offices", "title": "Postbox and Post Office Map" }, + "rainbow_crossings": { + "description": "On this map, rainbow-painted pedestrian crossings are shown and can be easily added", + "title": "Rainbow pedestrian crossings" + }, "shops": { "description": "On this map, one can mark basic information about shops, add opening hours and phone numbers", "shortDescription": "An editable map with basic shop information", From cee384931e31636c7504134cede20cf3f62be16b Mon Sep 17 00:00:00 2001 From: Robin van der Linde Date: Wed, 13 Jul 2022 12:33:09 +0200 Subject: [PATCH 10/11] Update .gitpod.yml --- .gitpod.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitpod.yml b/.gitpod.yml index d53368529..d7253fb46 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -10,5 +10,5 @@ ports: vscode: extensions: - "esbenp.prettier-vscode" - - "eamodio.gitlens", - - "GitHub.vscode-pull-request-github" \ No newline at end of file + - "eamodio.gitlens" + - "GitHub.vscode-pull-request-github" From ac1e9608b30703ec5113406a149af40a7725d443 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 13 Jul 2022 12:48:46 +0200 Subject: [PATCH 11/11] Fix typo --- langs/layers/nl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 987941506..cfba0ceeb 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -4556,7 +4556,7 @@ } }, "question": "Hoeveel parkeerplaatsen voor gehandicapten zijn er op deze parking?", - "render": "Er zijn capacity:disabled} parkeerplaatsen voor gehandicapten" + "render": "Er zijn {capacity:disabled} parkeerplaatsen voor gehandicapten" }, "parking-type": { "mappings": { @@ -6493,4 +6493,4 @@ } } } -} \ No newline at end of file +}