Compare commits

...

104 Commits

Author SHA1 Message Date
Stephan Bösch-Plepelits 4b4a2f3cb6 fitness_trail: improvements 6 years ago
Stephan Bösch-Plepelits 1879b0e210 Payment options: tooltip for each value 6 years ago
Stephan Bösch-Plepelits 15d8ad3031 Separate payment options by ',' 6 years ago
Stephan Bösch-Plepelits e8bb288613 Translate payment options 6 years ago
Stephan Bösch-Plepelits d5dee37ac3 fitness_trail: better code, list other roles as well 6 years ago
Stephan Bösch-Plepelits 80ac3b519e fitness_trail: show marker with 'S' on all stations 6 years ago
Stephan Bösch-Plepelits 1966f3f948 fitness_trail: new category 6 years ago
Stephan Bösch-Plepelits 484ec0904b water: waterway=drain 6 years ago
Stephan Bösch-Plepelits 15aa49c4ea Merge translations into categories (pt-br) 6 years ago
Stephan Bösch-Plepelits 5dab28760c
Merge pull request #14 from IgorEliezer/patch-1 6 years ago
Igor Eliezer 572441044e
Update pt-br.json 6 years ago
Igor Eliezer 535a3be5f9
Merge pull request #3 from plepe/master 6 years ago
Stephan Bösch-Plepelits 2339038885 Merge translations into categories (fr) 6 years ago
Stephan Bösch-Plepelits 1cbac8f3c0
Merge pull request #13 from Cybereric/patch-7 6 years ago
Cybereric 5892b4b98b
Update fr.json 6 years ago
Stephan Bösch-Plepelits 96e273a8b3 gastro: show dietary options 6 years ago
Stephan Bösch-Plepelits f10910dc63 popupBody: link to wikipedia 6 years ago
Stephan Bösch-Plepelits b09b903aa6 pt: order fields as written by openstreetbrowser-editor 6 years ago
Stephan Bösch-Plepelits 529e8ecfd8 car_routes: complete; color by 'network' tag 6 years ago
Stephan Bösch-Plepelits 31e66a0388 car_routes: inital code (mostly copied from cycle_routes) 6 years ago
Stephan Bösch-Plepelits a0bfccf64e Update language files 6 years ago
Stephan Bösch-Plepelits dcb7010a71 pt: show only stops with min. 1 route 6 years ago
Stephan Bösch-Plepelits ece5008798 pt: route icons in stop/way popup 6 years ago
Stephan Bösch-Plepelits ce40299b2a PT: re-enable PT Amenities category 6 years ago
Stephan Bösch-Plepelits fb8fc5c05c pt: support PTv1 (and PTv3?) 6 years ago
Stephan Bösch-Plepelits 95a2fa0cb4 New sub category 'outdoor' which includes mtb routes 6 years ago
Stephan Bösch-Plepelits 805e910681 cycle_routes, hiking_routes: fix priority 6 years ago
Stephan Bösch-Plepelits d767e9303f * routes: improve popup display 6 years ago
Stephan Bösch-Plepelits 0c9e212b4a cycle_routes, hiking_routes: improve popup 6 years ago
Stephan Bösch-Plepelits f9c0ba53ab railway-routes: improve popup 6 years ago
Stephan Bösch-Plepelits e4ad01f1ce railway-routes: color routes by operator 6 years ago
Stephan Bösch-Plepelits fcd65084ca railway-routes 6 years ago
Stephan Bösch-Plepelits 256dc89193 cycle_routes, hiking_routes: improve code 6 years ago
Stephan Bösch-Plepelits 300b6d78a8 Hiking Routes: copy code from cycle networks 6 years ago
Stephan Bösch-Plepelits 601fcd0f31 fix 6 years ago
Stephan Bösch-Plepelits bedbfe18a1 cycle_routes: add map key, list symbols, improve colors 6 years ago
Stephan Bösch-Plepelits e17ef2db6d cycle_routes: use new members queries 6 years ago
Stephan Bösch-Plepelits bd4585e532 pt: Add list names to lang/ 6 years ago
Stephan Bösch-Plepelits 0e5fbf4606 Merge branch 'master' into pt 6 years ago
Stephan Bösch-Plepelits 89746d5e1e Replace null in lang strings by ""; remove deleted categories 6 years ago
Stephan Bösch-Plepelits 034d0c448b pt: fixes 6 years ago
Stephan Bösch-Plepelits add73ee88d pt: hide platforms, marker for stops in list 6 years ago
Stephan Bösch-Plepelits 4fe9d70dcc railway-electrification: translate non electrified 6 years ago
Stephan Bösch-Plepelits ea69d063c4 pt: remove duplicate refs, order naturally 7 years ago
Stephan Bösch-Plepelits 01997790e5 pt: different styles for stop, way, platform 7 years ago
Stephan Bösch-Plepelits 3b8466b204 pt: also load stop_areas, use relation name if stop_position has no name 7 years ago
Stephan Bösch-Plepelits 2338dfdd29 pt: show route refs on ways 7 years ago
Stephan Bösch-Plepelits 89b8bb41c9 pt: improvements 7 years ago
Stephan Bösch-Plepelits 1acb3fd7f8 railway-infrastructure: include usage=* and service=* in description 7 years ago
Stephan Bösch-Plepelits bcfeb519cb railway-infrastructure: localization for usage tag 7 years ago
Stephan Bösch-Plepelits fdf93ee86e railway-infrastructure: localization for service tag 7 years ago
Stephan Bösch-Plepelits 371ca42047 pt: sub lists 7 years ago
Stephan Bösch-Plepelits 2d1ca4dfe5 pt: improve colors 7 years ago
Stephan Bösch-Plepelits 8c4fc6f64e pt: fixes 7 years ago
Stephan Bösch-Plepelits e40239f646 Replace pt_routes/pt_stops by new pt category 7 years ago
Stephan Bösch-Plepelits c74852a03b lint 7 years ago
Stephan Bösch-Plepelits da702616f4 Merge branch 'waldyrious-patch-1' 7 years ago
Stephan Bösch-Plepelits 63bad9136c Distribute pt language strings to categories 7 years ago
Waldir Pimenta 30bf3b4e82
Create pt.json 7 years ago
Igor Eliezer 270ca44713
Merge pull request #2 from plepe/master 7 years ago
Stephan Bösch-Plepelits 7c89f678a7 Merge branch 'IgorEliezer-11' 7 years ago
Stephan Bösch-Plepelits 1d38fc7ea9 Distribute language strings to categories (pt-br) 7 years ago
Igor Eliezer e12e971a75
Fix for consistency 7 years ago
Igor Eliezer fe9344ccc5
Update pt-br 7 years ago
Igor Eliezer 3b5a3cd1c6
Merge pull request #1 from plepe/master 7 years ago
Stephan Bösch-Plepelits 31d0d59148 Religion: description depends on the building=* tag 7 years ago
Stephan Bösch-Plepelits aee96a7e11 cycle_amenities: translate bicycle tube dispensers 7 years ago
Stephan Bösch-Plepelits f737061637 Craft: import translation (fr) 7 years ago
Stephan Bösch-Plepelits 5bd5f67f69
Merge pull request #10 from Cybereric/patch-6 7 years ago
Cybereric 10af6d8202
Update fr.json 7 years ago
Stephan Bösch-Plepelits 5412b0b57e Bugfixes (API adaption) 7 years ago
Stephan Bösch-Plepelits b3500f5491 Tourism Services: bugfix (API adaption) 7 years ago
Stephan Bösch-Plepelits 3ed43d7f7d
Cycle Amenities: show charging stations from z13 7 years ago
Stephan Bösch-Plepelits 318e97494e Craft: new category 7 years ago
Stephan Bösch-Plepelits 80a07e84aa Car / Cycle Amenities: include ev charging stations 7 years ago
Stephan Bösch-Plepelits b6707d9d62 Historic: center icon of memorials 7 years ago
Stephan Bösch-Plepelits baaf77be4d gastro-smoking: update lang fr 7 years ago
Stephan Bösch-Plepelits b072f74489
Merge pull request #9 from Cybereric/patch-5 7 years ago
Cybereric 4320c21324
Smoking free category FR translation 7 years ago
Stephan Bösch-Plepelits a58a5ae4dd Update translations 7 years ago
Stephan Bösch-Plepelits 256d9630e4 Merge remote-tracking branch 'origin/master' 7 years ago
Stephan Bösch-Plepelits 65cd20ab6f
Merge pull request #8 from Cybereric/patch-4 7 years ago
Cybereric b8dcb0e4e1
Better french translations 7 years ago
Stephan Bösch-Plepelits 82ad789095 Index: move gastro-smoking to special 7 years ago
Stephan Bösch-Plepelits 6f91f00762 Gastronomy Smoking: new category! 7 years ago
Stephan Bösch-Plepelits 6d373b0066 Health: handle tag keys (drawback: duplicate entries in info) 7 years ago
Stephan Bösch-Plepelits ad500f33c1 Emergency: use emergency=phone instead amenity=emergency_phone 7 years ago
Stephan Bösch-Plepelits 8cfdc2c23c Culture and Religion: fix title (en, fr) 7 years ago
Stephan Bösch-Plepelits d976bb063d Import category titles from translation (fr) 7 years ago
Stephan Bösch-Plepelits 9687b637b9 Merge branch 'master' of github.com:plepe/openstreetbrowser-categories-main 7 years ago
Stephan Bösch-Plepelits c96f2c0c53
Merge pull request #6 from Cybereric/patch-2 7 years ago
Cybereric a0b6ccb06e
Categories update 7 years ago
Stephan Bösch-Plepelits b4897eadd2 Agriculture: priorities 7 years ago
Stephan Bösch-Plepelits 411044a164 Translations: add template.json file 7 years ago
Stephan Bösch-Plepelits 22c878b47c Import category titles from translation (pt-br) 7 years ago
Stephan Bösch-Plepelits 73ca7808fb
Merge pull request #5 from IgorEliezer/patch-1 7 years ago
Igor Eliezer 8ff6fde7be
Fix missing comma 7 years ago
Igor Eliezer a567b73d1a
Create pt-br.json 7 years ago
Stephan Bösch-Plepelits 6e50207339 Update 'culture_religion.json' 7 years ago
Stephan Bösch-Plepelits ed68cdb2a3 Import category titles from translation (fr) 7 years ago
Stephan Bösch-Plepelits 91ceada260 Merge remote-tracking branch 'origin/master' 7 years ago
Stephan Bösch-Plepelits 7b7bf9f422
Merge pull request #4 from Cybereric/patch-1 7 years ago
Cybereric c6c77239ab
Update fr.json 7 years ago
Cybereric 11b84e3c9c
Update fr.json 7 years ago
  1. 2
      administrative.json
  2. 13
      agriculture.json
  3. 1
      alternative_amenities.json
  4. 2
      alternative_routes.json
  5. 4
      buildings.json
  6. 7
      car_amenities.json
  7. 4
      car_furniture.json
  8. 4
      car_maxspeed.json
  9. 59
      car_routes.json
  10. 3
      children.json
  11. 2
      communication.json
  12. 4
      construction.json
  13. 76
      craft.json
  14. 2
      culture.json
  15. 6
      culture_religion.json
  16. 17
      cycle_amenities.json
  17. 93
      cycle_routes.json
  18. 5
      detailsBody.html
  19. 4
      education.json
  20. 28
      emergency.json
  21. 6
      financial.json
  22. 92
      fitness_trail.json
  23. 69
      gastro-smoking.json
  24. 16
      gastro.json
  25. 33
      health.json
  26. 94
      hiking_routes.json
  27. 6
      historic.json
  28. 65
      index.json
  29. 3
      internet.json
  30. 35
      lang/ast.json
  31. 103
      lang/ca.json
  32. 35
      lang/cs.json
  33. 15
      lang/de.json
  34. 65
      lang/el.json
  35. 17
      lang/en.json
  36. 105
      lang/es.json
  37. 71
      lang/et.json
  38. 69
      lang/fr.json
  39. 67
      lang/hu.json
  40. 43
      lang/it.json
  41. 41
      lang/ja.json
  42. 37
      lang/nl.json
  43. 87
      lang/pl.json
  44. 71
      lang/pt-br.json
  45. 71
      lang/pt.json
  46. 59
      lang/ro.json
  47. 43
      lang/ru.json
  48. 61
      lang/template.json
  49. 57
      lang/uk.json
  50. 2
      leisure.json
  51. 2
      military.json
  52. 52
      mtb-routes.json
  53. 4
      natural.json
  54. 4
      other.json
  55. 17
      outdoor.json
  56. 3
      phone.json
  57. 2
      places.json
  58. 2
      places_geo.json
  59. 2
      playgrounds.json
  60. 26
      popupBody.html
  61. 4
      post.json
  62. 2
      power.json
  63. 194
      pt.json
  64. 1
      pt_amenities.json
  65. 80
      pt_routes.json
  66. 47
      pt_stops.json
  67. 2
      public.json
  68. 10
      railway-electrification.json
  69. 21
      railway-infrastructure.json
  70. 59
      railway-routes.json
  71. 24
      religion.json
  72. 2
      residential.json
  73. 2
      resources.json
  74. 4
      shop.json
  75. 6
      sport.json
  76. 6
      tourism_attractions.json
  77. 6
      tourism_services.json
  78. 1
      transport_alternative.json
  79. 3
      walk_amenities.json
  80. 4
      waste.json
  81. 12
      water.json
  82. 5
      wikipedia.json
  83. 4
      works.json

