chore: automated housekeeping...

This commit is contained in:
Pieter Vander Vennet 2024-11-14 02:21:10 +01:00
parent 47281a8d6c
commit 3fd14e82a0
84 changed files with 2093 additions and 1450 deletions

View file

@ -538,8 +538,7 @@ This table gives a summary of ids, names and other metainformation. [See the onl
| CBJ_Aerial_20230516 | CBJ Aerial Imagery (May 2023) | photo | ⭐ | City and Borough of Juneau | | CBJ_Aerial_20230516 | CBJ Aerial Imagery (May 2023) | photo | ⭐ | City and Borough of Juneau |
| CBJ_Aerial_20230618 | CBJ Aerial Imagery (June 2023) | photo | | City and Borough of Juneau | | CBJ_Aerial_20230618 | CBJ Aerial Imagery (June 2023) | photo | | City and Borough of Juneau |
| FNSB_Aerial_2023 | FNSB Aerial Imagery (2023) | photo | ⭐ | Fairbanks North Star Borough | | FNSB_Aerial_2023 | FNSB Aerial Imagery (2023) | photo | ⭐ | Fairbanks North Star Borough |
| MOA_Aerial_2021 | MOA Aerial Imagery (2021) | historicphoto | | Municipality of Anchorage GIS | | MOA_Aerial_2021 | MOA Aerial Imagery (2021) | photo | | Municipality of Anchorage GIS |
| MOA_Aerial_2024 | MOA Aerial Imagery (2024) | photo | ⭐ | Municipality of Anchorage GIS |
| MSB_Aerial_2019 | MSB Aerial Imagery - Area 1(2019) | historicphoto | | Matanuska-Susitna Borough GIS Division | | MSB_Aerial_2019 | MSB Aerial Imagery - Area 1(2019) | historicphoto | | Matanuska-Susitna Borough GIS Division |
| MSB_Aerial_2020 | MSB Aerial Imagery - Area 2 (2020) | historicphoto | | Matanuska-Susitna Borough GIS Division | | MSB_Aerial_2020 | MSB Aerial Imagery - Area 2 (2020) | historicphoto | | Matanuska-Susitna Borough GIS Division |
| MSB_Aerial_2021 | MSB Aerial Imagery - Area 3 (2021) | historicphoto | | Matanuska-Susitna Borough GIS Division | | MSB_Aerial_2021 | MSB Aerial Imagery - Area 3 (2021) | historicphoto | | Matanuska-Susitna Borough GIS Division |
@ -559,27 +558,20 @@ This table gives a summary of ids, names and other metainformation. [See the onl
| LA_County_Basemap | LA County Basemap | map | | Los Angeles County | | LA_County_Basemap | LA County Basemap | map | | Los Angeles County |
| Manhattan_Beach_CA_2023 | City of Manhattan Beach Orthoimagery (2023) | photo | | City of Manhattan Beach | | Manhattan_Beach_CA_2023 | City of Manhattan Beach Orthoimagery (2023) | photo | | City of Manhattan Beach |
| Manteca_CA_2022 | City of Manteca Orthoimagery (2022) | photo | | City of Manteca | | Manteca_CA_2022 | City of Manteca Orthoimagery (2022) | photo | | City of Manteca |
| Modesto_CA_2023 | City of Modesto Orthoimagery (2023) | historicphoto | | City of Modesto | | Modesto_CA_2023 | City of Modesto Orthoimagery (2023) | photo | | City of Modesto |
| Modesto_CA_2024 | City of Modesto Orthoimagery (2024) | photo | | City of Modesto |
| Orange_CA_2022 | Orange County Orthoimagery (2022) | photo | | Orange County | | Orange_CA_2022 | Orange County Orthoimagery (2022) | photo | | Orange County |
| Roseville_CA_2023 | City of Roseville Orthoimagery (2023) | historicphoto | | City of Roseville | | Roseville_CA_2023 | City of Roseville Orthoimagery (2023) | historicphoto | | City of Roseville |
| Roseville_CA_2024 | City of Roseville Orthoimagery (2024) | photo | | City of Roseville | | Roseville_CA_2024 | City of Roseville Orthoimagery (2024) | photo | | City of Roseville |
| Sacramento_CA_2022 | Sacramento County Orthoimagery (2022) | photo | | Sacramento County | | Sacramento_CA_2022 | Sacramento County Orthoimagery (2022) | photo | | Sacramento County |
| San_Bernardino_CA_2023 | San Bernardino County Orthoimagery (2023) | historicphoto | | San Bernardino County | | San_Bernardino_CA_2023 | San Bernardino County Orthoimagery (2023) | photo | | San Bernardino County |
| San_Bernardino_CA_2024 | San Bernardino County Orthoimagery (2024) | photo | | San Bernardino County | | San_Francisco_CA_2022 | San Francisco Orthoimagery (2022) | historicphoto | | City and County of San Francisco |
| San_Francisco_2022 | San Francisco Orthoimagery (2022) | historicphoto | | City and County of San Francisco | | San_Francisco_CA_2022_CIR | San Francisco Orthoimagery CIR (2022) | historicphoto | | City and County of San Francisco |
| San_Francisco_2022_CIR | San Francisco Orthoimagery CIR (2022) | historicphoto | | City and County of San Francisco | | San_Francisco_Ortho_2023 | San Francisco Orthoimagery (2023) | photo | | City and County of San Francisco |
| San_Francisco_2023 | San Francisco Orthoimagery (2023) | historicphoto | | City and County of San Francisco |
| San_Francisco_2023_CIR | San Francisco Orthoimagery CIR (2023) | historicphoto | | City and County of San Francisco |
| San_Francisco_2024 | San Francisco Orthoimagery (2024) | photo | | City and County of San Francisco |
| San_Francisco_2024_CIR | San Francisco Orthoimagery CIR (2024) | photo | | City and County of San Francisco |
| San_Mateo_CA_2022 | San Mateo County Orthoimagery (2022) | photo | | San Mateo County | | San_Mateo_CA_2022 | San Mateo County Orthoimagery (2022) | photo | | San Mateo County |
| Santa_Clara_CA_2022 | Santa Clara County Orthoimagery (2022) | photo | | County of Santa Clara | | Santa_Clara_CA_2022 | Santa Clara County Orthoimagery (2022) | photo | | County of Santa Clara |
| Santa_Clara_CA_2023 | Santa Clara County Orthoimagery (2023) | photo | | County of Santa Clara | | Santa_Clara_CA_2023 | Santa Clara County Orthoimagery (2023) | photo | | County of Santa Clara |
| Santa_Rosa_CA_2022 | City of Santa Rosa Orthoimagery (2022) | photo | | City of Santa Rosa | | Santa_Rosa_CA_2022 | City of Santa Rosa Orthoimagery (2022) | photo | | City of Santa Rosa |
| Solano_CA_2022 | Solano County Orthoimagery (2022) | historicphoto | | Solano County | | Solano_CA_2022 | Solano County Orthoimagery (2022) | photo | | Solano County |
| Solano_CA_2023 | Solano County Orthoimagery (2023) | historicphoto | | Solano County |
| Solano_CA_2024 | Solano County Orthoimagery (2024) | photo | | Solano County |
| Stockton_CA_2023 | City of Stockton Orthoimagery (2023) | photo | | City of Stockton | | Stockton_CA_2023 | City of Stockton Orthoimagery (2023) | photo | | City of Stockton |
| Arapahoe-County-Aerials-Latest | Arapahoe County Aerials Latest | photo | | Arapahoe County GIS | | Arapahoe-County-Aerials-Latest | Arapahoe County Aerials Latest | photo | | Arapahoe County GIS |
| MCGIS-County-NAIP-Imagery-2015 | Mesa County GIS NAIP 2015 | historicphoto | | Mesa County GIS | | MCGIS-County-NAIP-Imagery-2015 | Mesa County GIS NAIP 2015 | historicphoto | | Mesa County GIS |
@ -587,8 +579,7 @@ This table gives a summary of ids, names and other metainformation. [See the onl
| MCGIS-County-Valleywide-Imagery-2020 | Mesa County GIS Valleywide 2020 | historicphoto | | Mesa County GIS | | MCGIS-County-Valleywide-Imagery-2020 | Mesa County GIS Valleywide 2020 | historicphoto | | Mesa County GIS |
| MCGIS-County-Valleywide-Imagery-2022 | Mesa County GIS Valleywide 2022 | photo | | Mesa County GIS | | MCGIS-County-Valleywide-Imagery-2022 | Mesa County GIS Valleywide 2022 | photo | | Mesa County GIS |
| MCGIS-County-Valleywide-Imagery-2024 | Mesa County GIS Valleywide 2024 | photo | | Mesa County GIS | | MCGIS-County-Valleywide-Imagery-2024 | Mesa County GIS Valleywide 2024 | photo | | Mesa County GIS |
| CT_ECO_Ortho_2019_RGB | CT ECO Orthoimagery (2019) | historicphoto | | Connecticut Environmental Conditions Online | | CT_ECO_Ortho_2019_RGB | CT ECO Orthoimagery (2019) | photo | | Connecticut Environmental Conditions Online |
| CT_ECO_Ortho_2023_RGB | CT ECO Orthoimagery (2023) | photo | | Connecticut Environmental Conditions Online |
| CT_ECO_Shaded_relief_2016 | CT ECO Shaded Relief | elevation | | Connecticut Environmental Conditions Online | | CT_ECO_Shaded_relief_2016 | CT ECO Shaded Relief | elevation | | Connecticut Environmental Conditions Online |
| MetroCOG_Ortho_2020 | MetroCOG Orthoimagery (2020) | photo | | Connecticut Metropolitan Council of Governments | | MetroCOG_Ortho_2020 | MetroCOG Orthoimagery (2020) | photo | | Connecticut Metropolitan Council of Governments |
| DC_From_Above_Ortho_2019 | DC From Above Orthophoto 2019 | historicphoto | | OCTO, DCGIS | | DC_From_Above_Ortho_2019 | DC From Above Orthophoto 2019 | historicphoto | | OCTO, DCGIS |
@ -827,8 +818,7 @@ This table gives a summary of ids, names and other metainformation. [See the onl
| Suan_Juan_WA_2023 | Suan Juan County Aerials (2023) | photo | ⭐ | San Juan County GIS | | Suan_Juan_WA_2023 | Suan Juan County Aerials (2023) | photo | ⭐ | San Juan County GIS |
| Suan_Juan_WA_Basemap | Suan Juan County Basemap | map | | San Juan County GIS | | Suan_Juan_WA_Basemap | Suan Juan County Basemap | map | | San Juan County GIS |
| Snohomish_WA_2020 | Snohomish County Orthoimagery (2020) | historicphoto | | Snohomish County GIS | | Snohomish_WA_2020 | Snohomish County Orthoimagery (2020) | historicphoto | | Snohomish County GIS |
| Snohomish_WA_2022 | Snohomish County Orthoimagery (2022) | historicphoto | | Snohomish County GIS | | Snohomish_WA_2022 | Snohomish County Orthoimagery (2022) | photo | | Snohomish County GIS |
| Snohomish_WA_2024 | Snohomish County Orthoimagery (2024) | photo | | Snohomish County GIS |
| WISC_DNR_Ortho_Composite | Wisconsin Leaf-Off Orthophotography (DNR) | photo | | Wisconsin Regional Orthoimagery Consortium, Southeastern Wisconsin Regional Planning Commission, Wisconsin Department of Natural Resources | | WISC_DNR_Ortho_Composite | Wisconsin Leaf-Off Orthophotography (DNR) | photo | | Wisconsin Regional Orthoimagery Consortium, Southeastern Wisconsin Regional Planning Commission, Wisconsin Department of Natural Resources |
| Monongalia_WV_2022 | Monongalia County 2022 Aerial Imagery | historicphoto | | Monongalia Morgantown Area Geospatial Information Consortium | | Monongalia_WV_2022 | Monongalia County 2022 Aerial Imagery | historicphoto | | Monongalia Morgantown Area Geospatial Information Consortium |
| Monongalia_WV_2023 | Monongalia County 2023 Aerial Imagery | photo | ⭐ | Monongalia Morgantown Area Geospatial Information Consortium | | Monongalia_WV_2023 | Monongalia County 2023 Aerial Imagery | photo | ⭐ | Monongalia Morgantown Area Geospatial Information Consortium |

View file

@ -362,25 +362,6 @@ This tagrendering has labels
| artwork-artwork_type.12 | Tilework | artwork_type=tilework | | artwork-artwork_type.12 | Tilework | artwork_type=tilework |
| artwork-artwork_type.13 | Woodcarving | artwork_type=woodcarving | | artwork-artwork_type.13 | Woodcarving | artwork_type=woodcarving |
| id | question | osmTags |
-----|-----|----- |
| memorial-type.0 | *What type of memorial is this?* (default) | |
| memorial-type.1 | This is a statue | memorial=statue |
| memorial-type.2 | This is a plaque | memorial=plaque |
| memorial-type.3 | This is a commemorative bench | memorial=bench |
| memorial-type.4 | This is a ghost bike - a bicycle painted white to remember a cyclist whom deceased because of a car crash | memorial=ghost_bike |
| memorial-type.5 | This is a stolperstein (stumbing stone) | memorial=stolperstein |
| memorial-type.6 | This is a stele | memorial=stele |
| memorial-type.7 | This is a memorial stone | memorial=stone |
| memorial-type.8 | This is a bust | memorial=bust |
| memorial-type.9 | This is a sculpture | memorial=sculpture |
| memorial-type.10 | This is an obelisk | memorial=obelisk |
| memorial-type.11 | This is a cross | memorial=cross |
| memorial-type.12 | This is a blue plaque | memorial=blue_plaque |
| memorial-type.13 | This is a historic tank, permanently placed in public space as memorial | memorial=tank |
| memorial-type.14 | This is a memorial tree | memorial=tree |
| memorial-type.15 | This is a gravestone; the person is buried here | historic=tomb |
This document is autogenerated from [assets/layers/artwork/artwork.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/artwork/artwork.json) This document is autogenerated from [assets/layers/artwork/artwork.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/artwork/artwork.json)

View file

@ -365,25 +365,6 @@ This tagrendering has labels
| artwork-artwork_type.12 | Tilework | artwork_type=tilework | | artwork-artwork_type.12 | Tilework | artwork_type=tilework |
| artwork-artwork_type.13 | Woodcarving | artwork_type=woodcarving | | artwork-artwork_type.13 | Woodcarving | artwork_type=woodcarving |
| id | question | osmTags |
-----|-----|----- |
| memorial-type.0 | *What type of memorial is this?* (default) | |
| memorial-type.1 | This is a statue | memorial=statue |
| memorial-type.2 | This is a plaque | memorial=plaque |
| memorial-type.3 | This is a commemorative bench | memorial=bench |
| memorial-type.4 | This is a ghost bike - a bicycle painted white to remember a cyclist whom deceased because of a car crash | memorial=ghost_bike |
| memorial-type.5 | This is a stolperstein (stumbing stone) | memorial=stolperstein |
| memorial-type.6 | This is a stele | memorial=stele |
| memorial-type.7 | This is a memorial stone | memorial=stone |
| memorial-type.8 | This is a bust | memorial=bust |
| memorial-type.9 | This is a sculpture | memorial=sculpture |
| memorial-type.10 | This is an obelisk | memorial=obelisk |
| memorial-type.11 | This is a cross | memorial=cross |
| memorial-type.12 | This is a blue plaque | memorial=blue_plaque |
| memorial-type.13 | This is a historic tank, permanently placed in public space as memorial | memorial=tank |
| memorial-type.14 | This is a memorial tree | memorial=tree |
| memorial-type.15 | This is a gravestone; the person is buried here | historic=tomb |
This document is autogenerated from [assets/themes/ghostsigns/ghostsigns.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/ghostsigns/ghostsigns.json) This document is autogenerated from [assets/themes/ghostsigns/ghostsigns.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/ghostsigns/ghostsigns.json)

View file

@ -434,7 +434,7 @@ The question is `Does this shop sell bikes?`
- *This shop sells new bikes* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:retail' target='_blank'>service:bicycle:retail</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dyes' target='_blank'>yes</a> - *This shop sells new bikes* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:retail' target='_blank'>service:bicycle:retail</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dyes' target='_blank'>yes</a>
- *This shop doesn't sell new bikes* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:retail' target='_blank'>service:bicycle:retail</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dno' target='_blank'>no</a> - *This shop doesn't sell new bikes* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:retail' target='_blank'>service:bicycle:retail</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Doutdoor' target='_blank'>outdoor</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dsport' target='_blank'>sport</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dsports' target='_blank'>sports</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Ddiy' target='_blank'>diy</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Ddoityourself' target='_blank'>doityourself</a> | service:bicycle:retail~.+ This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Doutdoor' target='_blank'>outdoor</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dsport' target='_blank'>sport</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Ddiy' target='_blank'>diy</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Ddoityourself' target='_blank'>doityourself</a> | service:bicycle:retail~.+
### bike_second_hand ### bike_second_hand
@ -455,7 +455,7 @@ The question is `Does this shop repair bikes?`
- *This shop only repairs bikes bought here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Donly_sold' target='_blank'>only_sold</a> - *This shop only repairs bikes bought here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Donly_sold' target='_blank'>only_sold</a>
- *This shop only repairs bikes of a certain brand* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dbrand' target='_blank'>brand</a> - *This shop only repairs bikes of a certain brand* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dbrand' target='_blank'>brand</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:retail' target='_blank'>service:bicycle:retail</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dyes' target='_blank'>yes</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:second_hand' target='_blank'>service:bicycle:second_hand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:second_hand%3Dyes' target='_blank'>yes</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:second_hand' target='_blank'>service:bicycle:second_hand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:second_hand%3Donly' target='_blank'>only</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dsport' target='_blank'>sport</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dsports' target='_blank'>sports</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Doutdoor' target='_blank'>outdoor</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dbicycle' target='_blank'>bicycle</a> | service:bicycle:repair~.+ This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:retail' target='_blank'>service:bicycle:retail</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dyes' target='_blank'>yes</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:second_hand' target='_blank'>service:bicycle:second_hand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:second_hand%3Dyes' target='_blank'>yes</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:second_hand' target='_blank'>service:bicycle:second_hand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:second_hand%3Donly' target='_blank'>only</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dsport' target='_blank'>sport</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Doutdoor' target='_blank'>outdoor</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dbicycle' target='_blank'>bicycle</a> | service:bicycle:repair~.+
### bicycle_rental ### bicycle_rental
@ -464,7 +464,7 @@ The question is `Does this shop rent out bikes?`
- *This shop rents out bikes* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental' target='_blank'>service:bicycle:rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dyes' target='_blank'>yes</a> - *This shop rents out bikes* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental' target='_blank'>service:bicycle:rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dyes' target='_blank'>yes</a>
- *This shop doesn't rent out bikes* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental' target='_blank'>service:bicycle:rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dno' target='_blank'>no</a> - *This shop doesn't rent out bikes* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental' target='_blank'>service:bicycle:rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dbicycle' target='_blank'>bicycle</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dsport' target='_blank'>sport</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dsports' target='_blank'>sports</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dbicycle_repair' target='_blank'>bicycle_repair</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Doutdoor' target='_blank'>outdoor</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Drental' target='_blank'>rental</a> | service:bicycle:rental~.+ This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dbicycle' target='_blank'>bicycle</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dsport' target='_blank'>sport</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dbicycle_repair' target='_blank'>bicycle_repair</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Doutdoor' target='_blank'>outdoor</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Drental' target='_blank'>rental</a> | service:bicycle:rental~.+
### bicycle-types ### bicycle-types
@ -586,7 +586,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -578,7 +578,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -587,7 +587,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -595,7 +595,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -592,7 +592,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -592,7 +592,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -578,7 +578,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -587,7 +587,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -582,7 +582,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -59,7 +59,7 @@ Elements must match **all** of the following expressions:
| attribute | type | values which are supported by this layer | | attribute | type | values which are supported by this layer |
-----|-----|----- | -----|-----|----- |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/surveillance:type#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/surveillance%3Atype/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [surveillance:type](https://wiki.openstreetmap.org/wiki/Key:surveillance:type) | Multiple choice | [camera](https://wiki.openstreetmap.org/wiki/Tag:surveillance:type%3Dcamera) [ALPR](https://wiki.openstreetmap.org/wiki/Tag:surveillance:type%3DALPR) | | <a target="_blank" href='https://taginfo.openstreetmap.org/keys/surveillance:type#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/surveillance%3Atype/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [surveillance:type](https://wiki.openstreetmap.org/wiki/Key:surveillance:type) | Multiple choice | [camera](https://wiki.openstreetmap.org/wiki/Tag:surveillance:type%3Dcamera) [ALPR](https://wiki.openstreetmap.org/wiki/Tag:surveillance:type%3DALPR) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/camera:type#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/camera%3Atype/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [camera:type](https://wiki.openstreetmap.org/wiki/Key:camera:type) | Multiple choice | [fixed](https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Dfixed) [dome](https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Ddome) [panning](https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Dpanning) | | <a target="_blank" href='https://taginfo.openstreetmap.org/keys/camera:type#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/camera%3Atype/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [camera:type](https://wiki.openstreetmap.org/wiki/Key:camera:type) | Multiple choice | [fixed](https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Dfixed) [dome](https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Ddome) [panning](https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Dpanning) [doorbell](https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Ddoorbell) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/camera:direction#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/camera%3Adirection/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [camera:direction](https://wiki.openstreetmap.org/wiki/Key:camera:direction) | [direction](../SpecialInputElements.md#direction) | | | <a target="_blank" href='https://taginfo.openstreetmap.org/keys/camera:direction#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/camera%3Adirection/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [camera:direction](https://wiki.openstreetmap.org/wiki/Key:camera:direction) | [direction](../SpecialInputElements.md#direction) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/operator#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/operator/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | | | <a target="_blank" href='https://taginfo.openstreetmap.org/keys/operator#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/operator/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/surveillance#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/surveillance/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [surveillance](https://wiki.openstreetmap.org/wiki/Key:surveillance) | Multiple choice | [public](https://wiki.openstreetmap.org/wiki/Tag:surveillance%3Dpublic) [outdoor](https://wiki.openstreetmap.org/wiki/Tag:surveillance%3Doutdoor) [indoor](https://wiki.openstreetmap.org/wiki/Tag:surveillance%3Dindoor) | | <a target="_blank" href='https://taginfo.openstreetmap.org/keys/surveillance#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/surveillance/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [surveillance](https://wiki.openstreetmap.org/wiki/Key:surveillance) | Multiple choice | [public](https://wiki.openstreetmap.org/wiki/Tag:surveillance%3Dpublic) [outdoor](https://wiki.openstreetmap.org/wiki/Tag:surveillance%3Doutdoor) [indoor](https://wiki.openstreetmap.org/wiki/Tag:surveillance%3Dindoor) |
@ -87,6 +87,7 @@ The question is `What kind of camera is this?`
- <img src='https://raw.githubusercontent.com/pietervdvn/MapComplete/develop/./assets/themes/surveillance/cam_right.svg' style='width: 3rem; height: 3rem'> *A fixed (non-moving) camera* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:camera:type' target='_blank'>camera:type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Dfixed' target='_blank'>fixed</a> - <img src='https://raw.githubusercontent.com/pietervdvn/MapComplete/develop/./assets/themes/surveillance/cam_right.svg' style='width: 3rem; height: 3rem'> *A fixed (non-moving) camera* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:camera:type' target='_blank'>camera:type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Dfixed' target='_blank'>fixed</a>
- <img src='https://raw.githubusercontent.com/pietervdvn/MapComplete/develop/./assets/themes/surveillance/dome.svg' style='width: 3rem; height: 3rem'> *A dome camera (which can turn)* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:camera:type' target='_blank'>camera:type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Ddome' target='_blank'>dome</a> - <img src='https://raw.githubusercontent.com/pietervdvn/MapComplete/develop/./assets/themes/surveillance/dome.svg' style='width: 3rem; height: 3rem'> *A dome camera (which can turn)* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:camera:type' target='_blank'>camera:type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Ddome' target='_blank'>dome</a>
- *A panning camera* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:camera:type' target='_blank'>camera:type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Dpanning' target='_blank'>panning</a> - *A panning camera* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:camera:type' target='_blank'>camera:type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Dpanning' target='_blank'>panning</a>
- <img src='https://raw.githubusercontent.com/pietervdvn/MapComplete/develop/./assets/layers/surveillance_camera/doorbell.svg' style='width: 3rem; height: 3rem'> *A doorbell which might be turned on remotely at any time or by motion detection. These are typically <i>Smart</i>, internet-connected doorbells. Typical brands are Ring, Google Nest, Eufy, ...* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:camera:type' target='_blank'>camera:type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:camera:type%3Ddoorbell' target='_blank'>doorbell</a>
### camera_direction ### camera_direction

View file

@ -1917,21 +1917,21 @@
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Second hand shops' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Circular economy') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)" "description": "Layer 'Second hand shops' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Circular economy') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Second hand shops' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Circular economy') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Second hand shops' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Circular economy') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "no" "value": "no"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Second hand shops' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Circular economy') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Second hand shops' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Circular economy') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Second hand shops' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Circular economy') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Second hand shops' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Circular economy') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "" "value": ""
}, },
{ {

View file

@ -1926,21 +1926,21 @@
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)" "description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "no" "value": "no"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "" "value": ""
}, },
{ {

View file

@ -1321,12 +1321,12 @@
}, },
{ {
"key": "service:bicycle:retail", "key": "service:bicycle:retail",
"description": "Layer 'Bike repair/shop' shows service:bicycle:retail=yes with a fixed text, namely 'This shop sells new bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:retail~.+ | shop=outdoor | shop=sport | shop=sports | shop=diy | shop=doityourself)", "description": "Layer 'Bike repair/shop' shows service:bicycle:retail=yes with a fixed text, namely 'This shop sells new bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:retail~.+ | shop=outdoor | shop=sport | shop=diy | shop=doityourself)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:retail", "key": "service:bicycle:retail",
"description": "Layer 'Bike repair/shop' shows service:bicycle:retail=no with a fixed text, namely 'This shop doesn't sell new bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:retail~.+ | shop=outdoor | shop=sport | shop=sports | shop=diy | shop=doityourself)", "description": "Layer 'Bike repair/shop' shows service:bicycle:retail=no with a fixed text, namely 'This shop doesn't sell new bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:retail~.+ | shop=outdoor | shop=sport | shop=diy | shop=doityourself)",
"value": "no" "value": "no"
}, },
{ {
@ -1346,32 +1346,32 @@
}, },
{ {
"key": "service:bicycle:repair", "key": "service:bicycle:repair",
"description": "Layer 'Bike repair/shop' shows service:bicycle:repair=yes with a fixed text, namely 'This shop repairs bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:repair~.+ | shop=sport | shop=sports | shop=outdoor | shop=bicycle | service:bicycle:retail=yes | service:bicycle:second_hand=yes | service:bicycle:second_hand=only)", "description": "Layer 'Bike repair/shop' shows service:bicycle:repair=yes with a fixed text, namely 'This shop repairs bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:repair~.+ | shop=sport | shop=outdoor | shop=bicycle | service:bicycle:retail=yes | service:bicycle:second_hand=yes | service:bicycle:second_hand=only)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:repair", "key": "service:bicycle:repair",
"description": "Layer 'Bike repair/shop' shows service:bicycle:repair=no with a fixed text, namely 'This shop doesn't repair bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:repair~.+ | shop=sport | shop=sports | shop=outdoor | shop=bicycle | service:bicycle:retail=yes | service:bicycle:second_hand=yes | service:bicycle:second_hand=only)", "description": "Layer 'Bike repair/shop' shows service:bicycle:repair=no with a fixed text, namely 'This shop doesn't repair bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:repair~.+ | shop=sport | shop=outdoor | shop=bicycle | service:bicycle:retail=yes | service:bicycle:second_hand=yes | service:bicycle:second_hand=only)",
"value": "no" "value": "no"
}, },
{ {
"key": "service:bicycle:repair", "key": "service:bicycle:repair",
"description": "Layer 'Bike repair/shop' shows service:bicycle:repair=only_sold with a fixed text, namely 'This shop only repairs bikes bought here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:repair~.+ | shop=sport | shop=sports | shop=outdoor | shop=bicycle | service:bicycle:retail=yes | service:bicycle:second_hand=yes | service:bicycle:second_hand=only)", "description": "Layer 'Bike repair/shop' shows service:bicycle:repair=only_sold with a fixed text, namely 'This shop only repairs bikes bought here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:repair~.+ | shop=sport | shop=outdoor | shop=bicycle | service:bicycle:retail=yes | service:bicycle:second_hand=yes | service:bicycle:second_hand=only)",
"value": "only_sold" "value": "only_sold"
}, },
{ {
"key": "service:bicycle:repair", "key": "service:bicycle:repair",
"description": "Layer 'Bike repair/shop' shows service:bicycle:repair=brand with a fixed text, namely 'This shop only repairs bikes of a certain brand' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:repair~.+ | shop=sport | shop=sports | shop=outdoor | shop=bicycle | service:bicycle:retail=yes | service:bicycle:second_hand=yes | service:bicycle:second_hand=only)", "description": "Layer 'Bike repair/shop' shows service:bicycle:repair=brand with a fixed text, namely 'This shop only repairs bikes of a certain brand' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:repair~.+ | shop=sport | shop=outdoor | shop=bicycle | service:bicycle:retail=yes | service:bicycle:second_hand=yes | service:bicycle:second_hand=only)",
"value": "brand" "value": "brand"
}, },
{ {
"key": "service:bicycle:rental", "key": "service:bicycle:rental",
"description": "Layer 'Bike repair/shop' shows service:bicycle:rental=yes with a fixed text, namely 'This shop rents out bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:rental~.+ | shop=bicycle | shop=sport | shop=sports | shop=bicycle_repair | shop=outdoor | shop=rental)", "description": "Layer 'Bike repair/shop' shows service:bicycle:rental=yes with a fixed text, namely 'This shop rents out bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:rental~.+ | shop=bicycle | shop=sport | shop=bicycle_repair | shop=outdoor | shop=rental)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:rental", "key": "service:bicycle:rental",
"description": "Layer 'Bike repair/shop' shows service:bicycle:rental=no with a fixed text, namely 'This shop doesn't rent out bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:rental~.+ | shop=bicycle | shop=sport | shop=sports | shop=bicycle_repair | shop=outdoor | shop=rental)", "description": "Layer 'Bike repair/shop' shows service:bicycle:rental=no with a fixed text, namely 'This shop doesn't rent out bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if service:bicycle:rental~.+ | shop=bicycle | shop=sport | shop=bicycle_repair | shop=outdoor | shop=rental)",
"value": "no" "value": "no"
}, },
{ {
@ -1498,21 +1498,21 @@
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)" "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Bike repair/shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Bike repair/shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "no" "value": "no"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Bike repair/shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Bike repair/shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Bike repair/shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Bike repair/shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "" "value": ""
}, },
{ {

View file

@ -2108,21 +2108,21 @@
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Glutenfree') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)" "description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Glutenfree') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Glutenfree') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Glutenfree') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "no" "value": "no"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Glutenfree') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Glutenfree') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Glutenfree') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Glutenfree') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "" "value": ""
}, },
{ {

View file

@ -1642,21 +1642,21 @@
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Healthcare') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)" "description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Healthcare') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "no" "value": "no"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Healthcare') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Healthcare') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Healthcare') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Healthcare') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "" "value": ""
}, },
{ {

View file

@ -2108,21 +2108,21 @@
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Lactose free shops and restaurants') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)" "description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Lactose free shops and restaurants') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Lactose free shops and restaurants') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Lactose free shops and restaurants') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "no" "value": "no"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Lactose free shops and restaurants') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Lactose free shops and restaurants') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Lactose free shops and restaurants') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Lactose free shops and restaurants') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "" "value": ""
}, },
{ {

View file

@ -2666,21 +2666,21 @@
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'OnWheels') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)" "description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'OnWheels') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'OnWheels') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'OnWheels') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "no" "value": "no"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'OnWheels') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'OnWheels') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'OnWheels') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'OnWheels') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "" "value": ""
}, },
{ {

View file

@ -1996,21 +1996,21 @@
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Dog-friendly shops' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)" "description": "Layer 'Dog-friendly shops' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Dog-friendly shops' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Dog-friendly shops' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "no" "value": "no"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Dog-friendly shops' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Dog-friendly shops' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Dog-friendly shops' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Dog-friendly shops' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "" "value": ""
}, },
{ {

View file

@ -1557,21 +1557,21 @@
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)" "description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "no" "value": "no"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Postbox and Post Office Map') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Postbox and Post Office Map') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "" "value": ""
}, },
{ {

View file

@ -1215,21 +1215,21 @@
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Shops') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)" "description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Shops') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Shops') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Shops') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "no" "value": "no"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Shops') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Shops') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Shops') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Shops') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "" "value": ""
}, },
{ {

View file

@ -1790,21 +1790,21 @@
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Sports') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)" "description": "Layer 'Shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the mapcomplete.org theme 'Sports') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=no with a fixed text, namely 'The cleaning service is free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "no" "value": "no"
}, },
{ {
"key": "service:bicycle:cleaning:fee", "key": "service:bicycle:cleaning:fee",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Sports') (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Sports') (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "yes" "value": "yes"
}, },
{ {
"key": "service:bicycle:cleaning:charge", "key": "service:bicycle:cleaning:charge",
"description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Sports') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)", "description": "Layer 'Shop' shows service:bicycle:cleaning:fee=yes & service:bicycle:cleaning:charge= with a fixed text, namely 'Free to use' (in the mapcomplete.org theme 'Sports') Picking this answer will delete the key service:bicycle:cleaning:charge. (This is only shown if amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+)",
"value": "" "value": ""
}, },
{ {

View file

@ -79,6 +79,11 @@
"description": "Layer 'Surveillance camera's' shows camera:type=panning with a fixed text, namely 'A panning camera' and allows to pick this as a default answer (in the mapcomplete.org theme 'Surveillance under Surveillance')", "description": "Layer 'Surveillance camera's' shows camera:type=panning with a fixed text, namely 'A panning camera' and allows to pick this as a default answer (in the mapcomplete.org theme 'Surveillance under Surveillance')",
"value": "panning" "value": "panning"
}, },
{
"key": "camera:type",
"description": "Layer 'Surveillance camera's' shows camera:type=doorbell with a fixed text, namely 'A doorbell which might be turned on remotely at any time or by motion detection. These are typically <i>Smart</i>, internet-connected doorbells. Typical brands are Ring, Google Nest, Eufy, ...' and allows to pick this as a default answer (in the mapcomplete.org theme 'Surveillance under Surveillance')",
"value": "doorbell"
},
{ {
"key": "camera:direction", "key": "camera:direction",
"description": "Layer 'Surveillance camera's' shows and asks freeform values for key 'camera:direction' (in the mapcomplete.org theme 'Surveillance under Surveillance') (This is only shown if camera:direction~.+ | direction~.+ | camera:type!=dome | (camera:type=dome & camera:mount=wall))" "description": "Layer 'Surveillance camera's' shows and asks freeform values for key 'camera:direction' (in the mapcomplete.org theme 'Surveillance under Surveillance') (This is only shown if camera:direction~.+ | direction~.+ | camera:type!=dome | (camera:type=dome & camera:mount=wall))"

View file

@ -26,6 +26,7 @@ Available languages:
- ru - ru
- uk - uk
- hu - hu
- nl
# Layers defined in this theme configuration file # Layers defined in this theme configuration file
These layers can not be reused in different themes. These layers can not be reused in different themes.

View file

@ -26,6 +26,7 @@ Available languages:
- uk - uk
- hu - hu
- pl - pl
- nl
# Table of contents # Table of contents
@ -607,7 +608,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -627,7 +627,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -33,6 +33,7 @@ Available languages:
- ru - ru
- hu - hu
- uk - uk
- nl
# Layers defined in this theme configuration file # Layers defined in this theme configuration file
These layers can not be reused in different themes. These layers can not be reused in different themes.

View file

@ -543,25 +543,6 @@ This tagrendering has labels
| artwork-artwork_type.12 | Tilework | artwork_type=tilework | | artwork-artwork_type.12 | Tilework | artwork_type=tilework |
| artwork-artwork_type.13 | Woodcarving | artwork_type=woodcarving | | artwork-artwork_type.13 | Woodcarving | artwork_type=woodcarving |
| id | question | osmTags |
-----|-----|----- |
| memorial-type.0 | *What type of memorial is this?* (default) | |
| memorial-type.1 | This is a statue | memorial=statue |
| memorial-type.2 | This is a plaque | memorial=plaque |
| memorial-type.3 | This is a commemorative bench | memorial=bench |
| memorial-type.4 | This is a ghost bike - a bicycle painted white to remember a cyclist whom deceased because of a car crash | memorial=ghost_bike |
| memorial-type.5 | This is a stolperstein (stumbing stone) | memorial=stolperstein |
| memorial-type.6 | This is a stele | memorial=stele |
| memorial-type.7 | This is a memorial stone | memorial=stone |
| memorial-type.8 | This is a bust | memorial=bust |
| memorial-type.9 | This is a sculpture | memorial=sculpture |
| memorial-type.10 | This is an obelisk | memorial=obelisk |
| memorial-type.11 | This is a cross | memorial=cross |
| memorial-type.12 | This is a blue plaque | memorial=blue_plaque |
| memorial-type.13 | This is a historic tank, permanently placed in public space as memorial | memorial=tank |
| memorial-type.14 | This is a memorial tree | memorial=tree |
| memorial-type.15 | This is a gravestone; the person is buried here | historic=tomb |
This document is autogenerated from [assets/themes/ghostsigns/ghostsigns.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/ghostsigns/ghostsigns.json) This document is autogenerated from [assets/themes/ghostsigns/ghostsigns.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/ghostsigns/ghostsigns.json)

View file

@ -1405,7 +1405,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -625,7 +625,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -1403,7 +1403,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -659,7 +659,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -1177,7 +1177,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -616,7 +616,7 @@ The question is `How much does it cost to use the cleaning service?`
- *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a> - *The cleaning service is free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_ - *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes' target='_blank'>yes</a> & service:bicycle:cleaning:charge=. _This option cannot be chosen as answer_
This tagrendering is only visible in the popup if the following condition is met: amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+ This tagrendering is only visible in the popup if the following condition is met: amenity!=bike_wash & amenity!=bicycle_wash & service:bicycle:cleaning!=no & service:bicycle:cleaning~.+
### internet ### internet

View file

@ -412,7 +412,7 @@ The default value is _0_
The mode the application starts in, e.g. 'map', 'dashboard' or 'statistics' The mode the application starts in, e.g. 'map', 'dashboard' or 'statistics'
This documentation is defined in the source code at [generateDocs.ts](ervdvn/git/MapComplete/scripts/generateDocs.ts#L436) This documentation is defined in the source code at [generateDocs.ts](ervdvn/git2/MapComplete/scripts/generateDocs.ts#L436)
The default value is _map_ The default value is _map_

View file

@ -184,7 +184,7 @@
{{service_item {{service_item
|name= [https://mapcomplete.org/circular_economy circular_economy] |name= [https://mapcomplete.org/circular_economy circular_economy]
|region= Worldwide |region= Worldwide
|lang= {{#language:en|en}}, {{#language:es|en}}, {{#language:de|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:uk|en}}, {{#language:pl|en}} |lang= {{#language:en|en}}, {{#language:es|en}}, {{#language:de|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:uk|en}}, {{#language:pl|en}}, {{#language:nl|en}}
|descr= A MapComplete theme: Various items which help people to share, reuse or recycle |descr= A MapComplete theme: Various items which help people to share, reuse or recycle
|material= {{yes|[https://mapcomplete.org/ Yes]}} |material= {{yes|[https://mapcomplete.org/ Yes]}}
|image= MapComplete_Screenshot.png |image= MapComplete_Screenshot.png
@ -211,7 +211,7 @@
{{service_item {{service_item
|name= [https://mapcomplete.org/bicycle_parkings bicycle_parkings] |name= [https://mapcomplete.org/bicycle_parkings bicycle_parkings]
|region= Worldwide |region= Worldwide
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:zh_Hans|en}}, {{#language:it|en}}, {{#language:fil|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:uk|en}}, {{#language:pl|en}} |lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:zh_Hans|en}}, {{#language:it|en}}, {{#language:fil|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:uk|en}}, {{#language:pl|en}}, {{#language:nl|en}}
|descr= A MapComplete theme: A map showing all types of bicycle parkings |descr= A MapComplete theme: A map showing all types of bicycle parkings
|material= {{yes|[https://mapcomplete.org/ Yes]}} |material= {{yes|[https://mapcomplete.org/ Yes]}}
|image= MapComplete_Screenshot.png |image= MapComplete_Screenshot.png
@ -292,7 +292,7 @@
{{service_item {{service_item
|name= [https://mapcomplete.org/disaster_response disaster_response] |name= [https://mapcomplete.org/disaster_response disaster_response]
|region= Worldwide |region= Worldwide
|lang= {{#language:en|en}}, {{#language:it|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:uk|en}} |lang= {{#language:en|en}}, {{#language:it|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:uk|en}}, {{#language:nl|en}}
|descr= A MapComplete theme: This map contains elements meant for disaster preparedness and response |descr= A MapComplete theme: This map contains elements meant for disaster preparedness and response
|material= {{yes|[https://mapcomplete.org/ Yes]}} |material= {{yes|[https://mapcomplete.org/ Yes]}}
|image= MapComplete_Screenshot.png |image= MapComplete_Screenshot.png
@ -328,7 +328,7 @@
{{service_item {{service_item
|name= [https://mapcomplete.org/fireplace fireplace] |name= [https://mapcomplete.org/fireplace fireplace]
|region= Worldwide |region= Worldwide
|lang= {{#language:de|en}}, {{#language:en|en}}, {{#language:es|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:uk|en}} |lang= {{#language:de|en}}, {{#language:en|en}}, {{#language:es|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:uk|en}}, {{#language:nl|en}}
|descr= A MapComplete theme: Outdoor place to make a fire or a fixed barbecue in an official place |descr= A MapComplete theme: Outdoor place to make a fire or a fixed barbecue in an official place
|material= {{yes|[https://mapcomplete.org/ Yes]}} |material= {{yes|[https://mapcomplete.org/ Yes]}}
|image= MapComplete_Screenshot.png |image= MapComplete_Screenshot.png

View file

@ -440,7 +440,8 @@
"it": "un cartellone", "it": "un cartellone",
"zh_Hant": "一塊告示牌", "zh_Hant": "一塊告示牌",
"ru": "билборд", "ru": "билборд",
"uk": "білборд" "uk": "білборд",
"nl": "een reclamebord"
}, },
"description": { "description": {
"en": "A large outdoor advertising structure, typically found in high-traffic areas such as alongside busy roads", "en": "A large outdoor advertising structure, typically found in high-traffic areas such as alongside busy roads",
@ -455,7 +456,8 @@
"pl": "Duża struktura reklamowa na dworze, zwykle znajdująca się w obszarach z dużym ruchem, np. w pobliżu ruchliwych dróg", "pl": "Duża struktura reklamowa na dworze, zwykle znajdująca się w obszarach z dużym ruchem, np. w pobliżu ruchliwych dróg",
"pt_BR": "Uma grande estrutura de publicidade outdoor, geralmente encontrada em áreas com alto tráfego, como ao longo de estradas movimentadas", "pt_BR": "Uma grande estrutura de publicidade outdoor, geralmente encontrada em áreas com alto tráfego, como ao longo de estradas movimentadas",
"it": "Grande struttura pubblicitaria all'aperto, trovata normalmente in aree ad alto traffico come accanto a strade molto trafficate", "it": "Grande struttura pubblicitaria all'aperto, trovata normalmente in aree ad alto traffico come accanto a strade molto trafficate",
"uk": "Велика зовнішня рекламна конструкція, зазвичай розташована в місцях з високим трафіком, наприклад, уздовж жвавих доріг" "uk": "Велика зовнішня рекламна конструкція, зазвичай розташована в місцях з високим трафіком, наприклад, уздовж жвавих доріг",
"nl": "Een grote structuur voor reclame, meestal te vinden in gebieden met veel verkeer, zoals langs drukke wegen"
}, },
"exampleImages": [ "exampleImages": [
"./assets/themes/advertising/KFC_Billboard.jpg", "./assets/themes/advertising/KFC_Billboard.jpg",
@ -476,7 +478,8 @@
"cs": "billboard připevněný na stěnu", "cs": "billboard připevněný na stěnu",
"ca": "un cartell muntat a una paret", "ca": "un cartell muntat a una paret",
"es": "una valla publicitaria montada en una pared", "es": "una valla publicitaria montada en una pared",
"uk": "білборд, прикріплений до стіни" "uk": "білборд, прикріплений до стіни",
"nl": "een reclamebord bevestigd aan een muur"
}, },
"description": { "description": {
"en": "A large outdoor advertising structure, typically found in high-traffic areas such as alongside busy roads mounted on a wall", "en": "A large outdoor advertising structure, typically found in high-traffic areas such as alongside busy roads mounted on a wall",
@ -485,7 +488,8 @@
"pl": "Duży obiekt reklamowy na zewnątrz, zazwyczaj znajduje się w obszarach z dużym ruchem, np. obok ruchliwych dróg na ścianie", "pl": "Duży obiekt reklamowy na zewnątrz, zazwyczaj znajduje się w obszarach z dużym ruchem, np. obok ruchliwych dróg na ścianie",
"ca": "Una gran estructura publicitària exterior, que normalment es troba en zones de gran trànsit, com ara al costat de carreteres transitades muntades a una paret", "ca": "Una gran estructura publicitària exterior, que normalment es troba en zones de gran trànsit, com ara al costat de carreteres transitades muntades a una paret",
"es": "Una gran estructura publicitaria exterior, que normalmente se encuentra en áreas de mucho tráfico, como junto a carreteras concurridas, montada en una pared", "es": "Una gran estructura publicitaria exterior, que normalmente se encuentra en áreas de mucho tráfico, como junto a carreteras concurridas, montada en una pared",
"uk": "Велика зовнішня рекламна конструкція, зазвичай розташована в місцях з високим трафіком, наприклад, уздовж жвавих доріг, встановлена на стіні" "uk": "Велика зовнішня рекламна конструкція, зазвичай розташована в місцях з високим трафіком, наприклад, уздовж жвавих доріг, встановлена на стіні",
"nl": "Een grote structuur voor reclame, meestal te vinden in verkeersrijke gebieden zoals langs drukke wegen, bevestigd op een muur"
}, },
"exampleImages": [ "exampleImages": [
"./assets/themes/advertising/billboard_wall.jpg" "./assets/themes/advertising/billboard_wall.jpg"
@ -507,7 +511,8 @@
"pt_BR": "uma caixa expositora independente", "pt_BR": "uma caixa expositora independente",
"it": "un cartellone pubblicitario fissato a terra", "it": "un cartellone pubblicitario fissato a terra",
"zh_Hant": "獨自設立的海報框", "zh_Hant": "獨自設立的海報框",
"uk": "окремо стояча коробка для плакатів" "uk": "окремо стояча коробка для плакатів",
"nl": "een vrijstaande posterbak"
}, },
"exampleImages": [ "exampleImages": [
"./assets/themes/advertising/Mupi_spain.jpg", "./assets/themes/advertising/Mupi_spain.jpg",
@ -530,7 +535,8 @@
"pt_BR": "uma caixa de pôster montada em uma parede", "pt_BR": "uma caixa de pôster montada em uma parede",
"zh_Hans": "安装在墙上的海报盒子", "zh_Hans": "安装在墙上的海报盒子",
"it": "un cartellone pubblicitario fissato al muro", "it": "un cartellone pubblicitario fissato al muro",
"uk": "коробка для плакатів, що кріпиться на стіну" "uk": "коробка для плакатів, що кріпиться на стіну",
"nl": "een aan de muur gemonteerde posterbak"
}, },
"snapToLayer": [ "snapToLayer": [
"walls_and_buildings" "walls_and_buildings"
@ -549,7 +555,8 @@
"es": "un expositor de carteles que forma parte de un refugio de transporte público", "es": "un expositor de carteles que forma parte de un refugio de transporte público",
"cs": "plakátovací skříňka, která je součástí přístřešku veřejné dopravy", "cs": "plakátovací skříňka, která je součástí přístřešku veřejné dopravy",
"ca": "un mupi que forma part d'un refugi de transport públic", "ca": "un mupi que forma part d'un refugi de transport públic",
"uk": "афішна скринька, що є частиною зупинки громадського транспорту" "uk": "афішна скринька, що є частиною зупинки громадського транспорту",
"nl": "een posterbak die deel uitmaakt van een bushokje"
}, },
"snapToLayer": [ "snapToLayer": [
"shelter" "shelter"
@ -722,7 +729,8 @@
"es": "una pantalla montada en un refugio de transporte público", "es": "una pantalla montada en un refugio de transporte público",
"cs": "obrazovka namontovaná na dopravním přístřešku", "cs": "obrazovka namontovaná na dopravním přístřešku",
"ca": "una pantalla muntada en una marquesina", "ca": "una pantalla muntada en una marquesina",
"uk": "екран, встановлений на тимчасовому укритті" "uk": "екран, встановлений на тимчасовому укритті",
"nl": "een scherm gemonteerd op een schuilhokje"
}, },
"snapToLayer": [ "snapToLayer": [
"shelter" "shelter"
@ -787,7 +795,8 @@
"pt_BR": "um totem", "pt_BR": "um totem",
"zh_Hans": "图腾", "zh_Hans": "图腾",
"it": "un totem", "it": "un totem",
"uk": "тотем" "uk": "тотем",
"nl": "een totem"
}, },
"exampleImages": [ "exampleImages": [
"./assets/themes/advertising/AdvertisingTotem_004.jpg", "./assets/themes/advertising/AdvertisingTotem_004.jpg",
@ -812,7 +821,8 @@
"pl": "znak", "pl": "znak",
"zh_Hans": "标志", "zh_Hans": "标志",
"it": "un'insegna", "it": "un'insegna",
"uk": "знак" "uk": "знак",
"nl": "een bord"
}, },
"description": { "description": {
"en": "Used for advertising signs, neon signs, logos & institutional entrance signs", "en": "Used for advertising signs, neon signs, logos & institutional entrance signs",
@ -826,7 +836,8 @@
"pl": "Używany do znaków reklamowych, neonów, logo i znaków wejściowych do instytucji", "pl": "Używany do znaków reklamowych, neonów, logo i znaków wejściowych do instytucji",
"pt_BR": "Usado para placas de publicidade, letreiros de neon, logotipos e placas de entrada institucionais", "pt_BR": "Usado para placas de publicidade, letreiros de neon, logotipos e placas de entrada institucionais",
"it": "Utilizzato per insegna pubblicitaria, un'insegna al neon, i loghi o le indicazioni d'entrata", "it": "Utilizzato per insegna pubblicitaria, un'insegna al neon, i loghi o le indicazioni d'entrata",
"uk": "Використовується для рекламних вивісок, неонових вивісок, логотипів та вхідних табличок установ" "uk": "Використовується для рекламних вивісок, неонових вивісок, логотипів та вхідних табличок установ",
"nl": "Gebruikt voor reclameborden, neonborden, logo's & toegangsborden voor instellingen"
}, },
"exampleImages": [ "exampleImages": [
"./assets/themes/advertising/Waitrose_sign.jpg", "./assets/themes/advertising/Waitrose_sign.jpg",
@ -855,7 +866,8 @@
"pt_BR": "uma escultura", "pt_BR": "uma escultura",
"zh_Hans": "雕像", "zh_Hans": "雕像",
"it": "una scultura", "it": "una scultura",
"uk": "скульптура" "uk": "скульптура",
"nl": "een beeldhouwwerk"
}, },
"exampleImages": [ "exampleImages": [
"./assets/themes/advertising/Aircraft_Sculpture.jpg", "./assets/themes/advertising/Aircraft_Sculpture.jpg",
@ -941,7 +953,8 @@
"pl": "To jest bilbord", "pl": "To jest bilbord",
"pt_BR": "Isso é um outdoor", "pt_BR": "Isso é um outdoor",
"zh_Hans": "这是一个广告牌", "zh_Hans": "这是一个广告牌",
"uk": "Це білборд" "uk": "Це білборд",
"nl": "Dit is een reclamebord"
}, },
"icon": { "icon": {
"path": "./assets/themes/advertising/billboard.svg", "path": "./assets/themes/advertising/billboard.svg",
@ -961,7 +974,8 @@
"pl": "To jest tablica", "pl": "To jest tablica",
"pt_BR": "Isso é uma placa", "pt_BR": "Isso é uma placa",
"zh_Hans": "这是一块板", "zh_Hans": "这是一块板",
"uk": "Це дошка" "uk": "Це дошка",
"nl": "Dit is een bord"
}, },
"icon": { "icon": {
"path": "./assets/themes/advertising/board.svg", "path": "./assets/themes/advertising/board.svg",
@ -1023,7 +1037,8 @@
"pt_BR": "Isso é um quadro de pôster", "pt_BR": "Isso é um quadro de pôster",
"zh_Hans": "这是海报盒", "zh_Hans": "这是海报盒",
"pt": "Isto é um quadro de pôster", "pt": "Isto é um quadro de pôster",
"uk": "Це скринька для плакатів" "uk": "Це скринька для плакатів",
"nl": "Dit is een posterbak"
}, },
"icon": { "icon": {
"path": "./assets/themes/advertising/poster_box.svg", "path": "./assets/themes/advertising/poster_box.svg",
@ -1043,7 +1058,8 @@
"pt_BR": "Isso é uma tela", "pt_BR": "Isso é uma tela",
"zh_Hans": "这是一个屏幕", "zh_Hans": "这是一个屏幕",
"pt": "Isto é um ecrã", "pt": "Isto é um ecrã",
"uk": "Це екран" "uk": "Це екран",
"nl": "Dit is een scherm"
}, },
"icon": { "icon": {
"path": "./assets/themes/advertising/screen.svg", "path": "./assets/themes/advertising/screen.svg",
@ -1063,7 +1079,8 @@
"pt_BR": "Isso é uma escultura", "pt_BR": "Isso é uma escultura",
"zh_Hans": "这是一个雕塑", "zh_Hans": "这是一个雕塑",
"pt": "Isto é uma escultura", "pt": "Isto é uma escultura",
"uk": "Це скульптура" "uk": "Це скульптура",
"nl": "Dit is een beeldhouwerk"
}, },
"icon": { "icon": {
"path": "./assets/themes/advertising/sculpture.svg", "path": "./assets/themes/advertising/sculpture.svg",
@ -1082,7 +1099,8 @@
"pt_BR": "Isto é uma placa", "pt_BR": "Isto é uma placa",
"pl": "To jest znak", "pl": "To jest znak",
"zh_Hans": "这是一个标志", "zh_Hans": "这是一个标志",
"pt": "Isto é uma placa" "pt": "Isto é uma placa",
"nl": "Dit is een teken"
}, },
"icon": { "icon": {
"path": "./assets/themes/advertising/sign.svg", "path": "./assets/themes/advertising/sign.svg",
@ -1140,7 +1158,8 @@
"pt_BR": "Isso é uma pintura mural", "pt_BR": "Isso é uma pintura mural",
"zh_Hans": "这是一幅壁画", "zh_Hans": "这是一幅壁画",
"pt": "Isto é uma pintura mural", "pt": "Isto é uma pintura mural",
"uk": "Це настінний розпис" "uk": "Це настінний розпис",
"nl": "Dit is een muurschildering"
}, },
"icon": { "icon": {
"path": "./assets/themes/advertising/wall_painting.svg", "path": "./assets/themes/advertising/wall_painting.svg",
@ -1154,7 +1173,8 @@
"de": "Dies ist eine Kachelarbeit - die Werbung ist auf Fliesen gemalt", "de": "Dies ist eine Kachelarbeit - die Werbung ist auf Fliesen gemalt",
"cs": "Jedná se o dlaždice - reklama je namalovaná na dlaždicích", "cs": "Jedná se o dlaždice - reklama je namalovaná na dlaždicích",
"es": "Se trata de un trabajo en azulejo: el anuncio está pintado en azulejos", "es": "Se trata de un trabajo en azulejo: el anuncio está pintado en azulejos",
"uk": "Це кахельна плитка - реклама намальована на плитці" "uk": "Це кахельна плитка - реклама намальована на плитці",
"nl": "Dit is betegeling - de reclame is op tegels geschilderd"
} }
}, },
{ {
@ -1163,7 +1183,8 @@
"en": "This is a relief", "en": "This is a relief",
"de": "Dies ist ein Relief", "de": "Dies ist ein Relief",
"cs": "Toto je reliéf", "cs": "Toto je reliéf",
"es": "Se trata de un relieve" "es": "Se trata de un relieve",
"nl": "Dit is een reliëf"
} }
} }
] ]
@ -1181,7 +1202,8 @@
"pl": "Czy ta reklama przechodzi przez wiele różnych wiadomości?", "pl": "Czy ta reklama przechodzi przez wiele różnych wiadomości?",
"pt_BR": "Este anúncio passa por várias mensagens em sequência?", "pt_BR": "Este anúncio passa por várias mensagens em sequência?",
"zh_Hans": "该广告是否会在多条消息中循环播放?", "zh_Hans": "该广告是否会在多条消息中循环播放?",
"uk": "Чи циркулює ця реклама через кілька повідомлень?" "uk": "Чи циркулює ця реклама через кілька повідомлень?",
"nl": "Doorloopt deze advertentie meerdere berichten?"
}, },
"condition": { "condition": {
"#": "Screens are _always_ animated; flags, tarps, and wall_paintings cannot be animated; signs can be anything so we don't make guesses", "#": "Screens are _always_ animated; flags, tarps, and wall_paintings cannot be animated; signs can be anything so we don't make guesses",
@ -1208,7 +1230,8 @@
"pl": "<b>Statyczne</b>, zawsze pokazuje tą samą wiadomość", "pl": "<b>Statyczne</b>, zawsze pokazuje tą samą wiadomość",
"pt_BR": "<b>Estático</b>, mostra sempre a mesma mensagem", "pt_BR": "<b>Estático</b>, mostra sempre a mesma mensagem",
"zh_Hans": "<b>静态</b>,始终显示相同的消息", "zh_Hans": "<b>静态</b>,始终显示相同的消息",
"uk": "<b>Статичний</b>, завжди показує одне й те саме повідомлення" "uk": "<b>Статичний</b>, завжди показує одне й те саме повідомлення",
"nl": "<b>Statisch</b>, toont altijd hetzelfde bericht"
} }
}, },
{ {
@ -1224,7 +1247,8 @@
"pl": "Ten obiekt ma wbudowany <b>cyfrowy wyświetlacz</b> do pokazywania cen lub innych informacji", "pl": "Ten obiekt ma wbudowany <b>cyfrowy wyświetlacz</b> do pokazywania cen lub innych informacji",
"pt_BR": "Este objeto possui um <b>display digital</b> incorporado para mostrar preços ou alguma outra mensagem", "pt_BR": "Este objeto possui um <b>display digital</b> incorporado para mostrar preços ou alguma outra mensagem",
"zh_Hans": "该对象有一个内置的<b>数字显示器</b>来显示价格或其他一些消息", "zh_Hans": "该对象有一个内置的<b>数字显示器</b>来显示价格或其他一些消息",
"uk": "Цей об'єкт має вбудований <b>цифровий дисплей</b> для відображення цін або іншого повідомлення" "uk": "Цей об'єкт має вбудований <b>цифровий дисплей</b> для відображення цін або іншого повідомлення",
"nl": "Dit object heeft een ingebouwd <b>digitaal scherm</b> om prijzen of andere berichten weer te geven"
}, },
"hideInAnswer": { "hideInAnswer": {
"and": [ "and": [
@ -1247,7 +1271,8 @@
"pt": "<b>Trivision</b> - o outdoor consiste em muitos prismas triangulares que giram regularmente", "pt": "<b>Trivision</b> - o outdoor consiste em muitos prismas triangulares que giram regularmente",
"pt_BR": "<b>Trivision</b> - o outdoor consiste em muitos prismas triangulares que giram regularmente", "pt_BR": "<b>Trivision</b> - o outdoor consiste em muitos prismas triangulares que giram regularmente",
"zh_Hans": "<b>Trivision</b> - 广告牌由许多有规律旋转的三棱柱组成", "zh_Hans": "<b>Trivision</b> - 广告牌由许多有规律旋转的三棱柱组成",
"uk": "<b>Поділ</b> - білборд складається з багатьох трикутних призм, які регулярно обертаються" "uk": "<b>Поділ</b> - білборд складається з багатьох трикутних призм, які регулярно обертаються",
"nl": "<b>Trivision</b> - het reclamebord bestaat uit verschillende driehoekige prisma's die regelmatig ronddraaien"
}, },
"icon": { "icon": {
"class": "large", "class": "large",
@ -1268,7 +1293,8 @@
"pt": "Pôsteres de <b>rolagem</b>", "pt": "Pôsteres de <b>rolagem</b>",
"pt_BR": "Pôsteres <b>deslizantes</b>", "pt_BR": "Pôsteres <b>deslizantes</b>",
"zh_Hans": "<b>滚动</b>海报", "zh_Hans": "<b>滚动</b>海报",
"uk": "<b>Прокрутка</b> постерів" "uk": "<b>Прокрутка</b> постерів",
"nl": "<b>Roterende</b> posters"
}, },
"hideInAnswer": { "hideInAnswer": {
"and": [ "and": [
@ -1290,7 +1316,8 @@
"pt": "<b>Gira</b> sobre si mesmo", "pt": "<b>Gira</b> sobre si mesmo",
"pt_BR": "<b>Gira</b> sobre si mesmo", "pt_BR": "<b>Gira</b> sobre si mesmo",
"zh_Hans": "<b>自行旋转</b>", "zh_Hans": "<b>自行旋转</b>",
"uk": "<b>Обертається</b> на себе" "uk": "<b>Обертається</b> на себе",
"nl": "<b>Roteert</b> vanzelf"
}, },
"hideInAnswer": { "hideInAnswer": {
"and": [ "and": [
@ -1446,7 +1473,8 @@
"pl": "Informacje dotyczące bezpieczeństwa", "pl": "Informacje dotyczące bezpieczeństwa",
"pt_BR": "Informações de segurança", "pt_BR": "Informações de segurança",
"zh_Hans": "安全信息", "zh_Hans": "安全信息",
"uk": "Інформація про безпеку" "uk": "Інформація про безпеку",
"nl": "Veiligheidsinformatie"
}, },
"hideInAnswer": { "hideInAnswer": {
"and": [ "and": [
@ -1469,7 +1497,8 @@
"pl": "Reklamy wyborcze", "pl": "Reklamy wyborcze",
"pt_BR": "Propaganda eleitoral", "pt_BR": "Propaganda eleitoral",
"zh_Hans": "选举广告", "zh_Hans": "选举广告",
"uk": "Передвиборча реклама" "uk": "Передвиборча реклама",
"nl": "Verkiezingsadvertentie"
} }
}, },
{ {
@ -1529,7 +1558,8 @@
"pl": "Żeby wyrazić swoją opinię", "pl": "Żeby wyrazić swoją opinię",
"pt_BR": "Para expressar sua opinião", "pt_BR": "Para expressar sua opinião",
"zh_Hans": "表达您的意见", "zh_Hans": "表达您的意见",
"uk": "Щоб висловити свою думку" "uk": "Щоб висловити свою думку",
"nl": "Om je mening te geven"
}, },
"hideInAnswer": { "hideInAnswer": {
"or": [ "or": [
@ -1570,7 +1600,8 @@
"pl": "Znak finansowania", "pl": "Znak finansowania",
"pt_BR": "Placa de financiamento", "pt_BR": "Placa de financiamento",
"zh_Hans": "资助标志", "zh_Hans": "资助标志",
"uk": "Ознака фінансування" "uk": "Ознака фінансування",
"nl": "Financieringsteken"
}, },
"hideInAnswer": { "hideInAnswer": {
"or": [ "or": [
@ -1626,7 +1657,8 @@
"pl": "Z ilu stron można oglądać reklamy?", "pl": "Z ilu stron można oglądać reklamy?",
"pt_BR": "De quantos lados você consegue visualizar os anúncios?", "pt_BR": "De quantos lados você consegue visualizar os anúncios?",
"zh_Hans": "您可以从几个侧面观看广告?", "zh_Hans": "您可以从几个侧面观看广告?",
"uk": "Зі скількох сторін можна дивитися рекламу?" "uk": "Зі скількох сторін можна дивитися рекламу?",
"nl": "Vanaf hoeveel kanten kun je naar reclame kijken?"
}, },
"mappings": [ "mappings": [
{ {
@ -1644,7 +1676,8 @@
"pt_BR": "Este objeto tem anúncios em um único lado", "pt_BR": "Este objeto tem anúncios em um único lado",
"zh_Hans": "该物体单面有广告", "zh_Hans": "该物体单面有广告",
"it": "Questo oggetto ha la pubblicità solo da un lato", "it": "Questo oggetto ha la pubblicità solo da un lato",
"uk": "Цей об'єкт має рекламу з одного боку" "uk": "Цей об'єкт має рекламу з одного боку",
"nl": "Dit object heeft reclame aan een enkele zijde"
} }
}, },
{ {
@ -1661,7 +1694,8 @@
"pl": "Ten obiekt ma reklamy po dwóch stronach", "pl": "Ten obiekt ma reklamy po dwóch stronach",
"pt_BR": "Este objeto tem anúncios em ambos os lados", "pt_BR": "Este objeto tem anúncios em ambos os lados",
"zh_Hans": "该物体双面有广告", "zh_Hans": "该物体双面有广告",
"uk": "Цей об'єкт має рекламу з обох боків" "uk": "Цей об'єкт має рекламу з обох боків",
"nl": "Dit object heeft reclame aan beide zijdes"
} }
} }
] ]
@ -1713,7 +1747,8 @@
"es": "¿Este letrero es de un negocio que ya no existe o que ya no se mantiene?", "es": "¿Este letrero es de un negocio que ya no existe o que ya no se mantiene?",
"cs": "Je tato značka určena pro již neexistující nebo neudržovaný podnik?", "cs": "Je tato značka určena pro již neexistující nebo neudržovaný podnik?",
"uk": "Це знак для бізнесу, який більше не існує або більше не підтримується?", "uk": "Це знак для бізнесу, який більше не існує або більше не підтримується?",
"fr": "Est-ce l'enseigne d'un commerce qui n'existe plus ou n'est plus en activité?" "fr": "Est-ce l'enseigne d'un commerce qui n'existe plus ou n'est plus en activité?",
"nl": "Is dit bord voor een bedrijf dat niet meer bestaat of niet meer wordt onderhouden?"
}, },
"mappings": [ "mappings": [
{ {
@ -1725,7 +1760,8 @@
"cs": "Jedná se o historický reklamní nápis (reklama na již neexistující podnik nebo velmi starý nápis s památkovou hodnotou)", "cs": "Jedná se o historický reklamní nápis (reklama na již neexistující podnik nebo velmi starý nápis s památkovou hodnotou)",
"es": "Se trata de un anuncio histórico (un anuncio de un negocio que ya no existe o un cartel muy antiguo con valor patrimonial)", "es": "Se trata de un anuncio histórico (un anuncio de un negocio que ya no existe o un cartel muy antiguo con valor patrimonial)",
"uk": "Це історична рекламна вивіска (реклама підприємства, яке більше не існує, або дуже стара вивіска, що має історичну цінність)", "uk": "Це історична рекламна вивіска (реклама підприємства, яке більше не існує, або дуже стара вивіска, що має історичну цінність)",
"fr": "C'est une publicité historique (publicité pour un commerce qui n'existe plus ou une très vielle publicité avec un intérêt patrimonial)" "fr": "C'est une publicité historique (publicité pour un commerce qui n'existe plus ou une très vielle publicité avec un intérêt patrimonial)",
"nl": "Dit is een historisch reclamebord (een advertentie voor een bedrijf dat niet meer bestaat of een heel oud bord met erfgoedwaarde)"
} }
}, },
{ {
@ -1736,7 +1772,8 @@
"cs": "Tento reklamní nápis nemá žádnou historickou hodnotu (podnik stále existuje a nemá žádnou památkovou hodnotu)", "cs": "Tento reklamní nápis nemá žádnou historickou hodnotu (podnik stále existuje a nemá žádnou památkovou hodnotu)",
"es": "Este anuncio no tiene valor histórico (el negocio sigue existiendo y no tiene valor patrimonial)", "es": "Este anuncio no tiene valor histórico (el negocio sigue existiendo y no tiene valor patrimonial)",
"uk": "Ця рекламна вивіска не має історичної цінності (бізнес все ще існує і не має історичної цінності)", "uk": "Ця рекламна вивіска не має історичної цінності (бізнес все ще існує і не має історичної цінності)",
"fr": "Cette publicité n'a pas de valeur historique (le commerce existe toujours, mais n'a pas de valeur patrimoniale particulière)" "fr": "Cette publicité n'a pas de valeur historique (le commerce existe toujours, mais n'a pas de valeur patrimoniale particulière)",
"nl": "Dit reclamebord heeft geen historische waarde (het bedrijf bestaat nog steeds en heeft geen erfgoedwaarde)"
} }
} }
] ]

View file

@ -104,7 +104,8 @@
"en": "This is a cable car where the car goes up and down again on the same cable.", "en": "This is a cable car where the car goes up and down again on the same cable.",
"de": "Es handelt sich um eine Seilbahn, bei der die Kabine auf demselben Seil nach oben und wieder nach unten fährt.", "de": "Es handelt sich um eine Seilbahn, bei der die Kabine auf demselben Seil nach oben und wieder nach unten fährt.",
"cs": "Jedná se o lanovku, kde vagon jezdí nahoru a dolů po stejném laně.", "cs": "Jedná se o lanovku, kde vagon jezdí nahoru a dolů po stejném laně.",
"es": "Se trata de un teleférico donde la cabina sube y baja por el mismo cable." "es": "Se trata de un teleférico donde la cabina sube y baja por el mismo cable.",
"nl": "Dit is een kabelbaan waar de gondel op dezelfde kabel naar boven en naar beneden gaat."
}, },
"icon": "./assets/layers/aerialway/cable_car.svg" "icon": "./assets/layers/aerialway/cable_car.svg"
}, },
@ -114,7 +115,8 @@
"en": "This is a gondola where the cars go around in continuous circles", "en": "This is a gondola where the cars go around in continuous circles",
"de": "Es handelt sich um eine Seilbahn, bei der die Kabinen in ständigen Kreisen fahren", "de": "Es handelt sich um eine Seilbahn, bei der die Kabinen in ständigen Kreisen fahren",
"cs": "Jedná se o gondolu, kde vozy jezdí v nepřetržitých kruzích", "cs": "Jedná se o gondolu, kde vozy jezdí v nepřetržitých kruzích",
"es": "Se trata de una góndola donde las cabinas giran en círculos continuos" "es": "Se trata de una góndola donde las cabinas giran en círculos continuos",
"nl": "Dit is een kabellift waar de gondel in een continue circuit gaat"
}, },
"icon": "./assets/layers/aerialway/gondola_lift.svg" "icon": "./assets/layers/aerialway/gondola_lift.svg"
}, },

View file

@ -32,7 +32,8 @@
"ca": "Refugi d'animals", "ca": "Refugi d'animals",
"pl": "Schronisko dla zwierząt", "pl": "Schronisko dla zwierząt",
"fr": "Un refuge animalier", "fr": "Un refuge animalier",
"cs": "Útulek pro zvířata" "cs": "Útulek pro zvířata",
"nl": "Dierenasiel"
}, },
"mappings": [ "mappings": [
{ {
@ -44,7 +45,8 @@
"zh_Hans": "{name}", "zh_Hans": "{name}",
"ca": "{name}", "ca": "{name}",
"pl": "{name}", "pl": "{name}",
"cs": "{name}" "cs": "{name}",
"nl": "{name}"
} }
} }
] ]
@ -131,7 +133,8 @@
"zh_Hans": "动物收容所的目的是什么?", "zh_Hans": "动物收容所的目的是什么?",
"ca": "Quina és la finalitat del refugi d'animals?", "ca": "Quina és la finalitat del refugi d'animals?",
"pl": "Jaki jest cel tego schroniska dla zwierząt?", "pl": "Jaki jest cel tego schroniska dla zwierząt?",
"cs": "Jaký je účel útulku pro zvířata?" "cs": "Jaký je účel útulku pro zvířata?",
"nl": "Wat is het doel van dit dierenasiel?"
}, },
"mappings": [ "mappings": [
{ {
@ -143,7 +146,8 @@
"ca": "Els animals romanen ací fins que son adoptats per un nou propietari", "ca": "Els animals romanen ací fins que son adoptats per un nou propietari",
"pl": "Zwierzęta są tutaj dopóki nie znajdą nowego właściciela", "pl": "Zwierzęta są tutaj dopóki nie znajdą nowego właściciela",
"fr": "Les animaux sont gardés jusqu'à ce qu'ils soient adoptés par un nouveau maître", "fr": "Les animaux sont gardés jusqu'à ce qu'ils soient adoptés par un nouveau maître",
"cs": "Zvířata jsou zde držena do doby, než si je osvojí nový majitel" "cs": "Zvířata jsou zde držena do doby, než si je osvojí nový majitel",
"nl": "Dieren worden hier gehouden totdat ze geadopteerd worden"
}, },
"if": "purpose=adoption" "if": "purpose=adoption"
}, },
@ -155,7 +159,8 @@
"zh_Hans": "动物的余生都得到照顾", "zh_Hans": "动物的余生都得到照顾",
"ca": "Els animals reben cures per a la resta de la seva vida", "ca": "Els animals reben cures per a la resta de la seva vida",
"fr": "Les animaux sont recueillis pour le reste de leur vie", "fr": "Les animaux sont recueillis pour le reste de leur vie",
"cs": "Zvířata jsou v péči po zbytek života" "cs": "Zvířata jsou v péči po zbytek života",
"nl": "Dieren worden hier verzorgd voor de rest van hun leven"
}, },
"if": "purpose=sanctuary" "if": "purpose=sanctuary"
}, },
@ -168,7 +173,8 @@
"ca": "Els animals ferits es rehabiliten aquí fins que puguen ser alliberats de nou a la natura ", "ca": "Els animals ferits es rehabiliten aquí fins que puguen ser alliberats de nou a la natura ",
"pl": "Ranne zwierzęta przechodzą tutaj rehabilitację do momentu, kiedy mogą zostać wypuszczone na wolność ", "pl": "Ranne zwierzęta przechodzą tutaj rehabilitację do momentu, kiedy mogą zostać wypuszczone na wolność ",
"fr": "Les animaux blessés sont soignés jusqu'à ce qu'ils soient en état d'être relâchés dans la nature ", "fr": "Les animaux blessés sont soignés jusqu'à ce qu'ils soient en état d'être relâchés dans la nature ",
"cs": "Zraněná zvířata jsou zde rehabilitována do doby, než mohou být opět vypuštěna do přírody " "cs": "Zraněná zvířata jsou zde rehabilitována do doby, než mohou být opět vypuštěna do přírody ",
"nl": "Gewonde dieren worden hier gerevalideerd totdat ze terug in het wild vrijgelaten worden "
}, },
"if": "purpose=release" "if": "purpose=release"
} }
@ -183,7 +189,8 @@
"pl": "Jakie zwierzęta są tutaj przyjmowane?", "pl": "Jakie zwierzęta są tutaj przyjmowane?",
"ca": "Quins animals s'accepten aquí?", "ca": "Quins animals s'accepten aquí?",
"cs": "Která zvířata jsou zde přijímána?", "cs": "Která zvířata jsou zde přijímána?",
"es": "¿Qué animales son aceptados aquí?" "es": "¿Qué animales son aceptados aquí?",
"nl": "Welke dieren worden hier opgevangen?"
}, },
"id": "boarded_animals", "id": "boarded_animals",
"mappings": [ "mappings": [
@ -194,7 +201,8 @@
"de": "Hunde werden hier gehalten", "de": "Hunde werden hier gehalten",
"pl": "Są tutaj trzymane psy", "pl": "Są tutaj trzymane psy",
"cs": "Chovají se zde psi", "cs": "Chovají se zde psi",
"es": "Aquí se mantienen perros" "es": "Aquí se mantienen perros",
"nl": "Honden worden hier opgevangen"
} }
}, },
{ {
@ -204,7 +212,8 @@
"de": "Katzen werden hier gehalten", "de": "Katzen werden hier gehalten",
"pl": "Są tutaj trzymane koty", "pl": "Są tutaj trzymane koty",
"cs": "Chovají se zde kočky", "cs": "Chovají se zde kočky",
"es": "Aquí se mantienen gatos" "es": "Aquí se mantienen gatos",
"nl": "Katten worden hier opgevangen"
} }
}, },
{ {
@ -214,7 +223,8 @@
"de": "Pferde werden hier gehalten", "de": "Pferde werden hier gehalten",
"pl": "Są tutaj trzymane konie", "pl": "Są tutaj trzymane konie",
"cs": "Chovají se zde koně", "cs": "Chovají se zde koně",
"es": "Aquí se mantienen caballos" "es": "Aquí se mantienen caballos",
"nl": "Paarden worden hier opgevangen"
} }
}, },
{ {
@ -224,7 +234,8 @@
"de": "Vögel werden hier gehalten", "de": "Vögel werden hier gehalten",
"pl": "Są tutaj trzymane ptaki", "pl": "Są tutaj trzymane ptaki",
"cs": "Chovají se zde ptáci", "cs": "Chovají se zde ptáci",
"es": "Aquí se mantienen aves" "es": "Aquí se mantienen aves",
"nl": "Vogels worden hier opgevangen"
} }
}, },
{ {
@ -234,7 +245,8 @@
"de": "Wildtiere werden hier gehalten", "de": "Wildtiere werden hier gehalten",
"pl": "Są tutaj trzymane dzikie zwierzęta", "pl": "Są tutaj trzymane dzikie zwierzęta",
"cs": "Chovají se zde divoká zvířata", "cs": "Chovají se zde divoká zvířata",
"es": "Aquí se mantienen animales salvajes" "es": "Aquí se mantienen animales salvajes",
"nl": "Wilde dieren worden hier opgevangen"
} }
} }
], ],
@ -242,7 +254,8 @@
"en": "{animal_shelter} is kept here", "en": "{animal_shelter} is kept here",
"de": "{animal_shelter} wird hier gehalten", "de": "{animal_shelter} wird hier gehalten",
"cs": "{animal_shelter} je uložen zde", "cs": "{animal_shelter} je uložen zde",
"es": "{animal_shelter} se mantiene aquí" "es": "{animal_shelter} se mantiene aquí",
"nl": "{animal_shelter} worden hier opgevangen"
}, },
"freeform": { "freeform": {
"key": "animal_shelter" "key": "animal_shelter"

View file

@ -706,7 +706,8 @@
"cs": "Existuje webová stránka s dalšími informacemi o tomto uměleckém díle?", "cs": "Existuje webová stránka s dalšími informacemi o tomto uměleckém díle?",
"ca": "Hi ha un lloc web amb més informació sobre aquesta obra d'art?", "ca": "Hi ha un lloc web amb més informació sobre aquesta obra d'art?",
"he": "האם יש אתר אינטרנט עם מידע נוסף על היצירה הזו?", "he": "האם יש אתר אינטרנט עם מידע נוסף על היצירה הזו?",
"pt_BR": "Há um website com mais informações sobre essa arte?" "pt_BR": "Há um website com mais informações sobre essa arte?",
"uk": "Чи є веб-сайт із додатковою інформацією про цей твір мистецтва?"
}, },
"render": { "render": {
"special": { "special": {
@ -730,7 +731,8 @@
"da": "Yderligere oplysninger på dette websted", "da": "Yderligere oplysninger på dette websted",
"cs": "Více informací na této webové stránce", "cs": "Více informací na této webové stránce",
"ca": "Més informació a aquesta pàgina web", "ca": "Més informació a aquesta pàgina web",
"pt_BR": "Mais informações nesse website" "pt_BR": "Mais informações nesse website",
"uk": "Більше інформації на цьому сайті"
} }
} }
}, },
@ -824,7 +826,8 @@
"fr": "Cette œuvre est un mémorial", "fr": "Cette œuvre est un mémorial",
"cs": "Toto dílo slouží také jako památník", "cs": "Toto dílo slouží také jako památník",
"es": "Esta obra de arte también sirve como monumento", "es": "Esta obra de arte también sirve como monumento",
"uk": "Цей витвір мистецтва також слугує меморіалом" "uk": "Цей витвір мистецтва також слугує меморіалом",
"nl": "Dit kunstwerk doet ook dienst als herdenkingsmonument"
} }
}, },
{ {

View file

@ -193,7 +193,8 @@
"en": "Is there a website for this bicycle counter?", "en": "Is there a website for this bicycle counter?",
"de": "Gibt es eine Website für die Fahrradzählstelle?", "de": "Gibt es eine Website für die Fahrradzählstelle?",
"cs": "Existuje webová stránka tohoto počítadla jízdních kol?", "cs": "Existuje webová stránka tohoto počítadla jízdních kol?",
"es": "¿Hay un sitio web para este contador de bicicletas?" "es": "¿Hay un sitio web para este contador de bicicletas?",
"uk": "Є веб-сайт для цього велосипедного прилавка?"
}, },
"freeform": { "freeform": {
"key": "website", "key": "website",
@ -202,7 +203,8 @@
"en": "Website of the counter", "en": "Website of the counter",
"de": "Website der Zählstelle", "de": "Website der Zählstelle",
"cs": "Webové stránky počítadla", "cs": "Webové stránky počítadla",
"es": "Sitio web del contador" "es": "Sitio web del contador",
"uk": "Сайт лічильника"
} }
}, },
"render": { "render": {

View file

@ -285,7 +285,8 @@
"question": { "question": {
"en": "Is this bicycle cleaning service automated?", "en": "Is this bicycle cleaning service automated?",
"nl": "Is dit fietsschoonmaakpunt geautomatiseerd?", "nl": "Is dit fietsschoonmaakpunt geautomatiseerd?",
"de": "Ist dieser Fahrradreinigungsdienst automatisiert?" "de": "Ist dieser Fahrradreinigungsdienst automatisiert?",
"cs": "Je tato služba čištění kol bez obsluhy?"
}, },
"id": "automated", "id": "automated",
"mappings": [ "mappings": [
@ -294,7 +295,8 @@
"then": { "then": {
"en": "This is a manual bike washing station", "en": "This is a manual bike washing station",
"nl": "Dit is een handmatig fietsschoonmaakpunt", "nl": "Dit is een handmatig fietsschoonmaakpunt",
"de": "Dies ist eine manuelle Fahrradwaschanlage" "de": "Dies ist eine manuelle Fahrradwaschanlage",
"cs": "Jedná se o ruční mycí stanici kol"
} }
}, },
{ {
@ -302,7 +304,8 @@
"then": { "then": {
"en": "This is an automated bike wash", "en": "This is an automated bike wash",
"nl": "Dit is een automatisch fietsschoonmaakpunt", "nl": "Dit is een automatisch fietsschoonmaakpunt",
"de": "Dies ist eine automatische Fahrradwaschanlage" "de": "Dies ist eine automatische Fahrradwaschanlage",
"cs": "Jedná se o mytí kol bez obsluhy"
} }
} }
], ],
@ -312,7 +315,8 @@
"question": { "question": {
"nl": "Is dit fietsschoonmaakpunt zelfbediening?", "nl": "Is dit fietsschoonmaakpunt zelfbediening?",
"en": "Is this cleaning service self-service?", "en": "Is this cleaning service self-service?",
"de": "Muss die Reinigung selbständig erfolgen?" "de": "Muss die Reinigung selbständig erfolgen?",
"cs": "Je tato mycí služba samoobslužná?"
}, },
"id": "self_service", "id": "self_service",
"mappings": [ "mappings": [
@ -321,7 +325,8 @@
"then": { "then": {
"nl": "Dit fietsschoonmaakpunt is zelfbediening", "nl": "Dit fietsschoonmaakpunt is zelfbediening",
"en": "This cleaning service is self-service", "en": "This cleaning service is self-service",
"de": "Die Reinigung erfolgt selbständig" "de": "Die Reinigung erfolgt selbständig",
"cs": "Tato mycí služba je samoobslužná"
} }
}, },
{ {
@ -329,7 +334,8 @@
"then": { "then": {
"nl": "Dit fietsschoonmaakpunt wordt bediend door aanwezig personeel", "nl": "Dit fietsschoonmaakpunt wordt bediend door aanwezig personeel",
"en": "This cleaning service is operated by an employee", "en": "This cleaning service is operated by an employee",
"de": "Dieser Reinigungsdienst wird von einem Angestellten betrieben" "de": "Dieser Reinigungsdienst wird von einem Angestellten betrieben",
"cs": "Tuto mycí službu provozuje zaměstnanec"
} }
} }
], ],

