Merge develop

This commit is contained in:
Pieter Vander Vennet 2024-02-15 17:48:26 +01:00
commit f0823f4c4d
524 changed files with 18747 additions and 8546 deletions

View file

@ -0,0 +1,205 @@
{
"pointRendering": [
{
"location": [
"start"
],
"marker": [
{
"icon": "square"
}
],
"iconSize": "12,12"
},
{
"location": [
"point",
"projected_centerpoint"
],
"label": {
"render": {
"en": "{name}"
},
"condition": "name~*",
"classes": "bg-white p-1 px-2 rounded"
},
"labelCssClasses": "bg-white px-2 py-1 no-weblate"
}
],
"tagRenderings": [
"images",
{
"question": {
"en": "What type of aerialway is this?"
},
"id": "type",
"mappings": [
{
"if": "aerialway=cable_car",
"then": {
"en": "This is a cable car where the car goes up and down again on the same cable."
},
"icon": "./assets/layers/aerialway/cable_car.svg"
},
{
"if": "aerialway=gondola",
"then": {
"en": "This is a gondola where the cars go around in continuous circles"
},
"icon": "./assets/layers/aerialway/gondola_lift.svg"
},
{
"if": "aerialway=chair_lift",
"then": {
"en": "An open chairlift with seats to sit on and open to the outside air."
},
"icon": "./assets/layers/aerialway/chair_lift.svg"
},
{
"if": "aerialway=mixed",
"then": {
"en": "An aerialway which has both chairs and gondolas in the same continuous track"
}
},
{
"if": "aerialway=drag_lift",
"then": {
"en": "A drag lift"
},
"hideInAnswer": true
},
{
"if": "aerialway=t-bar",
"then": {
"en": "A drag lift with T-shaped carriers for two passengers at a time"
}
},
{
"if": "aerialway=j-bar",
"then": {
"en": "A drag lift with L-shaped bars for a single passenger at a time"
}
},
{
"if": "aerialway=platter",
"then": {
"en": "A drag lift with a platter to drag a single passenger at a time"
}
},
{
"if": "aerialway=rope_tow",
"then": {
"en": "A tow line which which drags skieers"
}
},
{
"if": "aerialway=magic_carpet",
"then": {
"en": "A magic carpet (a conveyor belt on the ground)"
}
},
{
"if": "aerialway=zip_line",
"then": {
"en": "A zip line. (A touristical attraction where adventurous people go down at high speeds) "
}
}
]
},
{
"id": "duration",
"question": {
"en": "How long takes a single journey with this elevator?"
},
"questionHint": {
"en": "This excludes the waiting time."
},
"freeform": {
"key": "duration"
},
"render": {
"en": "A single journey takes {duration} minutes"
}
},
{
"id": "occupancy",
"freeform": {
"key": "aerialway:occupancy"
},
"question": {
"en": "How many people fit a single carriage?"
},
"render": {
"en": "{aerialway:occupancy} people fit a single carriage"
}
},
"opening_hours",
{
"id": "oneway",
"question": {
"en": "In what direction can this aerialway be taken?"
},
"mappings": [
{
"if": "oneway=yes",
"alsoShowIf": "oneway=",
"then": {
"en": "This aerialway can only be taken to the top"
}
},
{
"if": "oneway=no",
"then": {
"en": "This aerialway can be taken in both directions"
}
}
]
},
{
"id": "length",
"render": {
"en": "This aerialway is {_length:km} kilometer long"
}
}
],
"lineRendering": [
{
"width": "4",
"color": "black",
"imageAlongWay": [ {
"if": "oneway=no",
"then": "./assets/png/twoway.png"
},{
"if": {
"or": [
"oneway=yes",
"oneway="
]
},
"then": "./assets/png/oneway.png"
}
]
}
],
"id": "aerialway",
"name": {
"en": "Aerialways"
},
"description": {
"en": "Various forms of transport for passengers and goods that use wires, including cable cars, gondolas, chair lifts, drag lifts, and zip lines. "
},
"source": {
"osmTags": {
"and": [
"aerialway~*",
"aerialway!=pylon",
"aerialway!=station"
]
}
},
"title": {
"render": {
"en": "Aerialway {name}"
}
}
}

View file

@ -0,0 +1,6 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50">
<path d="m9,36h32v12H9"/>
<path fill="none" stroke="#000" stroke-width="2" d="m2,17
44-15M10,21v27m10,0V21m10,0v27m10,0V22H10m15,0V9"/>
</svg>

After

Width:  |  Height:  |  Size: 228 B

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: SuperFLoh
SPDX-License-Identifier: CC-BY 3.0

View file

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In -->
<svg
version="1.1"
x="0px"
y="0px"
width="372.74799"
height="348.6937"
viewBox="-0.031 -0.031 372.74798 348.69369"
enable-background="new -0.031 -0.031 576 567"
xml:space="preserve"
id="svg2"
sodipodi:docname="chair_lift.svg"
inkscape:version="1.3.2 (1:1.3.2+202311252150+091e20ef0f)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview2"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="2"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="1.328125"
inkscape:cx="184.84706"
inkscape:cy="178.07059"
inkscape:window-width="1920"
inkscape:window-height="995"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<defs
id="defs1">
</defs>
<path
d="m 372.717,171.00068 -0.25,-5.25 -8.75,-0.25 c -0.815,16.42 -9.463,29.354 -22.399,38.551 l -109.447,62.083 -8.153,-5.634 -1.25,-2.5 0.25,-3 15.25,-75 -0.75,-4 -0.75,-2.75 -2.5,-2.5 -1.5,-1.25 -1.5,-1.25 -1.5,-0.5 -2.25,-0.5 -4.25,0.25 -48.5,2.675 v -30.326 l 19.167,16.568 5,3 4.333,-0.333 3.667,-0.667 34.166,-48.167 1.167,-4.167 0.167,-3.833 -3.334,-4.999998 -1.45,-0.378 -2.766,-4.876 -49.774,28.233998 c -3.113,-3.382 -6.695,-7.287 -10.343,-11.268 v -0.152 l -0.986,-1.06 h -0.124 c -5.639,-6.157 -11.325,-12.378998 -15.557,-17.012998 v -13.84 c 10.892,-1.869001 19.167,-11.070001 19.167,-22.147001 0,-12.426 -10.41,-22.5 -23.25,-22.5 -12.84,0 -23.25,10.074 -23.25,22.5 0,7.883 4.193,14.815 10.535,18.833 h -0.035 v 13.933001 l -14.5,11.901 -1.5,3.666998 -0.519,4.667 h -0.398 v 46.945 l -13.25,7.516 v -3.735 0 -128.890999 l 29.732,-16.082 -0.22,-0.407 c 10.096,-4.3989998 18.98,-8.8739998 30.155,-10.0969998 -13.949,-3.64800002 -22.043,-5.077 -34.568,1.94 l -0.009,-0.017 L -0.031,78.442682 v 11.092 L 99.135001,35.896681 V 168.82968 l -40.460001,22.951 -7.881,-13.895 -6.088,3.454 7.881,13.894 -11.686,6.629 3.453,6.089 11.686,-6.629 7.336,12.934 6.089,-3.453 -7.337,-12.935 37.006001,-20.991 v 6.54 c -0.103,1.181 -0.166,2.374 -0.166,3.583 0,1.221 0.061,2.426 0.166,3.618 v 0.8 h 0.078 c 2.112999,19.596 18.094999,34.832 37.505999,34.832 2.366,0 4.679,-0.232 6.924,-0.666 h 48.159 v -9.334 h -29.942 c 0.121,-0.112 0.246,-0.219 0.365,-0.333 h -20.521 c -1.328,0.218 -2.686,0.333 -4.069,0.333 -13.558,0 -24.793,-10.848 -26.833,-25.026 v -9.278 c 0,-0.002 0,-0.004 0,-0.005 v -11.682 l 13.25,-7.516 v 25.257 h 0.191 c 0.258,9.983 8.142,18 17.851,18 0.297,0 0.591,-0.012 0.884,-0.026 l -0.009,0.026 63.5,-4.5 1,-0.5 1.25,0.75 -15.5,65.25 10.373,15.176 -102.234,57.991 4.818,8.495 242.885,-137.775 -0.19,-0.336 c 13.734,-9.249 23.001,-22.526 23.847,-39.551 z m -151.228,-63.53 -20.189,23.113 c 0,0 -2.166,1.5 -2.666,1.667 -0.5,0.167 -3.5,-1.333 -4,-1.5 -0.103,-0.034 -2,-2.053 -4.95,-5.238 z"
id="path2" />
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Gouvernement fran<61><6E>ais, Roulex 45
SPDX-License-Identifier: CC0-1.0

View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.0"
width="43.828327"
height="47.376011"
id="svg4697"
sodipodi:docname="gondola_lift.svg"
inkscape:version="1.3.2 (1:1.3.2+202311252150+091e20ef0f)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview10"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="12.020696"
inkscape:cx="5.1161765"
inkscape:cy="23.667516"
inkscape:window-width="1920"
inkscape:window-height="995"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4697"
inkscape:showpageshadow="2"
inkscape:deskcolor="#d1d1d1" />
<defs
id="defs4699" />
<path
d="M 43.398593,1.2717348 0.4298435,16.552985 C 43.378998,1.2742886 43.398593,1.2717348 43.398593,1.2717348 Z m -19.875,7.3125 c -0.0083,13.6609042 0,13.6562502 0,13.6562502 l 0.03125,-0.3125 z"
id="path4679"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.56498;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
width="18.40391"
height="10.119683"
x="14.794506"
y="35.973839"
id="rect4687"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.56498;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
ry="0" />
<path
d="m 13.823415,21.968521 v 24.125 h 9.15625 v -24.125 z m 10.21875,0 v 24.125 h 9.15625 v -24.125 z"
id="rect4689"
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.56498;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:nodetypes="cccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Vasily Astanin
SPDX-License-Identifier: CC-BY-SA 4.0

View file

@ -0,0 +1,32 @@
[
{
"path": "cable_car.svg",
"license": "CC-BY 3.0",
"authors": [
"SuperFLoh"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:Pictogram_Cable_Car_small.svg"
]
},
{
"path": "chair_lift.svg",
"license": "CC0-1.0",
"authors": [
"Gouvernement fran<61><6E>ais, Roulex 45"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:France_road_sign_CE20b.svg"
]
},
{
"path": "gondola_lift.svg",
"license": "CC-BY-SA 4.0",
"authors": [
"Vasily Astanin"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:Pictogram_Gondola_Lift.svg"
]
}
]

View file

@ -560,7 +560,8 @@
"he": "גילוף בעץ",
"eu": "Egur taila",
"pl": "Rzeźbienie w drewnie",
"pt_BR": "Entalhe"
"pt_BR": "Entalhe",
"it": "Scultura in legno"
}
}
],
@ -755,7 +756,8 @@
"ca": "Què representa aquesta obra d'art?",
"he": "מה מתארת היצירה הזו?",
"pl": "Co przedstawia to dzieło sztuki?",
"pt_BR": "O que esta obra de arte representa?"
"pt_BR": "O que esta obra de arte representa?",
"it": "Che cosa rappresenta quest'opera d'arte?"
},
"freeform": {
"key": "subject:wikidata",
@ -772,7 +774,8 @@
"ca": "Aquesta obra d'art representa {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}",
"fr": "Cette œuvre dépeint {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}",
"pl": "To dzieło sztuki przedstawia {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}",
"pt_BR": "Essa arte representa {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}"
"pt_BR": "Essa arte representa {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}",
"it": "Quest'opera d'arte rappresenta {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}"
},
"labels": [
"artwork-question"
@ -792,7 +795,8 @@
"pl": "Czy to dzieło sztuki pełni funkcję ławki?",
"pt_BR": "Essa obra de arte serve como banco?",
"es": "¿Sirve esta obra de arte como banco?",
"pt": "Esta obra de arte serve como banco?"
"pt": "Esta obra de arte serve como banco?",
"it": "Quest'opera d'arte funge da panchina?"
},
"mappings": [
{
@ -808,7 +812,8 @@
"pl": "To dzieło sztuki pełni również funkcję ławki",
"pt_BR": "Essa obra de arte também serve como banco",
"es": "Esta obra de arte también sirve de banco",
"pt": "Esta obra de arte também serve como banco"
"pt": "Esta obra de arte também serve como banco",
"it": "Quest'opera d'arte funge anche da panchina"
}
},
{
@ -825,7 +830,8 @@
"pl": "To dzieło sztuki nie pełni funkcji ławki",
"pt_BR": "Essa obra de arte não serve como banco",
"es": "Esta obra no sirve de banco",
"pt": "Esta obra de arte não serve como banco"
"pt": "Esta obra de arte não serve como banco",
"it": "Quest'opera d'arte non funge anche da panchina"
}
},
{
@ -842,7 +848,8 @@
"pl": "To dzieło sztuki nie pełni funkcji ławki",
"pt_BR": "Essa obra de arte não serve como banco",
"es": "Esta obra no sirve de banco",
"pt": "Esta obra de arte não serve como banco"
"pt": "Esta obra de arte não serve como banco",
"it": "Quest'opera d'arte non funge anche da panchina"
},
"hideInAnswer": true
}

View file

