Compare commits

...

45 Commits

Author SHA1 Message Date
Stephan Bösch-Plepelits 7c3c32c692 Entrances (unfin) 4 years ago
Stephan Bösch-Plepelits 4fa537276b buildings-type: support building=construction, construction=* 4 years ago
Stephan Bösch-Plepelits 36ca0e95fd buildings-type: support multi values; exclude building=no 4 years ago
Stephan Bösch-Plepelits b164985944 buildings-type: add many types 4 years ago
Stephan Bösch-Plepelits b388e23cef buildings-type: unfin 4 years ago
Stephan Bösch-Plepelits a66c807f62 buildings-height: similar markers as in building age 4 years ago
Stephan Bösch-Plepelits 6053d2e119 buildings-type: unfin 4 years ago
Stephan Bösch-Plepelits c121c07ee7 Building Start Date: Improvements 4 years ago
Stephan Bösch-Plepelits 913ca61616 Buildings: import start_date category from other repository 4 years ago
Stephan Bösch-Plepelits aea862cb40 Buildings: height 4 years ago
Stephan Bösch-Plepelits 9a818b3a49 Buildings: create a real 'figure-ground diagram' as sub category of buildings 4 years ago
Stephan Bösch-Plepelits 5412b0b57e Bugfixes (API adaption) 4 years ago
Stephan Bösch-Plepelits b3500f5491 Tourism Services: bugfix (API adaption) 4 years ago
Stephan Bösch-Plepelits 3ed43d7f7d
Cycle Amenities: show charging stations from z13 4 years ago
Stephan Bösch-Plepelits 318e97494e Craft: new category 4 years ago
Stephan Bösch-Plepelits 80a07e84aa Car / Cycle Amenities: include ev charging stations 4 years ago
Stephan Bösch-Plepelits b6707d9d62 Historic: center icon of memorials 5 years ago
Stephan Bösch-Plepelits baaf77be4d gastro-smoking: update lang fr 5 years ago
Stephan Bösch-Plepelits b072f74489
Merge pull request #9 from Cybereric/patch-5 5 years ago
Cybereric 4320c21324
Smoking free category FR translation 5 years ago
Stephan Bösch-Plepelits a58a5ae4dd Update translations 5 years ago
Stephan Bösch-Plepelits 256d9630e4 Merge remote-tracking branch 'origin/master' 5 years ago
Stephan Bösch-Plepelits 65cd20ab6f
Merge pull request #8 from Cybereric/patch-4 5 years ago
Cybereric b8dcb0e4e1
Better french translations 5 years ago
Stephan Bösch-Plepelits 82ad789095 Index: move gastro-smoking to special 5 years ago
Stephan Bösch-Plepelits 6f91f00762 Gastronomy Smoking: new category! 5 years ago
Stephan Bösch-Plepelits 6d373b0066 Health: handle tag keys (drawback: duplicate entries in info) 5 years ago
Stephan Bösch-Plepelits ad500f33c1 Emergency: use emergency=phone instead amenity=emergency_phone 5 years ago
Stephan Bösch-Plepelits 8cfdc2c23c Culture and Religion: fix title (en, fr) 5 years ago
Stephan Bösch-Plepelits d976bb063d Import category titles from translation (fr) 5 years ago
Stephan Bösch-Plepelits 9687b637b9 Merge branch 'master' of github.com:plepe/openstreetbrowser-categories-main 5 years ago
Stephan Bösch-Plepelits c96f2c0c53
Merge pull request #6 from Cybereric/patch-2 5 years ago
Cybereric a0b6ccb06e
Categories update 5 years ago
Stephan Bösch-Plepelits b4897eadd2 Agriculture: priorities 5 years ago
Stephan Bösch-Plepelits 411044a164 Translations: add template.json file 5 years ago
Stephan Bösch-Plepelits 22c878b47c Import category titles from translation (pt-br) 5 years ago
Stephan Bösch-Plepelits 73ca7808fb
Merge pull request #5 from IgorEliezer/patch-1 5 years ago
Igor Eliezer 8ff6fde7be
Fix missing comma 5 years ago
Igor Eliezer a567b73d1a
Create pt-br.json 5 years ago
Stephan Bösch-Plepelits 6e50207339 Update 'culture_religion.json' 5 years ago
Stephan Bösch-Plepelits ed68cdb2a3 Import category titles from translation (fr) 5 years ago
Stephan Bösch-Plepelits 91ceada260 Merge remote-tracking branch 'origin/master' 5 years ago
Stephan Bösch-Plepelits 7b7bf9f422
Merge pull request #4 from Cybereric/patch-1 5 years ago
Cybereric c6c77239ab
Update fr.json 5 years ago
Cybereric 11b84e3c9c
Update fr.json 5 years ago
  1. 1
      administrative.json
  2. 14
      agriculture.json
  3. 1
      alternative_amenities.json
  4. 1
      alternative_routes.json
  5. 24
      buildings-entrances.json
  6. 37
      buildings-figure-ground.json
  7. 104
      buildings-height.json
  8. 120
      buildings-start_date.json
  9. 121
      buildings-type.json
  10. 49
      buildings.json
  11. 8
      car_amenities.json
  12. 3
      car_furniture.json
  13. 3
      car_maxspeed.json
  14. 3
      children.json
  15. 1
      communication.json
  16. 3
      construction.json
  17. 73
      craft.json
  18. 1
      culture.json
  19. 5
      culture_religion.json
  20. 9
      cycle_amenities.json
  21. 3
      cycle_routes.json
  22. 3
      education.json
  23. 29
      emergency.json
  24. 5
      financial.json
  25. 67
      gastro-smoking.json
  26. 3
      gastro.json
  27. 34
      health.json
  28. 4
      hiking_routes.json
  29. 3
      historic.json
  30. 37
      index.json
  31. 2
      internet.json
  32. 2
      lang/ast.json
  33. 2
      lang/ca.json
  34. 2
      lang/cs.json
  35. 2
      lang/de.json
  36. 2
      lang/el.json
  37. 4
      lang/en.json
  38. 2
      lang/es.json
  39. 2
      lang/et.json
  40. 58
      lang/fr.json
  41. 2
      lang/hu.json
  42. 2
      lang/it.json
  43. 2
      lang/ja.json
  44. 2
      lang/nl.json
  45. 2
      lang/pl.json
  46. 68
      lang/pt-br.json
  47. 2
      lang/ro.json
  48. 2
      lang/ru.json
  49. 68
      lang/template.json
  50. 2
      lang/uk.json
  51. 1
      leisure.json
  52. 1
      military.json
  53. 3
      natural.json
  54. 3
      other.json
  55. 2
      phone.json
  56. 1
      places.json
  57. 1
      places_geo.json
  58. 1
      playgrounds.json
  59. 3
      post.json
  60. 1
      power.json
  61. 1
      pt_amenities.json
  62. 3
      pt_routes.json
  63. 1
      pt_stops.json
  64. 1
      public.json
  65. 3
      railway-electrification.json
  66. 3
      railway-infrastructure.json
  67. 1
      religion.json
  68. 1
      residential.json
  69. 1
      resources.json
  70. 3
      shop.json
  71. 5
      sport.json
  72. 5
      tourism_attractions.json
  73. 7
      tourism_services.json
  74. 3
      walk_amenities.json
  75. 3
      waste.json
  76. 3
      water.json
  77. 4
      wikipedia.json
  78. 3
      works.json