2
administrative.json

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

13
agriculture.json

@ -12,6 +12,8 @@
"it": "Agricoltura",
"ja": "農業",
"nl": "Landbouw",
"pt": "Agricultura",
"pt-br": "Agricultura",
"ro": "Agricultura",
"ru": "Сельское хозяйство"
},
@ -25,6 +27,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"
}

2
alternative_routes.json

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

4
buildings.json

@ -3,7 +3,9 @@
"name": {
"de": "Gebäude",
"en": "Buildings",
"fr": "Bâtiments"
"fr": "Bâtiments",
"pt": "Edifícios",
"pt-br": "Edificações"
},
"query": {
"16": [

7
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": [
@ -40,7 +43,7 @@
"car_rental": "R",
"car_sharing": "S",
"car_wash": "🚿",
"charging_station": "🔌 ",
"charging_station": "🔌",
"fuel": "⛽",
"parking": "🅿",
"motorcycle_parking": "🅿"

4
car_furniture.json

@ -4,11 +4,13 @@
"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": "Mobiliário urbano",
"pt-br": "Mobiliário urbano",
"ru": "Элементы дороги",
"uk": "Street Furniture"
}

4
car_maxspeed.json

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

59
car_routes.json

@ -0,0 +1,59 @@
{
"type": "overpass",
"name": {
"en": "Car routes"
},
"query": {
"10": "relation[type=route][route=road]"
},
"members": true,
"feature": {
"pre": "{% set color = '#' ~ tags.network|default('')|md5|slice(0, 6) %}",
"description": "{% if tags.network %}{{ tagTrans('network', tags.network) }}{% endif %}",
"title": "{% if tags.ref and tags.name %}{{ tags.ref }} - {{ tags.name }}{% elseif tags.ref %}{{ tags.ref }}{% elseif tags.name %}{{ tags.name }}{% else %}{{ trans('unnamed') }}{% endif %}",
"listMarkerSymbol": "{{ markerLine({ 'width': 4, 'color': color })|raw }}",
"markerSymbol": "",
"styles": ""
},
"memberFeature": {
"pre": [
"{% set refs = [] %}",
"{% set color = '#d41d8c' %}",
"{% if tags.ref %}",
" {% set refs = refs|merge([ tags.ref ]) %}",
"{% endif %}",
"",
"{% for master in masters %}",
" {% if master.tags.network %}",
" {% set color = '#' ~ master.tags.network|md5|slice(0, 6) %}",
" {% endif %}",
" {% if master.tags.ref %}",
" {% set refs = refs|merge([ master.tags.ref ]) %}",
" {% endif %}",
"{% endfor %}"
],
"body": [
"<h4>Routes</h4>",
"<ul>",
"{% for master in masters %}",
" {% set _color = '#' ~ master.tags.operator|default('')|md5|slice(0, 6) %}",
" <li data-object=\"{{ master.id }}\" style='list-style: none;'>",
" <span class='markerParent'><div class='marker'>{{ markerLine({ width: 4, color: _color })|raw }}</div></span>",
" <span class='title'>{% if master.tags.ref and master.tags.name %}{{ master.tags.ref }} - {{ master.tags.name|default(master.tags.ref) }}{% elseif master.tags.ref %}{{ master.tags.ref }}{% elseif master.tags.name %}{{ master.tags.name }}{% else %}{{ trans('unnamed') }}{% endif %}</span>",
" <span class='description'>{{ tagTrans('network', master.tags.network) }}</span>",
" </li>",
"{% endfor %}",
"</ul>"
],
"listExclude": "1",
"style": {
"color": "{{ color }}",
"width": 4,
"opacity": 1,
"text": "{{ refs|join(' ') }} ",
"textRepeat": "1",
"textOffset": "12",
"textFontWeight": "bold"
}
}
}

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": [

2
communication.json

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

4
construction.json

@ -5,10 +5,12 @@
"cs": "Staveniště",
"de": "Baustellen",
"en": "Construction Sites",
"fr": "Zones industrielles",
"fr": "Constructions",
"it": "Cantieri",
"ja": "工事中",
"nl": "Bouwterrein",
"pt": "Locais de construção",
"pt-br": "Terrenos vazios e obras",
"ru": "Места строительства"
},
"query": {

76
craft.json

@ -0,0 +1,76 @@
{
"type": "overpass",
"name": {
"de": "Handwerk",
"en": "Craft",
"fr": "Artisanat",
"pt": "Artesanato",
"pt-br": "Ofícios"
},
"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": "🍷"
}
}
}