@ -0,0 +1,145 @@
{
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
},
"name": {
"en": "Emergency assembly points",
"it": "Punti di raccolta per emergenze"
},
"description": {
"en": "This layer contains assembly points and waiting areas where all employees, passengers or a large crowd assemble in case of an emergency.",
"it": "Questo livello contiene punti di raccolta e aree di attesa in cui tutti i dipendenti, i passeggeri o una grande folla si riuniscono in caso di emergenza."
},
"docs": "https://wiki.openstreetmap.org/wiki/Tag:emergency%3Dassembly_point",
"id": "assembly_point",
"minzoom": 10,
"source": {
"osmTags": {
"and": [
"emergency=assembly_point"
]
}
},
"pointRendering": [
{
"iconSize": "20,20",
"location": [
"point",
"centroid"
],
"anchor": "bottom",
"marker": [
{
"icon": "./assets/layers/assembly_point/assembly_point.svg"
}
]
}
],
"presets": [
{
"title": {
"en": "an assembly point",
"it": "un punto di raccolta"
},
"tags": [
"emergency=assembly_point"
]
}
],
"title": {
"render": {
"en": "Assembly point during emergencies"
}
},
"tagRenderings": [
"images",
{
"id": "assembly_point_name",
"freeform": {
"key": "name"
},
"question": {
"en": "What is the name of this assembly point?",
"it": "Qual è il nome di questo punto di raccolta?"
},
"render": {
"en": "This assembly point is named <b>{name}</b>",
"it": "Questo punto di raccolta si chiama <b>{name}</b>"
}
},
{
"id": "assembly_point_operator",
"render": {
"en": "This assembly point is operated by <b>{operator}</b>",
"it": "Questo punto di raccolta è gestita da <b>{operator}</b>"
},
"question": {
"en": "What organization operates this assembly point?",
"it": "Quale organizzazione gestisce questo punto di raccolta?"
},
"freeform": {
"key": "operator",
"type": "string"
}
},
{
"id": "disaster_type",
"question": {
"en": "For which disaster type is this assembly point meant?",
"it": "Per quali tipi di disastro è pensato questo punto di raccolta?"
},
"multiAnswer": true,
"mappings": [
{
"if": "assembly_point:earthquake=yes",
"ifnot": "assembly_point:earthquake=",
"then": {
"en": "Earthquake",
"it": "Terremoto"
},
"icon": {
"path": "./assets/layers/assembly_point/earthquake.svg",
"class": "medium"
}
},
{
"if": "assembly_point:flood=yes",
"ifnot": "assembly_point:flood=",
"then": {
"en": "Flood",
"it": "Alluvione"
},
"icon": {
"path": "./assets/layers/assembly_point/flood.svg",
"class": "medium"
}
},
{
"if": "assembly_point:fire=yes",
"ifnot": "assembly_point:fire=",
"then": {
"en": "Fire",
"it": "Incendio"
},
"icon": {
"path": "./assets/layers/assembly_point/fire.svg",
"class": "medium"
}
},
{
"if": "assembly_point:landslide=yes",
"ifnot": "assembly_point:landslide=",
"then": {
"en": "Landslide",
"it": "Frana"
},
"icon": {
"path": "./assets/layers/assembly_point/landslide.svg",
"class": "medium"
}
}
]
}
]
}

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1"
width="400px" height="400px" viewBox="0 0 178 178" id="svg2">
<defs />
<rect width="178" height="178" x="0" y="0" style="fill:#ffffff" />
<rect width="168" height="168" x="5" y="5" style="fill:#008855;fill-rule:evenodd" />
<g style="fill:#ffffff;fill-rule:evenodd">
<path
d="M 44.9,117.94 44.9,88.84 C 44.9,86.32 47.1,84.64 49.4,84.64 H 76.7 C 76.6,88.08 79,90.5 80.9,93.04 H 74 C 69,93.04 66.5,96.15 66.5,101.74 V 117.94 H 56.9 V 96.04 H 52.7 V 117.94 z M 70.7,127.84 70.7,101.44 C 70.7,98.41 72.7,96.94 75.5,96.94 H 102.5 C 105.8,96.94 107.3,99.73 107.3,101.14 V 127.84 H 101.6 V 106.54 H 97.4 V 127.84 H 80.9 V 106.54 H 76.4 V 127.84 z M 133.1,117.94 133.1,90.04 C 133.1,86.99 131.5,84.64 128.6,84.64 H 101.3 C 101.3,87.95 99,90.54 97.1,93.04 H 103.7 C 108.4,93.04 111.5,97.12 111.5,101.74 V 117.94 H 121.1 V 96.04 H 125.3 V 117.94 z" />
<path d="M 97.86,58.49 A 8.855,8.855 0 0 1 80.15,58.49 8.855,8.855 0 1 1 97.86,58.49 z" />
<path
d="M 122.54,71.069 A 8.8551,8.8551 0 0 1 104.83,71.069 8.8551,8.8551 0 1 1 122.54,71.069 z" />
<path
d="M 72.283,70.693 A 8.8551,8.8551 0 0 1 54.573,70.693 8.8551,8.8551 0 1 1 72.283,70.693 z" />
<path
d="M 97.702,83.413 A 8.8551,8.8551 0 0 1 79.992,83.413 8.8551,8.8551 0 1 1 97.702,83.413 z" />
<path
d="M 14.761,8.9 8.9,14.496 35.275,40.999 H 16.714 L 24.53,48.95 H 48.95 V 25.097 L 41.136,17.146 V 35.404 L 14.761,8.9" />
<path
d="M 163.24,8.902 169.1,14.492 142.72,40.999 H 161.28 L 153.47,48.95 H 129.05 V 25.092 L 136.86,17.142 V 35.402 L 163.24,8.902" />
<path
d="M 14.761,169.1 8.9,163.5 35.275,137 H 16.714 L 24.53,129.05 H 48.95 V 152.9 L 41.136,160.85 V 142.59 L 14.761,169.1" />
<path
d="M 163.24,169.1 169.1,163.51 142.72,137 H 161.28 L 153.47,129.05 H 129.05 V 152.91 L 136.86,160.86 V 142.6 L 163.24,169.1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: https://commons.wikimedia.org/wiki/User:Epop
SPDX-License-Identifier: CC0-1.0

View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 100.003 79.997">
<path d="M81.653 42.94c-1.387 0-2.666.767-3.315 1.992L72.942 55.1l-6.649-19.479c-.508-1.472-1.865-2.48-3.423-2.534-1.602-.046-2.983.859-3.589 2.292L54.72 46.213l-7.2-43.128c-.33-1.812-2.029-3.188-3.77-3.079-1.843.042-3.384 1.252-3.635 3.079l-6.357 50.052-5.156-26.864c-.303-1.589-1.594-2.803-3.201-3.01-1.577-.21-3.162.635-3.862 2.097l-8.435 17.58H0v7.497h15.466c1.443 0 2.756-.825 3.381-2.129l4.536-9.45 7.312 38.098c.339 1.771 1.887 3.041 3.682 3.041h.1c1.836-.049 3.367-1.421 3.616-3.241l6.259-49.182 5.247 32.385c.295 1.631 1.631 2.876 3.276 3.057 1.67.161 3.223-.742 3.867-2.275l5.635-13.374 6.27 18.359c.483 1.411 1.763 2.407 3.251 2.524 1.494.083 2.91-.659 3.613-1.982l8.398-15.83h16.094V42.94h-18.35z"/>
</svg>

After

Width:  |  Height:  |  Size: 811 B

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: United Nations Office for the Coordination of Humanitarian Affairs (OCHA)
SPDX-License-Identifier: CC0-1.0

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 75.142 99.999" enable-background="new 0 0 75.142 99.999" xml:space="preserve"><path d="M56.572,55.698c0-1.52,6.527-21.734-6.182-27.847C35.748,20.808,31.701,15.19,31.822,6.188 c-0.009,0.365-8.855,14.62-3.094,21.663c8.942,10.902,5.166,19.343,0,18.566c-8.68-1.301-7.632-12.617-6.191-15.472 c-4.536-0.478-9.782,2.343-12.378,6.188c-7.808,11.598,9.114,22.696,3.097,30.944c-4.579,6.285-12.404-6.09-12.378-6.188 c-9.29,48.494,58.182,49.726,61.889,9.284c1.104-12.128,12.024-18.725,12.375-18.569C63.515,47.243,56.572,56.086,56.572,55.698z M34.918,89.743C18.695,90.341,20.361,78.184,22.537,74.27c2.763-4.984,9.76-5.969,6.191-12.381 c0.046,0.098,7.589,1.231,12.373,6.188C48.439,75.652,47.604,89.264,34.918,89.743z"/><path d="M44.197,15.472c-1.894-2.032-3.097-4.472-3.097-6.19c0-3.221,2.631-6.317,6.193-9.282c0.357,2.579-1.543,6.447,0,9.282 c1.197,2.098,3.097,4.472,3.097,6.19c0,2.302-0.857,4.4-3.097,6.188C46.954,20.799,46.361,17.976,44.197,15.472z"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: United Nations Office for the Coordination of Humanitarian Affairs (OCHA)
SPDX-License-Identifier: CC0-1.0

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 100 69.453" enable-background="new 0 0 100 69.453" xml:space="preserve"><path d="M68.345,48.412c3.558,1.812,8.542,2.245,11.701,0.602c4.282-2.229,7.665-3.039,11.023-2.018 c0.004-0.053,0-0.104,0.006-0.156c0.195-1.186,1.277-1.995,2.433-1.803c1.14,0.17,1.917,1.276,1.737,2.467 c-0.081,0.475-0.311,0.888-0.625,1.203c0.584,0.291,1.568,0.658,2.996,0.88l0.434-2.737c0.336-2.172-1.21-3.591-2.174-3.872 l-1.451-6.731c-0.266-1.287-1.105-2.478-3.007-2.789l-3.462-0.547l-5.921-0.938l-3.523-0.557c-1.891-0.291-3.059,0.584-3.719,1.721 l-3.462,5.954c-0.994-0.028-2.901,0.845-3.241,3.017l-0.911,5.737C67.556,48.015,67.941,48.199,68.345,48.412z M76.54,34.737 c0.339-0.676,0.765-1.127,1.585-1.009l6.465,1.021l0.019,0.004l6.485,1.027c0.806,0.139,1.071,0.701,1.194,1.446l1.061,5.289 l-9.725-1.539l-0.02-0.005l-9.707-1.537L76.54,34.737z M70.559,43.591c0.183-1.188,1.265-1.997,2.41-1.807 c1.148,0.172,1.927,1.278,1.735,2.466c-0.185,1.177-1.267,1.988-2.411,1.805C71.146,45.875,70.366,44.769,70.559,43.591z"/><path d="M56.944,19.599V3.188H45.833v6.594L34.762,0L2.777,28.188h5.556v19.026c3.528-1.311,7.012-0.561,11.57,1.799 c3.131,1.644,8.188,1.211,11.702-0.602c4.883-2.563,7.509-1.95,12.629,0.327c3.91,1.749,7.472,1.755,11.426,0 c2.117-0.944,3.825-1.575,5.45-1.839V28.188h5.557L56.944,19.599z"/><path d="M93.933,56.591c-4.379-2.686-8.391-2.149-13.887,0.71c-3.159,1.644-8.144,1.21-11.701-0.601 c-4.838-2.562-7.592-1.941-12.685,0.327c-3.954,1.755-7.516,1.75-11.426,0c-5.12-2.276-7.746-2.89-12.629-0.327 c-3.513,1.811-8.57,2.244-11.702,0.601c-5.525-2.859-9.466-3.396-13.833-0.71c0,0-1.901,1.451-6.07,1.475v2.314v8.178v0.619 c4.169-0.024,6.07-1.474,6.07-1.474c4.367-2.688,8.309-2.151,13.833,0.708c3.131,1.644,8.188,1.211,11.702-0.599 c4.883-2.565,7.509-1.95,12.629,0.325c3.91,1.75,7.472,1.756,11.426,0c5.093-2.268,7.847-2.891,12.685-0.325 c3.558,1.81,8.542,2.242,11.701,0.599c5.496-2.859,9.508-3.396,13.887-0.708c0,0,1.816,1.456,6.067,1.474v-0.619V60.38v-2.314 C95.749,58.048,93.933,56.591,93.933,56.591z"/></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Iconathon
SPDX-License-Identifier: CC0-1.0

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg id="svg5184" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="15" width="15" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 15 15">
<metadata id="metadata5189">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<g id="layer1" transform="translate(0 -1037.4)">
<g id="landslide-15" transform="translate(-185 775)">
<path id="path7243" opacity=".5" stroke-linejoin="round" style="color:#000000" d="m199 263.36-5.6562 5.6562l-3.34-0.66-2.84 0.16 0.84 0.84c-0.82843 0-1.5 0.67157-1.5 1.5s0.67157 1.5 1.5 1.5 1.5-0.67157 1.5-1.5l1 1-4.5 4.5h13v-13zm-8 1c-1.1046 0-2 0.89543-2 2s0.89543 2 2 2 2-0.89543 2-2-0.89543-2-2-2zm-4 2c-0.55229 0-1 0.44771-1 1s0.44771 1 1 1 1-0.44771 1-1-0.44771-1-1-1z" stroke-dashoffset="9.9" stroke="#fefefe" stroke-linecap="round" stroke-width="2" fill="#fefefe"/>
<g>
<path id="path7186" style="color:#000000" d="m199 263.36-13 13h13v-13z"/>
<g>
<circle id="path7188" style="color:#000000" transform="translate(177 88.362)" cy="178" cx="14" r="2"/>
<circle id="path7188-4" style="color:#000000" transform="matrix(0.75 0 0 0.75 177.5 137.36)" cy="178" cx="14" r="2"/>
<circle id="path7188-4-0" style="color:#000000" transform="matrix(0.5 0 0 0.5 180 178.36)" cy="178" cx="14" r="2"/>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Development Seed
SPDX-License-Identifier: CC-BY-3.0

View file

@ -0,0 +1,56 @@
[
{
"path": "assembly_point.svg",
"license": "CC0-1.0",
"authors": [
"https://commons.wikimedia.org/wiki/User:Epop"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:E011.svg"
]
},
{
"path": "earthquake.svg",
"license": "CC0-1.0",
"authors": [
"United Nations Office for the Coordination of Humanitarian Affairs (OCHA)"
],
"sources": [
"https://thenounproject.com/icon/fire-4232/",
"https://commons.wikimedia.org/wiki/File:Earthquake_-_The_Noun_Project.svg"
]
},
{
"path": "fire.svg",
"license": "CC0-1.0",
"authors": [
"United Nations Office for the Coordination of Humanitarian Affairs (OCHA)"
],
"sources": [
"https://thenounproject.com/icon/fire-4234/",
"https://commons.wikimedia.org/wiki/File:Fire_-_The_Noun_Project.svg"
]
},
{
"path": "flood.svg",
"license": "CC0-1.0",
"authors": [
"Iconathon"
],
"sources": [
"https://thenounproject.com/icon/flood-752/",
"https://commons.wikimedia.org/wiki/File:Flood_(752)_-_The_Noun_Project.svg"
]
},
{
"path": "landslide.svg",
"license": "CC-BY-3.0",
"authors": [
"Development Seed"
],
"sources": [
"https://github.com/developmentseed/mapbox/blob/master/icons-maki/maki-icons.svg",
"https://commons.wikimedia.org/wiki/File:Maki1-landslide-15.svg"
]
}
]

View file