1
administrative.json

@ -11,6 +11,7 @@
"hu": "Adminisztratív határok",
"it": "Suddivisioni amministrative",
"nl": "Administratieve gebieden",
"pt-br": "Divisão Político-Administrativa",
"ro": "Zona administrativa",
"ru": "Административные границы"
},

14
agriculture.json

@ -12,6 +12,7 @@
"it": "Agricoltura",
"ja": "農業",
"nl": "Landbouw",
"pt-br": "Agricultura",
"ro": "Agricultura",
"ru": "Сельское хозяйство"
},
@ -25,6 +26,15 @@
]
},
"feature": {
"description": "{{ tagTrans('landuse', tags.landuse) }}"
"description": "{{ tagTrans('landuse', tags.landuse) }}",
"priority": [
"{% if tags.landuse == 'farmyard' %}",
"0",
"{% elseif tags.landuse == 'allotments' %}",
"1",
"{% else %}",
"2",
"{% endif %}"
]
}
}
}

1
alternative_amenities.json

@ -8,6 +8,7 @@
"it": "Infrastrutture",
"ja": "生活環境",
"nl": "Voorzieningen",
"pt-br": "Equipamentos",
"ru": "Полезные места",
"uk": "Amenities"
}

1
alternative_routes.json

@ -8,6 +8,7 @@
"it": "Itinerari segnalati",
"ja": "ルート",
"nl": "Alternatieve routes",
"pt-br": "Rotas",
"ru": "Маршруты",
"uk": "Маршрути"
}

24
buildings-entrances.json

@ -0,0 +1,24 @@
{
"type": "overpass",
"name": {
"de": "Eingänge",
"en": "Entrances"
},
"query": {
"16": [
"(",
" node[entrance];",
" node[building=entrance];",
")"
]
},
"feature": {
"description": [
"{% if tags.entrance == 'yes' or (not tags.entrance and tags.building == 'entrance') %}",
"{{ keyTrans('entrance') }}",
"{% else %}",
"{{ tagTrans('entrance', tags.entrance) }}",
"{% endif %}"
]
}
}

37
buildings-figure-ground.json

@ -0,0 +1,37 @@
{
"type": "overpass",
"name": {
"de": "Schwarzplan",
"en": "Figure-ground diagram"
},
"query": {
"16": [
"(",
" way[building];",
" relation[building];",
")"
]
},
"feature": {
"markerSymbol": null,
"priority": [
"{% set p = 100 %}",
"{% if tags.name %}{% set p = p - 10 %}{% endif %}",
"{% if tags.amenity %}{% set p = p - 1 %}{% endif %}",
"{% if tags.historic %}{% set p = p - 1 %}{% endif %}",
"{% if tags.culture %}{% set p = p - 1 %}{% endif %}",
"{% if tags.highway %}{% set p = p - 1 %}{% endif %}",
"{% if tags.railway %}{% set p = p - 1 %}{% endif %}",
"{% if tags.aeroway %}{% set p = p - 1 %}{% endif %}",
"{% if tags.amenity %}{% set p = p - 1 %}{% endif %}",
"{% if tags.tourism %}{% set p = p - 1 %}{% endif %}",
"{{ p }}"
],
"style": {
"width": "0",
"color": "#000000",
"fillColor": "#000000",
"fillOpacity": "1"
}
}
}

104
buildings-height.json

@ -0,0 +1,104 @@
{
"type": "overpass",
"name": {
"de": "Gebäudehöhen",
"en": "Building height"
},
"query": {
"16": [
"(",
" way[building];",
" relation[building];",
")"
]
},
"feature": {
"pre": [
"{% if tags.height is defined %}",
"{% set approxHeight = tags.height %}",
"{% elseif attribute(tags, 'building:levels') is defined %}",
"{% set approxHeight = attribute(tags, 'building:levels') * 3.5 %}",
"{% endif %}",
"",
"{% if approxHeight <= 50 %}",
"{% set color = colorInterpolate(['green', 'red'], approxHeight / 50) %}",
"{% elseif approxHeight %}",
"{% set color = colorInterpolate(['red', 'yellow'], (approxHeight - 50) / 250) %} ",
"{% else %}",
"{% set color = '#7f7f7f' %}",
"{% endif %}"
],
"description": [
"{% if tags.height is defined %}",
"{{ tags.height }}m",
"{% endif %}",
"",
"{% if attribute(tags, 'building:levels') is defined %}",
"{{ attribute(tags, 'building:levels') }} {{ keyTrans('building:levels') }}",
"{% endif %}"
],
"markerSymbol": null,
"listMarkerSymbol": "{{ markerPolygon({\"fillColor\": color, \"fillOpacity\": 0.8, \"width\": 1, \"color\": \"#000000\" })|raw }}",
"priority": "{{ (approxHeight|default(0)) * -1 }}",
"style": {
"width": "1",
"color": "#000000",
"fillColor": "{{ color }}",
"fillOpacity": "1"
}
},
"info": [
"<div style='display: inline-block'>",
"{{ tagTrans('height') }}",
"<table>",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}</td>",
" <td colspan>{{ trans('unknown') }}</td>",
" </tr>",
"{% for i in range(0, 50, 10) %}",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}</td>",
" <td>{{ i }}m</td>",
" </tr>",
"{% endfor %}",
"{% for i in range(100, 250, 50) %}",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}</td>",
" <td>{{ i }}m</td>",
" </tr>",
"{% endfor %}",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": \"300\" }))|raw }}</td>",
" <td>≥300m</td>",
" </tr>",
"</table>",
"</div>",
"",
"<div style='display: inline-block'>",
"{{ tagTrans('building:levels') }}",
"<table>",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}</td>",
" <td colspan>{{ trans('unknown') }}</td>",
" </tr>",
"{% for i in range(0, 12, 3) %}",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}</td>",
" <td>{{ i }}</td>",
" </tr>",
"{% endfor %}",
"{% for i in range(15, 84, 15) %}",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}</td>",
" <td>{{ i }}</td>",
" </tr>",
"{% endfor %}",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": \"85\" }))|raw }}</td>",
" <td>≥85</td>",
" </tr>",
"</table>",
"",
"</div>"
]
}