2
culture.json

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

6
culture_religion.json

@ -6,15 +6,17 @@
"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": "Cultura e religião",
"pt-br": "Cultura",
"ro": "Cultura",
"ru": "Культура",
"uk": "Культура "

17
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)$\"];",
@ -56,7 +59,13 @@
"",
"{% if tags.capacity %}({{ tags.capacity }}){% endif %}"
],
"description": "{{ tagTrans(key, value) }}",
"description": [
"{% if tags.amenity == 'vending_machine' %}",
"{{ tagTransList('amenity=vending_machine vending', value) }}",
"{% else %}",
"{{ tagTrans(key, value) }}",
"{% endif %}"
],
"body": [
"{% if tags.capacity %}",
" {{ keyTrans('capacity') }}: {{ tags.capacity }}",
@ -121,6 +130,10 @@
"amenity=compressed_air": {
"sign": "A",
"priority": 2
},
"amenity=charging_station": {
"sign": "🔌",
"priority": 2
}
}
}

93
cycle_routes.json

@ -3,7 +3,9 @@
"name": {
"de": "Radrouten",
"en": "Cycle Routes",
"fr": "Itinéraires vélo"
"fr": "Itinéraires vélo",
"pt": "Ciclovias",
"pt-br": "Ciclorrotas"
},
"query": {
"6": "relation[type=route][route=bicycle][network~'^(icn)$']",
@ -11,12 +13,93 @@
"12": "relation[type=route][route=bicycle][network~'^(icn|ncn|rcn)$']",
"15": "relation[type=route][route=bicycle]"
},
"members": true,
"feature": {
"priority": "{% if tags.network=='icn' %}0{% elseif tags.network=='ncn' %}1{% elseif tags.network=='rcn' %}2{% else %}3{% endif %}",
"priority": "{{ const[tags.network].priority|default(4) }}",
"description": "{{ tagTrans('network', tags.network) }}",
"listMarkerSymbol": "{{ markerLine({ 'width': 4, 'color': const[tags.network].color|default(const[''].color) })|raw }}",
"title": "{% if tags.ref and tags.name %}{{ tags.ref }} - {{ tags.name }}{% elseif tags.ref %}{{ tags.ref }}{% elseif tags.name %}{{ tags.name }}{% else %}{{ trans('unnamed') }}{% endif %}",
"styles": "",
"markerSymbol": ""
},
"memberFeature": {
"pre": [
"{% set priority = 4 %}",
"{% set network = '' %}",
"{% set refs = [] %}",
"",
"{% for master in masters %}",
" {% set _p = const[master.tags.network].priority|default(4) %}",
" {% if _p < priority %}",
" {% set priority = _p %}",
" {% set network = master.tags.network %}",
" {% endif %}",
" {% if master.tags.ref %}",
" {% set refs = refs|merge([ master.tags.ref ]) %}",
" {% endif %}",
"{% endfor %}"
],
"title": "",
"body": [
"<h4>Routes</h4>",
"<ul class='overpass-layer-list'>",
"{% for master in masters %}",
" <li data-object=\"{{ master.id }}\">",
" <span class='markerParent'><div class='marker'>{{ markerLine({ width: 4, color: const[master.tags.network].color|default(const[''].color) })|raw }}</div></span>",
" <span class='title'>{% if master.tags.ref and master.tags.name %}{{ master.tags.ref }} - {{ master.tags.name|default(master.tags.ref) }}{% elseif master.tags.ref %}{{ master.tags.ref }}{% elseif master.tags.name %}{{ master.tags.name }}{% else %}{{ trans('unnamed') }}{% endif %}</span>",
" <span class='description'>{{ tagTrans('network', master.tags.network) }}</span>",
" </li>",
"{% endfor %}",
"</ul>"
],
"listExclude": "1",
"style": {
"color": "{{ const[network].color }}",
"width": 4,
"color": "{% if tags.network=='icn' %}#ff0000{% elseif tags.network=='ncn' %}#ff007f{% elseif tags.network=='rcn' %}#7f00ff{% else %}#0000ff{% endif %}",
"opacity": 1
"opacity": 1,
"text": "{{ refs|join(' ') }} ",
"textRepeat": "1",
"textOffset": "12",
"textFontWeight": "bold"
}
},
"const": {
"icn": {
"color": "#ff0000",
"priority": 0,
"zoom": 6
},
"ncn": {
"color": "#ff00ba",
"priority": 1,
"zoom": 9
},
"rcn": {
"color": "#ba00ff",
"priority": 2,
"zoom": 12
},
"lcn": {
"color": "#0000ff",
"priority": 3,
"zoom": 15
},
"": {
"color": "#007fff",
"priority": 4,
"zoom": 15
}
}
},
"info": [
"<table>",
"{% for value, data in const %}",
"{% if data.zoom <= map.zoom %}",
" <tr>",
" <td>{{ markerLine({ 'width': 4, color: data.color })|raw }}</td>",
" <td>{% if value %}{{ tagTrans('network', value) }}{% else %}{{ trans('unknown') }}{% endif %}</td>",
" </tr>",
"{% endif %}",
"{% endfor %}",
"</table>"
]
}