@ -13,7 +13,8 @@
"pl": "Bankomaty",
"pt_BR": "Caixas eletrônicos",
"es": "Cajeros automáticos",
"pt": "Multibancos"
"pt": "Multibancos",
"it": "Sportelli Bancomat"
},
"description": {
"en": "ATMs to withdraw money",
@ -27,7 +28,8 @@
"he": "כספומטים למשיכת כסף",
"pl": "Bankomaty do wypłacania pieniędzy",
"pt_BR": "Caixas eletrônicos para sacar dinheiro",
"pt": "Multibancos para levantar dinheiro"
"pt": "Multibancos para levantar dinheiro",
"it": "Sportello Bancomat per prelevare denaro"
},
"source": {
"osmTags": "amenity=atm"
@ -103,7 +105,8 @@
"pl": "bankomat",
"pt_BR": "um caixa eletrônico",
"es": "Un cajero automático",
"pt": "um multibanco"
"pt": "um multibanco",
"it": "Uno sportello bancomat"
}
}
],
@ -123,7 +126,8 @@
"pl": "Nazwa tego bankomatu to {name}",
"pt_BR": "O nome desse caixa eletrônico é {name}",
"es": "El nombre del banco de este cajero automático es {name}",
"pt": "O nome deste multibanco é {name}"
"pt": "O nome deste multibanco é {name}",
"it": "Il nome di questo sportello bancomat è {name}"
},
"condition": "name~*"
},
@ -206,7 +210,8 @@
"eu": "Operadorea",
"pt_BR": "Operador",
"es": "Operador",
"pt": "Operador"
"pt": "Operador",
"it": "Operatore"
}
},
"render": {
@ -237,7 +242,8 @@
"he": "האם אתה יכול למשוך מזומן מהכספומט הזה?",
"pt_BR": "Você pode sacar dinheiro nesse caixa eletrônico?",
"es": "¿Se puede sacar dinero de este cajero?",
"pt": "Pode levantar dinheiro neste multibanco?"
"pt": "Pode levantar dinheiro neste multibanco?",
"it": "Puoi prelevare dei contanti da questo sportello bancomat?"
},
"mappings": [
{
@ -253,7 +259,8 @@
"pl": "Z tego bankomatu można wypłacić pieniądze",
"pt_BR": "Você pode sacar dinheiro nesse caixa eletrônico",
"es": "Puede retirar dinero de este cajero automático",
"pt": "Pode levantar dinheiro neste multibanco"
"pt": "Pode levantar dinheiro neste multibanco",
"it": "Puoi prelevare dei contanti da questo sportello bancomat"
},
"hideInAnswer": true
},
@ -268,7 +275,8 @@
"he": "אתה יכול למשוך מזומן מהכספומט הזה",
"pt_BR": "Você pode sacar dinheiro nesse caixa eletrônico",
"es": "Puede retirar dinero de este cajero automático",
"pt": "Pode levantar dinheiro neste multibanco"
"pt": "Pode levantar dinheiro neste multibanco",
"it": "Puoi prelevare dei contanti da questo sportello bancomat"
}
},
{
@ -282,7 +290,8 @@
"he": "לא ניתן למשוך מזומן מכספומט זה",
"pt_BR": "Você não pode sacar dinheiro nesse caixa eletrônico",
"es": "No puede retirar dinero de este cajero automático",
"pt": "Não pode levantar dinheiro neste multibanco"
"pt": "Não pode levantar dinheiro neste multibanco",
"it": "Non puoi prelevare dei contanti da questo sportello bancomat"
}
}
]
@ -300,7 +309,8 @@
"pl": "Czy ten bankomat pozwala wpłacać pieniądze?",
"pt_BR": "Você pode depositar dinheiro nesse caixa eletrônico?",
"es": "¿Se puede ingresar dinero en efectivo en este cajero?",
"pt": "Pode depositar dinheiro neste multibanco?"
"pt": "Pode depositar dinheiro neste multibanco?",
"it": "Puoi depositare dei contanti in questo sportello bancomat?"
},
"mappings": [
{
@ -317,7 +327,8 @@
"pl": "Prawdopodobnie ten bankomat nie pozwala wpłacać pieniędzy",
"pt_BR": "Você provavelmente não pode depositar dinheiro nesse caixa eletrônico",
"es": "Es probable que no pueda ingresar dinero en efectivo en este cajero automático",
"pt": "Provavelmente não pode depositar dinheiro neste multibanco"
"pt": "Provavelmente não pode depositar dinheiro neste multibanco",
"it": "Probabilmente non puoi depositare dei contanti in questo sportello bancomat"
},
"hideInAnswer": true
},
@ -335,7 +346,8 @@
"pl": "Ten bankomat pozwala wpłacać pieniądze",
"pt_BR": "Você pode depositar dinheiro nesse caixa eletrônico",
"es": "Puede ingresar dinero en efectivo en este cajero automático",
"pt": "Pode depositar dinheiro neste mutibanco"
"pt": "Pode depositar dinheiro neste mutibanco",
"it": "Puoi depositare dei contanti in questo sportello bancomat"
}
},
{
@ -352,7 +364,8 @@
"pl": "Ten bankomat nie pozwala wpłacać pieniędzy",
"pt_BR": "Você não pode depositar dinheiro nesse caixa eletrônico",
"es": "No se puede ingresar dinero en efectivo en este cajero automático",
"pt": "Não pode depositar dinheiro neste multibanco"
"pt": "Não pode depositar dinheiro neste multibanco",
"it": "Non puoi depositare dei contanti in questo sportello bancomat"
}
}
]
@ -386,7 +399,8 @@
"pl": "Jakie banknoty można tutaj wypłacić?",
"pt_BR": "Quais notas você pode sacar aqui?",
"es": "¿Qué billetes puede retirar aquí?",
"pt": "Quais notas pode levantar aqui?"
"pt": "Quais notas pode levantar aqui?",
"it": "Quali banconote si possono ritirare qui?"
},
"multiAnswer": true,
"mappings": [
@ -402,7 +416,8 @@
"fr": "On peut retirer des billets de 5 euros",
"pt_BR": "Notas de 5 euros podem ser sacadas",
"es": "Se pueden retirar billetes de 5 euros",
"pt": "Notas de 5 euros podem ser levantadas"
"pt": "Notas de 5 euros podem ser levantadas",
"it": "Si possono prelevare banconote da 5 euro"
}
},
{
@ -417,7 +432,8 @@
"fr": "On peut retirer des billets de 10 euros",
"pt_BR": "Notas de 10 euros podem ser sacadas",
"es": "Se pueden retirar billetes de 10 euros",
"pt": "Notas de 10 euros podem ser levantadas"
"pt": "Notas de 10 euros podem ser levantadas",
"it": "Si possono prelevare banconote da 10 euro"
}
},
{
@ -432,7 +448,8 @@
"fr": "On peut retirer des billets de 20 euros",
"pt_BR": "Notas de 20 euros podem ser sacadas",
"es": "Se pueden retirar billetes de 20 euros",
"pt": "Notas de 20 euros podem ser levantadas"
"pt": "Notas de 20 euros podem ser levantadas",
"it": "Si possono prelevare banconote da 20 euro"
}
},
{
@ -447,7 +464,8 @@
"fr": "On peut retirer des billets de 50 euros",
"pt_BR": "Notas de 50 euros podem ser sacadas",
"es": "Se pueden retirar billetes de 50 euros",
"pt": "Notas de 50 euros podem ser levantadas"
"pt": "Notas de 50 euros podem ser levantadas",
"it": "Si possono prelevare banconote da 50 euro"
}
},
{
@ -462,7 +480,8 @@
"fr": "On peut retirer des billets de 100 euros",
"pt_BR": "Notas de 100 euros podem ser sacadas",
"es": "Se pueden retirar billetes de 100 euros",
"pt": "Notas de 100 euros podem ser levantadas"
"pt": "Notas de 100 euros podem ser levantadas",
"it": "Si possono prelevare banconote da 100 euro"
}
},
{
@ -477,7 +496,8 @@
"fr": "On peut retirer des billets de 200 euros",
"pt_BR": "Notas de 200 euros podem ser sacadas",
"es": "Se pueden retirar billetes de 200 euros",
"pt": "Notas de 200 euros podem ser levantadas"
"pt": "Notas de 200 euros podem ser levantadas",
"it": "Non si possono prelevare banconote da 200 euro"
}
},
{
@ -492,7 +512,8 @@
"fr": "On peut retirer des billets de 500 euros",
"pt_BR": "Notas de 500 euros podem ser sacadas",
"es": "Se pueden retirar billetes de 500 euros",
"pt": "Notas de 500 euros podem ser levantadas"
"pt": "Notas de 500 euros podem ser levantadas",
"it": "Non si possono prelevare banconote da 500 euro"
}
}
]
@ -560,25 +581,25 @@
"pt": "Em que línguas este multibanco tem saída de fala?"
},
"render_list_item": {
"en": "This ATM has speech output in {language():font-bold}",
"de": "Dieser Geldautomat hat eine Sprachausgabe in {language():font-bold}",
"nl": "Deze geldautomaat heeft spraak in {language():font-bold}",
"ca": "Aquest caixer té sortida de veu en {language():font-bold}",
"cs": "Tento bankomat má řečový výstup v {language():font-bold}",
"he": "לכספומט הזה יש פלט דיבור ב {language():font-bold}",
"pt_BR": "Este caixa eletrônico tem saída de fala em {language():font-bold}",
"es": "Este cajero automático tiene salida de voz en {language():font-bold}",
"pt": "Este multibanco tem saída de fala em {language():font-bold}"
"en": "This ATM has speech output in {language()}",
"de": "Dieser Geldautomat hat eine Sprachausgabe in {language()}",
"nl": "Deze geldautomaat heeft spraak in {language()}",
"ca": "Aquest caixer té sortida de veu en {language()}",
"cs": "Tento bankomat má řečový výstup v {language()}",
"he": "לכספומט הזה יש פלט דיבור ב {language()}",
"pt_BR": "Este caixa eletrônico tem saída de fala em {language()}",
"es": "Este cajero automático tiene salida de voz en {language()}",
"pt": "Este multibanco tem saída de fala em {language()}"
},
"render_single_language": {
"en": "This ATM has speech output in {language():font-bold}",
"de": "Dieser Geldautomat hat eine Sprachausgabe in {language():font-bold}",
"nl": "Deze automaat heeft spraak in {language():font-bold}",
"ca": "Aquest caixer té sortida de veu en {language():font-bold}",
"cs": "Tento bankomat má řečový výstup v {language():font-bold}",
"he": "לכספומט הזה יש פלט דיבור ב {language():font-bold}",
"pt_BR": "Este caixa eletrônico tem saída de fala em {language():font-bold}",
"es": "Este cajero automático tiene salida de voz en {language():font-bold}"
"en": "This ATM has speech output in {language()}",
"de": "Dieser Geldautomat hat eine Sprachausgabe in {language()}",
"nl": "Deze automaat heeft spraak in {language()}",
"ca": "Aquest caixer té sortida de veu en {language()}",
"cs": "Tento bankomat má řečový výstup v {language()}",
"he": "לכספומט הזה יש פלט דיבור ב {language()}",
"pt_BR": "Este caixa eletrônico tem saída de fala em {language()}",
"es": "Este cajero automático tiene salida de voz en {language()}"
}
}
}

View file

@ -360,5 +360,6 @@
},
"description"
],
"deletion": true
"deletion": true,
"allowMove": true
}

View file