View file

@ -164,7 +164,8 @@
"fr": "un camouflage dobservation ornithologique", "fr": "un camouflage dobservation ornithologique",
"da": "et fugletårn", "da": "et fugletårn",
"ca": "un observatori d'ocells", "ca": "un observatori d'ocells",
"es": "un escondrijo para pájaros" "es": "un escondrijo para pájaros",
"cs": "ptačí pozorovatelna"
}, },
"description": { "description": {
"en": "A screen or wall with openings to watch birds", "en": "A screen or wall with openings to watch birds",

View file

@ -762,7 +762,8 @@
"da": "Officiel hjemmeside: <a href='{website}'>{website}</a>", "da": "Officiel hjemmeside: <a href='{website}'>{website}</a>",
"cs": "Oficiální webové stránky: <a href='{website}'>{website}</a>", "cs": "Oficiální webové stránky: <a href='{website}'>{website}</a>",
"pl": "Official website: <a href='{website}'>{website}</a>", "pl": "Official website: <a href='{website}'>{website}</a>",
"pt": "Site oficial: <a href='{website}'>{website}</a>" "pt": "Site oficial: <a href='{website}'>{website}</a>",
"uk": "Офіційний веб-сайт: <a href='{website}'>{website}</a>"
}, },
"freeform": { "freeform": {
"type": "url", "type": "url",
@ -786,7 +787,8 @@
"cs": "Má toto místo webové stránky?", "cs": "Má toto místo webové stránky?",
"eu": "Toki honek webgunerik ba al du?", "eu": "Toki honek webgunerik ba al du?",
"pl": "Czy to miejsce ma stronę internetową?", "pl": "Czy to miejsce ma stronę internetową?",
"pt": "Este lugar tem um website?" "pt": "Este lugar tem um website?",
"uk": "Це місце має веб-сайт?"
}, },
"id": "caravansites-website" "id": "caravansites-website"
}, },