5
detailsBody.html

@ -93,8 +93,11 @@
<i class="fa fa-money" aria-hidden="true"></i>
<span class='key'>{{ keyTrans('payment') }}:</span>
<span class='value'>
{% set i = 0 %}
{% for k, tag in payment %}
{% if tags[tag] == 'no' %}<s>{{ k }}</s> {% else %}{{ k }} {% endif %}
{%- if i > 0 %},{% endif %}
<span title="{{ tagTrans(k, tags[tag]) }}">{% if tags[tag] == 'no' %}<s>{{ keyTrans(tag, { default: k }) }}</s>{% else %}{{ keyTrans(tag, { default: k }) }}{% endif -%}</span>
{% set i = i + 1 -%}
{% endfor %}
</span>
</li>

4
education.json

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

28
emergency.json

@ -13,6 +13,8 @@
"it": "Servizi d'emergenza",
"ja": "緊急サービス",
"nl": "Hulpdiensten",
"pt": "Emergência",
"pt-br": "Emergência",
"ro": "Servicii urgenta",
"ru": "Экстренные службы",
"uk": "Швидка допомога"
@ -27,13 +29,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,26 +60,26 @@
"{% 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": "📞"
}

6
financial.json

@ -11,6 +11,8 @@
"ja": "金融",
"nl": "Financieel",
"pl": "Finasowe",
"pt": "Finanças",
"pt-br": "Finanças",
"ro": "Financiar",
"ru": "Финансы",
"uk": "Фінанси"
@ -20,14 +22,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)$\"];",
")"
]
},