120
buildings-start_date.json

@ -0,0 +1,120 @@
{
"type": "overpass",
"name": {
"en": "Building age",
"de": "Gebäudealter"
},
"query": {
"16": [
"(",
" way[building];",
" relation[building];",
")"
]
},
"feature": {
"pre": [
"{% if tags.start_date %}",
" {% set value = tags.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] %}",
" {% set value = value[0] %}",
" {% elseif value and value[1] %}",
" {% set value = value[1] %}",
" {% else %}",
" {% set value = 'error' %}",
" {% endif %}",
"",
" {% if value == 'error' %}",
" {% set color = '#ff0000' %}",
" {% elseif value < 1500 %}",
" {% set color = '#0000ff' %}",
" {% elseif value < 1900 %}",
" {% set color = colorInterpolate([ '#0000ff', '#ff00ff' ], (value - 1500.0) / 400) %}",
" {% elseif value < 2000 %}",
" {% set color = colorInterpolate([ '#ff00ff', '#ffff00' ], (value - 1900.0) / 100) %}",
" {% else %}",
" {% set color = colorInterpolate([ '#ffff00', '#00ff00' ], (value - 2000.0) / 50) %}",
" {% endif %}",
"{% else %}",
"{% set color = '#7f7f7f' %}",
"{% endif %}"
],
"description": [
"{% if tags.start_date %}",
"{{ tags.start_date }}",
"{% endif %}"
],
"markerSymbol": null,
"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 tags.name %}{% set p = p - 10 %}{% endif %}",
"{% if tags.amenity %}{% set p = p - 1 %}{% endif %}",
"{% if tags.historic %}{% set p = p - 1 %}{% endif %}",
"{% if tags.culture %}{% set p = p - 1 %}{% endif %}",
"{% if tags.highway %}{% set p = p - 1 %}{% endif %}",
"{% if tags.railway %}{% set p = p - 1 %}{% endif %}",
"{% if tags.aeroway %}{% set p = p - 1 %}{% endif %}",
"{% if tags.amenity %}{% set p = p - 1 %}{% endif %}",
"{% if tags.tourism %}{% set p = p - 1 %}{% endif %}",
"{{ p }}"
],
"style": {
"width": "1",
"color": "#000000",
"fillColor": "{{ color }}",
"fillOpacity": "0.8"
}
},
"info": [
"<table>",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1400\" }))|raw }}</td>",
" <td>&lt;1500</td>",
" </tr>",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1500\" }))|raw }}</td>",
" <td>1500</td>",
" </tr>",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1600\" }))|raw }}</td>",
" <td>1600</td>",
" </tr>",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1700\" }))|raw }}</td>",
" <td>1700</td>",
" </tr>",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1800\" }))|raw }}</td>",
" <td>1800</td>",
" </tr>",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1900\" }))|raw }}</td>",
" <td>1900</td>",
" </tr>",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1950\" }))|raw }}</td>",
" <td>1950</td>",
" </tr>",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"2000\" }))|raw }}</td>",
" <td>2000</td>",
" </tr>",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"2020\" }))|raw }}</td>",
" <td>2020</td>",
" </tr>",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"xxx\" }))|raw }}</td>",
" <td>unparseable start_date</td>",
" </tr>",
" <tr>",
" <td>{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}</td>",
" <td>no start_date</td>",
" </tr>",
"</table>"
]
}

121
buildings-type.json

