diff --git a/.vscode/settings.json b/.vscode/settings.json
index aa73d8edf..b607ae0fc 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -53,5 +53,12 @@
"[svelte]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
- "editor.formatOnSave": true
+ "editor.formatOnSave": true,
+ "gitlens.remotes": [
+ {
+ "domain": "source.mapcomplete.org",
+ "type": "Gitea",
+ "name": "MapComplete Forgejo"
+ }
+ ]
}
diff --git a/assets/layers/all_streets/all_streets.json b/assets/layers/all_streets/all_streets.json
new file mode 100644
index 000000000..9d1d18443
--- /dev/null
+++ b/assets/layers/all_streets/all_streets.json
@@ -0,0 +1,86 @@
+{
+ "id": "all_streets",
+ "isCounted": false,
+ "name": {
+ "en": "All streets",
+ "nl": "Alle straten",
+ "ru": "Все улицы",
+ "zh_Hant": "所有道路",
+ "hu": "Minden utca",
+ "de": "Alle Straßen",
+ "ca": "Tots els carrers",
+ "es": "Todas las calles",
+ "fr": "Toutes les rues",
+ "nb_NO": "Alle gater",
+ "da": "Alle gader",
+ "pa_PK": "ساریاں سڑکاں",
+ "cs": "Všechny ulice",
+ "it": "Tutte le strade",
+ "pl": "Wszystkie ulice",
+ "ko": "모든 거리"
+ },
+ "description": {
+ "en": "Layer with (almost) all streets",
+ "nl": "Laag met (bijna) alle straten"
+ },
+ "source": {
+ "osmTags": {
+ "and": [
+ "highway!=",
+ "service!=driveway",
+ "highway!=platform"
+ ]
+ }
+ },
+ "minzoom": 18,
+ "title": {
+ "render": {
+ "en": "Street",
+ "nl": "Straat",
+ "ru": "Улица",
+ "zh_Hant": "照明",
+ "hu": "Utca",
+ "de": "Straße",
+ "ca": "Carrer",
+ "nb_NO": "Gate",
+ "fr": "Rue",
+ "da": "Gade",
+ "pa_PK": "سڑک",
+ "es": "Calle",
+ "cs": "Ulice",
+ "eu": "Kalea",
+ "it": "Strada",
+ "pl": "Ulica",
+ "ko": "거리"
+ },
+ "mappings": [
+ {
+ "if": "name~*",
+ "then": "{name}"
+ }
+ ]
+ },
+ "tagRenderings": [
+ "images"
+ ],
+ "allowSplit": true,
+ "pointRendering": null,
+ "lineRendering": [
+ {
+ "color": {
+ "render": "#a9a9a9",
+ "mappings": [
+ {
+ "if": "lit=no",
+ "then": "#303030"
+ },
+ {
+ "if": "lit=yes",
+ "then": "#ff0"
+ }
+ ]
+ }
+ }
+ ],
+ "allowMove": false
+}
\ No newline at end of file
diff --git a/assets/layers/crossings/crossings.json b/assets/layers/crossings/crossings.json
index 354c455cd..77c56e9dd 100644
--- a/assets/layers/crossings/crossings.json
+++ b/assets/layers/crossings/crossings.json
@@ -166,69 +166,44 @@
"tagRenderings": [
"images",
{
- "id": "crossing-type",
+ "id": "signals",
"question": {
- "en": "What kind of crossing is this?",
- "nl": "Wat voor oversteekplaats is dit?",
- "de": "Was ist das für eine Kreuzung?",
- "es": "¿Qué tipo de cruce es este?",
- "fr": "Quel type de passage piéton est-ce ?",
- "ca": "Quin tipus de creuament és aquest?",
- "cs": "Co je to za přechod?"
+ "en": "Are there traffic signals at this crossing?",
+ "nl": "Zijn er verkeerslichten bij deze oversteekplaats?"
},
- "condition": "highway=crossing",
"mappings": [
{
- "if": "crossing=uncontrolled",
+ "if": "crossing:signals=no",
"then": {
- "en": "Crossing, without traffic lights",
- "nl": "Oversteekplaats, zonder verkeerslichten",
- "de": "Kreuzungen ohne Ampeln",
- "es": "Cruce, sin semáforos",
- "fr": "Passage piéton, sans feux de signalisation",
- "ca": "Creuament, sense semàfors",
- "cs": "Přechod bez světelné signalizace"
+ "en": "There are no traffic signals at this crossing",
+ "nl": "Er zijn geen verkeerslichten bij deze oversteekplaats"
+ }
+ },
+ {
+ "if": "crossing:signals=yes",
+ "then": {
+ "en": "There are traffic signals at this crossing",
+ "nl": "Er zijn verkeerslichten bij deze oversteekplaats"
+ },
+ "icon": {
+ "class": "small",
+ "path": "./assets/layers/crossings/traffic_lights.svg"
}
},
{
"if": "crossing=traffic_signals",
"then": {
- "en": "Crossing with traffic signals",
- "nl": "Oversteekplaats met verkeerslichten",
- "de": "Kreuzungen mit Ampeln",
- "es": "Cruce con semáforos",
- "fr": "Passage piéton avec des feux de signalisation",
- "ca": "Creuament amb semàfors",
- "cs": "Přechod se světelnou signalizací"
- }
- },
- {
- "if": "crossing=zebra",
- "then": {
- "en": "Zebra crossing",
- "nl": "Zebrapad",
- "de": "Zebrastreifen",
- "ca": "Pas de zebra",
- "es": "Paso de peatones",
- "fr": "Passage piéton",
- "cs": "Zebra přechod"
+ "en": "There are traffic signals at this crossing",
+ "nl": "Er zijn verkeerslichten bij deze oversteekplaats"
},
- "hideInAnswer": true
- },
- {
- "if": "crossing=unmarked",
- "then": {
- "en": "Crossing without crossing markings",
- "nl": "Oversteekplaats zonder kruispuntmarkeringen",
- "de": "Kreuzung ohne Kreuzungsmarkierungen",
- "es": "Cruce sin marcas de cruce",
- "fr": "Passage piéton sans marquages",
- "ca": "Creuament sense senyalitzar",
- "cs": "Přechod bez označení přechodu"
+ "icon": {
+ "class": "small",
+ "path": "./assets/layers/crossings/traffic_lights.svg"
},
"hideInAnswer": true
}
- ]
+ ],
+ "condition": "highway=crossing"
},
{
"id": "markings",
@@ -467,7 +442,9 @@
"fixme=Free-form value used in MapComplete for crossing:markings"
]
},
- "multiAnswer": true
+ "multiAnswer": true,
+ "condition": "highway=crossing",
+ "invalidValues": "crossing:markings=yes"
},
{
"id": "crossing-bicycle-allowed",
@@ -599,6 +576,13 @@
"cs": "Tento přechod má hmatovou dlažbu, ale ne správně"
},
"hideInAnswer": true
+ },
+ {
+ "if": "tactile_paving=partial",
+ "then": {
+ "en": "This crrosing has tactile paving, but only on one side",
+ "nl": "Deze oversteekplaats heeft een geleidelijn, maar slechts aan één kant"
+ }
}
]
},
@@ -949,4 +933,4 @@
"enableImproveAccuracy": true,
"enableRelocation": false
}
-}
+}
\ No newline at end of file
diff --git a/assets/layers/guidepost/guidepost.json b/assets/layers/guidepost/guidepost.json
index 18b8f6c40..1d69cabb9 100644
--- a/assets/layers/guidepost/guidepost.json
+++ b/assets/layers/guidepost/guidepost.json
@@ -133,6 +133,98 @@
}
}
]
+ },
+ {
+ "id": "name",
+ "question": {
+ "en": "What is the name noted on this guidepost?"
+ },
+ "freeform": {
+ "key": "name",
+ "type": "string",
+ "placeholder": {
+ "en": "Name on the guidepost"
+ },
+ "addExtraTags": [
+ "noname="
+ ]
+ },
+ "render": {
+ "en": "Name noted on the guidepost: {name}"
+ },
+ "mappings": [
+ {
+ "if": "noname=yes",
+ "then": {
+ "en": "There is no name noted on this guidepost"
+ }
+ },
+ {
+ "addExtraTags": [
+ "name="
+ ]
+ }
+ ]
+ },
+ {
+ "id": "ref",
+ "question": {
+ "en": "What is the reference number of this guidepost?"
+ },
+ "freeform": {
+ "key": "ref",
+ "type": "string",
+ "placeholder": {
+ "en": "Reference number of the guidepost"
+ },
+ "addExtraTags": [
+ "noref="
+ ]
+ },
+ "render": {
+ "en": "Reference number of the guidepost: {ref}"
+ },
+ "mappings": [
+ {
+ "if": "noref=yes",
+ "then": {
+ "en": "There is no reference number noted on this guidepost"
+ },
+ "addExtraTags": [
+ "ref="
+ ]
+ }
+ ]
+ },
+ {
+ "id": "ele",
+ "question": {
+ "en": "What is the elevation noted on this guidepost?"
+ },
+ "freeform": {
+ "key": "ele",
+ "type": "float",
+ "placeholder": {
+ "en": "Elevation on the guidepost (in meters)"
+ },
+ "addExtraTags": [
+ "noele="
+ ]
+ },
+ "render": {
+ "en": "Elevation noted on the guidepost: {ele} m"
+ },
+ "mappings": [
+ {
+ "if": "noele=yes",
+ "then": {
+ "en": "There is no elevation noted on this guidepost"
+ },
+ "addExtraTags": [
+ "ele="
+ ]
+ }
+ ]
}
],
"deletion": true,
@@ -140,4 +232,4 @@
"enableImproveAccuracy": true,
"enableRelocation": false
}
-}
+}
\ No newline at end of file
diff --git a/assets/layers/parcel_lockers/parcel_lockers.json b/assets/layers/parcel_lockers/parcel_lockers.json
index c82c8cfc1..5b51a38fa 100644
--- a/assets/layers/parcel_lockers/parcel_lockers.json
+++ b/assets/layers/parcel_lockers/parcel_lockers.json
@@ -21,17 +21,7 @@
"es": "Capa que muestra taquillas para recoger y enviar paquetes."
},
"source": {
- "osmTags": {
- "or": [
- "amenity=parcel_locker",
- {
- "and": [
- "amenity=vending_machine",
- "vending=parcel_pickup;parcel_mail_in"
- ]
- }
- ]
- }
+ "osmTags": "amenity=parcel_locker"
},
"minzoom": 12,
"title": {
@@ -259,9 +249,15 @@
"cs": "Z této schránky na balíky nemůžete posílat balíky",
"es": "No puedes enviar paquetes desde esta taquilla"
}
+ },
+ {
+ "if": "parcel_mail_in=returns_only",
+ "then": {
+ "en": "You can send packages from this parcel locker, but only for returns",
+ "nl": "Je kan pakk etten versturen vanuit deze pakketautomaat, maar alleen voor retouren"
+ }
}
- ],
- "condition": "amenity=parcel_locker"
+ ]
},
{
"id": "pickup",
@@ -302,8 +298,7 @@
"es": "No puedes recoger paquetes de esta taquilla"
}
}
- ],
- "condition": "amenity=parcel_locker"
+ ]
}
],
"filter": [
@@ -313,4 +308,4 @@
"allowMove": {
"enableImproveAccuracy": true
}
-}
+}
\ No newline at end of file
diff --git a/assets/svg/license_info.json b/assets/svg/license_info.json
index 06bc3869d..e94c29d51 100644
--- a/assets/svg/license_info.json
+++ b/assets/svg/license_info.json
@@ -451,12 +451,6 @@
"authors": [],
"sources": []
},
- {
- "path": "gear.svg",
- "license": "TRIVIAL",
- "authors": [],
- "sources": []
- },
{
"path": "gender_bi.svg",
"license": "CC0-1.0",
@@ -1103,6 +1097,17 @@
],
"sources": []
},
+ {
+ "path": "snowflake.svg",
+ "license": "CC0-1.0",
+ "authors": [
+ "Schnouf25",
+ "Razorbliss"
+ ],
+ "sources": [
+ "https://commons.wikimedia.org/wiki/File:Snow_flake.svg"
+ ]
+ },
{
"path": "speech_bubble.svg",
"license": "CC-BY-4.0",
diff --git a/assets/svg/snowflake.svg b/assets/svg/snowflake.svg
new file mode 100644
index 000000000..f90eb6ca1
--- /dev/null
+++ b/assets/svg/snowflake.svg
@@ -0,0 +1,41 @@
+
+
diff --git a/assets/svg/snowflake.svg.license b/assets/svg/snowflake.svg.license
new file mode 100644
index 000000000..9d7689318
--- /dev/null
+++ b/assets/svg/snowflake.svg.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: Schnouf25; Razorbliss
+SPDX-License-Identifier: CC0-1.0
\ 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 c850ff8d1..335c9ba80 100644
--- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json
+++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
@@ -612,6 +612,10 @@
{
"if": "theme=width",
"then": "./assets/themes/width/icon.svg"
+ },
+ {
+ "if": "theme=winter_service",
+ "then": "./assets/svg/snowflake.svg"
}
]
}
diff --git a/assets/themes/street_lighting/street_lighting.json b/assets/themes/street_lighting/street_lighting.json
index a181a6e1c..133d3536f 100644
--- a/assets/themes/street_lighting/street_lighting.json
+++ b/assets/themes/street_lighting/street_lighting.json
@@ -211,184 +211,109 @@
"allowMove": false
},
{
- "id": "all_streets",
- "isCounted": false,
- "name": {
- "en": "All streets",
- "nl": "Alle straten",
- "ru": "Все улицы",
- "zh_Hant": "所有道路",
- "hu": "Minden utca",
- "de": "Alle Straßen",
- "ca": "Tots els carrers",
- "es": "Todas las calles",
- "fr": "Toutes les rues",
- "nb_NO": "Alle gater",
- "da": "Alle gader",
- "pa_PK": "ساریاں سڑکاں",
- "cs": "Všechny ulice",
- "it": "Tutte le strade",
- "pl": "Wszystkie ulice",
- "ko": "모든 거리"
- },
- "source": {
- "osmTags": {
- "and": [
- "highway!=",
- "service!=driveway",
- "highway!=platform"
- ]
- }
- },
- "minzoom": 18,
- "title": {
- "render": {
- "en": "Street",
- "nl": "Straat",
- "ru": "Улица",
- "zh_Hant": "照明",
- "hu": "Utca",
- "de": "Straße",
- "ca": "Carrer",
- "nb_NO": "Gate",
- "fr": "Rue",
- "da": "Gade",
- "pa_PK": "سڑک",
- "es": "Calle",
- "cs": "Ulice",
- "eu": "Kalea",
- "it": "Strada",
- "pl": "Ulica",
- "ko": "거리"
- },
- "mappings": [
+ "builtin": "all_streets",
+ "override": {
+ "tagRenderings+": [
{
- "if": "name~*",
- "then": "{name}"
- }
- ]
- },
- "tagRenderings": [
- "images",
- {
- "id": "lit",
- "question": {
- "en": "Is this street lit?",
- "nl": "Is deze straat verlicht?",
- "zh_Hant": "這道路有照明嗎?",
- "hu": "Ki van-e világítva ez az utca?",
- "de": "Ist diese Straße beleuchtet?",
- "nb_NO": "Er denne gaten belyst?",
- "fr": "Cette rue est-elle éclairée ?",
- "da": "Er denne gade oplyst?",
- "ca": "Aquest carrer està il·luminat?",
- "es": "¿Está iluminada esta calle?",
- "cs": "Je tato ulice osvětlená?",
- "it": "Questa strada è illuminata?",
- "pl": "Czy ta ulica jest oświetlona?",
- "ko": "이 거리는 밝나요?"
- },
- "mappings": [
- {
- "if": "lit=yes",
- "then": {
- "en": "This street is lit",
- "nl": "Deze straat is verlicht",
- "zh_Hant": "這道路有照明",
- "hu": "Ez az utca ki van világítva",
- "de": "Diese Straße ist beleuchtet",
- "es": "Esta calle está iluminada",
- "nb_NO": "Denne gaten er belyst",
- "fr": "Cette rue est éclairée",
- "da": "Denne gade er oplyst",
- "ca": "Aquest carrer està il·luminat",
- "cs": "Tato ulice je osvětlená",
- "it": "Questa strada è illuminata",
- "pl": "Ta ulica jest oświetlona",
- "ko": "이 거리는 밝습니다"
- }
+ "id": "lit",
+ "question": {
+ "en": "Is this street lit?",
+ "nl": "Is deze straat verlicht?",
+ "zh_Hant": "這道路有照明嗎?",
+ "hu": "Ki van-e világítva ez az utca?",
+ "de": "Ist diese Straße beleuchtet?",
+ "nb_NO": "Er denne gaten belyst?",
+ "fr": "Cette rue est-elle éclairée ?",
+ "da": "Er denne gade oplyst?",
+ "ca": "Aquest carrer està il·luminat?",
+ "es": "¿Está iluminada esta calle?",
+ "cs": "Je tato ulice osvětlená?",
+ "it": "Questa strada è illuminata?",
+ "pl": "Czy ta ulica jest oświetlona?",
+ "ko": "이 거리는 밝나요?"
},
- {
- "if": "lit=no",
- "then": {
- "en": "This street is not lit",
- "nl": "Deze straat is niet verlicht",
- "zh_Hant": "這道路沒有照明",
- "hu": "Ez az utca nincs kivilágítva",
- "de": "Diese Straße ist nicht beleuchtet",
- "es": "Esta calle no está iluminada",
- "nb_NO": "Denne gaten er ikke belyst",
- "fr": "Cette rue n’est pas éclairée",
- "da": "Denne gade er ikke oplyst",
- "ca": "Aquest carrer no està il·luminat",
- "cs": "Tato ulice není osvětlená",
- "it": "Questa strada non è illuminata",
- "pl": "Ta ulica nie jest oświetlona",
- "ko": "이 거리는 밝지 않습니다"
- }
- },
- {
- "if": "lit=sunset-sunrise",
- "then": {
- "en": "This street is lit at night",
- "nl": "Deze straat is 's nachts verlicht",
- "zh_Hant": "這道路晚上有照明",
- "hu": "Ez az utca éjjel ki van világítva",
- "de": "Diese Straße ist nachts beleuchtet",
- "nb_NO": "Denne gaten er belyst nattestid",
- "fr": "Cette rue est éclairée la nuit",
- "da": "Denne gade er oplyst om natten",
- "ca": "Aquest carrer està il·luminat per la nit",
- "es": "Esta calle está iluminada por la noche",
- "cs": "Tato ulice je v noci osvětlená",
- "it": "Questa strada è illuminata di sera",
- "pl": "Ta ulica jest oświetlona w nocy",
- "ko": "이 거리는 밤에 밝습니다"
- },
- "hideInAnswer": true
- },
- {
- "if": "lit=24/7",
- "then": {
- "en": "This street is lit 24/7",
- "nl": "Deze straat is 24/7 verlicht",
- "zh_Hant": "這道路 24/7 有照明",
- "hu": "Ez az utca éjjel-nappal ki van világítva",
- "de": "Diese Straße ist durchgehend beleuchtet",
- "nb_NO": "Denne gaten er belyst døgnet rundt",
- "fr": "Cette rue est éclairée en permanence",
- "da": "Denne gade er oplyst 24/7",
- "ca": "Aquest carrer està il·luminat 24/7",
- "es": "Esta calle está iluminada 24/7",
- "cs": "Tato ulice je osvětlena 24/7",
- "it": "Questa strada è illuminata 24 ore su 24",
- "pl": "Ta ulica jest oświetlona 24/7",
- "ko": "이 거리는 24시간 밝습니다"
- }
- }
- ]
- }
- ],
- "allowSplit": true,
- "pointRendering": null,
- "lineRendering": [
- {
- "color": {
- "render": "#a9a9a9",
"mappings": [
{
- "if": "lit=no",
- "then": "#303030"
+ "if": "lit=yes",
+ "then": {
+ "en": "This street is lit",
+ "nl": "Deze straat is verlicht",
+ "zh_Hant": "這道路有照明",
+ "hu": "Ez az utca ki van világítva",
+ "de": "Diese Straße ist beleuchtet",
+ "es": "Esta calle está iluminada",
+ "nb_NO": "Denne gaten er belyst",
+ "fr": "Cette rue est éclairée",
+ "da": "Denne gade er oplyst",
+ "ca": "Aquest carrer està il·luminat",
+ "cs": "Tato ulice je osvětlená",
+ "it": "Questa strada è illuminata",
+ "pl": "Ta ulica jest oświetlona",
+ "ko": "이 거리는 밝습니다"
+ }
},
{
- "if": "lit=yes",
- "then": "#ff0"
+ "if": "lit=no",
+ "then": {
+ "en": "This street is not lit",
+ "nl": "Deze straat is niet verlicht",
+ "zh_Hant": "這道路沒有照明",
+ "hu": "Ez az utca nincs kivilágítva",
+ "de": "Diese Straße ist nicht beleuchtet",
+ "es": "Esta calle no está iluminada",
+ "nb_NO": "Denne gaten er ikke belyst",
+ "fr": "Cette rue n’est pas éclairée",
+ "da": "Denne gade er ikke oplyst",
+ "ca": "Aquest carrer no està il·luminat",
+ "cs": "Tato ulice není osvětlená",
+ "it": "Questa strada non è illuminata",
+ "pl": "Ta ulica nie jest oświetlona",
+ "ko": "이 거리는 밝지 않습니다"
+ }
+ },
+ {
+ "if": "lit=sunset-sunrise",
+ "then": {
+ "en": "This street is lit at night",
+ "nl": "Deze straat is 's nachts verlicht",
+ "zh_Hant": "這道路晚上有照明",
+ "hu": "Ez az utca éjjel ki van világítva",
+ "de": "Diese Straße ist nachts beleuchtet",
+ "nb_NO": "Denne gaten er belyst nattestid",
+ "fr": "Cette rue est éclairée la nuit",
+ "da": "Denne gade er oplyst om natten",
+ "ca": "Aquest carrer està il·luminat per la nit",
+ "es": "Esta calle está iluminada por la noche",
+ "cs": "Tato ulice je v noci osvětlená",
+ "it": "Questa strada è illuminata di sera",
+ "pl": "Ta ulica jest oświetlona w nocy",
+ "ko": "이 거리는 밤에 밝습니다"
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "lit=24/7",
+ "then": {
+ "en": "This street is lit 24/7",
+ "nl": "Deze straat is 24/7 verlicht",
+ "zh_Hant": "這道路 24/7 有照明",
+ "hu": "Ez az utca éjjel-nappal ki van világítva",
+ "de": "Diese Straße ist durchgehend beleuchtet",
+ "nb_NO": "Denne gaten er belyst døgnet rundt",
+ "fr": "Cette rue est éclairée en permanence",
+ "da": "Denne gade er oplyst 24/7",
+ "ca": "Aquest carrer està il·luminat 24/7",
+ "es": "Esta calle está iluminada 24/7",
+ "cs": "Tato ulice je osvětlena 24/7",
+ "it": "Questa strada è illuminata 24 ore su 24",
+ "pl": "Ta ulica jest oświetlona 24/7",
+ "ko": "이 거리는 24시간 밝습니다"
+ }
}
]
}
- }
- ],
- "allowMove": false
+ ]
+ }
}
]
-}
+}
\ No newline at end of file
diff --git a/assets/themes/winter_service/winter_service.json b/assets/themes/winter_service/winter_service.json
new file mode 100644
index 000000000..52dc08a6f
--- /dev/null
+++ b/assets/themes/winter_service/winter_service.json
@@ -0,0 +1,132 @@
+{
+ "credits": "Robin van der Linde",
+ "credits:uid": 5093765,
+ "id": "winter_service",
+ "title": {
+ "en": "Winter Service"
+ },
+ "icon": "./assets/svg/snowflake.svg",
+ "layers": [
+ {
+ "id": "serviced_streets",
+ "name": {
+ "en": "Serviced streets"
+ },
+ "description": {
+ "en": "Streets that have some form of winter service"
+ },
+ "source": {
+ "osmTags": {
+ "and": [
+ "highway!=",
+ "service!=driveway",
+ "highway!=platform",
+ {
+ "or": [
+ "winter_service=yes",
+ "winter_service=limited"
+ ]
+ }
+ ]
+ }
+ },
+ "minzoom": 16,
+ "title": {
+ "render": {
+ "en": "Serviced street"
+ },
+ "mappings": [
+ {
+ "if": "name~*",
+ "then": "{name}"
+ }
+ ]
+ },
+ "lineRendering": [
+ {
+ "color": {
+ "mappings": [
+ {
+ "if": "winter_service=yes",
+ "then": "#00ff00"
+ },
+ {
+ "if": "winter_service=limited",
+ "then": "#ffff00"
+ },
+ {
+ "if": "winter_service=no",
+ "then": "#ff0000"
+ }
+ ]
+ }
+ }
+ ],
+ "pointRendering": null,
+ "allowMove": false,
+ "tagRenderings": []
+ },
+ {
+ "builtin": "all_streets",
+ "override": {
+ "lineRendering": [
+ {
+ "color": {
+ "mappings": [
+ {
+ "if": "winter_service=yes",
+ "then": "#00ff00"
+ },
+ {
+ "if": "winter_service=limited",
+ "then": "#ffff00"
+ },
+ {
+ "if": "winter_service=no",
+ "then": "#ff0000"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "description": {
+ "en": "A map showing roads and whether they're cleared in winter"
+ },
+ "overrideAll": {
+ "tagRenderings+": [
+ {
+ "id": "winter_service",
+ "question": {
+ "en": "Is this road serviced (e.g. cleared of snow) in winter?"
+ },
+ "mappings": [
+ {
+ "if": "winter_service=yes",
+ "then": {
+ "en": "This road is serviced in winter"
+ },
+ "icon": "snowflake:green"
+ },
+ {
+ "if": "winter_service=limited",
+ "then": {
+ "en": "This road is serviced in winter, but only to a limited extent. This is often signposted as well."
+ },
+ "icon": "snowflake:yellow"
+ },
+ {
+ "if": "winter_service=no",
+ "then": {
+ "en": "This road is not serviced in winter"
+ },
+ "icon": "snowflake:red"
+ }
+ ]
+ }
+ ]
+ },
+ "hideFromOverview": true
+}
\ No newline at end of file
diff --git a/langs/layers/ca.json b/langs/layers/ca.json
index 3fdf28f25..d72063678 100644
--- a/langs/layers/ca.json
+++ b/langs/layers/ca.json
@@ -357,6 +357,12 @@
"render": "Telefèric {name}"
}
},
+ "all_streets": {
+ "name": "Tots els carrers",
+ "title": {
+ "render": "Carrer"
+ }
+ },
"ambulancestation": {
"description": "Una estició d'abulàncies és una àrea per a emmagatzemar ambulàncies, equipament mèdic, equips de protecció personal i altres subministraments mèdics.",
"name": "Mapa d'estacions d'ambulàncies",
@@ -3814,23 +3820,6 @@
},
"question": "Aquest creuament té superfície podotàctil?"
},
- "crossing-type": {
- "mappings": {
- "0": {
- "then": "Creuament, sense semàfors"
- },
- "1": {
- "then": "Creuament amb semàfors"
- },
- "2": {
- "then": "Pas de zebra"
- },
- "3": {
- "then": "Creuament sense senyalitzar"
- }
- },
- "question": "Quin tipus de creuament és aquest?"
- },
"crossing-vibration": {
"mappings": {
"0": {
diff --git a/langs/layers/cs.json b/langs/layers/cs.json
index 5ad1e02b9..5217bbabe 100644
--- a/langs/layers/cs.json
+++ b/langs/layers/cs.json
@@ -357,6 +357,12 @@
"render": "Dráha {name}"
}
},
+ "all_streets": {
+ "name": "Všechny ulice",
+ "title": {
+ "render": "Ulice"
+ }
+ },
"ambulancestation": {
"description": "Stanice záchranné služby je prostor pro umístění sanitních vozidel, zdravotnického vybavení, osobních ochranných prostředků a dalšího zdravotnického materiálu.",
"name": "Mapa stanic rychlé záchranné služby",
@@ -3842,23 +3848,6 @@
},
"question": "Má tento přechod hmatovou dlažbu?"
},
- "crossing-type": {
- "mappings": {
- "0": {
- "then": "Přechod bez světelné signalizace"
- },
- "1": {
- "then": "Přechod se světelnou signalizací"
- },
- "2": {
- "then": "Zebra přechod"
- },
- "3": {
- "then": "Přechod bez označení přechodu"
- }
- },
- "question": "Co je to za přechod?"
- },
"crossing-vibration": {
"mappings": {
"0": {
diff --git a/langs/layers/da.json b/langs/layers/da.json
index 3418120da..4e678fa6b 100644
--- a/langs/layers/da.json
+++ b/langs/layers/da.json
@@ -24,6 +24,12 @@
"render": "Kendt adresse"
}
},
+ "all_streets": {
+ "name": "Alle gader",
+ "title": {
+ "render": "Gade"
+ }
+ },
"ambulancestation": {
"description": "En ambulancestation er et område til opbevaring af ambulancekøretøjer, medicinsk udstyr, personlige værnemidler og andre medicinske forsyninger.",
"name": "Kort over ambulancestationer",
diff --git a/langs/layers/de.json b/langs/layers/de.json
index 497d741b4..c45c6d671 100644
--- a/langs/layers/de.json
+++ b/langs/layers/de.json
@@ -357,6 +357,12 @@
"render": "Seilbahn {name}"
}
},
+ "all_streets": {
+ "name": "Alle Straßen",
+ "title": {
+ "render": "Straße"
+ }
+ },
"ambulancestation": {
"description": "Eine Rettungswache ist ein Ort, an dem Rettungsfahrzeuge, medizinische Ausrüstung, persönliche Schutzausrüstung und anderes medizinisches Material untergebracht sind.",
"name": "Rettungswachen",
@@ -3766,23 +3772,6 @@
},
"question": "Gibt es an dieser Kreuzung ein Blindenleitsystem?"
},
- "crossing-type": {
- "mappings": {
- "0": {
- "then": "Kreuzungen ohne Ampeln"
- },
- "1": {
- "then": "Kreuzungen mit Ampeln"
- },
- "2": {
- "then": "Zebrastreifen"
- },
- "3": {
- "then": "Kreuzung ohne Kreuzungsmarkierungen"
- }
- },
- "question": "Was ist das für eine Kreuzung?"
- },
"crossing-vibration": {
"mappings": {
"0": {
diff --git a/langs/layers/en.json b/langs/layers/en.json
index e1356aa1f..e9e1efc29 100644
--- a/langs/layers/en.json
+++ b/langs/layers/en.json
@@ -357,6 +357,13 @@
"render": "Aerialway {name}"
}
},
+ "all_streets": {
+ "description": "Layer with (almost) all streets",
+ "name": "All streets",
+ "title": {
+ "render": "Street"
+ }
+ },
"ambulancestation": {
"description": "An ambulance station is an area for storage of ambulance vehicles, medical equipment, personal protective equipment, and other medical supplies.",
"name": "Map of ambulance stations",
@@ -3885,27 +3892,13 @@
},
"2": {
"then": "This crossing has tactile paving, but is not correct"
+ },
+ "3": {
+ "then": "This crrosing has tactile paving, but only on one side"
}
},
"question": "Does this crossing have tactile paving?"
},
- "crossing-type": {
- "mappings": {
- "0": {
- "then": "Crossing, without traffic lights"
- },
- "1": {
- "then": "Crossing with traffic signals"
- },
- "2": {
- "then": "Zebra crossing"
- },
- "3": {
- "then": "Crossing without crossing markings"
- }
- },
- "question": "What kind of crossing is this?"
- },
"crossing-vibration": {
"mappings": {
"0": {
@@ -3967,6 +3960,20 @@
},
"question": "What kind of markings does this crossing have?",
"render": "This crossing has {crossing:markings} markings"
+ },
+ "signals": {
+ "mappings": {
+ "0": {
+ "then": "There are no traffic signals at this crossing"
+ },
+ "1": {
+ "then": "There are traffic signals at this crossing"
+ },
+ "2": {
+ "then": "There are traffic signals at this crossing"
+ }
+ },
+ "question": "Are there traffic signals at this crossing?"
}
},
"title": {
@@ -6394,6 +6401,27 @@
}
},
"tagRenderings": {
+ "ele": {
+ "freeform": {
+ "placeholder": "Elevation on the guidepost (in meters)"
+ },
+ "question": "What is the elevation noted on this guidepost?",
+ "render": "Elevation noted on the guidepost: {ele} m"
+ },
+ "name": {
+ "freeform": {
+ "placeholder": "Name on the guidepost"
+ },
+ "question": "What is the name noted on this guidepost?",
+ "render": "Name noted on the guidepost: {name}"
+ },
+ "ref": {
+ "freeform": {
+ "placeholder": "Reference number of the guidepost"
+ },
+ "question": "What is the reference number of this guidepost?",
+ "render": "Reference number of the guidepost: {ref}"
+ },
"type": {
"mappings": {
"0": {
@@ -7946,6 +7974,9 @@
},
"1": {
"then": "You can't send packages from this parcel locker"
+ },
+ "2": {
+ "then": "You can send packages from this parcel locker, but only for returns"
}
},
"question": "Can you send packages from this parcel locker?"
diff --git a/langs/layers/es.json b/langs/layers/es.json
index 59387bb15..8507b389e 100644
--- a/langs/layers/es.json
+++ b/langs/layers/es.json
@@ -339,6 +339,12 @@
"render": "Teleférico {name}"
}
},
+ "all_streets": {
+ "name": "Todas las calles",
+ "title": {
+ "render": "Calle"
+ }
+ },
"ambulancestation": {
"description": "Una estación de ambulancias es un área para el almacenamiento de vehículos de ambulancia, equipo médico, equipo de protección personal y otros suministros médicos.",
"name": "Mapa de estaciones de ambulancias",
@@ -3537,23 +3543,6 @@
},
"question": "¿Este cruce tiene pavimento táctil?"
},
- "crossing-type": {
- "mappings": {
- "0": {
- "then": "Cruce, sin semáforos"
- },
- "1": {
- "then": "Cruce con semáforos"
- },
- "2": {
- "then": "Paso de peatones"
- },
- "3": {
- "then": "Cruce sin marcas de cruce"
- }
- },
- "question": "¿Qué tipo de cruce es este?"
- },
"crossing-vibration": {
"mappings": {
"0": {
diff --git a/langs/layers/fr.json b/langs/layers/fr.json
index 5b2cfcac2..125dfd1a0 100644
--- a/langs/layers/fr.json
+++ b/langs/layers/fr.json
@@ -262,6 +262,12 @@
}
}
},
+ "all_streets": {
+ "name": "Toutes les rues",
+ "title": {
+ "render": "Rue"
+ }
+ },
"ambulancestation": {
"description": "Une station d’ambulance est un lieu où sont stockés les véhicules d’urgence ainsi que de l’équipement médical.",
"name": "Couche des ambulances",
@@ -2528,23 +2534,6 @@
},
"question": "Est-ce que ce passage piéton a une surface podotactile ?"
},
- "crossing-type": {
- "mappings": {
- "0": {
- "then": "Passage piéton, sans feux de signalisation"
- },
- "1": {
- "then": "Passage piéton avec des feux de signalisation"
- },
- "2": {
- "then": "Passage piéton"
- },
- "3": {
- "then": "Passage piéton sans marquages"
- }
- },
- "question": "Quel type de passage piéton est-ce ?"
- },
"crossing-vibration": {
"mappings": {
"0": {
diff --git a/langs/layers/nl.json b/langs/layers/nl.json
index a58a6d128..ef8039786 100644
--- a/langs/layers/nl.json
+++ b/langs/layers/nl.json
@@ -343,6 +343,13 @@
"render": "Kabelbaan {name}"
}
},
+ "all_streets": {
+ "description": "Laag met (bijna) alle straten",
+ "name": "Alle straten",
+ "title": {
+ "render": "Straat"
+ }
+ },
"ambulancestation": {
"description": "Een ambulancestation is een plaats waar ambulances, medisch materiaal, persoonlijk beschermingsmateriaal en aanverwanten worden bewaard.",
"name": "Kaart van ambulancestations",
@@ -3693,27 +3700,13 @@
},
"2": {
"then": "Deze oversteekplaats heeft een geleidelijn, die incorrect is."
+ },
+ "3": {
+ "then": "Deze oversteekplaats heeft een geleidelijn, maar slechts aan één kant"
}
},
"question": "Heeft deze oversteekplaats een geleidelijn?"
},
- "crossing-type": {
- "mappings": {
- "0": {
- "then": "Oversteekplaats, zonder verkeerslichten"
- },
- "1": {
- "then": "Oversteekplaats met verkeerslichten"
- },
- "2": {
- "then": "Zebrapad"
- },
- "3": {
- "then": "Oversteekplaats zonder kruispuntmarkeringen"
- }
- },
- "question": "Wat voor oversteekplaats is dit?"
- },
"crossing-vibration": {
"mappings": {
"0": {
@@ -3775,6 +3768,20 @@
},
"question": "Wat voor markering heeft deze oversteekplaats?",
"render": "Deze oversteekplaats heeft {crossing:markings} markeringen"
+ },
+ "signals": {
+ "mappings": {
+ "0": {
+ "then": "Er zijn geen verkeerslichten bij deze oversteekplaats"
+ },
+ "1": {
+ "then": "Er zijn verkeerslichten bij deze oversteekplaats"
+ },
+ "2": {
+ "then": "Er zijn verkeerslichten bij deze oversteekplaats"
+ }
+ },
+ "question": "Zijn er verkeerslichten bij deze oversteekplaats?"
}
},
"title": {
@@ -6843,6 +6850,9 @@
},
"1": {
"then": "Je kan geen pakketten versturen vanuit deze pakketautomaat"
+ },
+ "2": {
+ "then": "Je kan pakk etten versturen vanuit deze pakketautomaat, maar alleen voor retouren"
}
},
"question": "Kan je pakketten versturen vanuit deze pakketautomaat?"
diff --git a/langs/themes/ca.json b/langs/themes/ca.json
index 26197dc4f..7313559af 100644
--- a/langs/themes/ca.json
+++ b/langs/themes/ca.json
@@ -899,28 +899,26 @@
}
},
"2": {
- "name": "Tots els carrers",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "Aquest carrer està il·luminat"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "Aquest carrer està il·luminat"
+ },
+ "1": {
+ "then": "Aquest carrer no està il·luminat"
+ },
+ "2": {
+ "then": "Aquest carrer està il·luminat per la nit"
+ },
+ "3": {
+ "then": "Aquest carrer està il·luminat 24/7"
+ }
},
- "1": {
- "then": "Aquest carrer no està il·luminat"
- },
- "2": {
- "then": "Aquest carrer està il·luminat per la nit"
- },
- "3": {
- "then": "Aquest carrer està il·luminat 24/7"
- }
- },
- "question": "Aquest carrer està il·luminat?"
+ "question": "Aquest carrer està il·luminat?"
+ }
}
- },
- "title": {
- "render": "Carrer"
}
}
},
diff --git a/langs/themes/cs.json b/langs/themes/cs.json
index 9387ee419..d08ee0734 100644
--- a/langs/themes/cs.json
+++ b/langs/themes/cs.json
@@ -1257,28 +1257,26 @@
}
},
"2": {
- "name": "Všechny ulice",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "Tato ulice je osvětlená"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "Tato ulice je osvětlená"
+ },
+ "1": {
+ "then": "Tato ulice není osvětlená"
+ },
+ "2": {
+ "then": "Tato ulice je v noci osvětlená"
+ },
+ "3": {
+ "then": "Tato ulice je osvětlena 24/7"
+ }
},
- "1": {
- "then": "Tato ulice není osvětlená"
- },
- "2": {
- "then": "Tato ulice je v noci osvětlená"
- },
- "3": {
- "then": "Tato ulice je osvětlena 24/7"
- }
- },
- "question": "Je tato ulice osvětlená?"
+ "question": "Je tato ulice osvětlená?"
+ }
}
- },
- "title": {
- "render": "Ulice"
}
}
},
diff --git a/langs/themes/da.json b/langs/themes/da.json
index 9bba8ee85..5c7dd8b28 100644
--- a/langs/themes/da.json
+++ b/langs/themes/da.json
@@ -710,28 +710,26 @@
}
},
"2": {
- "name": "Alle gader",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "Denne gade er oplyst"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "Denne gade er oplyst"
+ },
+ "1": {
+ "then": "Denne gade er ikke oplyst"
+ },
+ "2": {
+ "then": "Denne gade er oplyst om natten"
+ },
+ "3": {
+ "then": "Denne gade er oplyst 24/7"
+ }
},
- "1": {
- "then": "Denne gade er ikke oplyst"
- },
- "2": {
- "then": "Denne gade er oplyst om natten"
- },
- "3": {
- "then": "Denne gade er oplyst 24/7"
- }
- },
- "question": "Er denne gade oplyst?"
+ "question": "Er denne gade oplyst?"
+ }
}
- },
- "title": {
- "render": "Gade"
}
}
},
diff --git a/langs/themes/de.json b/langs/themes/de.json
index 016107193..988fd937e 100644
--- a/langs/themes/de.json
+++ b/langs/themes/de.json
@@ -1238,28 +1238,26 @@
}
},
"2": {
- "name": "Alle Straßen",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "Diese Straße ist beleuchtet"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "Diese Straße ist beleuchtet"
+ },
+ "1": {
+ "then": "Diese Straße ist nicht beleuchtet"
+ },
+ "2": {
+ "then": "Diese Straße ist nachts beleuchtet"
+ },
+ "3": {
+ "then": "Diese Straße ist durchgehend beleuchtet"
+ }
},
- "1": {
- "then": "Diese Straße ist nicht beleuchtet"
- },
- "2": {
- "then": "Diese Straße ist nachts beleuchtet"
- },
- "3": {
- "then": "Diese Straße ist durchgehend beleuchtet"
- }
- },
- "question": "Ist diese Straße beleuchtet?"
+ "question": "Ist diese Straße beleuchtet?"
+ }
}
- },
- "title": {
- "render": "Straße"
}
}
},
diff --git a/langs/themes/en.json b/langs/themes/en.json
index 8744e0448..f5c969c48 100644
--- a/langs/themes/en.json
+++ b/langs/themes/en.json
@@ -1281,28 +1281,26 @@
}
},
"2": {
- "name": "All streets",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "This street is lit"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "This street is lit"
+ },
+ "1": {
+ "then": "This street is not lit"
+ },
+ "2": {
+ "then": "This street is lit at night"
+ },
+ "3": {
+ "then": "This street is lit 24/7"
+ }
},
- "1": {
- "then": "This street is not lit"
- },
- "2": {
- "then": "This street is lit at night"
- },
- "3": {
- "then": "This street is lit 24/7"
- }
- },
- "question": "Is this street lit?"
+ "question": "Is this street lit?"
+ }
}
- },
- "title": {
- "render": "Street"
}
}
},
@@ -1429,5 +1427,36 @@
"wayside_shrines": {
"description": "This map shows shrines found on the side of roads and paths, and allows adding new ones",
"title": "Wayside shrines"
+ },
+ "winter_service": {
+ "description": "A map showing roads and whether they're cleared in winter",
+ "layers": {
+ "0": {
+ "description": "Streets that have some form of winter service",
+ "name": "Serviced streets",
+ "title": {
+ "render": "Serviced street"
+ }
+ }
+ },
+ "overrideAll": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "This road is serviced in winter"
+ },
+ "1": {
+ "then": "This road is serviced in winter, but only to a limited extent. This is often signposted as well."
+ },
+ "2": {
+ "then": "This road is not serviced in winter"
+ }
+ },
+ "question": "Is this road serviced (e.g. cleared of snow) in winter?"
+ }
+ }
+ },
+ "title": "Winter Service"
}
}
\ No newline at end of file
diff --git a/langs/themes/es.json b/langs/themes/es.json
index f8b588400..f6bc95ee1 100644
--- a/langs/themes/es.json
+++ b/langs/themes/es.json
@@ -1182,28 +1182,26 @@
}
},
"2": {
- "name": "Todas las calles",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "Esta calle está iluminada"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "Esta calle está iluminada"
+ },
+ "1": {
+ "then": "Esta calle no está iluminada"
+ },
+ "2": {
+ "then": "Esta calle está iluminada por la noche"
+ },
+ "3": {
+ "then": "Esta calle está iluminada 24/7"
+ }
},
- "1": {
- "then": "Esta calle no está iluminada"
- },
- "2": {
- "then": "Esta calle está iluminada por la noche"
- },
- "3": {
- "then": "Esta calle está iluminada 24/7"
- }
- },
- "question": "¿Está iluminada esta calle?"
+ "question": "¿Está iluminada esta calle?"
+ }
}
- },
- "title": {
- "render": "Calle"
}
}
},
diff --git a/langs/themes/eu.json b/langs/themes/eu.json
index c35244843..a940a77a8 100644
--- a/langs/themes/eu.json
+++ b/langs/themes/eu.json
@@ -178,15 +178,6 @@
"sports": {
"title": "Kirolak"
},
- "street_lighting": {
- "layers": {
- "2": {
- "title": {
- "render": "Kalea"
- }
- }
- }
- },
"trees": {
"title": "Zuhaitzak"
},
diff --git a/langs/themes/fr.json b/langs/themes/fr.json
index 7d88aba22..0686170e0 100644
--- a/langs/themes/fr.json
+++ b/langs/themes/fr.json
@@ -982,28 +982,26 @@
}
},
"2": {
- "name": "Toutes les rues",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "Cette rue est éclairée"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "Cette rue est éclairée"
+ },
+ "1": {
+ "then": "Cette rue n’est pas éclairée"
+ },
+ "2": {
+ "then": "Cette rue est éclairée la nuit"
+ },
+ "3": {
+ "then": "Cette rue est éclairée en permanence"
+ }
},
- "1": {
- "then": "Cette rue n’est pas éclairée"
- },
- "2": {
- "then": "Cette rue est éclairée la nuit"
- },
- "3": {
- "then": "Cette rue est éclairée en permanence"
- }
- },
- "question": "Cette rue est-elle éclairée ?"
+ "question": "Cette rue est-elle éclairée ?"
+ }
}
- },
- "title": {
- "render": "Rue"
}
}
},
diff --git a/langs/themes/hu.json b/langs/themes/hu.json
index 5f4ae6bc2..c4e89bb5c 100644
--- a/langs/themes/hu.json
+++ b/langs/themes/hu.json
@@ -431,28 +431,26 @@
}
},
"2": {
- "name": "Minden utca",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "Ez az utca ki van világítva"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "Ez az utca ki van világítva"
+ },
+ "1": {
+ "then": "Ez az utca nincs kivilágítva"
+ },
+ "2": {
+ "then": "Ez az utca éjjel ki van világítva"
+ },
+ "3": {
+ "then": "Ez az utca éjjel-nappal ki van világítva"
+ }
},
- "1": {
- "then": "Ez az utca nincs kivilágítva"
- },
- "2": {
- "then": "Ez az utca éjjel ki van világítva"
- },
- "3": {
- "then": "Ez az utca éjjel-nappal ki van világítva"
- }
- },
- "question": "Ki van-e világítva ez az utca?"
+ "question": "Ki van-e világítva ez az utca?"
+ }
}
- },
- "title": {
- "render": "Utca"
}
}
},
diff --git a/langs/themes/it.json b/langs/themes/it.json
index 7e549ebb3..fc77a0106 100644
--- a/langs/themes/it.json
+++ b/langs/themes/it.json
@@ -566,28 +566,26 @@
}
},
"2": {
- "name": "Tutte le strade",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "Questa strada è illuminata"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "Questa strada è illuminata"
+ },
+ "1": {
+ "then": "Questa strada non è illuminata"
+ },
+ "2": {
+ "then": "Questa strada è illuminata di sera"
+ },
+ "3": {
+ "then": "Questa strada è illuminata 24 ore su 24"
+ }
},
- "1": {
- "then": "Questa strada non è illuminata"
- },
- "2": {
- "then": "Questa strada è illuminata di sera"
- },
- "3": {
- "then": "Questa strada è illuminata 24 ore su 24"
- }
- },
- "question": "Questa strada è illuminata?"
+ "question": "Questa strada è illuminata?"
+ }
}
- },
- "title": {
- "render": "Strada"
}
}
},
diff --git a/langs/themes/ko.json b/langs/themes/ko.json
index 076fff142..1e1e49476 100644
--- a/langs/themes/ko.json
+++ b/langs/themes/ko.json
@@ -1168,28 +1168,26 @@
}
},
"2": {
- "name": "모든 거리",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "이 거리는 밝습니다"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "이 거리는 밝습니다"
+ },
+ "1": {
+ "then": "이 거리는 밝지 않습니다"
+ },
+ "2": {
+ "then": "이 거리는 밤에 밝습니다"
+ },
+ "3": {
+ "then": "이 거리는 24시간 밝습니다"
+ }
},
- "1": {
- "then": "이 거리는 밝지 않습니다"
- },
- "2": {
- "then": "이 거리는 밤에 밝습니다"
- },
- "3": {
- "then": "이 거리는 24시간 밝습니다"
- }
- },
- "question": "이 거리는 밝나요?"
+ "question": "이 거리는 밝나요?"
+ }
}
- },
- "title": {
- "render": "거리"
}
}
},
diff --git a/langs/themes/nb_NO.json b/langs/themes/nb_NO.json
index e602bac9e..46055c0f6 100644
--- a/langs/themes/nb_NO.json
+++ b/langs/themes/nb_NO.json
@@ -440,28 +440,26 @@
}
},
"2": {
- "name": "Alle gater",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "Denne gaten er belyst"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "Denne gaten er belyst"
+ },
+ "1": {
+ "then": "Denne gaten er ikke belyst"
+ },
+ "2": {
+ "then": "Denne gaten er belyst nattestid"
+ },
+ "3": {
+ "then": "Denne gaten er belyst døgnet rundt"
+ }
},
- "1": {
- "then": "Denne gaten er ikke belyst"
- },
- "2": {
- "then": "Denne gaten er belyst nattestid"
- },
- "3": {
- "then": "Denne gaten er belyst døgnet rundt"
- }
- },
- "question": "Er denne gaten belyst?"
+ "question": "Er denne gaten belyst?"
+ }
}
- },
- "title": {
- "render": "Gate"
}
}
},
diff --git a/langs/themes/nl.json b/langs/themes/nl.json
index 56088c853..a0beeca0d 100644
--- a/langs/themes/nl.json
+++ b/langs/themes/nl.json
@@ -1317,28 +1317,26 @@
}
},
"2": {
- "name": "Alle straten",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "Deze straat is verlicht"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "Deze straat is verlicht"
+ },
+ "1": {
+ "then": "Deze straat is niet verlicht"
+ },
+ "2": {
+ "then": "Deze straat is 's nachts verlicht"
+ },
+ "3": {
+ "then": "Deze straat is 24/7 verlicht"
+ }
},
- "1": {
- "then": "Deze straat is niet verlicht"
- },
- "2": {
- "then": "Deze straat is 's nachts verlicht"
- },
- "3": {
- "then": "Deze straat is 24/7 verlicht"
- }
- },
- "question": "Is deze straat verlicht?"
+ "question": "Is deze straat verlicht?"
+ }
}
- },
- "title": {
- "render": "Straat"
}
}
},
diff --git a/langs/themes/pa_PK.json b/langs/themes/pa_PK.json
index aefe3545f..c5879317a 100644
--- a/langs/themes/pa_PK.json
+++ b/langs/themes/pa_PK.json
@@ -158,12 +158,6 @@
"title": {
"render": "روشنی والی سڑک"
}
- },
- "2": {
- "name": "ساریاں سڑکاں",
- "title": {
- "render": "سڑک"
- }
}
},
"title": "سڑک دیاں روشنیاں"
diff --git a/langs/themes/pl.json b/langs/themes/pl.json
index 56809ae40..adc045a15 100644
--- a/langs/themes/pl.json
+++ b/langs/themes/pl.json
@@ -855,28 +855,26 @@
}
},
"2": {
- "name": "Wszystkie ulice",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "Ta ulica jest oświetlona"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "Ta ulica jest oświetlona"
+ },
+ "1": {
+ "then": "Ta ulica nie jest oświetlona"
+ },
+ "2": {
+ "then": "Ta ulica jest oświetlona w nocy"
+ },
+ "3": {
+ "then": "Ta ulica jest oświetlona 24/7"
+ }
},
- "1": {
- "then": "Ta ulica nie jest oświetlona"
- },
- "2": {
- "then": "Ta ulica jest oświetlona w nocy"
- },
- "3": {
- "then": "Ta ulica jest oświetlona 24/7"
- }
- },
- "question": "Czy ta ulica jest oświetlona?"
+ "question": "Czy ta ulica jest oświetlona?"
+ }
}
- },
- "title": {
- "render": "Ulica"
}
}
},
diff --git a/langs/themes/ru.json b/langs/themes/ru.json
index d865e05a0..5292a9bd3 100644
--- a/langs/themes/ru.json
+++ b/langs/themes/ru.json
@@ -236,14 +236,6 @@
"title": "Спортивные объекты"
},
"street_lighting": {
- "layers": {
- "2": {
- "name": "Все улицы",
- "title": {
- "render": "Улица"
- }
- }
- },
"title": "Уличное освещение"
},
"surveillance": {
diff --git a/langs/themes/zh_Hant.json b/langs/themes/zh_Hant.json
index adcb07626..3278776d8 100644
--- a/langs/themes/zh_Hant.json
+++ b/langs/themes/zh_Hant.json
@@ -807,28 +807,26 @@
}
},
"2": {
- "name": "所有道路",
- "tagRenderings": {
- "lit": {
- "mappings": {
- "0": {
- "then": "這道路有照明"
+ "override": {
+ "tagRenderings+": {
+ "0": {
+ "mappings": {
+ "0": {
+ "then": "這道路有照明"
+ },
+ "1": {
+ "then": "這道路沒有照明"
+ },
+ "2": {
+ "then": "這道路晚上有照明"
+ },
+ "3": {
+ "then": "這道路 24/7 有照明"
+ }
},
- "1": {
- "then": "這道路沒有照明"
- },
- "2": {
- "then": "這道路晚上有照明"
- },
- "3": {
- "then": "這道路 24/7 有照明"
- }
- },
- "question": "這道路有照明嗎?"
+ "question": "這道路有照明嗎?"
+ }
}
- },
- "title": {
- "render": "照明"
}
}
},
diff --git a/src/Models/Constants.ts b/src/Models/Constants.ts
index 8eb298467..cad980136 100644
--- a/src/Models/Constants.ts
+++ b/src/Models/Constants.ts
@@ -191,6 +191,7 @@ export default class Constants {
"resolved",
"ring",
"scissors",
+ "snowflake",
"square",
"square_rounded",
"teardrop",
diff --git a/src/assets/svg/Snowflake.svelte b/src/assets/svg/Snowflake.svelte
new file mode 100644
index 000000000..cce4078a2
--- /dev/null
+++ b/src/assets/svg/Snowflake.svelte
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file