92
fitness_trail.json

@ -0,0 +1,92 @@
{
"type": "overpass",
"name": {
"en": "Fitness trails"
},
"query": {
"14": "relation[type=route][route=fitness_trail]"
},
"members": true,
"feature": {
"body": [
"{% set countMembers = 0 %}",
"{% for member in members %}",
"{% if const.roles[member.role] %}",
"{% if countMembers == 0 %}<h4>Route</h4><ul class='overpass-layer-list'>{% endif %}",
"{% set countMembers = countMembers + 1 %}",
"<li data-object='{{ member.id }}' data-sublayer='member'>",
" <span class='markerParent'><div class='marker'>{{ markerCircle({})|raw }}</div><div class='icon'>{{ const.roles[member.role].sign|raw }}</div></span>",
" <span class='title'>{{ member.tags.name|default(trans('loading')) }}</span>",
"</li>",
"{% endif %}",
"{% endfor %}",
"{% if countMembers > 0 %}</ul>{% endif %}"
],
"description": "{{ tagTrans('route', 'fitness_trail') }}",
"listMarkerSymbol": "{{ markerLine({ 'width': 4, 'color': '#007fff' })|raw }}",
"markerSymbol": "",
"style": {
"opacity": 0,
"z-index": 1,
"width": 4
},
"style:hover": {
"width": "4",
"color": "#000000",
"radius": "4"
}
},
"memberFeature": {
"pre": [
"{% set master0 = masters[0] %}"
],
"title": "{{ tags.name }}",
"body": [
"<h4>Routes</h4>",
"<ul class='overpass-layer-list'>",
"{% for master in masters %}",
" <li data-object=\"{{ master.id }}\">",
" <span class='markerParent'><div class='marker'>{{ markerLine({ width: 4, color: '#007fff' })|raw }}</div></span>",
" <span class='title'>{{ master.tags.name }}</span>",
" <span class='description'>{{ tagTrans('route', master.tags.route) }}</span>",
" </li>",
"{% endfor %}",
"</ul>"
],
"listExclude": "1",
"style": {
"color": "{{ '#007fff' }}",
"width": 4,
"opacity": 1,
"textRepeat": "1",
"textOffset": "12",
"textFontWeight": "bold",
"radius": "3"
},
"style:hover": {
"radius": "4"
},
"markerSymbol": "{% if const.roles[master0.role] %}{{ markerPointer({})|raw }}{% endif %}",
"markerSign": "{% if const.roles[master0.role] %}{{ const.roles[master0.role].sign|raw }}{% endif %} ",
"popupReplace": "{% if masters|length == 1 %}{{ master0.id }}{% endif %}"
},
"const": {
"roles": {
"station": {
"sign": "<img src='maki:pitch'>"
},
"information": {
"sign": "🛈"
},
"start": {
"sign": "⚐"
},
"stop": {
"sign": "🏁"
},
"start_stop": {
"sign": "⚐"
}
}
}
}