View file

@ -74,6 +74,7 @@
"en": "A charging station", "en": "A charging station",
"nl": "Oplaadpunten", "nl": "Oplaadpunten",
"ca": "Una estació de càrrega", "ca": "Una estació de càrrega",
"cs": "Nabíjecí stanice",
"de": "Eine Ladestation", "de": "Eine Ladestation",
"es": "Un punto de carga", "es": "Un punto de carga",
"fr": "Une station de recharge" "fr": "Une station de recharge"
@ -2747,13 +2748,15 @@
"en": "What is the website where one can find more information about this charging station?", "en": "What is the website where one can find more information about this charging station?",
"nl": "Wat is de website waar men meer info kan vinden over dit oplaadpunt?", "nl": "Wat is de website waar men meer info kan vinden over dit oplaadpunt?",
"de": "Auf welcher Webseite kann man weitere Informationen über diese Ladestation finden?", "de": "Auf welcher Webseite kann man weitere Informationen über diese Ladestation finden?",
"es": "¿Cuál es la página web donde se puede encontrar más información sobre este punto de carga?" "es": "¿Cuál es la página web donde se puede encontrar más información sobre este punto de carga?",
"uk": "На якому веб-сайті можна знайти більше інформації про цю зарядну станцію?"
}, },
"render": { "render": {
"en": "More info on <a href='{website}'>{website}</a>", "en": "More info on <a href='{website}'>{website}</a>",
"nl": "Meer informatie op <a href='{website}'>{website}</a>", "nl": "Meer informatie op <a href='{website}'>{website}</a>",
"de": "Weitere Informationen unter <a href='{website}'>{website}</a>", "de": "Weitere Informationen unter <a href='{website}'>{website}</a>",
"es": "Más información en <a href='{website}'>{website}</a>" "es": "Más información en <a href='{website}'>{website}</a>",
"uk": "Більше інформації на <a href='{website}'>{website}</a>"
}, },
"freeform": { "freeform": {
"key": "website", "key": "website",

View file

@ -25,7 +25,8 @@
"fr": "Existe-til un site avec plus dinformations (ex : topographie) ?", "fr": "Existe-til un site avec plus dinformations (ex : topographie) ?",
"it": "Cè un sito web (anche non ufficiale) con qualche informazione in più (ad es. topografie)?", "it": "Cè un sito web (anche non ufficiale) con qualche informazione in più (ad es. topografie)?",
"cs": "Existuje (neoficiální) webová stránka s více informacemi (např. topos)?", "cs": "Existuje (neoficiální) webová stránka s více informacemi (např. topos)?",
"es": "¿Hay una página web (no oficial) con más información (p. ej., croquis)?" "es": "¿Hay una página web (no oficial) con más información (p. ej., croquis)?",
"uk": "Чи існує (неофіційний) веб-сайт з додатковою інформацією (наприклад, топос)?"
}, },
"condition": { "condition": {
"and": [ "and": [

View file

@ -625,7 +625,8 @@
"en": "On what webpage is the menu published?", "en": "On what webpage is the menu published?",
"de": "Auf welcher Webseite wird das Menü veröffentlicht?", "de": "Auf welcher Webseite wird das Menü veröffentlicht?",
"ca": "A quina web està publicat el menú?", "ca": "A quina web està publicat el menú?",
"es": "¿En qué página web se publica el menú?" "es": "¿En qué página web se publica el menú?",
"uk": "На якій веб-сторінці опубліковано меню?"
}, },
"render": { "render": {
"special": { "special": {
@ -634,7 +635,8 @@
"text": { "text": {
"en": "Consult the menu", "en": "Consult the menu",
"de": "Das Menü einsehen", "de": "Das Menü einsehen",
"es": "Consultar el menú" "es": "Consultar el menú",
"uk": "Зверніться до меню"
} }
} }
}, },

View file

@ -59,7 +59,8 @@
"fr": "C'est le chemin que vous avez parcouru depuis l'ouverture de ce site. Ne vous inquiétez pas - ceci n'est visible que pour vous et personne d'autre. Vos données de localisation ne sont jamais envoyées hors de l'appareil.", "fr": "C'est le chemin que vous avez parcouru depuis l'ouverture de ce site. Ne vous inquiétez pas - ceci n'est visible que pour vous et personne d'autre. Vos données de localisation ne sont jamais envoyées hors de l'appareil.",
"ca": "Aquest és el camí que heu recorregut des que s'ha obert aquest lloc web. No et preocupis: això només és visible per a tu i ningú més. Les vostres dades d'ubicació mai s'envien fora del dispositiu.", "ca": "Aquest és el camí que heu recorregut des que s'ha obert aquest lloc web. No et preocupis: això només és visible per a tu i ningú més. Les vostres dades d'ubicació mai s'envien fora del dispositiu.",
"cs": "To je cesta, kterou jste urazili od otevření těchto webových stránek. Nemějte obavy - je viditelná pouze pro vás a pro nikoho jiného. Údaje o vaší poloze nejsou nikdy odesílány mimo zařízení.", "cs": "To je cesta, kterou jste urazili od otevření těchto webových stránek. Nemějte obavy - je viditelná pouze pro vás a pro nikoho jiného. Údaje o vaší poloze nejsou nikdy odesílány mimo zařízení.",
"es": "Esta es la traza que has recorrido desde que se abrió este sitio web. No te preocupes, solo tú puedes verla y nadie más. Tus datos de ubicación nunca se envían fuera del dispositivo." "es": "Esta es la traza que has recorrido desde que se abrió este sitio web. No te preocupes, solo tú puedes verla y nadie más. Tus datos de ubicación nunca se envían fuera del dispositivo.",
"uk": "Це шлях, який ви пройшли з моменту відкриття веб-сайту. Не хвилюйтеся це видно лише вам і нікому більше. Дані про ваше місцезнаходження ніколи не надсилаються за межі пристрою."
} }
}, },
"export_as_gpx", "export_as_gpx",