@ -64,7 +64,8 @@
"iconSize": "40,40",
"location": [
"point",
"centroid"
"projected_centerpoint",
"polygon_centroid"
],
"anchor": "bottom",
"marker": [
@ -634,6 +635,79 @@
],
"id": "Access"
},
{
"id": "fee",
"question": {
"en": "Are these bicycle parkings free to use?",
"nl": "Is deze fietsenstalling gratis te gebruiken?"
},
"mappings": [
{
"if": "fee=yes",
"then": {
"en": "One has to <b>pay</b> to use this bicycle parking",
"nl": "<b>Betalende</b> fietsparking"
}
},
{
"if": "fee=no",
"alsoShowIf": "fee=",
"then": {
"en": "Free to use",
"nl": "Gratis te gebruiken"
}
}
]
},
{
"builtin": "opening_hours_24_7",
"override": {
"mappings": [
{
"alsoShowIf": "opening_hours="
}
]
}
},
{
"id": "operator_phone",
"question": {
"en": "What is the phone number of the operator of this bicycle parking?",
"nl": "Wat is het telefoonnummer van de operator van deze fietsenstalling?"
},
"questionHint": {
"en": "One might be able to call this number in case of problems, e.g. to remove unmaintained bicycles",
"nl": "Men kan dit nummer bellen om bv. fietswrakken of defecten te melden"
},
"icon": "./assets/layers/questions/phone.svg",
"freeform": {
"key": "operator:phone",
"type": "phone",
"addExtraTags": [
"phone=",
"contact:phone="
]
},
"render": "<a href='tel:{operator:phone}'>{operator:phone}</a>",
"mappings": [
{
"if": "phone~*",
"hideInAnswer": true,
"then": {
"*": "<a href='tel:{phone}'>{phone}</a>"
},
"icon": "./assets/layers/questions/phone.svg"
},
{
"if": "contact:phone~*",
"hideInAnswer": true,
"then": {
"*": "<a href='tel:{contact:phone}'>{contact:phone}</a>"
},
"icon": "./assets/layers/questions/phone.svg"
}
]
},
{
"question": {
"en": "Does this bicycle parking have spots for cargo bikes?",

File diff suppressed because it is too large Load diff

View file

@ -1,17 +1,14 @@
import { readFileSync, writeFileSync } from "fs";
import { Utils } from "../../../src/Utils";
import ScriptUtils from "../../../scripts/ScriptUtils";
import { LayerConfigJson } from "../../../src/Models/ThemeConfig/Json/LayerConfigJson";
import FilterConfigJson from "../../../src/Models/ThemeConfig/Json/FilterConfigJson";
import {
QuestionableTagRenderingConfigJson
} from "../../../src/Models/ThemeConfig/Json/QuestionableTagRenderingConfigJson";
import RewritableConfigJson from "../../../src/Models/ThemeConfig/Json/RewritableConfigJson";
import { TagRenderingConfigJson } from "../../../src/Models/ThemeConfig/Json/TagRenderingConfigJson";
import { readFileSync, writeFileSync } from "fs"
import { Utils } from "../../../src/Utils"
import ScriptUtils from "../../../scripts/ScriptUtils"
import { LayerConfigJson } from "../../../src/Models/ThemeConfig/Json/LayerConfigJson"
import FilterConfigJson from "../../../src/Models/ThemeConfig/Json/FilterConfigJson"
import RewritableConfigJson from "../../../src/Models/ThemeConfig/Json/RewritableConfigJson"
import { TagRenderingConfigJson } from "../../../src/Models/ThemeConfig/Json/TagRenderingConfigJson"
function colonSplit(value: string): string[] {
return value.split(";").map(v => v.replace(/"/g, '').trim()).filter(s => s !== "");
return value.split(";").map(v => v.replace(/"/g, "").trim()).filter(s => s !== "")
}
function loadCsv(file): {
@ -34,14 +31,14 @@ function loadCsv(file): {
return Utils.NoNull(entries.map(entry => {
const values = entry.split(",").map(str => str.trim())
if (values[0] === undefined || values[0] === "") {
return undefined;
return undefined
}
const v = {}
const colonSeperated = ["commonVoltages", "commonOutputs", "commonCurrents", "countryWhiteList", "countryBlackList", "associatedVehicleTypes", "neverAssociatedWith"]
const descriptionTranslations = new Map<string, string>()
for (let j = 0; j < header.length; j++) {
const key = header[j];
const key = header[j]
if (key.startsWith("description")) {
const language = key.substring("description:".length)
descriptionTranslations.set(language, values[j])
@ -54,10 +51,10 @@ function loadCsv(file): {
}
}
v["description"] = descriptionTranslations
if(v["id"] === ""){
v["id"] = v["key"]
if (v["id"] === "") {
v["id"] = v["key"]
}
return <any>v;
return <any>v
}))
}
@ -70,9 +67,9 @@ function run(file, protojson) {
{
question: {
en: "All connectors",
nl: "Alle types"
}
}
nl: "Alle types",
},
},
]
const entries = loadCsv(file)
@ -82,7 +79,7 @@ function run(file, protojson) {
{
// Add the entities to the 'rewrite-able part'
let specificQuestions: RewritableConfigJson<TagRenderingConfigJson> = <any>proto.tagRenderings.find(tr => tr["rewrite"] !== undefined && !(tr["rewrite"]["into"]?.length > 0));
let specificQuestions: RewritableConfigJson<TagRenderingConfigJson> = <any>proto.tagRenderings.find(tr => tr["rewrite"] !== undefined && !(tr["rewrite"]["into"]?.length > 0))
specificQuestions.rewrite.into = entries.map(e => [
e.id,
e.key,
@ -90,24 +87,24 @@ function run(file, protojson) {
e.image,
e.commonVoltages,
e.commonCurrents,
e.commonOutputs
]);
e.commonOutputs,
])
}
for (let i = 0; i < entries.length; i++) {
const e = entries[i];
const e = entries[i]
const txt = {
en: e.description.get("en"),
nl: e.description.get("nl")
nl: e.description.get("nl"),
}
const json = {
if: `${e.key}=1`,
ifnot: `${e.key}=`,
then: txt,
icon:{
path:"./assets/layers/charging_station/" + e.image,
class:"medium"
}
icon: {
path: "./assets/layers/charging_station/" + e.image,
class: "medium",
},
}
if (e.countryWhiteList.length > 0 && e.countryBlackList.length > 0) {
@ -116,32 +113,32 @@ function run(file, protojson) {
if (e.countryWhiteList.length > 0) {
// This is a 'hideInAnswer', thus _reverse_ logic!
const countries = e.countryWhiteList.map(country => "_country!=" + country) //HideInAnswer if it is in the wrong country
json["hideInAnswer"] = {and: countries} // Should be and, as we want to hide if it does not match any of the countries
json["hideInAnswer"] = { and: countries } // Should be and, as we want to hide if it does not match any of the countries
} else if (e.countryBlackList.length > 0) {
const countries = e.countryBlackList.map(country => "_country=" + country) //HideInAnswer if it is in the wrong country
json["hideInAnswer"] = {or: countries}
json["hideInAnswer"] = { or: countries }
}
if (e.associatedVehicleTypes?.length > 0 && e.associatedVehicleTypes.indexOf("*") < 0 && e.neverAssociatedWith?.length > 0) {
// This plug only occurs if some vehicle specific vehicle type is present.
// IF all of the needed vehicle types are explicitly NO, then we hide this type as well
let associatedWith = {and: [].concat(...e.associatedVehicleTypes.map(neededVehicle => [neededVehicle + "=no"]))}
let associatedWith = { and: [].concat(...e.associatedVehicleTypes.map(neededVehicle => [neededVehicle + "=no"])) }
// We also hide if:
// - One of the neverAssociatedVehiclesTYpes is set to 'yes' AND none of the associated types are set/yes
let neverAssociatedIsSet = {
and: [{
or: e.neverAssociatedWith.map(vehicleType => vehicleType + "=yes")
or: e.neverAssociatedWith.map(vehicleType => vehicleType + "=yes"),
},
...e.associatedVehicleTypes.map(associated => associated + "!=yes")
]
...e.associatedVehicleTypes.map(associated => associated + "!=yes"),
],
}
let conditions = [associatedWith, neverAssociatedIsSet]
if (json["hideInAnswer"] !== undefined) {
conditions.push(json["hideInAnswer"])
}
json["hideInAnswer"] = {or: conditions}
json["hideInAnswer"] = { or: conditions }
}
@ -151,14 +148,14 @@ function run(file, protojson) {
// We add a second time for any amount to trigger a visualisation; but this is not an answer option
const no_ask_json = {
if: {
and:Utils.NoEmpty( [`${e.key}~*`, `${e.key}!=1`, ...e.extraVisualisationCondition.split(";")])
and: Utils.NoEmpty([`${e.key}~*`, `${e.key}!=1`, ...e.extraVisualisationCondition.split(";")]),
},
then: txt,
hideInAnswer: true,
icon:{
icon: {
path: `./assets/layers/charging_station/${e.image}`,
class:"medium"
}
class: "medium",
},
}
overview_question_answers.push(no_ask_json)
@ -168,9 +165,9 @@ function run(file, protojson) {
filterOptions.push({
question: {
en: `Has a ${descrWithImage_en} connector`,
nl: `Heeft een ${descrWithImage_nl}`
nl: `Heeft een ${descrWithImage_nl}`,
},
osmTags: `${e.key}~*`
osmTags: `${e.key}~*`,
})
}
@ -178,25 +175,25 @@ function run(file, protojson) {
"id": "Available_charging_stations (generated)",
"question": {
"en": "Which charging connections are available here?",
"nl": "Welke aansluitingen zijn hier beschikbaar?"
"nl": "Welke aansluitingen zijn hier beschikbaar?",
},
"multiAnswer": true,
"mappings": overview_question_answers
"mappings": overview_question_answers,
}
const insertQuestionsAt = proto.tagRenderings.findIndex(tr => tr["id"] === "$$$")
proto.tagRenderings.splice(insertQuestionsAt, 1, toggles)
if(typeof proto.filter === "string"){
if (typeof proto.filter === "string") {
throw "Filters of a the protojson should be a list of FilterConfigJsons"
}
proto.filter = <FilterConfigJson[]> proto.filter;
proto.filter = <FilterConfigJson[]>proto.filter
proto.tagRenderings.forEach(tr => {
if (typeof tr === "string") {
return;
return
}
if(tr["rewrite"]){
if (tr["rewrite"]) {
return
}
if (tr["id"] === undefined || typeof tr["id"] !== "string") {
@ -207,18 +204,18 @@ function run(file, protojson) {
proto.filter.push({
id: "connection_type",
options: filterOptions
options: filterOptions,
})
const importedUnits = {}
for (const entry of entries) {
importedUnits[entry.key+":voltage"] = "voltage"
importedUnits[entry.key+":current"] = "current"
importedUnits[entry.key+":output"] = { quantity: "power", "denominations":["mW","kW"] }
importedUnits[entry.key + ":voltage"] = "voltage"
importedUnits[entry.key + ":current"] = "current"
importedUnits[entry.key + ":output"] = { quantity: "power", "denominations": ["mW", "kW"] }
}
const extraUnits = [importedUnits
];
const extraUnits = [importedUnits,
]
if (proto["units"] == undefined) {
proto["units"] = []
@ -228,16 +225,17 @@ function run(file, protojson) {
}
// noinspection JSUnusedLocalSymbols
async function queryTagInfo(file, type, clean: ((s: string) => string)) {
for (const e of loadCsv(file)) {
const value = await ScriptUtils.TagInfoHistogram(e.key + ":" + type)
const result = value.data
const counts = new Map<string, number>()
for (const r of result) {
let key = r.value;
let key = r.value
key = clean(key)
key.trim();
if (key.indexOf('-') >= 0) {
key.trim()
if (key.indexOf("-") >= 0) {
continue
}
if (r.fraction < 0.05) {
@ -255,6 +253,7 @@ async function queryTagInfo(file, type, clean: ((s: string) => string)) {
}
}
// noinspection JSUnusedLocalSymbols
/**
* Adds the translations into the 'newConfig' object
* @param origPath
@ -276,7 +275,7 @@ function mergeTranslations(origPath, newConfig: LayerConfigJson) {
}
const applicable = newRenderings.filter(r => r["id"] === oldRenderingName)[0]
if (applicable === undefined) {
continue;
continue
}
// @ts-ignore
Utils.Merge(oldRendering, applicable)

View file

@ -840,10 +840,12 @@
{
"id": "incline",
"question": {
"en": "Does {title()} have an incline?"
"en": "Does {title()} have an incline?",
"de": "Hat {title()} eine Steigung?"
},
"render": {
"en": "This road has an slope of {incline}"
"en": "This road has an slope of {incline}",
"de": "Die Straße hat {incline} Steigung"
},
"freeform": {
"key": "incline",
@ -853,7 +855,8 @@
{
"if": "incline=",
"then": {
"en": "There is (probably) no incline here"
"en": "There is (probably) no incline here",
"de": "Hier gibt es (wahrscheinlich) keine Steigung"
},
"hideInAnswer": true
},
@ -866,7 +869,8 @@
]
},
"then": {
"en": "This road has a slope"
"en": "This road has a slope",
"de": "Die Straße hat eine Steigung"
},
"hideInAnswer": true
}

View file

@ -752,7 +752,7 @@
"deletion": {
"softDeletionTags": {
"and": [
"disused:emergency:=defibrillator}",
"disused:emergency:=defibrillator",
"emergency="
]
},

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="700" height="700" viewBox="-350 -350 700 700">
<circle fill="#FFAA00" r="350"/>
<path fill="#003680" d="M249.41531629,144H-249.41531629L0-288z"/>
</svg>

After

Width:  |  Height:  |  Size: 238 B

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: https://commons.wikimedia.org/wiki/User:MStankie
SPDX-License-Identifier: LicenseRef-TRIVIAL

View file

@ -0,0 +1,75 @@
{
"id": "disaster_response",
"title": {
"render": {
"en": "Disaster response organization",
"it": "Organizzazione per la risposta ai disastri"
}
},
"name": {
"en": "Disaster response organizations"
},
"description": {
"en": "This layer contains organizations that have the main objective to help the civil population during and after natural or anthropogenic disasters by working in the affected area.",
"it": "Questo livello contiene organizzazioni che hanno come obiettivo principale quello di aiutare la popolazione civile durante e dopo disastri naturali o antropogenici, lavorando nell'area colpita."
},
"docs": "https://wiki.openstreetmap.org/wiki/Tag:emergency%3Ddisaster_response",
"minzoom": 10,
"lineRendering": [
{
"color": "#6BC4F7",
"width": 3
}
],
"presets": [
{
"title": {
"en": "a disaster response organization",
"it": "un'organizzazione per la risposta ai disastri"
},
"tags": [
"emergency=disaster_response"
]
}
],
"source": {
"osmTags": {
"and": [
"emergency=disaster_response"
]
}
},
"pointRendering": [
{
"iconSize": "40,40",
"location": [
"point",
"centroid"
],
"anchor": "bottom",
"marker": [
{
"icon": "./assets/themes/disaster_response/CivilDefence.svg"
}
]
}
],
"tagRenderings": [
"images",
"website",
{
"id": "disaster_response_name",
"freeform": {
"key": "name"
},
"question": {
"en": "What is the name of this organization?",
"it": "Qual è il nome di questa organizzazione?"
},
"render": {
"en": "This organization is named <b>{name}</b>",
"it": "Questa organizzazione si chiama <b>{name}</b>"
}
}
]
}

View file

@ -0,0 +1,12 @@
[
{
"path": "CivilDefence.svg",
"license": "TRIVIAL",
"authors": [
"https://commons.wikimedia.org/wiki/User:MStankie"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:CivilDefence.svg"
]
}
]

View file

@ -211,7 +211,8 @@
"id": "type",
"question": {
"en": "What type of drinking water point is this?",
"nl": "Wat voor soort drinkwaterpunt is dit?"
"nl": "Wat voor soort drinkwaterpunt is dit?",
"de": "Um welche Art von Trinkwasserentnahmestelle handelt es sich?"
},
"mappings": [
{
@ -219,7 +220,8 @@
"icon": "./assets/layers/drinking_water/bubbler.svg",
"then": {
"en": "This is a bubbler fountain. A water jet to drink from is sent upwards, typically controlled by a push button.",
"nl": "Dit is een waterhappertje - een drinkwaterfonteintje waarbij een waterstraaltje omhoog spuit. Dit kan permanent werken of door op een drukknop te duwen."
"nl": "Dit is een waterhappertje - een drinkwaterfonteintje waarbij een waterstraaltje omhoog spuit. Dit kan permanent werken of door op een drukknop te duwen.",
"de": "Dies ist ein Sprudelbrunnen. Ein Wasserstrahl zum Trinken wird nach oben gerichtet und in der Regel durch einen Druckknopf gesteuert."
},
"addExtraTags": [
"man_made="
@ -230,7 +232,8 @@
"icon": "./assets/layers/drinking_water/bottle.svg",
"then": {
"en": "This is a bottle refill point where the water is sent downwards, typically controlled by a push button or a motion sensor. Drinking directly from the stream might be very hard or impossible.",
"nl": "Dit is een hervulpunt voor drinkwaterflessen. De waterstraal wordt omlaag gestuurd wanneer op een drukknop geduwd wordt of wanneer er beweging gedetecteerd wordt. Rechtstreeks van de waterstraal drinking kan moeilijk of zelfs onmogelijk zijn."
"nl": "Dit is een hervulpunt voor drinkwaterflessen. De waterstraal wordt omlaag gestuurd wanneer op een drukknop geduwd wordt of wanneer er beweging gedetecteerd wordt. Rechtstreeks van de waterstraal drinking kan moeilijk of zelfs onmogelijk zijn.",
"de": "Dies ist eine Flaschenauffüllstation, an der das Wasser nach unten geleitet wird, in der Regel durch einen Druckknopf oder einen Bewegungssensor gesteuert. Direkt aus dem Wasserstrahl zu trinken, kann sehr schwierig oder unmöglich sein."
},
"addExtraTags": [
"man_made=",
@ -242,7 +245,8 @@
"icon": "./assets/layers/drinking_water/tap.svg",
"then": {
"en": "This is a water tap. The water flows downward and the stream is controlled by a valve or push-button.",
"nl": "Dit is een waterkraan. Het water strooomt naar beneden en het volume wordt door een knop of draaimechanisme geregeld."
"nl": "Dit is een waterkraan. Het water strooomt naar beneden en het volume wordt door een knop of draaimechanisme geregeld.",
"de": "Dies ist ein Wasserhahn. Das Wasser fließt nach unten und der Wasserstrahl wird durch ein Ventil oder einen Druckknopf gesteuert."
},
"addExtraTags": [
"fountain="
@ -302,21 +306,24 @@
"id": "fee",
"question": {
"en": "Is this drinking water point free to use?",
"nl": "Is dit drinkwaterpunt gratis te gebruiken?"
"nl": "Is dit drinkwaterpunt gratis te gebruiken?",
"de": "Kann diese Trinkwasserstelle kostenlos genutzt werden?"
},
"mappings": [
{
"if": "fee=no",
"then": {
"en": "Free to use",
"nl": "Gratis te gebruiken"
"nl": "Gratis te gebruiken",
"de": "Die Nutzung ist kostenlos"
}
},
{
"if": "fee=yes",
"then": {
"en": "One needs to pay to use this drinking water point",
"nl": "Men moet betalen om dit drinkwaterpunt te gebruiken"
"nl": "Men moet betalen om dit drinkwaterpunt te gebruiken",
"de": "Die Nutzung ist kostenpflichtig"
}
}
]
@ -325,21 +332,24 @@
"id": "seasonal",
"question": {
"en": "Is this drinking water point available all year round?",
"nl": "Is dit drinkwaterpunt heel het jaar door beschikbaar?"
"nl": "Is dit drinkwaterpunt heel het jaar door beschikbaar?",
"de": "Ist die Trinkwasserstelle ganzjährig in Betrieb?"
},
"mappings": [
{
"if": "seasonal=no",
"then": {
"en": "This drinking water point is available all around the year",
"nl": "Dit drinkwaterpunt is heel het jaar door beschikbaar"
"nl": "Dit drinkwaterpunt is heel het jaar door beschikbaar",
"de": "Die Trinkwasserstelle ist ganzjährig in Betrieb"
}
},
{
"if": "seasonal=summer",
"then": {
"en": "This drinking water point is only available in summer",
"nl": "Dit drinkwaterpunt is enkel in de zomer beschikbaar"
"nl": "Dit drinkwaterpunt is enkel in de zomer beschikbaar",
"de": "Die Trinkwasserstelle ist nur im Sommer in Betrieb"
}
},
{
@ -347,7 +357,8 @@
"icon": "./assets/layers/drinking_water/no_winter.svg",
"then": {
"en": "This drinking water point is closed during the winter",
"nl": "Dit drinkwaterpunt is gesloten in de winter"
"nl": "Dit drinkwaterpunt is gesloten in de winter",
"de": "Die Trinkwasserstelle ist im Winter nicht in Betrieb"
}
}
]
@ -357,7 +368,8 @@
"override": {
"questionHint": {
"en": "These are the opening hours if the drinking water fountain is operational.",
"nl": "Tijdens deze openingsuren is dit drinkwaterpunt bruikbaar."
"nl": "Tijdens deze openingsuren is dit drinkwaterpunt bruikbaar.",
"de": "Dies sind die Öffnungszeiten des Trinkwasserbrunnens, wenn dieser in Betrieb ist."
},
"+mappings": [
{
@ -397,7 +409,8 @@
},
"then": {
"en": "This drinking water fountain is closed this season. As such, the opening hours are not shown.",
"nl": "Dit drinkwaterpunt is dit seizoen gesloten. De openingsuren worden dus niet weergegeven."
"nl": "Dit drinkwaterpunt is dit seizoen gesloten. De openingsuren worden dus niet weergegeven.",
"de": "Der Trinkwasserbrunnen ist derzeit nicht in Betrieb. Deshalb werden keine Öffnungszeiten angezeigt."
},
"hideInAnswer": true
}
@ -408,7 +421,8 @@
"id": "bench-artwork",
"question": {
"en": "Does this drinking water fountain have an artistic element?",
"nl": "Heeft dit drinkwaterpunt een geintegreerd kunstwerk?"
"nl": "Heeft dit drinkwaterpunt een geintegreerd kunstwerk?",
"de": "Verfügt der Trinkwasserbrunnen über ein künstlerisches Element?"
},
"mappings": [
{
@ -418,14 +432,16 @@
],
"then": {
"en": "This drinking water point has an integrated artwork",
"nl": "Dit drinkwaterpunt heeft een geintegreerd kunstwerk"
"nl": "Dit drinkwaterpunt heeft een geintegreerd kunstwerk",
"de": "Die Trinkwasserstelle hat ein integriertes Kunstwerk"
}
},
{
"if": "not:tourism:artwork=yes",
"then": {
"en": "This drinking water point does not have an integrated artwork",
"nl": "Dit drinkwaterpunt heeft geen geïntegreerd kunstwerk"
"nl": "Dit drinkwaterpunt heeft geen geïntegreerd kunstwerk",
"de": "Die Trinkwasserstelle hat kein integriertes Kunstwerk"
},
"addExtraTags": [
"tourism="
@ -435,14 +451,16 @@
"if": "tourism=",
"then": {
"en": "This drinking water point <span class=\"subtle\">probably</span> doesn't have an integrated artwork",
"nl": "Dit drinkwaterpunt heeft <span class=\"subtle\">waarschijnlijk</span> geen geïntegreerd kunstwerk"
"nl": "Dit drinkwaterpunt heeft <span class=\"subtle\">waarschijnlijk</span> geen geïntegreerd kunstwerk",
"de": "Die Trinkwasserstelle hat <span class=\"subtle\">wahrscheinlich</span> kein integriertes Kunstwerk"
},
"hideInAnswer": true
}
],
"questionHint": {
"en": "E.g. it has an integrated statue or other non-trivial, creative work",
"nl": "Bijvoorbeeld een standbeeld of ander, niet-triviaal kunstwerk"
"nl": "Bijvoorbeeld een standbeeld of ander, niet-triviaal kunstwerk",
"de": "Z.B. eine integrierte Statue oder andere künstlerische Werke"
}
},
{
@ -519,7 +537,8 @@
},
"then": {
"en": "This is a historic, manual water pump where no drinking water can be found",
"nl": "Dit is een historische, manuele waterpomp waar geen drinkwater uitkomt"
"nl": "Dit is een historische, manuele waterpomp waar geen drinkwater uitkomt",
"de": "Dies ist eine historische, manuelle Wasserpumpe, an der kein Trinkwasser zu finden ist"
}
}
]

View file

@ -267,18 +267,18 @@
"cs": "Ve kterých jazycích má tento výtah hmatové písmo (braillovo písmo)?"
},
"render_list_item": {
"en": "This elevator has tactile writing in {language():font-bold}",
"de": "Der Aufzug hat taktile Schrift in {language():font-bold}",
"nl": "Deze lift heeft voelbaar schrift in het {language():font-bold}",
"ca": "Aquest ascensor té l'escriptura tàctil en {language():font-bold}",
"cs": "Tento výtah má hmatové písmo v {language():font-bold}"
"en": "This elevator has tactile writing in {language()}",
"de": "Der Aufzug hat taktile Schrift in {language()}",
"nl": "Deze lift heeft voelbaar schrift in het {language()}",
"ca": "Aquest ascensor té l'escriptura tàctil en {language()}",
"cs": "Tento výtah má hmatové písmo v {language()}"
},
"render_single_language": {
"en": "This elevator has tactile writing in {language():font-bold}",
"de": "Der Aufzug hat taktile Schrift in {language():font-bold}",
"nl": "Deze lift heeft voelbaar schrift in het {language():font-bold}",
"ca": "Aquest ascensor té l'escriptura tàctil en {language():font-bold}",
"cs": "Tento výtah má hmatové písmo v {language():font-bold}"
"en": "This elevator has tactile writing in {language()}",
"de": "Der Aufzug hat taktile Schrift in {language()}",
"nl": "Deze lift heeft voelbaar schrift in het {language()}",
"ca": "Aquest ascensor té l'escriptura tàctil en {language()}",
"cs": "Tento výtah má hmatové písmo v {language()}"
}
}
}
@ -330,18 +330,18 @@
"cs": "Ve kterých jazycích má tento výtah hlasový výstup?"
},
"render_list_item": {
"en": "This elevator has speech output in {language():font-bold}",
"nl": "Deze lift heeft gesproken tekst in het {language():font-bold}",
"de": "Der Aufzug hat eine Sprachausgabe in {language():font-bold}",
"ca": "Aquest ascensor té sortida de veu en {language():font-bold}",
"cs": "Tento výtah má hlasový výstup v {language():font-bold}"
"en": "This elevator has speech output in {language()}",
"nl": "Deze lift heeft gesproken tekst in het {language()}",
"de": "Der Aufzug hat eine Sprachausgabe in {language()}",
"ca": "Aquest ascensor té sortida de veu en {language()}",
"cs": "Tento výtah má hlasový výstup v {language()}"
},
"render_single_language": {
"en": "This elevator has speech output in {language():font-bold}",
"nl": "Deze lift heeft gesproken tekst in het {language():font-bold}",
"de": "Der Aufzug hat eine Sprachausgabe in {language():font-bold}",
"ca": "Aquest ascensor té sortida de veu en {language():font-bold}",
"cs": "Tento výtah má hlasový výstup v {language():font-bold}"
"en": "This elevator has speech output in {language()}",
"nl": "Deze lift heeft gesproken tekst in het {language()}",
"de": "Der Aufzug hat eine Sprachausgabe in {language()}",
"ca": "Aquest ascensor té sortida de veu en {language()}",
"cs": "Tento výtah má hlasový výstup v {language()}"
}
}
}

View file

@ -18,7 +18,7 @@
}
]
},
"color": "red"
"color": "black"
}
]
}
@ -43,5 +43,6 @@
},
"tagRenderings": [
]
],
"syncSelection": "global"
}

View file

@ -737,7 +737,8 @@
"if": "diet:vegetarian=on_demand",
"then": {
"en": "Some dishes might be adapted to a vegetarian version, but this should be demanded",
"nl": "Sommige gerechten kunnen op vraag vegetarisch gemaakt worden"
"nl": "Sommige gerechten kunnen op vraag vegetarisch gemaakt worden",
"de": "Einige Gerichte können auf Nachfrage in eine vegetarische Version umgewandelt werden"
}
}
],
@ -811,7 +812,8 @@
"if": "diet:vegan=on_demand",
"then": {
"en": "Some dishes might be adapted to a vegan version if asked for",
"nl": "Op vraag kan een veganistische variant van een gerecht gemaakt worden"
"nl": "Op vraag kan een veganistische variant van een gerecht gemaakt worden",
"de": "Einige Gerichte können auf Nachfrage in eine vegane Version umgewandelt werden"
}
}
],

View file

@ -308,10 +308,14 @@
[
"media_studio",
{
"en": "a multimedia studio"
"en": "a multimedia studio",
"nl": "een multimedia-studio",
"de": "ein Multimediastudio"
},
{
"en": "multimedia studio"
"en": "multimedia studio",
"nl": "multimedia-studio",
"de": "Multimediastudio"
},
"./assets/layers/hackerspace/media_studio.svg",
false
@ -319,10 +323,14 @@
[
"sewing_machine",
{
"en": "a sewing machine"
"en": "a sewing machine",
"de": "eine Nähmaschine",
"nl": "een naaimachine"
},
{
"en": "sewing machine"
"en": "sewing machine",
"de": "Nähmaschine",
"nl": "naaimachine"
},
"./assets/layers/hackerspace/sewing_machine.svg",
true
@ -330,10 +338,14 @@
[
"workshop:wood",
{
"en": "a woodworking workshop"
"en": "a woodworking workshop",
"nl": "een houtbewerkingsatelier",
"de": "eine Holzwerkstatt"
},
{
"en": "woodworking workshop"
"en": "woodworking workshop",
"nl": "houtbewerkingsatelier",
"de": "Holzwerkstatt"
},
"./assets/layers/hackerspace/woodworking.svg",
false
@ -341,10 +353,14 @@
[
"workshop:ceramics",
{
"en": "a ceramics workshop"
"en": "a ceramics workshop",
"nl": "een keramiekatelier",
"de": "eine Keramikwerkstatt"
},
{
"en": "ceramics workshop"
"en": "ceramics workshop",
"nl": "keramiekatelier",
"de": "Keramikwerkstatt"
},
"./assets/layers/hackerspace/ceramics.svg",
false
@ -352,10 +368,14 @@
[
"workshop:metal",
{
"en": "a metal workshop"
"en": "a metal workshop",
"nl": "een metaalatelier",
"de": "eine Metallwerkstatt"
},
{
"en": "metal workshop"
"en": "metal workshop",
"nl": "metaalatelier",
"de": "Metallwerkstatt"
},
"./assets/layers/hackerspace/metal.svg",
false
@ -363,10 +383,14 @@
[
"bicycle:diy",
{
"en": "a bicycle repair workshop"
"en": "a bicycle repair workshop",
"nl": "een fietsherstelplaats",
"de": "eine Fahrradwerkstatt"
},
{
"en": "bicycle repair workshop"
"en": "bicycle repair workshop",
"nl": "fietsherstelplaats",
"de": "Fahrradwerkstatt"
},
"./assets/layers/hackerspace/bicycle.svg",
false

View file

@ -547,6 +547,10 @@
},
"images"
],
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
},
"units": [
{
"fire_hydrant:diameter": {
@ -556,9 +560,5 @@
]
}
}
],
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
}
]
}

View file

@ -81,8 +81,6 @@
"condition": {
"or": [
"opening_hours~*",
"seasonal=",
"seasonal=no",
{
"or": [
{
@ -127,7 +125,8 @@
"text": "<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>",
"arialabel": {
"en": "phone",
"nl": "Telefoneer"
"nl": "Telefoneer",
"de": "Telefon"
}
}
},
@ -142,7 +141,8 @@
"text": "<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>",
"arialabel": {
"en": "phone",
"nl": "Telefoneer"
"nl": "Telefoneer",
"de": "Telefon"
}
}
}
@ -204,63 +204,6 @@
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"special": {
"type": "link",
"text": "<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>",
"href": "https://openstreetmap.org/{id}",
"arialabel": {
"en": "Open on openstreetmap.org",
"nl": "Bekijk op openstreetmap.org"
}
}
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"special": {
"type": "link",
"text": "<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>",
"href": "{_backend}/{id}",
"arialabel": {
"en": "Open on openstreetmap.org",
"nl": "Bekijk op openstreetmap.org"
}
}
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "dogicon",
"labels": [
@ -290,6 +233,65 @@
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"special": {
"type": "link",
"text": "<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>",
"href": "https://openstreetmap.org/{id}",
"arialabel": {
"en": "Open on openstreetmap.org",
"nl": "Bekijk op openstreetmap.org",
"de": "Auf openstreetmap.org öffnen"
}
}
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"special": {
"type": "link",
"text": "<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>",
"href": "{_backend}/{id}",
"arialabel": {
"en": "Open on openstreetmap.org",
"nl": "Bekijk op openstreetmap.org",
"de": "Auf openstreetmap.org öffnen"
}
}
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "rating",
"icon": {

View file

@ -0,0 +1,80 @@
{
"id": "love_hotel",
"name": {
"en": "Love hotels"
},
"description": {
"en": "A love hotel is a type of short-stay hotel found around the world operated primarily for the purpose of allowing guests privacy for sexual activities"
},
"source": {
"osmTags": "amenity=love_hotel"
},
"minzoom": 10,
"title": {
"render": {
"en": "Love Hotel <i>{name}</i>"
}
},
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "ring",
"color": "blue"
}
]
},
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": "./assets/layers/hotel/hotel.svg"
}
],
"iconSize": "27,27"
}
],
"lineRendering": [],
"presets": [
{
"title": {
"en": "a love hotel"
},
"description": {
"en": "A love hotel is a type of short-stay hotel found around the world operated primarily for the purpose of allowing guests privacy for sexual activities."
},
"tags": [
"amenity=love_hotel"
]
}
],
"tagRenderings": [
"images",
"reviews",
{
"id": "name",
"question": {
"en": "What is the name of this love hotel?"
},
"render": {
"en": "This love hotel is named <b>{name}</b>"
},
"freeform": {
"key": "name"
}
},
"contact"
],
"credits": "Asteliks"
}

View file

@ -0,0 +1,12 @@
[
{
"path": "red_cross.svg",
"license": "trivial",
"authors": [
" \tJon Harald Soby"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:Flag_of_the_Red_Cross.svg"
]
}
]

View file

@ -0,0 +1,60 @@
{
"credits": "Not logged in",
"minzoom": 10,
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "./assets/layers/mountain_rescue/red_cross.svg"
}
],
"rotation": "45"
}
],
"tagRenderings": [
"images"
],
"lineRendering": [
{
"width": "3",
"color": "#ed333b"
}
],
"id": "mountain_rescue",
"name": {
"en": "Mountain rescue stations"
},
"description": {
"en": "A building where first aid responders store material and might be on watch"
},
"source": {
"osmTags": "emergency=mountain_rescue"
},
"title": {
"render": {
"en": "Mountain rescue station"
}
},
"deletion": true,
"allowMove": {
"enableRelocation": false
},
"presets": [
{
"title": {
"en": "a mountain rescue station"
},
"tags": [
"emergency=mountain_rescue"
]
}
]
}

View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="396"
height="396"
viewBox="0 0 66 66"
version="1.1"
id="svg2"
sodipodi:docname="Flag_of_the_Red_Cross.svg"
inkscape:version="1.3.2 (1:1.3.2+202311252150+091e20ef0f)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs2" />
<sodipodi:namedview
id="namedview2"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="2"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.85"
inkscape:cx="198.23529"
inkscape:cy="197.05882"
inkscape:window-width="1920"
inkscape:window-height="995"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
stroke="#da121a"
stroke-width="16.3022"
d="M 6.1014093,33 H 59.898591 M 33,6.1014093 V 59.898591"
id="path2" />
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Jon Harald Soby
SPDX-License-Identifier: trivial

View file

@ -56,7 +56,8 @@
{
"ariaLabel": {
"en": "See on OpenStreetMap.org",
"nl": "Bekijk op OpenStreetMap.org"
"nl": "Bekijk op OpenStreetMap.org",
"de": "Auf OpenStreetMap.org ansehen"
},
"render": "<a href='https://openstreetmap.org/note/{id}' target='_blank'><img src='./assets/svg/osm-logo-us.svg'></a>"
}

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="800" height="800">
<g transform="translate(0,200) scale(0.8,0.8)">
<path style="fill:black; stroke:none; fill-rule:evenodd" d="M 295.784,86.817 L 295.784,335.083L 687.716,335.403 C 664.716,354.194 650.357,380.094 650.545,414.088 L 261.479,413.857 C 257.752,281.974 70.643,282.422 66.577,413.094 C 38.474,412.885 34.576,406.502 34.305,380.615 L 34.305,281.615 C 33.952,237.373 28.427,266.577 61.177,182.680 C 94.875,93.246 85.585,101.513 116.065,99.205 L 295.784,86.817 z M 217.939,233.200 L 219.490,127.720 L 119.440,133.925 C 101.200,135.147 101.048,135.262 94.621,156.417 L 69.027,224.668 C 60.429,245.603 61.797,251.771 85.314,248.711 L 217.939,233.200 z M 966.635,335.591 L 966.826,391.368 L 902.218,414.238 L 845.491,414.202 C 845.722,381.859 832.281,354.657 808.450,335.549 L 966.635,335.591 z"/>
<rect x="335.8" y="12.2" height="301.7" width="631.3" style="fill:black; stroke:none"/>
<circle r="77" cx="164" cy="412" style="fill:black; stroke:none"/>
<circle r="77" cx="748" cy="412" style="fill:black; stroke:none"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: MarianSigler
SPDX-License-Identifier: CC0-1.0

View file

@ -1,4 +1,14 @@
[
{
"path": "hgv.svg",
"license": "CC0-1.0",
"authors": [
"MarianSigler"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:Sinnbild_LKW.svg"
]
},
{
"path": "parking_space.svg",
"license": "CC0-1.0",
@ -6,5 +16,13 @@
"Robin van der Linde"
],
"sources": []
},
{
"path": "parking_space_private.svg",
"license": "CC0-1.0",
"authors": [
"Robin van der Linde"
],
"sources": []
}
]

View file

@ -0,0 +1,6 @@
<svg width="500" height="500" viewBox="0 0 500 500" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M100 460V40H400V460" stroke="#1D5485" stroke-width="18.8976"/>
<path d="M311.808 212.624C311.808 221 310.327 228.784 307.366 235.976C304.489 243.083 300.428 249.26 295.182 254.505C288.667 261.02 280.967 265.928 272.083 269.228C263.199 272.443 251.988 274.05 238.451 274.05H213.322V344.488H188.192V155.512H239.466C250.804 155.512 260.407 156.485 268.276 158.431C276.144 160.292 283.125 163.254 289.217 167.315C296.409 172.138 301.951 178.145 305.843 185.337C309.819 192.529 311.808 201.624 311.808 212.624ZM285.663 213.258C285.663 206.743 284.521 201.074 282.236 196.251C279.952 191.429 276.483 187.494 271.829 184.448C267.768 181.825 263.115 179.964 257.869 178.864C252.708 177.68 246.15 177.087 238.197 177.087H213.322V252.602H234.516C244.67 252.602 252.919 251.713 259.265 249.937C265.611 248.075 270.772 245.156 274.748 241.179C278.725 237.118 281.517 232.845 283.125 228.361C284.817 223.877 285.663 218.842 285.663 213.258Z" fill="black"/>
<circle cx="250" cy="250" r="122.5" stroke="#FF0000" stroke-width="15"/>
<line x1="165.303" y1="154.697" x2="342.08" y2="331.473" stroke="#FF0000" stroke-width="15"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Robin van der Linde
SPDX-License-Identifier: CC0-1.0

View file

@ -37,6 +37,13 @@
"de": "Behindertenparkplatz",
"cs": "Parkovací místo pro osoby se zdravotním postižením"
}
},
{
"if": "parking_space=charging",
"then": {
"en": "Electric Vehicle Charging Parking Space",
"nl": "Parkeerplek voor opladen van elektrische voertuigen"
}
}
]
},
@ -50,6 +57,22 @@
{
"if": "parking_space=disabled",
"then": "./assets/layers/toilet/wheelchair.svg"
},
{
"if": "parking_space=charging",
"then": "./assets/themes/charging_stations/plug.svg"
},
{
"if": "parking_space=private",
"then": "./assets/layers/parking_spaces/parking_space_private.svg"
},
{
"if": "parking_space=bus",
"then": "./assets/layers/transit_stops/bus_stop.svg"
},
{
"if": "parking_space=hgv",
"then": "./assets/layers/parking_spaces/hgv.svg"
}
]
}
@ -264,4 +287,4 @@
]
}
]
}
}

View file

@ -273,14 +273,16 @@
"if": "surface=tartan",
"then": {
"en": "The surface is tartan - a synthetic, springy surface typically seen on athletic pistes",
"nl": "De ondergrond bestaat uit Tartan - een synthetisch, elastisch en poreus materiaal dat je ook vindt op atletiekpistes"
"nl": "De ondergrond bestaat uit Tartan - een synthetisch, elastisch en poreus materiaal dat je ook vindt op atletiekpistes",
"de": "Der Belag ist aus Tartan - ein synthetischer, federnder Belag, der typischerweise auf Sportbahnen zu finden ist"
}
},
{
"if": "surface=rubber",
"then": {
"en": "The surface is made from rubber, such as rubber tiles, rubber mulch or a big rubber area",
"nl": "De ondergrond bestaat uit rubber, zoals rubberen tegels, rubber snippers of een groot rubberen oppervlak"
"nl": "De ondergrond bestaat uit rubber, zoals rubberen tegels, rubber snippers of een groot rubberen oppervlak",
"de": "Die Oberfläche besteht aus Gummi, z. B. aus Gummifliesen, Gummimulch oder einer großen Gummifläche"
}
}
],

View file

@ -193,7 +193,8 @@
},
"editButtonAriaLabel": {
"en": "Edit phone number",
"nl": "Pas telefoonnummer aan"
"nl": "Pas telefoonnummer aan",
"de": "Telefonnummer bearbeiten"
}
},
{
@ -276,7 +277,8 @@
},
"editButtonAriaLabel": {
"en": "Edit email address",
"nl": "Pas emailadres aan"
"nl": "Pas emailadres aan",
"de": "E-Mail Adresse bearbeiten"
}
},
{
@ -330,7 +332,8 @@
],
"editButtonAriaLabel": {
"en": "Edit website",
"nl": "Pas website aan"
"nl": "Pas website aan",
"de": "Webseite bearbeiten"
}
},
{
@ -2629,7 +2632,8 @@
},
"after": {
"en": "Scan this code to open this location on another device",
"nl": "Scan deze code om deze locatie op een ander apparaat te zien"
"nl": "Scan deze code om deze locatie op een ander apparaat te zien",
"de": "Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen"
}
}
},
@ -2644,7 +2648,8 @@
"type": "share_link",
"text": {
"en": "Share this location",
"nl": "Deel deze locatie"
"nl": "Deel deze locatie",
"de": "Standort teilen"
}
}
}

View file

@ -435,12 +435,12 @@
"cs": "V této škole se používají následující jazyky:{list()}"
},
"render_single_language": {
"en": "{language():font-bold} is the main language of this school",
"de": "{language():font-bold} ist die Hauptsprache der Schule",
"ca": "{language():font-bold} és la llengua principal d'aquesta escola",
"fr": "{language():font-bold} est la langue principale dans cette école",
"pl": "Język {language():font-bold} jest głównym językiem używanym w tej szkole",
"cs": "{language():font-bold} je hlavním jazykem této školy"
"en": "{language()} is the main language of this school",
"de": "{language()} ist die Hauptsprache der Schule",
"ca": "{language()} és la llengua principal d'aquesta escola",
"fr": "{language()} est la langue principale dans cette école",
"pl": "Język {language()} jest głównym językiem używanym w tej szkole",
"cs": "{language()} je hlavním jazykem této školy"
},
"question": {
"en": "What is the main language of this school?<div class='subtle'>What language is spoken with the students in non-language related courses and with the administration?</div>",

View file

@ -109,6 +109,21 @@
"override": {
"render": "./assets/layers/id_presets/maki-shop.svg",
"+mappings": [
{
"#": "Layer icon rendering",
"if": {
"or": [
"shop=yes",
{
"and": [
"shop!=yes",
"id="
]
}
]
},
"then": "./assets/layers/id_presets/maki-shop.svg"
},
{
"if": {
"or": [
@ -128,11 +143,6 @@
{
"if": "craft=key_cutter",
"then": "./assets/layers/id_presets/fas-key.svg"
},
{
"#": "Layer icon rendering",
"if": "id=",
"then": "./assets/layers/id_presets/maki-shop.svg"
}
]
}
@ -206,7 +216,7 @@
"en": "You can specify later on what this shop sells.",
"ca": "Podeu especificar més endavant el que ven aquesta botiga.",
"cs": "Přidat nový obchod",
"de": "Ein neues Geschäft hinzufügen",
"de": "Sie können später angeben, was das Geschäft verkauft.",
"eo": "Enmeti novan butikon",
"es": "Añadir una nueva tienda",
"fr": "Ajouter un nouveau magasin",
@ -627,12 +637,29 @@
"softDeletionTags": {
"and": [
"shop=",
"phone=",
"website=",
"email=",
"opening_hours=",
"disused:shop:={shop}"
]
},
"extraDeleteReasons": [
"omitDefaultDeleteReasons": [
"disused"
],
"nonDeleteMappings": [
{
"explanation": {
"if": {
"and": [
"shop=",
"phone=",
"website=",
"email=",
"opening_hours=",
"disused:shop:={shop}"
]
},
"then": {
"nl": "{title()} is permanent gestopt",
"en": "{title()} has closed down permanently",
"de": "{title()} wurde dauerhaft geschlossen",
@ -640,8 +667,7 @@
"fr": "{title()} a fermé définitivement",
"ca": "{title()} ha tancat permanentment",
"cs": "{title()} je trvale uzavřen"
},
"changesetMessage": "shop_closed"
}
}
]
},

View file

@ -0,0 +1,128 @@
{
"pointRendering": [
{
"location": [
"point"
],
"marker": [
{
"icon": "circle",
"color": "white"
}
]
}
],
"tagRenderings": [
"images",
{
"question": {
"en": "What is the difficulty of this piste?"
},
"id": "piste_difficulty",
"condition": "piste:type!=connection",
"mappings": [
{
"if": "piste:difficulty=novice",
"then": {
"en": "Novice (green)"
}
},
{
"if": "piste:difficulty=easy",
"then": {
"en": "Easy (blue)"
}
},
{
"if": "piste:difficulty=intermediate",
"then": {
"en": "Intermediate (red)"
}
},
{
"if": "piste:difficulty=advanced",
"then": {
"en": "Advanced (black)"
}
},
{
"if": "piste:difficulty=expert",
"then": {
"en": "Expert (orange/double black)"
}
},
{
"if": "piste:difficulty=freeride",
"then": {
"en": "Freeride"
}
}
]
},
{
"id": "length",
"render": {
"en": "This part of the ski piste is {_length:km} kilometer long"
}
}
],
"lineRendering": [
{
"width": "10",
"color": {
"mappings": [
{
"then": "green",
"if": "piste:difficulty=novice"
},
{
"if": "piste:difficulty=easy",
"then": "blue"
},
{
"if": "piste:difficulty=intermediate",
"then": "red"
},
{
"if": "piste:difficulty=advanced",
"then": "black"
},
{
"if": "piste:difficulty=expert",
"then": "orange"
},
{
"if": "piste:difficulty=",
"then": "gray"
}
]
},
"imageAlongWay": "./assets/png/oneway.png"
}
],
"id": "ski_piste",
"name": {
"en": "Ski and snowboard pistes"
},
"description": {
"en": "Ski and snowboard pistes"
},
"source": {
"osmTags": {
"and": [
{
"or": [
"piste:type=downhill",
"piste:type=connection"
]
},
"area!=yes"
]
}
},
"title": {
"render": {
"en": "Ski piste {name}"
}
}
}

View file

@ -475,7 +475,8 @@
"then": {
"en": "The surface of this track is Tartan, a synthetic, slightly springy, porous surface",
"nl": "De ondergrond is Tartan, een synthetisch, licht verende en poreuze ondergrond",
"ca": "La superfície d'aquesta pista és Tartan, una superfície sintètica, lleugerament molla i porosa"
"ca": "La superfície d'aquesta pista és Tartan, una superfície sintètica, lleugerament molla i porosa",
"de": "Der Belag dieser Laufbahn ist Tartan, ein synthetischer, leicht federnder, poröser Belag"
}
}
],

View file

@ -205,18 +205,18 @@
"cs": "Ve kterých jazycích existuje hmatové písmo (braillské písmo) pro navigaci? <img src='./assets/layers/stairs/Braille_stairs.jpg' style='height: 300px; width: auto; display: block;' />"
},
"render_list_item": {
"en": "These stairs have tactile writing in {language():font-bold}",
"de": "Die Treppe hat taktile Schrift in {language():font-bold}",
"nl": "Deze trap heeft voelbaar schrijft in {language():font-bold}",
"ca": "Aquestes escales tenen escriptura tàctil en {language():font-bold}",
"cs": "Tyto schody mají hmatové písmo v {language():font-bold}"
"en": "These stairs have tactile writing in {language()}",
"de": "Die Treppe hat taktile Schrift in {language()}",
"nl": "Deze trap heeft voelbaar schrijft in {language()}",
"ca": "Aquestes escales tenen escriptura tàctil en {language()}",
"cs": "Tyto schody mají hmatové písmo v {language()}"
},
"render_single_language": {
"en": "These stairs have tactile writing in {language():font-bold}",
"de": "Die Treppe hat taktile Schrift in {language():font-bold}",
"nl": "Deze trap heeft voelbaar schrijft in {language():font-bold}",
"ca": "Aquestes escales tenen escriptura tàctil en {language():font-bold}",
"cs": "Tyto schody mají hmatové písmo v {language():font-bold}"
"en": "These stairs have tactile writing in {language()}",
"de": "Die Treppe hat taktile Schrift in {language()}",
"nl": "Deze trap heeft voelbaar schrijft in {language()}",
"ca": "Aquestes escales tenen escriptura tàctil en {language()}",
"cs": "Tyto schody mají hmatové písmo v {language()}"
}
}
}
@ -294,7 +294,8 @@
"id": "incline",
"render": {
"en": "These stairs have an incline of {incline}",
"ca": "Aquestes escales tenen una inclinació de {incline}"
"ca": "Aquestes escales tenen una inclinació de {incline}",
"de": "Die Treppe hat eine Steigung von {incline}"
},
"freeform": {
"key": "incline",
@ -302,14 +303,16 @@
},
"question": {
"en": "What is the incline of these stairs?",
"ca": "Quina és la inclinació d'aquestes escales?"
"ca": "Quina és la inclinació d'aquestes escales?",
"de": "Welche Steigung hat die Treppe?"
},
"mappings": [
{
"if": "incline=up",
"then": {
"en": "The upward direction is {direction_absolute()}",
"ca": "La direcció ascendent és {direction_absolute()}"
"ca": "La direcció ascendent és {direction_absolute()}",
"de": "Die Aufwärtsrichtung ist {direction_absolute()}"
},
"hideInAnswer": true
},
@ -317,7 +320,8 @@
"if": "incline=down",
"then": {
"en": "The downward direction is {direction_absolute()}",
"ca": "La direcció descendent és {direction_absolute()}"
"ca": "La direcció descendent és {direction_absolute()}",
"de": "Die Abwärtsrichtung ist {direction_absolute()}"
},
"hideInAnswer": true
}

View file

@ -0,0 +1 @@
<svg xmlns:x="http://ns.adobe.com/Extensibility/1.0/" xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/" xmlns:graph="http://ns.adobe.com/Graphs/1.0/" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve"><switch><foreignObject requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" x="0" y="0" width="1" height="1"></foreignObject><g i:extraneous="self"><path d="M64.5,19.8c0,7.8-6.3,14.1-14.1,14.1c-7.8,0-14.1-6.3-14.1-14.1c0-7.8,6.3-14.1,14.1-14.1C58.2,5.7,64.5,12,64.5,19.8"></path><rect x="36.5" y="35.5" width="27.8" height="25.8"></rect><rect x="51.3" y="35" transform="matrix(0.7233 -0.6905 0.6905 0.7233 -9.7256 56.2976)" width="28.2" height="10.6"></rect><path d="M80.8,30.6c0,2.9-2.4,5.3-5.3,5.3c-2.9,0-5.3-2.4-5.3-5.3c0-2.9,2.4-5.3,5.3-5.3C78.4,25.3,80.8,27.7,80.8,30.6"></path><rect x="20.5" y="35.2" transform="matrix(-0.7233 -0.6905 0.6905 -0.7233 31.7259 93.5842)" width="28.2" height="10.6"></rect><path d="M19.2,30.8c0,2.9,2.4,5.3,5.3,5.3c2.9,0,5.3-2.4,5.3-5.3c0-2.9-2.4-5.3-5.3-5.3C21.6,25.5,19.2,27.8,19.2,30.8"></path><polygon points="37.5,84.2 27.5,75.5 36.5,65.2 46.6,73.8 "></polygon><path d="M39.4,79.5c0,3.7-3,6.7-6.7,6.7c-3.7,0-6.7-3-6.7-6.7c0-3.7,3-6.7,6.7-6.7C36.4,72.9,39.4,75.9,39.4,79.5"></path><rect x="30.7" y="78.8" transform="matrix(0.7722 0.6354 -0.6354 0.7722 62.1317 -4.37)" width="12.9" height="11.4"></rect><path d="M47.8,88.6c0,3.2-2.6,5.7-5.7,5.7c-3.2,0-5.7-2.6-5.7-5.7c0-3.2,2.6-5.7,5.7-5.7C45.3,82.8,47.8,85.4,47.8,88.6"></path><polygon points="63.4,84.2 73.4,75.5 64.2,65.2 54.4,73.8 "></polygon><path d="M61.5,79.5c0,3.7,3,6.7,6.7,6.7c3.7,0,6.7-3,6.7-6.7c0-3.7-3-6.7-6.7-6.7C64.4,72.9,61.5,75.9,61.5,79.5"></path><rect x="57.3" y="78.8" transform="matrix(-0.7722 0.6354 -0.6354 -0.7722 166.6073 109.205)" width="12.9" height="11.4"></rect><path d="M53,88.6c0,3.2,2.6,5.7,5.7,5.7c3.2,0,5.7-2.6,5.7-5.7c0-3.2-2.6-5.7-5.7-5.7C55.6,82.8,53,85.4,53,88.6"></path><rect x="36.5" y="61.1" width="1.2" height="5.4"></rect><rect x="42.1" y="72.7" width="14.6" height="1.2"></rect><rect x="63.1" y="61.1" width="1.2" height="5.4"></rect></g></switch></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Bianca Teixeira
SPDX-License-Identifier: CC0-1.0

View file

@ -1,4 +1,14 @@
[
{
"path": "baby.svg",
"license": "CC0-1.0",
"authors": [
"Bianca Teixeira"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:Baby_(75158)_-_The_Noun_Project.svg"
]
},
{
"path": "toilets.svg",
"license": "CC0-1.0",

View file

@ -0,0 +1,13 @@
[
{
"path": "trolley_bay.svg",
"license": "CC-BY-SA 3.0",
"authors": [
"Manuel Campagnoli",
"Robin van der Linde"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:Shopping_Cart.svg"
]
}
]

View file

@ -0,0 +1,206 @@
{
"id": "trolley_bay",
"name": {
"en": "Trolley Bays"
},
"description": {
"en": "Find trolley bays for shopping trolleys."
},
"title": {
"en": "Trolley Bay"
},
"source": {
"osmTags": "amenity=trolley_bay"
},
"minzoom": 18,
"allowMove": {
"enableImproveAccuracy": true,
"enableRelocation": true
},
"deletion": true,
"tagRenderings": [
{
"id": "covered",
"question": {
"en": "Is this trolley bay covered?"
},
"mappings": [
{
"if": "covered=yes",
"then": {
"en": "This trolley bay is covered"
}
},
{
"if": "covered=no",
"then": {
"en": "This trolley bay is not covered"
}
}
]
},
{
"id": "deposit",
"question": {
"en": "Is a deposit (e.g. a coin) required for the trolleys?"
},
"mappings": [
{
"if": "trolley:deposit=yes",
"then": {
"en": "A deposit is required for the trolleys"
}
},
{
"if": "trolley:deposit=no",
"then": {
"en": "No deposit is required for the trolleys"
}
}
]
},
{
"id": "denominations",
"condition": {
"and": [
"trolley:deposit=yes",
"_currency~.*EUR.*"
]
},
"question": {
"en": "What coins are accepted for the deposit?"
},
"multiAnswer": true,
"mappings": [
{
"if": "trolley:deposit:denominations=0.50 EUR",
"icon": "./assets/layers/questions/denominations/eur/50cent.svg",
"then": {
"en": "50 cent coins are accepted",
"de": "50-Cent-Münzen werden akzeptiert",
"nl": "Munten van 50 cent worden geaccepteerd",
"nb_NO": "50-cent mynter aksepteres",
"fr": "Les pièces de 50 cents sont acceptées",
"pl": "Akceptowane są monety 50-centowe",
"ca": "S'accepten monedes de 50 cèntims",
"es": "Se aceptan monedas de 50 céntimos",
"cs": "Jsou přijímány mince v hodnotě 50 centů",
"id": "Koin 50 sen diterima"
}
},
{
"if": "trolley:deposit:denominations=1 EUR",
"icon": "./assets/layers/questions/denominations/eur/1euro.svg",
"then": {
"en": "1 euro coins are accepted",
"de": "1-Euro-Münzen werden akzeptiert",
"nl": "Munten van 1 euro worden geaccepteerd",
"nb_NO": "1-euro mynter aksepteres",
"fr": "Les pièces de 1 euro sont acceptées",
"pl": "Akceptowane są monety 1 euro",
"ca": "S'accepten monedes de 1 euro",
"es": "Se aceptan monedas de 1 euro",
"cs": "Jsou přijímány mince v hodnotě 1 eura"
},
"hideInAnswer": "_currency!~.*EUR.*"
},
{
"if": "trolley:deposit:denominations=2 EUR",
"icon": "./assets/layers/questions/denominations/eur/2euro.svg",
"then": {
"en": "2 euro coins are accepted",
"de": "2-Euro-Münzen werden akzeptiert",
"nl": "Munten van 2 euro worden geaccepteerd",
"nb_NO": "2-euro mynter aksepteres",
"fr": "Les pièces de 2 euros sont acceptées",
"pl": "Akceptowane są monety 2 euro",
"ca": "S'accepten monedes de 2 euros",
"es": "Se aceptan monedas de 2 euros",
"cs": "Jsou přijímány mince v hodnotě 2 euro"
},
"hideInAnswer": "_currency!~.*EUR.*"
}
]
},
{
"id": "cart_types",
"question": {
"en": "What kind of special trolleys are available?"
},
"multiAnswer": true,
"mappings": [
{
"if": "trolley:magnifier=yes",
"ifnot": "trolley:magnifier=no",
"then": {
"en": "Trolleys with a magnifier are available"
}
},
{
"if": "trolley:wheelchair=yes",
"ifnot": "trolley:wheelchair=no",
"then": {
"en": "Trolleys for wheelchair users are available"
}
},
{
"if": "trolley:children=yes",
"ifnot": "trolley:children=no",
"then": {
"en": "Trolleys for children are available"
}
},
{
"if": "trolley:seats=yes",
"ifnot": "trolley:seats=no",
"then": {
"en": "Trolleys with seats for children are available"
}
},
{
"if": "trolley:flatbed=yes",
"ifnot": "trolley:flatbed=no",
"then": {
"en": "Trolleys with a flatbed are available"
}
},
{
"if": "trolley:vertical=yes",
"ifnot": "trolley:vertical=no",
"then": {
"en": "Vertical trolleys for sheet-like goods are available"
}
}
]
},
{
"id": "indoor"
}
],
"presets": [
{
"title": {
"en": "a trolley bay"
},
"tags": [
"amenity=trolley_bay"
],
"description": {
"en": "A trolley bay for parking shopping carts."
}
}
],
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": "./assets/layers/trolley_bay/trolley_bay.svg"
}
]
}
]
}

View file

@ -0,0 +1,12 @@
<svg width="233" height="240" viewBox="0 0 233 240" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="220" height="220" rx="50" fill="#D9D9D9"/>
<path d="M178.172 169.87L174.675 147.72L163.976 50.7752L168.069 35.1802L184.958 26.3142C187.892 24.7732 189.021 21.1472 187.481 18.2122C185.94 15.2782 182.314 14.1482 179.379 15.6892L160.148 25.7852C160.114 25.8032 160.083 25.8252 160.049 25.8432C159.946 25.8992 159.846 25.9592 159.747 26.0212C159.674 26.0672 159.601 26.1132 159.531 26.1622C159.444 26.2222 159.36 26.2852 159.276 26.3502C159.202 26.4072 159.128 26.4652 159.056 26.5252C158.981 26.5892 158.908 26.6562 158.836 26.7242C158.765 26.7902 158.695 26.8562 158.627 26.9262C158.558 26.9972 158.494 27.0712 158.428 27.1452C158.366 27.2162 158.303 27.2872 158.244 27.3612C158.18 27.4412 158.12 27.5252 158.06 27.6082C158.007 27.6822 157.954 27.7552 157.905 27.8312C157.848 27.9182 157.796 28.0092 157.743 28.1002C157.698 28.1792 157.652 28.2572 157.611 28.3372C157.565 28.4272 157.522 28.5192 157.48 28.6122C157.44 28.7012 157.4 28.7902 157.364 28.8802C157.33 28.9672 157.298 29.0552 157.268 29.1452C157.233 29.2482 157.2 29.3512 157.17 29.4552C157.158 29.4962 157.143 29.5342 157.132 29.5752L153.078 45.0192L20.0529 66.1912C19.9739 66.2042 19.8989 66.2252 19.8209 66.2402C19.7089 66.2622 19.5969 66.2822 19.4879 66.3102C19.3999 66.3332 19.3149 66.3622 19.2279 66.3892C19.1229 66.4212 19.0159 66.4512 18.9139 66.4892C18.8259 66.5212 18.7419 66.5602 18.6569 66.5972C18.5609 66.6382 18.4639 66.6762 18.3699 66.7212C18.2819 66.7642 18.1989 66.8122 18.1139 66.8592C18.0279 66.9062 17.9399 66.9512 17.8569 67.0022C17.7719 67.0542 17.6919 67.1122 17.6099 67.1682C17.5319 67.2222 17.4519 67.2732 17.3759 67.3302C17.2959 67.3912 17.2209 67.4572 17.1439 67.5212C17.0729 67.5802 17.0009 67.6382 16.9329 67.7002C16.8589 67.7692 16.7899 67.8422 16.7189 67.9152C16.6549 67.9802 16.5889 68.0432 16.5289 68.1112C16.4619 68.1862 16.4009 68.2652 16.3369 68.3442C16.2789 68.4152 16.2199 68.4852 16.1649 68.5582C16.1059 68.6382 16.0529 68.7232 15.9979 68.8062C15.9469 68.8832 15.8939 68.9592 15.8459 69.0382C15.7959 69.1222 15.7519 69.2102 15.7049 69.2972C15.6609 69.3802 15.6139 69.4622 15.5729 69.5472C15.5309 69.6352 15.4959 69.7252 15.4589 69.8152C15.4219 69.9042 15.3829 69.9912 15.3499 70.0812C15.3169 70.1722 15.2909 70.2652 15.2629 70.3582C15.2339 70.4512 15.2029 70.5432 15.1789 70.6372C15.1549 70.7322 15.1379 70.8292 15.1189 70.9252C15.0999 71.0212 15.0779 71.1152 15.0629 71.2122C15.0479 71.3102 15.0409 71.4092 15.0309 71.5082C15.0209 71.6062 15.0079 71.7042 15.0029 71.8032C14.9979 71.9012 15.0009 72.0002 15.0009 72.0992C15.0009 72.2012 14.9979 72.3032 15.0029 72.4062C15.0079 72.5012 15.0209 72.5972 15.0299 72.6932C15.0389 72.7872 15.0429 72.8812 15.0559 72.9752L23.7099 132.591C23.7129 132.61 23.7199 132.626 23.7229 132.645C23.7729 132.971 23.8509 133.289 23.9519 133.597C23.9679 133.645 23.9839 133.692 23.9999 133.739C24.1039 134.032 24.2299 134.315 24.3769 134.585C24.4049 134.637 24.4349 134.686 24.4639 134.737C24.6169 135 24.7859 135.253 24.9769 135.489C25.0059 135.525 25.0369 135.558 25.0669 135.593C25.2729 135.837 25.4929 136.068 25.7349 136.277C25.7389 136.28 25.7429 136.283 25.7479 136.287C25.9969 136.501 26.2669 136.692 26.5509 136.863C26.5709 136.875 26.5889 136.888 26.6089 136.9C26.8779 137.058 27.1629 137.192 27.4579 137.308C27.5069 137.327 27.5539 137.347 27.6029 137.365C27.8829 137.467 28.1739 137.547 28.4739 137.607C28.5409 137.62 28.6089 137.631 28.6769 137.642C28.7609 137.656 28.8439 137.675 28.9289 137.685L163.505 153.93L166.03 169.921H57.6689C56.1689 169.921 54.7999 170.476 53.7479 171.386C46.3099 171.662 40.3609 177.763 40.3609 185.268C40.3609 192.949 46.5879 199.176 54.2689 199.176C61.9499 199.176 68.1769 192.949 68.1769 185.268C68.1769 184.112 68.0199 182.995 67.7549 181.921H162.137C162.072 182.466 162.029 183.017 162.029 183.579C162.029 191.26 168.256 197.487 175.937 197.487C183.618 197.487 189.845 191.26 189.845 183.579C189.847 176.663 184.789 170.941 178.172 169.87ZM34.9279 126.326L27.7839 77.1112L152.617 57.2432L161.933 141.657L34.9279 126.326Z" fill="black"/>
<path d="M52.6849 124.131C50.0189 124.131 47.6779 122.189 47.2569 119.472L41.9389 85.1582C41.4739 82.1572 43.5299 79.3462 46.5319 78.8812C49.5349 78.4152 52.3439 80.4722 52.8089 83.4742L58.1269 117.788C58.5919 120.789 56.5359 123.6 53.5339 124.065C53.2489 124.109 52.9649 124.131 52.6849 124.131Z" fill="black"/>
<path d="M71.7799 126.421C69.1139 126.421 66.7729 124.479 66.3519 121.762L60.2029 82.0802C59.7379 79.0782 61.7939 76.2682 64.7959 75.8032C67.7969 75.3352 70.6079 77.3942 71.0729 80.3962L77.2219 120.078C77.6869 123.08 75.6309 125.89 72.6289 126.355C72.3439 126.4 72.0589 126.421 71.7799 126.421Z" fill="black"/>
<path d="M90.8739 128.711C88.2079 128.711 85.8669 126.769 85.4459 124.052L78.4649 79.0032C77.9999 76.0012 80.0559 73.1912 83.0579 72.7262C86.0579 72.2562 88.8699 74.3172 89.3349 77.3192L96.3159 122.368C96.7809 125.37 94.7249 128.18 91.7229 128.645C91.4379 128.69 91.1539 128.711 90.8739 128.711Z" fill="black"/>
<path d="M109.969 131.002C107.303 131.002 104.962 129.06 104.541 126.343L96.7279 75.9262C96.2629 72.9242 98.3189 70.1142 101.321 69.6492C104.324 69.1822 107.133 71.2402 107.598 74.2422L115.411 124.659C115.876 127.661 113.82 130.471 110.818 130.936C110.532 130.98 110.248 131.002 109.969 131.002Z" fill="black"/>
<path d="M129.063 133.292C126.397 133.292 124.056 131.35 123.635 128.633L114.99 72.8482C114.525 69.8462 116.581 67.0362 119.583 66.5712C122.584 66.1022 125.395 68.1622 125.86 71.1642L134.505 126.949C134.97 129.951 132.914 132.761 129.912 133.226C129.627 133.27 129.343 133.292 129.063 133.292Z" fill="black"/>
<path d="M148.158 135.582C145.492 135.582 143.151 133.64 142.73 130.923L133.253 69.7712C132.788 66.7692 134.844 63.9592 137.846 63.4942C140.845 63.0282 143.658 65.0852 144.123 68.0872L153.6 129.239C154.065 132.241 152.009 135.051 149.007 135.516C148.722 135.561 148.438 135.582 148.158 135.582Z" fill="black"/>
<circle cx="110.5" cy="173.5" r="37.5" fill="#0038FF"/>
<path d="M96.7521 192V155.636H111.773C114.496 155.636 116.846 156.169 118.822 157.234C120.811 158.288 122.344 159.762 123.421 161.656C124.498 163.538 125.037 165.728 125.037 168.225C125.037 170.735 124.487 172.93 123.386 174.812C122.297 176.683 120.74 178.133 118.716 179.163C116.692 180.192 114.289 180.707 111.507 180.707H102.239V173.783H109.874C111.199 173.783 112.306 173.552 113.194 173.09C114.094 172.629 114.774 171.983 115.236 171.155C115.697 170.314 115.928 169.338 115.928 168.225C115.928 167.101 115.697 166.13 115.236 165.313C114.774 164.485 114.094 163.845 113.194 163.396C112.294 162.946 111.188 162.721 109.874 162.721H105.541V192H96.7521Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: Manuel Campagnoli; Robin van der Linde
SPDX-License-Identifier: CC-BY-SA 3.0

View file

@ -1,7 +1,8 @@
{
"id": "unit",
"description": {
"en": "Library layer with all common units. Units can _only_ be imported from this file."
"en": "Library layer with all common units. Units can _only_ be imported from this file.",
"de": "Bibliotheksebene mit allen gängigen Einrichtungen. Einrichtungen können _nur_ aus dieser Datei importiert werden."
},
"source": "special:library",
"pointRendering": null,
@ -115,7 +116,8 @@
],
"human": {
"en": "{quantity} Volt",
"nl": "{quantity} volt"
"nl": "{quantity} volt",
"de": "{quantity} Volt"
}
}
],
@ -135,7 +137,8 @@
"human": {
"en": "{quantity} A",
"nl": "{quantity} A",
"ca": "{quantity} A"
"ca": "{quantity} A",
"de": "{quantity} A"
}
}
],
@ -202,7 +205,8 @@
"humanSingular": {
"en": "one centimeter",
"nl": "één centimeter",
"ca": "un centímetre"
"ca": "un centímetre",
"de": "ein Zentimeter"
}
},
{
@ -337,12 +341,14 @@
"human": {
"en": "{quantity} minutes",
"nl": "{quantity} minuten",
"ca": "{quantity} minuts"
"ca": "{quantity} minuts",
"de": "{quantity} Minuten"
},
"humanSingular": {
"en": "one minute",
"nl": "één minuut",
"ca": "un minut"
"ca": "un minut",
"de": "eine Minute"
}
},
{
@ -360,12 +366,14 @@
"human": {
"en": "{quantity} hours",
"nl": "{quantity} uren",
"ca": "{quantity} hores"
"ca": "{quantity} hores",
"de": "{quantity} Stunden"
},
"humanSingular": {
"en": "one hour",
"nl": "één uur",
"ca": "una hora"
"ca": "una hora",
"de": "eine Stunde"
}
},
{
@ -380,11 +388,13 @@
"human": {
"en": "{quantity} days",
"nl": "{quantity} day",
"ca": "{quantity} dies"
"ca": "{quantity} dies",
"de": "{quantity} Tage"
},
"humanSingular": {
"en": "one day",
"nl": "één dag"
"nl": "één dag",
"de": "ein Tag"
}
}
]

View file

@ -49,9 +49,10 @@
"icon": "./assets/layers/usersettings/translate_disabled.svg",
"then": {
"en": "The language was set via an URL-parameter and cannot be set by the user.",
"de": "Die Sprache wurde über einen URL-Parameter gesetzt und kann nicht vom Benutzer eingestellt werden.²",
"de": "Die Sprache wurde über einen URL-Parameter gesetzt und kann nicht vom Benutzer eingestellt werden.",
"ca": "L'idioma es va establir mitjançant un paràmetre d'URL i l'usuari no pot definir-lo.",
"cs": "Jazyk byl nastaven pomocí parametru URL a uživatel jej nemůže nastavit.²"
"cs": "Jazyk byl nastaven pomocí parametru URL a uživatel jej nemůže nastavit.²",
"nl": "De taal werd ingesteld via een URL-parameter en kan niet manueel ingesteld worden."
}
}
]
@ -82,9 +83,10 @@
"type": "link",
"text": {
"en": "<b class='alert'>You have {_unreadMessages} messages</b><br/>Open your inbox",
"de": "<b class='alert'>Du hast {_unreadMessages}</b><br/>Öffne Deinen Posteingang",
"de": "<b class='alert'>Sie haben {_unreadMessages} Nachrichten</b><br/>Posteingang öffnen",
"ca": "<b class='alert'>Tens {_unreadMessages} missatges </b><br/>Obri la safata d'entrada",
"cs": "<b class='alert'>Máte {_unreadMessages}</b><br/>Otevřít schránku"
"cs": "<b class='alert'>Máte {_unreadMessages}</b><br/>Otevřít schránku",
"nl": "<b class='alert'>Je hebt {_unreadMessages} ongelezen berichten</b><br/>Ga naar je inbox"
},
"href": "{_backend}/messages/inbox"
}
@ -101,7 +103,8 @@
"en": "Open your settings on OpenStreetMap.org",
"de": "Öffne Deine Einstellungen auf OpenStreetMap.org",
"ca": "Obriu la vostra configuració a OpenStreetMap.org",
"cs": "Otevřít vaše nastavení na OpenStreetMap.org"
"cs": "Otevřít vaše nastavení na OpenStreetMap.org",
"nl": "Open je instellingen op OpenStreetMap.org"
},
"href": "{_backend}/account/edit"
}
@ -116,7 +119,9 @@
{
"id": "a11y-features",
"question": {
"en": "What accessibility features should be applied?"
"en": "What accessibility features should be applied?",
"nl": "Wanneer moet de toegankelijkheidsmode ingeschakeld worden?",
"de": "Welche Barrierefrei-Funktionen sollen angewendet werden?"
},
"mappings": [
{
@ -124,20 +129,26 @@
"alsoShowIf": "mapcomplete-a11y=",
"then": {
"en": "Enable accessibility features when arrow keys are used to navigate the map",
"ca": "Activar les funcions d'accessibilitat quan s'utilitzen les tecles de fletxa per navegar pel mapa"
"ca": "Activar les funcions d'accessibilitat quan s'utilitzen les tecles de fletxa per navegar pel mapa",
"nl": "Schakel toegankelijkheidsmode aan wanneer op de pijltjestoetsen wordt geduwd om de kaart te bewegen",
"de": "Barrierefrei-Modus aktivieren, wenn Pfeiltasten zum Navigieren in der Karte verwendet werden"
}
},
{
"if": "mapcomplete-a11y=always",
"then": {
"en": "Always enable accessibility features",
"ca": "Sempre habilita les característiques d'accessibilitat"
"ca": "Sempre habilita les característiques d'accessibilitat",
"nl": "Schakel de toegankelijkheidsmode altijd aan",
"de": "Barrierefrei-Modus immer aktivieren"
}
},
{
"if": "mapcomplete-a11y=never",
"then": {
"en": "Never enable accessibility features"
"en": "Never enable accessibility features",
"nl": "Gebruik geen toegankelijkheidsmode",
"de": "Barrierefrei-Modus niemals aktivieren"
}
}
]
@ -407,7 +418,8 @@
"question": {
"en": "Should a crosshair be shown in the center of the display?",
"cs": "Měl by se uprostřed displeje zobrazovat kříž?",
"de": "Soll ein Fadenkreuz in der Mitte des Bildschirms angezeigt werden?"
"de": "Soll ein Fadenkreuz in der Mitte des Bildschirms angezeigt werden?",
"nl": "Moet er een kruisje getoond worden in het centrum van je display?"
},
"questionHint": {
"en": "This can help to accurately position a new element",
@ -442,7 +454,8 @@
"en": "Should north always be up?",
"de": "Soll Norden immer oben sein?",
"ca": "El nord hauria d'estar sempre amunt?",
"cs": "Měl by být sever vždy nahoře?"
"cs": "Měl by být sever vždy nahoře?",
"nl": "Moet het noorden altijd naar boven getoond worden?"
},
"mappings": [
{
@ -464,7 +477,8 @@
"de": "Norden immer nach oben zeigen lassen",
"fr": "Toujours garder le nord en haut",
"ca": "Mantingueu sempre el nord apuntant cap amunt",
"cs": "Sever vždy směřujte nahoru"
"cs": "Sever vždy směřujte nahoru",
"nl": "Hou het noorden altijd naar boven"
}
}
]
@ -481,7 +495,8 @@
"de": "Laden Sie den privaten Schlüssel für Ihr Mangrove-Konto herunter",
"da": "Hent den private nøgle til din Mangrove-konto",
"ca": "Baixeu la clau privada del vostre compte de Mangrove",
"cs": "Stáhnout soukromý klíč pro Mangrove účet"
"cs": "Stáhnout soukromý klíč pro Mangrove účet",
"nl": "Download de private sleutel van je Mangrove-account"
}
},
"after": {