69
gastro-smoking.json

@ -0,0 +1,69 @@
{
"type": "overpass",
"name": {
"de": "Rauchfreie Gastronomie",
"en": "Smokefree Gastronomy",
"fr": "Restauration sans tabac",
"pt": "Restauração livre de tabaco",
"pt-br": "Gastronomia sem fumo"
},
"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>"
]
}

16
gastro.json

@ -6,12 +6,14 @@
"de": "Gastronomie",
"el": "Γαστρονομία",
"en": "Gastronomy",
"fr": "Gastronomie",
"fr": "Restauration",
"hu": "Gasztronómia",
"it": "Gastronomia",
"ja": "食べ物",
"nl": "Gastronomie",
"pl": "Gastronomia",
"pt": "Restauração",
"pt-br": "Gastronomia",
"ro": "Gastronomie",
"ru": "Общепит",
"uk": "Гастрономія"
@ -28,6 +30,18 @@
" <span class='key'>{{ keyTrans('cuisine') }}:</span>",
" <span class='value'>{{ tagTransList('cuisine', tags.cuisine)|default(trans('unknown')) }}</span>",
" </li>",
" {% set diets = tagsPrefix(tags, 'diet:') %}",
" {% if diets %}",
" <li class='hasSymbol'>",
" <i class=\"fa fa-cutlery\" aria-hidden=\"true\"></i>",
" <span class='key'>{{ keyTrans('diet') }}:</span>",
" <span class='value'>",
" {% for kv, k in diets %}",
" {% set v = tags[k] %}",
" <span title='{{ k ~ '=' ~ v }}' style='white-space: nowrap; margin-right: 0.5em;'>{% if v == 'no' %}✘ {% elseif v == 'only' %}❗{% else %}✔{% endif %}{{ keyTrans(k) }}</span>",
" {% endfor %}",
" </span></li>",
" {% endif %}",
"</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 %}"