View file

@ -549,7 +549,8 @@
"hu": "További információ ezen a weboldalon", "hu": "További információ ezen a weboldalon",
"ca": "Més informació al web", "ca": "Més informació al web",
"cs": "Více informací na webových stránkách", "cs": "Více informací na webových stránkách",
"es": "Más información en la web" "es": "Más información en la web",
"uk": "Більше інформації на сайті"
} }
} }
}, },
@ -563,7 +564,8 @@
"hu": "Van-e olyan weboldal, ahol további információ található erről a nyilvános könyvespolcról?", "hu": "Van-e olyan weboldal, ahol további információ található erről a nyilvános könyvespolcról?",
"ca": "Hi ha algun lloc web amb més informació sobre aquesta prestatgeria pública?", "ca": "Hi ha algun lloc web amb més informació sobre aquesta prestatgeria pública?",
"cs": "Existuje webová stránka s dalšími informacemi o této veřejné knihobudce?", "cs": "Existuje webová stránka s dalšími informacemi o této veřejné knihobudce?",
"es": "¿Hay un sitio web con más información sobre este librero público?" "es": "¿Hay un sitio web con más información sobre este librero público?",
"uk": "Чи є веб-сайт із додатковою інформацією про цю публічну книжкову шафу?"
}, },
"freeform": { "freeform": {
"key": "website", "key": "website",

View file

@ -396,7 +396,8 @@
"nl": "Pas website aan", "nl": "Pas website aan",
"de": "Webseite bearbeiten", "de": "Webseite bearbeiten",
"pl": "Edytuj stronę internetową", "pl": "Edytuj stronę internetową",
"es": "Editar sitio web" "es": "Editar sitio web",
"uk": "Редагувати веб-сайт"
} }
}, },
{ {

View file

@ -587,7 +587,8 @@
"fr": "La langue principale de cette école est inconnue", "fr": "La langue principale de cette école est inconnue",
"ca": "La llengua principal d'aquesta escola és desconeguda", "ca": "La llengua principal d'aquesta escola és desconeguda",
"cs": "Hlavní jazyk této školy není znám", "cs": "Hlavní jazyk této školy není znám",
"es": "Se desconoce el idioma principal de esta escuela" "es": "Se desconoce el idioma principal de esta escuela",
"uk": "Основна мова цієї школи невідома"
} }
} }
} }

