diff --git a/car_routes.json b/car_routes.json index a31247e8..d1c7734c 100644 --- a/car_routes.json +++ b/car_routes.json @@ -2,6 +2,7 @@ "type": "overpass", "name": { "en": "Car routes", + "fr": "Itinéraires auto", "hu": "Főútvonalak", "pt-br": "Rotas rodoviárias" }, diff --git a/children.json b/children.json index e814ed10..69fc9134 100644 --- a/children.json +++ b/children.json @@ -37,7 +37,7 @@ "{% elseif tags.shop=='baby_goods' or tags.shop=='toys' %}", "{{ keyTrans('shop') }}: {{ tagTrans('shop', tags.shop) }}", "{% elseif tags.amenity=='toilets' and tags.diaper %}", - "{{ tagTrans('amenity', 'toilets') }} with diaper changing table", + "{{ tagTrans('amenity', 'toilets diaper=yes') }}", "{% endif %}" ], "markerSign": [ @@ -78,7 +78,7 @@ " ", " ", " {{ markerCircle({})|raw }}
🚽🚼
", - " {{ tagTrans('amenity', 'toilets') }} with diaper changing table", + " {{ tagTrans('amenity', 'toilets diaper=yes') }}", " ", "" ] diff --git a/coal.json b/coal.json index 3cc7137d..d084cae2 100644 --- a/coal.json +++ b/coal.json @@ -2,7 +2,9 @@ "type": "overpass", "name": { "de": "Kohle", - "en": "Coal" + "en": "Coal", + "fr": "Charbon", + "pt-br": "Carvão" }, "query": { "11": [ diff --git a/cycle_routes.json b/cycle_routes.json index 3844eec1..828dfaf7 100644 --- a/cycle_routes.json +++ b/cycle_routes.json @@ -21,6 +21,12 @@ "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": "", + "style:hover": { + "width": 0 + }, + "style:selected": { + "width": 0 + }, "markerSymbol": "" }, "memberFeature": { @@ -28,6 +34,10 @@ "{% set priority = 4 %}", "{% set network = '' %}", "{% set refs = [] %}", + "{% set dirForward = false %}", + "{% set dirBackward = false %}", + "{% set hover = false %}", + "{% set selected = false %}", "", "{% for master in masters %}", " {% set _p = const[master.tags.network].priority|default(4) %}", @@ -38,6 +48,12 @@ " {% if master.tags.ref %}", " {% set refs = refs|merge([ master.tags.ref ]) %}", " {% endif %}", + " {% if master.role == 'forward' %}{% set dirForward = true %}", + " {% elseif master.role == 'backward' %}{% set dirBackward = true %}", + " {% else %}{% set dirForward = true %}{% set dirBackward = true %}", + " {% endif %}", + " {% if master.flags.hover %}{% set hover = master.role|default('both') %}{% endif %}", + " {% if master.flags.selected %}{% set selected = master.role|default('both') %}{% endif %}", "{% endfor %}" ], "title": "", @@ -54,14 +70,64 @@ "" ], "listExclude": "1", + "styles": "default{% if hover %},hover{% endif %}{% if selected %},selected{% endif %}", "style": { "color": "{{ const[network].color }}", - "width": 4, + "width": "4", + "dashArray": "{% if not dirForward or not dirBackward %}27,8{% endif %}", + "dashOffset": "{% if dirBackward %}28{% else %}0{% endif %}", + "lineCap": "{% if not dirForward or not dirBackward %}butt{% else %}round{% endif %}", + "noClip": "{% if not dirForward or not dirBackward %}true{% else %}false{% endif %}", "opacity": 1, "text": "{{ refs|join(' · ') }} ", "textRepeat": "1", "textOffset": "12", - "textFontWeight": "bold" + "textFontWeight": "bold", + "pattern": "{% if dirForward and dirBackward %}{% else %}arrowHead{% endif %}", + "pattern-pixelSize": "9", + "pattern-repeat": "35", + "pattern-offset": "{% if dirBackward %}4{% else %}30.5{% endif %}", + "pattern-polygon": "true", + "pattern-angleCorrection": "{% if dirBackward %}180{% else %}0{% endif %}", + "pattern-path-width": "0", + "pattern-path-fillOpacity": "1", + "pattern-path-color": "{{ const[network].color }}" + }, + "style:hover": { + "pane": "hover", + "width": "4", + "dashArray": "{% if hover == 'forward' or hover == 'backward' %}27,8{% endif %}", + "dashOffset": "{% if hover == 'backward' %}28{% else %}0{% endif %}", + "lineCap": "{% if hover == 'forward' or hover == 'backward' %}butt{% else %}round{% endif %}", + "noClip": "{% if hover == 'forward' or hover == 'backward' %}true{% else %}false{% endif %}", + "color": "black", + "pattern": "{% if hover == 'forward' or hover == 'backward' %}arrowHead{% endif %}", + "pattern-pixelSize": "9", + "pattern-repeat": "35", + "pattern-offset": "{% if hover == 'backward' %}4{% else %}30.5{% endif %}", + "pattern-polygon": "true", + "pattern-angleCorrection": "{% if hover == 'backward' %}180{% else %}0{% endif %}", + "pattern-path-width": "0", + "pattern-path-fillOpacity": "1", + "pattern-path-color": "black" + }, + "style:selected": { + "pane": "selected", + "width": "4", + "dashArray": "{% if selected == 'forward' or selected == 'backward' %}27,8{% endif %}", + "dashOffset": "{% if selected == 'backward' %}28{% else %}0{% endif %}", + "lineCap": "{% if selected == 'forward' or selected == 'backward' %}butt{% else %}round{% endif %}", + "noClip": "{% if selected == 'forward' or selected == 'backward' %}true{% else %}false{% endif %}", + "color": "#3f3f3f", + "pattern": "{% if selected == 'forward' or selected == 'backward' %}arrowHead{% endif %}", + "pattern-pixelSize": "9", + "pattern-repeat": "35", + "pattern-offset": "{% if selected == 'backward' %}4{% else %}30.5{% endif %}", + "pattern-polygon": "true", + "pattern-angleCorrection": "{% if selected == 'backward' %}180{% else %}0{% endif %}", + "pattern-path-width": "0", + "pattern-path-fillOpacity": "1", + "pattern-path-color": "#3f3f3f" } }, "const": { diff --git a/electric_power.json b/electric_power.json index ce31be5a..e2cee976 100644 --- a/electric_power.json +++ b/electric_power.json @@ -6,13 +6,13 @@ "de": "Elektrischer Strom", "en": "Electric Power", "et": "Elekter", - "fr": "Énergie", + "fr": "Production/transport électrique", "hu": "Áramellátás", "it": "Energia", "ja": "電力", "nl": "Stroomvoorziening", "pt": "Eletricidade", - "pt-br": "Energia", + "pt-br": "Energia elétrica", "ro": "Energie", "ru": "Энергетика" }, diff --git a/index.json b/index.json index 2fbd6b82..77bd73e4 100644 --- a/index.json +++ b/index.json @@ -46,6 +46,9 @@ }, { "id": "outdoor" + }, + { + "id": "swimming_bathing" } ] }, @@ -86,6 +89,9 @@ { "id": "communication" }, + { + "id": "office" + }, { "id": "financial" }, @@ -254,12 +260,17 @@ "type": "index", "name": { "en": "Energy", - "de": "Energie" + "de": "Energie", + "pt-br": "Energia", + "fr": "Énergie" }, "subCategories": [ { "id": "electric_power" }, + { + "id": "power_routes" + }, { "id": "coal" }, @@ -338,6 +349,9 @@ }, { "id": "wikipedia" + }, + { + "id": "xmas" } ] } diff --git a/lang/ast.json b/lang/ast.json index a5e172fe..5439d69f 100644 --- a/lang/ast.json +++ b/lang/ast.json @@ -36,6 +36,7 @@ "category:military": "Militar", "category:mtb-routes": "", "category:natural": "Formaciones naturales", + "category:office": "", "category:oil_gas": "", "category:other": "Otres", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "Llugares", "category:playgrounds": "Xuegos infantiles", "category:post": "Corréu", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "Paraes y estaciones", @@ -62,6 +64,7 @@ "category:shop": "Compres", "category:special": "", "category:sport": "Deportes", + "category:swimming_bathing": "", "category:tourism_attractions": "Turismu", "category:tourism_services": "Turismu", "category:transport": "Tresporte", @@ -74,5 +77,6 @@ "category:waste": "Basures", "category:water": "", "category:wikipedia": "", - "category:works": "Fábriques" + "category:works": "Fábriques", + "category:xmas": "" } diff --git a/lang/ca.json b/lang/ca.json index 9a95a3e1..2b4a38df 100644 --- a/lang/ca.json +++ b/lang/ca.json @@ -36,6 +36,7 @@ "category:military": "", "category:mtb-routes": "", "category:natural": "", + "category:office": "", "category:oil_gas": "", "category:other": "", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "", "category:playgrounds": "", "category:post": "", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "", @@ -62,6 +64,7 @@ "category:shop": "", "category:special": "", "category:sport": "", + "category:swimming_bathing": "", "category:tourism_attractions": "", "category:tourism_services": "", "category:transport": "", @@ -74,5 +77,6 @@ "category:waste": "", "category:water": "", "category:wikipedia": "", - "category:works": "" + "category:works": "", + "category:xmas": "" } diff --git a/lang/cs.json b/lang/cs.json index 316a8e55..ac91fbc3 100644 --- a/lang/cs.json +++ b/lang/cs.json @@ -36,6 +36,7 @@ "category:military": "Vojenské", "category:mtb-routes": "", "category:natural": "Přírodní úkazy", + "category:office": "", "category:oil_gas": "", "category:other": "Jiné", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "Sídla", "category:playgrounds": "Hřiště", "category:post": "Poštovní služby", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "Zastávky & Stanice", @@ -62,6 +64,7 @@ "category:shop": "Obchody", "category:special": "", "category:sport": "Sport", + "category:swimming_bathing": "", "category:tourism_attractions": "Turistika", "category:tourism_services": "Turistika", "category:transport": "Doprava", @@ -74,5 +77,6 @@ "category:waste": "Nakládání s odpady", "category:water": "", "category:wikipedia": "", - "category:works": "Továrny" + "category:works": "Továrny", + "category:xmas": "" } diff --git a/lang/de.json b/lang/de.json index 2a770098..8056518e 100644 --- a/lang/de.json +++ b/lang/de.json @@ -36,6 +36,7 @@ "category:military": "Militär", "category:mtb-routes": "", "category:natural": "Geographische Objekte", + "category:office": "Ämter, Dienst- und Geschäftsstellen", "category:oil_gas": "Erdöl und Erdgas", "category:other": "Andere", "category:outdoor": "Freiluftaktivitäten", @@ -44,6 +45,7 @@ "category:places_geo": "Orte", "category:playgrounds": "Spielplätze", "category:post": "Post", + "category:power_routes": "", "category:pt": "ÖV Karte", "category:pt:routes": "Routen", "category:pt:stops": "Haltestellen", @@ -62,6 +64,7 @@ "category:shop": "Einkauf", "category:special": "Spezial", "category:sport": "Sport", + "category:swimming_bathing": "Schwimmen und Baden", "category:tourism_attractions": "Tourismus", "category:tourism_services": "Tourismus", "category:transport": "Transport", @@ -74,5 +77,6 @@ "category:waste": "Entsorgung", "category:water": "Gewässer", "category:wikipedia": "Wikipedia", - "category:works": "Fabriken" + "category:works": "Fabriken", + "category:xmas": "" } diff --git a/lang/el.json b/lang/el.json index 97c3dc66..6daf1ec0 100644 --- a/lang/el.json +++ b/lang/el.json @@ -36,6 +36,7 @@ "category:military": "Στρατιωτικό", "category:mtb-routes": "", "category:natural": "Φυσικοί Σχηματισμοί", + "category:office": "", "category:oil_gas": "", "category:other": "", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "Μέρη", "category:playgrounds": "", "category:post": "", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "Στάσεις & Σταθμοί", @@ -62,6 +64,7 @@ "category:shop": "Αγορές", "category:special": "", "category:sport": "Άθληση", + "category:swimming_bathing": "", "category:tourism_attractions": "Τουρισμός", "category:tourism_services": "Τουρισμός", "category:transport": "Μεταφορές", @@ -74,5 +77,6 @@ "category:waste": "", "category:water": "", "category:wikipedia": "", - "category:works": "" + "category:works": "", + "category:xmas": "" } diff --git a/lang/en.json b/lang/en.json index 153aea4a..8d7fa635 100644 --- a/lang/en.json +++ b/lang/en.json @@ -36,6 +36,7 @@ "category:military": "Military", "category:mtb-routes": "Mountain bike routes", "category:natural": "Natural Formations", + "category:office": "Offices", "category:oil_gas": "Petroleum and natural gas", "category:other": "Other", "category:outdoor": "Outdoor activities", @@ -44,6 +45,7 @@ "category:places_geo": "Places", "category:playgrounds": "Playground", "category:post": "Post", + "category:power_routes": "Power routes", "category:pt": "Public transport map", "category:pt:routes": "Routes", "category:pt:stops": "Stops & Stations", @@ -62,6 +64,7 @@ "category:shop": "Shopping", "category:special": "Special", "category:sport": "Sport", + "category:swimming_bathing": "Swimming and bathing", "category:tourism_attractions": "Tourism", "category:tourism_services": "Tourism", "category:transport": "Transportation", @@ -74,5 +77,6 @@ "category:waste": "Disposal", "category:water": "Waterbodies", "category:wikipedia": "Wikipedia", - "category:works": "Works" + "category:works": "Works", + "category:xmas": "Christmas" } diff --git a/lang/es.json b/lang/es.json index b13fced3..75245e17 100644 --- a/lang/es.json +++ b/lang/es.json @@ -36,6 +36,7 @@ "category:military": "", "category:mtb-routes": "", "category:natural": "", + "category:office": "", "category:oil_gas": "", "category:other": "", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "", "category:playgrounds": "", "category:post": "", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "Paradas y estaciones", @@ -62,6 +64,7 @@ "category:shop": "", "category:special": "", "category:sport": "", + "category:swimming_bathing": "", "category:tourism_attractions": "", "category:tourism_services": "", "category:transport": "", @@ -74,5 +77,6 @@ "category:waste": "", "category:water": "", "category:wikipedia": "", - "category:works": "" + "category:works": "", + "category:xmas": "" } diff --git a/lang/et.json b/lang/et.json index e6474410..e8985de6 100644 --- a/lang/et.json +++ b/lang/et.json @@ -36,6 +36,7 @@ "category:military": "", "category:mtb-routes": "", "category:natural": "", + "category:office": "", "category:oil_gas": "", "category:other": "Ülejäänud", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "Kohad", "category:playgrounds": "Mänguväljak", "category:post": "", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "", @@ -62,6 +64,7 @@ "category:shop": "Ostmine", "category:special": "", "category:sport": "", + "category:swimming_bathing": "", "category:tourism_attractions": "Turism", "category:tourism_services": "Turism", "category:transport": "Transport", @@ -74,5 +77,6 @@ "category:waste": "", "category:water": "", "category:wikipedia": "", - "category:works": "" + "category:works": "", + "category:xmas": "" } diff --git a/lang/fr.json b/lang/fr.json index 784d81c9..59026796 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -7,9 +7,9 @@ "category:car_amenities": "Équipements auto", "category:car_furniture": "Fournitures automobiles", "category:car_maxspeed": "Limites de vitesse", - "category:car_routes": "", + "category:car_routes": "Itinéraires auto", "category:children": "Équipements pour enfants", - "category:coal": "", + "category:coal": "Charbon", "category:communication": "Communication", "category:construction": "Constructions", "category:craft": "Artisanat", @@ -18,9 +18,9 @@ "category:cycle_amenities": "Équipements vélo", "category:cycle_routes": "Itinéraires vélo", "category:education": "Éducation", - "category:electric_power": "Énergie", + "category:electric_power": "Production/transport électrique", "category:emergency": "Services d'urgence", - "category:energy": "", + "category:energy": "Énergie", "category:financial": "Finance", "category:gastro": "Restauration", "category:gastro-smoking": "Restauration sans tabac", @@ -32,11 +32,12 @@ "category:internet": "Internet", "category:leisure": "Loisirs", "category:leisure_sport_shopping": "Loisirs", - "category:memorial": "", + "category:memorial": "Mémoriaux", "category:military": "Militaire", "category:mtb-routes": "Itinéraires de VTT", "category:natural": "Éléments naturels", - "category:oil_gas": "", + "category:office": "Bureaux", + "category:oil_gas": "Pétrole et gaz naturel", "category:other": "Autres", "category:outdoor": "Activités de plein air", "category:phone": "Téléphone", @@ -44,7 +45,8 @@ "category:places_geo": "Lieux", "category:playgrounds": "Jeux pour enfants", "category:post": "", - "category:pt": "", + "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_amenities": "Équipements", @@ -55,13 +57,14 @@ "category:railway-maxspeed": "Limites de vitesse", "category:railway-routes": "Lignes ferroviaires", "category:religion": "Religion", - "category:renewables": "", + "category:renewables": "Énergies renouvelables", "category:residential": "Zones résidentielles", "category:resources": "Extraction des ressources", "category:services": "Services", "category:shop": "Magasins/Boutiques", "category:special": "Catégories spéciales", "category:sport": "Sports", + "category:swimming_bathing": "Natation/Baignade/Bains", "category:tourism_attractions": "Tourisme", "category:tourism_services": "Tourisme", "category:transport": "Transports", @@ -74,5 +77,6 @@ "category:waste": "Déchets/Recyclage", "category:water": "Hydrographie", "category:wikipedia": "Wikipédia", - "category:works": "Zones industrielles" + "category:works": "Zones industrielles", + "category:xmas": "Noël" } diff --git a/lang/hu.json b/lang/hu.json index a673480c..b188f7ac 100644 --- a/lang/hu.json +++ b/lang/hu.json @@ -36,6 +36,7 @@ "category:military": "Katonai objektumok", "category:mtb-routes": "Hegyikerékpáros útvonalak", "category:natural": "Természeti képződmények", + "category:office": "", "category:oil_gas": "", "category:other": "Egyéb", "category:outdoor": "Szabadtéri tevékenységek", @@ -44,6 +45,7 @@ "category:places_geo": "Helyek", "category:playgrounds": "Játszóterek", "category:post": "Posta", + "category:power_routes": "", "category:pt": "Tömegközlekedési térkép", "category:pt:routes": "Útvonalak", "category:pt:stops": "Megállók és állomások", @@ -62,6 +64,7 @@ "category:shop": "Vásárlás", "category:special": "Speciális", "category:sport": "Sport", + "category:swimming_bathing": "", "category:tourism_attractions": "Látnivalók", "category:tourism_services": "Turisztikai szolgáltatások", "category:transport": "Közlekedés", @@ -74,5 +77,6 @@ "category:waste": "Hulladék", "category:water": "Vizek", "category:wikipedia": "Wikipédia", - "category:works": "Üzemek" + "category:works": "Üzemek", + "category:xmas": "" } diff --git a/lang/it.json b/lang/it.json index 1e54cd38..75dff968 100644 --- a/lang/it.json +++ b/lang/it.json @@ -36,6 +36,7 @@ "category:military": "Militare", "category:mtb-routes": "", "category:natural": "Natura", + "category:office": "", "category:oil_gas": "", "category:other": "Altri", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "Luoghi", "category:playgrounds": "", "category:post": "", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "Stazioni e fermate", @@ -62,6 +64,7 @@ "category:shop": "Acquisti", "category:special": "", "category:sport": "Sport", + "category:swimming_bathing": "", "category:tourism_attractions": "Turismo", "category:tourism_services": "Turismo", "category:transport": "Trasporti", @@ -74,5 +77,6 @@ "category:waste": "Smaltimento", "category:water": "", "category:wikipedia": "", - "category:works": "Fabbriche" + "category:works": "Fabbriche", + "category:xmas": "" } diff --git a/lang/ja.json b/lang/ja.json index 6f92a3bf..01be5468 100644 --- a/lang/ja.json +++ b/lang/ja.json @@ -36,6 +36,7 @@ "category:military": "軍事", "category:mtb-routes": "", "category:natural": "自然地層", + "category:office": "", "category:oil_gas": "", "category:other": "その他", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "場所", "category:playgrounds": "", "category:post": "郵便", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "停留所と駅", @@ -62,6 +64,7 @@ "category:shop": "ショッピング", "category:special": "", "category:sport": "スポーツ", + "category:swimming_bathing": "", "category:tourism_attractions": "観光", "category:tourism_services": "観光", "category:transport": "輸送", @@ -74,5 +77,6 @@ "category:waste": "処理場", "category:water": "", "category:wikipedia": "", - "category:works": "工場" + "category:works": "工場", + "category:xmas": "" } diff --git a/lang/nl.json b/lang/nl.json index a7ca08ee..39911ad2 100644 --- a/lang/nl.json +++ b/lang/nl.json @@ -36,6 +36,7 @@ "category:military": "Militair", "category:mtb-routes": "", "category:natural": "Natuurlijke Formaties", + "category:office": "", "category:oil_gas": "", "category:other": "Andere", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "Plaatsen", "category:playgrounds": "", "category:post": "Post", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "Haltes en Stations", @@ -62,6 +64,7 @@ "category:shop": "Winkelen", "category:special": "", "category:sport": "Sport", + "category:swimming_bathing": "", "category:tourism_attractions": "Toerisme", "category:tourism_services": "Toerisme", "category:transport": "Vervoer", @@ -74,5 +77,6 @@ "category:waste": "Afvalverwijdering", "category:water": "", "category:wikipedia": "", - "category:works": "Fabrieken" + "category:works": "Fabrieken", + "category:xmas": "" } diff --git a/lang/pl.json b/lang/pl.json index fbce3f3f..b4709717 100644 --- a/lang/pl.json +++ b/lang/pl.json @@ -36,6 +36,7 @@ "category:military": "", "category:mtb-routes": "", "category:natural": "", + "category:office": "", "category:oil_gas": "", "category:other": "", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "Miejsca", "category:playgrounds": "", "category:post": "", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "Przystanki i Stacje", @@ -62,6 +64,7 @@ "category:shop": "Zakupy", "category:special": "", "category:sport": "", + "category:swimming_bathing": "", "category:tourism_attractions": "Turystyka", "category:tourism_services": "Turystyka", "category:transport": "Transport", @@ -74,5 +77,6 @@ "category:waste": "", "category:water": "", "category:wikipedia": "", - "category:works": "" + "category:works": "", + "category:xmas": "" } diff --git a/lang/pt-br.json b/lang/pt-br.json index e0fa41fc..04af446a 100644 --- a/lang/pt-br.json +++ b/lang/pt-br.json @@ -9,7 +9,7 @@ "category:car_maxspeed": "Velocidade máxima", "category:car_routes": "Rotas rodoviárias", "category:children": "Equipamentos infantis", - "category:coal": "", + "category:coal": "Carvão", "category:communication": "Comunicação", "category:construction": "Terrenos vazios e obras", "category:craft": "Ofícios", @@ -18,9 +18,9 @@ "category:cycle_amenities": "Equipamentos", "category:cycle_routes": "Ciclorrotas", "category:education": "Educação", - "category:electric_power": "Energia", + "category:electric_power": "Energia elétrica", "category:emergency": "Emergência", - "category:energy": "", + "category:energy": "Energia", "category:financial": "Finanças", "category:gastro": "Gastronomia", "category:gastro-smoking": "Gastronomia sem fumo", @@ -32,11 +32,12 @@ "category:internet": "Acesso à Internet", "category:leisure": "Lazer", "category:leisure_sport_shopping": "Lazer, esportes e compras", - "category:memorial": "", + "category:memorial": "Memoriais", "category:military": "Militar", - "category:mtb-routes": "Rotas mountain bike", + "category:mtb-routes": "Rotas de mountain bike", "category:natural": "Formações naturais", - "category:oil_gas": "", + "category:office": "", + "category:oil_gas": "Petróleo e gás", "category:other": "Outros", "category:outdoor": "Atividades ao ar livre", "category:phone": "Telefone", @@ -44,6 +45,7 @@ "category:places_geo": "Lugares", "category:playgrounds": "Parquinhos", "category:post": "Correios", + "category:power_routes": "", "category:pt": "Mapa de transporte público", "category:pt:routes": "Rotas", "category:pt:stops": "Paradas e estações", @@ -55,13 +57,14 @@ "category:railway-maxspeed": "Velocidade máxima", "category:railway-routes": "Rotas ferroviárias", "category:religion": "Religião", - "category:renewables": "", + "category:renewables": "Renováveis", "category:residential": "Áreas residenciais", "category:resources": "Extração de recursos", "category:services": "Prestação de serviços", "category:shop": "Compras", "category:special": "Especial", "category:sport": "Esportes", + "category:swimming_bathing": "", "category:tourism_attractions": "Turismo", "category:tourism_services": "Serviços de turismo", "category:transport": "Mobilidade", @@ -74,5 +77,6 @@ "category:waste": "Lixo", "category:water": "Hidrografia", "category:wikipedia": "Wikipédia", - "category:works": "Fábricas" + "category:works": "Fábricas", + "category:xmas": "" } diff --git a/lang/pt.json b/lang/pt.json index 64314ad9..ac5a8aa7 100644 --- a/lang/pt.json +++ b/lang/pt.json @@ -36,6 +36,7 @@ "category:military": "Militar", "category:mtb-routes": "", "category:natural": "Formações naturais", + "category:office": "", "category:oil_gas": "", "category:other": "Outros", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "Lugares", "category:playgrounds": "Parques infantis", "category:post": "Correios", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "Rotas", "category:pt:stops": "", @@ -62,6 +64,7 @@ "category:shop": "Compras", "category:special": "Especial", "category:sport": "Desporto", + "category:swimming_bathing": "", "category:tourism_attractions": "Turismo", "category:tourism_services": "Turismo", "category:transport": "Transportes", @@ -74,5 +77,6 @@ "category:waste": "Lixo", "category:water": "Massas de água", "category:wikipedia": "Wikipédia", - "category:works": "Fábricas" + "category:works": "Fábricas", + "category:xmas": "" } diff --git a/lang/ro.json b/lang/ro.json index 827c3298..857f9e06 100644 --- a/lang/ro.json +++ b/lang/ro.json @@ -36,6 +36,7 @@ "category:military": "Militar", "category:mtb-routes": "", "category:natural": "", + "category:office": "", "category:oil_gas": "", "category:other": "Altele", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "Locuri", "category:playgrounds": "Loc de joaca", "category:post": "", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "", @@ -62,6 +64,7 @@ "category:shop": "Cumpărături", "category:special": "", "category:sport": "", + "category:swimming_bathing": "", "category:tourism_attractions": "Turism", "category:tourism_services": "Turism", "category:transport": "Transport", @@ -74,5 +77,6 @@ "category:waste": "", "category:water": "", "category:wikipedia": "", - "category:works": "" + "category:works": "", + "category:xmas": "" } diff --git a/lang/ru.json b/lang/ru.json index 57ed5007..0d2c78d3 100644 --- a/lang/ru.json +++ b/lang/ru.json @@ -36,6 +36,7 @@ "category:military": "Вооружённые силы", "category:mtb-routes": "", "category:natural": "Природные образования", + "category:office": "", "category:oil_gas": "", "category:other": "Прочее", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "Места", "category:playgrounds": "", "category:post": "", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "Остановки и станции", @@ -62,6 +64,7 @@ "category:shop": "Покупки", "category:special": "", "category:sport": "Спорт", + "category:swimming_bathing": "", "category:tourism_attractions": "Туризм", "category:tourism_services": "Туризм", "category:transport": "Транспорт", @@ -74,5 +77,6 @@ "category:waste": "Переработка отходов", "category:water": "", "category:wikipedia": "", - "category:works": "Промышленность" + "category:works": "Промышленность", + "category:xmas": "" } diff --git a/lang/template.json b/lang/template.json index 39c78d33..135ff395 100644 --- a/lang/template.json +++ b/lang/template.json @@ -36,6 +36,7 @@ "category:military": "", "category:mtb-routes": "", "category:natural": "", + "category:office": "", "category:oil_gas": "", "category:other": "", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "", "category:playgrounds": "", "category:post": "", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "", @@ -62,6 +64,7 @@ "category:shop": "", "category:special": "", "category:sport": "", + "category:swimming_bathing": "", "category:tourism_attractions": "", "category:tourism_services": "", "category:transport": "", @@ -74,5 +77,6 @@ "category:waste": "", "category:water": "", "category:wikipedia": "", - "category:works": "" + "category:works": "", + "category:xmas": "" } diff --git a/lang/uk.json b/lang/uk.json index ae7ca298..cb3d073b 100644 --- a/lang/uk.json +++ b/lang/uk.json @@ -36,6 +36,7 @@ "category:military": "", "category:mtb-routes": "", "category:natural": "Природне середовище", + "category:office": "", "category:oil_gas": "", "category:other": "Інше", "category:outdoor": "", @@ -44,6 +45,7 @@ "category:places_geo": "Місцевість", "category:playgrounds": "Дитячий майданчик", "category:post": "", + "category:power_routes": "", "category:pt": "", "category:pt:routes": "", "category:pt:stops": "Зупинки та станції", @@ -62,6 +64,7 @@ "category:shop": "Торгівля", "category:special": "", "category:sport": "Спорт. Інше.", + "category:swimming_bathing": "", "category:tourism_attractions": "Туризм", "category:tourism_services": "Туризм", "category:transport": "Транспорт", @@ -74,5 +77,6 @@ "category:waste": "", "category:water": "", "category:wikipedia": "", - "category:works": "" + "category:works": "", + "category:xmas": "" } diff --git a/memorial.json b/memorial.json index 117785c5..4095a137 100644 --- a/memorial.json +++ b/memorial.json @@ -2,7 +2,9 @@ "type": "overpass", "name": { "de": "Denkmäler", - "en": "Memorials" + "en": "Memorials", + "fr": "Mémoriaux", + "pt-br": "Memoriais" }, "query": { "11": [ diff --git a/mtb-routes.json b/mtb-routes.json index 02d2c713..ffc26706 100644 --- a/mtb-routes.json +++ b/mtb-routes.json @@ -4,7 +4,7 @@ "en": "Mountain bike routes", "fr": "Itinéraires de VTT", "hu": "Hegyikerékpáros útvonalak", - "pt-br": "Rotas mountain bike" + "pt-br": "Rotas de mountain bike" }, "query": { "13": "relation[type=route][route=mtb]" diff --git a/office.json b/office.json new file mode 100644 index 00000000..c66872f3 --- /dev/null +++ b/office.json @@ -0,0 +1,45 @@ +{ + "type": "overpass", + "name": { + "de": "Ämter, Dienst- und Geschäftsstellen", + "en": "Offices", + "fr": "Bureaux" + }, + "query": { + "14": "nwr[office]" + }, + "feature": { + "description": [ + "{{ tagTrans('office', tags.office) }}", + "{% if tags.office == 'government' and tags.government %}({{ tagTrans('government', tags.government) }}){% endif %}" + ], + "markerSign": "{{ const[tags.office]|raw }}" + }, + "const": { + "government": "", + "company": "", + "estate_agent": "", + "insurance": "", + "lawyer": "", + "educational_institution": "", + "administrative": "", + "telecommunication": "", + "ngo": "", + "quango": "", + "association": "", + "it": "", + "accountant": "", + "tax_advisor": "", + "employment_agency": "", + "research": "", + "religion": "", + "architect": "", + "financial": "", + "newspaper": "", + "political_party": "", + "advertising_agency": "", + "therapist": "", + "travel_agent": "", + "publisher": "" + } +} diff --git a/oil_gas.json b/oil_gas.json index 6dfaf039..d74a1dfc 100644 --- a/oil_gas.json +++ b/oil_gas.json @@ -2,7 +2,9 @@ "type": "overpass", "name": { "de": "Erdöl und Erdgas", - "en": "Petroleum and natural gas" + "en": "Petroleum and natural gas", + "fr": "Pétrole et gaz naturel", + "pt-br": "Petróleo e gás" }, "query": { "11": [ @@ -23,7 +25,7 @@ ")" ], "13": [ - "(", + "(", "way[man_made~\"^(pipeline|goods_conveyor)$\"][substance~\"^(|.*;)(oil|gas|lng|cng|multiphase)(|;.*)$\"];", "relation[man_made~\"^(pipeline|goods_conveyor)$\"][substance~\"^(|.*;)(oil|gas|lng|cng|multiphase)(|;.*)$\"];", "node[landuse=industrial][industrial~\"^(|.*;)(oil|gas|lng|cng|multiphase|refinery|oil_refinery)(|;.*)$\"];", diff --git a/power_routes.json b/power_routes.json new file mode 100644 index 00000000..4405a20c --- /dev/null +++ b/power_routes.json @@ -0,0 +1,64 @@ +{ + "type": "overpass", + "name": { + "en": "Power routes", + "fr": "Réseaux électriques" + }, + "query": { + "10": "relation[type=route][route=power]" + }, + "members": true, + "feature": { + "pre": "{% set color = '#' ~ tags.operator|default('')|md5|slice(0, 6) %}", + "description": "{% if tags.operator %}{{ tags.operator }}{% 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 %}", + " {% for ref in tags.ref|split(';') %}", + " {% set refs = refs|merge([ ref|trim ]) %}", + " {% endfor %}", + "{% endif %}", + "", + "{% for master in masters %}", + " {% if master.tags.operator %}", + " {% set color = '#' ~ master.tags.operator|md5|slice(0, 6) %}", + " {% endif %}", + " {% if master.tags.ref %}", + " {% set refs = refs|merge([ master.tags.ref ]) %}", + " {% endif %}", + "{% endfor %}", + "", + "{% set refs = refs|unique|natsort({ insensitive: true }) %}" + ], + "body": [ + "

Routes

", + "" + ], + "listExclude": "1", + "style": { + "color": "{{ color }}", + "width": 4, + "opacity": 1, + "text": "{{ refs|join(' · ') }} ", + "textRepeat": "1", + "textOffset": "12", + "textFontWeight": "bold" + } + } +} diff --git a/pt.json b/pt.json index 46451cf3..7ade18d4 100644 --- a/pt.json +++ b/pt.json @@ -3,6 +3,7 @@ "name": { "de": "ÖV Karte", "en": "Public transport map", + "fr": "Carte des transports publics", "hu": "Tömegközlekedési térkép", "pt-br": "Mapa de transporte público" }, @@ -67,6 +68,12 @@ ], "markerSymbol": "", "styles": "", + "style:hover": { + "width": 0 + }, + "style:selected": { + "width": 0 + }, "listStopsExclude": "true", "listRoutesMarkerSign": "{{ const[tags.route].sign|raw }}", "listRoutesMarkerSymbol": "{{ markerCircle({fillColor:const[tags.route].color})|raw }}", @@ -82,6 +89,10 @@ "{% set isWay = false %}", "{% set aRoute = null %}", "{% set refs = [] %}", + "{% set dirForward = false %}", + "{% set dirBackward = false %}", + "{% set hover = false %}", + "{% set selected = false %}", "{% for master in masters %}", " {% if master.tags.public_transport == 'stop_area' %}", " {% set stopName = master.tags.name %}", @@ -97,7 +108,14 @@ " {% if master.tags.ref %}", " {% set refs = refs|merge([ master.tags.ref ]) %}", " {% endif %}", + " {% if master.dir == 'forward' %}{% set dirForward = true %}", + " {% elseif master.dir == 'backward' %}{% set dirBackward = true %}", + " {% else %}{% set dirForward = true %}{% set dirBackward = true %}", + " {% endif %}", " {% endif %}", + "", + " {% if master.flags.hover %}{% set hover = master.dir|default('both') %}{% endif %}", + " {% if master.flags.selected %}{% set selected = master.dir|default('both') %}{% endif %}", "{% endfor %}", "", "{% set refs = refs|unique|natsort({ insensitive: true }) %}", @@ -118,25 +136,78 @@ "{% endfor %}", "" ], - "styles": "{% if isStop and stopCount > 0 %}stop{% elseif isWay %}way{% else %}{% endif %}", + "styles": "{% if isStop and stopCount > 0 %}stop{% elseif isWay %}casing,way{% if hover %},hover{% endif %}{% if selected %},selected{% endif %}{% endif %}", "listStopsMarkerSign": null, "listStopsMarkerSymbol": "{{ markerCircle({ width: 5, color: color, fillOpacity: '1', radius: 3 })|raw }}", "listStopsExclude": "{{ not isStop or stopCount == 0 }}", "listStopsTitle": "{% if tags %}{{ tags.name|default(stopName)|default(trans('unknown')) }}{% else %}
  • {{ trans('loading') }}
  • {% endif %}", "listStopsDescription": "{{ refs|join(' · ') }}", "listRoutesExclude": "true", + "markerSymbol": "{% if isStop and stopCount > 0 %}{% if hover or selected %}{{ markerPointer({ })|raw }}{% endif %}{% endif %}", + "markerSign": " ", + "style:stop": { + "color": "{{ color|default('#ff0000') }}", + "width": "4", + "radius": "3", + "zIndex": "1" + }, "style:way": { - "width": "3", "color": "{{ color|default('#ff0000') }}", + "width": "4", + "dashArray": "{% if not dirForward or not dirBackward %}27,8{% endif %}", + "dashOffset": "{% if dirBackward %}28{% else %}0{% endif %}", + "lineCap": "{% if not dirForward or not dirBackward %}butt{% else %}round{% endif %}", + "noClip": "{% if not dirForward or not dirBackward %}true{% else %}false{% endif %}", + "opacity": 1, "text": "{{ refs|join(' · ') }} ", "textRepeat": "1", "textOffset": "12", - "textFontWeight": "bold" + "textFontWeight": "bold", + "pattern": "{% if dirForward and dirBackward %}{% else %}arrowHead{% endif %}", + "pattern-pixelSize": "9", + "pattern-repeat": "35", + "pattern-offset": "{% if dirBackward %}4{% else %}30.5{% endif %}", + "pattern-polygon": "true", + "pattern-angleCorrection": "{% if dirBackward %}180{% else %}0{% endif %}", + "pattern-path-width": "0", + "pattern-path-fillOpacity": "1", + "pattern-path-color": "{{ color|default('#ff0000') }}" }, - "style:stop": { - "width": "5", - "color": "{{ color|default('#ff0000') }}", - "radius": "3" + "style:hover": { + "pane": "hover", + "width": "4", + "dashArray": "{% if hover == 'forward' or hover == 'backward' %}27,8{% endif %}", + "dashOffset": "{% if hover == 'backward' %}28{% else %}0{% endif %}", + "lineCap": "{% if hover == 'forward' or hover == 'backward' %}butt{% else %}round{% endif %}", + "noClip": "{% if hover == 'forward' or hover == 'backward' %}true{% else %}false{% endif %}", + "color": "black", + "pattern": "{% if hover == 'forward' or hover == 'backward' %}arrowHead{% endif %}", + "pattern-pixelSize": "9", + "pattern-repeat": "35", + "pattern-offset": "{% if hover == 'backward' %}4{% else %}30.5{% endif %}", + "pattern-polygon": "true", + "pattern-angleCorrection": "{% if hover == 'backward' %}180{% else %}0{% endif %}", + "pattern-path-width": "0", + "pattern-path-fillOpacity": "1", + "pattern-path-color": "black" + }, + "style:selected": { + "pane": "selected", + "width": "4", + "dashArray": "{% if selected == 'forward' or selected == 'backward' %}27,8{% endif %}", + "dashOffset": "{% if selected == 'backward' %}28{% else %}0{% endif %}", + "lineCap": "{% if selected == 'forward' or selected == 'backward' %}butt{% else %}round{% endif %}", + "noClip": "{% if selected == 'forward' or selected == 'backward' %}true{% else %}false{% endif %}", + "color": "#3f3f3f", + "pattern": "{% if selected == 'forward' or selected == 'backward' %}arrowHead{% endif %}", + "pattern-pixelSize": "9", + "pattern-repeat": "35", + "pattern-offset": "{% if selected == 'backward' %}4{% else %}30.5{% endif %}", + "pattern-polygon": "true", + "pattern-angleCorrection": "{% if selected == 'backward' %}180{% else %}0{% endif %}", + "pattern-path-width": "0", + "pattern-path-fillOpacity": "1", + "pattern-path-color": "#3f3f3f" } }, "info": [ diff --git a/renewables.json b/renewables.json index 8e22ef7f..6c32493d 100644 --- a/renewables.json +++ b/renewables.json @@ -2,7 +2,9 @@ "type": "overpass", "name": { "de": "Erneuerbare Energien", - "en": "Renewables" + "en": "Renewables", + "fr": "Énergies renouvelables", + "pt-br": "Renováveis" }, "query": { "11": [ diff --git a/swimming_bathing.json b/swimming_bathing.json new file mode 100644 index 00000000..eccb6016 --- /dev/null +++ b/swimming_bathing.json @@ -0,0 +1,134 @@ +{ + "type": "overpass", + "name": { + "de": "Schwimmen und Baden", + "en": "Swimming and bathing", + "fr": "Natation/Baignade/Bains" + }, + "query": { + "13": [ + "(", + "nwr[leisure=swimming_area];", + "nwr[natural~\"^(water)\"][sport~\"^(|.*;)swimming(.*|)$\"];", + "nwr[natural~\"^(beach)\"];", + "nwr[leisure~\"^(water_park|beach_resort)$\"];", + "nwr[leisure=sports_centre][sport~\"^(|.*;)swimming(.*|)$\"];", + "nwr[amenity=public_bath];", + "nwr[tourism=spa_resort];", + ")" + ], + "16": [ + "(", + "nwr[leisure=swimming_area];", + "nwr[natural~\"^(water)\"][sport~\"^(|.*;)swimming(.*|)$\"];", + "nwr[natural~\"^(beach)\"];", + "nwr[leisure~\"^(water_park|beach_resort)$\"];", + "nwr[leisure=sports_centre][sport~\"^(|.*;)swimming(;.*|)$\"];", + "nwr[amenity=public_bath];", + "nwr[tourism=spa_resort];", + "", + "nwr[leisure=swimming_pool][access!=private];", + "nwr[leisure=sauna];", + ")" + ] + }, + "feature": { + "pre": [ + "{% set k = null %}{% set v = null %}{% set append = null %}", + "{% if tags.amenity == 'public_bath' %}", + " {% set k = 'amenity' %}", + " {% set v = 'public_bath' %}", + " {% if attribute(tags, 'bath:type') %}{% set append = tagTrans('bath:type', attribute(tags, 'bath:type')) %}{% endif %}", + "{% elseif tags.tourism == 'spa_resort' %}", + " {% set k = 'tourism' %}", + " {% set v = tags.tourism %}", + "{% elseif tags.leisure == 'sauna' %}", + " {% set k = 'leisure' %}", + " {% set v = tags.leisure %}", + " {% if tags.sauna and tags.sauna != 'yes' %}{% set append = tagTransList('sauna', tags.sauna) %}{% endif %}", + "{% elseif tags.leisure == 'sports_centre' %}", + " {% set k = 'leisure' %}", + " {% set v = tags.leisure %}", + " {% set append = tagTrans('sport', 'swimming') %}", + "{% elseif tags.leisure %}", + " {% set k = 'leisure' %}", + " {% set v = tags.leisure %}", + "{% elseif tags.natural %}", + " {% set k = 'natural' %}", + " {% set v = tags.natural %}", + " {% if tags.sport %}{% set append = tagTrans('sport', 'swimming') %}{% endif %}", + "{% endif %}" + ], + "description": [ + "{{ tagTrans(k, v) }}", + "{% if append %}({{ append }}){% endif %}" + ], + "markerSign": "{{ const[k ~ '=' ~ v].sign|raw }}", + "priority": "{% if tags.name %}0{% else %}1{% endif %}" + }, + "info": [ + "", + "{% for value, data in const %}", + "{% if data.zoom <= map.zoom %}", + " ", + " ", + " ", + " ", + "{% endif %}", + "{% endfor %}", + "
    {{ markerCircle({})|raw }}
    {{ data.sign|raw }}
    ", + " {{ keyTrans(value) }}", + " {% if data.append %}({{ trans(data.append) }}){% endif %}", + "
    " + ], + "const": { + "leisure=swimming_area": { + "zoom": 13, + "sign": "" + }, + "leisure=water_park": { + "zoom": 13, + "sign": "" + }, + "leisure=beach_resort": { + "zoom": 13, + "sign": "" + }, + "leisure=sports_centre": { + "zoom": 13, + "append": "tag:sport=swimming", + "taginfo": "leisure=swimming_area, sport=swimming", + "sign": "" + }, + "natural=water": { + "zoom": 13, + "append": "tag:sport=swimming", + "taginfo": "natural=water, sport=swimming", + "sign": "" + }, + "natural=beach": { + "zoom": 13, + "sign": "" + }, + "amenity=public_bath": { + "zoom": 13, + "taginfo": "amenity=public_bath, bath:type=*", + "sign": "" + }, + "tourism=spa_resort": { + "zoom": 13, + "sign": "" + }, + "leisure=swimming_pool": { + "zoom": 16, + "append": "tag:access!=private", + "taginfo": "leisure=swimming_pool, access!=private", + "sign": "" + }, + "leisure=sauna": { + "zoom": 16, + "taginfo": "leisure=sauna, sauna:type=*", + "sign": "" + } + } +} diff --git a/xmas.json b/xmas.json new file mode 100644 index 00000000..ab728029 --- /dev/null +++ b/xmas.json @@ -0,0 +1,81 @@ +{ + "type": "overpass", + "name": { + "en": "Christmas", + "fr": "Noël" + }, + "query": { + "14": [ + "(", + "node[\"xmas:feature\"];", + "way[\"xmas:feature\"];", + "relation[\"xmas:feature\"];", + ")" + ] + }, + "feature": { + "title": "{{ attribute(tags, \"xmas:name\")|default(trans(\"unnamed\")) }}", + "description": "{{ tagTransList(\"xmas:feature\", attribute(tags, \"xmas:feature\")) }}", + "body": [ + "{% if attribute(tags, 'xmas:location') %}", + "
  • ", + " ", + " {{ keyTrans('location') }}:", + " ", + " {{ attribute(tags, 'xmas:location') }}", + " ", + "
  • ", + "{% endif %}", + "", + "{% if attribute(tags, 'xmas:day_date') %}", + "
  • ", + " ", + " Open:", + " ", + " {{ attribute(tags, 'xmas:day_date') }}", + " ", + "
  • ", + "{% endif %}", + "", + "{% if attribute(tags, 'xmas:opening_hours') %}", + "
  • ", + " ", + " {{ keyTrans('opening_hours') }}:", + " ", + " {{ attribute(tags, 'xmas:opening_hours') }}", + " ", + "
  • ", + "{% endif %}", + "", + "{% if attribute(tags, 'xmas:url') %}", + "
  • ", + " ", + " {{ keyTrans('website') }}:", + " ", + " {{ attribute(tags, 'xmas:url') }}", + " ", + "
  • ", + "{% endif %}" + ], + "markerSign": [ + "{{ attribute(const, attribute(tags, 'xmas:feature'))|raw }}", + "" + ] + }, + "const": { + "market": "", + "tree": "", + "shop": "", + "event": "" + }, + "info": [ + "", + "{% for value, icon in const %}", + " ", + " ", + " ", + " ", + "{% endfor %}", + "
    {{ markerCircle({})|raw }}
    {{ icon|raw }}
    {{ tagTrans('xmas:feature', value) }}
    " + ] +}