33
health.json

@ -11,6 +11,8 @@
"ja": "健康",
"nl": "Gezondheid",
"pl": "Zdrowie",
"pt": "Saúde",
"pt-br": "Saúde e assistência",
"ro": "Sanatate",
"ru": "Медицина",
"uk": "Здоров'я"
@ -58,31 +60,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'>"
}
}

94
hiking_routes.json

@ -2,7 +2,10 @@
"type": "overpass",
"name": {
"de": "Wanderrouten",
"en": "Hiking routes"
"en": "Hiking routes",
"fr": "Itinéraires pédestres",
"pt": "Rotas de caminhada",
"pt-br": "Rotas de caminhada"
},
"query": {
"10": "relation[type=route][route=hiking][network~\"^(iwn)$\"]",
@ -10,27 +13,92 @@
"12": "relation[type=route][route=hiking][network~\"^(iwn|nwn|rwn)$\"]",
"14": "relation[type=route][route=hiking]"
},
"members": true,
"feature": {
"description": "{{ tagTrans('network', tags.network) }}",
"priority": [
"{% set network_data = const[tags.network] %}",
"{% if network_data %}",
"{{ network_data.priority }}",
"{% endif %}"
]
"priority": "{{ const[tags.network].priority|default(4) }}",
"description": "{% if tags.network %}{{ tagTrans('network', tags.network) }}{% endif %}",
"listMarkerSymbol": "{{ markerLine({ 'width': 4, 'color': const[tags.network|default('')].color|default(const[''].color) })|raw }}",
"title": "{% if tags.ref and tags.name %}{{ tags.ref }} - {{ tags.name }}{% elseif tags.ref %}{{ tags.ref }}{% elseif tags.name %}{{ tags.name }}{% else %}{{ trans('unnamed') }}{% endif %}",
"styles": "",
"markerSymbol": ""
},
"memberFeature": {
"pre": [
"{% set priority = 4 %}",
"{% set network = '' %}",
"{% set refs = [] %}",
"",
"{% for master in masters %}",
" {% set _p = const[master.tags.network].priority|default(4) %}",
" {% if _p < priority %}",
" {% set priority = _p %}",
" {% set network = master.tags.network %}",
" {% endif %}",
" {% if master.tags.ref %}",
" {% set refs = refs|merge([ master.tags.ref ]) %}",
" {% endif %}",
"{% endfor %}"
],
"body": [
"<h4>Routes</h4>",
"<ul class='overpass-layer-list'>",
"{% for master in masters %}",
" <li data-object=\"{{ master.id }}\">",
" <span class='markerParent'><div class='marker'>{{ markerLine({ width: 4, color: const[master.tags.network].color|default(const[''].color) })|raw }}</div></span>",
" <span class='title'>{% if master.tags.ref and master.tags.name %}{{ master.tags.ref }} - {{ master.tags.name|default(master.tags.ref) }}{% elseif master.tags.ref %}{{ master.tags.ref }}{% elseif master.tags.name %}{{ master.tags.name }}{% else %}{{ trans('unnamed') }}{% endif %}</span>",
" <span class='description'>{{ tagTrans('network', master.tags.network) }}</span>",
" </li>",
"{% endfor %}",
"</ul>"
],
"listExclude": "1",
"style": {
"color": "{{ const[network].color }}",
"width": 4,
"opacity": 1,
"text": "{{ refs|join(' ') }} ",
"textRepeat": "1",
"textOffset": "12",
"textFontWeight": "bold"
}
},
"const": {
"iwn": {
"priority": 1
"color": "#ff0000",
"priority": 0,
"zoom": 10
},
"nwn": {
"priority": 2
"color": "#ff00ba",
"priority": 1,
"zoom": 11
},
"rwn": {
"priority": 3
"color": "#ba00ff",
"priority": 2,
"zoom": 12
},
"lwn": {
"priority": 4
"color": "#0000ff",
"priority": 3,
"zoom": 14
},
"": {
"color": "#007fff",
"priority": 4,
"zoom": 14
}
}
},
"info": [
"<table>",
"{% for value, data in const %}",
"{% if data.zoom <= map.zoom %}",
" <tr>",
" <td>{{ markerLine({ 'width': 4, color: data.color })|raw }}</td>",
" <td>{% if value %}{{ tagTrans('network', value) }}{% else %}{{ trans('unknown') }}{% endif %}</td>",
" </tr>",
"{% endif %}",
"{% endfor %}",
"</table>"
]
}