View file

@ -1,2 +1,2 @@
SPDX-FileCopyrightText: Pieter Vander Vennet SPDX-FileCopyrightText: Pieter Vander Vennet
SPDX-License-Identifier: CC0 SPDX-License-Identifier: CC0-1.0

View file

@ -14,7 +14,8 @@
"cs": "Parkování jízdních kol", "cs": "Parkování jízdních kol",
"ru": "Велопарковки", "ru": "Велопарковки",
"uk": "Велопарковки", "uk": "Велопарковки",
"hu": "Kerékpártárolók" "hu": "Kerékpártárolók",
"nl": "Fietsenstallingen"
}, },
"description": { "description": {
"en": "A map showing all types of bicycle parkings", "en": "A map showing all types of bicycle parkings",
@ -26,7 +27,8 @@
"ca": "Un mapa que mostra tots els tipus d'aparcaments de bicicletes", "ca": "Un mapa que mostra tots els tipus d'aparcaments de bicicletes",
"cs": "Mapa všech typů parkovišť pro jízdní kola", "cs": "Mapa všech typů parkovišť pro jízdní kola",
"uk": "Мапа, що показує всі типи велосипедних парковок", "uk": "Мапа, що показує всі типи велосипедних парковок",
"pl": "Mapa pokazująca wszystkie typy parkingów dla rowerów" "pl": "Mapa pokazująca wszystkie typy parkingów dla rowerów",
"nl": "Een kaart met alle soorten fietsenstallingen"
}, },
"icon": "./assets/themes/bicycle_parkings/logo.svg", "icon": "./assets/themes/bicycle_parkings/logo.svg",
"layers": [ "layers": [

View file

@ -23,7 +23,7 @@
}, },
"description": { "description": {
"en": "Coffeehouses, pubs and bars", "en": "Coffeehouses, pubs and bars",
"nl": "Cafés, kroegen en drinkgelegenheden", "nl": "Koffiehuizen, Cafés, en drinkgelegenheden",
"de": "Cafés, Kneipen und Bars", "de": "Cafés, Kneipen und Bars",
"ca": "Cafeteries, bars i pubs", "ca": "Cafeteries, bars i pubs",
"es": "Cafeterías, pubs y bares", "es": "Cafeterías, pubs y bares",

View file

@ -26,7 +26,7 @@
"ru": "На этом сайте собраны все официальные места остановки кемперов и места, где можно сбросить серую и черную воду. Вы можете добавить подробную информацию о предоставляемых услугах и их стоимости. Добавлять фотографии и отзывы. Это веб-сайт и веб-приложение. Данные хранятся в OpenStreetMap, поэтому они будут бесплатными всегда и могут быть повторно использованы любым приложением.", "ru": "На этом сайте собраны все официальные места остановки кемперов и места, где можно сбросить серую и черную воду. Вы можете добавить подробную информацию о предоставляемых услугах и их стоимости. Добавлять фотографии и отзывы. Это веб-сайт и веб-приложение. Данные хранятся в OpenStreetMap, поэтому они будут бесплатными всегда и могут быть повторно использованы любым приложением.",
"ja": "このWebサイトでは、すべてのキャンピングカーの公式停車場所と、汚水を捨てることができる場所を収集します。提供されるサービスとコストに関する詳細を追加できます。写真とレビューを追加します。これはウェブサイトとウェブアプリです。データはOpenStreetMapに保存されるので、永遠に無料で、どんなアプリからでも再利用できます。", "ja": "このWebサイトでは、すべてのキャンピングカーの公式停車場所と、汚水を捨てることができる場所を収集します。提供されるサービスとコストに関する詳細を追加できます。写真とレビューを追加します。これはウェブサイトとウェブアプリです。データはOpenStreetMapに保存されるので、永遠に無料で、どんなアプリからでも再利用できます。",
"zh_Hant": "這個網站收集所有官方露營地點,以及那邊能排放廢水。你可以加上詳細的服務項目與價格,加上圖片以及評價。", "zh_Hant": "這個網站收集所有官方露營地點,以及那邊能排放廢水。你可以加上詳細的服務項目與價格,加上圖片以及評價。",
"nl": "Deze website verzamelt en toont alle officiële plaatsen waar een camper mag overnachten en afvalwater kan lozen. Ook jij kan extra gegevens toevoegen, zoals welke services er geboden worden en hoeveel dit kot, ook afbeeldingen en reviews kan je toevoegen. De data wordt op OpenStreetMap opgeslagen en is dus altijd gratis te hergebruiken, ook door andere applicaties.", "nl": "Deze website verzamelt en toont alle officiële plaatsen waar een camper mag overnachten en afvalwater kan lozen. Ook jij kan extra gegevens toevoegen, zoals welke services er geboden worden en hoeveel dit kost. Voeg afbeeldingen en reviews toe.",
"fr": "Ce site collecte les zones de camping officielles ainsi que les aires de vidange. Il est possible dajouter des détails à propos des services proposés ainsi que leurs coûts. Ajoutez vos images et avis.", "fr": "Ce site collecte les zones de camping officielles ainsi que les aires de vidange. Il est possible dajouter des détails à propos des services proposés ainsi que leurs coûts. Ajoutez vos images et avis.",
"de": "Eine Karte für offizielle Wohnmobilstellplätze und Orte zur Entsorgung von Schmutzwasser. Sie können Details über die angebotenen Dienstleistungen und die Kosten hinzufügen, oder Bilder und Bewertungen ergänzen.", "de": "Eine Karte für offizielle Wohnmobilstellplätze und Orte zur Entsorgung von Schmutzwasser. Sie können Details über die angebotenen Dienstleistungen und die Kosten hinzufügen, oder Bilder und Bewertungen ergänzen.",
"hu": "Ez az oldal az összes olyan hivatalos lakóautós megállóhelyet és helyet gyűjti össze, ahol szürke és fekete szennyvizet lehet üríteni. Hozzáadhat részleteket a nyújtott szolgáltatásokról és a költségekről, valamint képeket és értékeléseket. Ez egyszerre egy weboldal és egy webes alkalmazás. Az adatokat az OpenStreetMapen tároljuk, így mindig ingyenesek lesznek, és bármelyik alkalmazás újra felhasználhatja őket.", "hu": "Ez az oldal az összes olyan hivatalos lakóautós megállóhelyet és helyet gyűjti össze, ahol szürke és fekete szennyvizet lehet üríteni. Hozzáadhat részleteket a nyújtott szolgáltatásokról és a költségekről, valamint képeket és értékeléseket. Ez egyszerre egy weboldal és egy webes alkalmazás. Az adatokat az OpenStreetMapen tároljuk, így mindig ingyenesek lesznek, és bármelyik alkalmazás újra felhasználhatja őket.",

View file

@ -8,7 +8,8 @@
"cs": "Cirkulární ekonomika", "cs": "Cirkulární ekonomika",
"uk": "Переробна економіка", "uk": "Переробна економіка",
"hu": "Körforgásos gazdaság", "hu": "Körforgásos gazdaság",
"pl": "Gospodarka o obiegu zamkniętym" "pl": "Gospodarka o obiegu zamkniętym",
"nl": "Circulaire economie"
}, },
"description": { "description": {
"en": "Various items which help people to share, reuse or recycle.", "en": "Various items which help people to share, reuse or recycle.",
@ -17,7 +18,8 @@
"ca": "Varios elements que ajuden a la gent a compartir, reutilitzar o reciclar.", "ca": "Varios elements que ajuden a la gent a compartir, reutilitzar o reciclar.",
"cs": "Různé předměty, které pomáhají lidem sdílet, znovu používat nebo recyklovat.", "cs": "Různé předměty, které pomáhají lidem sdílet, znovu používat nebo recyklovat.",
"uk": "Різноманітні предмети, які допомагають людям ділитися, повторно використовувати або переробляти.", "uk": "Різноманітні предмети, які допомагають людям ділитися, повторно використовувати або переробляти.",
"pl": "Różne przedmioty, które pomagają ludziom się dzielić, ponownie używać lub poddawać recyklingowi." "pl": "Różne przedmioty, które pomagają ludziom się dzielić, ponownie używać lub poddawać recyklingowi.",
"nl": "Verschillende items die mensen helpen om te delen, te hergebruiken of te recycleren."
}, },
"icon": "./assets/themes/circular_economy/circular.svg", "icon": "./assets/themes/circular_economy/circular.svg",
"layers": [ "layers": [
@ -50,7 +52,8 @@
"ca": "Tendes de segona mà", "ca": "Tendes de segona mà",
"cs": "Obchody s použitým zbožím", "cs": "Obchody s použitým zbožím",
"uk": "Магазини секонд-хенду", "uk": "Магазини секонд-хенду",
"pl": "Sklepy second-hand" "pl": "Sklepy second-hand",
"nl": "Tweedehandswinkels"
}, },
"filter": null, "filter": null,
"source": { "source": {

View file

@ -359,7 +359,8 @@
"pl": "Czy ten warsztat szewski naprawia buty wspinaczkowe?", "pl": "Czy ten warsztat szewski naprawia buty wspinaczkowe?",
"da": "Reparerer denne butik klatresko?", "da": "Reparerer denne butik klatresko?",
"it": "Questo negozio ripara scarpe da arrampicata?", "it": "Questo negozio ripara scarpe da arrampicata?",
"uk": "Чи ремонтує ця майстерня альпіністське взуття?" "uk": "Чи ремонтує ця майстерня альпіністське взуття?",
"nl": "Repareert deze schoenwinkel bergschoenen?"
}, },
"mappings": [ "mappings": [
{ {
@ -374,7 +375,8 @@
"pl": "Ten warsztat naprawia buty wspinaczkowe", "pl": "Ten warsztat naprawia buty wspinaczkowe",
"da": "Denne butik reparerer klatresko", "da": "Denne butik reparerer klatresko",
"it": "Questo negozio ripara scarpe da arrampicata", "it": "Questo negozio ripara scarpe da arrampicata",
"uk": "У цій майстерні ремонтують альпіністське взуття" "uk": "У цій майстерні ремонтують альпіністське взуття",
"nl": "Deze winkel repareert bergschoenen"
} }
}, },
{ {
@ -389,7 +391,8 @@
"pl": "Ten warsztat nie naprawia butów wspinaczkowych", "pl": "Ten warsztat nie naprawia butów wspinaczkowych",
"da": "Denne butik reparerer ikke klatresko", "da": "Denne butik reparerer ikke klatresko",
"it": "Questo negozio non ripara scarpe da arrampicata", "it": "Questo negozio non ripara scarpe da arrampicata",
"uk": "Цей магазин не займається ремонтом альпіністського взуття" "uk": "Цей магазин не займається ремонтом альпіністського взуття",
"nl": "Deze winkel repareert geen bergschoenen"
} }
} }
] ]
@ -424,7 +427,8 @@
"pl": "Czy ten warsztat obuwniczy naprawia również buty wspinaczkowe?", "pl": "Czy ten warsztat obuwniczy naprawia również buty wspinaczkowe?",
"da": "Reparerer denne skomager klatresko?", "da": "Reparerer denne skomager klatresko?",
"it": "Questo negozio ripara scarpe da arrampicata?", "it": "Questo negozio ripara scarpe da arrampicata?",
"uk": "Чи ремонтує ця майстерня також альпіністське взуття?" "uk": "Чи ремонтує ця майстерня також альпіністське взуття?",
"nl": "Repareert deze schoenmaker ook bergschoenen?"
}, },
"mappings": [ "mappings": [
{ {
@ -439,7 +443,8 @@
"pl": "Ten warsztat naprawia buty wspinaczkowe", "pl": "Ten warsztat naprawia buty wspinaczkowe",
"da": "Denne butik reparerer klatresko", "da": "Denne butik reparerer klatresko",
"it": "Questo negozio ripara scarpe da arrampicata", "it": "Questo negozio ripara scarpe da arrampicata",
"uk": "У цій майстерні ремонтують альпіністське взуття" "uk": "У цій майстерні ремонтують альпіністське взуття",
"nl": "Deze winkel repareert bergschoenen"
} }
}, },
{ {
@ -454,7 +459,8 @@
"pl": "Ten warsztat nie naprawia butów wspinaczkowych", "pl": "Ten warsztat nie naprawia butów wspinaczkowych",
"da": "Denne butik reparerer ikke klatresko", "da": "Denne butik reparerer ikke klatresko",
"it": "Questo negozio non ripara scarpe da arrampicata", "it": "Questo negozio non ripara scarpe da arrampicata",
"uk": "Цей магазин не займається ремонтом альпіністського взуття" "uk": "Цей магазин не займається ремонтом альпіністського взуття",
"nl": "Deze winkel repareert geen bergschoenen"
} }
} }
] ]
@ -476,7 +482,8 @@
"da": "en skomager", "da": "en skomager",
"it": "un calzolaio", "it": "un calzolaio",
"uk": "майстерня по ремонту взуття", "uk": "майстерня по ремонту взуття",
"hu": "egy cipészműhely" "hu": "egy cipészműhely",
"nl": "een schoenmaker"
} }
} }
] ]