@ -0,0 +1,121 @@
{
"type": "overpass",
"name": {
"de": "Gebäudearten",
"en": "Building types"
},
"query": {
"16": [
"(",
" way[building][building!=no];",
" relation[building][building!=no];",
")"
]
},
"feature": {
"pre": [
"{% set type = tags.building|split(';')[0] %}",
"{% set color = const.other.color %}",
"{% for cat, data in const %}",
" {% if type in data.types %}",
" {% set color = data.color %}",
" {% endif %}",
"{% endfor %}"
],
"description": [
"{% if tags.building == 'yes' %}",
"{{ keyTrans('building') }}",
"{% else %}",
"{{ tagTransList('building', tags.building) }}",
"{% endif %}",
"{% if tags.building == 'construction' and tags.construction %}",
"({{ tagTransList('building', tags.construction) }})",
"{% endif %}"
],
"priority": [
"{% set p = 100 %}",
"{% if tags.name %}{% set p = p - 10 %}{% endif %}",
"{% if tags.amenity %}{% set p = p - 1 %}{% endif %}",
"{% if tags.historic %}{% set p = p - 1 %}{% endif %}",
"{% if tags.culture %}{% set p = p - 1 %}{% endif %}",
"{% if tags.highway %}{% set p = p - 1 %}{% endif %}",
"{% if tags.railway %}{% set p = p - 1 %}{% endif %}",
"{% if tags.aeroway %}{% set p = p - 1 %}{% endif %}",
"{% if tags.amenity %}{% set p = p - 1 %}{% endif %}",
"{% if tags.tourism %}{% set p = p - 1 %}{% endif %}",
"{{ p }}"
],
"markerSymbol": null,
"listMarkerSymbol": "{{ markerPolygon({\"fillColor\": color, \"fillOpacity\": 0.8, \"width\": 1, \"color\": \"#000000\" })|raw }}",
"style": {
"width": "1",
"color": "#000000",
"fillColor": "{{ color }}",
"fillOpacity": "0.8"
}
},
"info": [
"<table>",
"{% for cat, data in const %}",
" <tr>",
" <td>{{ markerPolygon({ \"fillColor\": data.color, \"fillOpacity\": \"0.8\", \"width\": 1, \"color\": \"#000000\" })|raw }}</td>",
" <td>{{ cat }}</td>",
" </tr>",
"{% endfor %}",
"</table>"
],
"const": {
"residential": {
"color": "#25a000",
"types": [ "house", "apartments", "block", "flats", "farm", "detached", "dormitory", "terrace", "houseboat", "bungalow", "static_caravan", "cabin", "residential", "semidetached_house", "ger", "trullo" ]
},
"tourism": {
"color": "#814ce2",
"types": [ "hotel", "ruins", "conservatory" ]
},
"commercial": {
"color": "#ec5bcf",
"types": [ "commercial", "office", "industrial", "retail", "supermarket", "warehouse", "kiosk", "mall", "shop" ]
},
"religious": {
"color": "#af29cc",
"types": [ "religious", "cathedral", "chapel", "church", "mosque", "temple", "synagogue", "shrine", "monastery" ]
},
"amenity": {
"color": "#2935cc",
"types": [ "kindergarten", "civic", "government", "hospital", "school", "university", "grandstand", "public", "toilets", "college" ]
},
"farm": {
"color": "#92e934",
"types": [ "bakehouse", "barn", "cowshed", "farm_auxiliary", "greenhouse", "stable", "sty", "kitchen", "slurry_tank", "silo" ]
},
"industrial": {
"color": "#e2da1b",
"types": [ "construction", "garbage_shed", "transformer_tower", "service", "water_tower", "industrial", "warehouse", "storage_tank" ]
},
"transport": {
"color": "#1bb5e2",
"types": [ "carport", "garage", "garages", "bridge", "hangar", "parking", "train_station", "transportation" ]
},
"sport": {
"color": "#e21b66",
"types": [ "pavilion", "riding_hall", "stadium", "sports_hall" ]
},
"simple": {
"color": "#cc8725",
"types": [ "hut", "roof", "shed" ]
},
"military": {
"color": "#4a7300",
"types": [ "bunker", "riding_hall", "sports_hall" ]
},
"other": {
"color": "#ff0000",
"types": []
},
"unspecified": {
"color": "#7f7f7f",
"types": [ "yes" ]
}
}
}

49
buildings.json

@ -1,37 +1,26 @@
{
"type": "overpass",
"type": "index",
"name": {
"de": "Gebäude",
"en": "Buildings",
"fr": "Bâtiments"
"fr": "Bâtiments",
"pt-br": "Edificações"
},
"query": {
"16": [
"(",
" way[building];",
" relation[building];",
")"
]
},
"feature": {
"markerSymbol": null,
"priority": [
"{% set p = 100 %}",
"{% if tags.name %}{% set p = p - 10 %}{% endif %}",
"{% if tags.amenity %}{% set p = p - 1 %}{% endif %}",
"{% if tags.historic %}{% set p = p - 1 %}{% endif %}",
"{% if tags.culture %}{% set p = p - 1 %}{% endif %}",
"{% if tags.highway %}{% set p = p - 1 %}{% endif %}",
"{% if tags.railway %}{% set p = p - 1 %}{% endif %}",
"{% if tags.aeroway %}{% set p = p - 1 %}{% endif %}",
"{% if tags.amenity %}{% set p = p - 1 %}{% endif %}",
"{% if tags.tourism %}{% set p = p - 1 %}{% endif %}",
"{{ p }}"
],
"style": {
"width": "1",
"color": "#000000",
"fillColor": "#000000"
"subCategories": [
{
"id": "buildings-type"
},
{
"id": "buildings-figure-ground"
},
{
"id": "buildings-height"
},
{
"id": "buildings-start_date"
},
{
"id": "buildings-entrances"
}
}
]
}

8
car_amenities.json

@ -5,10 +5,11 @@
"cs": "Občasnká vybavenost",
"de": "Einrichtungen",
"en": "Amenities",
"fr": "Infrastructures routières",
"fr": "Équipements auto",
"it": "Infrastrutture",
"ja": "生活環境",
"nl": "Voorzieningen",
"pt-br": "Equipamentos",
"ru": "Обслуживание транспорта",
"uk": "Amenities"
},
@ -18,6 +19,8 @@
"node[amenity~\"^(car_rental|car_sharing|fuel)$\"];",
"way[amenity~\"^(car_rental|car_sharing|fuel)$\"];",
"relation[amenity~\"^(car_rental|car_sharing|fuel)$\"];",
"node[amenity~\"^(charging_station)$\"][car!=\"no\"];",
"node[amenity~\"^(charging_station)$\"][motorcycle!=\"no\"];",
")"
],
"16": [
@ -43,6 +46,7 @@
"charging_station": "🔌 ",
"fuel": "⛽",
"parking": "🅿",
"motorcycle_parking": "🅿"
"motorcycle_parking": "🅿",
"charging_station": "🔌"
}
}

3
car_furniture.json

@ -4,11 +4,12 @@
"cs": "Pouliční přislušenství",
"de": "Straßenausstattung",
"en": "Street Furniture",
"fr": "Infrastrucutures résidentielles",
"fr": "Fournitures automobiles",
"it": "Dotazioni stradali",
"ja": "街路設置公共物",
"nl": "Straatmeubilair",
"pl": "Elementy drogowe",
"pt-br": "Mobiliário Urbano",
"ru": "Элементы дороги",
"uk": "Street Furniture"
}