6
historic.json

@ -13,6 +13,8 @@
"ja": "記念",
"nl": "Historisch",
"pl": "Miejsca Historyczne",
"pt": "Histórico",
"pt-br": "Histórico",
"ro": "Istoric",
"ru": "Историческое",
"uk": "Історія"
@ -73,7 +75,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": {
@ -81,4 +83,4 @@
"zoom": 11
}
}
}
}

65
index.json

@ -21,7 +21,9 @@
"pl": "Wypoczynek, Sport i Zakupy",
"ro": "Timp liber, Sport si Cumparaturi",
"ru": "Досуг",
"uk": "Дозвілля"
"uk": "Дозвілля",
"pt-br": "Lazer, esportes e compras",
"pt": "Lazer, desporto e compras"
},
"subCategories": [
{
@ -30,6 +32,9 @@
{
"id": "shop"
},
{
"id": "craft"
},
{
"id": "leisure"
},
@ -38,6 +43,9 @@
},
{
"id": "children"
},
{
"id": "outdoor"
}
]
},
@ -61,7 +69,9 @@
"pl": "Usługi",
"ro": "Servicii",
"ru": "Услуги",
"uk": "Послуги"
"uk": "Послуги",
"pt-br": "Prestação de serviços",
"pt": "Serviços"
},
"subCategories": [
{
@ -108,7 +118,9 @@
"pl": "Transport",
"ro": "Transport",
"ru": "Транспорт",
"uk": "Транспорт"
"uk": "Транспорт",
"pt-br": "Transportes",
"pt": "Transportes"
},
"subCategories": [
{
@ -117,7 +129,9 @@
"name": {
"de": "Zu Fuß gehen",
"en": "Walking",
"fr": "Marche à pied"
"fr": "Marche à pied",
"pt-br": "Pedestre",
"pt": "Pedestre"
},
"subCategories": [
{
@ -134,7 +148,9 @@
"name": {
"de": "Radfahren",
"en": "Cycling",
"fr": "Cyclisme"
"fr": "Cyclisme",
"pt-br": "Ciclismo",
"pt": "Ciclismo"
},
"subCategories": [
{
@ -163,17 +179,16 @@
"pl": "Transport Publiczny",
"ro": "Transport public",
"ru": "Общественный транспорт",
"uk": "Громадський транспорт"
"uk": "Громадський транспорт",
"pt-br": "Transporte público",
"pt": "Transportes públicos"
},
"subCategories": [
{
"id": "pt_amenities"
},
{
"id": "pt_stops"
},
{
"id": "pt_routes"
"id": "pt"
}
]
},
@ -192,7 +207,9 @@
"pl": "Transport Indywidualny",
"ro": "Trafic individual",
"ru": "Частный транспорт",
"uk": "Приватний транспорт"
"uk": "Приватний транспорт",
"pt-br": "Tráfego individual",
"pt": "Transporte individual"
},
"subCategories": [
{
@ -200,6 +217,9 @@
},
{
"id": "car_maxspeed"
},
{
"id": "car_routes"
}
]
}
@ -211,7 +231,9 @@
"name": {
"de": "Infrastruktur",
"en": "Infrastructure",
"fr": "Infrastructures"
"fr": "Infrastructures",
"pt-br": "Infraestrutura",
"pt": "Infraestrutura"
},
"subCategories": [
{
@ -240,7 +262,9 @@
"it": "Ferrovie",
"ja": "鉄道",
"nl": "Spoorwegen",
"ru": "Железные дороги"
"ru": "Железные дороги",
"pt-br": "Ferrovia",
"pt": "Linhas ferroviárias"
},
"subCategories": [
{
@ -248,6 +272,9 @@
},
{
"id": "railway-electrification"
},
{
"id": "railway-routes"
}
]
},
@ -273,14 +300,22 @@
"type": "index",
"name": {
"en": "Special",
"de": "Spezial"
"de": "Spezial",
"pt-br": "Especial",