View file

@ -373,14 +373,16 @@
"en": "Cycling guideposts", "en": "Cycling guideposts",
"de": "Fahrrad-Wegweiser", "de": "Fahrrad-Wegweiser",
"cs": "Cyklistické ukazatele", "cs": "Cyklistické ukazatele",
"es": "Señalización ciclista" "es": "Señalización ciclista",
"nl": "Fietswegwijzers"
}, },
"title": { "title": {
"render": { "render": {
"en": "Cycling guidepost", "en": "Cycling guidepost",
"de": "Fahrrad-Wegweiser", "de": "Fahrrad-Wegweiser",
"cs": "Cyklistický ukazatel", "cs": "Cyklistický ukazatel",
"es": "Hito ciclista" "es": "Hito ciclista",
"nl": "Fietswegwijzer"
} }
} }
}, },
@ -409,7 +411,8 @@
"en": "a route marker for a node to node link", "en": "a route marker for a node to node link",
"de": "Eine Routenmarkierung für eine Verbindung von Knoten zu Knoten", "de": "Eine Routenmarkierung für eine Verbindung von Knoten zu Knoten",
"cs": "značka trasy pro spojení mezi uzly", "cs": "značka trasy pro spojení mezi uzly",
"es": "un marcador de ruta para un enlace de nodo a nodo" "es": "un marcador de ruta para un enlace de nodo a nodo",
"nl": "een knooppuntwegwijzer"
}, },
"=exampleImages": [ "=exampleImages": [
"./assets/layers/route_marker/bicycle_route_marker.jpg" "./assets/layers/route_marker/bicycle_route_marker.jpg"

View file

@ -21,7 +21,7 @@
}, },
"description": { "description": {
"en": "A map for cyclists to find the appropriate infrastructure for their needs, such as bicycle pumps, drinking water, bicycle shops, repair stations or parkings.", "en": "A map for cyclists to find the appropriate infrastructure for their needs, such as bicycle pumps, drinking water, bicycle shops, repair stations or parkings.",
"nl": "Het doel van deze kaart is om fietsers een gebruiksvriendelijke oplossing te bieden voor het vinden van de juiste infrastructuur voor hun behoeften.<br><br>U kunt uw exacte locatie volgen (enkel mobiel) en in de linkerbenedenhoek categorieën selecteren die voor u relevant zijn. U kunt deze tool ook gebruiken om 'spelden' aan de kaart toe te voegen of te bewerken en meer gegevens te verstrekken door de vragen te beantwoorden.<br><br>Alle wijzigingen die u maakt worden automatisch opgeslagen in de wereldwijde database van OpenStreetMap en kunnen door anderen vrij worden hergebruikt.<br><br>Bekijk voor meer info over cyclofix ook <a href='https://cyclofix.osm.be/'>cyclofix.osm.be</a>.", "nl": "Een kaart waarop fietsers gepaste infrastructuur kunnen vinden zoals fietspompen, drinkwater, fietsenwinkels, reparatiepunten of stallingen.",
"fr": "Le but de cette carte est de présenter aux cyclistes une solution facile à utiliser pour trouver l'infrastructure appropriée à leurs besoins.<br><br>Vous pouvez suivre votre localisation précise (mobile uniquement) et sélectionner les couches qui vous concernent dans le coin inférieur gauche. Vous pouvez également utiliser cet outil pour ajouter ou modifier des épingles (points d'intérêt) sur la carte et fournir plus de données en répondant aux questions.<br><br>Toutes les modifications que vous apportez seront automatiquement enregistrées dans la base de données mondiale d'OpenStreetMap et peuvent être librement réutilisées par d'autres.<br><br>Pour plus d'informations sur le projet cyclofix, rendez-vous sur <a href='https://cyclofix.osm.be/'>cyclofix.osm.be</a>.", "fr": "Le but de cette carte est de présenter aux cyclistes une solution facile à utiliser pour trouver l'infrastructure appropriée à leurs besoins.<br><br>Vous pouvez suivre votre localisation précise (mobile uniquement) et sélectionner les couches qui vous concernent dans le coin inférieur gauche. Vous pouvez également utiliser cet outil pour ajouter ou modifier des épingles (points d'intérêt) sur la carte et fournir plus de données en répondant aux questions.<br><br>Toutes les modifications que vous apportez seront automatiquement enregistrées dans la base de données mondiale d'OpenStreetMap et peuvent être librement réutilisées par d'autres.<br><br>Pour plus d'informations sur le projet cyclofix, rendez-vous sur <a href='https://cyclofix.osm.be/'>cyclofix.osm.be</a>.",
"gl": "O obxectivo deste mapa é amosar ós ciclistas unha solución doada de empregar para atopar a infraestrutura axeitada para as súas necesidades.<br><br>Podes obter a túa localización precisa (só para dispositivos móbiles) e escoller as capas que sexan relevantes para ti na esquina inferior esquerda. Tamén podes empregar esta ferramenta para engadir ou editar puntos de interese ó mapa e fornecer máis datos respondendo as cuestións.<br><br>Todas as modificacións que fagas serán gardadas de xeito automático na base de datos global do OpenStreetMap e outros poderán reutilizalos libremente.<br><br>Para máis información sobre o proxecto cyclofix, vai a <a href='https://cyclofix.osm.be/'>cyclofix.osm.be</a>.", "gl": "O obxectivo deste mapa é amosar ós ciclistas unha solución doada de empregar para atopar a infraestrutura axeitada para as súas necesidades.<br><br>Podes obter a túa localización precisa (só para dispositivos móbiles) e escoller as capas que sexan relevantes para ti na esquina inferior esquerda. Tamén podes empregar esta ferramenta para engadir ou editar puntos de interese ó mapa e fornecer máis datos respondendo as cuestións.<br><br>Todas as modificacións que fagas serán gardadas de xeito automático na base de datos global do OpenStreetMap e outros poderán reutilizalos libremente.<br><br>Para máis información sobre o proxecto cyclofix, vai a <a href='https://cyclofix.osm.be/'>cyclofix.osm.be</a>.",
"de": "Eine Karte, die Radfahrern hilft, die für ihre Bedürfnisse geeignete Infrastruktur zu finden, z. B. Fahrradpumpen, Trinkwasser, Fahrradläden, Reparaturstationen oder Parkmöglichkeiten.", "de": "Eine Karte, die Radfahrern hilft, die für ihre Bedürfnisse geeignete Infrastruktur zu finden, z. B. Fahrradpumpen, Trinkwasser, Fahrradläden, Reparaturstationen oder Parkmöglichkeiten.",

View file

@ -10,7 +10,8 @@
"cs": "Reakce na katastrofy a záchranné služby", "cs": "Reakce na katastrofy a záchranné služby",
"ru": "Ликвидация последствий стихийных бедствий и аварийные службы", "ru": "Ликвидация последствий стихийных бедствий и аварийные службы",
"hu": "Katasztrófaelhárítás és sürgősségi szolgálatok", "hu": "Katasztrófaelhárítás és sürgősségi szolgálatok",
"uk": "Реагування на стихійні лиха та аварійні служби" "uk": "Реагування на стихійні лиха та аварійні служби",
"nl": "Rampbestrijding en hulpdiensten"
}, },
"description": { "description": {
"en": "This map contains elements meant for disaster preparedness and response.", "en": "This map contains elements meant for disaster preparedness and response.",
@ -19,7 +20,8 @@
"es": "Este mapa contiene elementos destinados a la preparación y respuesta ante desastres.", "es": "Este mapa contiene elementos destinados a la preparación y respuesta ante desastres.",
"ca": "Aquest mapa conté elements destinants a la preparació i resposta davant desastres.", "ca": "Aquest mapa conté elements destinants a la preparació i resposta davant desastres.",
"cs": "Tato mapa obsahuje prvky určené pro připravenost na katastrofy a reakci na ně.", "cs": "Tato mapa obsahuje prvky určené pro připravenost na katastrofy a reakci na ně.",
"uk": "Ця мапа містить обʼєкти, призначені для забезпечення готовності до стихійних лих та реагування на них." "uk": "Ця мапа містить обʼєкти, призначені для забезпечення готовності до стихійних лих та реагування на них.",
"nl": "Deze kaart bevat elementen die bedoeld zijn voor rampbestrijding en -voorbereiding."
}, },
"icon": "./assets/themes/disaster_response/CivilDefence.svg", "icon": "./assets/themes/disaster_response/CivilDefence.svg",
"socialImage": "./assets/themes/disaster_response/social.svg", "socialImage": "./assets/themes/disaster_response/social.svg",

View file