3
car_maxspeed.json

@ -3,7 +3,8 @@
"name": {
"de": "Höchstgeschwindigkeiten",
"en": "Maxspeed",
"fr": "Limites de vitesse"
"fr": "Limites de vitesse",
"pt-br": "Velocidade Máxima"
},
"query": {
"11": "way[highway~\"^(motorway|trunk)$\"];",

3
children.json

@ -3,7 +3,8 @@
"name": {
"de": "Einrichtungen für Kinder",
"en": "Children amenities",
"fr": "Équipements pour enfants"
"fr": "Équipements pour enfants",
"pt-br": "Equipamentos Infantis"
},
"query": {
"15": [

1
communication.json

@ -13,6 +13,7 @@
"it": "Communicazioni",
"ja": "交流",
"nl": "Communicatie",
"pt-br": "Comunicação",
"ro": "Comunicatii",
"ru": "Услуги связи",
"uk": "Телекомунікації"

3
construction.json

@ -5,10 +5,11 @@
"cs": "Staveniště",
"de": "Baustellen",
"en": "Construction Sites",
"fr": "Zones industrielles",
"fr": "Constructions",
"it": "Cantieri",
"ja": "工事中",
"nl": "Bouwterrein",
"pt-br": "Canteiros de Obras",
"ru": "Места строительства"
},
"query": {

73
craft.json

@ -0,0 +1,73 @@
{
"type": "overpass",
"name": {
"de": "Handwerk",
"en": "Craft"
},
"query": {
"15": "(node[craft];way[craft];relation[craft];);"
},
"feature": {
"description": "{{ tagTransList('craft', tags.craft) }}",
"markerSign": "{% set craft0 = tags.craft|split(';')[0] %}{% if const.crafts[craft0] %}{% set v = const.crafts[craft0] %}{% else %}{% set v = const.default %}{% endif %}{% if v|slice(0, 3) == 'fa-' %}<i class=\"fa {{ v }}\"></i>{% else %}{{ v|raw }}{% endif %}"
},
"const": {
"default": "",
"crafts": {
"bakery": "fa-birthday-cake",
"beekeeper": "🐝",
"blacksmith": "🔨",
"boatbuilder": "⛵",
"bookbinder": "📕",
"brewery": "fa-beer",
"builder": "🚧",
"carpenter": "",
"carpet_layer": "",
"caterer": "fa-birthday-cake",
"chimney_sweeper": "",
"clockmaker": "⌚",
"confectionery": "",
"distillery": "🍷",
"dressmaker": "&#128090;",
"electrician": "🔌",
"floorer": "",
"gardener": "⚘",
"glaziery": "",
"handicraft": "",
"hvac": "",
"insulation": "",
"jeweller": "💍",
"key_cutter": "🔑",
"locksmith": "🔑",
"metal_construction": "",
"optician": "👓",
"painter": "🖌",
"parquet_layer": "",
"photographer": "📷",
"photographic_laboratory": "📷",
"piano_tuner": "",
"plasterer": "",
"plumber": "",
"pottery": "",
"rigger": "",
"roofer": "",
"saddler": "🐎",
"sailmaker": "⛵",
"sawmill": "",
"scaffolder": "",
"sculptor": "",
"shoemaker": "👞",
"stand_builder": "",
"stonemason": "",
"sun_protection": "",
"tailor": "&#128090;",
"tiler": "",
"tinsmith": "",
"turner": "",
"upholsterer": "",
"watchmaker": "⌚",
"window_construction": "",
"winery": "🍷"
}
}
}

1
culture.json

@ -15,6 +15,7 @@
"ja": "文化",
"nl": "Cultuur",
"pl": "Kultura",
"pt-br": "Cultura",
"ro": "Cultura",
"ru": "Культура",
"uk": "Культура "

5
culture_religion.json

@ -6,15 +6,16 @@
"cs": "Kultura",
"de": "Kultur und Religion",
"el": "Πολιτισμός",
"en": "Culture",
"en": "Culture and Religion",
"es": "Cultura y religión",
"et": "Kultuur ja religioon",
"fr": "Culture",
"fr": "Culture et Religion",
"hu": "Kultúra",
"it": "Cultura",
"ja": "文化",
"nl": "Cultuur",
"pl": "Kultura",
"pt-br": "Cultura",
"ro": "Cultura",
"ru": "Культура",
"uk": "Культура "

9
cycle_amenities.json

@ -3,7 +3,8 @@
"name": {
"de": "Einrichtungen",
"en": "Amenities",
"fr": "Équipements"
"fr": "Équipements vélo",
"pt-br": "Equipamentos"
},
"query": {
"13": [
@ -11,6 +12,7 @@
"node[amenity~\"^(bicycle_rental)$\"];",
"way[amenity~\"^(bicycle_rental)$\"];",
"relation[amenity~\"^(bicycle_rental)$\"];",
"node[amenity~\"^(charging_station)$\"][bicycle!=\"no\"];",
"node[shop~\"^(bicycle)$\"];",
"way[shop~\"^(bicycle)$\"];",
"relation[shop~\"^(bicycle)$\"];",
@ -21,6 +23,7 @@
"node[amenity~\"^(bicycle_.*|compressed_air)$\"];",
"way[amenity~\"^(bicycle_.*|compressed_air)$\"];",
"relation[amenity~\"^(bicycle_.*|compressed_air)$\"];",
"node[amenity~\"^(charging_station)$\"][bicycle!=\"no\"];",
"node[shop~\"^(bicycle)$\"];",
"way[shop~\"^(bicycle)$\"];",
"relation[shop~\"^(bicycle)$\"];",
@ -121,6 +124,10 @@
"amenity=compressed_air": {
"sign": "A",
"priority": 2
},
"amenity=charging_station": {
"sign": "🔌",
"priority": 2
}
}
}

3
cycle_routes.json

@ -3,7 +3,8 @@
"name": {
"de": "Radrouten",
"en": "Cycle Routes",
"fr": "Itinéraires vélo"
"fr": "Itinéraires vélo",
"pt-br": "Ciclorrotas"
},
"query": {
"6": "relation[type=route][route=bicycle][network~'^(icn)$']",

3
education.json

@ -7,11 +7,12 @@
"el": "Υπηρεσίες Εκπαίδευσης",
"en": "Educational Services",
"et": "Haridusteenused",
"fr": "Services éducatifs",
"fr": "Éducation",
"it": "Istruzione",
"ja": "教育サービス",
"nl": "Onderwijs",
"pl": "Edukacyjne",
"pt-br": "Educação",
"ro": "Servicii educatie",
"ru": "Образование",
"uk": "Освіта"

29
emergency.json

@ -13,6 +13,7 @@
"it": "Servizi d'emergenza",
"ja": "緊急サービス",
"nl": "Hulpdiensten",
"pt-br": "Emergência",
"ro": "Servicii urgenta",
"ru": "Экстренные службы",
"uk": "Швидка допомога"
@ -27,13 +28,23 @@
],
"13": [
"(",
"node[amenity~\"^(fire_station|hospital|police|emergency_phone)$\"];",
"way[amenity~\"^(fire_station|hospital|police|emergency_phone)$\"];",
"relation[amenity~\"^(fire_station|hospital|police|emergency_phone)$\"];",
"node[amenity~\"^(fire_station|hospital|police)$\"];",
"way[amenity~\"^(fire_station|hospital|police)$\"];",
"relation[amenity~\"^(fire_station|hospital|police)$\"];",
"node[emergency~\"^(phone)$\"];",
")"
]
},
"feature": {
"pre": [
"{% if tags.amenity in [ 'fire_station', 'hospital', 'police' ] %}",
"{% set key = 'amenity' %}",
"{% set value = tags.amenity %}",
"{% elseif tags.emergency %}",
"{% set key = 'emergency' %}",
"{% set value = tags.emergency %}",
"{% endif %}"
],
"description": "{{ tagTrans('amenity', tags.amenity) }}",
"markerSign": [
"{% set data = const[tags.amenity] %}",
@ -48,28 +59,28 @@
"{% if data.zoom <= map.zoom %}",
" <tr>",
" <td>{{ markerCircle({})|raw }}<div class='sign'>{{ data.sign }}</div></td>",
" <td>{{ tagTrans('amenity', value) }}</td>",
" <td>{{ tagTrans(value|split('=')[0], value|split('=')[1]) }}</td>",
" </tr>",
"{% endif %}",
"{% endfor %}",
"</table>"
],
"const": {
"fire_station": {
"amenity=fire_station": {
"zoom": "11",
"sign": "🔥"
},
"hospital": {
"amenity=hospital": {
"zoom": "11",
"sign": "🏥"
},
"police": {
"amenity=police": {
"zoom": "13",
"sign": "👮"
},
"emergency_phone": {
"emergency=phone": {
"zoom": "13",
"sign": "📞"
}
}
}
}

5
financial.json

@ -11,6 +11,7 @@
"ja": "金融",
"nl": "Financieel",
"pl": "Finasowe",
"pt-br": "Finanças",
"ro": "Financiar",
"ru": "Финансы",
"uk": "Фінанси"
@ -20,14 +21,14 @@
"(",
"node[amenity~\"^(bank)$\"];",
"way[amenity~\"^(bank)$\"];",
"relation[amenity~\"^(bank)$\"]",
"relation[amenity~\"^(bank)$\"];",
")"
],
"15": [
"(",
"node[amenity~\"^(bank|bureau_de_change|atm)$\"];",
"way[amenity~\"^(bank|bureau_de_change|atm)$\"];",
"relation[amenity~\"^(bank|bureau_de_change|atm)$\"]",
"relation[amenity~\"^(bank|bureau_de_change|atm)$\"];",
")"
]
},

67
gastro-smoking.json

@ -0,0 +1,67 @@
{
"type": "overpass",
"name": {
"de": "Rauchfreie Gastronomie",
"en": "Smokefree Gastronomy",
"fr": "Restauration sans tabac"
},
"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)$'];);"
},
"feature": {
"pre": [
"{% if tags.smoking == 'yes' or tags.smoking == 'dedicated' %}",
" {% set smoking_color='red' %}",
" {% set smoking_icon='🚬' %}",
"{% elseif tags.smoking == 'separated' or tags.smoking == 'isolated' %}",
" {% set smoking_color='#ffdf00' %}",
" {% set smoking_icon='🚬' %}",
"{% elseif tags.smoking == 'no' or tags.smoking == 'outside' or tags.smokefree == 'yes' %}",
" {% set smoking_color='#00ff00' %}",
" {% set smoking_icon='🚭' %}",
"{% else %}",
" {% set smoking_color='white' %}",
" {% set smoking_icon='' %}",
"{% endif %}"
],
"description": "{{ tagTrans('amenity', tags.amenity) }}",
"body": [
"<ul>",
" <li class='hasSymbol'>",
" <i class=\"fa fa-cutlery\" aria-hidden=\"true\"></i>",
" <span class='key'>{{ keyTrans('cuisine') }}:</span>",
" <span class='value'>{{ tagTransList('cuisine', tags.cuisine)|default(trans('unknown')) }}</span>",
" </li>",
" <li class='hasSymbol'>",
" <span class='symbol'>🚬</span>",
" <span class='key'>{{ keyTrans('smoking') }}:</span>",
" <span class='value'>{% if tags.smoking %}{{ tagTrans('smoking', tags.smoking) }}{% else %}{{ trans('unknown') }}{% endif %}</span>",
" </li>",
"</ul>"
],
"markerSign": "{% if tags.amenity=='bar' %}&#127864;{% elseif tags.amenity=='biergarten'%}&#127867;{% elseif tags.amenity=='cafe' %}&#9749;{% elseif tags.amenity=='fast_food' %}&#127828;{% elseif tags.amenity=='ice_cream' %}&#127848;{% elseif tags.amenity=='pub' %}&#127866;{% else %}&#127860;{% endif %}",
"markerSymbol": "{{ markerPointer({\"fillColor\": smoking_color })|raw }}",
"listMarkerSymbol": "{{ markerCircle({\"fillColor\": smoking_color })|raw }}"
},
"info": [
"{{ keyTrans('smoking') }}:",
"<table>",
" <tr>",
" <td>{{ markerCircle({ \"fillColor\": \"#00ff00\" })|raw }}</td>",
" <td>{{ tagTrans('smoking', 'no') }}, {{ tagTrans('smoking', 'outside') }}</td>",
" </tr>",
" <tr>",
" <td>{{ markerCircle({ \"fillColor\": \"#ffdf00\" })|raw }}</td>",
" <td>{{ tagTrans('smoking', 'separated') }}, {{ tagTrans('smoking', 'isolated') }}</td>",
" </tr>",
" <tr>",
" <td>{{ markerCircle({ \"fillColor\": \"red\" })|raw }}</td>",
" <td>{{ tagTrans('smoking', 'yes') }}, {{ tagTrans('smoking', 'dedicated') }}</td>",
" </tr>",
" <tr>",
" <td>{{ markerCircle({ \"fillColor\": \"white\" })|raw }}</td>",
" <td>{{ trans('unknown') }}</td>",
" </tr>",
"</table>"
]
}

3
gastro.json

@ -6,12 +6,13 @@
"de": "Gastronomie",
"el": "Γαστρονομία",
"en": "Gastronomy",
"fr": "Gastronomie",
"fr": "Restauration",
"hu": "Gasztronómia",
"it": "Gastronomia",
"ja": "食べ物",
"nl": "Gastronomie",
"pl": "Gastronomia",
"pt-br": "Gastronomia",
"ro": "Gastronomie",
"ru": "Общепит",
"uk": "Гастрономія"

34
health.json

@ -11,6 +11,7 @@
"ja": "健康",
"nl": "Gezondheid",
"pl": "Zdrowie",
"pt-br": "Saúde e Assistência",
"ro": "Sanatate",
"ru": "Медицина",
"uk": "Здоров'я"
@ -58,31 +59,32 @@
"{{ tagTransList('healthcare:speciality', attribute(tags, 'healthcare:speciality')) }}",
"{% endif %}"
],
"markerSign": "{{ const[value]|raw }}"
"markerSign": "{{ const[concat(key, '=', value)]|raw }}"
},
"info": [
"<table>",
"{% for value, sign in const %}",
" <tr>",
" <td>{{ markerCircle({})|raw }}<div class='sign'>{{ sign|raw }}</div></td>",
" <td>{{ tagTrans('amenity', value) }}</td>",
" <td>{{ tagTrans(value|split('=')[0], value|split('=')[1]) }}</td>",
" </tr>",
"{% endfor %}",
"</table>"
],
"const": {
"baby_hatch": "🚼",
"blood_bank": "<img src='maki:blood-bank'>",
"blood_donation": "<img src='maki:blood-bank'>",
"clinic": "🏥",
"defibrillator": "<img src='maki:defibrillator'>",
"dentist": "<img src='maki:dentist'>",
"doctor": "<img src='maki:doctor'>",
"doctors": "<img src='maki:doctor'>",
"hospital": "🏥",
"nursing_home": "",
"pharmacy": "<img src='maki:pharmacy'>",
"social_facility": "",
"veterinary": "<img src='maki:veterinary'>"
"amenity=baby_hatch": "🚼",
"healthcare=blood_bank": "<img src='maki:blood-bank'>",
"healthcare=blood_donation": "<img src='maki:blood-bank'>",
"healthcare=clinic": "🏥",
"emergency=defibrillator": "<img src='maki:defibrillator'>",
"healthcare=dentist": "<img src='maki:dentist'>",
"healthcare=doctor": "<img src='maki:doctor'>",
"amenity=doctors": "<img src='maki:doctor'>",
"amenity=hospital": "🏥",
"healthcare=hospital": "🏥",
"amenity=nursing_home": "",
"amenity=pharmacy": "<img src='maki:pharmacy'>",
"amenity=social_facility": "",
"amenity=veterinary": "<img src='maki:veterinary'>"
}
}
}

