diff --git a/buildings-height.json b/buildings-height.json
index 6e3851a9..dc08cf32 100644
--- a/buildings-height.json
+++ b/buildings-height.json
@@ -18,6 +18,9 @@
"pre": [
"{% if tags.height is defined %}",
"{% set approxHeight = tags.height %}",
+ "{% set m = tags.height|matches('(.*)\\s*(m|ft)$') %}",
+ "{% if m and m[2] == 'm' %}{% set approxHeight = m[1] %}{% endif %}",
+ "{% if m and m[2] == 'ft' %}{% set approxHeight = m[1] / 3.2808 %}{% endif %}",
"{% elseif attribute(tags, 'building:levels') is defined %}",
"{% set approxHeight = attribute(tags, 'building:levels') * 3.5 %}",
"{% endif %}",
@@ -32,10 +35,13 @@
],
"description": [
"{% if tags.height is defined %}",
- "{{ tags.height }}m",
- "{% endif %}",
+ " {% if tags.height|matches('(m|ft)$') %}{{ tags.height -}}",
+ " {% else %}{{ tags.height }} m",
+ " {%- endif -%}",
+ "{% endif -%}",
"",
- "{% if attribute(tags, 'building:levels') is defined %}",
+ "{%- if attribute(tags, 'building:levels') is defined -%}",
+ "{%- if tags.height is defined %}, {% endif %}",
"{{ attribute(tags, 'building:levels') }} {{ keyTrans('building:levels') }}",
"{% endif %}"
],
diff --git a/buildings-start_date.json b/buildings-start_date.json
index d2c3ffe9..326f0b5e 100644
--- a/buildings-start_date.json
+++ b/buildings-start_date.json
@@ -16,8 +16,22 @@
},
"feature": {
"pre": [
- "{% if tags.start_date %}",
- " {% set value = tags.start_date|osmParseDate %}",
+ "{% set start_date = tags.start_date %}",
+ "{% if attribute(tags, 'building:start_date') %}{% set start_date = attribute(tags, 'building:start_date') %}{% endif %}",
+ "{# Deprecated tags #}",
+ "{% if not start_date and attribute(tags, 'building:age') %}{% set start_date = attribute(tags, 'building:age') %}{% endif %}",
+ "{% if not start_date and attribute(tags, 'building:year_built') %}{% set start_date = attribute(tags, 'building:year_built') %}{% endif %}",
+ "{% if not start_date and attribute(tags, 'building:buildyear') %}{% set start_date = attribute(tags, 'building:buildyear') %}{% endif %}",
+ "{% if not start_date and attribute(tags, 'year_built') %}{% set start_date = attribute(tags, 'year_built') %}{% endif %}",
+ "{% if not start_date and attribute(tags, 'building:year') %}{% set start_date = attribute(tags, 'building:year') %}{% endif %}",
+ "",
+ "{% if start_date %}",
+ " {# equalize tagging mistakes - need to add QA messages #}",
+ " {# convert 1910-1911 to 1910..1911 #}{% set m = start_date|matches('^(\\d{4})-(\\d{4})$') %}{% if m %}{% set start_date = m[1] ~ '..' ~ m[2] %}{% endif %}",
+ " {# convert 191* to 1910s #}{% set m = start_date|matches('^(\\d{3})\\*$') %}{% if m %}{% set start_date = m[1] ~ '0s' %}{% endif %}",
+ "",
+ "",
+ " {% set value = start_date|osmParseDate %}",
" {% if value and value[0] and value[1] %}",
" {% set value = (value[1] - value[0]) / 2 + value[0] %}",
" {% elseif value and value[0] %}",
@@ -44,15 +58,15 @@
"{% endif %}"
],
"description": [
- "{% if tags.start_date %}",
- "{{ tags.start_date|osmFormatDate({ format: 'short' }) }}",
+ "{% if start_date %}",
+ "{{ start_date|osmFormatDate({ format: 'short' }) }}",
"{% else %}",
"{{ trans('unknown') }}",
"{% endif %}"
],
"popupDescription": [
- "{% if tags.start_date %}",
- "{{ tags.start_date|osmFormatDate }}",
+ "{% if start_date %}",
+ "{{ start_date|osmFormatDate }}",
"{% else %}",
"{{ trans('unknown') }}",
"{% endif %}"
@@ -61,7 +75,7 @@
"listMarkerSymbol": "{{ markerPolygon({ \"fillColor\": color, \"fillOpacity\": 0.8, \"width\": 1, \"color\": \"#000000\" })|raw }}",
"priority": [
"{% set p = 100 %}",
- "{% if tags.start_date %}{% set p = p - 20 %}{% endif %}",
+ "{% if start_date %}{% set p = p - 20 %}{% endif %}",
"{% if tags.name %}{% set p = p - 10 %}{% endif %}",
"{% if tags.amenity %}{% set p = p - 1 %}{% endif %}",
"{% if tags.historic %}{% set p = p - 1 %}{% endif %}",
diff --git a/buildings-type.json b/buildings-type.json
index c7c2d85e..ea9eb4e4 100644
--- a/buildings-type.json
+++ b/buildings-type.json
@@ -7,16 +7,12 @@
"pt-br": "Tipologias"
},
"query": {
- "16": [
- "(",
- " way[building][building!=no];",
- " relation[building][building!=no];",
- ")"
- ]
+ "16": "nwr[building][building!=no];"
},
"feature": {
"pre": [
"{% set type = tags.building|split(';')[0] %}",
+ "{% if tags.military %}{% set type = 'military' %}{% endif %}",
"{% set color = const.other.color %}",
"{% for cat, data in const %}",
" {% if type in data.types %}",
@@ -25,13 +21,18 @@
"{% endfor %}"
],
"description": [
- "{% if tags.building == 'yes' %}",
+ "{% if tags.building == 'yes' and tags.military %}",
+ "{{ tagTrans('building', 'military') }}",
+ "{% elseif tags.building == 'yes' %}",
"{{ keyTrans('building') }}",
"{% else %}",
"{{ tagTransList('building', tags.building) }}",
"{% endif %}",
"{% if tags.building == 'construction' and tags.construction %}",
"({{ tagTransList('building', tags.construction) }})",
+ "{% endif %}",
+ "{% if tags.building in [ 'yes', 'military' ] and tags.military %}",
+ "({{ tagTransList('military', tags.military) }})",
"{% endif %}"
],
"markerSymbol": "",
@@ -148,7 +149,7 @@
]
},
"agriculture": {
- "name": "tag:landuse=agriculture",
+ "name": "tag:building=agriculture",
"color": "#92e934",
"types": [
"bakehouse",
@@ -218,10 +219,11 @@
]
},
"military": {
- "name": "tag:military",
+ "name": "tag:building=military",
"color": "#4a7300",
"types": [
- "bunker"
+ "bunker",
+ "military"
]
},
"unspecified": {
diff --git a/children.json b/children.json
index 69fc9134..fa2efec0 100644
--- a/children.json
+++ b/children.json
@@ -81,5 +81,42 @@
"
{{ tagTrans('amenity', 'toilets diaper=yes') }} ",
" ",
""
- ]
+ ],
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "type": "select",
+ "show_default": "true",
+ "values": {
+ "playground": {
+ "name": "{{ tagTrans('leisure', 'playground') }}",
+ "query": "nwr[leisure=playground]"
+ },
+ "indoor_play": {
+ "name": "{{ tagTrans('leisure', 'indoor_play') }}",
+ "query": "nwr[leisure=indoor_play]"
+ },
+ "summer_camp": {
+ "name": "{{ tagTrans('leisure', 'summer_camp') }}",
+ "query": "nwr[leisure=summer_camp]"
+ },
+ "kids_area": {
+ "name": "{{ keyTrans('kids_area') }}",
+ "query": "nwr[kids_area]"
+ },
+ "shop_baby_goods": {
+ "name": "{{ tagTrans('shop', 'baby_goods') }}",
+ "query": "nwr[shop=baby_goods]"
+ },
+ "shop_toys": {
+ "name": "{{ tagTrans('shop', 'toys') }}",
+ "query": "nwr[shop=toys]"
+ },
+ "toilets": {
+ "name": "{{ tagTrans('amenity', 'toilets diaper=yes') }}",
+ "query": "nwr[amenity=toilets][diaper]"
+ }
+ }
+ }
+ }
}
diff --git a/communication.json b/communication.json
index 83a90d31..3053b3e8 100644
--- a/communication.json
+++ b/communication.json
@@ -130,5 +130,13 @@
"sign": " ",
"zoom": 16
}
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "show_default": "true",
+ "type": "select",
+ "values": "{% for k, v in const %}{{ tagTrans(k) }} {% endfor %}"
+ }
}
}
diff --git a/craft.json b/craft.json
index f9c49d4a..af165693 100644
--- a/craft.json
+++ b/craft.json
@@ -73,5 +73,13 @@
"window_construction": "",
"winery": "🍷"
}
+ },
+ "filter": {
+ "craft": {
+ "name": "{{ trans('filter:type') }}",
+ "type": "select",
+ "show_default": "true",
+ "values": "{% set list = [] %}{% for t, v in const.crafts %}{% set list = list|merge([ t ]) %}{{ tagTrans('craft', t) }} {% endfor %}{{ trans('other') }} "
+ }
}
}
diff --git a/culture.json b/culture.json
index 630f3751..226b774b 100644
--- a/culture.json
+++ b/culture.json
@@ -121,5 +121,15 @@
" ",
"{% endfor %}",
""
- ]
+ ],
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "show_default": "true",
+ "query": "nwr[{{ value }}]",
+ "type": "select",
+ "values": "{% for k, v in const %}{{ trans('tag:' ~ k) }} {% endfor %}{{ trans('other') }} ",
+ "valueName": "{{ trans('tag:' ~ value) }}"
+ }
+ }
}
diff --git a/education.json b/education.json
index 5b4772da..2b9887fc 100644
--- a/education.json
+++ b/education.json
@@ -29,17 +29,13 @@
],
"14": [
"(",
- "node[amenity~'^(college|university|library|school|kindergarten|language_school)$'];",
- "way[amenity~'^(college|university|library|school|kindergarten|language_school)$'];",
- "relation[amenity~'^(college|university|library|school|kindergarten|language_school)$'];",
+ "nwr[amenity~'^(college|university|library|school|kindergarten|language_school)$'];",
"nwr[office~\"^(educational_institution|research)$\"];",
")"
],
"16": [
"(",
- "node[amenity~'^(college|university|library|school|kindergarten|public_bookcase)$'];",
- "way[amenity~'^(college|university|library|school|kindergarten|public_bookcase)$'];",
- "relation[amenity~'^(college|university|library|school|kindergarten|public_bookcase)$'];",
+ "nwr[amenity~'^(college|university|library|school|kindergarten|language_school|public_bookcase)$'];",
"nwr[office~\"^(educational_institution|research)$\"];",
")"
]
@@ -129,5 +125,13 @@
"sign": " ",
"zoom": 14
}
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "show_default": "true",
+ "type": "select",
+ "values": "{% for k, v in const %}{{ tagTrans(k) }} {% endfor %}"
+ }
}
}
diff --git a/emergency.json b/emergency.json
index 73b606d9..361337c0 100644
--- a/emergency.json
+++ b/emergency.json
@@ -96,5 +96,34 @@
"sign": " ",
"background": "#009262"
}
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "type": "select",
+ "show_default": "true",
+ "values": {
+ "fire_station": {
+ "name": "{{ tagTrans('amenity', 'fire_station') }}",
+ "query": "nwr[amenity=fire_station]"
+ },
+ "hospital": {
+ "name": "{{ tagTrans('amenity', 'hospital') }}",
+ "query": "nwr[amenity=hospital]"
+ },
+ "police": {
+ "name": "{{ tagTrans('amenity', 'police') }}",
+ "query": "nwr[amenity=police]"
+ },
+ "emergency_phone": {
+ "name": "{{ tagTrans('emergency', 'phone') }}",
+ "query": "node[emergency=phone]"
+ },
+ "emergency_access_point": {
+ "name": "{{ tagTrans('highway', 'emergency_access_point') }}",
+ "query": "node[highway=emergency_access_point]"
+ }
+ }
+ }
}
}
diff --git a/financial.json b/financial.json
index 82b3bfbd..9dce9800 100644
--- a/financial.json
+++ b/financial.json
@@ -101,5 +101,13 @@
"sign": " ",
"zoom": 15
}
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "show_default": "true",
+ "type": "select",
+ "values": "{% for k, v in const %}{{ tagTrans(k) }} {% endfor %}"
+ }
}
}
diff --git a/gastro.json b/gastro.json
index d8385861..eaf7a123 100644
--- a/gastro.json
+++ b/gastro.json
@@ -19,7 +19,7 @@
"uk": "Гастрономія"
},
"query": {
- "16": "(node[amenity~'^(bar|biergarten|cafe|fast_food|ice_cream|pub|restaurant)$'];way[amenity~'^(bar|biergarten|cafe|fast_food|ice_cream|pub|restaurant)$'];relation[amenity~'^(bar|biergarten|cafe|fast_food|ice_cream|pub|restaurant)$'];);"
+ "16": "(node[amenity~'^(bar|biergarten|cafe|fast_food|food_court|ice_cream|pub|restaurant)$'];way[amenity~'^(bar|biergarten|cafe|fast_food|food_court|ice_cream|pub|restaurant)$'];relation[amenity~'^(bar|biergarten|cafe|fast_food|food_court|ice_cream|pub|restaurant)$'];);"
},
"feature": {
"description": "{{ tagTrans('amenity', tags.amenity) }}",
@@ -45,5 +45,72 @@
""
],
"markerSign": "{% if tags.amenity=='bar' %}🍸{% elseif tags.amenity=='biergarten'%}🍻{% elseif tags.amenity=='cafe' %}☕{% elseif tags.amenity=='fast_food' %}🍔{% elseif tags.amenity=='ice_cream' %}🍨{% elseif tags.amenity=='pub' %}🍺{% else %}🍴{% endif %}"
+ },
+ "filter": {
+ "amenity": {
+ "name": "{{ trans('filter:type') }}",
+ "type": "select",
+ "show_default": "true",
+ "values": [
+ "bar",
+ "biergarten",
+ "cafe",
+ "fast_food",
+ "food_court",
+ "ice_cream",
+ "pub",
+ "restaurant"
+ ],
+ "valueName": "{{ tagTrans('amenity', value) }}",
+ "op": "="
+ },
+ "cuisine_food": {
+ "name": "{{ keyTrans('cuisine/food') }}",
+ "type": "select",
+ "key": "cuisine",
+ "values": [ "barbecue", "burger", "casserole", "chicken", "couscous", "curry", "fish", "fish_and_chips", "fried_food", "friture", "gyros", "kebab", "noodle", "pasta", "pizza", "sandwich", "sausage", "seafood", "soup", "steak_house", "sub", "sushi", "tapas", "wings" ],
+ "valueName": "{{ tagTrans('cuisine', value) }}",
+ "op": "has"
+ },
+ "cuisine_dessert": {
+ "name": "{{ keyTrans('cuisine/dessert') }}",
+ "type": "select",
+ "key": "cuisine",
+ "values": [ "bagel", "biscuit", "bougatsa", "cake", "coffee_shop", "cookie", "crepe", "dessert", "donut", "empanada", "frozen_yogurt", "gingerbread", "ice_cream", "chimney_cake", "langos", "pancake", "pastry", "petit_four", "pie", "pogacha", "poppy_seed_roll", "profiterole", "punch_cake", "savory_pancakes", "strudel", "teahouse", "waffle" ],
+ "valueName": "{{ tagTrans('cuisine', value) }}",
+ "op": "has"
+ },
+ "cuisine_ethnicity": {
+ "name": "{{ keyTrans('cuisine/ethnicity') }}",
+ "type": "select",
+ "key": "cuisine",
+ "values": [ "afghan", "african", "american", "arab", "argentinian", "asian", "australian", "baiana", "balkan", "basque", "bavarian", "belarusan", "bolivian", "brazilian", "cantonese", "capixaba", "caribbean", "chinese", "croatian", "czech", "danish", "french", "gaucho", "german", "greek", "hawaiian", "hunan", "hungarian", "indian", "international", "iranian", "italian", "japanese", "jewish", "korean", "kyo_ryouri", "latin_american", "lebanese", "malagasy", "mediterranean", "mexican", "mineira", "new_mexican", "okinawa_ryori", "pakistani", "peruvian", "polish", "portuguese", "regional", "rhenish", "russian", "shandong", "sichuan", "spanish", "texan", "tex-mex", "thai", "turkish", "vietnamese", "westphalian" ],
+ "valueName": "{{ tagTrans('cuisine', value) }}",
+ "op": "has"
+ },
+ "diet": {
+ "name": "{{ keyTrans('diet') }}",
+ "type": "select",
+ "values": {
+ "*": {
+ "name": "{{ repoTrans('Objects with diet information') }}",
+ "query": "nwr[~\"^diet:\"~\".\"]"
+ },
+ "diet:vegan": {},
+ "diet:vegetarian": {},
+ "diet:pescetarian": {},
+ "diet:lacto_vegetarian": {},
+ "diet:ovo_vegetarian": {},
+ "diet:fruitarian": {},
+ "diet:raw": {},
+ "diet:gluten_free": {},
+ "diet:dairy_free": {},
+ "diet:lactose_free": {},
+ "diet:halal": {},
+ "diet:kosher": {}
+ },
+ "valueName": "{{ keyTrans(value) }}",
+ "op": "has_key_value"
+ }
}
}
diff --git a/health.json b/health.json
index a5407828..57e31487 100644
--- a/health.json
+++ b/health.json
@@ -48,45 +48,209 @@
" {% set value = tags.emergency %}",
"{% elseif tags.healthcare %}",
" {% set key = 'healthcare' %}",
- " {% set value = tags.healthcare %}",
+ " {% set value = tags.healthcare|split(';')[0] %}",
"{% else %}",
" {% set key = 'amenity' %}",
" {% set value = tags.amenity %}",
- "{% endif %}"
+ "{% endif %}",
+ "{% set kv = key ~ '=' ~ value %}",
+ "{% set found = { sign: '' } %}",
+ "{% for data in const %}",
+ " {% if kv in data.types %}{% set found = data %}{% endif %}",
+ "{% endfor %}"
],
"description": [
- "{{ tagTrans(key, value) }}",
+ "{{ tagTransList(key, attribute(tags, key)) }}",
"{% if attribute(tags, 'healthcare:speciality') %}",
"-",
"{{ tagTransList('healthcare:speciality', attribute(tags, 'healthcare:speciality')) }}",
"{% endif %}"
],
- "markerSign": "{{ const[key ~ '=' ~ value]|raw }}"
+ "markerSign": "{{ found.sign|raw }}"
},
"info": [
"",
- "{% for value, sign in const %}",
+ "{% for data in const %}",
" ",
- " {{ markerCircle({})|raw }}{{ sign|raw }}
",
- " {{ tagTrans(value|split('=')[0], value|split('=')[1]) }} ",
+ " {{ markerCircle({})|raw }}{{ data.sign|raw }}
",
+ " {{ tagTrans(data.types[0]|split('=')[0], data.types[0]|split('=')[1]) }} ",
" ",
"{% endfor %}",
"
"
],
- "const": {
- "amenity=baby_hatch": "🚼",
- "healthcare=blood_bank": " ",
- "healthcare=blood_donation": " ",
- "healthcare=clinic": "🏥",
- "emergency=defibrillator": " ",
- "healthcare=dentist": " ",
- "healthcare=doctor": " ",
- "amenity=doctors": " ",
- "amenity=hospital": "🏥",
- "healthcare=hospital": "🏥",
- "amenity=nursing_home": "",
- "amenity=pharmacy": " ",
- "amenity=social_facility": "",
- "amenity=veterinary": " "
+ "const": [
+ {
+ "types": [
+ "amenity=hospital",
+ "healthcare=hospital"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=clinic"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=centre"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=doctor",
+ "amenity=doctors"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "amenity=pharmacy",
+ "healthcare=pharmacy"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "emergency=defibrillator"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=dentist",
+ "amenity=dentist"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "amenity=baby_hatch"
+ ],
+ "sign": "🚼"
+ },
+ {
+ "types": [
+ "healthcare=blood_bank"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=blood_donation"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "amenity=nursing_home"
+ ]
+ },
+ {
+ "types": [
+ "amenity=social_facility"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "amenity=veterinary"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=physiotherapist"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=psychotherapist"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=alternative"
+ ],
+ "sign": ""
+ },
+ {
+ "types": [
+ "healthcare=audiologist"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=birthing_center"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=dialysis"
+ ],
+ "sign": ""
+ },
+ {
+ "types": [
+ "healthcare=laboratory"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=midwife"
+ ],
+ "sign": ""
+ },
+ {
+ "types": [
+ "healthcare=nutrition_counseling"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=occupational_therapist"
+ ],
+ "sign": ""
+ },
+ {
+ "types": [
+ "healthcare=optometrist"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=podiatrist"
+ ],
+ "sign": ""
+ },
+ {
+ "types": [
+ "healthcare=rehabilitation"
+ ],
+ "sign": " "
+ },
+ {
+ "types": [
+ "healthcare=speech_therapist"
+ ],
+ "sign": ""
+ }
+ ],
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "show_default": "true",
+ "type": "select",
+ "values": "{% for data in const %}{{ tagTrans(data.types[0]) }} {% endfor %}"
+ }
}
}
diff --git a/historic.json b/historic.json
index 0042fc19..e9396fb2 100644
--- a/historic.json
+++ b/historic.json
@@ -32,11 +32,25 @@
"node[historic][historic!~\"^(memorial|monument|wayside_cross|wayside_shrine|wayside_chapel)$\"];",
"way[historic][historic!~\"^(memorial|monument|wayside_cross|wayside_shrine|wayside_chapel)$\"];",
"relation[historic][historic!~\"^(memorial|monument|wayside_cross|wayside_shrine|wayside_chapel)$\"];",
+ "node[memorial~\"^(flood_mark|high_water_mark)$\"];",
+ "node[\"memorial:type\"~\"^(flood_mark|high_water_mark)$\"];",
+ "node[flood_mark];",
")"
]
},
"feature": {
- "description": "{{ tagTransList('historic', tags.historic) }}",
+ "description": [
+ "{% set historic = tags.historic %}",
+ "{% if attribute(tags, 'memorial') == 'high_water_mark' or attribute(tags, 'memorial:type') == 'high_water_mark' or attribute(tags, 'memorial') == 'flood_mark' or attribute(tags, 'memorial:type') == 'flood_mark' or tags.historic == 'highwater_mark' or (tags.historic != 'flood_mark' and tags.flood_mark) %}",
+ "{{ tagTrans('historic', 'flood_mark') }}",
+ "{{ debug(id ~ ': Deprecated tagging. Please use historic=flood_mark.') }}",
+ "{% set historic = 'flood_mark' %}",
+ "{% else %}",
+ "{{ tagTransList('historic', tags.historic) }}",
+ "{% endif %}",
+ "",
+ "{% if tags.flood_mark and tags.flood_mark != 'yes' %}({{ tagTrans('flood_mark', tags.flood_mark) }}){% endif %}"
+ ],
"body": [
"",
"{% if tags.inscription %}",
@@ -66,9 +80,23 @@
" {{ keyTrans('memorial:conflict') }}: ",
" {{ tagTransList('memorial:conflict', attribute(tags, 'memorial:conflict')) }} ",
" ",
+ "{% endif %}",
+ "",
+ "{% if tags.flood_date %}",
+ " ",
+ " ",
+ " {{ keyTrans('flood_date') }}: ",
+ " ",
+ " {% set flood_dates = [] %}",
+ " {% for d in tags.flood_date|split(';') %}",
+ " {% set flood_dates = flood_dates|merge([ d|trim|osmFormatDate ]) %}",
+ " {% endfor %}",
+ " {{ flood_dates|enumerate }}",
+ " ",
+ " ",
"{% endif %}"
],
- "markerSign": "{{ const[tags.historic].sign|raw }}"
+ "markerSign": "{{ const[historic].sign|raw }}"
},
"info": [
"",
@@ -112,6 +140,57 @@
"ruins": {
"sign": " ",
"zoom": 14
+ },
+ "flood_mark": {
+ "sign": " ",
+ "zoom": 14,
+ "query": "(node[historic][memorial~\"^(flood_mark|high_water_mark)$\"];node[historic][\"memorial:type\"~\"^(flood_mark|high_water_mark)$\"];node[historic~\"^(highwater_mark|flood_mark)$\"];)"
+ }
+ },
+ "filter": {
+ "type": {
+ "key": "historic",
+ "show_default": "true",
+ "name": "{{ trans('filter:type') }}",
+ "type": "select",
+ "values": "{% set list = [] %}{% for t, v in const %}{% set list = list|merge([ t ]) %}{{ tagTrans('historic', t) }} {% endfor %}{{ trans('other') }} ",
+ "valueName": "{{ tagTrans('historic', value) }}"
+ },
+ "conflict": {
+ "key": "memorial:conflict",
+ "op": "has",
+ "name": "{{ keyTrans('memorial:conflict') }}",
+ "type": "select",
+ "values": [
+ "WW1",
+ "WW2"
+ ],
+ "valueName": "{{ tagTrans('memorial:conflict', value) }}"
+ },
+ "civilization": {
+ "key": "historic:civilization",
+ "op": "has",
+ "name": "{{ keyTrans('historic:civilization') }}",
+ "type": "select",
+ "values": [
+ "ancient_egyptian",
+ "ancient_greek",
+ "ancient_roman",
+ "byzantine",
+ "celtic",
+ "etruscan",
+ "imperial_chinese",
+ "korean",
+ "medieval",
+ "modern",
+ "neolithic",
+ "nuragic",
+ "ottoman",
+ "prehistoric",
+ "roman",
+ "western_roman"
+ ],
+ "valueName": "{{ tagTrans('historic:civilization', value) }}"
}
}
}
diff --git a/img/blue_plaque.svg b/img/blue_plaque.svg
new file mode 100644
index 00000000..ffc85b75
--- /dev/null
+++ b/img/blue_plaque.svg
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+ Ab Cde
+ Lorem ipsum
+
+
diff --git a/img/plaque.svg b/img/plaque.svg
new file mode 100644
index 00000000..5aa441c3
--- /dev/null
+++ b/img/plaque.svg
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+ Ab Cde
+ Lorem ipsum
+
+
diff --git a/index.json b/index.json
index ba5a57d1..85c49915 100644
--- a/index.json
+++ b/index.json
@@ -252,6 +252,9 @@
"hu": "Infrastruktúra"
},
"subCategories": [
+ {
+ "id": "roads"
+ },
{
"id": "agriculture"
},
@@ -317,6 +320,9 @@
{
"id": "railway-maxspeed"
},
+ {
+ "id": "railway-gauge"
+ },
{
"id": "railway-routes"
}
diff --git a/lang/ast.json b/lang/ast.json
index dd6c6ce2..803f1201 100644
--- a/lang/ast.json
+++ b/lang/ast.json
@@ -1,4 +1,5 @@
{
+ "Objects with diet information": "",
"category:administrative": "Divisiones Alministratives",
"category:agriculture": "Agricultura",
"category:alternative_amenities": "Infraestructures",
@@ -60,6 +61,7 @@
"category:public": "Serviciu Públicu",
"category:railway": "Ferrocarril",
"category:railway-electrification": "",
+ "category:railway-gauge": "",
"category:railway-infrastructure": "",
"category:railway-maxspeed": "",
"category:railway-routes": "",
diff --git a/lang/ca.json b/lang/ca.json
index ac2b799c..cefe3d87 100644
--- a/lang/ca.json
+++ b/lang/ca.json
@@ -1,4 +1,5 @@
{
+ "Objects with diet information": "",
"category:administrative": "",
"category:agriculture": "",
"category:alternative_amenities": "",
@@ -60,6 +61,7 @@
"category:public": "",
"category:railway": "",
"category:railway-electrification": "",
+ "category:railway-gauge": "",
"category:railway-infrastructure": "",
"category:railway-maxspeed": "",
"category:railway-routes": "",
diff --git a/lang/cs.json b/lang/cs.json
index a6dd03c3..18f7ea99 100644
--- a/lang/cs.json
+++ b/lang/cs.json
@@ -1,4 +1,5 @@
{
+ "Objects with diet information": "",
"category:administrative": "Administrativní oblasti",
"category:agriculture": "Zemědělství",
"category:alternative_amenities": "Občanská vybavenost",
@@ -60,6 +61,7 @@
"category:public": "Veřejné služby",
"category:railway": "Železnice",
"category:railway-electrification": "",
+ "category:railway-gauge": "",
"category:railway-infrastructure": "",
"category:railway-maxspeed": "",
"category:railway-routes": "",
diff --git a/lang/de.json b/lang/de.json
index 1771e3b5..dc739fba 100644
--- a/lang/de.json
+++ b/lang/de.json
@@ -1,4 +1,5 @@
{
+ "Objects with diet information": "Objekte mit Ernährungsinformationen",
"category:administrative": "Administrative Gebiete",
"category:agriculture": "Landwirtschaft",
"category:alternative_amenities": "Einrichtungen",
@@ -12,7 +13,7 @@
"category:car_amenities": "Einrichtungen",
"category:car_furniture": "Straßenausstattung",
"category:car_maxspeed": "Höchstgeschwindigkeiten",
- "category:car_routes": "",
+ "category:car_routes": "Autorouten",
"category:children": "Einrichtungen für Kinder",
"category:coal": "Kohle",
"category:communication": "Kommunikation",
@@ -35,24 +36,24 @@
"category:index": "",
"category:infrastructure": "Infrastruktur",
"category:internet": "Internetzugang",
- "category:law": "",
+ "category:law": "Juristische Institutionen",
"category:leisure": "Freizeit",
"category:leisure_sport_shopping": "Freizeit, Sport und Einkauf",
- "category:memorial": "Denkmäler",
+ "category:memorial": "Denkmäler und Monumente",
"category:military": "Militär",
- "category:mtb-routes": "",
- "category:natural": "Geographische Objekte",
+ "category:mtb-routes": "Mointainbikerouten",
+ "category:natural": "Naturformationen",
"category:office": "Ämter, Dienst- und Geschäftsstellen",
"category:oil_gas": "Erdöl und Erdgas",
- "category:organisations": "",
+ "category:organisations": "Organisationen",
"category:other": "Andere",
"category:outdoor": "Freiluftaktivitäten",
"category:phone": "Telekommunikation",
"category:places": "Orte",
"category:places_geo": "Orte",
- "category:playgrounds": "Spielplätze",
+ "category:playgrounds": "Spielplatz",
"category:post": "Post",
- "category:power_routes": "",
+ "category:power_routes": "Hochspannungsverbindungen",
"category:pt": "ÖV Karte",
"category:pt:routes": "Routen",
"category:pt:stops": "Haltestellen",
@@ -60,9 +61,10 @@
"category:public": "Öffentliche Dienste",
"category:railway": "Eisenbahn",
"category:railway-electrification": "Eisenbahn Elektrifizierung",
+ "category:railway-gauge": "",
"category:railway-infrastructure": "Eisenbahn Infrastruktur",
"category:railway-maxspeed": "Eisenbahn Höchstgeschwindigkeiten",
- "category:railway-routes": "",
+ "category:railway-routes": "Eisenbahnrouten",
"category:religion": "Religion",
"category:renewables": "Erneuerbare Energien",
"category:residential": "Wohngebiete",
diff --git a/lang/el.json b/lang/el.json
index b631c5ab..7b57169f 100644
--- a/lang/el.json
+++ b/lang/el.json
@@ -1,4 +1,5 @@
{
+ "Objects with diet information": "",
"category:administrative": "Διοικητικά Όρια",
"category:agriculture": "Γεωργία",
"category:alternative_amenities": "",
@@ -60,6 +61,7 @@
"category:public": "Δημόσιες Υπηρεσίες",
"category:railway": "",
"category:railway-electrification": "",
+ "category:railway-gauge": "",
"category:railway-infrastructure": "",
"category:railway-maxspeed": "",
"category:railway-routes": "",
diff --git a/lang/en.json b/lang/en.json
index a804044d..47f78acc 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -1,4 +1,5 @@
{
+ "Objects with diet information": "Objects with diet information",
"category:administrative": "Administrative Areas",
"category:agriculture": "Agriculture",
"category:alternative_amenities": "Amenities",
@@ -32,13 +33,13 @@
"category:health": "Health",
"category:hiking_routes": "Hiking routes",
"category:historic": "Historic",
- "category:index": "",
+ "category:index": "Index of Categories",
"category:infrastructure": "Infrastructure",
"category:internet": "Internet access",
"category:law": "Law",
"category:leisure": "Leisure",
"category:leisure_sport_shopping": "Leisure, Sport and Shopping",
- "category:memorial": "Memorials",
+ "category:memorial": "Memorials & Monuments",
"category:military": "Military",
"category:mtb-routes": "Mountain bike routes",
"category:natural": "Natural Formations",
@@ -60,6 +61,7 @@
"category:public": "Public Services",
"category:railway": "Railway",
"category:railway-electrification": "Railway electrification",
+ "category:railway-gauge": "Railway gauge",
"category:railway-infrastructure": "Railway infrastructure",
"category:railway-maxspeed": "Railway Maxspeed",
"category:railway-routes": "Railway Routes",
@@ -67,6 +69,7 @@
"category:renewables": "Renewables",
"category:residential": "Residential Areas",
"category:resources": "Resource Extraction",
+ "category:roads": "Roads",
"category:services": "Services",
"category:shop": "Shopping",
"category:special": "Special",
@@ -75,7 +78,7 @@
"category:tourism_attractions": "Tourism",
"category:tourism_services": "Tourism",
"category:transport": "Transportation",
- "category:transport_alternative": "",
+ "category:transport_alternative": "Alternative Transportation modes",
"category:transport_car": "Individual Traffic",
"category:transport_cycle": "Cycling",
"category:transport_pt": "Public Transportation",
@@ -86,7 +89,7 @@
"category:wikipedia": "Wikipedia",
"category:works": "Works",
"category:xmas": "Christmas",
- "date format not understood": "",
- "outdated feature": "",
+ "date format not understood": "Invalid Date Format",
+ "outdated feature": "Features outdated",
"xmas:outdated-warning": "Feature has not been updated for the current season! Please check and set the tag 'xmas:lastcheck' to the current date."
}
diff --git a/lang/es.json b/lang/es.json
index f5f32dce..25f20b71 100644
--- a/lang/es.json
+++ b/lang/es.json
@@ -1,92 +1,94 @@
{
- "category:administrative": "",
- "category:agriculture": "",
- "category:alternative_amenities": "",
- "category:alternative_routes": "",
- "category:buildings": "",
- "category:buildings-entrances": "",
- "category:buildings-figure-ground": "",
- "category:buildings-height": "",
- "category:buildings-start_date": "",
- "category:buildings-type": "",
- "category:car_amenities": "",
- "category:car_furniture": "",
- "category:car_maxspeed": "",
- "category:car_routes": "",
- "category:children": "",
- "category:coal": "",
- "category:communication": "",
- "category:construction": "",
- "category:craft": "",
+ "Objects with diet information": "Objetos con información dietética",
+ "category:administrative": "Áreas Administrativas",
+ "category:agriculture": "Agricultura",
+ "category:alternative_amenities": "Instalaciones",
+ "category:alternative_routes": "Rutas",
+ "category:buildings": "Edificios",
+ "category:buildings-entrances": "Entradas",
+ "category:buildings-figure-ground": "Diagrama figura-fondo",
+ "category:buildings-height": "Altura del edificio",
+ "category:buildings-start_date": "Edad del edificio",
+ "category:buildings-type": "Tipos de edificio",
+ "category:car_amenities": "Instalaciones",
+ "category:car_furniture": "Mobiliario Urbano",
+ "category:car_maxspeed": "Velocidad máxima",
+ "category:car_routes": "Rutas de coche",
+ "category:children": "Instalaciones para niños",
+ "category:coal": "Carbón",
+ "category:communication": "Comunicación",
+ "category:construction": "Sitios de construcción",
+ "category:craft": "Artesano",
"category:culture": "Cultura",
"category:culture_religion": "Cultura y religión",
- "category:cycle_amenities": "",
- "category:cycle_routes": "",
- "category:education": "",
- "category:electric_power": "",
+ "category:cycle_amenities": "Instalaciones",
+ "category:cycle_routes": "Rutas ciclistas",
+ "category:education": "Servicios educativos",
+ "category:electric_power": "Energía eléctrica",
"category:emergency": "Servicios de emergencia",
- "category:energy": "",
- "category:financial": "",
- "category:gastro": "",
- "category:gastro-smoking": "",
- "category:health": "",
- "category:hiking_routes": "",
- "category:historic": "",
- "category:index": "",
- "category:infrastructure": "",
+ "category:energy": "Energía",
+ "category:financial": "Financiera",
+ "category:gastro": "Gastronomía",
+ "category:gastro-smoking": "Gastronomía libre de humo",
+ "category:health": "Salud",
+ "category:hiking_routes": "Rutas de senderismo",
+ "category:historic": "Histórico",
+ "category:index": "Índice",
+ "category:infrastructure": "Infraestructura",
"category:internet": "Acceso a Internet",
- "category:law": "",
- "category:leisure": "",
+ "category:law": "Ley",
+ "category:leisure": "Ocio",
"category:leisure_sport_shopping": "Ocio, deporte y compras",
- "category:memorial": "",
- "category:military": "",
- "category:mtb-routes": "",
- "category:natural": "",
- "category:office": "",
- "category:oil_gas": "",
- "category:organisations": "",
- "category:other": "",
- "category:outdoor": "",
- "category:phone": "",
- "category:places": "",
- "category:places_geo": "",
- "category:playgrounds": "",
- "category:post": "",
- "category:power_routes": "",
- "category:pt": "",
- "category:pt:routes": "",
+ "category:memorial": "Monumentos y lugares conmemorativos",
+ "category:military": "Militar",
+ "category:mtb-routes": "Rutas de ciclismo de montaña",
+ "category:natural": "Formaciones naturales",
+ "category:office": "Oficinas",
+ "category:oil_gas": "Petróleo y gas natural",
+ "category:organisations": "Organizaciones",
+ "category:other": "Otro",
+ "category:outdoor": "Actividades al aire libre",
+ "category:phone": "Teléfono",
+ "category:places": "Lugares",
+ "category:places_geo": "Lugares",
+ "category:playgrounds": "Parque infantil",
+ "category:post": "Correos",
+ "category:power_routes": "Rutas de energía",
+ "category:pt": "Mapa de transporte público",
+ "category:pt:routes": "Rutas",
"category:pt:stops": "Paradas y estaciones",
- "category:pt_amenities": "",
- "category:public": "",
- "category:railway": "",
- "category:railway-electrification": "",
- "category:railway-infrastructure": "",
- "category:railway-maxspeed": "",
- "category:railway-routes": "",
- "category:religion": "",
- "category:renewables": "",
- "category:residential": "",
- "category:resources": "",
+ "category:pt_amenities": "Instalaciones",
+ "category:public": "Servicios públicos",
+ "category:railway": "Ferrocarril",
+ "category:railway-electrification": "Electrificación ferroviaria",
+ "category:railway-gauge": "Ancho de vía",
+ "category:railway-infrastructure": "Infraestructura ferroviaria",
+ "category:railway-maxspeed": "Velocidad máxima del ferrocarril",
+ "category:railway-routes": "Rutas de ferrocarril",
+ "category:religion": "Religión",
+ "category:renewables": "Renovables",
+ "category:residential": "Áreas residenciales",
+ "category:resources": "Extracción de recursos",
"category:services": "Servicios",
- "category:shop": "",
- "category:special": "",
- "category:sport": "",
- "category:swimming_bathing": "",
- "category:tourism_attractions": "",
- "category:tourism_services": "",
- "category:transport": "",
- "category:transport_alternative": "",
- "category:transport_car": "",
- "category:transport_cycle": "",
- "category:transport_pt": "",
- "category:transport_walk": "",
- "category:walk_amenities": "",
- "category:waste": "",
- "category:water": "",
- "category:wikipedia": "",
- "category:works": "",
- "category:xmas": "",
- "date format not understood": "",
- "outdated feature": "",
- "xmas:outdated-warning": ""
+ "category:shop": "Compras",
+ "category:special": "Especial",
+ "category:sport": "Deportes",
+ "category:swimming_bathing": "Natación y baño",
+ "category:tourism_attractions": "Turismo",
+ "category:tourism_services": "Turismo",
+ "category:transport": "Transporte",
+ "category:transport_alternative": "Transporte alternativo",
+ "category:transport_car": "Tráfico individual",
+ "category:transport_cycle": "Ciclismo",
+ "category:transport_pt": "Transporte público",
+ "category:transport_walk": "Viandantes",
+ "category:walk_amenities": "Instalaciones",
+ "category:waste": "Basura",
+ "category:water": "Cuerpos de agua",
+ "category:wikipedia": "Wikipedia",
+ "category:works": "Fábricas",
+ "category:xmas": "Navidades",
+ "date format not understood": "Formato de fecha incomprensible",
+ "outdated feature": "Característica obsoleta",
+ "xmas:outdated-warning": "¡La característica no se ha actualizado para la temporada actual! Por favor verifique y establezca la etiqueta 'xmas: lastcheck' a la fecha actual."
}
diff --git a/lang/et.json b/lang/et.json
index e4fed49b..6b053754 100644
--- a/lang/et.json
+++ b/lang/et.json
@@ -1,4 +1,5 @@
{
+ "Objects with diet information": "",
"category:administrative": "Administratiivalad",
"category:agriculture": "Põllumajandus",
"category:alternative_amenities": "",
@@ -60,6 +61,7 @@
"category:public": "Kommunaalteenused",
"category:railway": "Raudtee",
"category:railway-electrification": "",
+ "category:railway-gauge": "",
"category:railway-infrastructure": "",
"category:railway-maxspeed": "",
"category:railway-routes": "",
diff --git a/lang/fr.json b/lang/fr.json
index 088e64ea..82f03e32 100644
--- a/lang/fr.json
+++ b/lang/fr.json
@@ -1,4 +1,5 @@
{
+ "Objects with diet information": "Objets avec information de régime alimentaire",
"category:administrative": "Zones administratives",
"category:agriculture": "Agriculture",
"category:alternative_amenities": "Équipement",
@@ -16,7 +17,7 @@
"category:children": "Équipements pour enfants",
"category:coal": "Charbon",
"category:communication": "Communication",
- "category:construction": "Constructions",
+ "category:construction": "Chantiers de construction",
"category:craft": "Artisanat",
"category:culture": "Culture",
"category:culture_religion": "Culture et religion",
@@ -55,11 +56,12 @@
"category:power_routes": "Réseaux électriques",
"category:pt": "Carte des transports publics",
"category:pt:routes": "Lignes",
- "category:pt:stops": "Arrêts/Stops, Stations",
+ "category:pt:stops": "Arrêts et stations",
"category:pt_amenities": "Équipements",
"category:public": "Services et équipements publics",
"category:railway": "Chemins de fer",
"category:railway-electrification": "Puissance électrique ferroviaire",
+ "category:railway-gauge": "",
"category:railway-infrastructure": "Infrastructure ferroviaire",
"category:railway-maxspeed": "Limites de vitesse",
"category:railway-routes": "Lignes ferroviaires",
@@ -81,12 +83,12 @@
"category:transport_pt": "Transports publics",
"category:transport_walk": "Marche à pied",
"category:walk_amenities": "Équipements piétons",
- "category:waste": "Déchets/Recyclage",
+ "category:waste": "Déchets et recyclage",
"category:water": "Hydrographie",
"category:wikipedia": "Wikipédia",
"category:works": "Zones industrielles",
"category:xmas": "Noël",
"date format not understood": "",
"outdated feature": "",
- "xmas:outdated-warning": ""
+ "xmas:outdated-warning": "Cet élément n'a pas été mis à jour pour cette saison ! Veuillez vérifier son existence et régler la valeur de \"xmas:lastcheck\" à la date actuelle."
}
diff --git a/lang/gl.json b/lang/gl.json
new file mode 100644
index 00000000..ccd2f8c2
--- /dev/null
+++ b/lang/gl.json
@@ -0,0 +1,94 @@
+{
+ "Objects with diet information": "",
+ "category:administrative": "Divisións administrativas",
+ "category:agriculture": "Agricultura",
+ "category:alternative_amenities": "Instalacións",
+ "category:alternative_routes": "Rotas",
+ "category:buildings": "Edificios",
+ "category:buildings-entrances": "Entradas",
+ "category:buildings-figure-ground": "Cheos e baleiros",
+ "category:buildings-height": "Altitude do edificio",
+ "category:buildings-start_date": "Idade do edificio",
+ "category:buildings-type": "Tipos de edificios",
+ "category:car_amenities": "Instalacións",
+ "category:car_furniture": "Mobiliario urbano",
+ "category:car_maxspeed": "Velocidade máxima",
+ "category:car_routes": "Rotas automobilísticas",
+ "category:children": "Instalacións infantís",
+ "category:coal": "Carbón",
+ "category:communication": "Comunicacións",
+ "category:construction": "Terreos baixo construción",
+ "category:craft": "Artesán",
+ "category:culture": "Cultura",
+ "category:culture_religion": "Cultura e relixión",
+ "category:cycle_amenities": "Instalacións",
+ "category:cycle_routes": "Rotas ciclistas",
+ "category:education": "Servizos educativos",
+ "category:electric_power": "Enerxía eléctrica",
+ "category:emergency": "Servizos de emerxencia",
+ "category:energy": "Enerxía",
+ "category:financial": "Finanzas",
+ "category:gastro": "Restauración",
+ "category:gastro-smoking": "Restauración sen fume",
+ "category:health": "Saúde",
+ "category:hiking_routes": "Rotas sendeiristas",
+ "category:historic": "Histórico",
+ "category:index": "Índice",
+ "category:infrastructure": "Infraestrutura",
+ "category:internet": "Acceso á internet",
+ "category:law": "Leis",
+ "category:leisure": "Lecer",
+ "category:leisure_sport_shopping": "Lecer, deporte e compras",
+ "category:memorial": "Memoriais",
+ "category:military": "Militar",
+ "category:mtb-routes": "Rotas de bicicleta de montaña",
+ "category:natural": "Formacións naturais",
+ "category:office": "Oficinas",
+ "category:oil_gas": "Petróleo e gas natural",
+ "category:organisations": "Organizacións",
+ "category:other": "Outros",
+ "category:outdoor": "Actividades ó ar libre",
+ "category:phone": "Teléfono",
+ "category:places": "Lugares",
+ "category:places_geo": "Lugares",
+ "category:playgrounds": "Parques infantís",
+ "category:post": "Correos",
+ "category:power_routes": "Liñas eléctricas",
+ "category:pt": "Mapa de transporte público",
+ "category:pt:routes": "Rotas",
+ "category:pt:stops": "Paraxes e estacións",
+ "category:pt_amenities": "Instalacións",
+ "category:public": "Servizos públicos",
+ "category:railway": "Ferrocarril",
+ "category:railway-electrification": "Ferrocarril electrificado",
+ "category:railway-gauge": "",
+ "category:railway-infrastructure": "Infraestrutura do ferrocarril",
+ "category:railway-maxspeed": "Velocidade máxima do ferrocarril",
+ "category:railway-routes": "Liñas de ferrocarril",
+ "category:religion": "Relixión",
+ "category:renewables": "Renovábeis",
+ "category:residential": "Zonas residenciais",
+ "category:resources": "Estracción de recursos",
+ "category:services": "Servizos",
+ "category:shop": "Compras",
+ "category:special": "Especial",
+ "category:sport": "Deporte",
+ "category:swimming_bathing": "Natación e baño",
+ "category:tourism_attractions": "Turismo",
+ "category:tourism_services": "Turismo",
+ "category:transport": "Mobilidade",
+ "category:transport_alternative": "Transporte alternativo",
+ "category:transport_car": "Tráfico individual",
+ "category:transport_cycle": "Ciclismo",
+ "category:transport_pt": "Transporte público",
+ "category:transport_walk": "Peonil",
+ "category:walk_amenities": "Instalacións",
+ "category:waste": "Lixo",
+ "category:water": "Hidrografía",
+ "category:wikipedia": "Wikipedia",
+ "category:works": "Producións",
+ "category:xmas": "Nadal",
+ "date format not understood": "Formato da data non coñecido",
+ "outdated feature": "Elemento obsoleto",
+ "xmas:outdated-warning": "O elemento non foi actualizado para a tempada actual! Por favor, verifica e define a etiqueta 'xmas:lastcheck' para a data actual."
+}
diff --git a/lang/hu.json b/lang/hu.json
index 5fd5cb9a..675bd272 100644
--- a/lang/hu.json
+++ b/lang/hu.json
@@ -1,14 +1,15 @@
{
+ "Objects with diet information": "Étrend-információt tartalmazó objektumok",
"category:administrative": "Közigazgatási határok",
"category:agriculture": "Mezőgazdaság",
"category:alternative_amenities": "Létesítmények",
- "category:alternative_routes": "Útvonalak",
+ "category:alternative_routes": "(Jelzett) útvonalak",
"category:buildings": "Épületek",
- "category:buildings-entrances": "",
- "category:buildings-figure-ground": "",
- "category:buildings-height": "",
- "category:buildings-start_date": "",
- "category:buildings-type": "",
+ "category:buildings-entrances": "Bejáratok",
+ "category:buildings-figure-ground": "Fekete épületalaprajzok",
+ "category:buildings-height": "Épületek magassága",
+ "category:buildings-start_date": "Épületek kora",
+ "category:buildings-type": "Épületek típusa",
"category:car_amenities": "Létesítmények",
"category:car_furniture": "Jelzőtáblák",
"category:car_maxspeed": "Sebességkorlátozás",
@@ -32,10 +33,10 @@
"category:health": "Egészségügy",
"category:hiking_routes": "Turistautak",
"category:historic": "Történelmi objektumok",
- "category:index": "Tartalom",
+ "category:index": "Kategóriák jegyzéke",
"category:infrastructure": "Infrastruktúra",
"category:internet": "Internetcsatlakozás",
- "category:law": "",
+ "category:law": "Jog",
"category:leisure": "Szabadidő",
"category:leisure_sport_shopping": "Szabadidő, sport és vásárlás",
"category:memorial": "Emlékművek",
@@ -44,7 +45,7 @@
"category:natural": "Természeti képződmények",
"category:office": "Irodák, hivatalok",
"category:oil_gas": "Kőolaj, földgáz",
- "category:organisations": "",
+ "category:organisations": "Szervezetek",
"category:other": "Egyéb",
"category:outdoor": "Szabadtéri tevékenységek",
"category:phone": "Telefon",
@@ -60,6 +61,7 @@
"category:public": "Közszolgáltatások",
"category:railway": "Vasút",
"category:railway-electrification": "Vasút villamosítottsága",
+ "category:railway-gauge": "Vasúti nyomtáv",
"category:railway-infrastructure": "Vasúti infrastruktúra",
"category:railway-maxspeed": "Sebességkorlátozás",
"category:railway-routes": "Vasútvonalak",
@@ -75,7 +77,7 @@
"category:tourism_attractions": "Látnivalók",
"category:tourism_services": "Szálláshelyek, turisztikai információk",
"category:transport": "Közlekedés",
- "category:transport_alternative": "Alternatív (Kerékpár, Túra)",
+ "category:transport_alternative": "Alternatív közlekedési módok",
"category:transport_car": "Autós közlekedés",
"category:transport_cycle": "Kerékpáros közlekedés",
"category:transport_pt": "Tömegközlekedés",
@@ -86,7 +88,8 @@
"category:wikipedia": "Wikipédia",
"category:works": "Üzemek",
"category:xmas": "Karácsony",
- "date format not understood": "",
- "outdated feature": "",
- "xmas:outdated-warning": ""
+ "date format not understood": "Érvénytelen dátumformátum",
+ "outdated feature": "Elavult objektumok",
+ "xmas:outdated-warning": "Ebben a szezonban nem frissült az objektum. Ellenőrizze, és állítsa be az kulcshoz tartozó értéket a jelenlegi dátumra.",
+ "category:roads": "Utak"
}
diff --git a/lang/it.json b/lang/it.json
index 0a02801e..39fa8e97 100644
--- a/lang/it.json
+++ b/lang/it.json
@@ -1,92 +1,94 @@
{
+ "Objects with diet information": "Elementi con informazioni alimentari",
"category:administrative": "Suddivisioni amministrative",
"category:agriculture": "Agricoltura",
"category:alternative_amenities": "Infrastrutture",
"category:alternative_routes": "Itinerari segnalati",
- "category:buildings": "",
- "category:buildings-entrances": "",
- "category:buildings-figure-ground": "",
- "category:buildings-height": "",
- "category:buildings-start_date": "",
- "category:buildings-type": "",
+ "category:buildings": "Edifici",
+ "category:buildings-entrances": "Ingressi",
+ "category:buildings-figure-ground": "Schema di Impronta",
+ "category:buildings-height": "Altezza dell'edificio",
+ "category:buildings-start_date": "Età dell'edificio",
+ "category:buildings-type": "Tipi di edificio",
"category:car_amenities": "Infrastrutture",
"category:car_furniture": "Dotazioni stradali",
- "category:car_maxspeed": "",
- "category:car_routes": "",
- "category:children": "",
- "category:coal": "",
+ "category:car_maxspeed": "Velocità massima",
+ "category:car_routes": "Tratte automobilistiche",
+ "category:children": "Luoghi per bambini",
+ "category:coal": "Carbone",
"category:communication": "Communicazioni",
"category:construction": "Cantieri",
- "category:craft": "",
+ "category:craft": "Artigianato",
"category:culture": "Cultura",
"category:culture_religion": "Cultura",
- "category:cycle_amenities": "",
- "category:cycle_routes": "",
+ "category:cycle_amenities": "Infrastrutture",
+ "category:cycle_routes": "Percorsi ciclistici",
"category:education": "Istruzione",
"category:electric_power": "Energia",
"category:emergency": "Servizi d'emergenza",
- "category:energy": "",
+ "category:energy": "Energia",
"category:financial": "Finanze",
"category:gastro": "Gastronomia",
- "category:gastro-smoking": "",
+ "category:gastro-smoking": "Gastronomia non fumatori",
"category:health": "Sanità",
- "category:hiking_routes": "",
+ "category:hiking_routes": "Percorsi escursionistici",
"category:historic": "Storia",
- "category:index": "",
- "category:infrastructure": "",
- "category:internet": "",
- "category:law": "",
+ "category:index": "Indice delle Categorie",
+ "category:infrastructure": "Infrastrutture",
+ "category:internet": "Accesso a internet",
+ "category:law": "Legge",
"category:leisure": "Tempo libero",
"category:leisure_sport_shopping": "Tempo libero, sport e shopping",
- "category:memorial": "",
+ "category:memorial": "Monumenti e Memoriali",
"category:military": "Militare",
- "category:mtb-routes": "",
+ "category:mtb-routes": "Percorsi per mountain bike",
"category:natural": "Natura",
- "category:office": "",
- "category:oil_gas": "",
- "category:organisations": "",
+ "category:office": "Uffici",
+ "category:oil_gas": "Petrolio e gas naturale",
+ "category:organisations": "Organizzazioni",
"category:other": "Altri",
- "category:outdoor": "",
- "category:phone": "",
+ "category:outdoor": "Attività all'aperto",
+ "category:phone": "Telefono",
"category:places": "Luoghi",
"category:places_geo": "Luoghi",
- "category:playgrounds": "",
- "category:post": "",
- "category:power_routes": "",
- "category:pt": "",
- "category:pt:routes": "",
+ "category:playgrounds": "Parco giochi",
+ "category:post": "Posta",
+ "category:power_routes": "Linee energetiche",
+ "category:pt": "Mappa del trasporto pubblico",
+ "category:pt:routes": "Percorsi",
"category:pt:stops": "Stazioni e fermate",
"category:pt_amenities": "Infrastrutture",
"category:public": "Servizi pubblici",
"category:railway": "Ferrovie",
- "category:railway-electrification": "",
- "category:railway-infrastructure": "",
- "category:railway-maxspeed": "",
- "category:railway-routes": "",
+ "category:railway-electrification": "Elettrificazione ferroviaria",
+ "category:railway-gauge": "Scartamento Ferroviario",
+ "category:railway-infrastructure": "Infrastruttura ferroviaria",
+ "category:railway-maxspeed": "Velocità ferroviaria massima",
+ "category:railway-routes": "Percorsi ferroviari",
"category:religion": "Religione",
- "category:renewables": "",
+ "category:renewables": "Energie rinnovabili",
"category:residential": "Aree residenziali",
- "category:resources": "Areee estrattive",
+ "category:resources": "Aree estrattive",
"category:services": "Servizi",
"category:shop": "Acquisti",
- "category:special": "",
+ "category:special": "Speciali",
"category:sport": "Sport",
- "category:swimming_bathing": "",
+ "category:swimming_bathing": "Nuoto e balneazione",
"category:tourism_attractions": "Turismo",
"category:tourism_services": "Turismo",
"category:transport": "Trasporti",
- "category:transport_alternative": "Alternativi (bicicletta, camminate, ...)",
+ "category:transport_alternative": "Trasporti Alternativi (bicicletta, camminate, ...)",
"category:transport_car": "Trasporti individuali",
- "category:transport_cycle": "",
+ "category:transport_cycle": "Ciclistico",
"category:transport_pt": "Trasporti pubblici",
- "category:transport_walk": "",
- "category:walk_amenities": "",
+ "category:transport_walk": "Pedonale",
+ "category:walk_amenities": "Attrazioni",
"category:waste": "Smaltimento",
- "category:water": "",
- "category:wikipedia": "",
+ "category:water": "Corpi Idrici",
+ "category:wikipedia": "Wikipedia",
"category:works": "Fabbriche",
- "category:xmas": "",
- "date format not understood": "",
- "outdated feature": "",
- "xmas:outdated-warning": ""
+ "category:xmas": "Natale",
+ "date format not understood": "Formato Data non riconosciuto",
+ "outdated feature": "Caratteristica obsoleta",
+ "xmas:outdated-warning": "Caratteristica non aggiornata alla stagione corrente! Controllare e revisionare il tag'xmas:lastcheck' alla data corrente."
}
diff --git a/lang/ja.json b/lang/ja.json
index 478c538d..c858b2ba 100644
--- a/lang/ja.json
+++ b/lang/ja.json
@@ -1,92 +1,94 @@
{
- "category:administrative": "",
+ "Objects with diet information": "食事制限情報のあるオブジェクト",
+ "category:administrative": "行政界",
"category:agriculture": "農業",
"category:alternative_amenities": "生活環境",
"category:alternative_routes": "ルート",
- "category:buildings": "",
- "category:buildings-entrances": "",
+ "category:buildings": "建物",
+ "category:buildings-entrances": "エントランス",
"category:buildings-figure-ground": "",
- "category:buildings-height": "",
- "category:buildings-start_date": "",
- "category:buildings-type": "",
+ "category:buildings-height": "建物の高さ",
+ "category:buildings-start_date": "築年数",
+ "category:buildings-type": "建物の種類",
"category:car_amenities": "生活環境",
"category:car_furniture": "街路設置公共物",
- "category:car_maxspeed": "",
- "category:car_routes": "",
- "category:children": "",
- "category:coal": "",
- "category:communication": "交流",
+ "category:car_maxspeed": "最高速度",
+ "category:car_routes": "車のルート",
+ "category:children": "子ども用施設",
+ "category:coal": "石炭",
+ "category:communication": "情報通信",
"category:construction": "工事中",
- "category:craft": "",
+ "category:craft": "職人",
"category:culture": "文化",
- "category:culture_religion": "文化",
- "category:cycle_amenities": "",
- "category:cycle_routes": "",
+ "category:culture_religion": "文化と宗教",
+ "category:cycle_amenities": "アメニティ",
+ "category:cycle_routes": "自転車ルート",
"category:education": "教育サービス",
"category:electric_power": "電力",
"category:emergency": "緊急サービス",
- "category:energy": "",
+ "category:energy": "エネルギー",
"category:financial": "金融",
"category:gastro": "食べ物",
- "category:gastro-smoking": "",
+ "category:gastro-smoking": "禁煙の飲食店",
"category:health": "健康",
- "category:hiking_routes": "",
- "category:historic": "記念",
+ "category:hiking_routes": "ハイキングルート",
+ "category:historic": "歴史",
"category:index": "",
- "category:infrastructure": "",
+ "category:infrastructure": "インフラ",
"category:internet": "インターネット接続",
- "category:law": "",
+ "category:law": "法律",
"category:leisure": "レジャー",
"category:leisure_sport_shopping": "レジャー",
- "category:memorial": "",
+ "category:memorial": "記念碑",
"category:military": "軍事",
- "category:mtb-routes": "",
+ "category:mtb-routes": "マウンテンバイクのルート",
"category:natural": "自然地層",
- "category:office": "",
- "category:oil_gas": "",
- "category:organisations": "",
+ "category:office": "オフィス",
+ "category:oil_gas": "石油と天然ガス",
+ "category:organisations": "組織",
"category:other": "その他",
- "category:outdoor": "",
+ "category:outdoor": "アウトドア活動",
"category:phone": "電話",
"category:places": "場所",
"category:places_geo": "場所",
- "category:playgrounds": "",
+ "category:playgrounds": "遊び場",
"category:post": "郵便",
- "category:power_routes": "",
- "category:pt": "",
- "category:pt:routes": "",
+ "category:power_routes": "電線のルート",
+ "category:pt": "公共交通地図",
+ "category:pt:routes": "ルート",
"category:pt:stops": "停留所と駅",
"category:pt_amenities": "生活環境",
"category:public": "公共サービス",
"category:railway": "鉄道",
- "category:railway-electrification": "",
- "category:railway-infrastructure": "",
- "category:railway-maxspeed": "",
- "category:railway-routes": "",
+ "category:railway-electrification": "鉄道の電力",
+ "category:railway-gauge": "",
+ "category:railway-infrastructure": "鉄道インフラ",
+ "category:railway-maxspeed": "鉄道の最高速度",
+ "category:railway-routes": "鉄道ルート",
"category:religion": "宗教",
"category:renewables": "",
"category:residential": "住居エリア",
"category:resources": "",
"category:services": "サービス",
"category:shop": "ショッピング",
- "category:special": "",
+ "category:special": "特別",
"category:sport": "スポーツ",
- "category:swimming_bathing": "",
+ "category:swimming_bathing": "水泳と入浴",
"category:tourism_attractions": "観光",
"category:tourism_services": "観光",
"category:transport": "輸送",
"category:transport_alternative": "その他交通 (サイクリング、ハイキング、...)",
"category:transport_car": "個人輸送機関",
- "category:transport_cycle": "",
+ "category:transport_cycle": "サイクリング",
"category:transport_pt": "公共輸送",
- "category:transport_walk": "",
- "category:walk_amenities": "",
+ "category:transport_walk": "ウォーキング",
+ "category:walk_amenities": "アメニティ",
"category:waste": "処理場",
- "category:water": "",
- "category:wikipedia": "",
+ "category:water": "水系",
+ "category:wikipedia": "ウィキペディア",
"category:works": "工場",
- "category:xmas": "",
+ "category:xmas": "クリスマス",
"date format not understood": "",
"outdated feature": "",
- "xmas:outdated-warning": ""
+ "xmas:outdated-warning": "今のシーズンは地物が更新されていません! チェックして現在の日付に'xmas:lastcheck' タグをセットしてください。"
}
diff --git a/lang/nl.json b/lang/nl.json
index cad77cad..ce9215ce 100644
--- a/lang/nl.json
+++ b/lang/nl.json
@@ -1,92 +1,94 @@
{
+ "Objects with diet information": "Objecten met dieet informatie",
"category:administrative": "Administratieve gebieden",
"category:agriculture": "Landbouw",
"category:alternative_amenities": "Voorzieningen",
"category:alternative_routes": "Alternatieve routes",
- "category:buildings": "",
- "category:buildings-entrances": "",
- "category:buildings-figure-ground": "",
- "category:buildings-height": "",
- "category:buildings-start_date": "",
- "category:buildings-type": "",
+ "category:buildings": "Gebouwen",
+ "category:buildings-entrances": "Toegangen",
+ "category:buildings-figure-ground": "Plattegrond",
+ "category:buildings-height": "Bouwhoogte",
+ "category:buildings-start_date": "Ouderdom van het gebouw",
+ "category:buildings-type": "Gebouwtypes",
"category:car_amenities": "Voorzieningen",
"category:car_furniture": "Straatmeubilair",
- "category:car_maxspeed": "",
- "category:car_routes": "",
- "category:children": "",
- "category:coal": "",
+ "category:car_maxspeed": "Snelheidslimiet",
+ "category:car_routes": "Autoroutes",
+ "category:children": "Voorzieningen voor kinderen",
+ "category:coal": "Kolen",
"category:communication": "Communicatie",
"category:construction": "Bouwterrein",
- "category:craft": "",
+ "category:craft": "Handwerk",
"category:culture": "Cultuur",
"category:culture_religion": "Cultuur",
- "category:cycle_amenities": "",
- "category:cycle_routes": "",
+ "category:cycle_amenities": "Voorzieningen",
+ "category:cycle_routes": "Fietsroutes",
"category:education": "Onderwijs",
"category:electric_power": "Stroomvoorziening",
"category:emergency": "Hulpdiensten",
- "category:energy": "",
+ "category:energy": "Energie",
"category:financial": "Financieel",
"category:gastro": "Gastronomie",
- "category:gastro-smoking": "",
+ "category:gastro-smoking": "Rookvrije gastronomie",
"category:health": "Gezondheid",
- "category:hiking_routes": "",
+ "category:hiking_routes": "Wandelroutes",
"category:historic": "Historisch",
"category:index": "",
- "category:infrastructure": "",
+ "category:infrastructure": "Infrastructuur",
"category:internet": "Internettoegang",
- "category:law": "",
+ "category:law": "Juridische diensten",
"category:leisure": "Vrije tijd",
"category:leisure_sport_shopping": "Vrije tijd, Sport en Winkelen",
- "category:memorial": "",
+ "category:memorial": "Gedenktekens",
"category:military": "Militair",
- "category:mtb-routes": "",
+ "category:mtb-routes": "ATB routes",
"category:natural": "Natuurlijke Formaties",
- "category:office": "",
- "category:oil_gas": "",
- "category:organisations": "",
+ "category:office": "Kantoren",
+ "category:oil_gas": "Petroleum en aardgas",
+ "category:organisations": "Organisaties",
"category:other": "Andere",
- "category:outdoor": "",
+ "category:outdoor": "Buitenactiviteiten",
"category:phone": "Telefonie",
"category:places": "Plaatsen",
"category:places_geo": "Plaatsen",
- "category:playgrounds": "",
+ "category:playgrounds": "Speeltuin",
"category:post": "Post",
- "category:power_routes": "",
- "category:pt": "",
- "category:pt:routes": "",
+ "category:power_routes": "Elektriciteitsleidingen",
+ "category:pt": "Openbaar vervoer kaart",
+ "category:pt:routes": "Routes",
"category:pt:stops": "Haltes en Stations",
"category:pt_amenities": "Voorzieningen",
"category:public": "Openbare diensten",
"category:railway": "Spoorwegen",
- "category:railway-electrification": "",
- "category:railway-infrastructure": "",
- "category:railway-maxspeed": "",
- "category:railway-routes": "",
+ "category:railway-electrification": "Spoorwegelektrificatie",
+ "category:railway-gauge": "",
+ "category:railway-infrastructure": "Spoorweginfrastructuur",
+ "category:railway-maxspeed": "Spoorweg snelheidslimiet",
+ "category:railway-routes": "Spoorwegroutes",
"category:religion": "Religie",
- "category:renewables": "",
+ "category:renewables": "Hernieuwbare energie",
"category:residential": "Woongebieden",
"category:resources": "Grondstoffenwinning",
"category:services": "Dienstverlening",
"category:shop": "Winkelen",
- "category:special": "",
+ "category:special": "Speciaal",
"category:sport": "Sport",
- "category:swimming_bathing": "",
+ "category:swimming_bathing": "Zwemmen en baden",
"category:tourism_attractions": "Toerisme",
"category:tourism_services": "Toerisme",
"category:transport": "Vervoer",
"category:transport_alternative": "Alternatief (Fiets, Wandel, ...)",
"category:transport_car": "Gemotoriseerd individueel verkeer",
- "category:transport_cycle": "",
+ "category:transport_cycle": "Fietsen",
"category:transport_pt": "Openbaar vervoer",
- "category:transport_walk": "",
- "category:walk_amenities": "",
+ "category:transport_walk": "Wandelen",
+ "category:walk_amenities": "Voorzieningen",
"category:waste": "Afvalverwijdering",
- "category:water": "",
- "category:wikipedia": "",
+ "category:water": "Oppervlaktewater",
+ "category:wikipedia": "Wikipedia",
"category:works": "Fabrieken",
- "category:xmas": "",
- "date format not understood": "",
- "outdated feature": "",
- "xmas:outdated-warning": ""
+ "category:xmas": "Kerstmis",
+ "date format not understood": "Datumformaat onbekend",
+ "outdated feature": "Achterhaalde informatie",
+ "xmas:outdated-warning": "Object werd niet geactualiseerd voor het huidige seizoen! Controleer en zet de tag 'xmas:lastcheck' op de huidige datum alstublieft."
}
diff --git a/lang/oc.json b/lang/oc.json
new file mode 100644
index 00000000..1ad0b8dd
--- /dev/null
+++ b/lang/oc.json
@@ -0,0 +1,95 @@
+{
+ "Objects with diet information": "Elements amb information de regime alimentari",
+ "category:administrative": "Divisions administrativas",
+ "category:agriculture": "Agricultura",
+ "category:alternative_amenities": "Equipament",
+ "category:alternative_routes": "Varianta d'itinerari",
+ "category:buildings": "Bastissas",
+ "category:buildings-entrances": "Intradas",
+ "category:buildings-figure-ground": "Marca au sòu",
+ "category:buildings-height": "Autor de la bastissa",
+ "category:buildings-start_date": "Data de bastison",
+ "category:buildings-type": "Tipe de bastissa",
+ "category:car_amenities": "Equipaments auto",
+ "category:car_furniture": "Fornituras automobilas",
+ "category:car_maxspeed": "Limits de velocitat",
+ "category:car_routes": "Itineraris auto",
+ "category:children": "Luòcs per leis enfants",
+ "category:coal": "Carbon",
+ "category:communication": "Communicacion",
+ "category:construction": "Talhiers de construccion",
+ "category:craft": "Artisanat",
+ "category:culture": "Cultura",
+ "category:culture_religion": "Cultura e religion",
+ "category:cycle_amenities": "Equipaments per lei cicistas",
+ "category:cycle_routes": "Itineraris ciclistas",
+ "category:education": "Education",
+ "category:electric_power": "Produccion/ Transpòrt d'Energia",
+ "category:emergency": "Servicis d'urgéncia",
+ "category:energy": "Energia",
+ "category:financial": "Finança",
+ "category:gastro": "Restauracion/ Gastronomia",
+ "category:gastro-smoking": "Restauration sensa tabat",
+ "category:health": "Santat",
+ "category:hiking_routes": "Itineraris per escorregudas",
+ "category:historic": "Istòria",
+ "category:index": "Indici dei categorias",
+ "category:infrastructure": "Infrastructuras",
+ "category:internet": "Accès a Internet",
+ "category:law": "Lèi",
+ "category:leisure": "Lesers",
+ "category:leisure_sport_shopping": "Vida quotidiana, lesers e espòrts",
+ "category:memorial": "Monuments e Memoriaus",
+ "category:military": "Luòcs militaris",
+ "category:mtb-routes": "Itineraris de VTT",
+ "category:natural": "Elements naturaus",
+ "category:office": "Oficis/ Burèus",
+ "category:oil_gas": "Petròli e gas naturau",
+ "category:organisations": "Organizacions",
+ "category:other": "Autrei",
+ "category:outdoor": "Activitats de plen aire",
+ "category:phone": "Telefòne",
+ "category:places": "Luòcs",
+ "category:places_geo": "Luòcs",
+ "category:playgrounds": "Jòcs per leis enfants",
+ "category:post": "Pòsta",
+ "category:power_routes": "Linhas electricas",
+ "category:pt": "Transpòrts publics",
+ "category:pt:routes": "Linhas",
+ "category:pt:stops": "Arrèsts e Estations",
+ "category:pt_amenities": "Infrastructuras de transpòrt",
+ "category:public": "Servicis e equimaments publics",
+ "category:railway": "Camins de fer",
+ "category:railway-electrification": "Electrificacion ferroviària",
+ "category:railway-gauge": "Ample dei vias",
+ "category:railway-infrastructure": "Infrastructura ferroviària",
+ "category:railway-maxspeed": "Limits de velocitat",
+ "category:railway-routes": "Linhas ferroviàrias",
+ "category:religion": "Religion",
+ "category:renewables": "Energias renovelablas",
+ "category:residential": "Quartiers residenciaus",
+ "category:resources": "Airau d'extraccion de ressorsas",
+ "category:services": "Servicis",
+ "category:shop": "Botigas",
+ "category:special": "Categorias particularas",
+ "category:sport": "Espòrt",
+ "category:swimming_bathing": "Natacion, banhada e banhèra",
+ "category:tourism_attractions": "Torisma",
+ "category:tourism_services": "Torisma",
+ "category:transport": "Transpòrts",
+ "category:transport_alternative": "Transpòrt alternatiu (ciclisme, caminada, ...)",
+ "category:transport_car": "Transpòrt automobil",
+ "category:transport_cycle": "Ciclisme",
+ "category:transport_pt": "Transpòrts publics",
+ "category:transport_walk": "Caminada",
+ "category:walk_amenities": "Equipaments pedoniers",
+ "category:waste": "Bordilhas e reciclatge",
+ "category:water": "Aigas e rius",
+ "category:wikipedia": "Wikipèdia",
+ "category:works": "Airaus industriaus",
+ "category:xmas": "Calendas",
+ "date format not understood": "Format de data non reconoissut",
+ "outdated feature": "Caracteristicas obsoletas",
+ "xmas:outdated-warning": "Aquest element es pas estat actualizat per la session ! Siatz pregats de verificar e mai reglar la valor de \"xmas:lastcheck\" a la data actuala.",
+ "category:roads": "Rotas"
+}
diff --git a/lang/pl.json b/lang/pl.json
index 77e00eb2..330b44db 100644
--- a/lang/pl.json
+++ b/lang/pl.json
@@ -1,4 +1,5 @@
{
+ "Objects with diet information": "",
"category:administrative": "",
"category:agriculture": "",
"category:alternative_amenities": "",
@@ -60,6 +61,7 @@
"category:public": "",
"category:railway": "",
"category:railway-electrification": "",
+ "category:railway-gauge": "",
"category:railway-infrastructure": "",
"category:railway-maxspeed": "",
"category:railway-routes": "",
diff --git a/lang/pt-br.json b/lang/pt-br.json
index 0397155e..ba69712f 100644
--- a/lang/pt-br.json
+++ b/lang/pt-br.json
@@ -1,4 +1,5 @@
{
+ "Objects with diet information": "Objetos com informações sobre dieta",
"category:administrative": "Divisão político-administrativa",
"category:agriculture": "Agricultura",
"category:alternative_amenities": "Equipamentos",
@@ -38,7 +39,7 @@
"category:law": "Direito",
"category:leisure": "Lazer",
"category:leisure_sport_shopping": "Lazer, esportes e compras",
- "category:memorial": "Memoriais",
+ "category:memorial": "Memoriais e Memoriais",
"category:military": "Militar",
"category:mtb-routes": "Rotas de mountain bike",
"category:natural": "Formações naturais",
@@ -52,7 +53,7 @@
"category:places_geo": "Lugares",
"category:playgrounds": "Parquinhos",
"category:post": "Correios",
- "category:power_routes": "Rotas de energia",
+ "category:power_routes": "Rotas energéticas",
"category:pt": "Mapa de transporte público",
"category:pt:routes": "Rotas",
"category:pt:stops": "Paradas e estações",
@@ -60,6 +61,7 @@
"category:public": "Utilidade pública",
"category:railway": "Ferrovia",
"category:railway-electrification": "Eletrificação ferroviária",
+ "category:railway-gauge": "Calibre ferroviário",
"category:railway-infrastructure": "Infraestrutura ferroviária",
"category:railway-maxspeed": "Velocidade máxima",
"category:railway-routes": "Rotas ferroviárias",
@@ -87,6 +89,6 @@
"category:works": "Produção",
"category:xmas": "Natal",
"date format not understood": "",
- "outdated feature": "",
- "xmas:outdated-warning": ""
+ "outdated feature": "Objeto antigo",
+ "xmas:outdated-warning": "O objeto não foi atualizado para a temporada atual! Por favor, verifique e defina a tag 'xmas:lastcheck' para a data atual."
}
diff --git a/lang/pt.json b/lang/pt.json
index e38e6a60..f22254b7 100644
--- a/lang/pt.json
+++ b/lang/pt.json
@@ -1,4 +1,5 @@
{
+ "Objects with diet information": "",
"category:administrative": "Regiões administrativas",
"category:agriculture": "Agricultura",
"category:alternative_amenities": "",
@@ -60,6 +61,7 @@
"category:public": "Serviços públicos",
"category:railway": "Linhas ferroviárias",
"category:railway-electrification": "Eletrificação ferroviária",
+ "category:railway-gauge": "",
"category:railway-infrastructure": "Infraestrutura ferroviária",
"category:railway-maxspeed": "Velocidade máxima",
"category:railway-routes": "",
diff --git a/lang/ro.json b/lang/ro.json
index 1ac1b5be..f80c6a2b 100644
--- a/lang/ro.json
+++ b/lang/ro.json
@@ -1,10 +1,11 @@
{
- "category:administrative": "Zona administrativa",
+ "Objects with diet information": "",
+ "category:administrative": "Zona administrativă",
"category:agriculture": "Agricultura",
"category:alternative_amenities": "",
- "category:alternative_routes": "",
- "category:buildings": "",
- "category:buildings-entrances": "",
+ "category:alternative_routes": "Rute",
+ "category:buildings": "Clădiri",
+ "category:buildings-entrances": "Intrări",
"category:buildings-figure-ground": "",
"category:buildings-height": "",
"category:buildings-start_date": "",
@@ -50,16 +51,17 @@
"category:phone": "Telefon",
"category:places": "Locuri",
"category:places_geo": "Locuri",
- "category:playgrounds": "Loc de joaca",
+ "category:playgrounds": "Loc de joacă",
"category:post": "",
"category:power_routes": "",
- "category:pt": "",
- "category:pt:routes": "",
+ "category:pt": "Hartă transport public",
+ "category:pt:routes": "Rute",
"category:pt:stops": "",
"category:pt_amenities": "",
"category:public": "Servicii publice",
"category:railway": "",
"category:railway-electrification": "",
+ "category:railway-gauge": "",
"category:railway-infrastructure": "",
"category:railway-maxspeed": "",
"category:railway-routes": "",
@@ -85,7 +87,7 @@
"category:water": "",
"category:wikipedia": "",
"category:works": "",
- "category:xmas": "",
+ "category:xmas": "Crăciun",
"date format not understood": "",
"outdated feature": "",
"xmas:outdated-warning": ""
diff --git a/lang/ru.json b/lang/ru.json
index 30e885e3..d95d41dd 100644
--- a/lang/ru.json
+++ b/lang/ru.json
@@ -1,92 +1,94 @@
{
+ "Objects with diet information": "Объекты с информацией о питании",
"category:administrative": "Административные границы",
"category:agriculture": "Сельское хозяйство",
"category:alternative_amenities": "Полезные места",
"category:alternative_routes": "Маршруты",
- "category:buildings": "",
- "category:buildings-entrances": "",
+ "category:buildings": "Здания",
+ "category:buildings-entrances": "Входы",
"category:buildings-figure-ground": "",
- "category:buildings-height": "",
- "category:buildings-start_date": "",
- "category:buildings-type": "",
+ "category:buildings-height": "Высота здания",
+ "category:buildings-start_date": "Возраст здания",
+ "category:buildings-type": "Типы зданий",
"category:car_amenities": "Обслуживание транспорта",
"category:car_furniture": "Элементы дороги",
- "category:car_maxspeed": "",
- "category:car_routes": "",
+ "category:car_maxspeed": "Максимальная скорость",
+ "category:car_routes": "Автомобильные маршруты",
"category:children": "",
- "category:coal": "",
+ "category:coal": "Уголь",
"category:communication": "Услуги связи",
"category:construction": "Места строительства",
- "category:craft": "",
+ "category:craft": "Мастерские",
"category:culture": "Культура",
- "category:culture_religion": "Культура",
+ "category:culture_religion": "Культура и религия",
"category:cycle_amenities": "",
- "category:cycle_routes": "",
+ "category:cycle_routes": "Веломаршруты",
"category:education": "Образование",
- "category:electric_power": "Энергетика",
+ "category:electric_power": "Электроэнергетика",
"category:emergency": "Экстренные службы",
- "category:energy": "",
+ "category:energy": "Энергетика",
"category:financial": "Финансы",
"category:gastro": "Общепит",
- "category:gastro-smoking": "",
+ "category:gastro-smoking": "Общественное питание без курения",
"category:health": "Медицина",
- "category:hiking_routes": "",
+ "category:hiking_routes": "Туристические маршруты",
"category:historic": "Историческое",
- "category:index": "",
- "category:infrastructure": "",
- "category:internet": "",
- "category:law": "",
+ "category:index": "Индекс категорий",
+ "category:infrastructure": "Инфраструктура",
+ "category:internet": "Доступ в интернет",
+ "category:law": "Юристы",
"category:leisure": "Досуг",
- "category:leisure_sport_shopping": "Досуг",
- "category:memorial": "",
+ "category:leisure_sport_shopping": "Досуг, спорт и магазины",
+ "category:memorial": "Памятники и монументы",
"category:military": "Вооружённые силы",
- "category:mtb-routes": "",
+ "category:mtb-routes": "Маршруты для горных велосипедов",
"category:natural": "Природные образования",
- "category:office": "",
- "category:oil_gas": "",
- "category:organisations": "",
+ "category:office": "Офисы",
+ "category:oil_gas": "Нефть и природный газ",
+ "category:organisations": "Организации",
"category:other": "Прочее",
- "category:outdoor": "",
- "category:phone": "",
+ "category:outdoor": "Мероприятия на природе",
+ "category:phone": "Телефон",
"category:places": "Места",
"category:places_geo": "Места",
- "category:playgrounds": "",
- "category:post": "",
- "category:power_routes": "",
- "category:pt": "",
- "category:pt:routes": "",
+ "category:playgrounds": "Детская площадка",
+ "category:post": "Почта",
+ "category:power_routes": "Маршруты энергетики",
+ "category:pt": "Карта общественного транспорта",
+ "category:pt:routes": "Маршруты",
"category:pt:stops": "Остановки и станции",
"category:pt_amenities": "Транспортные принадлежности",
"category:public": "Общественные места",
"category:railway": "Железные дороги",
- "category:railway-electrification": "",
- "category:railway-infrastructure": "",
- "category:railway-maxspeed": "",
- "category:railway-routes": "",
+ "category:railway-electrification": "Электрификация железных дорог",
+ "category:railway-gauge": "Железнодорожная колея",
+ "category:railway-infrastructure": "Железнодорожная инфраструктура",
+ "category:railway-maxspeed": "Максимальная скорость",
+ "category:railway-routes": "Железнодорожные маршруты",
"category:religion": "Религия",
- "category:renewables": "",
+ "category:renewables": "Возобновляемая",
"category:residential": "Жилые районы",
"category:resources": "Добыча ресурсов",
"category:services": "Услуги",
"category:shop": "Покупки",
- "category:special": "",
+ "category:special": "Специальное",
"category:sport": "Спорт",
- "category:swimming_bathing": "",
+ "category:swimming_bathing": "Бассейны и сауны",
"category:tourism_attractions": "Туризм",
"category:tourism_services": "Туризм",
"category:transport": "Транспорт",
- "category:transport_alternative": "Альтернативное передвижение (Велоспорт, Пешие прогулки, ...)",
+ "category:transport_alternative": "Альтернативное передвижение",
"category:transport_car": "Частный транспорт",
- "category:transport_cycle": "",
+ "category:transport_cycle": "Велосипедный",
"category:transport_pt": "Общественный транспорт",
- "category:transport_walk": "",
+ "category:transport_walk": "Пешеходный",
"category:walk_amenities": "",
"category:waste": "Переработка отходов",
- "category:water": "",
- "category:wikipedia": "",
+ "category:water": "Водоемы",
+ "category:wikipedia": "Википедия",
"category:works": "Промышленность",
- "category:xmas": "",
- "date format not understood": "",
- "outdated feature": "",
- "xmas:outdated-warning": ""
+ "category:xmas": "Рождество",
+ "date format not understood": "Неверный формат даты",
+ "outdated feature": "Устаревшие объекты",
+ "xmas:outdated-warning": "Объект не был обновлен в текущем сезоне! Пожалуйста, проверьте и установите текущую дату в теге 'xmas: lastcheck'."
}
diff --git a/lang/template.json b/lang/template.json
index c7952ee4..3affbef0 100644
--- a/lang/template.json
+++ b/lang/template.json
@@ -1,4 +1,5 @@
{
+ "Objects with diet information": "",
"category:administrative": "",
"category:agriculture": "",
"category:alternative_amenities": "",
@@ -60,6 +61,7 @@
"category:public": "",
"category:railway": "",
"category:railway-electrification": "",
+ "category:railway-gauge": "",
"category:railway-infrastructure": "",
"category:railway-maxspeed": "",
"category:railway-routes": "",
diff --git a/lang/uk.json b/lang/uk.json
index 4e36f3f4..2632f710 100644
--- a/lang/uk.json
+++ b/lang/uk.json
@@ -1,4 +1,5 @@
{
+ "Objects with diet information": "",
"category:administrative": "",
"category:agriculture": "",
"category:alternative_amenities": "Amenities",
@@ -60,6 +61,7 @@
"category:public": "Громадські місця",
"category:railway": "",
"category:railway-electrification": "",
+ "category:railway-gauge": "",
"category:railway-infrastructure": "",
"category:railway-maxspeed": "",
"category:railway-routes": "",
diff --git a/law.json b/law.json
index f670988c..a750264f 100644
--- a/law.json
+++ b/law.json
@@ -57,5 +57,13 @@
"sign": " ",
"zoom": 14
}
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "show_default": "true",
+ "type": "select",
+ "values": "{% for k, v in const %}{{ tagTrans(k) }} {% endfor %}"
+ }
}
}
diff --git a/memorial.json b/memorial.json
index 2022e21e..c80d1479 100644
--- a/memorial.json
+++ b/memorial.json
@@ -1,12 +1,5 @@
{
"type": "overpass",
- "name": {
- "de": "Denkmäler",
- "en": "Memorials",
- "fr": "Mémoriaux",
- "hu": "Emlékművek",
- "pt-br": "Memoriais"
- },
"query": {
"11": [
"(",
@@ -25,14 +18,34 @@
},
"feature": {
"pre": [
- "{% set value = tags.historic %}",
- "{% if tags.historic == 'memorial' and tags.memorial %}",
- " {% set value = tags.historic ~ ' memorial=' ~ tags.memorial %}",
- "{% elseif tags.historic == 'memorial' and attribute(tags, 'memorial:type') %}",
- " {% set value = tags.historic ~ ' memorial=' ~ attribute(tags, 'memorial:type') %}",
+ "{% set memtype = 'yes' %}",
+ "{% if tags.memorial %}",
+ " {% set memtype = tags.memorial %}",
+ "{% elseif attribute(tags, 'memorial:type') %}",
+ " {% set memtype = attribute(tags, 'memorial:type') %}",
+ "{% elseif attribute(tags, 'monument') %}",
+ " {% set memtype = attribute(tags, 'monument') %}",
+ "{% elseif attribute(tags, 'memorial_type') %}",
+ " {% set memtype = attribute(tags, 'memorial_type') %}",
+ "{% endif %}",
+ "",
+ "{% set memgroup = memtype %}",
+ "{% for value, data in const %}",
+ "{% if memtype in data.alias %}",
+ "{% set memgroup = value %}",
+ "{% endif %}",
+ "{% endfor %}"
+ ],
+ "description": [
+ "{{ tagTrans('historic', tags.historic) }}",
+ "",
+ "{% if memtype != 'yes' %}",
+ " ({{ tagTrans('memorial', memtype) }})",
"{% endif %}"
],
- "description": "{{ tagTransList('historic', value) }}",
+ "priority": [
+ "{% if tags.historic == 'monument' %}0[% else %}1{% endif %}"
+ ],
"body": [
"",
"{% if tags.inscription %}",
@@ -73,7 +86,7 @@
"{% endif %}",
" "
],
- "markerSign": "{{ const[value].sign|raw }}"
+ "markerSign": "{{ const[memgroup].sign|raw }}"
},
"info": [
"",
@@ -81,7 +94,7 @@
"{% if data.zoom <= map.zoom %}",
" ",
" {{ markerCircle({})|raw }}{{ data.sign|raw }}
",
- " {{ tagTrans('historic', value) }} ",
+ " {{ tagTrans('memorial', value) }} ",
" ",
"{% endif %}",
"{% endfor %}",
@@ -94,17 +107,111 @@
"
"
],
"const": {
- "memorial": {
- "sign": " ",
+ "plaque": {
+ "alias": [ "plate" ],
+ "sign": " ",
"zoom": 14
},
- "memorial memorial=plaque": {
+ "blue_plaque": {
+ "sign": " ",
+ "zoom": 14
+ },
+ "statue": {
+ "sign": " ",
+ "zoom": 14
+ },
+ "war_memorial": {
+ "alias": [ "war_monument" ],
+ "sign": " ",
+ "zoom": 14
+ },
+ "stolperstein": {
"sign": "",
"zoom": 14
},
- "monument": {
- "sign": " ",
- "zoom": 11
+ "stone": {
+ "sign": "",
+ "zoom": 14
+ },
+ "bust": {
+ "alias": [ "person", "public_person" ],
+ "sign": " ",
+ "zoom": 14
+ },
+ "stele": {
+ "sign": "",
+ "zoom": 14
+ },
+ "obelisk": {
+ "sign": "",
+ "zoom": 14
+ },
+ "sculpture": {
+ "sign": "",
+ "zoom": 14
+ },
+ "ghost_bike": {
+ "sign": " ",
+ "zoom": 14
+ },
+ "vehicle": {
+ "alias": [ "tank" ],
+ "sign": " ",
+ "zoom": 14
+ },
+ "cross": {
+ "sign": " ",
+ "zoom": 14
+ }
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "show_default": "true",
+ "type": "select",
+ "values": "{% for k, v in const %}{{ tagTrans('memorial', k) }} {% endfor %}"
+ },
+ "size": {
+ "name": "{{ keyTrans('memorial') }} | {{ keyTrans('monument') }}",
+ "type": "radio",
+ "values": "{{ trans('any value') }} \n{{ keyTrans('memorial') }} \n{{ keyTrans('monument') }} ",
+ "default": "*"
+ },
+ "conflict": {
+ "key": "memorial:conflict",
+ "op": "has",
+ "name": "{{ keyTrans('memorial:conflict') }}",
+ "type": "select",
+ "values": [
+ "WW1",
+ "WW2"
+ ],
+ "valueName": "{{ tagTrans('memorial:conflict', value) }}"
+ },
+ "civilization": {
+ "key": "historic:civilization",
+ "op": "has",
+ "name": "{{ keyTrans('historic:civilization') }}",
+ "type": "select",
+ "values": [
+ "ancient_egyptian",
+ "ancient_greek",
+ "ancient_roman",
+ "byzantine",
+ "celtic",
+ "etruscan",
+ "imperial_chinese",
+ "korean",
+ "medieval",
+ "modern",
+ "neolithic",
+ "nuragic",
+ "ottoman",
+ "prehistoric",
+ "roman",
+ "western_roman"
+ ],
+ "valueName": "{{ tagTrans('historic:civilization', value) }}"
}
}
}
diff --git a/natural.json b/natural.json
index 1e2d84c2..53749c3d 100644
--- a/natural.json
+++ b/natural.json
@@ -3,7 +3,7 @@
"name": {
"ast": "Formaciones naturales",
"cs": "Přírodní úkazy",
- "de": "Geographische Objekte",
+ "de": "Naturformationen",
"el": "Φυσικοί Σχηματισμοί",
"en": "Natural Formations",
"fr": "Éléments naturels",
@@ -19,21 +19,22 @@
"query": {
"9": [
"(",
- "node[natural~\"^(peak|volcano)$\"];",
+ "node[natural~\"^(peak|volcano|valley)$\"];",
")"
],
"13": [
"(",
- "node[natural~\"^(peak|volcano|wood|scrub|heath|grassland|fell|bare_rock|scree|shingle|sand|mud|water|wetland|glacier|bay|cape|beach|coastline|spring|hot_spring|geyser|valley|ridge|arete|cliff|saddle|rock|stone|sinkhole|cave_entrance)$\"];",
- "way[natural~\"^(peak|volcano|wood|scrub|heath|grassland|fell|bare_rock|scree|shingle|sand|mud|water|wetland|glacier|bay|cape|beach|coastline|spring|hot_spring|geyser|valley|ridge|arete|cliff|saddle|rock|stone|sinkhole|cave_entrance)$\"];",
- "relation[natural~\"^(peak|volcano|wood|scrub|heath|grassland|fell|bare_rock|scree|shingle|sand|mud|water|wetland|glacier|bay|cape|beach|coastline|spring|hot_spring|geyser|valley|ridge|arete|cliff|saddle|rock|stone|sinkhole|cave_entrance)$\"];",
+ "nwr[natural~\"^(peak|volcano|wood|glacier|cape|peninsula|beach|coastline|reef|hill|valley|ridge|arete|saddle|sinkhole|cave_entrance|isthmus)$\"];",
")"
],
"16": [
"(",
- "node[natural];",
- "way[natural];",
- "relation[natural];",
+ "nwr[natural][natural!~\"^(water|divide|bay|strait|spring|hot_spring|geyser|tree)$\"];",
+ ")"
+ ],
+ "18": [
+ "(",
+ "nwr[natural][natural!~\"^(water|divide|bay|strait|spring|hot_spring|geyser)$\"];",
")"
]
},
@@ -42,6 +43,243 @@
"{{ localizedTag(tags, 'name') | default(trans('unnamed')) }}",
"{% if tags.natural == 'peak' and tags.ele %}({{ tags.ele }}m){% endif %}"
],
- "description": "{{ tagTrans('natural', tags.natural) }}"
- }
+ "description": "{{ tagTrans('natural', tags.natural) }}",
+ "style": {
+ "color": "{{ const[tags.natural].color|default('#f2756a') }}"
+ },
+ "markerSign": "{{ const[tags.natural].sign|raw }} ",
+ "markerSymbol": "{{ markerPointer({ fillColor: const[tags.natural].color|default('#f2756a') })|raw }}",
+ "listMarkerSymbol": "{{ markerCircle({ fillColor: const[tags.natural].color|default('#f2756a') })|raw }}"
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "key": "natural",
+ "type": "select",
+ "show_default": "true",
+ "values": "{% set list = [] %}{% for k, v in const %}{% set list = list|merge([ k ]) %}{{ tagTrans('natural', k) }} {% endfor %}{{ trans('other') }} ",
+ "sort": "natsort",
+ "op": "has"
+ }
+ },
+ "const": {
+ "wood": {
+ "zoom": 13,
+ "sign": " ",
+ "color": "darkgreen",
+ "group": "vegetation"
+ },
+ "tree_row": {
+ "zoom": 16,
+ "sign": " ",
+ "color": "darkgreen",
+ "group": "vegetation"
+ },
+ "tree": {
+ "zoom": 18,
+ "sign": " ",
+ "color": "darkgreen",
+ "group": "vegetation"
+ },
+ "scrub": {
+ "zoom": 16,
+ "sign": "",
+ "color": "green",
+ "group": "vegetation"
+ },
+ "heath": {
+ "zoom": 16,
+ "sign": "",
+ "color": "green",
+ "group": "vegetation"
+ },
+ "moor": {
+ "zoom": 13,
+ "sign": "",
+ "color": "#8aba50",
+ "group": "vegetation"
+ },
+ "grassland": {
+ "zoom": 16,
+ "sign": "",
+ "color": "#00dd24",
+ "group": "vegetation"
+ },
+ "fell": {
+ "zoom": 16,
+ "sign": "",
+ "color": "#49ba91",
+ "group": "vegetation"
+ },
+ "bare_rock": {
+ "zoom": 16,
+ "sign": "",
+ "color": "#6f6f6f",
+ "group": "vegetation"
+ },
+ "scree": {
+ "zoom": 16,
+ "sign": "",
+ "color": "#6f6f6f",
+ "group": "vegetation"
+ },
+ "shingle": {
+ "zoom": 16,
+ "sign": "",
+ "color": "#6f6f6f",
+ "group": "vegetation"
+ },
+ "sand": {
+ "zoom": 16,
+ "sign": "",
+ "color": "#f9d199",
+ "group": "vegetation"
+ },
+ "mud": {
+ "zoom": 16,
+ "sign": " ",
+ "color": "#988b00",
+ "group": "vegetation"
+ },
+ "wetland": {
+ "zoom": 16,
+ "sign": " ",
+ "color": "#00baff",
+ "group": "water"
+ },
+ "glacier": {
+ "zoom": 13,
+ "sign": " ",
+ "color": "white",
+ "group": "water"
+ },
+ "cape": {
+ "zoom": 13,
+ "sign": "",
+ "color": "#1d7500",
+ "group": "water"
+ },
+ "peninsula": {
+ "zoom": 13,
+ "sign": "",
+ "color": "#1d7500",
+ "group": "water"
+ },
+ "beach": {
+ "zoom": 13,
+ "sign": " ",
+ "color": "#ff7f50",
+ "group": "water"
+ },
+ "coastline": {
+ "zoom": 13,
+ "sign": "",
+ "color": "blue",
+ "group": "water"
+ },
+ "reef": {
+ "zoom": 13,
+ "sign": "",
+ "color": "#005fbd",
+ "group": "water"
+ },
+ "peak": {
+ "zoom": 9,
+ "sign": " ",
+ "color": "#4f4f4f",
+ "group": "landform"
+ },
+ "hill": {
+ "zoom": 13,
+ "sign": "",
+ "color": "#4f4f4f",
+ "group": "landform"
+ },
+ "volcano": {
+ "zoom": 9,
+ "sign": "",
+ "color": "#cf3a00",
+ "group": "landform"
+ },
+ "valley": {
+ "zoom": 9,
+ "sign": "",
+ "color": "#1d7500",
+ "group": "landform"
+ },
+ "river_terrace": {
+ "zoom": 16,
+ "sign": "",
+ "color": "#a0a500",
+ "group": "landform"
+ },
+ "ridge": {
+ "zoom": 13,
+ "sign": "",
+ "color": "#4f4f4f",
+ "group": "landform"
+ },
+ "arete": {
+ "zoom": 13,
+ "sign": "",
+ "color": "#4f4f4f",
+ "group": "landform"
+ },
+ "cliff": {
+ "zoom": 16,
+ "sign": "",
+ "color": "#4f4f4f",
+ "group": "landform"
+ },
+ "saddle": {
+ "zoom": 13,
+ "sign": "",
+ "color": "#4f4f4f",
+ "group": "landform"
+ },
+ "rock": {
+ "zoom": 16,
+ "sign": "",
+ "color": "#4f4f4f",
+ "group": "landform"
+ },
+ "stone": {
+ "zoom": 16,
+ "sign": "",
+ "color": "#4f4f4f",
+ "group": "landform"
+ },
+ "sinkhole": {
+ "zoom": 13,
+ "sign": "",
+ "color": "#a0a500",
+ "group": "landform"
+ },
+ "cave_entrance": {
+ "zoom": 13,
+ "sign": "",
+ "color": "#000000",
+ "group": "landform"
+ },
+ "isthmus": {
+ "zoom": 13,
+ "sign": "",
+ "color": "#1d7500",
+ "group": "landform"
+ }
+ },
+ "info": [
+ "",
+ " {% for k, data in const %}",
+ " {% if data.zoom <= map.zoom %}",
+ " ",
+ " ",
+ " {{ markerCircle({ fillColor: data.color })|raw }}{{ data.sign|raw }}
",
+ " ",
+ " {{ tagTrans('natural', k) }} ",
+ " ",
+ " {% endif %}",
+ " {% endfor %}",
+ "
"
+ ]
}
diff --git a/office.json b/office.json
index b92ba345..c40cef77 100644
--- a/office.json
+++ b/office.json
@@ -43,5 +43,13 @@
"therapist": " ",
"travel_agent": " ",
"publisher": " "
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "show_default": "true",
+ "type": "select",
+ "values": "{% for k, v in const %}{{ tagTrans('office', k) }} {% endfor %}"
+ }
}
}
diff --git a/organisations.json b/organisations.json
index 1d73ea0c..f8ae3589 100644
--- a/organisations.json
+++ b/organisations.json
@@ -78,5 +78,13 @@
"sign": " ",
"zoom": 13
}
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "show_default": "true",
+ "type": "select",
+ "values": "{% for k, v in const %}{{ tagTrans(k) }} {% endfor %}"
+ }
}
}
diff --git a/places.json b/places.json
index 2ca3d019..29d554bd 100644
--- a/places.json
+++ b/places.json
@@ -34,5 +34,14 @@
"description": "{{ tagTrans('place', tags.place) }}",
"body": "{% if tags.population %}{{ keyTrans('population') }}: {{ tags.population }}{% endif %}",
"priority": "{% set priorities = { 'continent': 0, 'country': 1, 'state': 2, 'region': 3, 'city': 4, 'town': 5, 'village': 6, 'suburb': 7, 'hamlet': 8, 'quarter': 9, neighbourhood: 10, 'isolated_dwelling': 11, 'farm': 12 } %}{{ priorities[tags.place] }}"
+ },
+ "filter": {
+ "name": {
+ "key": [ "name", "name:*" ],
+ "name": "{{ keyTrans('name') }}",
+ "type": "text",
+ "change_on": "keyup",
+ "op": "strsearch"
+ }
}
}
diff --git a/power_routes.json b/power_routes.json
index 61c088ee..e90591c5 100644
--- a/power_routes.json
+++ b/power_routes.json
@@ -4,7 +4,7 @@
"en": "Power routes",
"fr": "Réseaux électriques",
"hu": "Távvezetékek",
- "pt-br": "Rotas de energia"
+ "pt-br": "Rotas energéticas"
},
"query": {
"10": "relation[type=route][route=power]"
diff --git a/pt.json b/pt.json
index fd517b59..ff9d2b45 100644
--- a/pt.json
+++ b/pt.json
@@ -224,12 +224,12 @@
],
"const": {
"train": {
- "sign": " ",
+ "sign": " ",
"zoom": 12,
"color": "#00007f"
},
"subway": {
- "sign": " ",
+ "sign": " ",
"zoom": 12,
"color": "#0000ff"
},
@@ -239,29 +239,45 @@
"color": "#006f8f"
},
"tram": {
- "sign": " ",
+ "sign": " ",
"zoom": 12,
"color": "#7f007f"
},
"bus": {
- "sign": " ",
+ "sign": " ",
"zoom": 12,
"color": "#af0000"
},
"trolleybus": {
- "sign": " ",
+ "sign": " ",
"zoom": 12,
"color": "#af3f00"
},
"aerialway": {
- "sign": " ",
+ "sign": " ",
"zoom": 12,
"color": "#00aaaa"
},
"ferry": {
- "sign": " ",
+ "sign": " ",
"zoom": 12,
"color": "#007fff"
}
+ },
+ "filter": {
+ "route": {
+ "type": "select",
+ "show_default": "true",
+ "valueName": "{{ tagTrans('route', value) }}",
+ "values": [
+ "aerialway",
+ "bus",
+ "ferry",
+ "subway",
+ "train",
+ "tram",
+ "trolleybus"
+ ]
+ }
}
}
diff --git a/public.json b/public.json
index 448fb310..3c95f11e 100644
--- a/public.json
+++ b/public.json
@@ -89,5 +89,13 @@
"amenity=townhall": " ",
"office=administration": " ",
"office=government": " "
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "show_default": "true",
+ "type": "select",
+ "values": "{% for k, v in const %}{{ tagTrans(k) }} {% endfor %}"
+ }
}
}
diff --git a/railway-electrification.json b/railway-electrification.json
index f54ba20c..66bb031b 100644
--- a/railway-electrification.json
+++ b/railway-electrification.json
@@ -10,28 +10,34 @@
},
"query": {
"11": "way[railway=rail][railway!~'^(platform|abandoned|disused|station|proposed|subway_entrance)$'][usage~'^(main|branch)$'];",
- "14": "way[railway][railway!~'^(platform|abandoned|disused|station|proposed|subway_entrance)$'];"
+ "14": "way[railway~'^(disused|construction|funicular|light_rail|miniature|monorail|narrow_gauge|preserved|rail|subway|tram)$'];"
},
"feature": {
"pre": [
"{% if tags.electrified and tags.electrified != 'no' %}",
- " {% if tags.voltage < 1000 %}",
- " {% set color = colorInterpolate([ '#00ff00', 'blue' ], tags.voltage / 1000) %}",
+ " {% if not tags.voltage is defined %}",
+ " {% set color = const.colorUnknown %}",
+ " {% elseif not tags.voltage|matches('^[0-9]+$') %}",
+ " {% set color = const.colorIllegal %}",
+ " {% elseif tags.voltage < const.range[1] %}",
+ " {% set color = colorInterpolate(const.scheme|slice(0, 2), tags.voltage / const.range[1]) %}",
" {% else %}",
- " {% set color = colorInterpolate([ 'blue', 'red' ], (tags.voltage - 1000) / 24000) %}",
+ " {% set color = colorInterpolate(const.scheme|slice(1, 2), (tags.voltage - const.range[1]) / (const.range[2] - const.range[1])) %}",
" {% endif %}",
+ "{% elseif tags.electrified and tags.electrified == 'no' %}",
+ " {% set color = const.colorNone %}",
"{% else %}",
- " {% set color='black' %}",
- "{%endif %}",
+ " {% set color = const.colorUnknown %}",
+ "{% endif %}",
"",
"{% if tags.service == 'yard' or tags.service == 'siding' or tags.service == 'spur' or tags.service == 'crossover' %}",
" {% set width=2 %}",
" {% else %}",
" {% if tags.railway == 'rail' %}",
" {% if tags.usage == 'main' or tags.usage == 'branch' %}",
- " {% set width=3 %}",
+ " {% set width=4 %}",
" {% else %}",
- " {% set width=2.5 %}",
+ " {% set width=3 %}",
" {% endif %}",
" {% else %}",
" {% set width=2 %}",
@@ -67,8 +73,8 @@
"opacity": "1",
"fill": null,
"dashArray": [
- "{% if not tags.electrified or tags.electrified == 'no' %}",
- "{% elseif tags.frequency == 0 %}",
+ "{% if not tags.electrified is defined %}",
+ "{% elseif not tags.frequency is defined or tags.frequency == 0 %}",
"{% else %}",
"5,2",
"{% endif %}"
@@ -78,41 +84,60 @@
"width": "{{ width }}",
"color": "white",
"opacity": "1",
+ "lineCap": "butt",
"fill": null
}
},
"info": [
"",
- " {% set color = '#000000' %}",
" ",
- " {{ markerLine({ 'width': 3, 'color': color })|raw }} ",
+ " {{ markerLine({ 'width': 3, 'color': const.colorNone })|raw }} ",
" {{ trans('not electrified') }} ",
" ",
- "{% for i in range(0, 1000, 200) %}",
- " {% set color = colorInterpolate([ '#00ff00', 'blue' ], i / 1000) %}",
+ "{% for i in range(0, const.range[1], const.infoSteps[0]) %}",
+ " {% set color = colorInterpolate(const.scheme|slice(0, 2), i / const.range[1]) %}",
" ",
" {{ markerLine({ 'width': 3, 'color': color })|raw }} ",
" {{ i }}V ",
" ",
"{% endfor %}",
"",
- "{% for i in range(3000, 25000, 2000) %}",
- " {% set color = colorInterpolate([ 'blue', 'red' ], (i - 1000) / 24000) %}",
+ "{% for i in range(const.range[1] + const.infoSteps[1], const.range[2], const.infoSteps[1]) %}",
+ " {% set color = colorInterpolate(const.scheme|slice(1, 2), (i - const.range[1]) / (const.range[2] - const.range[1])) %}",
" ",
" {{ markerLine({ 'width': 3, 'color': color })|raw }} ",
" {{ i }}V ",
" ",
"{% endfor %}",
"",
+ "{% set color = const.scheme[1] %}",
" ",
" {{ markerLine({ 'width': 3, 'color': color })|raw }} ",
- " {{ trans('direct current') }} ",
+ " {{ trans('tag:frequency=0') }} ",
" ",
"",
" ",
" {{ markerLine({ 'styles': [ 'casing', 'default' ], 'style:casing': { 'width': 3, 'color': 'white' }, 'style': { 'width': '3', 'dashArray': '5,2', 'lineCap': 'butt', 'color': color } })|raw }} ",
- " {{ trans('alternating current') }} ",
+ " {{ trans('tag:frequency>0') }} ",
+ " ",
+ "",
+ " ",
+ " {{ markerLine({ 'width': 3, 'color': const.colorUnknown })|raw }} ",
+ " {{ trans('unknown') }} ",
+ " ",
+ "",
+ " ",
+ " {{ markerLine({ 'width': 3, 'color': const.colorIllegal })|raw }} ",
+ " {{ trans('illegal value') }} ",
" ",
"
"
- ]
+ ],
+ "const": {
+ "range": [ 0, 1000, 25000 ],
+ "infoSteps": [ 200, 2000 ],
+ "scheme": [ "#00ff00", "#003fff", "#af0000" ],
+ "colorNone": "orange",
+ "colorUnknown": "#404040",
+ "colorIllegal": "#ff0000"
+ }
}
diff --git a/railway-gauge.json b/railway-gauge.json
new file mode 100644
index 00000000..e20de61f
--- /dev/null
+++ b/railway-gauge.json
@@ -0,0 +1,82 @@
+{
+ "type": "overpass",
+ "name": {
+ "en": "Railway gauge"
+ },
+ "query": {
+ "11": "way[railway=rail][railway!~'^(platform|abandoned|disused|station|proposed|subway_entrance)$'][usage~'^(main|branch)$'];",
+ "14": "way[railway~'^(disused|construction|funicular|light_rail|miniature|monorail|narrow_gauge|preserved|rail|subway|tram)$'];"
+ },
+ "feature": {
+ "pre": "{% set gauges = tags.gauge|split(';') %}",
+ "title": "{% if tags.ref %}{{ localizedTag(tags, 'ref') }} - {% endif %}{{ localizedTag(tags, 'name')|default(localizedTag(tags, 'operator'))|default(trans('unnamed')) }}",
+ "description": "{{ tags.gauge|default(trans('unknown'))|enumerate }}",
+ "body": [
+ "{{ tagTrans('railway', tags.railway) }} ",
+ "{% if tags.operator %}{{ keyTrans('operator') }}: {{ localizedTag(tags, 'operator') }} {% endif %}",
+ "{% if tags.usage %}{{ keyTrans('usage') }}: {{ tagTrans('usage', tags.usage)|default(trans('unknown')) }} {% endif %}",
+ "{% if tags.service %}{{ keyTrans('service') }}: {{ tagTrans('service', tags.service ) }} {% endif %}",
+ "{{ keyTrans('gauge') }}: {{ tags.gauge|default(trans('unknown'))|enumerate }} ",
+ "{% if tags.electrified == 'no' %}{{ keyTrans('electrified') }}: {{ tagTrans('electrified', 'no') }}{% elseif tags.electrified %}{{ keyTrans('electrified') }}: {{ tagTrans('electrified', tags.electrified) }}, {{ keyTrans('voltage') }}: {{ tags.voltage|default(trans('unknown')) }}, {{ keyTrans('frequency') }}: {{ tags.frequency|default(trans('unknown')) }} {% endif %}"
+ ],
+ "markerSymbol": null,
+ "listMarkerSymbol": "line",
+ "styles": "{% if gauges|length < 2 %}default{% else %}{% for i, v in gauges %}{% if i != 0 %},{% endif %}gauge{{ i }}{% endfor %}{% endif %}",
+ "style": {
+ "width": "3",
+ "color": "{% if tags.gauge %}{% if not tags.gauge|matches('^\\d+$') %}#ff0000{% else %}{{ colorInterpolate([ '#00ff00', '#0000ff' ], tags.gauge / 2000) }}{% endif %}{% else %}#404040{% endif %}"
+ },
+ "style:gauge0": {
+ "width": "3",
+ "lineCap": "butt",
+ "color": "{% if not gauges[0]|matches('^[0-9]+$') %}#ff0000{% else %}{{ colorInterpolate([ '#00ff00', '#0000ff' ], gauges[0] / 2000) }}{% endif %}",
+ "dashArray": "5,{{ (gauges|length - 1) * 5 }}"
+ },
+ "style:gauge1": {
+ "width": "3",
+ "lineCap": "butt",
+ "color": "{% if not gauges[1]|matches('^[0-9]+$') %}#ff0000{% else %}{{ colorInterpolate([ '#00ff00', '#0000ff' ], gauges[1] / 2000) }}{% endif %}",
+ "dashArray": "5,{{ (gauges|length - 1) * 5 }}",
+ "dashOffset": "5"
+ },
+ "style:gauge2": {
+ "width": "3",
+ "lineCap": "butt",
+ "color": "{% if not gauges[2]|matches('^\\d+$') %}#ff0000{% else %}{{ colorInterpolate([ '#00ff00', '#0000ff' ], gauges[2] / 2000) }}{% endif %}",
+ "dashArray": "5,{{ (gauges|length - 1) * 5 }}",
+ "dashOffset": "10"
+ },
+ "style:gauge3": {
+ "width": "3",
+ "lineCap": "butt",
+ "color": "{% if not gauges[3]|matches('^\\d+$') %}#ff0000{% else %}{{ colorInterpolate([ '#00ff00', '#0000ff' ], gauges[3] / 2000) }}{% endif %}",
+ "dashArray": "5,{{ (gauges|length - 1) * 5 }}",
+ "dashOffset": "15"
+ }
+ },
+ "info": [
+ "",
+ " {% set color = '#ff0000' %}",
+ " ",
+ " {{ markerLine({ 'width': 3, 'color': color })|raw }} ",
+ " {{ trans('illegal value') }} ",
+ " ",
+ " {% set color = '#404040' %}",
+ " ",
+ " {{ markerLine({ 'width': 3, 'color': color })|raw }} ",
+ " {{ trans('unknown') }} ",
+ " ",
+ "{% for i in range(0, 1800, 250) %}",
+ " {% set color = colorInterpolate([ '#00ff00', '#0000ff' ], i / 2000) %}",
+ " ",
+ " {{ markerLine({ 'width': 3, 'color': color })|raw }} ",
+ " {{ i }}mm ",
+ " ",
+ "{% endfor %}",
+ " ",
+ " {{ markerLine({ 'width': 3, 'color': '#0000ff' })|raw }} ",
+ " >2000mm ",
+ " ",
+ "
"
+ ]
+}
diff --git a/railway-maxspeed.json b/railway-maxspeed.json
index 1c756f21..111d5de1 100644
--- a/railway-maxspeed.json
+++ b/railway-maxspeed.json
@@ -10,7 +10,7 @@
},
"query": {
"11": "way[railway=rail][railway!~'^(platform|abandoned|disused|station|proposed|subway_entrance)$'][usage~'^(main|branch)$'];",
- "14": "way[railway][railway!~'^(platform|abandoned|disused|station|proposed|subway_entrance)$'];"
+ "14": "way[railway~'^(disused|construction|funicular|light_rail|miniature|monorail|narrow_gauge|preserved|rail|subway|tram)$'];"
},
"feature": {
"pre": [
diff --git a/religion.json b/religion.json
index b3e2c5ac..7e3c5aa7 100644
--- a/religion.json
+++ b/religion.json
@@ -83,14 +83,88 @@
" {{ keyTrans('denomination') }}: {{ tagTransList('denomination', tags.denomination) }} ",
"{% endif %}"
],
- "markerSign": [
- "{% if tags.religion == 'christian' %}✝",
- "{% elseif tags.religion == 'muslim' %}☪",
- "{% elseif tags.religion == 'buddhist' %}☸",
- "{% elseif tags.religion == 'hindu' %}ॐ",
- "{% elseif tags.religion == 'jewish' %}✡",
- "{% elseif tags.religion == 'pagan' %}☆",
- "{% endif %}"
- ]
+ "markerSign": "{{ const.religion[tags.religion] }}"
+ },
+ "const": {
+ "religion": {
+ "christian": "✝",
+ "muslim": "☪",
+ "buddhist": "☸",
+ "shinto": "",
+ "hindu": "ॐ",
+ "jewish": "✡",
+ "taoist": "",
+ "sikh": "",
+ "none": "",
+ "multifaith": "",
+ "unitarian_universialist": "",
+ "spiritualist": "",
+ "jain": "",
+ "voodoo": "",
+ "confucian": "",
+ "bahai": "",
+ "caodaism": "",
+ "tenrikyo": "",
+ "vietnamese_folk": "",
+ "pagan": "☆",
+ "scientologist": "",
+ "zoroastrian": "",
+ "pentecostal": "",
+ "shamanic": ""
+ }
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "show_default": "true",
+ "query": "nwr[{{ value }}]",
+ "type": "select",
+ "values": {
+ "place_of_worship": {
+ "name": "{{ tagTrans('amenity', 'place_of_worship') }}",
+ "query": "nwr[amenity=place_of_worship]"
+ },
+ "grave_yard": {
+ "name": "{{ tagTrans('amenity', 'grave_yard') }}",
+ "query": "nwr[amenity=grave_yard]"
+ },
+ "crematorium": {
+ "name": "{{ tagTrans('amenity', 'crematorium') }}",
+ "query": "nwr[amenity=crematorium]"
+ },
+ "cemetery": {
+ "name": "{{ tagTrans('landuse', 'cemetery') }}",
+ "query": "nwr[landuse=cemetery]"
+ },
+ "wayside_cross": {
+ "name": "{{ tagTrans('historic', 'wayside_cross') }}",
+ "query": "nwr[historic=wayside_cross]"
+ },
+ "wayside_shrine": {
+ "name": "{{ tagTrans('historic', 'wayside_shrine') }}",
+ "query": "nwr[historic=wayside_shrine]"
+ },
+ "wayside_chapel": {
+ "name": "{{ tagTrans('historic', 'wayside_chapel') }}",
+ "query": "nwr[historic=wayside_chapel]"
+ },
+ "parish": {
+ "name": "{{ tagTrans('office', 'parish') }}",
+ "query": "nwr[office=parish]"
+ },
+ "office": {
+ "name": "{{ tagTrans('office', 'religion') }}",
+ "query": "nwr[office=religion]"
+ }
+ }
+ },
+ "religion": {
+ "name": "{{ keyTrans('religion') }}",
+ "show_default": "true",
+ "type": "select",
+ "valueName": "{{ tagTrans('religion', value) }}",
+ "values": "{% set list = [] %}{% for t, v in const.religion %}{% set list = list|merge([ t ]) %}{{ tagTrans('religion', t) }} {% endfor %}{{ trans('other') }} ",
+ "op": "has"
+ }
}
}
diff --git a/roads.json b/roads.json
new file mode 100644
index 00000000..9d7fb331
--- /dev/null
+++ b/roads.json
@@ -0,0 +1,111 @@
+{
+ "type": "overpass",
+ "query": {
+ "10": "way[highway~'^(motorway|trunk)']",
+ "12": "way[highway~'^(motorway|trunk|primary)']",
+ "13": "way[highway~'^(motorway|trunk|primary|secondary)']",
+ "14": "way[highway~'^(motorway|trunk|primary|secondary|tertiary)']",
+ "15": "way[highway~'^(motorway|trunk|primary|secondary|tertiary|pedestrian|unclassified)']",
+ "16": "way[highway~'^(motorway|trunk|primary|secondary|tertiary|pedestrian|unclassified|residential)']",
+ "17": "way[highway~'^(motorway|trunk|primary|secondary|tertiary|pedestrian|unclassified|residential|living_street|service)']",
+ "18": "way[highway][highway!~'^(raceway|bus_guideway)$']"
+ },
+ "feature": {
+ "pre": [
+ "{% set highway = tags.highway %}{% set is_link = false %}",
+ "{% if tags.highway|matches('_link$') %}",
+ " {% set highway = tags.highway|slice(0, tags.highway|length - 5) %}{% set is_link = true %}",
+ "{% endif %}"
+ ],
+ "description": "{{ tagTrans('highway', tags.highway) }}",
+ "priority": "{{ const.priorities[highway]|default(50) + (is_link ? 0.5 : 0) }}",
+ "markerSymbol": "",
+ "listMarkerSymbol": "line",
+ "style": {
+ "width": "{{ is_link ? 2 : 4 }}",
+ "color": "{{ const.colors[highway]|default('#ff0000') }}",
+ "text": " {{ localizedTag(tags, 'name') }} ",
+ "textRepeat": "1",
+ "textFontWeight": "bold"
+ }
+ },
+ "info": [
+ "",
+ "{% for k, color in const.colors %}",
+ " {% if map.zoom >= const.zooms[k] %}",
+ " ",
+ " {{ markerLine({ \"width\": \"4\", \"color\": color })|raw }} ",
+ " {{ tagTrans('highway', k) }} ",
+ " ",
+ " {% endif %}",
+ "{% endfor %}",
+ " ",
+ " {{ markerLine({ \"width\": \"2\", \"color\": const.colors.motorway })|raw }} ",
+ " {{ tagTrans('highway', 'motorway_link') }} ",
+ " ",
+ " ",
+ " {{ markerLine({ \"width\": \"4\", \"color\": \"#ff0000\" })|raw }} ",
+ " {{ trans('invalid value') }} ",
+ " ",
+ "
"
+ ],
+ "const": {
+ "priorities": {
+ "motorway": 1,
+ "trunk": 2,
+ "primary": 10,
+ "secondary": 11,
+ "tertiary": 12,
+ "pedestrian": 20,
+ "unclassified": 21,
+ "residential": 22,
+ "living_street": 23,
+ "service": 24,
+ "track": 30,
+ "escape": 31,
+ "cycleway": 41,
+ "bridleway": 42,
+ "footway": 43,
+ "path": 44,
+ "steps": 45
+ },
+ "colors": {
+ "motorway": "#ff2f2f",
+ "trunk": "#ff4f4f",
+ "primary": "#ff7f00",
+ "secondary": "#ffaf00",
+ "tertiary": "#ffff00",
+ "pedestrian": "#ff00ff",
+ "unclassified": "#4f4fff",
+ "residential": "#7f4fff",
+ "living_street": "#af2fff",
+ "service": "#4f4f7f",
+ "track": "#bb6300",
+ "escape": "#bb3300",
+ "cycleway": "#7faf00",
+ "bridleway": "#00af7f",
+ "footway": "#00af00",
+ "path": "#007f00",
+ "steps": "#00af00"
+ },
+ "zooms": {
+ "motorway": 10,
+ "trunk": 10,
+ "primary": 12,
+ "secondary": 13,
+ "tertiary": 14,
+ "pedestrian": 15,
+ "unclassified": 15,
+ "residential": 16,
+ "living_street": 17,
+ "service": 17,
+ "track": 18,
+ "escape": 18,
+ "cycleway": 18,
+ "bridleway": 18,
+ "footway": 18,
+ "path": 18,
+ "steps": 18
+ }
+ }
+}
diff --git a/shop.json b/shop.json
index ce8c8cb4..b480f9e1 100644
--- a/shop.json
+++ b/shop.json
@@ -24,131 +24,375 @@
"16": "(node[shop];way[shop];relation[shop];);"
},
"feature": {
- "pre": "{% set shop0 = tags.shop|split(';')[0] %}{% set current = const.default %}{% for v in const.shops %}{% if shop0 in v.types %}{% set current = v %}{% endif %}{% endfor %}",
- "description": "{{ tagTransList('shop', tags.shop) }}",
- "markerSign": "{% set c = current.sign %}{% if c|slice(0, 3) == 'fa-' %} {% else %}{{ c|raw }}{% endif %}"
+ "pre": [
+ "{% set shop0 = tags.shop|split(';')[0] %}",
+ "{% set current = const.default %}",
+ "{% if const.shops[shop0] %}",
+ " {% set current = const.shops[shop0] %}",
+ "{% endif %}"
+ ],
+ "description": [
+ "{% if tags.shop == 'yes' %}",
+ " {{ keyTrans('shop') }}",
+ "{% else %}",
+ " {{ tagTransList('shop', tags.shop) }}",
+ "{% endif %}"
+ ],
+ "markerSign": [
+ "{% set c = current.sign %}",
+ "{% if c|slice(0, 4) == 'fas:' %}",
+ " ",
+ "{% elseif c|slice(0, 4) == 'far:' %}",
+ " ",
+ "{% elseif c|slice(0, 5) == 'maki:' %}",
+ " ",
+ "{% else %}",
+ " {{ c|raw }}",
+ "{% endif %}"
+ ],
+ "body": [
+ "",
+ " {% if tags.clothes %}",
+ " ",
+ " ",
+ " {{ keyTrans('clothes') }}: ",
+ " {{ tagTransList('clothes', tags.clothes) }} ",
+ " ",
+ " {% endif %}",
+ " "
+ ]
},
"const": {
"default": {
- "sign": "fa-shopping-bag"
+ "sign": "fas:shopping-bag"
},
- "shops": [
- {
- "types": [
- "alcohol",
- "beverages"
- ],
- "sign": "fa-beer"
- },
- {
- "types": [
- "baby_goods"
- ],
- "sign": "🚼"
- },
- {
- "types": [
- "bag",
- "general"
- ],
- "sign": "fa-shopping-bag"
- },
- {
- "types": [
- "bakery",
- "confectionery",
- "pastry"
- ],
- "sign": "fa-birthday-cake"
- },
- {
- "types": [
- "boutique",
- "clothes",
- "fabric",
- "fashion",
- "leather",
- "sewing",
- "tailor"
- ],
+ "shops": {
+ "vacant": {
+ "sign": "fas:times"
+ },
+ "alcohol": {
+ "sign": "fas:wine-bottle"
+ },
+ "wine": {
+ "sign": "fas:wine-bottle"
+ },
+ "beverages": {
+ "sign": "fas:wine-bottle"
+ },
+ "baby_goods": {
+ "sign": "fas:baby"
+ },
+ "bag": {
+ "sign": "fas:shopping-bag"
+ },
+ "general": {
+ "sign": "fas:shopping-bag"
+ },
+ "variety_store": {
+ "sign": "fas:shopping-bag"
+ },
+ "bakery": {
+ "sign": "fas:birthday-cake"
+ },
+ "confectionery": {
+ "sign": "fas:birthday-cake"
+ },
+ "pastry": {
+ "sign": "fas:birthday-cake"
+ },
+ "bicycle": {
+ "sign": "fas:bicycle"
+ },
+ "motorcycle": {
+ "sign": "fas:motorcycle"
+ },
+ "boutique": {
+ "sign": "👚"
+ },
+ "clothes": {
+ "sign": "👚"
+ },
+ "fabric": {
+ "sign": "👚"
+ },
+ "fashion": {
+ "sign": "👚"
+ },
+ "leather": {
+ "sign": "👚"
+ },
+ "sewing": {
+ "sign": "👚"
+ },
+ "tailor": {
"sign": "👚"
},
- {
- "types": [
- "butcher",
- "cheese",
- "chocolate",
- "deli",
- "dairy",
- "farm",
- "greengrocer",
- "pasta",
- "spices"
- ],
- "sign": "fa-cutlery"
- },
- {
- "types": [
- "coffee",
- "tea"
- ],
- "sign": "fa-coffee"
- },
- {
- "types": [
- "convenience"
- ],
- "sign": "fa-shopping-basket"
- },
- {
- "types": [
- "department_store",
- "mall"
- ],
- "sign": "fa-building"
- },
- {
- "types": [
- "hairdresser"
- ],
+ "dry_cleaning": {
+ "sign": "👚"
+ },
+ "sea_food": {
+ "sign": "fas:fish"
+ },
+ "butcher": {
+ "sign": "fas:utensils"
+ },
+ "cheese": {
+ "sign": "fas:utensils"
+ },
+ "chocolate": {
+ "sign": "fas:utensils"
+ },
+ "deli": {
+ "sign": "fas:utensils"
+ },
+ "dairy": {
+ "sign": "fas:utensils"
+ },
+ "farm": {
+ "sign": "fas:utensils"
+ },
+ "greengrocer": {
+ "sign": "fas:utensils"
+ },
+ "pasta": {
+ "sign": "fas:utensils"
+ },
+ "spices": {
+ "sign": "fas:utensils"
+ },
+ "coffee": {
+ "sign": "fas:coffee"
+ },
+ "tea": {
+ "sign": "fas:coffee"
+ },
+ "convenience": {
+ "sign": "fas:shopping-basket"
+ },
+ "department_store": {
+ "sign": "fas:building"
+ },
+ "mall": {
+ "sign": "fas:building"
+ },
+ "electronics": {
+ "sign": "fas:tv"
+ },
+ "computer": {
+ "sign": "fas:desktop"
+ },
+ "electrical": {
+ "sign": "fas:bolt"
+ },
+ "lighting": {
+ "sign": "fas:bulb"
+ },
+ "fishing": {
+ "sign": "fas:fish"
+ },
+ "toys": {
+ "sign": "fas:dice"
+ },
+ "florist": {
+ "sign": "🌷"
+ },
+ "garden_centre": {
+ "sign": "🌷"
+ },
+ "hairdresser": {
"sign": "👱"
},
- {
- "types": [
- "ice_cream"
- ],
- "sign": "🍨"
- },
- {
- "types": [
- "jewelry"
- ],
- "sign": "💍"
- },
- {
- "types": [
- "kiosk"
- ],
- "sign": "fa-newspaper-o"
- },
- {
- "types": [
- "shoes"
- ],
- "sign": "👟"
- },
- {
- "types": [
- "supermarket"
- ],
- "sign": "fa-shopping-cart"
- },
- {
- "types": [
- "watches"
- ],
- "sign": "⌚"
+ "ice_cream": {
+ "sign": "fas:ice-cream"
+ },
+ "jewelry": {
+ "sign": "fas:ring"
+ },
+ "kiosk": {
+ "sign": "fas:newspaper"
+ },
+ "newsagent": {
+ "sign": "fas:newspaper"
+ },
+ "shoes": {
+ "sign": "fas:shoe-prints"
+ },
+ "travel_agency": {
+ "sign": "🧳"
+ },
+ "supermarket": {
+ "sign": "fas:shopping-cart"
+ },
+ "watches": {
+ "sign": "far:clock"
+ },
+ "gift": {
+ "sign": "fas:gift"
+ },
+ "locksmith": {
+ "sign": "fas:key"
+ },
+ "houseware": {
+ "sign": "fas:tools"
+ },
+ "doityourself": {
+ "sign": "fas:tools"
+ },
+ "hardware": {
+ "sign": "fas:tools"
+ },
+ "art": {
+ "sign": "fas:palette"
+ },
+ "stationery": {
+ "sign": "fas:pencil-ruler"
+ },
+ "funeral_directors": {
+ "sign": "maki:monument"
+ },
+ "copyshop": {
+ "sign": "fas:copy"
+ },
+ "tobacco": {
+ "sign": "fas:smoking"
+ },
+ "furniture": {
+ "sign": "fas:couch"
+ },
+ "interior_decoration": {
+ "sign": "fas:couch"
+ },
+ "car_repair": {
+ "sign": "fas:car"
+ },
+ "car": {
+ "sign": "fas:car"
+ },
+ "car_parts": {
+ "sign": "fas:car"
+ },
+ "tyres": {
+ "sign": "fas:car"
+ },
+ "beauty": {
+ "sign": ""
+ },
+ "cosmetics": {
+ "sign": ""
+ },
+ "music": {
+ "sign": "fas:guitar"
+ },
+ "optician": {
+ "sign": "fas:glasses"
+ },
+ "books": {
+ "sign": "fas:book"
+ },
+ "sports": {
+ "sign": "fas:basketball-ball"
+ },
+ "chemist": {
+ "sign": "fas:tablets"
+ },
+ "pet": {
+ "sign": "fas:paw"
+ },
+ "photo": {
+ "sign": "fas:camera"
+ },
+ "ticket": {
+ "sign": "fas:ticket-alt"
+ },
+ "outdoor": {
+ "sign": "fas:campground"
+ },
+ "massage": {
+ "sign": ""
+ },
+ "paint": {
+ "sign": "fas:paint-roller"
+ },
+ "fabric": {
+ "sign": ""
+ },
+ "trade": {
+ "sign": "fas:tools"
+ },
+ "bookmaker": {
+ "sign": "fas:money-bill-wave"
+ },
+ "kitchen": {
+ "sign": "fas:utensils"
+ },
+ "second_hand": {
+ "sign": ""
+ },
+ "lottery": {
+ "sign": "fas:money-bill-wave"
+ },
+ "pawnbroker": {
+ "sign": "fas:money-bill-wave"
+ },
+ "bed": {
+ "sign": "fas:bed"
+ },
+ "charity": {
+ "sign": "fas:hand-holding-heart"
+ },
+ "tattoo": {
+ "sign": ""
+ },
+ "mobile_phone": {
+ "sign": "fas:mobile-alt"
}
+ },
+ "clothes": [
+ "women",
+ "men",
+ "leather",
+ "fur",
+ "underwear",
+ "children",
+ "wedding",
+ "sports",
+ "workwear",
+ "lingerie",
+ "babies",
+ "hats",
+ "fashion",
+ "suits",
+ "unisexs",
+ "traditional",
+ "costumes",
+ "bridal",
+ "oversize",
+ "swimwear",
+ "maternity",
+ "brand",
+ "military",
+ "vintage",
+ "accessories",
+ "schoolwear",
+ "motorcycle",
+ "denim"
]
+ },
+ "filter": {
+ "shop": {
+ "name": "{{ trans('filter:type') }}",
+ "type": "select",
+ "show_default": "true",
+ "values": "{% set list = [] %}{% for k, v in const.shops %}{% set list = list|merge([ k ]) %}{{ tagTrans('shop', k) }} {% endfor %}{{ trans('other') }} ",
+ "sort": "natsort",
+ "op": "has"
+ },
+ "clothes": {
+ "name": "{{ keyTrans('clothes') }}",
+ "type": "select",
+ "values": "{% set list = [] %}{{ trans('any value') }} {% for k in const.clothes %}{% set list = list|merge([ k ]) %}{{ tagTrans('clothes', k) }} {% endfor %}{{ trans('other') }} ",
+ "sort": "natsort",
+ "op": "has"
+ }
}
}
diff --git a/sport.json b/sport.json
index 2caadbc2..1133f890 100644
--- a/sport.json
+++ b/sport.json
@@ -56,7 +56,7 @@
"motocross": "🏍",
"motor": "🏎",
"rugby": "🏉",
- "rugby_leage": "🏉",
+ "rugby_league": "🏉",
"rugby_union": "🏉",
"running": "🏃",
"sailing": "⛵",
@@ -68,5 +68,13 @@
"tennis": "🎾",
"volleyball": "🏐",
"weightlifting": "🏋"
+ },
+ "filter": {
+ "sport": {
+ "name": "{{ keyTrans('sport') }}",
+ "type": "select",
+ "show_default": "true",
+ "values": "{% set list = [] %}{% for t, v in const %}{% set list = list|merge([ t ]) %}{{ tagTrans('sport', t) }} {% endfor %}{{ trans('other') }} "
+ }
}
}
diff --git a/swimming_bathing.json b/swimming_bathing.json
index def3505f..98e8aee6 100644
--- a/swimming_bathing.json
+++ b/swimming_bathing.json
@@ -139,5 +139,13 @@
"zoom": 16,
"sign": "🚿 "
}
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "type": "select",
+ "show_default": "true",
+ "values": "{% for k, v in const %}{{ tagTrans(k) }} {% endfor %}"
+ }
}
}
diff --git a/tourism_attractions.json b/tourism_attractions.json
index d69b2b45..8f22154b 100644
--- a/tourism_attractions.json
+++ b/tourism_attractions.json
@@ -56,5 +56,16 @@
"theme_park": " ",
"viewpoint": " ",
"zoo": "🦁"
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "show_default": "true",
+ "query": "nwr[{{ value }}]",
+ "type": "select",
+ "key": "tourism",
+ "values": "{% set list = [] %}{% for t, v in const %}{% set list = list|merge([ t ]) %}{{ tagTrans('tourism', t) }} {% endfor %}",
+ "op": "has"
+ }
}
}
diff --git a/tourism_services.json b/tourism_services.json
index 4901f18a..0a7f5dd7 100644
--- a/tourism_services.json
+++ b/tourism_services.json
@@ -141,5 +141,13 @@
"sign": "ℹ️",
"zoom": 16
}
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "show_default": "true",
+ "type": "select",
+ "values": "{% for k, v in const %}{{ trans('tag:' ~ k) }} {% endfor %}"
+ }
}
}
diff --git a/waste.json b/waste.json
index 08951428..a91c4aae 100644
--- a/waste.json
+++ b/waste.json
@@ -18,58 +18,67 @@
"13": [
"(",
"node[landuse=landfill];",
- "node[man_made=wastewater_plant];",
+ "node[man_made~\"^(wastewater_plant|incinerator)$\"];",
"node[amenity=recycling][recycling_type=centre];",
"way[landuse=landfill];",
- "way[man_made=wastewater_plant];",
+ "way[man_made~\"^(wastewater_plant|incinerator)$\"];",
"way[amenity=recycling][recycling_type=centre];",
"relation[landuse=landfill];",
- "relation[man_made=wastewater_plant];",
+ "relation[man_made~\"^(wastewater_plant|incinerator)$\"];",
"relation[amenity=recycling][recycling_type=centre];",
+ "nwr[amenity=waste_transfer_station];",
+ "nwr[power=generator][\"generator:source\"~\"^(.*;|)waste(;.*|)$\"];",
")"
],
"15": [
"(",
"node[landuse=landfill];",
- "node[man_made=wastewater_plant];",
- "node[amenity=recycling];",
+ "node[man_made~\"^(wastewater_plant|incinerator)$\"];",
+ "node[amenity~\"^(recycling|waste_disposal|waste_transfer_station)$\"];",
"way[landuse=landfill];",
- "way[man_made=wastewater_plant];",
- "way[amenity=recycling];",
+ "way[man_made~\"^(wastewater_plant|incinerator)$\"];",
+ "way[amenity~\"^(recycling|waste_disposal|waste_transfer_station)$\"];",
"relation[landuse=landfill];",
- "relation[man_made=wastewater_plant];",
- "relation[amenity=recycling];",
+ "relation[man_made~\"^(wastewater_plant|incinerator)$\"];",
+ "relation[amenity~\"^(recycling|waste_disposal|waste_transfer_station)$\"];",
+ "nwr[power=generator][\"generator:source\"~\"^(.*;|)waste(;.*|)$\"];",
")"
],
"18": [
"(",
"node[landuse=landfill];",
- "node[man_made=wastewater_plant];",
- "node[amenity~\"^(recycling|waste_basket)$\"];",
+ "node[man_made~\"^(wastewater_plant|incinerator)$\"];",
+ "node[amenity~\"^(recycling|waste_basket|waste_disposal|waste_transfer_station)$\"];",
"way[landuse=landfill];",
- "way[man_made=wastewater_plant];",
- "way[amenity=recycling];",
+ "way[man_made~\"^(wastewater_plant|incinerator)$\"];",
+ "way[amenity~\"^(recycling|waste_basket|waste_disposal|waste_transfer_station)$\"];",
"relation[landuse=landfill];",
- "relation[man_made=wastewater_plant];",
- "relation[amenity=recycling];",
+ "relation[man_made~\"^(wastewater_plant|incinerator)$\"];",
+ "relation[amenity~\"^(recycling|waste_basket|waste_disposal|waste_transfer_station)$\"];",
+ "nwr[power=generator][\"generator:source\"~\"^(.*;|)waste(;.*|)$\"];",
")"
]
},
"feature": {
"pre": [
+ "{% set add = '' %}",
"{% if tags.landuse == 'landfill' %}",
" {% set key = 'landuse' %}",
" {% set value = tags.landuse %}",
- "{% elseif tags.man_made == 'wastewater_plant' %}",
+ "{% elseif tags.man_made in [ 'incinerator', 'wastewater_plant' ] %}",
" {% set key = 'man_made' %}",
" {% set value = tags.man_made %}",
- "{% elseif tags.amenity == 'recycling' or tags.amenity == 'waste_basket' %}",
+ "{% elseif tags.amenity in [ 'recycling', 'waste_basket', 'waste_disposal', 'waste_transfer_station' ] %}",
" {% set key = 'amenity' %}",
" {% set value = tags.amenity %}",
+ "{% elseif tags.power == 'generator' %}",
+ " {% set key = 'power' %}",
+ " {% set value = tags.power %}",
+ " {% set add = '(' ~ tagTransList('generator:source', attribute(tags, 'generator:source')) ~ ')' %}",
"{% endif %}",
"{% set kv = key ~ '=' ~ value %}"
],
- "description": "{{ tagTrans(key, value) }}",
+ "description": "{{ tagTrans(key, value) }} {{ add }}",
"body": [
"{% if tags.recycling_type %}",
"{{ keyTrans('recycling_type') }}: {{ tagTrans('recycling_type', tags.recycling_type) }}",
@@ -89,7 +98,7 @@
" {% set value = kv|split('=')[1] %}",
" ",
" {{ markerCircle({})|raw }}{{ data.sign|raw }}
",
- " {{ tagTrans('leisure', value) }} ",
+ " {{ tagTrans(key, value) }}{% if data.add %} ({{ trans(data.add) }}){% endif %} ",
" ",
" {% endif %}",
"{% endfor %}",
@@ -102,11 +111,28 @@
"const": {
"amenity=recycling": {
"minZoom": 13,
- "sign": " "
+ "sign": " "
+ },
+ "man_made=wastewater_plant": {
+ "minZoom": 13,
+ "sign": " "
+ },
+ "man_made=incinerator": {
+ "minZoom": 13,
+ "sign": " "
+ },
+ "power=generator": {
+ "minZoom": 13,
+ "sign": " ",
+ "add": "tag:generator:source=waste"
+ },
+ "amenity=waste_disposal": {
+ "minZoom": 15,
+ "sign": " "
},
"amenity=waste_basket": {
"minZoom": 18,
- "sign": " "
+ "sign": " "
}
}
}
diff --git a/water.json b/water.json
index a2d7f221..1b086730 100644
--- a/water.json
+++ b/water.json
@@ -12,111 +12,258 @@
"10": [
"(",
"way[waterway~\"^(river|canal)$\"];",
- "way[natural~\"^(divide)$\"];",
+ "nwr[natural~\"^(divide|bay|strait)$\"];",
"way[natural=water][water~\"^(lake|lagoon|reservoir|canal)$\"];",
"relation[natural=water][type=multipolygon][water~\"^(lake|lagoon|reservoir|canal)$\"];",
")"
],
"13": [
"(",
- "node[natural~\"^(water|divide)$\"];",
- "way[natural~\"^(water|divide)$\"];",
+ "nwr[natural~\"^(water|divide|bay|strait|spring|hot_spring|geyser)$\"];",
"relation[type=multipolygon][natural=water];",
"relation[type=multipolygon][waterway=riverbank];",
- "way[waterway];",
+ "nwr[waterway];",
")"
]
},
"feature": {
- "description": [
+ "pre": [
"{% if tags.waterway %}",
- "{{ tagTrans('waterway', tags.waterway) }}",
+ " {% set key = 'waterway' %}",
+ " {% set value = tags.waterway %}",
"{% elseif tags.water %}",
- "{{ tagTrans('water', tags.water) }}",
+ " {% set key = 'water' %}",
+ " {% set value = tags.water %}",
"{% elseif tags.natural %}",
- "{{ tagTrans('natural', tags.natural) }}",
+ " {% set key = 'natural' %}",
+ " {% set value = tags.natural %}",
+ "{% endif %}",
+ "{% set kv = key ~ '=' ~ value %}",
+ "{% set data = const[kv]|default(const['natural=water']) %}"
+ ],
+ "description": [
+ "{{ tagTrans(key, value) }}"
+ ],
+ "body": [
+ "",
+ "{% if tags.intermittent %}",
+ " ",
+ " ",
+ " {{ keyTrans('intermittent') }}: ",
+ " {{ tagTrans('intermittent', tags.intermittent) }} ",
+ "{% endif %}",
+ " "
+ ],
+ "markerSign": [
+ "{{ const[kv].sign|raw }}"
+ ],
+ "markerSymbol": [
+ "{% if data.symbol == 'pointer' %}",
+ "{{ markerPointer({ fillColor: '#3388ff' })|raw }}",
"{% endif %}"
],
- "markerSymbol": null,
"listMarkerSymbol": [
- "{% if tags.natural == 'water' %}",
+ "{% if data.symbol == 'pointer' %}",
+ "{{ markerCircle({ fillColor: '#3388ff' })|raw }}",
+ "{% elseif data.symbol == 'polygon' %}",
"polygon",
"{% else %}",
"line",
"{% endif %}"
],
- "priority": [
- "{% if tags.natural == 'divide' %}",
- "0",
- "{% elseif tags.natural == 'water' and tags.water in ['lake', 'lagoon', 'reservoir', 'canal'] %}",
- "0",
- "{% elseif tags.waterway == 'river' %}",
- "1",
- "{% elseif tags.waterway == 'stream' or tags.waterway == 'drain' %}",
- "3",
- "{% elseif tags.waterway == 'ditch' %}",
- "5",
- "{% else %}",
- "2",
- "{% endif %}"
- ],
+ "priority": "{{ data.priority }}",
"style": {
- "width": [
- "{% if tags.waterway == 'river' %}",
- "4",
- "{% elseif tags.waterway == 'stream' or tags.waterway == 'drain' %}",
- "2",
- "{% elseif tags.waterway == 'ditch' %}",
- "1",
- "{% else %}",
- "3",
- "{% endif %}"
- ],
- "color": [
- "{% if tags.natural == 'divide' %}",
- "#ff0000",
- "{% elseif tags.waterway in [ 'dam', 'weir' ] %}",
- "#000000",
- "{% else %}",
- "#3388ff",
- "{% endif %}"
- ],
+ "width": "{{ data.style.width }}",
+ "color": "{{ data.style.color }}",
"text": [
- "{% if type=='way' and tags.waterway in [ 'river', 'stream', 'canal', 'ditch', 'wadi', 'drystream', 'drain' ] %}",
+ "{% if data.text %}",
"{{ tags.name }} ➔ ",
"{% endif %}"
],
- "textRepeat": "1"
+ "textRepeat": "1",
+ "dashArray": "{% if tags.intermittent == 'yes' %}5,5{% endif %}",
+ "lineCap": "{% if tags.intermittent == 'yes' %}butt{% else %}round{% endif %}"
+ }
+ },
+ "const": {
+ "natural=water": {
+ "zoom": 10,
+ "symbol": "polygon",
+ "style": {
+ "width": 3,
+ "color": "#3388ff"
+ },
+ "priority": 2
+ },
+ "water=lake": {
+ "zoom": 10,
+ "symbol": "polygon",
+ "style": {
+ "width": 3,
+ "color": "#3388ff"
+ },
+ "hideInfo": true,
+ "priority": 0
+ },
+ "water=lagoon": {
+ "zoom": 10,
+ "symbol": "polygon",
+ "style": {
+ "width": 3,
+ "color": "#3388ff"
+ },
+ "hideInfo": true,
+ "priority": 0
+ },
+ "water=reservoir": {
+ "zoom": 10,
+ "symbol": "polygon",
+ "style": {
+ "width": 3,
+ "color": "#3388ff"
+ },
+ "hideInfo": true,
+ "priority": 0
+ },
+ "waterway=river": {
+ "zoom": 10,
+ "symbol": "line",
+ "style": {
+ "width": 4,
+ "color": "#3388ff"
+ },
+ "text": true,
+ "priority": 1
+ },
+ "waterway=canal": {
+ "alias": [
+ "water=canal"
+ ],
+ "zoom": 10,
+ "symbol": "line",
+ "style": {
+ "width": 4,
+ "color": "#3388ff"
+ },
+ "text": true,
+ "priority": 1
+ },
+ "waterway=stream": {
+ "zoom": 13,
+ "symbol": "line",
+ "style": {
+ "width": 2,
+ "color": "#3388ff"
+ },
+ "text": true,
+ "priority": 3
+ },
+ "waterway=drain": {
+ "zoom": 13,
+ "symbol": "line",
+ "style": {
+ "width": 2,
+ "color": "#3388ff"
+ },
+ "text": true,
+ "priority": 3
+ },
+ "waterway=ditch": {
+ "zoom": 13,
+ "symbol": "line",
+ "style": {
+ "width": 1,
+ "color": "#3388ff"
+ },
+ "text": true,
+ "priority": 5
+ },
+ "natural=spring": {
+ "sign": " ",
+ "zoom": 13,
+ "symbol": "pointer"
+ },
+ "natural=hot_spring": {
+ "sign": " ",
+ "zoom": 13,
+ "symbol": "pointer"
+ },
+ "natural=geyser": {
+ "sign": " ",
+ "zoom": 13,
+ "symbol": "pointer"
+ },
+ "waterway=waterfall": {
+ "sign": " ",
+ "zoom": 13,
+ "symbol": "pointer"
+ },
+ "waterway=dam": {
+ "zoom": 13,
+ "symbol": "line",
+ "style": {
+ "width": 3,
+ "color": "#000000"
+ },
+ "priority": 3
+ },
+ "waterway=weir": {
+ "zoom": 13,
+ "symbol": "line",
+ "style": {
+ "width": 3,
+ "color": "#000000"
+ },
+ "priority": 3
+ },
+ "natural=divide": {
+ "zoom": 10,
+ "symbol": "line",
+ "style": {
+ "width": 3,
+ "color": "#ff0000"
+ },
+ "text": true,
+ "priority": 0
+ }
+ },
+ "filter": {
+ "type": {
+ "name": "{{ trans('filter:type') }}",
+ "key": "natural",
+ "type": "select",
+ "show_default": "true",
+ "values": "{% for k, data in const %}{{ tagTrans(k) }} {% endfor %}",
+ "sort": "natsort"
+ },
+ "intermittent": {
+ "name": "{{ keyTrans('intermittent') }}",
+ "key": "intermittent",
+ "type": "radio",
+ "values": "{{ tagTrans('intermittent', 'yes') }} {{ tagTrans('intermittent', 'no') }} "
}
},
"info": [
"",
+ " {% for k, data in const %}",
+ " {% if not data.hideInfo and data.zoom <= map.zoom %}",
+ " ",
+ " ",
+ " {% if data.symbol == 'pointer' %}",
+ " {{ markerCircle({ fillColor: '#3388ff' })|raw }}{{ data.sign|raw }}
",
+ " {% elseif data.symbol == 'polygon' %}",
+ " {{ markerPolygon(data.style)|raw }}",
+ " {% elseif data.symbol == 'line' %}",
+ " {{ markerLine(data.style)|raw }}",
+ " {% endif %}",
+ " ",
+ " {{ tagTrans(k) }} ",
+ " ",
+ " {% endif %}",
+ " {% endfor %}",
" ",
- " {{ markerPolygon(evaluate({ \"natural\": \"water\" }))|raw }} ",
- " {{ tagTrans('natural', 'water') }} ",
- " ",
- " ",
- " {{ markerLine(evaluate({ \"waterway\": \"river\" }))|raw }} ",
- " {{ tagTrans('waterway', 'river') }},",
- " {{ tagTrans('waterway', 'canal') }} ",
- " ",
- "{% if map.zoom >= 13 %}",
- " ",
- " {{ markerLine(evaluate({ \"waterway\": \"stream\" }))|raw }} ",
- " {{ tagTrans('waterway', 'stream') }}, {{ tagTrans('waterway', 'drain') }} ",
- " ",
- " ",
- " {{ markerLine(evaluate({ \"waterway\": \"ditch\" }))|raw }} ",
- " {{ tagTrans('waterway', 'ditch') }} ",
- " ",
- " ",
- " {{ markerLine(evaluate({ \"waterway\": \"dam\" }))|raw }} ",
- " {{ tagTrans('waterway', 'dam') }}, {{ tagTrans('waterway', 'weir') }} ",
- " ",
- "{% endif %}",
- " ",
- " {{ markerLine(evaluate({ \"natural\": \"divide\" }))|raw }} ",
- " {{ tagTrans('natural', 'divide') }} ",
+ " {{ markerLine({ width: 3, color: '#3388ff', dashArray: '5,5', lineCap: 'butt' })|raw }} ",
+ " {{ keyTrans('intermittent') }} ",
" ",
"
"
]
diff --git a/works.json b/works.json
index b9d6bca2..dec86ab6 100644
--- a/works.json
+++ b/works.json
@@ -11,7 +11,7 @@
"ja": "工場",
"nl": "Fabrieken",
"pt": "Fábricas",
- "pt-br": "Fábricas",
+ "pt-br": "Produção",
"ru": "Промышленность"
},
"query": {