@ -2,7 +2,7 @@
"id": "etymology", "id": "etymology",
"title": { "title": {
"en": "Etymology - what is a place named after?", "en": "Etymology - what is a place named after?",
"nl": "Etymologie - waarnaar is een straat vernoemd?", "nl": "Etymologie - waarnaar is een plaats naar vernoemd?",
"de": "Etymologie - Wonach ist ein Ort benannt?", "de": "Etymologie - Wonach ist ein Ort benannt?",
"it": "Etimologia - da cosa prende nome un luogo?", "it": "Etimologia - da cosa prende nome un luogo?",
"ru": "Открытая этимологическая карта", "ru": "Открытая этимологическая карта",

View file

@ -15,7 +15,8 @@
"es": "Lugar al aire libre para hacer fuego o una barbacoa/parrilla fija en un lugar oficial.", "es": "Lugar al aire libre para hacer fuego o una barbacoa/parrilla fija en un lugar oficial.",
"ca": "Lloc a l'aire lliure adequat per a fer foc i barbacoes.", "ca": "Lloc a l'aire lliure adequat per a fer foc i barbacoes.",
"cs": "Venkovní místo pro rozdělání ohně nebo grilování na oficiálním místě.", "cs": "Venkovní místo pro rozdělání ohně nebo grilování na oficiálním místě.",
"uk": "Відкрите місце для розведення багаття або стаціонарне барбекю в офіційному місці." "uk": "Відкрите місце для розведення багаття або стаціонарне барбекю в офіційному місці.",
"nl": "Buitenruimte om een vuur te maken of een vaste barbecue op een officiële plaats."
}, },
"icon": "./assets/layers/assembly_point/fire.svg", "icon": "./assets/layers/assembly_point/fire.svg",
"layers": [ "layers": [

View file

@ -242,6 +242,20 @@
} }
} }
}, },
"aerialway": {
"tagRenderings": {
"type": {
"mappings": {
"0": {
"then": "Dit is een kabelbaan waar de gondel op dezelfde kabel naar boven en naar beneden gaat."
},
"1": {
"then": "Dit is een kabellift waar de gondel in een continue circuit gaat"
}
}
}
}
},
"ambulancestation": { "ambulancestation": {
"description": "Een ambulancestation is een plaats waar ambulances, medisch materiaal, persoonlijk beschermingsmateriaal en aanverwanten worden bewaard.", "description": "Een ambulancestation is een plaats waar ambulances, medisch materiaal, persoonlijk beschermingsmateriaal en aanverwanten worden bewaard.",
"name": "Kaart van ambulancestations", "name": "Kaart van ambulancestations",
@ -291,6 +305,53 @@
"render": "Ambulancestation" "render": "Ambulancestation"
} }
}, },
"animal_shelter": {
"tagRenderings": {
"6": {
"mappings": {
"0": {
"then": "Dieren worden hier gehouden totdat ze geadopteerd worden"
},
"1": {
"then": "Dieren worden hier verzorgd voor de rest van hun leven"
},
"2": {
"then": "Gewonde dieren worden hier gerevalideerd totdat ze terug in het wild vrijgelaten worden "
}
},
"question": "Wat is het doel van dit dierenasiel?"
},
"boarded_animals": {
"mappings": {
"0": {
"then": "Honden worden hier opgevangen"
},
"1": {
"then": "Katten worden hier opgevangen"
},
"2": {
"then": "Paarden worden hier opgevangen"
},
"3": {
"then": "Vogels worden hier opgevangen"
},
"4": {
"then": "Wilde dieren worden hier opgevangen"
}
},
"question": "Welke dieren worden hier opgevangen?",
"render": "{animal_shelter} worden hier opgevangen"
}
},
"title": {
"mappings": {
"0": {
"then": "{name}"
}
},
"render": "Dierenasiel"
}
},
"artwork": { "artwork": {
"description": "Een vrije kaart met standbeelden, bustes, graffiti en andere kunstwerken van over de hele wereld", "description": "Een vrije kaart met standbeelden, bustes, graffiti en andere kunstwerken van over de hele wereld",
"name": "Kunstwerken", "name": "Kunstwerken",
@ -1668,6 +1729,9 @@
}, },
"title": { "title": {
"mappings": { "mappings": {
"0": {
"then": "{name}"
},
"1": { "1": {
"then": "Vogelkijkhut {name}" "then": "Vogelkijkhut {name}"
}, },
@ -5745,6 +5809,11 @@
} }
}, },
"title": { "title": {
"mappings": {
"0": {
"then": "{name}"
}
},
"render": "Natuurgebied" "render": "Natuurgebied"
} }
}, },
@ -6290,6 +6359,21 @@
"render": "Picknicktafel" "render": "Picknicktafel"
} }
}, },
"play_forest": {
"description": "Een speelbos is een vrij toegankelijke zone in een bos",
"name": "Speelbossen",
"title": {
"mappings": {
"0": {
"then": "{name}"
},
"1": {
"then": "Speelbos {name}"
}
},
"render": "Speelbos"
}
},
"playground": { "playground": {
"deletion": { "deletion": {
"nonDeleteMappings": { "nonDeleteMappings": {
@ -7824,6 +7908,9 @@
}, },
"title": { "title": {
"mappings": { "mappings": {
"0": {
"then": "{name}"
},
"1": { "1": {
"then": "Voetpad" "then": "Voetpad"
}, },
@ -9836,13 +9923,25 @@
} }
}, },
"village_green": { "village_green": {
"description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)" "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)",
"name": "Speelweide",
"title": {
"mappings": {
"0": {
"then": "{name}"
}
},
"render": "Speelweide"
}
}, },
"visitor_information_centre": { "visitor_information_centre": {
"description": "Een bezoekerscentrum biedt informatie over een specifieke attractie of bezienswaardigheid waar het is gevestigd.", "description": "Een bezoekerscentrum biedt informatie over een specifieke attractie of bezienswaardigheid waar het is gevestigd.",
"name": "Bezoekerscentrum", "name": "Bezoekerscentrum",
"title": { "title": {
"mappings": { "mappings": {
"0": {
"then": "{name:nl}"
},
"1": { "1": {
"then": "{name}" "then": "{name}"
} }
@ -10071,66 +10170,5 @@
}, },
"render": "windturbine" "render": "windturbine"
} }
},
"aerialway": {
"tagRenderings": {
"type": {
"mappings": {
"0": {
"then": "Dit is een kabelbaan waar de gondel op dezelfde kabel naar boven en naar beneden gaat."
},
"1": {
"then": "Dit is een kabellift waar de gondel in een continue circuit gaat"
}
}
}
}
},
"animal_shelter": {
"tagRenderings": {
"6": {
"mappings": {
"0": {
"then": "Dieren worden hier gehouden totdat ze geadopteerd worden"
},
"2": {
"then": "Gewonde dieren worden hier gerevalideerd totdat ze terug in het wild vrijgelaten worden "
},
"1": {
"then": "Dieren worden hier verzorgd voor de rest van hun leven"
}
},
"question": "Wat is het doel van dit dierenasiel?"
},
"boarded_animals": {
"mappings": {
"0": {
"then": "Honden worden hier opgevangen"
},
"1": {
"then": "Katten worden hier opgevangen"
},
"2": {
"then": "Paarden worden hier opgevangen"
},
"3": {
"then": "Vogels worden hier opgevangen"
},
"4": {
"then": "Wilde dieren worden hier opgevangen"
}
},
"question": "Welke dieren worden hier opgevangen?",
"render": "{animal_shelter} worden hier opgevangen"
}
},
"title": {
"mappings": {
"0": {
"then": "{name}"
}
},
"render": "Dierenasiel"
}
} }
} }

View file

@ -20,6 +20,7 @@
"cancel": "Annuleren", "cancel": "Annuleren",
"cannotBeDeleted": "Dit object kan niet van de kaart verwijderd worden", "cannotBeDeleted": "Dit object kan niet van de kaart verwijderd worden",
"delete": "Verwijder", "delete": "Verwijder",
"deletedTitle": "Verwijderd item",
"explanations": { "explanations": {
"hardDelete": "Dit object zal verwijderd worden in OpenStreetMap. Een ervaren bijdrager kan dit ongedaan maken.", "hardDelete": "Dit object zal verwijderd worden in OpenStreetMap. Een ervaren bijdrager kan dit ongedaan maken.",
"retagNoOtherThemes": "Dit object zal anders aangeduid worden en niet meer getoond worden in deze applicatie", "retagNoOtherThemes": "Dit object zal anders aangeduid worden en niet meer getoond worden in deze applicatie",
@ -43,8 +44,7 @@
}, },
"safeDelete": "Dit object kan veilig verwijderd worden van de kaart.", "safeDelete": "Dit object kan veilig verwijderd worden van de kaart.",
"useSomethingElse": "Gebruik een ander OpenStreetMap-bewerkprogramma om dit object te verwijderen", "useSomethingElse": "Gebruik een ander OpenStreetMap-bewerkprogramma om dit object te verwijderen",
"whyDelete": "Waarom moet dit object van de kaart verwijderd worden?", "whyDelete": "Waarom moet dit object van de kaart verwijderd worden?"
"deletedTitle": "Verwijderd item"
}, },
"external": { "external": {
"error": "Kon geen gestructureerde informatie uit de website ophalen" "error": "Kon geen gestructureerde informatie uit de website ophalen"

View file

@ -605,6 +605,35 @@
"tagRenderings": { "tagRenderings": {
"building type": { "building type": {
"question": "Wat voor soort gebouw is dit?" "question": "Wat voor soort gebouw is dit?"
},
"grb-fixme": {
"mappings": {
"0": {
"then": "Geen fixme"
}
},
"question": "Wat zegt de fixme?",
"render": "De fixme is <b>{fixme}</b>"
},
"grb-housenumber": {
"mappings": {
"0": {
"then": "Geen huisnummer"
}
},
"question": "Wat is het huisnummer?",
"render": "Het huisnummer is <b>{addr:housenumber}</b>"
},
"grb-min-level": {
"question": "Hoeveel verdiepingen ontbreken?",
"render": "Dit gebouw begint maar op de {building:min_level} verdieping"
},
"grb-street": {
"question": "Wat is de straat?",
"render": "De straat is <b>{addr:street}</b>"
},
"grb-unit": {
"render": "De wooneenheid-aanduiding is <b>{addr:unit}</b> "
} }
} }
}, },
@ -621,8 +650,35 @@
} }
} }
} }
},
"5": {
"override": {
"tagRenderings+": {
"0": {
"mappings": {
"0": {
"then": "Geen omliggend OSM-gebouw gevonden"
}
}
},
"3": {
"mappings": {
"0": {
"then": "Geen omliggend OSM-gebouw gevonden. Een omliggend gebouw is nodig om dit punt als adres punt toe te voegen. <div class=subtle>Importeer eerst de gebouwen. Vernieuw dan de pagina om losse adressen toe te voegen</div>"
}
},
"render": {
"special": {
"text": "Voeg dit adres als een nieuw adrespunt toe"
}
}
}
}
}
} }
} },
"shortDescription": "Grb import helper tool",
"title": "GRB import helper"
}, },
"hackerspaces": { "hackerspaces": {
"description": "Op deze kaart kan je hackerspaces zien, toevoegen en updaten", "description": "Op deze kaart kan je hackerspaces zien, toevoegen en updaten",
@ -834,6 +890,11 @@
}, },
"title": "Dierenartsen, hondenloopzones en andere huisdiervriendelijke plaatsen" "title": "Dierenartsen, hondenloopzones en andere huisdiervriendelijke plaatsen"
}, },
"play_forests": {
"description": "Een speelbos is een zone in een bos die vrij toegankelijk is voor spelende kinderen. Deze wordt in bossen van het Agentschap Natuur en bos altijd aangeduid met het overeenkomstige bord.",
"shortDescription": "Deze kaart toont speelbossen",
"title": "Speelbossen"
},
"playgrounds": { "playgrounds": {
"description": "Op deze kaart vind je speeltuinen en kan je zelf meer informatie en foto's toevoegen", "description": "Op deze kaart vind je speeltuinen en kan je zelf meer informatie en foto's toevoegen",
"shortDescription": "Een kaart met speeltuinen", "shortDescription": "Een kaart met speeltuinen",
@ -896,6 +957,47 @@
"shortDescription": "Een bewerkbare kaart met simpele informatie over winkels", "shortDescription": "Een bewerkbare kaart met simpele informatie over winkels",
"title": "Winkels" "title": "Winkels"
}, },
"speelplekken": {
"description": "<h3>Welkom bij de Groendoener!</h3>De Zuidrand dat is spelen, ravotten, chillen, wandelen,… in het groen. Meer dan <b>200 grote en kleine speelplekken</b> liggen er in parken, in bossen en op pleintjes te wachten om ontdekt te worden. De verschillende speelplekken werden getest én goedgekeurd door kinder- en jongerenreporters uit de Zuidrand. Met leuke challenges dagen de reporters jou uit om ook op ontdekking te gaan. Klik op een speelplek op de kaart, bekijk het filmpje en ga op verkenning!<br/><br/>Het project groendoener kadert binnen het strategisch project <a href='https://www.provincieantwerpen.be/aanbod/dlm/samenwerkingsverbanden/zuidrand/projecten/strategisch-project-beleefbare-open-ruimte.html' target='_blank'>Beleefbare Open Ruimte in de Antwerpse Zuidrand</a> en is een samenwerking tussen het departement Leefmilieu van provincie Antwerpen, Sportpret vzw, een OpenStreetMap-België Consultent en Createlli vzw. Het project kwam tot stand met steun van Departement Omgeving van de Vlaamse Overheid.<br/><img class='w-full md:w-1/2' src='./assets/themes/speelplekken/provincie_antwerpen.jpg'/><img class='w-full md:w-1/2' src='./assets/themes/speelplekken/Departement_Omgeving_Vlaanderen.png'/>",
"layers": {
"6": {
"name": "Wandelroutes van provincie Antwerpen",
"tagRenderings": {
"walk-description": {
"render": "<h3>Korte beschrijving:</h3>{description}"
},
"walk-length": {
"render": "Deze wandeling is <b>{_length:km}km</b> lang"
},
"walk-operator": {
"question": "Wie beheert deze wandeling en plaatst dus de signalisatiebordjes?"
},
"walk-operator-email": {
"question": "Naar wie kan men emailen bij problemen rond signalisatie?",
"render": "Bij problemen met signalisatie kan men emailen naar <a href='mailto:{operator:email}'>{operator:email}</a>"
},
"walk-type": {
"mappings": {
"0": {
"then": "Dit is een internationale wandelroute"
},
"1": {
"then": "Dit is een nationale wandelroute"
},
"2": {
"then": "Dit is een regionale wandelroute"
},
"3": {
"then": "Dit is een lokale wandelroute"
}
}
}
}
}
},
"shortDescription": "Speelplekken in de Antwerpse Zuidrand",
"title": "Welkom bij de groendoener!"
},
"sport_pitches": { "sport_pitches": {
"description": "Een sportveld is een ingerichte plaats met infrastructuur om een sport te beoefenen", "description": "Een sportveld is een ingerichte plaats met infrastructuur om een sport te beoefenen",
"shortDescription": "Deze kaart toont sportvelden", "shortDescription": "Deze kaart toont sportvelden",
@ -1016,6 +1118,10 @@
}, },
"title": "Straatverlichting" "title": "Straatverlichting"
}, },
"street_lighting_assen": {
"description": "Op deze kaart vind je alles over straatlantaarns + een dataset van Assen",
"title": "Straatverlichting - Assen"
},
"surveillance": { "surveillance": {
"description": "Op deze open kaart kan je bewakingscamera's vinden.", "description": "Op deze open kaart kan je bewakingscamera's vinden.",
"shortDescription": "Bewakingscameras en dergelijke", "shortDescription": "Bewakingscameras en dergelijke",
@ -1112,6 +1218,10 @@
"description": "Kaart met afvalbakken en recyclingfaciliteiten.", "description": "Kaart met afvalbakken en recyclingfaciliteiten.",
"title": "Afval" "title": "Afval"
}, },
"waste_assen": {
"description": "Kaart met afvalbakken en recyclingfaciliteiten + een dataset voor Assen.",
"title": "Afval - Assen"
},
"waste_basket": { "waste_basket": {
"description": "Op deze kaart vind je vuilnisbakken waar je afval in kan smijten. Ontbreekt er een vuilnisbak? Dan kan je die zelf toevoegen", "description": "Op deze kaart vind je vuilnisbakken waar je afval in kan smijten. Ontbreekt er een vuilnisbak? Dan kan je die zelf toevoegen",
"shortDescription": "Een kaart met vuilnisbakken", "shortDescription": "Een kaart met vuilnisbakken",

View file

@ -32,7 +32,9 @@ export class ImgurToPanoramax extends Script {
private licenseChecker = new PanoramaxImageProvider() private licenseChecker = new PanoramaxImageProvider()
private readonly alreadyUploaded: Record<string, string> = this.readAlreadyUploaded() private readonly alreadyUploaded: Record<string, string> = this.readAlreadyUploaded()
private readonly alreadyUploadedInv: Record<string, string> = Utils.transposeMapSimple(this.alreadyUploaded) private readonly alreadyUploadedInv: Record<string, string> = Utils.transposeMapSimple(
this.alreadyUploaded
)
private _imageDirectory: string private _imageDirectory: string
private _licenseDirectory: string private _licenseDirectory: string
@ -40,7 +42,7 @@ export class ImgurToPanoramax extends Script {
test: "7f34cf53-27ff-46c9-ac22-78511fa8457a", test: "7f34cf53-27ff-46c9-ac22-78511fa8457a",
cc0: "1de6f4a1-73ac-4c75-ab7f-2a2aabddf50a", // "f0d6f78a-ff95-4db1-8494-6eb44a17bb37", cc0: "1de6f4a1-73ac-4c75-ab7f-2a2aabddf50a", // "f0d6f78a-ff95-4db1-8494-6eb44a17bb37",
ccby: "288a8052-b475-422c-811a-4f6f1a00015e", ccby: "288a8052-b475-422c-811a-4f6f1a00015e",
ccbysa: "f3d02893-b4c1-4cd6-8b27-e27ab57eb59a" ccbysa: "f3d02893-b4c1-4cd6-8b27-e27ab57eb59a",
} as const } as const
constructor() { constructor() {
@ -49,21 +51,20 @@ export class ImgurToPanoramax extends Script {
) )
} }
private async getRawInfo(imgurUrl): Promise<{ description?: string; datetime: number }> {
private async getRawInfo(imgurUrl): Promise<{ description?: string, datetime: number }> { const fallbackpath =
const fallbackpath = this._licenseDirectory + "/raw/" + imgurUrl.replaceAll(/[^a-zA-Z0-9]/g, "_") + ".json" this._licenseDirectory + "/raw/" + imgurUrl.replaceAll(/[^a-zA-Z0-9]/g, "_") + ".json"
if (existsSync(fallbackpath)) { if (existsSync(fallbackpath)) {
console.log("Loaded raw info from fallback path") console.log("Loaded raw info from fallback path")
return JSON.parse(readFileSync(fallbackpath, "utf8"))["data"] return JSON.parse(readFileSync(fallbackpath, "utf8"))["data"]
} }
// No local data available; lets ask imgur themselves // No local data available; lets ask imgur themselves
return new Promise((resolve) => { return new Promise((resolve) => {
Imgur.singleton.DownloadAttribution({ url: imgurUrl }, Imgur.singleton.DownloadAttribution({ url: imgurUrl }, (raw) => {
raw => { console.log("Writing fallback to", fallbackpath, "(via raw)")
console.log("Writing fallback to", fallbackpath, "(via raw)") writeFileSync(fallbackpath, JSON.stringify(raw), "utf8")
writeFileSync(fallbackpath, JSON.stringify(raw), "utf8") resolve(raw["data"])
resolve(raw["data"]) })
})
}) })
} }
@ -76,7 +77,6 @@ export class ImgurToPanoramax extends Script {
return { licenseShortName: "CC0", artist: "Unknown" } return { licenseShortName: "CC0", artist: "Unknown" }
} }
try { try {
const licenseText: LicenseInfo = JSON.parse(rawText) const licenseText: LicenseInfo = JSON.parse(rawText)
if (licenseText.licenseShortName) { if (licenseText.licenseShortName) {
return licenseText return licenseText
@ -84,33 +84,46 @@ export class ImgurToPanoramax extends Script {
console.log("<<< No valid license found in text", rawText) console.log("<<< No valid license found in text", rawText)
return undefined return undefined
} catch (e) { } catch (e) {
console.error("Could not read ", rawText.slice(0, 20), "as json for image", imgurUrl, "from", licensePath) console.error(
"Could not read ",
rawText.slice(0, 20),
"as json for image",
imgurUrl,
"from",
licensePath
)
} }
} }
// We didn't find the expected license in the expected location; search for the fallback (raw) license // We didn't find the expected license in the expected location; search for the fallback (raw) license
const fallbackpath = this._licenseDirectory + "/raw/" + imgurUrl.replaceAll(/[^a-zA-Z0-9]/g, "_") + ".json" const fallbackpath =
this._licenseDirectory + "/raw/" + imgurUrl.replaceAll(/[^a-zA-Z0-9]/g, "_") + ".json"
if (existsSync(fallbackpath)) { if (existsSync(fallbackpath)) {
const fallbackRaw: string = JSON.parse(readFileSync(fallbackpath, "utf8"))["data"]?.description const fallbackRaw: string = JSON.parse(readFileSync(fallbackpath, "utf8"))["data"]
if (fallbackRaw?.toLowerCase()?.startsWith("cc0") || fallbackRaw?.toLowerCase()?.indexOf("#cc0") >= 0) { ?.description
if (
fallbackRaw?.toLowerCase()?.startsWith("cc0") ||
fallbackRaw?.toLowerCase()?.indexOf("#cc0") >= 0
) {
return { licenseShortName: "CC0", artist: "Unknown" } return { licenseShortName: "CC0", artist: "Unknown" }
} }
const license = Imgur.parseLicense(fallbackRaw) const license = Imgur.parseLicense(fallbackRaw)
if(license){ if (license) {
return license return license
} }
console.log("No (fallback) license found for (but file exists), not uploading", imgurUrl, fallbackRaw) console.log(
"No (fallback) license found for (but file exists), not uploading",
imgurUrl,
fallbackRaw
)
return undefined return undefined
} }
// No local data available; lets ask imgur themselves // No local data available; lets ask imgur themselves
const attr = await Imgur.singleton.DownloadAttribution({ url: imgurUrl }, const attr = await Imgur.singleton.DownloadAttribution({ url: imgurUrl }, (raw) => {
raw => { console.log("Writing fallback to", fallbackpath)
console.log("Writing fallback to", fallbackpath) writeFileSync(fallbackpath, JSON.stringify(raw), "utf8")
writeFileSync(fallbackpath, JSON.stringify(raw), "utf8") })
})
console.log("Got license via API:", attr?.licenseShortName) console.log("Got license via API:", attr?.licenseShortName)
await ScriptUtils.sleep(500) await ScriptUtils.sleep(500)
if (attr?.licenseShortName) { if (attr?.licenseShortName) {
@ -119,10 +132,7 @@ export class ImgurToPanoramax extends Script {
return undefined return undefined
} }
async uploadImage( async uploadImage(key: string, feat: Feature): Promise<UploadableTag | undefined> {
key: string,
feat: Feature
): Promise<UploadableTag | undefined> {
const v = feat.properties[key] const v = feat.properties[key]
if (!v) { if (!v) {
return undefined return undefined
@ -133,7 +143,10 @@ export class ImgurToPanoramax extends Script {
const panohash = this.alreadyUploaded[imageHash] const panohash = this.alreadyUploaded[imageHash]
if (panohash) { if (panohash) {
console.log("Already uploaded", panohash) console.log("Already uploaded", panohash)
return new And([new Tag(key.replace("image", "panoramax"), panohash), new Tag(key, "")]) return new And([
new Tag(key.replace("image", "panoramax"), panohash),
new Tag(key, ""),
])
} }
} }
@ -163,7 +176,7 @@ export class ImgurToPanoramax extends Script {
const file = new MyFile([], path) const file = new MyFile([], path)
file.stream = function() { file.stream = function () {
return handle.readableWebStream() return handle.readableWebStream()
} }
@ -200,48 +213,46 @@ export class ImgurToPanoramax extends Script {
const license = await this.getRawInfo("https://i.imgur.com/" + imgurkey + ".jpg") const license = await this.getRawInfo("https://i.imgur.com/" + imgurkey + ".jpg")
const date = new Date(license.datetime * 1000) const date = new Date(license.datetime * 1000)
const panolicense = await this.panoramax.panoramax.search({ const panolicense = await this.panoramax.panoramax.search({
ids: [panokey] ids: [panokey],
}) })
const panodata = panolicense[0] const panodata = panolicense[0]
const collection: string = panodata.collection const collection: string = panodata.collection
console.log({ imgurkey, date, panodata, datetime: license.datetime }) console.log({ imgurkey, date, panodata, datetime: license.datetime })
const p = this.panoramax.panoramax const p = this.panoramax.panoramax
const url = p.host+"/collections/" + collection + "/items/" + panokey const url = p.host + "/collections/" + collection + "/items/" + panokey
const result = await p.fetch(url, { const result = await p.fetch(url, {
method: "PATCH", method: "PATCH",
headers: { "content-type": "application/json" }, headers: { "content-type": "application/json" },
body: JSON.stringify({ body: JSON.stringify({
ts: date.getTime(), ts: date.getTime(),
}) }),
}) })
console.log("Patched date of ", p.createViewLink({ console.log(
imageId: panokey, "Patched date of ",
}), url, "result is", result.status, await result.text()) p.createViewLink({
imageId: panokey,
}),
url,
"result is",
result.status,
await result.text()
)
} }
async main(args: string[]): Promise<void> { async main(args: string[]): Promise<void> {
this._imageDirectory = args[0] ?? "/home/pietervdvn/data/imgur-image-backup" this._imageDirectory = args[0] ?? "/home/pietervdvn/data/imgur-image-backup"
this._licenseDirectory = args[1] ?? "/home/pietervdvn/git/MapComplete-data/ImageLicenseInfo" this._licenseDirectory = args[1] ?? "/home/pietervdvn/git/MapComplete-data/ImageLicenseInfo"
// await this.panoramax.panoramax.createCollection("CC0 - part 2") // await this.panoramax.panoramax.createCollection("CC0 - part 2")
// return // return
/* for (const panohash in this.alreadyUploadedInv) { /* for (const panohash in this.alreadyUploadedInv) {
await this.patchDate(panohash) await this.patchDate(panohash)
break break
}*/ }*/
const bounds = new BBox([ const bounds = new BBox([
[ [4.025057189545606, 49.588777455920024],
4.025057189545606, [-16.063346185815476, 61.187350355346894],
49.588777455920024
],
[
-16.063346185815476,
61.187350355346894
]
]) ])
const maxcount = 10000 const maxcount = 10000
const overpassfilters: RegexTag[] = [] const overpassfilters: RegexTag[] = []
@ -252,7 +263,12 @@ export class ImgurToPanoramax extends Script {
overpassfilters.push(new RegexTag(k + ":" + i, r)) overpassfilters.push(new RegexTag(k + ":" + i, r))
} }
} }
const overpass = new Overpass(new Or(overpassfilters), [], Constants.defaultOverpassUrls[0], new ImmutableStore(500) ) const overpass = new Overpass(
new Or(overpassfilters),
[],
Constants.defaultOverpassUrls[0],
new ImmutableStore(500)
)
const features = (await overpass.queryGeoJson(bounds))[0].features const features = (await overpass.queryGeoJson(bounds))[0].features
const featuresCopy = [...features] const featuresCopy = [...features]
let converted = 0 let converted = 0
@ -266,11 +282,18 @@ export class ImgurToPanoramax extends Script {
break break
} }
if (converted % 100 === 0) { if (converted % 100 === 0) {
console.log("Converted:", converted, "total:", total, "progress:", Math.round(converted * 100 / total) + "%") console.log(
"Converted:",
converted,
"total:",
total,
"progress:",
Math.round((converted * 100) / total) + "%"
)
} }
let changedTags: (UploadableTag | undefined)[] = [] let changedTags: (UploadableTag | undefined)[] = []
console.log(converted+"/"+total, " handling "+f.properties.id) console.log(converted + "/" + total, " handling " + f.properties.id)
for (const k of ["image", "image:menu", "image:streetsign"]) { for (const k of ["image", "image:menu", "image:streetsign"]) {
changedTags.push(await this.uploadImage(k, f)) changedTags.push(await this.uploadImage(k, f))
for (let i = 0; i < 20; i++) { for (let i = 0; i < 20; i++) {
@ -285,7 +308,7 @@ export class ImgurToPanoramax extends Script {
f.properties, f.properties,
{ {
theme: "image-mover", theme: "image-mover",
changeType: "link-image" changeType: "link-image",
} }
) )
changes.push(...(await action.CreateChangeDescriptions())) changes.push(...(await action.CreateChangeDescriptions()))
@ -300,7 +323,13 @@ export class ImgurToPanoramax extends Script {
const dloader = new OsmObjectDownloader() const dloader = new OsmObjectDownloader()
for (let i = 0; i < modif.length; i++) { for (let i = 0; i < modif.length; i++) {
if (i % 100 === 0) { if (i % 100 === 0) {
console.log("Downloaded osm object", i, "/", modif.length, "(" + Math.round(i * 100 / modif.length) + "%)") console.log(
"Downloaded osm object",
i,
"/",
modif.length,
"(" + Math.round((i * 100) / modif.length) + "%)"
)
} }
const id = modif[i] const id = modif[i]
const obj = await dloader.DownloadObjectAsync(id) const obj = await dloader.DownloadObjectAsync(id)
@ -318,11 +347,10 @@ export class ImgurToPanoramax extends Script {
const cs = Changes.buildChangesetXML("0", modifiedObjects) const cs = Changes.buildChangesetXML("0", modifiedObjects)
writeFileSync("imgur_to_panoramax.osc", cs, "utf8") writeFileSync("imgur_to_panoramax.osc", cs, "utf8")
const usernames = featuresCopy.map((f) => f.properties.user)
const usernames = featuresCopy.map(f => f.properties.user) const hist: Record<string, number> = {}
const hist : Record<string,number> = {}
for (const username of usernames) { for (const username of usernames) {
hist[username] = (hist[username] ?? 0)+ 1 hist[username] = (hist[username] ?? 0) + 1
} }
console.log(hist) console.log(hist)
} }

View file

@ -263,7 +263,9 @@ class TranslationPart {
lang = weblatepart lang = weblatepart
weblatepart = "core" weblatepart = "core"
} }
const fixLink = `Fix it on ${Constants.weblate}translate/mapcomplete/${weblatepart}/${lang}/?offset=1&q=context%3A%3D%22${encodeURIComponent( const fixLink = `Fix it on ${
Constants.weblate
}translate/mapcomplete/${weblatepart}/${lang}/?offset=1&q=context%3A%3D%22${encodeURIComponent(
path.join(".") path.join(".")
)}%22` )}%22`
let subparts: string[] = value.match(/{[^}]*}/g) let subparts: string[] = value.match(/{[^}]*}/g)

View file

@ -49,7 +49,7 @@ export default class OverpassFeatureSource implements UpdatableFeatureSource {
}, },
options?: { options?: {
padToTiles?: Store<number> padToTiles?: Store<number>
isActive?: Store<boolean>, isActive?: Store<boolean>
ignoreZoom?: boolean ignoreZoom?: boolean
} }
) { ) {
@ -57,7 +57,9 @@ export default class OverpassFeatureSource implements UpdatableFeatureSource {
this._isActive = options?.isActive ?? new ImmutableStore(true) this._isActive = options?.isActive ?? new ImmutableStore(true)
this.padToZoomLevel = options?.padToTiles this.padToZoomLevel = options?.padToTiles
const self = this const self = this
this._layersToDownload = options?.ignoreZoom? new ImmutableStore(state.layers) : state.zoom.map((zoom) => this.layersToDownload(zoom)) this._layersToDownload = options?.ignoreZoom
? new ImmutableStore(state.layers)
: state.zoom.map((zoom) => this.layersToDownload(zoom))
state.bounds.mapD( state.bounds.mapD(
(_) => { (_) => {
@ -123,9 +125,11 @@ export default class OverpassFeatureSource implements UpdatableFeatureSource {
let bounds: BBox let bounds: BBox
do { do {
try { try {
bounds = overrideBounds ?? this.state.bounds.data bounds =
?.pad(this.state.widenFactor) overrideBounds ??
?.expandToTileBounds(this.padToZoomLevel?.data) this.state.bounds.data
?.pad(this.state.widenFactor)
?.expandToTileBounds(this.padToZoomLevel?.data)
if (!bounds) { if (!bounds) {
return return
} }

View file

@ -42,7 +42,7 @@ export default class ThemeSource extends FeatureSourceMerger {
backend: string, backend: string,
isDisplayed: (id: string) => Store<boolean>, isDisplayed: (id: string) => Store<boolean>,
mvtAvailableLayers: Set<string>, mvtAvailableLayers: Set<string>,
fullNodeDatabaseSource?: FullNodeDatabaseSource, fullNodeDatabaseSource?: FullNodeDatabaseSource
) { ) {
const supportsForceDownload: UpdatableFeatureSource[] = [] const supportsForceDownload: UpdatableFeatureSource[] = []
@ -63,7 +63,7 @@ export default class ThemeSource extends FeatureSourceMerger {
{ {
isActive: isDisplayed(layer.id), isActive: isDisplayed(layer.id),
maxAge: layer.maxAgeOfCache, maxAge: layer.maxAgeOfCache,
}, }
) )
fromCache.set(layer.id, src) fromCache.set(layer.id, src)
} }
@ -82,7 +82,7 @@ export default class ThemeSource extends FeatureSourceMerger {
zoom, zoom,
backend, backend,
featureSwitches, featureSwitches,
fullNodeDatabaseSource, fullNodeDatabaseSource
) )
nonMvtSources.push(osmApiSource) nonMvtSources.push(osmApiSource)
@ -91,14 +91,13 @@ export default class ThemeSource extends FeatureSourceMerger {
console.log( console.log(
"Layers ", "Layers ",
nonMvtLayers.map((l) => l.id), nonMvtLayers.map((l) => l.id),
" cannot be fetched from the cache server, defaulting to overpass/OSM-api", " cannot be fetched from the cache server, defaulting to overpass/OSM-api"
) )
overpassSource = ThemeSource.setupOverpass(osmLayers, bounds, zoom, featureSwitches) overpassSource = ThemeSource.setupOverpass(osmLayers, bounds, zoom, featureSwitches)
nonMvtSources.push(overpassSource) nonMvtSources.push(overpassSource)
supportsForceDownload.push(overpassSource) supportsForceDownload.push(overpassSource)
} }
function setIsLoading() { function setIsLoading() {
const loading = overpassSource?.runningQuery?.data || osmApiSource?.isRunning?.data const loading = overpassSource?.runningQuery?.data || osmApiSource?.isRunning?.data
isLoading.setData(loading) isLoading.setData(loading)
@ -108,40 +107,47 @@ export default class ThemeSource extends FeatureSourceMerger {
osmApiSource?.isRunning?.addCallbackAndRun(() => setIsLoading()) osmApiSource?.isRunning?.addCallbackAndRun(() => setIsLoading())
const geojsonSources: UpdatableFeatureSource[] = geojsonlayers.map((l) => const geojsonSources: UpdatableFeatureSource[] = geojsonlayers.map((l) =>
ThemeSource.setupGeojsonSource(l, mapProperties, isDisplayed(l.id)), ThemeSource.setupGeojsonSource(l, mapProperties, isDisplayed(l.id))
) )
const downloadAllBounds: UIEventSource<BBox> = new UIEventSource<BBox>(undefined) const downloadAllBounds: UIEventSource<BBox> = new UIEventSource<BBox>(undefined)
const downloadAll= new OverpassFeatureSource({ const downloadAll = new OverpassFeatureSource(
layers: layers.filter(l => l.isNormal()), {
bounds: mapProperties.bounds, layers: layers.filter((l) => l.isNormal()),
zoom: mapProperties.zoom, bounds: mapProperties.bounds,
overpassUrl: featureSwitches.overpassUrl, zoom: mapProperties.zoom,
overpassTimeout: featureSwitches.overpassTimeout, overpassUrl: featureSwitches.overpassUrl,
overpassMaxZoom: new ImmutableStore(99), overpassTimeout: featureSwitches.overpassTimeout,
widenFactor: 0, overpassMaxZoom: new ImmutableStore(99),
},{ widenFactor: 0,
ignoreZoom: true },
}) {
ignoreZoom: true,
}
)
super(...geojsonSources, ...Array.from(fromCache.values()), ...mvtSources, ...nonMvtSources, downloadAll) super(
...geojsonSources,
...Array.from(fromCache.values()),
...mvtSources,
...nonMvtSources,
downloadAll
)
this.isLoading = isLoading this.isLoading = isLoading
supportsForceDownload.push(...geojsonSources) supportsForceDownload.push(...geojsonSources)
supportsForceDownload.push(...mvtSources) // Non-mvt sources are handled by overpass supportsForceDownload.push(...mvtSources) // Non-mvt sources are handled by overpass
this._mapBounds = mapProperties.bounds this._mapBounds = mapProperties.bounds
this._downloadAll = downloadAll this._downloadAll = downloadAll
this.supportsForceDownload = supportsForceDownload this.supportsForceDownload = supportsForceDownload
} }
private static setupMvtSource( private static setupMvtSource(
layer: LayerConfig, layer: LayerConfig,
mapProperties: { zoom: Store<number>; bounds: Store<BBox> }, mapProperties: { zoom: Store<number>; bounds: Store<BBox> },
isActive?: Store<boolean>, isActive?: Store<boolean>
): UpdatableFeatureSource { ): UpdatableFeatureSource {
return new DynamicMvtileSource(layer, mapProperties, { isActive }) return new DynamicMvtileSource(layer, mapProperties, { isActive })
} }
@ -149,12 +155,12 @@ export default class ThemeSource extends FeatureSourceMerger {
private static setupGeojsonSource( private static setupGeojsonSource(
layer: LayerConfig, layer: LayerConfig,
mapProperties: { zoom: Store<number>; bounds: Store<BBox> }, mapProperties: { zoom: Store<number>; bounds: Store<BBox> },
isActiveByFilter?: Store<boolean>, isActiveByFilter?: Store<boolean>
): UpdatableFeatureSource { ): UpdatableFeatureSource {
const source = layer.source const source = layer.source
const isActive = mapProperties.zoom.map( const isActive = mapProperties.zoom.map(
(z) => (isActiveByFilter?.data ?? true) && z >= layer.minzoom, (z) => (isActiveByFilter?.data ?? true) && z >= layer.minzoom,
[isActiveByFilter], [isActiveByFilter]
) )
if (source.geojsonZoomLevel === undefined) { if (source.geojsonZoomLevel === undefined) {
// This is a 'load everything at once' geojson layer // This is a 'load everything at once' geojson layer
@ -170,7 +176,7 @@ export default class ThemeSource extends FeatureSourceMerger {
zoom: Store<number>, zoom: Store<number>,
backend: string, backend: string,
featureSwitches: FeatureSwitchState, featureSwitches: FeatureSwitchState,
fullNodeDatabase: FullNodeDatabaseSource, fullNodeDatabase: FullNodeDatabaseSource
): OsmFeatureSource | undefined { ): OsmFeatureSource | undefined {
if (osmLayers.length == 0) { if (osmLayers.length == 0) {
return undefined return undefined
@ -204,7 +210,7 @@ export default class ThemeSource extends FeatureSourceMerger {
osmLayers: LayerConfig[], osmLayers: LayerConfig[],
bounds: Store<BBox>, bounds: Store<BBox>,
zoom: Store<number>, zoom: Store<number>,
featureSwitches: FeatureSwitchState, featureSwitches: FeatureSwitchState
): OverpassFeatureSource | undefined { ): OverpassFeatureSource | undefined {
if (osmLayers.length == 0) { if (osmLayers.length == 0) {
return undefined return undefined
@ -233,14 +239,14 @@ export default class ThemeSource extends FeatureSourceMerger {
{ {
padToTiles: zoom.map((zoom) => Math.min(15, zoom + 1)), padToTiles: zoom.map((zoom) => Math.min(15, zoom + 1)),
isActive, isActive,
}, }
) )
} }
public async downloadAll() { public async downloadAll() {
console.log("Downloading all data:") console.log("Downloading all data:")
await this._downloadAll.updateAsync(this._mapBounds.data) await this._downloadAll.updateAsync(this._mapBounds.data)
// await Promise.all(this.supportsForceDownload.map((i) => i.updateAsync())) // await Promise.all(this.supportsForceDownload.map((i) => i.updateAsync()))
console.log("Done") console.log("Done")
} }
} }

View file

@ -31,8 +31,8 @@ export class Imgur extends ImageProvider {
url: value, url: value,
key: key, key: key,
provider: this, provider: this,
id: value id: value,
} },
] ]
} }
return undefined return undefined
@ -88,9 +88,12 @@ export class Imgur extends ImageProvider {
* *
* *
*/ */
public async DownloadAttribution(providedImage: { public async DownloadAttribution(
url: string providedImage: {
}, withResponse?: (obj) => void): Promise<LicenseInfo> { url: string
},
withResponse?: (obj) => void
): Promise<LicenseInfo> {
const url = providedImage.url const url = providedImage.url
const hash = url.substr("https://i.imgur.com/".length).split(/\.jpe?g/i)[0] const hash = url.substr("https://i.imgur.com/".length).split(/\.jpe?g/i)[0]
@ -98,15 +101,15 @@ export class Imgur extends ImageProvider {
const response = await Utils.downloadJsonCached<{ const response = await Utils.downloadJsonCached<{
data: { description: string; datetime: string; views: number } data: { description: string; datetime: string; views: number }
}>(apiUrl, 365 * 24 * 60 * 60, { }>(apiUrl, 365 * 24 * 60 * 60, {
Authorization: "Client-ID " + Constants.ImgurApiKey Authorization: "Client-ID " + Constants.ImgurApiKey,
}) })
if (withResponse) { if (withResponse) {
withResponse(response) withResponse(response)
} }
const imgurData = response.data const imgurData = response.data
const license= Imgur.parseLicense(imgurData.description ?? "") const license = Imgur.parseLicense(imgurData.description ?? "")
if(license){ if (license) {
license.views = imgurData.views license.views = imgurData.views
license.date = new Date(Number(imgurData.datetime) * 1000) license.date = new Date(Number(imgurData.datetime) * 1000)
} }

View file

@ -371,7 +371,7 @@ export default class LinkedDataLoader {
const match = maxstay.match(/P([0-9]+)D/) const match = maxstay.match(/P([0-9]+)D/)
if (match) { if (match) {
const days = Number(match[1]) const days = Number(match[1])
if(days === 30){ if (days === 30) {
// 30 is the default which is set if velopark didn't know the actual value // 30 is the default which is set if velopark didn't know the actual value
return undefined return undefined
} }

View file

@ -17,7 +17,7 @@ export default class VeloparkLoader {
private static readonly coder = new CountryCoder( private static readonly coder = new CountryCoder(
Constants.countryCoderEndpoint, Constants.countryCoderEndpoint,
Utils.downloadJson, Utils.downloadJson
) )
public static convert(veloparkData: VeloparkData): Feature { public static convert(veloparkData: VeloparkData): Feature {
@ -46,14 +46,14 @@ export default class VeloparkLoader {
if (veloparkData.contactPoint?.email) { if (veloparkData.contactPoint?.email) {
properties["operator:email"] = VeloparkLoader.emailReformatting.reformat( properties["operator:email"] = VeloparkLoader.emailReformatting.reformat(
veloparkData.contactPoint?.email, veloparkData.contactPoint?.email
) )
} }
if (veloparkData.contactPoint?.telephone) { if (veloparkData.contactPoint?.telephone) {
properties["operator:phone"] = VeloparkLoader.phoneValidator.reformat( properties["operator:phone"] = VeloparkLoader.phoneValidator.reformat(
veloparkData.contactPoint?.telephone, veloparkData.contactPoint?.telephone,
() => "be", () => "be"
) )
} }
@ -78,7 +78,7 @@ export default class VeloparkLoader {
) { ) {
const duration = g.maximumParkingDuration.substring( const duration = g.maximumParkingDuration.substring(
1, 1,
g.maximumParkingDuration.length - 1, g.maximumParkingDuration.length - 1
) )
if (duration !== "30") { if (duration !== "30") {
// We don't set maxstay if it is 30, they are the default value that velopark chose for "unknown" // We don't set maxstay if it is 30, they are the default value that velopark chose for "unknown"
@ -97,11 +97,11 @@ export default class VeloparkLoader {
const startHour = spec.opens const startHour = spec.opens
const endHour = spec.closes === "23:59" ? "24:00" : spec.closes const endHour = spec.closes === "23:59" ? "24:00" : spec.closes
const merged = OH.MergeTimes( const merged = OH.MergeTimes(
OH.ParseRule(dayOfWeek + " " + startHour + "-" + endHour), OH.ParseRule(dayOfWeek + " " + startHour + "-" + endHour)
) )
return OH.ToString(merged) return OH.ToString(merged)
}) })
.join("; "), .join("; ")
) )
properties.opening_hours = oh properties.opening_hours = oh
} }

View file

@ -58,7 +58,7 @@ export default class LinkToWeblate extends VariableUiElement {
const [category, ...rest] = contextKey.split(":") const [category, ...rest] = contextKey.split(":")
const key = rest.join(":") const key = rest.join(":")
const baseUrl = Constants.weblate+"translate/mapcomplete/" const baseUrl = Constants.weblate + "translate/mapcomplete/"
return baseUrl + category + "/" + language + "/?offset=1&q=context%3A%3D%22" + key + "%22" return baseUrl + category + "/" + language + "/?offset=1&q=context%3A%3D%22" + key + "%22"
} }

View file

@ -57,7 +57,7 @@
file, file,
"image", "image",
noBlur, noBlur,
feature, feature
) )
if (!uploadResult) { if (!uploadResult) {
return return
@ -114,9 +114,9 @@
<div class="flex flex-col"> <div class="flex flex-col">
<Tr t={t.addPicture} /> <Tr t={t.addPicture} />
{#if noBlur} {#if noBlur}
<span class="subtle text-sm"> <span class="subtle text-sm">
<Tr t={t.upload.noBlur} /> <Tr t={t.upload.noBlur} />
</span> </span>
{/if} {/if}
</div> </div>
{/if} {/if}

View file

@ -64,7 +64,7 @@
onDestroy( onDestroy(
globalFilter.addCallbackAndRun((globalFilter) => { globalFilter.addCallbackAndRun((globalFilter) => {
console.log("Global filters are", globalFilter) console.log("Global filters are", globalFilter)
_globalFilter = globalFilter?.filter(gf => gf.onNewPoint !== undefined) ?? [] _globalFilter = globalFilter?.filter((gf) => gf.onNewPoint !== undefined) ?? []
}) })
) )
$: { $: {

View file

@ -1295,8 +1295,10 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
* *
* {"a": "b", "c":"d"} // => {"b":"a", "d":"c"} * {"a": "b", "c":"d"} // => {"b":"a", "d":"c"}
*/ */
public static transposeMapSimple<K extends string, V extends string>(d: Record<K, V>): Record<V, K>{ public static transposeMapSimple<K extends string, V extends string>(
const inv = <Record<V, K>> {} d: Record<K, V>
): Record<V, K> {
const inv = <Record<V, K>>{}
for (const k in d) { for (const k in d) {
const v = d[k] const v = d[k]
inv[v] = k inv[v] = k

View file

@ -1,7 +1,7 @@
{ {
"contributors": [ "contributors": [
{ {
"commits": 8576, "commits": 8594,
"contributor": "Pieter Vander Vennet" "contributor": "Pieter Vander Vennet"
}, },
{ {
@ -152,6 +152,10 @@
"commits": 6, "commits": 6,
"contributor": "David Haberthür" "contributor": "David Haberthür"
}, },
{
"commits": 4,
"contributor": "Languages add-on"
},
{ {
"commits": 4, "commits": 4,
"contributor": "Daniele Santini" "contributor": "Daniele Santini"
@ -164,10 +168,6 @@
"commits": 4, "commits": 4,
"contributor": "Ward Beyens" "contributor": "Ward Beyens"
}, },
{
"commits": 3,
"contributor": "Languages add-on"
},
{ {
"commits": 3, "commits": 3,
"contributor": "Thierry1030" "contributor": "Thierry1030"
@ -180,6 +180,10 @@
"commits": 3, "commits": 3,
"contributor": "Léo Villeveygoux" "contributor": "Léo Villeveygoux"
}, },
{
"commits": 2,
"contributor": "Jim Kats"
},
{ {
"commits": 2, "commits": 2,
"contributor": "Kim Minwoo" "contributor": "Kim Minwoo"

View file

@ -1,6 +1,5 @@
{ {
"ca": "català", "ca": "català",
"cs": "čeština",
"da": "dansk", "da": "dansk",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -24,6 +23,7 @@
"sl": "slovenščina", "sl": "slovenščina",
"sv": "svenska", "sv": "svenska",
"uk": "українська мова", "uk": "українська мова",
"zgh": "ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ ⵜⴰⵎⵖⵔⵉⴱⵉⵜ",
"zh_Hans": "简体中文", "zh_Hans": "简体中文",
"zh_Hant": "繁體中文" "zh_Hant": "繁體中文"
} }

File diff suppressed because it is too large Load diff

View file

@ -5,7 +5,7 @@
"contributor": "Pieter Vander Vennet" "contributor": "Pieter Vander Vennet"
}, },
{ {
"commits": 420, "commits": 421,
"contributor": "kjon" "contributor": "kjon"
}, },
{ {
@ -13,11 +13,11 @@
"contributor": "paunofu" "contributor": "paunofu"
}, },
{ {
"commits": 122, "commits": 127,
"contributor": "Anonymous" "contributor": "Anonymous"
}, },
{ {
"commits": 102, "commits": 105,
"contributor": "mcliquid" "contributor": "mcliquid"
}, },
{ {
@ -33,7 +33,7 @@
"contributor": "danieldegroot2" "contributor": "danieldegroot2"
}, },
{ {
"commits": 64, "commits": 67,
"contributor": "mike140" "contributor": "mike140"
}, },
{ {
@ -41,20 +41,20 @@
"contributor": "Harry Bond" "contributor": "Harry Bond"
}, },
{ {
"commits": 50, "commits": 52,
"contributor": "Jiří Podhorecký" "contributor": "Jiří Podhorecký"
}, },
{ {
"commits": 49, "commits": 51,
"contributor": "gallegonovato" "contributor": "gallegonovato"
}, },
{ {
"commits": 44, "commits": 44,
"contributor": "Supaplex" "contributor": "Babos Gábor"
}, },
{ {
"commits": 43, "commits": 44,
"contributor": "Babos Gábor" "contributor": "Supaplex"
}, },
{ {
"commits": 37, "commits": 37,
@ -100,6 +100,10 @@
"commits": 16, "commits": 16,
"contributor": "macpac" "contributor": "macpac"
}, },
{
"commits": 15,
"contributor": "Ettore Atalan"
},
{ {
"commits": 15, "commits": 15,
"contributor": "WaldiS" "contributor": "WaldiS"
@ -112,10 +116,6 @@
"commits": 14, "commits": 14,
"contributor": "J. Lavoie" "contributor": "J. Lavoie"
}, },
{
"commits": 13,
"contributor": "Ettore Atalan"
},
{ {
"commits": 13, "commits": 13,
"contributor": "Olivier" "contributor": "Olivier"
@ -428,6 +428,14 @@
"commits": 3, "commits": 3,
"contributor": "SiegbjornSitumeang" "contributor": "SiegbjornSitumeang"
}, },
{
"commits": 2,
"contributor": "Weblate Admin"
},
{
"commits": 2,
"contributor": "SmallSoap"
},
{ {
"commits": 2, "commits": 2,
"contributor": "Kim Minwoo" "contributor": "Kim Minwoo"
@ -560,6 +568,10 @@
"commits": 2, "commits": 2,
"contributor": "Leo Alcaraz" "contributor": "Leo Alcaraz"
}, },
{
"commits": 1,
"contributor": "M1chaelWang"
},
{ {
"commits": 1, "commits": 1,
"contributor": "Teodor11" "contributor": "Teodor11"