4
hiking_routes.json

@ -2,7 +2,9 @@
"type": "overpass",
"name": {
"de": "Wanderrouten",
"en": "Hiking routes"
"en": "Hiking routes",
"fr": "Itinéraires pédestres",
"pt-br": "Rotas de Caminhada"
},
"query": {
"10": "relation[type=route][route=hiking][network~\"^(iwn)$\"]",

3
historic.json

@ -13,6 +13,7 @@
"ja": "記念",
"nl": "Historisch",
"pl": "Miejsca Historyczne",
"pt-br": "Histórico",
"ro": "Istoric",
"ru": "Историческое",
"uk": "Історія"
@ -73,7 +74,7 @@
"zoom": 14
},
"memorial": {
"sign": "<img src='maki:monument?size=11'>",
"sign": "<span style='position: relative; top: -2px;'><img src='maki:monument?size=11'></span>",
"zoom": 14
},
"monument": {

37
index.json

@ -21,7 +21,8 @@
"pl": "Wypoczynek, Sport i Zakupy",
"ro": "Timp liber, Sport si Cumparaturi",
"ru": "Досуг",
"uk": "Дозвілля"
"uk": "Дозвілля",
"pt-br": "Lazer, Esportes e Compras"
},
"subCategories": [
{
@ -30,6 +31,9 @@
{
"id": "shop"
},
{
"id": "craft"
},
{
"id": "leisure"
},
@ -61,7 +65,8 @@
"pl": "Usługi",
"ro": "Servicii",
"ru": "Услуги",
"uk": "Послуги"
"uk": "Послуги",
"pt-br": "Serviços"
},
"subCategories": [
{
@ -108,7 +113,8 @@
"pl": "Transport",
"ro": "Transport",
"ru": "Транспорт",
"uk": "Транспорт"
"uk": "Транспорт",
"pt-br": "Transportes"
},
"subCategories": [
{
@ -117,7 +123,8 @@
"name": {
"de": "Zu Fuß gehen",
"en": "Walking",
"fr": "Marche à pied"
"fr": "Marche à pied",
"pt-br": "Pedestre"
},
"subCategories": [
{
@ -134,7 +141,8 @@
"name": {
"de": "Radfahren",
"en": "Cycling",
"fr": "Cyclisme"
"fr": "Cyclisme",
"pt-br": "Ciclismo"
},
"subCategories": [
{
@ -163,7 +171,8 @@
"pl": "Transport Publiczny",
"ro": "Transport public",
"ru": "Общественный транспорт",
"uk": "Громадський транспорт"
"uk": "Громадський транспорт",
"pt-br": "Transporte Público"
},
"subCategories": [
{
@ -192,7 +201,8 @@
"pl": "Transport Indywidualny",
"ro": "Trafic individual",
"ru": "Частный транспорт",
"uk": "Приватний транспорт"
"uk": "Приватний транспорт",
"pt-br": "Tráfego Individual"
},
"subCategories": [
{
@ -211,7 +221,8 @@
"name": {
"de": "Infrastruktur",
"en": "Infrastructure",
"fr": "Infrastructures"
"fr": "Infrastructures",
"pt-br": "Infraestrutura"
},
"subCategories": [
{
@ -240,7 +251,8 @@
"it": "Ferrovie",
"ja": "鉄道",
"nl": "Spoorwegen",
"ru": "Железные дороги"
"ru": "Железные дороги",
"pt-br": "Ferrovia"
},
"subCategories": [
{
@ -273,9 +285,14 @@
"type": "index",
"name": {
"en": "Special",
"de": "Spezial"
"de": "Spezial",
"pt-br": "Especial",
"fr": "Catégories spéciales"
},
"subCategories": [
{
"id": "gastro-smoking"
},
{
"id": "wikipedia"
}

2
internet.json

@ -6,9 +6,11 @@
"de": "Internetzugang",
"en": "Internet access",
"es": "Acceso a Internet",
"fr": "Internet",
"hu": "Internethozzáférés",
"ja": "インターネット接続",
"nl": "Internettoegang",
"pt-br": "Acesso à Internet",
"ro": "Acces internet"
}
}

2
lang/ast.json

@ -10,6 +10,7 @@
"category:children": null,
"category:communication": "Comunicaciones",
"category:construction": "Sitios d'obres",
"category:craft": "",
"category:culture": "Cultura",
"category:culture_religion": "Cultura",
"category:cycle_amenities": null,
@ -17,6 +18,7 @@
"category:education": "Servicios educativos",
"category:emergency": "Servicios d'emerxencia",
"category:financial": "Dineru",
"category:gastro-smoking": "",
"category:gastro": "Gastronomía",
"category:health": "Salú",
"category:hiking_routes": null,

2
lang/ca.json

@ -10,6 +10,7 @@
"category:children": null,
"category:communication": "Comunicacions",
"category:construction": null,
"category:craft": "",
"category:culture": "Cultura",
"category:culture_religion": "Cultura i religió",
"category:cycle_amenities": null,
@ -17,6 +18,7 @@
"category:education": null,
"category:emergency": "Serveis d'emergència",
"category:financial": null,
"category:gastro-smoking": "",
"category:gastro": null,
"category:health": null,
"category:hiking_routes": null,

2
lang/cs.json

@ -10,6 +10,7 @@
"category:children": null,
"category:communication": "Komunikace",
"category:construction": "Staveniště",
"category:craft": "",
"category:culture": "Kultura",
"category:culture_religion": "Kultura",
"category:cycle_amenities": null,
@ -17,6 +18,7 @@
"category:education": "Vzdělávací služby",
"category:emergency": "Pohotovostní služby",
"category:financial": "Finanční služby",
"category:gastro-smoking": "",
"category:gastro": "Stravování",
"category:health": "Zdravotnictví",
"category:hiking_routes": null,

2
lang/de.json

@ -10,6 +10,7 @@
"category:children": "Einrichtungen für Kinder",
"category:communication": "Kommunikation",
"category:construction": "Baustellen",
"category:craft": "Handwerk",
"category:culture": "Kultur",
"category:culture_religion": "Kultur und Religion",
"category:cycle_amenities": "Einrichtungen",
@ -17,6 +18,7 @@
"category:education": "Bildungseinrichtungen",
"category:emergency": "Notfalldienste",
"category:financial": "Finanzen",
"category:gastro-smoking": "Rauchfreie Gastronomie",
"category:gastro": "Gastronomie",
"category:health": "Gesundheitsdienste",
"category:hiking_routes": "Wanderrouten",

2
lang/el.json

@ -10,6 +10,7 @@
"category:children": null,
"category:communication": "Επικοινωνίες",
"category:construction": null,
"category:craft": "",
"category:culture": "Πολιτισμός",
"category:culture_religion": "Πολιτισμός",
"category:cycle_amenities": null,
@ -17,6 +18,7 @@
"category:education": "Υπηρεσίες Εκπαίδευσης",
"category:emergency": "Υπηρεσίες Έκτακτης Ανάγκης",
"category:financial": "Χρήμα",
"category:gastro-smoking": "",
"category:gastro": "Γαστρονομία",
"category:health": "Υγεία",
"category:hiking_routes": null,

4
lang/en.json

@ -10,13 +10,15 @@
"category:children": "Children amenities",
"category:communication": "Communication",
"category:construction": "Construction Sites",
"category:craft": "Craft",
"category:culture": "Culture",
"category:culture_religion": "Culture",
"category:culture_religion": "Culture and Religion",
"category:cycle_amenities": "Amenities",
"category:cycle_routes": "Cycle Routes",
"category:education": "Educational Services",
"category:emergency": "Emergency Services",
"category:financial": "Financial",
"category:gastro-smoking": "Smokefree Gastronomy",
"category:gastro": "Gastronomy",
"category:health": "Health",
"category:hiking_routes": "Hiking routes",

2
lang/es.json

@ -10,6 +10,7 @@
"category:children": null,
"category:communication": null,
"category:construction": null,
"category:craft": "",
"category:culture": "Cultura",
"category:culture_religion": "Cultura y religión",
"category:cycle_amenities": null,