Merge master

This commit is contained in:
Pieter Vander Vennet 2022-11-02 14:47:06 +01:00
commit f04b6e7399
173 changed files with 10330 additions and 1837 deletions

View file

@ -40,12 +40,11 @@
+ [all_tags](#all_tags)
+ [multilevels](#multilevels)
+ [induction-loop](#induction-loop)
+ [wikidata.tactile_writing-braille](#wikidatatactile_writing-braille)
+ [questions](#questions)
+ [export_as_gpx](#export_as_gpx)
+ [export_as_geojson](#export_as_geojson)
+ [{upload_to_osm()}](#{upload_to_osm()})
+ [minimap](#minimap)
+ [wikidata.school-language](#wikidataschool-language)
+ [id_presets.shop_types](#id_presetsshop_types)
+ [school.capacity](#schoolcapacity)
+ [school.gender](#schoolgender)
@ -55,7 +54,6 @@
+ [toilet.toilet-changing_table:location](#toilettoilet-changing_table:location)
+ [toilet.toilet-handwashing](#toilettoilet-handwashing)
+ [toilet.toilet-has-paper](#toilettoilet-has-paper)
+ [wikidata.language](#wikidatalanguage)
@ -616,18 +614,6 @@
### wikidata.tactile_writing-braille
- elevator
- stairs
### questions
@ -665,7 +651,7 @@
### minimap
### {upload_to_osm()}
@ -676,13 +662,13 @@
### wikidata.school-language
### minimap
- school
- gps_track
@ -782,17 +768,6 @@
- toilet_at_amenity
### wikidata.language
- wikidata
This document is autogenerated from [assets/layers/*.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/*.json)

View file

@ -24,6 +24,7 @@
+ [Privacy notice](#privacy-notice)
+ [export_as_gpx](#export_as_gpx)
+ [export_as_geojson](#export_as_geojson)
+ [uploadtoosm](#uploadtoosm)
+ [minimap](#minimap)
+ [delete](#delete)
1. [type_node](#type_node)
@ -108,8 +109,6 @@ Meta layer showing the current location of the user. Add this to your theme and
- This layer is shown at zoomlevel **0** and higher
- **This layer is included automatically in every theme. This layer might contain no points**
- Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable.
- Not visible in the layer selection by default. If you want to make this layer toggable, override `name`
@ -140,7 +139,7 @@ Elements must have the all of following tags to be shown on this layer:
<img src='https://mapcomplete.osm.be/square:red' height="100px">
Meta layer which contains the previous locations of the user as single points. This is mainly for technical reasons, e.g. to keep match the distance to the modified object
@ -149,11 +148,12 @@ Meta layer which contains the previous locations of the user as single points. T
- This layer is shown at zoomlevel **0** and higher
- This layer is shown at zoomlevel **1** and higher
- **This layer is included automatically in every theme. This layer might contain no points**
- This layer is not visible by default and must be enabled in the filter by the user.
- Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable.
- This layer is not visible by default and the visibility cannot be toggled, effectively resulting in a fully hidden layer. This can be useful, e.g. to calculate some metatags. If you want to render this layer (e.g. for debugging), enable it by setting the URL-parameter layer-<id>=true
- Not visible in the layer selection by default. If you want to make this layer toggable, override `name`
- Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings`
@ -229,7 +229,7 @@ Elements must have the all of following tags to be shown on this layer:
Meta layer showing the previous locations of the user as single line. Add this to your theme and override the icon to change the appearance of the current location.
Meta layer showing the previous locations of the user as single line with controls, e.g. to erase, upload or download this track. Add this to your theme and override the maprendering to change the appearance of the travelled track.
@ -299,6 +299,16 @@ This tagrendering has no question and is thus read-only
### uploadtoosm
This tagrendering has no question and is thus read-only
### minimap

View file

@ -70,10 +70,19 @@ attribute | type | values which are supported by this layer
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:retail#values) [service:bicycle:retail](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:retail) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:repair#values) [service:bicycle:repair](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dno) [only_sold](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Donly_sold) [brand](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dbrand)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:rental#values) [service:bicycle:rental](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/rental#values) [rental](https://wiki.openstreetmap.org/wiki/Key:rental) | [string](../SpecialInputElements.md#string) | [city_bike](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dcity_bike) [ebike](https://wiki.openstreetmap.org/wiki/Tag:rental%3Debike) [bmx](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dbmx) [mtb](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dmtb) [kid_bike](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dkid_bike) [tandem](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dtandem) [racebike](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dracebike) [bike_helmet](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dbike_helmet)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:city_bike#values) [capacity:city_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:city_bike) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:ebike#values) [capacity:ebike](https://wiki.openstreetmap.org/wiki/Key:capacity:ebike) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:kid_bike#values) [capacity:kid_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:kid_bike) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:bmx#values) [capacity:bmx](https://wiki.openstreetmap.org/wiki/Key:capacity:bmx) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:mtb#values) [capacity:mtb](https://wiki.openstreetmap.org/wiki/Key:capacity:mtb) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:bicycle_pannier#values) [capacity:bicycle_pannier](https://wiki.openstreetmap.org/wiki/Key:capacity:bicycle_pannier) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:tandem_bicycle#values) [capacity:tandem_bicycle](https://wiki.openstreetmap.org/wiki/Key:capacity:tandem_bicycle) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:second_hand#values) [service:bicycle:second_hand](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:second_hand) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:second_hand%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:second_hand%3Dno) [only](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:second_hand%3Donly)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:pump#values) [service:bicycle:pump](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dno) [separate](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dseparate)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:diy#values) [service:bicycle:diy](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dno) [only_sold](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Donly_sold)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:cleaning#values) [service:bicycle:cleaning](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Dyes) [diy](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Ddiy) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:cleaning:charge#values) [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) |
@ -260,16 +269,160 @@ The question is Does this shop rent out bikes?
### bicyclerentalbicyclerental
### bicycle-types
This tagrendering has no question and is thus read-only
The question is What kind of bicycles and accessories are rented here?
This rendering asks information about the property [rental](https://wiki.openstreetmap.org/wiki/Key:rental)
This is rendered with {rental} is rented here
- Normal city bikes can be rented here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dcity_bike' target='_blank'>city_bike</a>`
- Electrical bikes can be rented here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Debike' target='_blank'>ebike</a>`
- BMX bikes can be rented here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dbmx' target='_blank'>bmx</a>`
- Mountainbikes can be rented here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dmtb' target='_blank'>mtb</a>`
- Bikes for children can be rented here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dkid_bike' target='_blank'>kid_bike</a>`
- Tandem bicycles can be rented here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dtandem' target='_blank'>tandem</a>`
- Race bicycles can be rented here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dracebike' target='_blank'>racebike</a>`
- Bike helmets can be rented here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dbike_helmet' target='_blank'>bike_helmet</a>`
This tagrendering has labels `bicycle_rental`
### rental-capacity-city_bike
The question is How much city bikes can be rented here?
This rendering asks information about the property [capacity:city_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:city_bike)
This is rendered with {capacity:city_bike} city bikes can be rented here
Only visible if `rental~^(.*city_bike.*)$` is shown
This tagrendering has labels `bicycle_rental`
### rental-capacity-ebike
The question is How much electrical bikes can be rented here?
This rendering asks information about the property [capacity:ebike](https://wiki.openstreetmap.org/wiki/Key:capacity:ebike)
This is rendered with {capacity:ebike} electrical bikes can be rented here
Only visible if `rental~^(.*ebike.*)$` is shown
This tagrendering has labels `bicycle_rental`
### rental-capacity-kid_bike
The question is How much bikes for children can be rented here?
This rendering asks information about the property [capacity:kid_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:kid_bike)
This is rendered with {capacity:kid_bike} bikes for children can be rented here
Only visible if `rental~^(.*kid_bike.*)$` is shown
This tagrendering has labels `bicycle_rental`
### rental-capacity-bmx
The question is How much BMX bikes can be rented here?
This rendering asks information about the property [capacity:bmx](https://wiki.openstreetmap.org/wiki/Key:capacity:bmx)
This is rendered with {capacity:bmx} BMX bikes can be rented here
Only visible if `rental~^(.*bmx.*)$` is shown
This tagrendering has labels `bicycle_rental`
### rental-capacity-mtb
The question is How much mountainbike can be rented here?
This rendering asks information about the property [capacity:mtb](https://wiki.openstreetmap.org/wiki/Key:capacity:mtb)
This is rendered with {capacity:mtb} mountainbike can be rented here
Only visible if `rental~^(.*mtb.*)$` is shown
This tagrendering has labels `bicycle_rental`
### rental-capacity-bicycle_pannier
The question is How much bicycle panniers can be rented here?
This rendering asks information about the property [capacity:bicycle_pannier](https://wiki.openstreetmap.org/wiki/Key:capacity:bicycle_pannier)
This is rendered with {capacity:bicycle_pannier} bicycle panniers can be rented here
Only visible if `rental~^(.*bicycle_pannier.*)$` is shown
This tagrendering has labels `bicycle_rental`
### rental-capacity-tandem_bicycle
The question is How much tandem can be rented here?
This rendering asks information about the property [capacity:tandem_bicycle](https://wiki.openstreetmap.org/wiki/Key:capacity:tandem_bicycle)
This is rendered with {capacity:tandem_bicycle} tandem can be rented here
Only visible if `rental~^(.*tandem_bicycle.*)$` is shown
This tagrendering has labels `bicycle_rental`
### bike_repair_second-hand-bikes
@ -338,12 +491,23 @@ The question is Are bicycles washed here?
### bikecleaningbikecleaningservicebicyclecleaningcharge
### bike_cleaning-service:bicycle:cleaning:charge
This tagrendering has no question and is thus read-only
The question is How much does it cost to use the cleaning service?
This rendering asks information about the property [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge)
This is rendered with Using the cleaning service costs {service:bicycle:cleaning:charge}
- The cleaning service is free to use corresponds 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 corresponds 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>`
- This option cannot be chosen as answer

View file

@ -68,6 +68,9 @@ attribute | type | values which are supported by this layer
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:name%3D)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/climbing#values) [climbing](https://wiki.openstreetmap.org/wiki/Key:climbing) | Multiple choice | [boulder](https://wiki.openstreetmap.org/wiki/Tag:climbing%3Dboulder) [crag](https://wiki.openstreetmap.org/wiki/Tag:climbing%3Dcrag) [area](https://wiki.openstreetmap.org/wiki/Tag:climbing%3Darea)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/rock#values) [rock](https://wiki.openstreetmap.org/wiki/Key:rock) | [string](../SpecialInputElements.md#string) | [limestone](https://wiki.openstreetmap.org/wiki/Tag:rock%3Dlimestone)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/url#values) [url](https://wiki.openstreetmap.org/wiki/Key:url) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:charge%3D)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/climbing:boulder#values) [climbing:boulder](https://wiki.openstreetmap.org/wiki/Key:climbing:boulder) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:climbing:boulder%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:climbing:boulder%3Dno) [limited](https://wiki.openstreetmap.org/wiki/Tag:climbing:boulder%3Dlimited)
@ -179,6 +182,61 @@ This is rendered with The rock type is {rock}
- Limestone corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:rock' target='_blank'>rock</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rock%3Dlimestone' target='_blank'>limestone</a>`
Only visible if `climbing=crag|natural=cliff|natural=bare_rock` is shown
Only visible if `climbing=crag|natural=cliff|natural=bare_rock` is shown
### website
The question is Is there a (unofficial) website with more informations (e.g. topos)?
This rendering asks information about the property [url](https://wiki.openstreetmap.org/wiki/Key:url)
This is rendered with <a href='{url}' target='_blank'>{url}</a>
Only visible if `leisure!~^(sports_centre)$&sport=climbing` is shown
### fee
The question is Is a fee required to climb here?
This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge)
This is rendered with A fee of {charge} should be paid for climbing here
- Climbing here is free of charge corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno' target='_blank'>no</a>`
- Paying a fee is required to climb here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes' target='_blank'>yes</a>`
### bouldering
The question is Is bouldering possible here?
- Bouldering is possible here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:climbing:boulder' target='_blank'>climbing:boulder</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:climbing:boulder%3Dyes' target='_blank'>yes</a>`
- Bouldering is not possible here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:climbing:boulder' target='_blank'>climbing:boulder</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:climbing:boulder%3Dno' target='_blank'>no</a>`
- Bouldering is possible, allthough there are only a few routes corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:climbing:boulder' target='_blank'>climbing:boulder</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:climbing:boulder%3Dlimited' target='_blank'>limited</a>`
- There are {climbing:boulder} boulder routes corresponds with `climbing:boulder~.+`
- This option cannot be chosen as answer
This document is autogenerated from [assets/layers/climbing_area/climbing_area.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/climbing_area/climbing_area.json)

View file

@ -65,7 +65,14 @@ attribute | type | values which are supported by this layer
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:charge%3D)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/climbing:length#values) [climbing:length](https://wiki.openstreetmap.org/wiki/Key:climbing:length) | [pfloat](../SpecialInputElements.md#pfloat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/climbing:grade:french:min#values) [climbing:grade:french:min](https://wiki.openstreetmap.org/wiki/Key:climbing:grade:french:min) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/climbing:grade:french:max#values) [climbing:grade:french:max](https://wiki.openstreetmap.org/wiki/Key:climbing:grade:french:max) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/climbing:boulder#values) [climbing:boulder](https://wiki.openstreetmap.org/wiki/Key:climbing:boulder) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:climbing:boulder%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:climbing:boulder%3Dno) [limited](https://wiki.openstreetmap.org/wiki/Tag:climbing:boulder%3Dlimited)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/climbing:sport#values) [climbing:sport](https://wiki.openstreetmap.org/wiki/Key:climbing:sport) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:climbing:sport%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:climbing:sport%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/climbing:bolts:max#values) [climbing:bolts:max](https://wiki.openstreetmap.org/wiki/Key:climbing:bolts:max) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/climbing:speed#values) [climbing:speed](https://wiki.openstreetmap.org/wiki/Key:climbing:speed) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:climbing:speed%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:climbing:speed%3Dno)
@ -157,6 +164,26 @@ This is rendered with <a href='mailto:{email}' target='_blank'>{email}</a>
### fee
The question is Is a fee required to climb here?
This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge)
This is rendered with A fee of {charge} should be paid for climbing here
- Climbing here is free of charge corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno' target='_blank'>no</a>`
- Paying a fee is required to climb here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes' target='_blank'>yes</a>`
### opening_hours
@ -171,6 +198,103 @@ This is rendered with <h3>Opening hours</h3>{opening_hours_table(opening_hours)
### average_length
The question is What is the (average) length of the routes in meters?
This rendering asks information about the property [climbing:length](https://wiki.openstreetmap.org/wiki/Key:climbing:length)
This is rendered with The routes are <b>{canonical(climbing:length)}</b> long on average
### min_difficulty
The question is What is the grade of the easiest route here, according to the french classification system?
This rendering asks information about the property [climbing:grade:french:min](https://wiki.openstreetmap.org/wiki/Key:climbing:grade:french:min)
This is rendered with The lowest grade is {climbing:grade:french:min} according to the french/belgian system
### max_difficulty
The question is What is the highest grade route here, according to the french classification system?
This rendering asks information about the property [climbing:grade:french:max](https://wiki.openstreetmap.org/wiki/Key:climbing:grade:french:max)
This is rendered with The highest grade is {climbing:grade:french:max} according to the french/belgian system
Only visible if `climbing!~^(route)$&climbing:sport=yes|sport=climbing` is shown
### bouldering
The question is Is bouldering possible here?
- Bouldering is possible here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:climbing:boulder' target='_blank'>climbing:boulder</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:climbing:boulder%3Dyes' target='_blank'>yes</a>`
- Bouldering is not possible here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:climbing:boulder' target='_blank'>climbing:boulder</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:climbing:boulder%3Dno' target='_blank'>no</a>`
- Bouldering is possible, allthough there are only a few routes corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:climbing:boulder' target='_blank'>climbing:boulder</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:climbing:boulder%3Dlimited' target='_blank'>limited</a>`
- There are {climbing:boulder} boulder routes corresponds with `climbing:boulder~.+`
- This option cannot be chosen as answer
### sportclimbing
The question is Is sport climbing possible here on fixed anchors?
- Sport climbing is possible here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:climbing:sport' target='_blank'>climbing:sport</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:climbing:sport%3Dyes' target='_blank'>yes</a>`
- Sport climbing is not possible here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:climbing:sport' target='_blank'>climbing:sport</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:climbing:sport%3Dno' target='_blank'>no</a>`
- There are {climbing:sport} sport climbing routes corresponds with `climbing:sport~.+`
- This option cannot be chosen as answer
### max_bolts
The question is How many bolts do routes in {title()} have at most?
This rendering asks information about the property [climbing:bolts:max](https://wiki.openstreetmap.org/wiki/Key:climbing:bolts:max)
This is rendered with The sport climbing routes here have at most {climbing:bolts:max} bolts.<div class='subtle'>This is without relays and indicates how much quickdraws a climber needs</div>
Only visible if `climbing:sport=yes` is shown
### Speed climbing?

File diff suppressed because one or more lines are too long

View file

@ -184,6 +184,16 @@ The question is Does this place have an audio induction loop for people with re
- This place has an audio induction loop corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:hearing_loop' target='_blank'>hearing_loop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:hearing_loop%3Dyes' target='_blank'>yes</a>`
- This place <b>does not</b> have an audio induction loop corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:hearing_loop' target='_blank'>hearing_loop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:hearing_loop%3Dno' target='_blank'>no</a>`
### tactile_writing_language
This tagrendering has no question and is thus read-only
This document is autogenerated from [assets/layers/elevator/elevator.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/elevator/elevator.json)

View file

@ -229,6 +229,16 @@ This is rendered with <a href='mailto:{email}' target='_blank'>{email}</a>
- <a href='mailto:{contact:email}' target='_blank'>{contact:email}</a> corresponds with `contact:email~.+`
- This option cannot be chosen as answer
### school-language
This tagrendering has no question and is thus read-only
This document is autogenerated from [assets/layers/school/school.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/school/school.json)

File diff suppressed because one or more lines are too long

View file

@ -62,6 +62,7 @@ this quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/handrail#values) [handrail](https://wiki.openstreetmap.org/wiki/Key:handrail) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:handrail%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:handrail%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/tactile_writing#values) [tactile_writing](https://wiki.openstreetmap.org/wiki/Key:tactile_writing) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:tactile_writing%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:tactile_writing%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/conveying#values) [conveying](https://wiki.openstreetmap.org/wiki/Key:conveying) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:conveying%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:conveying%3Dno)
@ -83,6 +84,54 @@ The question is Does this stair have a handrail?
### tactile_writing
The question is Do these stairs have tactile writing on the handrail?
- There is tactile writing on the handrail corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:tactile_writing' target='_blank'>tactile_writing</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:tactile_writing%3Dyes' target='_blank'>yes</a>`
- There is no tactile writing on the handrail corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:tactile_writing' target='_blank'>tactile_writing</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:tactile_writing%3Dno' target='_blank'>no</a>`
Only visible if `handrail=yes` is shown
### tactile_writing_language
This tagrendering has no question and is thus read-only
Only visible if `tactile_writing:braille:language=yes` is shown
### conveying
This tagrendering has no question and is thus read-only
- This is an escalator corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:conveying' target='_blank'>conveying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:conveying%3Dyes' target='_blank'>yes</a>`
- This is not an escalator corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:conveying' target='_blank'>conveying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:conveying%3Dno' target='_blank'>no</a>`
- This is not an escalator corresponds with ``
- This option cannot be chosen as answer
### ramp
@ -103,22 +152,6 @@ The question is Is there a ramp at these stairs?
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:ramp:stroller' target='_blank'>ramp:stroller</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:ramp:stroller%3Dno' target='_blank'>no</a>
- There is no ramp at these stairs corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:ramp' target='_blank'>ramp</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:ramp%3Dno' target='_blank'>no</a>`
- Unselecting this answer will add
### conveying
This tagrendering has no question and is thus read-only
- This is an escalator corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:conveying' target='_blank'>conveying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:conveying%3Dyes' target='_blank'>yes</a>`
- This is not an escalator corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:conveying' target='_blank'>conveying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:conveying%3Dno' target='_blank'>no</a>`
This document is autogenerated from [assets/layers/stairs/stairs.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/stairs/stairs.json)

View file

@ -62,6 +62,8 @@ attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/amenity#values) [amenity](https://wiki.openstreetmap.org/wiki/Key:amenity) | Multiple choice | [college](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcollege) [university](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Duniversity)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/isced:2011:level#values) [isced:2011:level](https://wiki.openstreetmap.org/wiki/Key:isced:2011:level) | Multiple choice | [bachelor](https://wiki.openstreetmap.org/wiki/Tag:isced:2011:level%3Dbachelor) [master](https://wiki.openstreetmap.org/wiki/Tag:isced:2011:level%3Dmaster) [doctorate](https://wiki.openstreetmap.org/wiki/Tag:isced:2011:level%3Ddoctorate)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity#values) [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/school:gender#values) [school:gender](https://wiki.openstreetmap.org/wiki/Key:school:gender) | Multiple choice | [mixed](https://wiki.openstreetmap.org/wiki/Tag:school:gender%3Dmixed) [separated](https://wiki.openstreetmap.org/wiki/Tag:school:gender%3Dseparated) [male](https://wiki.openstreetmap.org/wiki/Tag:school:gender%3Dmale) [female](https://wiki.openstreetmap.org/wiki/Tag:school:gender%3Dfemale)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
@ -104,6 +106,38 @@ Only visible if `amenity=university` is shown
### capacity
The question is How much students can at most enroll in this school?
This rendering asks information about the property [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity)
This is rendered with This school can enroll at most {capacity} students
### gender
The question is Which genders can enroll at this school?
- Both boys and girls can enroll here and have classes together corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:school:gender' target='_blank'>school:gender</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:school:gender%3Dmixed' target='_blank'>mixed</a>`
- Both boys and girls can enroll here but they are separated (e.g. they have lessons in different classrooms or at different times) corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:school:gender' target='_blank'>school:gender</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:school:gender%3Dseparated' target='_blank'>separated</a>`
- This is a boys only-school corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:school:gender' target='_blank'>school:gender</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:school:gender%3Dmale' target='_blank'>male</a>`
- This is a girls-only school corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:school:gender' target='_blank'>school:gender</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:school:gender%3Dfemale' target='_blank'>female</a>`
### website

View file

@ -67,6 +67,11 @@ attribute | type | values which are supported by this layer
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/toilets:wheelchair#values) [toilets:wheelchair](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dno) [designated](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/toilets:door:width#values) [toilets:door:width](https://wiki.openstreetmap.org/wiki/Key:toilets:door:width) | [pfloat](../SpecialInputElements.md#pfloat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/toilets:position#values) [toilets:position](https://wiki.openstreetmap.org/wiki/Key:toilets:position) | Multiple choice | [seated](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated) [urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Durinal) [squat](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dsquat) [seated;urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated;urinal)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/changing_table#values) [changing_table](https://wiki.openstreetmap.org/wiki/Key:changing_table) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/changing_table:location#values) [changing_table:location](https://wiki.openstreetmap.org/wiki/Key:changing_table:location) | [string](../SpecialInputElements.md#string) | [female_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dfemale_toilet) [male_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dmale_toilet) [wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dwheelchair_toilet) [dedicated_room](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Ddedicated_room)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/toilets:handwashing#values) [toilets:handwashing](https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/toilets:paper_supplied#values) [toilets:paper_supplied](https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/toilets:description#values) [toilets:description](https://wiki.openstreetmap.org/wiki/Key:toilets:description) | [string](../SpecialInputElements.md#string) |
@ -212,52 +217,92 @@ Only visible if `toilets:wheelchair=yes|toilets:wheelchair=designated` is show
### toilettoiletstype
### toilets-type
This tagrendering has no question and is thus read-only
The question is Which kind of toilets are this?
### toilettoiletschangingtable
- There are only seated toilets corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:position' target='_blank'>toilets:position</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated' target='_blank'>seated</a>`
- There are only urinals here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:position' target='_blank'>toilets:position</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Durinal' target='_blank'>urinal</a>`
- There are only squat toilets here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:position' target='_blank'>toilets:position</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dsquat' target='_blank'>squat</a>`
- Both seated toilets and urinals are available here corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:position' target='_blank'>toilets:position</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated;urinal' target='_blank'>seated;urinal</a>`
This tagrendering has no question and is thus read-only
### toilets-changing-table
The question is Is a changing table (to change diapers) available?
### toilettoiletchangingtablelocation
- A changing table is available corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:changing_table' target='_blank'>changing_table</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes' target='_blank'>yes</a>`
- No changing table is available corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:changing_table' target='_blank'>changing_table</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dno' target='_blank'>no</a>`
This tagrendering has no question and is thus read-only
### toilet-changing_table:location
The question is Where is the changing table located?
This rendering asks information about the property [changing_table:location](https://wiki.openstreetmap.org/wiki/Key:changing_table:location)
This is rendered with The changing table is located at {changing_table:location}
### toilettoilethandwashing
- The changing table is in the toilet for women. corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:location' target='_blank'>changing_table:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dfemale_toilet' target='_blank'>female_toilet</a>`
- The changing table is in the toilet for men. corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:location' target='_blank'>changing_table:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dmale_toilet' target='_blank'>male_toilet</a>`
- The changing table is in the toilet for wheelchair users. corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:location' target='_blank'>changing_table:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dwheelchair_toilet' target='_blank'>wheelchair_toilet</a>`
- The changing table is in a dedicated room. corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:location' target='_blank'>changing_table:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Ddedicated_room' target='_blank'>dedicated_room</a>`
Only visible if `changing_table=yes` is shown
This tagrendering has no question and is thus read-only
### toilet-handwashing
The question is Do these toilets have a sink to wash your hands?
### toilettoilethaspaper
- This toilets have a sink to wash your hands corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing' target='_blank'>toilets:handwashing</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes' target='_blank'>yes</a>`
- This toilets <b>don't</b> have a sink to wash your hands corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing' target='_blank'>toilets:handwashing</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dno' target='_blank'>no</a>`
This tagrendering has no question and is thus read-only
### toilet-has-paper
The question is Does one have to bring their own toilet paper to this toilet?
- This toilet is equipped with toilet paper corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied' target='_blank'>toilets:paper_supplied</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dyes' target='_blank'>yes</a>`
- You have to bring your own toilet paper to this toilet corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied' target='_blank'>toilets:paper_supplied</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dno' target='_blank'>no</a>`

View file

@ -42,6 +42,42 @@ Instead of using `{"render": {"en": "{some_special_visualisation(some_arg, some
1. [Special tag renderings](#special-tag-renderings)
* [Using expanded syntax](#using-expanded-syntax)
+ [histogram](#histogram)
* [Example usage of histogram](#example-usage-of-histogram)
+ [steal](#steal)
* [Example usage of steal](#example-usage-of-steal)
+ [minimap](#minimap)
* [Example usage of minimap](#example-usage-of-minimap)
+ [sided_minimap](#sided_minimap)
* [Example usage of sided_minimap](#example-usage-of-sided_minimap)
+ [share_link](#share_link)
* [Example usage of share_link](#example-usage-of-share_link)
+ [upload_to_osm](#upload_to_osm)
* [Example usage of upload_to_osm](#example-usage-of-upload_to_osm)
+ [multi_apply](#multi_apply)
* [Example usage of multi_apply](#example-usage-of-multi_apply)
+ [export_as_gpx](#export_as_gpx)
* [Example usage of export_as_gpx](#example-usage-of-export_as_gpx)
+ [add_note_comment](#add_note_comment)
* [Example usage of add_note_comment](#example-usage-of-add_note_comment)
+ [plantnet_detection](#plantnet_detection)
* [Example usage of plantnet_detection](#example-usage-of-plantnet_detection)
+ [import_button](#import_button)
* [Example usage of import_button](#example-usage-of-import_button)
+ [import_way_button](#import_way_button)
* [Example usage of import_way_button](#example-usage-of-import_way_button)
+ [conflate_button](#conflate_button)
* [Example usage of conflate_button](#example-usage-of-conflate_button)
+ [tag_apply](#tag_apply)
* [Example usage of tag_apply](#example-usage-of-tag_apply)
+ [close_note](#close_note)
* [Example usage of close_note](#example-usage-of-close_note)
+ [nearby_images](#nearby_images)
* [Example usage of nearby_images](#example-usage-of-nearby_images)
+ [mapillary_link](#mapillary_link)
* [Example usage of mapillary_link](#example-usage-of-mapillary_link)
+ [language_chooser](#language_chooser)
* [Example usage of language_chooser](#example-usage-of-language_chooser)
+ [all_tags](#all_tags)
* [Example usage of all_tags](#example-usage-of-all_tags)
+ [image_carousel](#image_carousel)
@ -52,34 +88,14 @@ Instead of using `{"render": {"en": "{some_special_visualisation(some_arg, some
* [Example usage of wikipedia](#example-usage-of-wikipedia)
+ [wikidata_label](#wikidata_label)
* [Example usage of wikidata_label](#example-usage-of-wikidata_label)
+ [minimap](#minimap)
* [Example usage of minimap](#example-usage-of-minimap)
+ [sided_minimap](#sided_minimap)
* [Example usage of sided_minimap](#example-usage-of-sided_minimap)
+ [reviews](#reviews)
* [Example usage of reviews](#example-usage-of-reviews)
+ [opening_hours_table](#opening_hours_table)
* [Example usage of opening_hours_table](#example-usage-of-opening_hours_table)
+ [live](#live)
* [Example usage of live](#example-usage-of-live)
+ [histogram](#histogram)
* [Example usage of histogram](#example-usage-of-histogram)
+ [share_link](#share_link)
* [Example usage of share_link](#example-usage-of-share_link)
+ [canonical](#canonical)
* [Example usage of canonical](#example-usage-of-canonical)
+ [import_button](#import_button)
* [Example usage of import_button](#example-usage-of-import_button)
+ [import_way_button](#import_way_button)
* [Example usage of import_way_button](#example-usage-of-import_way_button)
+ [conflate_button](#conflate_button)
* [Example usage of conflate_button](#example-usage-of-conflate_button)
+ [multi_apply](#multi_apply)
* [Example usage of multi_apply](#example-usage-of-multi_apply)
+ [tag_apply](#tag_apply)
* [Example usage of tag_apply](#example-usage-of-tag_apply)
+ [export_as_gpx](#export_as_gpx)
* [Example usage of export_as_gpx](#example-usage-of-export_as_gpx)
+ [export_as_geojson](#export_as_geojson)
* [Example usage of export_as_geojson](#example-usage-of-export_as_geojson)
+ [open_in_iD](#open_in_id)
@ -88,20 +104,12 @@ Instead of using `{"render": {"en": "{some_special_visualisation(some_arg, some
* [Example usage of open_in_josm](#example-usage-of-open_in_josm)
+ [clear_location_history](#clear_location_history)
* [Example usage of clear_location_history](#example-usage-of-clear_location_history)
+ [close_note](#close_note)
* [Example usage of close_note](#example-usage-of-close_note)
+ [add_note_comment](#add_note_comment)
* [Example usage of add_note_comment](#example-usage-of-add_note_comment)
+ [visualize_note_comments](#visualize_note_comments)
* [Example usage of visualize_note_comments](#example-usage-of-visualize_note_comments)
+ [add_image_to_note](#add_image_to_note)
* [Example usage of add_image_to_note](#example-usage-of-add_image_to_note)
+ [title](#title)
* [Example usage of title](#example-usage-of-title)
+ [nearby_images](#nearby_images)
* [Example usage of nearby_images](#example-usage-of-nearby_images)
+ [mapillary_link](#mapillary_link)
* [Example usage of mapillary_link](#example-usage-of-mapillary_link)
+ [maproulette_task](#maproulette_task)
* [Example usage of maproulette_task](#example-usage-of-maproulette_task)
+ [statistics](#statistics)
@ -110,10 +118,6 @@ Instead of using `{"render": {"en": "{some_special_visualisation(some_arg, some
* [Example usage of send_email](#example-usage-of-send_email)
+ [multi](#multi)
* [Example usage of multi](#example-usage-of-multi)
+ [steal](#steal)
* [Example usage of steal](#example-usage-of-steal)
+ [plantnet_detection](#plantnet_detection)
* [Example usage of plantnet_detection](#example-usage-of-plantnet_detection)
+ [auto_apply](#auto_apply)
* [Example usage of auto_apply](#example-usage-of-auto_apply)
@ -121,158 +125,6 @@ Instead of using `{"render": {"en": "{some_special_visualisation(some_arg, some
### all_tags
Prints all key-value pairs of the object - used for debugging
#### Example usage of all_tags
`{all_tags()}`
### image_carousel
Creates an image carousel for the given sources. An attempt will be made to guess what source is used. Supported: Wikidata identifiers, Wikipedia pages, Wikimedia categories, IMGUR (with attribution, direct links)
name | default | description
------ | --------- | -------------
image_key | image,mapillary,image,wikidata,wikimedia_commons,image,image | The keys given to the images, e.g. if <span class='literal-code'>image</span> is given, the first picture URL will be added as <span class='literal-code'>image</span>, the second as <span class='literal-code'>image:0</span>, the third as <span class='literal-code'>image:1</span>, etc... Multiple values are allowed if ';'-separated
#### Example usage of image_carousel
`{image_carousel(image,mapillary,image,wikidata,wikimedia_commons,image,image)}`
### image_upload
Creates a button where a user can upload an image to IMGUR
name | default | description
------ | --------- | -------------
image-key | image | Image tag to add the URL to (or image-tag:0, image-tag:1 when multiple images are added)
label | Add image | The text to show on the button
#### Example usage of image_upload
`{image_upload(image,Add image)}`
### wikipedia
A box showing the corresponding wikipedia article - based on the wikidata tag
name | default | description
------ | --------- | -------------
keyToShowWikipediaFor | wikidata;wikipedia | Use the wikidata entry from this key to show the wikipedia article for. Multiple keys can be given (separated by ';'), in which case the first matching value is used
#### Example usage of wikipedia
`{wikipedia()}` is a basic example, `{wikipedia(name:etymology:wikidata)}` to show the wikipedia page of whom the feature was named after. Also remember that these can be styled, e.g. `{wikipedia():max-height: 10rem}` to limit the height
### wikidata_label
Shows the label of the corresponding wikidata-item
name | default | description
------ | --------- | -------------
keyToShowWikidataFor | wikidata | Use the wikidata entry from this key to show the label
#### Example usage of wikidata_label
`{wikidata_label()}` is a basic example, `{wikipedia(name:etymology:wikidata)}` to show the label itself
### minimap
A small map showing the selected feature.
name | default | description
------ | --------- | -------------
zoomlevel | 18 | The (maximum) zoomlevel: the target zoomlevel after fitting the entire feature. The minimap will fit the entire feature, then zoom out to this zoom level. The higher, the more zoomed in with 1 being the entire world and 19 being really close
idKey | id | (Matches all resting arguments) This argument should be the key of a property of the feature. The corresponding value is interpreted as either the id or the a list of ID's. The features with these ID's will be shown on this minimap. (Note: if the key is 'id', list interpration is disabled)
#### Example usage of minimap
`{minimap()}`, `{minimap(17, id, _list_of_embedded_feature_ids_calculated_by_calculated_tag):height:10rem; border: 2px solid black}`
### sided_minimap
A small map showing _only one side_ the selected feature. *This features requires to have linerenderings with offset* as only linerenderings with a postive or negative offset will be shown. Note: in most cases, this map will be automatically introduced
name | default | description
------ | --------- | -------------
side | _undefined_ | The side to show, either `left` or `right`
#### Example usage of sided_minimap
`{sided_minimap(left)}`
### reviews
Adds an overview of the mangrove-reviews of this object. Mangrove.Reviews needs - in order to identify the reviewed object - a coordinate and a name. By default, the name of the object is given, but this can be overwritten
name | default | description
------ | --------- | -------------
subjectKey | name | The key to use to determine the subject. If specified, the subject will be <b>tags[subjectKey]</b>
fallback | _undefined_ | The identifier to use, if <i>tags[subjectKey]</i> as specified above is not available. This is effectively a fallback value
#### Example usage of reviews
`{reviews()}` for a vanilla review, `{reviews(name, play_forest)}` to review a play forest. If a name is known, the name will be used as identifier, otherwise 'play_forest' is used
### opening_hours_table
Creates an opening-hours table. Usage: {opening_hours_table(opening_hours)} to create a table of the tag 'opening_hours'.
name | default | description
------ | --------- | -------------
key | opening_hours | The tagkey from which the table is constructed.
prefix | _empty string_ | Remove this string from the start of the value before parsing. __Note: use `&LPARENs` to indicate `(` if needed__
postfix | _empty string_ | Remove this string from the end of the value before parsing. __Note: use `&RPARENs` to indicate `)` if needed__
#### Example usage of opening_hours_table
A normal opening hours table can be invoked with `{opening_hours_table()}`. A table for e.g. conditional access with opening hours can be `{opening_hours_table(access:conditional, no @ &LPARENS, &RPARENS)}`
### live
Downloads a JSON from the given URL, e.g. '{live(example.org/data.json, shorthand:x.y.z, other:a.b.c, shorthand)}' will download the given file, will create an object {shorthand: json[x][y][z], other: json[a][b][c] out of it and will return 'other' or 'json[a][b][c]. This is made to use in combination with tags, e.g. {live({url}, {url:format}, needed_value)}
name | default | description
------ | --------- | -------------
Url | _undefined_ | The URL to load
Shorthands | _undefined_ | A list of shorthands, of the format 'shorthandname:path.path.path'. separated by ;
path | _undefined_ | The path (or shorthand) that should be returned
#### Example usage of live
{live({url},{url:format},hour)} {live(https://data.mobility.brussels/bike/api/counts/?request=live&featureID=CB2105,hour:data.hour_cnt;day:data.day_cnt;year:data.year_cnt,hour)}
### histogram
Create a histogram for a list of given values, read from the properties.
@ -291,6 +143,53 @@ colors* | _undefined_ | (Matches all resting arguments - optional) Matches a reg
### steal
Shows a tagRendering from a different object as if this was the object itself
name | default | description
------ | --------- | -------------
featureId | _undefined_ | The key of the attribute which contains the id of the feature from which to use the tags
tagRenderingId | _undefined_ | The layer-id and tagRenderingId to render. Can be multiple value if ';'-separated (in which case every value must also contain the layerId, e.g. `layerId.tagRendering0; layerId.tagRendering1`). Note: this can cause layer injection
#### Example usage of steal
`{steal(,)}`
### minimap
A small map showing the selected feature.
name | default | description
------ | --------- | -------------
zoomlevel | 18 | The (maximum) zoomlevel: the target zoomlevel after fitting the entire feature. The minimap will fit the entire feature, then zoom out to this zoom level. The higher, the more zoomed in with 1 being the entire world and 19 being really close
idKey | id | (Matches all resting arguments) This argument should be the key of a property of the feature. The corresponding value is interpreted as either the id or the a list of ID's. The features with these ID's will be shown on this minimap. (Note: if the key is 'id', list interpration is disabled)
#### Example usage of minimap
`{minimap(18,id)}`
### sided_minimap
A small map showing _only one side_ the selected feature. *This features requires to have linerenderings with offset* as only linerenderings with a postive or negative offset will be shown. Note: in most cases, this map will be automatically introduced
name | default | description
------ | --------- | -------------
side | _undefined_ | The side to show, either `left` or `right`
#### Example usage of sided_minimap
`{sided_minimap(left)}`
### share_link
Creates a link that (attempts to) open the native 'share'-screen
@ -306,18 +205,72 @@ url | _undefined_ | The url to share (default: current URL)
### canonical
### upload_to_osm
Converts a short, canonical value into the long, translated text including the unit. This only works if a `unit` is defined for the corresponding value. The unit specification will be included in the text.
Uploads the GPS-history as GPX to OpenStreetMap.org; clears the history afterwards. The actual feature is ignored.
#### Example usage of upload_to_osm
`{upload_to_osm()}`
### multi_apply
A button to apply the tagging of this object onto a list of other features. This is an advanced feature for which you'll need calculatedTags
name | default | description
------ | --------- | -------------
key | _undefined_ | The key of the tag to give the canonical text for
feature_ids | _undefined_ | A JSON-serialized list of IDs of features to apply the tagging on
keys | _undefined_ | One key (or multiple keys, seperated by ';') of the attribute that should be copied onto the other features.
text | _undefined_ | The text to show on the button
autoapply | _undefined_ | A boolean indicating wether this tagging should be applied automatically if the relevant tags on this object are changed. A visual element indicating the multi_apply is still shown
overwrite | _undefined_ | If set to 'true', the tags on the other objects will always be overwritten. The default behaviour will be to only change the tags on other objects if they are either undefined or had the same value before the change
#### Example usage of canonical
#### Example usage of multi_apply
If the object has `length=42`, then `{canonical(length)}` will be shown as **42 meter** (in english), **42 metre** (in french), ...
{multi_apply(_features_with_the_same_name_within_100m, name:etymology:wikidata;name:etymology, Apply etymology information on all nearby objects with the same name)}
### export_as_gpx
Exports the selected feature as GPX-file
#### Example usage of export_as_gpx
`{export_as_gpx()}`
### add_note_comment
A textfield to add a comment to a node (with the option to close the note).
name | default | description
------ | --------- | -------------
Id-key | id | The property name where the ID of the note to close can be found
#### Example usage of add_note_comment
`{add_note_comment(id)}`
### plantnet_detection
Sends the images linked to the current object to plantnet.org and asks it what plant species is shown on it. The user can then select the correct species; the corresponding wikidata-identifier will then be added to the object (together with `source:species:wikidata=plantnet.org AI`).
name | default | description
------ | --------- | -------------
image_key | image,mapillary,image,wikidata,wikimedia_commons,image,image | The keys given to the images, e.g. if <span class='literal-code'>image</span> is given, the first picture URL will be added as <span class='literal-code'>image</span>, the second as <span class='literal-code'>image:0</span>, the third as <span class='literal-code'>image:1</span>, etc... Multiple values are allowed if ';'-separated
#### Example usage of plantnet_detection
`{plantnet_detection(image,mapillary,image,wikidata,wikimedia_commons,image,image)}`
@ -516,25 +469,6 @@ way_to_conflate | _undefined_ | The key, of which the corresponding value is the
### multi_apply
A button to apply the tagging of this object onto a list of other features. This is an advanced feature for which you'll need calculatedTags
name | default | description
------ | --------- | -------------
feature_ids | _undefined_ | A JSON-serialized list of IDs of features to apply the tagging on
keys | _undefined_ | One key (or multiple keys, seperated by ';') of the attribute that should be copied onto the other features.
text | _undefined_ | The text to show on the button
autoapply | _undefined_ | A boolean indicating wether this tagging should be applied automatically if the relevant tags on this object are changed. A visual element indicating the multi_apply is still shown
overwrite | _undefined_ | If set to 'true', the tags on the other objects will always be overwritten. The default behaviour will be to only change the tags on other objects if they are either undefined or had the same value before the change
#### Example usage of multi_apply
{multi_apply(_features_with_the_same_name_within_100m, name:etymology:wikidata;name:etymology, Apply etymology information on all nearby objects with the same name)}
### tag_apply
Shows a big button; clicking this button will apply certain tags onto the feature.
@ -566,13 +500,215 @@ id_of_object_to_apply_this_one | _undefined_ | If specified, applies the the tag
### export_as_gpx
### close_note
Exports the selected feature as GPX-file
Button to close a note. A predifined text can be defined to close the note with. If the note is already closed, will show a small text.
#### Example usage of export_as_gpx
name | default | description
------ | --------- | -------------
text | _undefined_ | Text to show on this button
icon | checkmark.svg | Icon to show
idkey | id | The property name where the ID of the note to close can be found
comment | _undefined_ | Text to add onto the note when closing
minZoom | _undefined_ | If set, only show the closenote button if zoomed in enough
zoomButton | _undefined_ | Text to show if not zoomed in enough
`{export_as_gpx()}`
#### Example usage of close_note
`{close_note(,checkmark.svg,id,,,)}`
### nearby_images
A component showing nearby images loaded from various online services such as Mapillary. In edit mode and when used on a feature, the user can select an image to add to the feature
name | default | description
------ | --------- | -------------
mode | expandable | Indicates how this component is initialized. Options are:
- `open`: always show and load the pictures
- `collapsable`: show the pictures, but a user can collapse them
- `expandable`: shown by default; but a user can collapse them.
mapillary | true | If 'true', includes a link to mapillary on this location.
#### Example usage of nearby_images
`{nearby_images(expandable,true)}`
### mapillary_link
Adds a button to open mapillary on the specified location
name | default | description
------ | --------- | -------------
zoom | 18 | The startzoom of mapillary
#### Example usage of mapillary_link
`{mapillary_link(18)}`
### language_chooser
The language element allows to show and pick all known (modern) languages. The key can be set
name | default | description
------ | --------- | -------------
key | _undefined_ | What key to use, e.g. `language`, `tactile_writing:braille:language`, ... If a language is supported, the language code will be appended to this key, resulting in `language:nl=yes` if nl is picked
question | _undefined_ | What to ask if no questions are known
render_list_item | {language()} | How a single language will be shown in the list of languages. Use `{language}` to indicate the language (which it must contain).
render_single_language | _undefined_ | What will be shown if the feature only supports a single language
render_all | {list()} | The full rendering. Use `{list}` to show where the list of languages must come. Optional if mode=single
no_known_languages | _undefined_ | The text that is shown if no languages are known for this key. If this text is omitted, the languages will be prompted instead
mode | multi | If one or many languages can be selected. Should be 'multi' or 'single'
#### Example usage of language_chooser
`{language_chooser(,,{language()},,{list()},,multi)}`
### all_tags
Prints all key-value pairs of the object - used for debugging
#### Example usage of all_tags
`{all_tags()}`
### image_carousel
Creates an image carousel for the given sources. An attempt will be made to guess what source is used. Supported: Wikidata identifiers, Wikipedia pages, Wikimedia categories, IMGUR (with attribution, direct links)
name | default | description
------ | --------- | -------------
image_key | image,mapillary,image,wikidata,wikimedia_commons,image,image | The keys given to the images, e.g. if <span class='literal-code'>image</span> is given, the first picture URL will be added as <span class='literal-code'>image</span>, the second as <span class='literal-code'>image:0</span>, the third as <span class='literal-code'>image:1</span>, etc... Multiple values are allowed if ';'-separated
#### Example usage of image_carousel
`{image_carousel(image,mapillary,image,wikidata,wikimedia_commons,image,image)}`
### image_upload
Creates a button where a user can upload an image to IMGUR
name | default | description
------ | --------- | -------------
image-key | image | Image tag to add the URL to (or image-tag:0, image-tag:1 when multiple images are added)
label | Add image | The text to show on the button
#### Example usage of image_upload
`{image_upload(image,Add image)}`
### wikipedia
A box showing the corresponding wikipedia article - based on the wikidata tag
name | default | description
------ | --------- | -------------
keyToShowWikipediaFor | wikidata;wikipedia | Use the wikidata entry from this key to show the wikipedia article for. Multiple keys can be given (separated by ';'), in which case the first matching value is used
#### Example usage of wikipedia
`{wikipedia()}` is a basic example, `{wikipedia(name:etymology:wikidata)}` to show the wikipedia page of whom the feature was named after. Also remember that these can be styled, e.g. `{wikipedia():max-height: 10rem}` to limit the height
### wikidata_label
Shows the label of the corresponding wikidata-item
name | default | description
------ | --------- | -------------
keyToShowWikidataFor | wikidata | Use the wikidata entry from this key to show the label
#### Example usage of wikidata_label
`{wikidata_label()}` is a basic example, `{wikipedia(name:etymology:wikidata)}` to show the label itself
### reviews
Adds an overview of the mangrove-reviews of this object. Mangrove.Reviews needs - in order to identify the reviewed object - a coordinate and a name. By default, the name of the object is given, but this can be overwritten
name | default | description
------ | --------- | -------------
subjectKey | name | The key to use to determine the subject. If specified, the subject will be <b>tags[subjectKey]</b>
fallback | _undefined_ | The identifier to use, if <i>tags[subjectKey]</i> as specified above is not available. This is effectively a fallback value
#### Example usage of reviews
`{reviews()}` for a vanilla review, `{reviews(name, play_forest)}` to review a play forest. If a name is known, the name will be used as identifier, otherwise 'play_forest' is used
### opening_hours_table
Creates an opening-hours table. Usage: {opening_hours_table(opening_hours)} to create a table of the tag 'opening_hours'.
name | default | description
------ | --------- | -------------
key | opening_hours | The tagkey from which the table is constructed.
prefix | _empty string_ | Remove this string from the start of the value before parsing. __Note: use `&LPARENs` to indicate `(` if needed__
postfix | _empty string_ | Remove this string from the end of the value before parsing. __Note: use `&RPARENs` to indicate `)` if needed__
#### Example usage of opening_hours_table
A normal opening hours table can be invoked with `{opening_hours_table()}`. A table for e.g. conditional access with opening hours can be `{opening_hours_table(access:conditional, no @ &LPARENS, &RPARENS)}`
### live
Downloads a JSON from the given URL, e.g. '{live(example.org/data.json, shorthand:x.y.z, other:a.b.c, shorthand)}' will download the given file, will create an object {shorthand: json[x][y][z], other: json[a][b][c] out of it and will return 'other' or 'json[a][b][c]. This is made to use in combination with tags, e.g. {live({url}, {url:format}, needed_value)}
name | default | description
------ | --------- | -------------
Url | _undefined_ | The URL to load
Shorthands | _undefined_ | A list of shorthands, of the format 'shorthandname:path.path.path'. separated by ;
path | _undefined_ | The path (or shorthand) that should be returned
#### Example usage of live
{live({url},{url:format},hour)} {live(https://data.mobility.brussels/bike/api/counts/?request=live&featureID=CB2105,hour:data.hour_cnt;day:data.day_cnt;year:data.year_cnt,hour)}
### canonical
Converts a short, canonical value into the long, translated text including the unit. This only works if a `unit` is defined for the corresponding value. The unit specification will be included in the text.
name | default | description
------ | --------- | -------------
key | _undefined_ | The key of the tag to give the canonical text for
#### Example usage of canonical
If the object has `length=42`, then `{canonical(length)}` will be shown as **42 meter** (in english), **42 metre** (in french), ...
@ -616,41 +752,6 @@ id_of_object_to_apply_this_one | _undefined_ | If specified, applies the the tag
### close_note
Button to close a note. A predifined text can be defined to close the note with. If the note is already closed, will show a small text.
name | default | description
------ | --------- | -------------
text | _undefined_ | Text to show on this button
icon | checkmark.svg | Icon to show
idkey | id | The property name where the ID of the note to close can be found
comment | _undefined_ | Text to add onto the note when closing
minZoom | _undefined_ | If set, only show the closenote button if zoomed in enough
zoomButton | _undefined_ | Text to show if not zoomed in enough
#### Example usage of close_note
`{close_note(,checkmark.svg,id,,,)}`
### add_note_comment
A textfield to add a comment to a node (with the option to close the note).
name | default | description
------ | --------- | -------------
Id-key | id | The property name where the ID of the note to close can be found
#### Example usage of add_note_comment
`{add_note_comment(id)}`
### visualize_note_comments
Visualises the comments for notes
@ -692,41 +793,6 @@ Id-key | id | The property name where the ID of the note to close can be found
### nearby_images
A component showing nearby images loaded from various online services such as Mapillary. In edit mode and when used on a feature, the user can select an image to add to the feature
name | default | description
------ | --------- | -------------
mode | expandable | Indicates how this component is initialized. Options are:
- `open`: always show and load the pictures
- `collapsable`: show the pictures, but a user can collapse them
- `expandable`: shown by default; but a user can collapse them.
mapillary | true | If 'true', includes a link to mapillary on this location.
#### Example usage of nearby_images
`{nearby_images(expandable,true)}`
### mapillary_link
Adds a button to open mapillary on the specified location
name | default | description
------ | --------- | -------------
zoom | 18 | The startzoom of mapillary
#### Example usage of mapillary_link
`{mapillary_link(18)}`
### maproulette_task
Show details of a MapRoulette task
@ -793,37 +859,6 @@ tagrendering | _undefined_ | An entire tagRenderingConfig
### steal
Shows a tagRendering from a different object as if this was the object itself
name | default | description
------ | --------- | -------------
featureId | _undefined_ | The key of the attribute which contains the id of the feature from which to use the tags
tagRenderingId | _undefined_ | The layer-id and tagRenderingId to render. Can be multiple value if ';'-separated (in which case every value must also contain the layerId, e.g. `layerId.tagRendering0; layerId.tagRendering1`). Note: this can cause layer injection
#### Example usage of steal
`{steal(,)}`
### plantnet_detection
Sends the images linked to the current object to plantnet.org and asks it what plant species is shown on it. The user can then select the correct species; the corresponding wikidata-identifier will then be added to the object (together with `source:species:wikidata=plantnet.org AI`).
name | default | description
------ | --------- | -------------
image_key | image,mapillary,image,wikidata,wikimedia_commons,image,image | The keys given to the images, e.g. if <span class='literal-code'>image</span> is given, the first picture URL will be added as <span class='literal-code'>image</span>, the second as <span class='literal-code'>image:0</span>, the third as <span class='literal-code'>image:1</span>, etc... Multiple values are allowed if ';'-separated
#### Example usage of plantnet_detection
`{plantnet_detection(image,mapillary,image,wikidata,wikimedia_commons,image,image)}`
### auto_apply
A button to run many actions for many features at once. To effectively use this button, you'll need some ingredients:

View file

@ -1061,6 +1061,31 @@
"description": "Layer 'Stairs' shows handrail=no with a fixed text, namely 'These stairs do <b>not</b> have a handrail' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OSM for the blind')",
"value": "no"
},
{
"key": "tactile_writing",
"description": "Layer 'Stairs' shows tactile_writing=yes with a fixed text, namely 'There is tactile writing on the handrail' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OSM for the blind')",
"value": "yes"
},
{
"key": "tactile_writing",
"description": "Layer 'Stairs' shows tactile_writing=no with a fixed text, namely 'There is no tactile writing on the handrail' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OSM for the blind')",
"value": "no"
},
{
"key": "conveying",
"description": "Layer 'Stairs' shows conveying=yes with a fixed text, namely 'This is an escalator' (in the MapComplete.osm.be theme 'OSM for the blind')",
"value": "yes"
},
{
"key": "conveying",
"description": "Layer 'Stairs' shows conveying=no with a fixed text, namely 'This is not an escalator' (in the MapComplete.osm.be theme 'OSM for the blind')",
"value": "no"
},
{
"key": "conveying",
"description": "Layer 'Stairs' shows with a fixed text, namely 'This is not an escalator' (in the MapComplete.osm.be theme 'OSM for the blind')",
"value": ""
},
{
"key": "ramp:bicycle",
"description": "Layer 'Stairs' shows ramp:bicycle=yes with a fixed text, namely 'There is a ramp for bicycles here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OSM for the blind')",
@ -1085,16 +1110,6 @@
"key": "ramp",
"description": "Layer 'Stairs' shows ramp=no with a fixed text, namely 'There is no ramp at these stairs' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OSM for the blind')",
"value": "no"
},
{
"key": "conveying",
"description": "Layer 'Stairs' shows conveying=yes with a fixed text, namely 'This is an escalator' (in the MapComplete.osm.be theme 'OSM for the blind')",
"value": "yes"
},
{
"key": "conveying",
"description": "Layer 'Stairs' shows conveying=no with a fixed text, namely 'This is not an escalator' (in the MapComplete.osm.be theme 'OSM for the blind')",
"value": "no"
}
]
}

View file

@ -143,10 +143,78 @@
"key": "contact:email",
"description": "Layer 'Climbing gyms' shows contact:email~.+ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Open Climbing Map')"
},
{
"key": "charge",
"description": "Layer 'Climbing gyms' shows and asks freeform values for key 'charge' (in the MapComplete.osm.be theme 'Open Climbing Map')"
},
{
"key": "fee",
"description": "Layer 'Climbing gyms' shows fee=no with a fixed text, namely 'Climbing here is free of charge' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
"value": "no"
},
{
"key": "fee",
"description": "Layer 'Climbing gyms' shows fee=yes with a fixed text, namely 'Paying a fee is required to climb here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
"value": "yes"
},
{
"key": "charge",
"description": "Layer 'Climbing gyms' shows fee=yes with a fixed text, namely 'Paying a fee is required to climb here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map') Picking this answer will delete the key charge.",
"value": ""
},
{
"key": "opening_hours",
"description": "Layer 'Climbing gyms' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Open Climbing Map')"
},
{
"key": "climbing:length",
"description": "Layer 'Climbing gyms' shows and asks freeform values for key 'climbing:length' (in the MapComplete.osm.be theme 'Open Climbing Map')"
},
{
"key": "climbing:grade:french:min",
"description": "Layer 'Climbing gyms' shows and asks freeform values for key 'climbing:grade:french:min' (in the MapComplete.osm.be theme 'Open Climbing Map')"
},
{
"key": "climbing:grade:french:max",
"description": "Layer 'Climbing gyms' shows and asks freeform values for key 'climbing:grade:french:max' (in the MapComplete.osm.be theme 'Open Climbing Map')"
},
{
"key": "climbing:boulder",
"description": "Layer 'Climbing gyms' shows climbing:boulder=yes with a fixed text, namely 'Bouldering is possible here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
"value": "yes"
},
{
"key": "climbing:boulder",
"description": "Layer 'Climbing gyms' shows climbing:boulder=no with a fixed text, namely 'Bouldering is not possible here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
"value": "no"
},
{
"key": "climbing:boulder",
"description": "Layer 'Climbing gyms' shows climbing:boulder=limited with a fixed text, namely 'Bouldering is possible, allthough there are only a few routes' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
"value": "limited"
},
{
"key": "climbing:boulder",
"description": "Layer 'Climbing gyms' shows climbing:boulder~.+ with a fixed text, namely 'There are {climbing:boulder} boulder routes' (in the MapComplete.osm.be theme 'Open Climbing Map')"
},
{
"key": "climbing:sport",
"description": "Layer 'Climbing gyms' shows climbing:sport=yes with a fixed text, namely 'Sport climbing is possible here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
"value": "yes"
},
{
"key": "climbing:sport",
"description": "Layer 'Climbing gyms' shows climbing:sport=no with a fixed text, namely 'Sport climbing is not possible here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
"value": "no"
},
{
"key": "climbing:sport",
"description": "Layer 'Climbing gyms' shows climbing:sport~.+ with a fixed text, namely 'There are {climbing:sport} sport climbing routes' (in the MapComplete.osm.be theme 'Open Climbing Map')"
},
{
"key": "climbing:bolts:max",
"description": "Layer 'Climbing gyms' shows and asks freeform values for key 'climbing:bolts:max' (in the MapComplete.osm.be theme 'Open Climbing Map')"
},
{
"key": "climbing:speed",
"description": "Layer 'Climbing gyms' shows climbing:speed=yes with a fixed text, namely 'There is a speed climbing wall' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
@ -334,6 +402,48 @@
"description": "Layer 'Climbing opportunities' shows rock=limestone with a fixed text, namely 'Limestone' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
"value": "limestone"
},
{
"key": "url",
"description": "Layer 'Climbing opportunities' shows and asks freeform values for key 'url' (in the MapComplete.osm.be theme 'Open Climbing Map')"
},
{
"key": "charge",
"description": "Layer 'Climbing opportunities' shows and asks freeform values for key 'charge' (in the MapComplete.osm.be theme 'Open Climbing Map')"
},
{
"key": "fee",
"description": "Layer 'Climbing opportunities' shows fee=no with a fixed text, namely 'Climbing here is free of charge' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
"value": "no"
},
{
"key": "fee",
"description": "Layer 'Climbing opportunities' shows fee=yes with a fixed text, namely 'Paying a fee is required to climb here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
"value": "yes"
},
{
"key": "charge",
"description": "Layer 'Climbing opportunities' shows fee=yes with a fixed text, namely 'Paying a fee is required to climb here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map') Picking this answer will delete the key charge.",
"value": ""
},
{
"key": "climbing:boulder",
"description": "Layer 'Climbing opportunities' shows climbing:boulder=yes with a fixed text, namely 'Bouldering is possible here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
"value": "yes"
},
{
"key": "climbing:boulder",
"description": "Layer 'Climbing opportunities' shows climbing:boulder=no with a fixed text, namely 'Bouldering is not possible here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
"value": "no"
},
{
"key": "climbing:boulder",
"description": "Layer 'Climbing opportunities' shows climbing:boulder=limited with a fixed text, namely 'Bouldering is possible, allthough there are only a few routes' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",
"value": "limited"
},
{
"key": "climbing:boulder",
"description": "Layer 'Climbing opportunities' shows climbing:boulder~.+ with a fixed text, namely 'There are {climbing:boulder} boulder routes' (in the MapComplete.osm.be theme 'Open Climbing Map')"
},
{
"key": "access",
"description": "Layer 'Climbing opportunities' shows access=yes with a fixed text, namely 'Publicly accessible to anyone' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')",

View file

@ -452,6 +452,78 @@
"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.osm.be theme 'Cyclofix - an open map for cyclists')",
"value": "no"
},
{
"key": "rental",
"description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'rental' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')"
},
{
"key": "rental",
"description": "Layer 'Bike repair/shop' shows rental=city_bike with a fixed text, namely 'Normal city bikes can be rented here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')",
"value": "city_bike"
},
{
"key": "rental",
"description": "Layer 'Bike repair/shop' shows rental=ebike with a fixed text, namely 'Electrical bikes can be rented here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')",
"value": "ebike"
},
{
"key": "rental",
"description": "Layer 'Bike repair/shop' shows rental=bmx with a fixed text, namely 'BMX bikes can be rented here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')",
"value": "bmx"
},
{
"key": "rental",
"description": "Layer 'Bike repair/shop' shows rental=mtb with a fixed text, namely 'Mountainbikes can be rented here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')",
"value": "mtb"
},
{
"key": "rental",
"description": "Layer 'Bike repair/shop' shows rental=kid_bike with a fixed text, namely 'Bikes for children can be rented here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')",
"value": "kid_bike"
},
{
"key": "rental",
"description": "Layer 'Bike repair/shop' shows rental=tandem with a fixed text, namely 'Tandem bicycles can be rented here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')",
"value": "tandem"
},
{
"key": "rental",
"description": "Layer 'Bike repair/shop' shows rental=racebike with a fixed text, namely 'Race bicycles can be rented here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')",
"value": "racebike"
},
{
"key": "rental",
"description": "Layer 'Bike repair/shop' shows rental=bike_helmet with a fixed text, namely 'Bike helmets can be rented here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')",
"value": "bike_helmet"
},
{
"key": "capacity:city_bike",
"description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'capacity:city_bike' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')"
},
{
"key": "capacity:ebike",
"description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'capacity:ebike' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')"
},
{
"key": "capacity:kid_bike",
"description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'capacity:kid_bike' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')"
},
{
"key": "capacity:bmx",
"description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'capacity:bmx' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')"
},
{
"key": "capacity:mtb",
"description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'capacity:mtb' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')"
},
{
"key": "capacity:bicycle_pannier",
"description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'capacity:bicycle_pannier' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')"
},
{
"key": "capacity:tandem_bicycle",
"description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'capacity:tandem_bicycle' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')"
},
{
"key": "service:bicycle:second_hand",
"description": "Layer 'Bike repair/shop' shows service:bicycle:second_hand=yes with a fixed text, namely 'This shop sells second-hand bikes' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')",
@ -512,6 +584,25 @@
"description": "Layer 'Bike repair/shop' shows service:bicycle:cleaning=no with a fixed text, namely 'This shop doesn't offer bicycle cleaning' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')",
"value": "no"
},
{
"key": "service:bicycle:cleaning:charge",
"description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'service:bicycle:cleaning:charge' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')"
},
{
"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.osm.be theme 'Cyclofix - an open map for cyclists')",
"value": "no"
},
{
"key": "service:bicycle:cleaning:fee",
"description": "Layer 'Bike repair/shop' shows service:bicycle:cleaning:fee=yes with a fixed text, namely 'Free to use' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')",
"value": "yes"
},
{
"key": "service:bicycle:cleaning:charge",
"description": "Layer 'Bike repair/shop' shows service:bicycle:cleaning:fee=yes with a fixed text, namely 'Free to use' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key service:bicycle:cleaning:charge.",
"value": ""
},
{
"key": "description",
"description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'description' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')"

View file

@ -58,6 +58,30 @@
"description": "Layer 'Colleges and universities' shows isced:2011:level=doctorate with a fixed text, namely 'Doctorate degrees are awarded here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Education')",
"value": "doctorate"
},
{
"key": "capacity",
"description": "Layer 'Colleges and universities' shows and asks freeform values for key 'capacity' (in the MapComplete.osm.be theme 'Education')"
},
{
"key": "school:gender",
"description": "Layer 'Colleges and universities' shows school:gender=mixed with a fixed text, namely 'Both boys and girls can enroll here and have classes together' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Education')",
"value": "mixed"
},
{
"key": "school:gender",
"description": "Layer 'Colleges and universities' shows school:gender=separated with a fixed text, namely 'Both boys and girls can enroll here but they are separated (e.g. they have lessons in different classrooms or at different times)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Education')",
"value": "separated"
},
{
"key": "school:gender",
"description": "Layer 'Colleges and universities' shows school:gender=male with a fixed text, namely 'This is a boys only-school' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Education')",
"value": "male"
},
{
"key": "school:gender",
"description": "Layer 'Colleges and universities' shows school:gender=female with a fixed text, namely 'This is a girls-only school' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Education')",
"value": "female"
},
{
"key": "website",
"description": "Layer 'Colleges and universities' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Education')"

View file

@ -1159,6 +1159,810 @@
"key": "name",
"description": "Layer 'Shop' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'OnWheels')"
},
{
"key": "shop",
"description": "Layer 'Shop' shows and asks freeform values for key 'shop' (in the MapComplete.osm.be theme 'OnWheels')"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=agrarian with a fixed text, namely 'Farm Supply Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "agrarian"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=alcohol with a fixed text, namely 'Liquor Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "alcohol"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=anime with a fixed text, namely 'Anime / Manga Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "anime"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=antiques with a fixed text, namely 'Antiques Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "antiques"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=appliance with a fixed text, namely 'Appliance Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "appliance"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=art with a fixed text, namely 'Art Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "art"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=baby_goods with a fixed text, namely 'Baby Goods Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "baby_goods"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bag with a fixed text, namely 'Bag/Luggage Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "bag"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bakery with a fixed text, namely 'Bakery' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "bakery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bathroom_furnishing with a fixed text, namely 'Bathroom Furnishing Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "bathroom_furnishing"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=beauty with a fixed text, namely 'Beauty Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "beauty"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bed with a fixed text, namely 'Bedding/Mattress Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "bed"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=beverages with a fixed text, namely 'Beverage Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "beverages"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bicycle with a fixed text, namely 'Bicycle Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "bicycle"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=boat with a fixed text, namely 'Boat Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "boat"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bookmaker with a fixed text, namely 'Bookmaker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "bookmaker"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=books with a fixed text, namely 'Book Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "books"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=brewing_supplies with a fixed text, namely 'Brewing Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "brewing_supplies"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=butcher with a fixed text, namely 'Butcher' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "butcher"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=camera with a fixed text, namely 'Camera Equipment Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "camera"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=candles with a fixed text, namely 'Candle Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "candles"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=cannabis with a fixed text, namely 'Cannabis Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "cannabis"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=car with a fixed text, namely 'Car Dealership' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "car"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=car_parts with a fixed text, namely 'Car Parts Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "car_parts"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=car_repair with a fixed text, namely 'Car Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "car_repair"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=caravan with a fixed text, namely 'RV Dealership' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "caravan"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=carpet with a fixed text, namely 'Carpet Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "carpet"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=catalogue with a fixed text, namely 'Catalog Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "catalogue"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=charity with a fixed text, namely 'Charity Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "charity"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=cheese with a fixed text, namely 'Cheese Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "cheese"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=chemist with a fixed text, namely 'Drugstore' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "chemist"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=chocolate with a fixed text, namely 'Chocolate Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "chocolate"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=clothes with a fixed text, namely 'Clothing Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "clothes"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=coffee with a fixed text, namely 'Coffee Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "coffee"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=collector with a fixed text, namely 'Collectibles Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "collector"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=computer with a fixed text, namely 'Computer Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "computer"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=confectionery with a fixed text, namely 'Candy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "confectionery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=convenience with a fixed text, namely 'Convenience Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "convenience"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=copyshop with a fixed text, namely 'Copy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "copyshop"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=cosmetics with a fixed text, namely 'Cosmetics Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "cosmetics"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=country_store with a fixed text, namely 'Country Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "country_store"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=craft with a fixed text, namely 'Arts & Crafts Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "craft"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=curtain with a fixed text, namely 'Curtain Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "curtain"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=dairy with a fixed text, namely 'Dairy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "dairy"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=deli with a fixed text, namely 'Deli' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "deli"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=department_store with a fixed text, namely 'Department Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "department_store"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=doityourself with a fixed text, namely 'DIY Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "doityourself"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=doors with a fixed text, namely 'Door Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "doors"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=dry_cleaning with a fixed text, namely 'Dry Cleaner' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "dry_cleaning"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=e-cigarette with a fixed text, namely 'E-Cigarette Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "e-cigarette"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=electrical with a fixed text, namely 'Electrical Equipment Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "electrical"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=electronics with a fixed text, namely 'Electronics Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "electronics"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=erotic with a fixed text, namely 'Erotic Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "erotic"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fabric with a fixed text, namely 'Fabric Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "fabric"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=farm with a fixed text, namely 'Produce Stand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "farm"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fashion_accessories with a fixed text, namely 'Fashion Accessories Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "fashion_accessories"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fireplace with a fixed text, namely 'Fireplace Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "fireplace"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fishing with a fixed text, namely 'Fishing Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "fishing"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=flooring with a fixed text, namely 'Flooring Supply Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "flooring"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=florist with a fixed text, namely 'Florist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "florist"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=frame with a fixed text, namely 'Framing Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "frame"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=frozen_food with a fixed text, namely 'Frozen Food Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "frozen_food"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fuel with a fixed text, namely 'Fuel Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "fuel"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=funeral_directors with a fixed text, namely 'Funeral Home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "funeral_directors"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=furniture with a fixed text, namely 'Furniture Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "furniture"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=games with a fixed text, namely 'Tabletop Game Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "games"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=garden_centre with a fixed text, namely 'Garden Center' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "garden_centre"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=gas with a fixed text, namely 'Bottled Gas Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "gas"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=general with a fixed text, namely 'General Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "general"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=gift with a fixed text, namely 'Gift Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "gift"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=greengrocer with a fixed text, namely 'Greengrocer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "greengrocer"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hairdresser with a fixed text, namely 'Hairdresser' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "hairdresser"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hairdresser_supply with a fixed text, namely 'Hairdresser Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "hairdresser_supply"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hardware with a fixed text, namely 'Hardware Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "hardware"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=health_food with a fixed text, namely 'Health Food Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "health_food"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hearing_aids with a fixed text, namely 'Hearing Aids Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "hearing_aids"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=herbalist with a fixed text, namely 'Herbalist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "herbalist"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hifi with a fixed text, namely 'Hifi Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "hifi"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hobby with a fixed text, namely 'Hobby Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "hobby"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=household_linen with a fixed text, namely 'Household Linen Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "household_linen"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=houseware with a fixed text, namely 'Houseware Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "houseware"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hunting with a fixed text, namely 'Hunting Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "hunting"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=interior_decoration with a fixed text, namely 'Interior Decoration Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "interior_decoration"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=jewelry with a fixed text, namely 'Jewelry Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "jewelry"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=kiosk with a fixed text, namely 'Kiosk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "kiosk"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=kitchen with a fixed text, namely 'Kitchen Design Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "kitchen"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=laundry with a fixed text, namely 'Laundry' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "laundry"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=leather with a fixed text, namely 'Leather Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "leather"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=lighting with a fixed text, namely 'Lighting Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "lighting"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=locksmith with a fixed text, namely 'Locksmith' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "locksmith"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=lottery with a fixed text, namely 'Lottery Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "lottery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=mall with a fixed text, namely 'Mall' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "mall"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=massage with a fixed text, namely 'Massage Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "massage"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=medical_supply with a fixed text, namely 'Medical Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "medical_supply"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=military_surplus with a fixed text, namely 'Military Surplus Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "military_surplus"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=mobile_phone with a fixed text, namely 'Mobile Phone Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "mobile_phone"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=model with a fixed text, namely 'Model Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "model"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=money_lender with a fixed text, namely 'Money Lender' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "money_lender"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=motorcycle with a fixed text, namely 'Motorcycle Dealership' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "motorcycle"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=motorcycle_repair with a fixed text, namely 'Motorcycle Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "motorcycle_repair"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=music with a fixed text, namely 'Music Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "music"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=musical_instrument with a fixed text, namely 'Musical Instrument Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "musical_instrument"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=newsagent with a fixed text, namely 'Newspaper/Magazine Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "newsagent"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=nutrition_supplements with a fixed text, namely 'Nutrition Supplements Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "nutrition_supplements"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=optician with a fixed text, namely 'Optician' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "optician"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=outdoor with a fixed text, namely 'Outdoors Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "outdoor"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=outpost with a fixed text, namely 'Online Retailer Outpost' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "outpost"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=paint with a fixed text, namely 'Paint Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "paint"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=party with a fixed text, namely 'Party Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "party"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pastry with a fixed text, namely 'Pastry Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "pastry"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pawnbroker with a fixed text, namely 'Pawn Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "pawnbroker"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=perfumery with a fixed text, namely 'Perfume Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "perfumery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pet with a fixed text, namely 'Pet Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "pet"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pet_grooming with a fixed text, namely 'Pet Grooming Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "pet_grooming"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=photo with a fixed text, namely 'Photography Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "photo"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pottery with a fixed text, namely 'Pottery Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "pottery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=printer_ink with a fixed text, namely 'Printer Ink Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "printer_ink"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=psychic with a fixed text, namely 'Psychic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "psychic"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pyrotechnics with a fixed text, namely 'Fireworks Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "pyrotechnics"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=radiotechnics with a fixed text, namely 'Radio/Electronic Component Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "radiotechnics"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=religion with a fixed text, namely 'Religious Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "religion"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=rental with a fixed text, namely 'Rental Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "rental"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=repair with a fixed text, namely 'Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "repair"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=scuba_diving with a fixed text, namely 'Scuba Diving Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "scuba_diving"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=seafood with a fixed text, namely 'Seafood Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "seafood"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=second_hand with a fixed text, namely 'Consignment/Thrift Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "second_hand"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=sewing with a fixed text, namely 'Sewing Supply Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "sewing"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=shoe_repair with a fixed text, namely 'Shoe Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "shoe_repair"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=shoes with a fixed text, namely 'Shoe Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "shoes"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=spices with a fixed text, namely 'Spice Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "spices"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=sports with a fixed text, namely 'Sporting Goods Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "sports"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=stationery with a fixed text, namely 'Stationery Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "stationery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=storage_rental with a fixed text, namely 'Storage Rental' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "storage_rental"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=supermarket with a fixed text, namely 'Supermarket' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "supermarket"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=swimming_pool with a fixed text, namely 'Pool Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "swimming_pool"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tailor with a fixed text, namely 'Tailor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "tailor"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tattoo with a fixed text, namely 'Tattoo Parlor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "tattoo"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tea with a fixed text, namely 'Tea Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "tea"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=telecommunication with a fixed text, namely 'Telecom Retail Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "telecommunication"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=ticket with a fixed text, namely 'Ticket Seller' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "ticket"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tiles with a fixed text, namely 'Tile Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "tiles"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tobacco with a fixed text, namely 'Tobacco Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "tobacco"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tool_hire with a fixed text, namely 'Tool Rental' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "tool_hire"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=toys with a fixed text, namely 'Toy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "toys"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=trade with a fixed text, namely 'Trade Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "trade"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=travel_agency with a fixed text, namely 'Travel Agency' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "travel_agency"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=trophy with a fixed text, namely 'Trophy Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "trophy"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tyres with a fixed text, namely 'Tire Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "tyres"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=vacuum_cleaner with a fixed text, namely 'Vacuum Cleaner Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "vacuum_cleaner"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=variety_store with a fixed text, namely 'Variety Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "variety_store"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=video with a fixed text, namely 'Video Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "video"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=video_games with a fixed text, namely 'Video Game Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "video_games"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=watches with a fixed text, namely 'Watches Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "watches"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=water with a fixed text, namely 'Drinking Water Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "water"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=water_sports with a fixed text, namely 'Watersport/Swim Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "water_sports"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=weapons with a fixed text, namely 'Weapon Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "weapons"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=wholesale with a fixed text, namely 'Wholesale Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "wholesale"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=wigs with a fixed text, namely 'Wig Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "wigs"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=window_blind with a fixed text, namely 'Window Blind Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "window_blind"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'OnWheels')",
"value": "wine"
},
{
"key": "opening_hours",
"description": "Layer 'Shop' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'OnWheels')"

File diff suppressed because it is too large Load diff

View file

@ -554,6 +554,810 @@
"key": "name",
"description": "Layer 'Dog-friendly shops' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows and asks freeform values for key 'shop' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=agrarian with a fixed text, namely 'Farm Supply Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "agrarian"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=alcohol with a fixed text, namely 'Liquor Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "alcohol"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=anime with a fixed text, namely 'Anime / Manga Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "anime"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=antiques with a fixed text, namely 'Antiques Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "antiques"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=appliance with a fixed text, namely 'Appliance Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "appliance"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=art with a fixed text, namely 'Art Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "art"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=baby_goods with a fixed text, namely 'Baby Goods Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "baby_goods"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=bag with a fixed text, namely 'Bag/Luggage Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "bag"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=bakery with a fixed text, namely 'Bakery' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "bakery"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=bathroom_furnishing with a fixed text, namely 'Bathroom Furnishing Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "bathroom_furnishing"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=beauty with a fixed text, namely 'Beauty Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "beauty"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=bed with a fixed text, namely 'Bedding/Mattress Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "bed"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=beverages with a fixed text, namely 'Beverage Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "beverages"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=bicycle with a fixed text, namely 'Bicycle Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "bicycle"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=boat with a fixed text, namely 'Boat Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "boat"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=bookmaker with a fixed text, namely 'Bookmaker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "bookmaker"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=books with a fixed text, namely 'Book Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "books"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=brewing_supplies with a fixed text, namely 'Brewing Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "brewing_supplies"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=butcher with a fixed text, namely 'Butcher' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "butcher"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=camera with a fixed text, namely 'Camera Equipment Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "camera"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=candles with a fixed text, namely 'Candle Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "candles"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=cannabis with a fixed text, namely 'Cannabis Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "cannabis"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=car with a fixed text, namely 'Car Dealership' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "car"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=car_parts with a fixed text, namely 'Car Parts Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "car_parts"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=car_repair with a fixed text, namely 'Car Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "car_repair"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=caravan with a fixed text, namely 'RV Dealership' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "caravan"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=carpet with a fixed text, namely 'Carpet Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "carpet"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=catalogue with a fixed text, namely 'Catalog Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "catalogue"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=charity with a fixed text, namely 'Charity Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "charity"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=cheese with a fixed text, namely 'Cheese Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "cheese"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=chemist with a fixed text, namely 'Drugstore' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "chemist"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=chocolate with a fixed text, namely 'Chocolate Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "chocolate"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=clothes with a fixed text, namely 'Clothing Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "clothes"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=coffee with a fixed text, namely 'Coffee Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "coffee"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=collector with a fixed text, namely 'Collectibles Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "collector"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=computer with a fixed text, namely 'Computer Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "computer"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=confectionery with a fixed text, namely 'Candy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "confectionery"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=convenience with a fixed text, namely 'Convenience Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "convenience"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=copyshop with a fixed text, namely 'Copy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "copyshop"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=cosmetics with a fixed text, namely 'Cosmetics Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "cosmetics"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=country_store with a fixed text, namely 'Country Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "country_store"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=craft with a fixed text, namely 'Arts & Crafts Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "craft"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=curtain with a fixed text, namely 'Curtain Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "curtain"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=dairy with a fixed text, namely 'Dairy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "dairy"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=deli with a fixed text, namely 'Deli' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "deli"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=department_store with a fixed text, namely 'Department Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "department_store"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=doityourself with a fixed text, namely 'DIY Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "doityourself"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=doors with a fixed text, namely 'Door Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "doors"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=dry_cleaning with a fixed text, namely 'Dry Cleaner' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "dry_cleaning"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=e-cigarette with a fixed text, namely 'E-Cigarette Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "e-cigarette"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=electrical with a fixed text, namely 'Electrical Equipment Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "electrical"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=electronics with a fixed text, namely 'Electronics Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "electronics"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=erotic with a fixed text, namely 'Erotic Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "erotic"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=fabric with a fixed text, namely 'Fabric Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "fabric"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=farm with a fixed text, namely 'Produce Stand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "farm"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=fashion_accessories with a fixed text, namely 'Fashion Accessories Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "fashion_accessories"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=fireplace with a fixed text, namely 'Fireplace Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "fireplace"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=fishing with a fixed text, namely 'Fishing Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "fishing"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=flooring with a fixed text, namely 'Flooring Supply Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "flooring"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=florist with a fixed text, namely 'Florist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "florist"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=frame with a fixed text, namely 'Framing Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "frame"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=frozen_food with a fixed text, namely 'Frozen Food Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "frozen_food"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=fuel with a fixed text, namely 'Fuel Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "fuel"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=funeral_directors with a fixed text, namely 'Funeral Home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "funeral_directors"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=furniture with a fixed text, namely 'Furniture Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "furniture"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=games with a fixed text, namely 'Tabletop Game Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "games"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=garden_centre with a fixed text, namely 'Garden Center' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "garden_centre"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=gas with a fixed text, namely 'Bottled Gas Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "gas"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=general with a fixed text, namely 'General Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "general"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=gift with a fixed text, namely 'Gift Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "gift"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=greengrocer with a fixed text, namely 'Greengrocer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "greengrocer"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=hairdresser with a fixed text, namely 'Hairdresser' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "hairdresser"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=hairdresser_supply with a fixed text, namely 'Hairdresser Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "hairdresser_supply"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=hardware with a fixed text, namely 'Hardware Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "hardware"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=health_food with a fixed text, namely 'Health Food Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "health_food"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=hearing_aids with a fixed text, namely 'Hearing Aids Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "hearing_aids"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=herbalist with a fixed text, namely 'Herbalist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "herbalist"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=hifi with a fixed text, namely 'Hifi Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "hifi"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=hobby with a fixed text, namely 'Hobby Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "hobby"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=household_linen with a fixed text, namely 'Household Linen Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "household_linen"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=houseware with a fixed text, namely 'Houseware Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "houseware"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=hunting with a fixed text, namely 'Hunting Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "hunting"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=interior_decoration with a fixed text, namely 'Interior Decoration Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "interior_decoration"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=jewelry with a fixed text, namely 'Jewelry Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "jewelry"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=kiosk with a fixed text, namely 'Kiosk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "kiosk"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=kitchen with a fixed text, namely 'Kitchen Design Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "kitchen"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=laundry with a fixed text, namely 'Laundry' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "laundry"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=leather with a fixed text, namely 'Leather Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "leather"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=lighting with a fixed text, namely 'Lighting Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "lighting"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=locksmith with a fixed text, namely 'Locksmith' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "locksmith"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=lottery with a fixed text, namely 'Lottery Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "lottery"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=mall with a fixed text, namely 'Mall' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "mall"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=massage with a fixed text, namely 'Massage Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "massage"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=medical_supply with a fixed text, namely 'Medical Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "medical_supply"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=military_surplus with a fixed text, namely 'Military Surplus Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "military_surplus"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=mobile_phone with a fixed text, namely 'Mobile Phone Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "mobile_phone"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=model with a fixed text, namely 'Model Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "model"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=money_lender with a fixed text, namely 'Money Lender' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "money_lender"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=motorcycle with a fixed text, namely 'Motorcycle Dealership' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "motorcycle"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=motorcycle_repair with a fixed text, namely 'Motorcycle Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "motorcycle_repair"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=music with a fixed text, namely 'Music Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "music"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=musical_instrument with a fixed text, namely 'Musical Instrument Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "musical_instrument"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=newsagent with a fixed text, namely 'Newspaper/Magazine Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "newsagent"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=nutrition_supplements with a fixed text, namely 'Nutrition Supplements Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "nutrition_supplements"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=optician with a fixed text, namely 'Optician' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "optician"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=outdoor with a fixed text, namely 'Outdoors Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "outdoor"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=outpost with a fixed text, namely 'Online Retailer Outpost' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "outpost"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=paint with a fixed text, namely 'Paint Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "paint"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=party with a fixed text, namely 'Party Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "party"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=pastry with a fixed text, namely 'Pastry Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "pastry"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=pawnbroker with a fixed text, namely 'Pawn Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "pawnbroker"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=perfumery with a fixed text, namely 'Perfume Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "perfumery"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=pet with a fixed text, namely 'Pet Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "pet"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=pet_grooming with a fixed text, namely 'Pet Grooming Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "pet_grooming"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=photo with a fixed text, namely 'Photography Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "photo"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=pottery with a fixed text, namely 'Pottery Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "pottery"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=printer_ink with a fixed text, namely 'Printer Ink Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "printer_ink"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=psychic with a fixed text, namely 'Psychic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "psychic"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=pyrotechnics with a fixed text, namely 'Fireworks Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "pyrotechnics"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=radiotechnics with a fixed text, namely 'Radio/Electronic Component Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "radiotechnics"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=religion with a fixed text, namely 'Religious Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "religion"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=rental with a fixed text, namely 'Rental Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "rental"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=repair with a fixed text, namely 'Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "repair"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=scuba_diving with a fixed text, namely 'Scuba Diving Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "scuba_diving"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=seafood with a fixed text, namely 'Seafood Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "seafood"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=second_hand with a fixed text, namely 'Consignment/Thrift Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "second_hand"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=sewing with a fixed text, namely 'Sewing Supply Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "sewing"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=shoe_repair with a fixed text, namely 'Shoe Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "shoe_repair"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=shoes with a fixed text, namely 'Shoe Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "shoes"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=spices with a fixed text, namely 'Spice Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "spices"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=sports with a fixed text, namely 'Sporting Goods Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "sports"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=stationery with a fixed text, namely 'Stationery Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "stationery"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=storage_rental with a fixed text, namely 'Storage Rental' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "storage_rental"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=supermarket with a fixed text, namely 'Supermarket' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "supermarket"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=swimming_pool with a fixed text, namely 'Pool Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "swimming_pool"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=tailor with a fixed text, namely 'Tailor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "tailor"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=tattoo with a fixed text, namely 'Tattoo Parlor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "tattoo"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=tea with a fixed text, namely 'Tea Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "tea"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=telecommunication with a fixed text, namely 'Telecom Retail Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "telecommunication"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=ticket with a fixed text, namely 'Ticket Seller' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "ticket"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=tiles with a fixed text, namely 'Tile Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "tiles"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=tobacco with a fixed text, namely 'Tobacco Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "tobacco"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=tool_hire with a fixed text, namely 'Tool Rental' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "tool_hire"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=toys with a fixed text, namely 'Toy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "toys"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=trade with a fixed text, namely 'Trade Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "trade"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=travel_agency with a fixed text, namely 'Travel Agency' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "travel_agency"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=trophy with a fixed text, namely 'Trophy Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "trophy"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=tyres with a fixed text, namely 'Tire Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "tyres"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=vacuum_cleaner with a fixed text, namely 'Vacuum Cleaner Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "vacuum_cleaner"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=variety_store with a fixed text, namely 'Variety Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "variety_store"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=video with a fixed text, namely 'Video Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "video"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=video_games with a fixed text, namely 'Video Game Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "video_games"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=watches with a fixed text, namely 'Watches Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "watches"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=water with a fixed text, namely 'Drinking Water Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "water"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=water_sports with a fixed text, namely 'Watersport/Swim Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "water_sports"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=weapons with a fixed text, namely 'Weapon Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "weapons"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=wholesale with a fixed text, namely 'Wholesale Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "wholesale"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=wigs with a fixed text, namely 'Wig Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "wigs"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=window_blind with a fixed text, namely 'Window Blind Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "window_blind"
},
{
"key": "shop",
"description": "Layer 'Dog-friendly shops' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')",
"value": "wine"
},
{
"key": "opening_hours",
"description": "Layer 'Dog-friendly shops' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Veterinarians, dog parks and other pet-amenities')"

View file

@ -34,6 +34,810 @@
"key": "name",
"description": "Layer 'Shop' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Open Shop Map')"
},
{
"key": "shop",
"description": "Layer 'Shop' shows and asks freeform values for key 'shop' (in the MapComplete.osm.be theme 'Open Shop Map')"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=agrarian with a fixed text, namely 'Farm Supply Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "agrarian"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=alcohol with a fixed text, namely 'Liquor Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "alcohol"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=anime with a fixed text, namely 'Anime / Manga Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "anime"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=antiques with a fixed text, namely 'Antiques Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "antiques"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=appliance with a fixed text, namely 'Appliance Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "appliance"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=art with a fixed text, namely 'Art Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "art"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=baby_goods with a fixed text, namely 'Baby Goods Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "baby_goods"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bag with a fixed text, namely 'Bag/Luggage Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "bag"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bakery with a fixed text, namely 'Bakery' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "bakery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bathroom_furnishing with a fixed text, namely 'Bathroom Furnishing Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "bathroom_furnishing"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=beauty with a fixed text, namely 'Beauty Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "beauty"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bed with a fixed text, namely 'Bedding/Mattress Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "bed"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=beverages with a fixed text, namely 'Beverage Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "beverages"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bicycle with a fixed text, namely 'Bicycle Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "bicycle"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=boat with a fixed text, namely 'Boat Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "boat"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bookmaker with a fixed text, namely 'Bookmaker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "bookmaker"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=books with a fixed text, namely 'Book Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "books"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=brewing_supplies with a fixed text, namely 'Brewing Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "brewing_supplies"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=butcher with a fixed text, namely 'Butcher' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "butcher"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=camera with a fixed text, namely 'Camera Equipment Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "camera"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=candles with a fixed text, namely 'Candle Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "candles"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=cannabis with a fixed text, namely 'Cannabis Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "cannabis"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=car with a fixed text, namely 'Car Dealership' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "car"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=car_parts with a fixed text, namely 'Car Parts Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "car_parts"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=car_repair with a fixed text, namely 'Car Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "car_repair"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=caravan with a fixed text, namely 'RV Dealership' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "caravan"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=carpet with a fixed text, namely 'Carpet Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "carpet"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=catalogue with a fixed text, namely 'Catalog Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "catalogue"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=charity with a fixed text, namely 'Charity Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "charity"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=cheese with a fixed text, namely 'Cheese Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "cheese"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=chemist with a fixed text, namely 'Drugstore' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "chemist"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=chocolate with a fixed text, namely 'Chocolate Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "chocolate"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=clothes with a fixed text, namely 'Clothing Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "clothes"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=coffee with a fixed text, namely 'Coffee Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "coffee"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=collector with a fixed text, namely 'Collectibles Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "collector"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=computer with a fixed text, namely 'Computer Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "computer"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=confectionery with a fixed text, namely 'Candy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "confectionery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=convenience with a fixed text, namely 'Convenience Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "convenience"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=copyshop with a fixed text, namely 'Copy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "copyshop"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=cosmetics with a fixed text, namely 'Cosmetics Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "cosmetics"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=country_store with a fixed text, namely 'Country Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "country_store"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=craft with a fixed text, namely 'Arts & Crafts Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "craft"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=curtain with a fixed text, namely 'Curtain Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "curtain"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=dairy with a fixed text, namely 'Dairy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "dairy"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=deli with a fixed text, namely 'Deli' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "deli"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=department_store with a fixed text, namely 'Department Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "department_store"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=doityourself with a fixed text, namely 'DIY Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "doityourself"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=doors with a fixed text, namely 'Door Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "doors"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=dry_cleaning with a fixed text, namely 'Dry Cleaner' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "dry_cleaning"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=e-cigarette with a fixed text, namely 'E-Cigarette Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "e-cigarette"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=electrical with a fixed text, namely 'Electrical Equipment Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "electrical"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=electronics with a fixed text, namely 'Electronics Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "electronics"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=erotic with a fixed text, namely 'Erotic Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "erotic"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fabric with a fixed text, namely 'Fabric Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "fabric"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=farm with a fixed text, namely 'Produce Stand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "farm"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fashion_accessories with a fixed text, namely 'Fashion Accessories Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "fashion_accessories"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fireplace with a fixed text, namely 'Fireplace Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "fireplace"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fishing with a fixed text, namely 'Fishing Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "fishing"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=flooring with a fixed text, namely 'Flooring Supply Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "flooring"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=florist with a fixed text, namely 'Florist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "florist"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=frame with a fixed text, namely 'Framing Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "frame"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=frozen_food with a fixed text, namely 'Frozen Food Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "frozen_food"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fuel with a fixed text, namely 'Fuel Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "fuel"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=funeral_directors with a fixed text, namely 'Funeral Home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "funeral_directors"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=furniture with a fixed text, namely 'Furniture Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "furniture"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=games with a fixed text, namely 'Tabletop Game Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "games"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=garden_centre with a fixed text, namely 'Garden Center' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "garden_centre"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=gas with a fixed text, namely 'Bottled Gas Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "gas"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=general with a fixed text, namely 'General Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "general"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=gift with a fixed text, namely 'Gift Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "gift"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=greengrocer with a fixed text, namely 'Greengrocer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "greengrocer"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hairdresser with a fixed text, namely 'Hairdresser' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "hairdresser"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hairdresser_supply with a fixed text, namely 'Hairdresser Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "hairdresser_supply"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hardware with a fixed text, namely 'Hardware Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "hardware"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=health_food with a fixed text, namely 'Health Food Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "health_food"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hearing_aids with a fixed text, namely 'Hearing Aids Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "hearing_aids"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=herbalist with a fixed text, namely 'Herbalist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "herbalist"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hifi with a fixed text, namely 'Hifi Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "hifi"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hobby with a fixed text, namely 'Hobby Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "hobby"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=household_linen with a fixed text, namely 'Household Linen Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "household_linen"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=houseware with a fixed text, namely 'Houseware Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "houseware"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hunting with a fixed text, namely 'Hunting Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "hunting"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=interior_decoration with a fixed text, namely 'Interior Decoration Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "interior_decoration"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=jewelry with a fixed text, namely 'Jewelry Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "jewelry"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=kiosk with a fixed text, namely 'Kiosk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "kiosk"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=kitchen with a fixed text, namely 'Kitchen Design Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "kitchen"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=laundry with a fixed text, namely 'Laundry' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "laundry"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=leather with a fixed text, namely 'Leather Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "leather"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=lighting with a fixed text, namely 'Lighting Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "lighting"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=locksmith with a fixed text, namely 'Locksmith' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "locksmith"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=lottery with a fixed text, namely 'Lottery Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "lottery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=mall with a fixed text, namely 'Mall' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "mall"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=massage with a fixed text, namely 'Massage Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "massage"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=medical_supply with a fixed text, namely 'Medical Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "medical_supply"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=military_surplus with a fixed text, namely 'Military Surplus Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "military_surplus"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=mobile_phone with a fixed text, namely 'Mobile Phone Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "mobile_phone"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=model with a fixed text, namely 'Model Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "model"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=money_lender with a fixed text, namely 'Money Lender' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "money_lender"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=motorcycle with a fixed text, namely 'Motorcycle Dealership' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "motorcycle"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=motorcycle_repair with a fixed text, namely 'Motorcycle Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "motorcycle_repair"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=music with a fixed text, namely 'Music Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "music"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=musical_instrument with a fixed text, namely 'Musical Instrument Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "musical_instrument"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=newsagent with a fixed text, namely 'Newspaper/Magazine Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "newsagent"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=nutrition_supplements with a fixed text, namely 'Nutrition Supplements Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "nutrition_supplements"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=optician with a fixed text, namely 'Optician' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "optician"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=outdoor with a fixed text, namely 'Outdoors Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "outdoor"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=outpost with a fixed text, namely 'Online Retailer Outpost' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "outpost"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=paint with a fixed text, namely 'Paint Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "paint"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=party with a fixed text, namely 'Party Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "party"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pastry with a fixed text, namely 'Pastry Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "pastry"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pawnbroker with a fixed text, namely 'Pawn Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "pawnbroker"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=perfumery with a fixed text, namely 'Perfume Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "perfumery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pet with a fixed text, namely 'Pet Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "pet"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pet_grooming with a fixed text, namely 'Pet Grooming Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "pet_grooming"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=photo with a fixed text, namely 'Photography Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "photo"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pottery with a fixed text, namely 'Pottery Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "pottery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=printer_ink with a fixed text, namely 'Printer Ink Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "printer_ink"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=psychic with a fixed text, namely 'Psychic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "psychic"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pyrotechnics with a fixed text, namely 'Fireworks Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "pyrotechnics"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=radiotechnics with a fixed text, namely 'Radio/Electronic Component Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "radiotechnics"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=religion with a fixed text, namely 'Religious Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "religion"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=rental with a fixed text, namely 'Rental Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "rental"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=repair with a fixed text, namely 'Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "repair"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=scuba_diving with a fixed text, namely 'Scuba Diving Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "scuba_diving"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=seafood with a fixed text, namely 'Seafood Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "seafood"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=second_hand with a fixed text, namely 'Consignment/Thrift Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "second_hand"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=sewing with a fixed text, namely 'Sewing Supply Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "sewing"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=shoe_repair with a fixed text, namely 'Shoe Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "shoe_repair"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=shoes with a fixed text, namely 'Shoe Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "shoes"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=spices with a fixed text, namely 'Spice Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "spices"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=sports with a fixed text, namely 'Sporting Goods Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "sports"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=stationery with a fixed text, namely 'Stationery Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "stationery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=storage_rental with a fixed text, namely 'Storage Rental' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "storage_rental"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=supermarket with a fixed text, namely 'Supermarket' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "supermarket"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=swimming_pool with a fixed text, namely 'Pool Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "swimming_pool"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tailor with a fixed text, namely 'Tailor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "tailor"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tattoo with a fixed text, namely 'Tattoo Parlor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "tattoo"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tea with a fixed text, namely 'Tea Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "tea"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=telecommunication with a fixed text, namely 'Telecom Retail Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "telecommunication"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=ticket with a fixed text, namely 'Ticket Seller' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "ticket"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tiles with a fixed text, namely 'Tile Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "tiles"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tobacco with a fixed text, namely 'Tobacco Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "tobacco"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tool_hire with a fixed text, namely 'Tool Rental' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "tool_hire"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=toys with a fixed text, namely 'Toy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "toys"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=trade with a fixed text, namely 'Trade Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "trade"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=travel_agency with a fixed text, namely 'Travel Agency' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "travel_agency"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=trophy with a fixed text, namely 'Trophy Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "trophy"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tyres with a fixed text, namely 'Tire Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "tyres"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=vacuum_cleaner with a fixed text, namely 'Vacuum Cleaner Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "vacuum_cleaner"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=variety_store with a fixed text, namely 'Variety Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "variety_store"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=video with a fixed text, namely 'Video Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "video"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=video_games with a fixed text, namely 'Video Game Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "video_games"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=watches with a fixed text, namely 'Watches Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "watches"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=water with a fixed text, namely 'Drinking Water Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "water"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=water_sports with a fixed text, namely 'Watersport/Swim Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "water_sports"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=weapons with a fixed text, namely 'Weapon Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "weapons"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=wholesale with a fixed text, namely 'Wholesale Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "wholesale"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=wigs with a fixed text, namely 'Wig Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "wigs"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=window_blind with a fixed text, namely 'Window Blind Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "window_blind"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Shop Map')",
"value": "wine"
},
{
"key": "opening_hours",
"description": "Layer 'Shop' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Open Shop Map')"

View file

@ -509,6 +509,810 @@
"key": "name",
"description": "Layer 'Shop' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Sports')"
},
{
"key": "shop",
"description": "Layer 'Shop' shows and asks freeform values for key 'shop' (in the MapComplete.osm.be theme 'Sports')"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=agrarian with a fixed text, namely 'Farm Supply Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "agrarian"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=alcohol with a fixed text, namely 'Liquor Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "alcohol"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=anime with a fixed text, namely 'Anime / Manga Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "anime"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=antiques with a fixed text, namely 'Antiques Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "antiques"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=appliance with a fixed text, namely 'Appliance Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "appliance"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=art with a fixed text, namely 'Art Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "art"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=baby_goods with a fixed text, namely 'Baby Goods Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "baby_goods"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bag with a fixed text, namely 'Bag/Luggage Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "bag"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bakery with a fixed text, namely 'Bakery' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "bakery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bathroom_furnishing with a fixed text, namely 'Bathroom Furnishing Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "bathroom_furnishing"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=beauty with a fixed text, namely 'Beauty Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "beauty"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bed with a fixed text, namely 'Bedding/Mattress Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "bed"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=beverages with a fixed text, namely 'Beverage Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "beverages"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bicycle with a fixed text, namely 'Bicycle Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "bicycle"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=boat with a fixed text, namely 'Boat Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "boat"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=bookmaker with a fixed text, namely 'Bookmaker' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "bookmaker"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=books with a fixed text, namely 'Book Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "books"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=brewing_supplies with a fixed text, namely 'Brewing Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "brewing_supplies"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=butcher with a fixed text, namely 'Butcher' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "butcher"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=camera with a fixed text, namely 'Camera Equipment Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "camera"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=candles with a fixed text, namely 'Candle Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "candles"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=cannabis with a fixed text, namely 'Cannabis Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "cannabis"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=car with a fixed text, namely 'Car Dealership' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "car"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=car_parts with a fixed text, namely 'Car Parts Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "car_parts"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=car_repair with a fixed text, namely 'Car Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "car_repair"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=caravan with a fixed text, namely 'RV Dealership' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "caravan"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=carpet with a fixed text, namely 'Carpet Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "carpet"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=catalogue with a fixed text, namely 'Catalog Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "catalogue"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=charity with a fixed text, namely 'Charity Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "charity"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=cheese with a fixed text, namely 'Cheese Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "cheese"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=chemist with a fixed text, namely 'Drugstore' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "chemist"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=chocolate with a fixed text, namely 'Chocolate Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "chocolate"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=clothes with a fixed text, namely 'Clothing Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "clothes"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=coffee with a fixed text, namely 'Coffee Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "coffee"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=collector with a fixed text, namely 'Collectibles Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "collector"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=computer with a fixed text, namely 'Computer Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "computer"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=confectionery with a fixed text, namely 'Candy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "confectionery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=convenience with a fixed text, namely 'Convenience Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "convenience"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=copyshop with a fixed text, namely 'Copy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "copyshop"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=cosmetics with a fixed text, namely 'Cosmetics Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "cosmetics"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=country_store with a fixed text, namely 'Country Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "country_store"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=craft with a fixed text, namely 'Arts & Crafts Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "craft"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=curtain with a fixed text, namely 'Curtain Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "curtain"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=dairy with a fixed text, namely 'Dairy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "dairy"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=deli with a fixed text, namely 'Deli' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "deli"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=department_store with a fixed text, namely 'Department Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "department_store"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=doityourself with a fixed text, namely 'DIY Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "doityourself"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=doors with a fixed text, namely 'Door Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "doors"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=dry_cleaning with a fixed text, namely 'Dry Cleaner' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "dry_cleaning"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=e-cigarette with a fixed text, namely 'E-Cigarette Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "e-cigarette"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=electrical with a fixed text, namely 'Electrical Equipment Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "electrical"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=electronics with a fixed text, namely 'Electronics Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "electronics"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=erotic with a fixed text, namely 'Erotic Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "erotic"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fabric with a fixed text, namely 'Fabric Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "fabric"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=farm with a fixed text, namely 'Produce Stand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "farm"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fashion_accessories with a fixed text, namely 'Fashion Accessories Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "fashion_accessories"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fireplace with a fixed text, namely 'Fireplace Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "fireplace"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fishing with a fixed text, namely 'Fishing Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "fishing"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=flooring with a fixed text, namely 'Flooring Supply Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "flooring"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=florist with a fixed text, namely 'Florist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "florist"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=frame with a fixed text, namely 'Framing Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "frame"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=frozen_food with a fixed text, namely 'Frozen Food Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "frozen_food"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=fuel with a fixed text, namely 'Fuel Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "fuel"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=funeral_directors with a fixed text, namely 'Funeral Home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "funeral_directors"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=furniture with a fixed text, namely 'Furniture Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "furniture"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=games with a fixed text, namely 'Tabletop Game Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "games"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=garden_centre with a fixed text, namely 'Garden Center' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "garden_centre"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=gas with a fixed text, namely 'Bottled Gas Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "gas"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=general with a fixed text, namely 'General Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "general"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=gift with a fixed text, namely 'Gift Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "gift"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=greengrocer with a fixed text, namely 'Greengrocer' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "greengrocer"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hairdresser with a fixed text, namely 'Hairdresser' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "hairdresser"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hairdresser_supply with a fixed text, namely 'Hairdresser Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "hairdresser_supply"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hardware with a fixed text, namely 'Hardware Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "hardware"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=health_food with a fixed text, namely 'Health Food Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "health_food"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hearing_aids with a fixed text, namely 'Hearing Aids Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "hearing_aids"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=herbalist with a fixed text, namely 'Herbalist' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "herbalist"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hifi with a fixed text, namely 'Hifi Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "hifi"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hobby with a fixed text, namely 'Hobby Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "hobby"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=household_linen with a fixed text, namely 'Household Linen Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "household_linen"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=houseware with a fixed text, namely 'Houseware Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "houseware"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=hunting with a fixed text, namely 'Hunting Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "hunting"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=interior_decoration with a fixed text, namely 'Interior Decoration Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "interior_decoration"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=jewelry with a fixed text, namely 'Jewelry Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "jewelry"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=kiosk with a fixed text, namely 'Kiosk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "kiosk"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=kitchen with a fixed text, namely 'Kitchen Design Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "kitchen"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=laundry with a fixed text, namely 'Laundry' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "laundry"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=leather with a fixed text, namely 'Leather Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "leather"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=lighting with a fixed text, namely 'Lighting Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "lighting"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=locksmith with a fixed text, namely 'Locksmith' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "locksmith"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=lottery with a fixed text, namely 'Lottery Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "lottery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=mall with a fixed text, namely 'Mall' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "mall"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=massage with a fixed text, namely 'Massage Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "massage"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=medical_supply with a fixed text, namely 'Medical Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "medical_supply"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=military_surplus with a fixed text, namely 'Military Surplus Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "military_surplus"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=mobile_phone with a fixed text, namely 'Mobile Phone Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "mobile_phone"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=model with a fixed text, namely 'Model Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "model"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=money_lender with a fixed text, namely 'Money Lender' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "money_lender"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=motorcycle with a fixed text, namely 'Motorcycle Dealership' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "motorcycle"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=motorcycle_repair with a fixed text, namely 'Motorcycle Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "motorcycle_repair"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=music with a fixed text, namely 'Music Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "music"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=musical_instrument with a fixed text, namely 'Musical Instrument Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "musical_instrument"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=newsagent with a fixed text, namely 'Newspaper/Magazine Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "newsagent"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=nutrition_supplements with a fixed text, namely 'Nutrition Supplements Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "nutrition_supplements"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=optician with a fixed text, namely 'Optician' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "optician"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=outdoor with a fixed text, namely 'Outdoors Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "outdoor"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=outpost with a fixed text, namely 'Online Retailer Outpost' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "outpost"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=paint with a fixed text, namely 'Paint Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "paint"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=party with a fixed text, namely 'Party Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "party"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pastry with a fixed text, namely 'Pastry Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "pastry"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pawnbroker with a fixed text, namely 'Pawn Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "pawnbroker"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=perfumery with a fixed text, namely 'Perfume Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "perfumery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pet with a fixed text, namely 'Pet Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "pet"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pet_grooming with a fixed text, namely 'Pet Grooming Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "pet_grooming"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=photo with a fixed text, namely 'Photography Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "photo"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pottery with a fixed text, namely 'Pottery Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "pottery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=printer_ink with a fixed text, namely 'Printer Ink Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "printer_ink"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=psychic with a fixed text, namely 'Psychic' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "psychic"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=pyrotechnics with a fixed text, namely 'Fireworks Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "pyrotechnics"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=radiotechnics with a fixed text, namely 'Radio/Electronic Component Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "radiotechnics"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=religion with a fixed text, namely 'Religious Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "religion"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=rental with a fixed text, namely 'Rental Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "rental"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=repair with a fixed text, namely 'Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "repair"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=scuba_diving with a fixed text, namely 'Scuba Diving Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "scuba_diving"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=seafood with a fixed text, namely 'Seafood Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "seafood"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=second_hand with a fixed text, namely 'Consignment/Thrift Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "second_hand"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=sewing with a fixed text, namely 'Sewing Supply Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "sewing"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=shoe_repair with a fixed text, namely 'Shoe Repair Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "shoe_repair"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=shoes with a fixed text, namely 'Shoe Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "shoes"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=spices with a fixed text, namely 'Spice Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "spices"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=sports with a fixed text, namely 'Sporting Goods Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "sports"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=stationery with a fixed text, namely 'Stationery Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "stationery"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=storage_rental with a fixed text, namely 'Storage Rental' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "storage_rental"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=supermarket with a fixed text, namely 'Supermarket' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "supermarket"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=swimming_pool with a fixed text, namely 'Pool Supply Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "swimming_pool"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tailor with a fixed text, namely 'Tailor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "tailor"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tattoo with a fixed text, namely 'Tattoo Parlor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "tattoo"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tea with a fixed text, namely 'Tea Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "tea"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=telecommunication with a fixed text, namely 'Telecom Retail Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "telecommunication"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=ticket with a fixed text, namely 'Ticket Seller' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "ticket"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tiles with a fixed text, namely 'Tile Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "tiles"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tobacco with a fixed text, namely 'Tobacco Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "tobacco"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tool_hire with a fixed text, namely 'Tool Rental' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "tool_hire"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=toys with a fixed text, namely 'Toy Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "toys"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=trade with a fixed text, namely 'Trade Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "trade"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=travel_agency with a fixed text, namely 'Travel Agency' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "travel_agency"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=trophy with a fixed text, namely 'Trophy Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "trophy"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=tyres with a fixed text, namely 'Tire Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "tyres"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=vacuum_cleaner with a fixed text, namely 'Vacuum Cleaner Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "vacuum_cleaner"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=variety_store with a fixed text, namely 'Variety Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "variety_store"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=video with a fixed text, namely 'Video Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "video"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=video_games with a fixed text, namely 'Video Game Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "video_games"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=watches with a fixed text, namely 'Watches Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "watches"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=water with a fixed text, namely 'Drinking Water Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "water"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=water_sports with a fixed text, namely 'Watersport/Swim Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "water_sports"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=weapons with a fixed text, namely 'Weapon Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "weapons"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=wholesale with a fixed text, namely 'Wholesale Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "wholesale"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=wigs with a fixed text, namely 'Wig Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "wigs"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=window_blind with a fixed text, namely 'Window Blind Store' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "window_blind"
},
{
"key": "shop",
"description": "Layer 'Shop' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "wine"
},
{
"key": "opening_hours",
"description": "Layer 'Shop' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Sports')"

View file

@ -335,6 +335,80 @@
"key": "toilets:door:width",
"description": "Layer 'Toilets at other amenities' shows and asks freeform values for key 'toilets:door:width' (in the MapComplete.osm.be theme 'Open Toilet Map')"
},
{
"key": "toilets:position",
"description": "Layer 'Toilets at other amenities' shows toilets:position=seated with a fixed text, namely 'There are only seated toilets' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "seated"
},
{
"key": "toilets:position",
"description": "Layer 'Toilets at other amenities' shows toilets:position=urinal with a fixed text, namely 'There are only urinals here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "urinal"
},
{
"key": "toilets:position",
"description": "Layer 'Toilets at other amenities' shows toilets:position=squat with a fixed text, namely 'There are only squat toilets here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "squat"
},
{
"key": "toilets:position",
"description": "Layer 'Toilets at other amenities' shows toilets:position=seated;urinal with a fixed text, namely 'Both seated toilets and urinals are available here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "seated;urinal"
},
{
"key": "changing_table",
"description": "Layer 'Toilets at other amenities' shows changing_table=yes with a fixed text, namely 'A changing table is available' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "yes"
},
{
"key": "changing_table",
"description": "Layer 'Toilets at other amenities' shows changing_table=no with a fixed text, namely 'No changing table is available' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "no"
},
{
"key": "changing_table:location",
"description": "Layer 'Toilets at other amenities' shows and asks freeform values for key 'changing_table:location' (in the MapComplete.osm.be theme 'Open Toilet Map')"
},
{
"key": "changing_table:location",
"description": "Layer 'Toilets at other amenities' shows changing_table:location=female_toilet with a fixed text, namely 'The changing table is in the toilet for women. ' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "female_toilet"
},
{
"key": "changing_table:location",
"description": "Layer 'Toilets at other amenities' shows changing_table:location=male_toilet with a fixed text, namely 'The changing table is in the toilet for men. ' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "male_toilet"
},
{
"key": "changing_table:location",
"description": "Layer 'Toilets at other amenities' shows changing_table:location=wheelchair_toilet with a fixed text, namely 'The changing table is in the toilet for wheelchair users. ' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "wheelchair_toilet"
},
{
"key": "changing_table:location",
"description": "Layer 'Toilets at other amenities' shows changing_table:location=dedicated_room with a fixed text, namely 'The changing table is in a dedicated room. ' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "dedicated_room"
},
{
"key": "toilets:handwashing",
"description": "Layer 'Toilets at other amenities' shows toilets:handwashing=yes with a fixed text, namely 'This toilets have a sink to wash your hands' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "yes"
},
{
"key": "toilets:handwashing",
"description": "Layer 'Toilets at other amenities' shows toilets:handwashing=no with a fixed text, namely 'This toilets <b>don't</b> have a sink to wash your hands' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "no"
},
{
"key": "toilets:paper_supplied",
"description": "Layer 'Toilets at other amenities' shows toilets:paper_supplied=yes with a fixed text, namely 'This toilet is equipped with toilet paper' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "yes"
},
{
"key": "toilets:paper_supplied",
"description": "Layer 'Toilets at other amenities' shows toilets:paper_supplied=no with a fixed text, namely 'You have to bring your own toilet paper to this toilet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Toilet Map')",
"value": "no"
},
{
"key": "toilets:description",
"description": "Layer 'Toilets at other amenities' shows and asks freeform values for key 'toilets:description' (in the MapComplete.osm.be theme 'Open Toilet Map')"

View file

@ -4,7 +4,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/personal personal]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:es|en}}, {{#language:ca|en}}, {{#language:gl|en}}, {{#language:fr|en}}, {{#language:de|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:ru|en}}, {{#language:it|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:es|en}}, {{#language:ca|en}}, {{#language:gl|en}}, {{#language:fr|en}}, {{#language:de|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:ru|en}}, {{#language:it|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: Create a personal theme based on all the available layers of all themes
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -13,7 +13,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/cyclofix cyclofix]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:fr|en}}, {{#language:gl|en}}, {{#language:de|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:it|en}}, {{#language:hu|en}}, {{#language:es|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:fr|en}}, {{#language:gl|en}}, {{#language:de|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:it|en}}, {{#language:hu|en}}, {{#language:es|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: The goal of this map is to present cyclists with an easy-to-use solution to find the appropriate infrastructure for their needs
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -22,7 +22,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/waste waste]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:it|en}}, {{#language:ca|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:it|en}}, {{#language:ca|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: Map showing waste baskets and recycling facilities
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -40,7 +40,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/food food]
|region= Worldwide
|lang= {{#language:nl|en}}, {{#language:en|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:nb_NO|en}}, {{#language:fr|en}}, {{#language:da|en}}
|lang= {{#language:nl|en}}, {{#language:en|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:nb_NO|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: Restaurants and fast food
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -49,7 +49,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/cafes_and_pubs cafes_and_pubs]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:ca|en}}, {{#language:es|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:nb_NO|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:ca|en}}, {{#language:es|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:nb_NO|en}}, {{#language:pa_PK|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: Pubs and bars
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -76,7 +76,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/toilets toilets]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:nl|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:pl|en}}, {{#language:it|en}}, {{#language:hu|en}}, {{#language:nb_NO|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:nl|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:pl|en}}, {{#language:it|en}}, {{#language:hu|en}}, {{#language:nb_NO|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: A map of public toilets
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -85,7 +85,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/aed aed]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:ca|en}}, {{#language:es|en}}, {{#language:fr|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:id|en}}, {{#language:it|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:sv|en}}, {{#language:pl|en}}, {{#language:pt_BR|en}}, {{#language:nb_NO|en}}, {{#language:hu|en}}, {{#language:sl|en}}, {{#language:zh_Hans|en}}, {{#language:da|en}}, {{#language:fil|en}}, {{#language:cs|en}}
|lang= {{#language:en|en}}, {{#language:ca|en}}, {{#language:es|en}}, {{#language:fr|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:id|en}}, {{#language:it|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:sv|en}}, {{#language:pl|en}}, {{#language:pt_BR|en}}, {{#language:nb_NO|en}}, {{#language:hu|en}}, {{#language:sl|en}}, {{#language:zh_Hans|en}}, {{#language:da|en}}, {{#language:fil|en}}, {{#language:cs|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: On this map, one can find and mark nearby defibrillators
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -94,7 +94,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/bookcases bookcases]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:it|en}}, {{#language:hu|en}}, {{#language:es|en}}, {{#language:da|en}}, {{#language:ca|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:it|en}}, {{#language:hu|en}}, {{#language:es|en}}, {{#language:da|en}}, {{#language:ca|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: A public bookcase is a small streetside cabinet, box, old phone booth or some other objects where books are stored
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -103,7 +103,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/artwork artwork]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:fr|en}}, {{#language:de|en}}, {{#language:id|en}}, {{#language:it|en}}, {{#language:ru|en}}, {{#language:es|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:nb_NO|en}}, {{#language:hu|en}}, {{#language:pl|en}}, {{#language:ca|en}}, {{#language:zh_Hans|en}}, {{#language:fil|en}}, {{#language:da|en}}, {{#language:cs|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:fr|en}}, {{#language:de|en}}, {{#language:id|en}}, {{#language:it|en}}, {{#language:ru|en}}, {{#language:es|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:nb_NO|en}}, {{#language:hu|en}}, {{#language:pl|en}}, {{#language:ca|en}}, {{#language:zh_Hans|en}}, {{#language:fil|en}}, {{#language:da|en}}, {{#language:cs|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: An open map of statues, busts, graffitis and other artwork all over the world
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -130,7 +130,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/bicyclelib bicyclelib]
|region= Worldwide
|lang= {{#language:nl|en}}, {{#language:en|en}}, {{#language:it|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:fr|en}}, {{#language:zh_Hant|en}}, {{#language:de|en}}, {{#language:hu|en}}, {{#language:nb_NO|en}}, {{#language:ca|en}}, {{#language:da|en}}
|lang= {{#language:nl|en}}, {{#language:en|en}}, {{#language:it|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:fr|en}}, {{#language:zh_Hant|en}}, {{#language:de|en}}, {{#language:hu|en}}, {{#language:nb_NO|en}}, {{#language:ca|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: A bicycle library is a place where bicycles can be lent, often for a small yearly fee
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -148,7 +148,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/blind_osm blind_osm]
|region= Worldwide
|lang= {{#language:en|en}}
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: Help to map features relevant for the blind
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -175,7 +175,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/climbing climbing]
|region= Worldwide
|lang= {{#language:nl|en}}, {{#language:de|en}}, {{#language:en|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:fr|en}}, {{#language:it|en}}, {{#language:hu|en}}, {{#language:nb_NO|en}}, {{#language:da|en}}
|lang= {{#language:nl|en}}, {{#language:de|en}}, {{#language:en|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:fr|en}}, {{#language:it|en}}, {{#language:hu|en}}, {{#language:nb_NO|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: On this map you will find various climbing opportunities such as climbing gyms, bouldering halls and rocks in nature
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -202,7 +202,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/drinking_water drinking_water]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:fr|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:it|en}}, {{#language:ru|en}}, {{#language:de|en}}, {{#language:nb_NO|en}}, {{#language:hu|en}}, {{#language:es|en}}, {{#language:ca|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:fr|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:it|en}}, {{#language:ru|en}}, {{#language:de|en}}, {{#language:nb_NO|en}}, {{#language:hu|en}}, {{#language:es|en}}, {{#language:ca|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: On this map, publicly accessible drinking water spots are shown and can be easily added
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -211,7 +211,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/education education]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:ca|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:ca|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: On this map, you'll find information about all types of schools and eduction and can easily add more information
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -229,7 +229,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/fritures fritures]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: On this map, you'll find your favourite fries shop!
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -238,7 +238,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/ghostbikes ghostbikes]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:fr|en}}, {{#language:it|en}}, {{#language:hu|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:fr|en}}, {{#language:it|en}}, {{#language:hu|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: A <b>ghost bike</b> is a memorial for a cyclist who died in a traffic accident, in the form of a white bicycle placed permanently near the accident location
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -256,7 +256,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/healthcare healthcare]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:ca|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:nl|en}}
|lang= {{#language:en|en}}, {{#language:ca|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:nl|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: On this map, various healthcare related items are shown
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -265,7 +265,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/hotels hotels]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:da|en}}, {{#language:nb_NO|en}}, {{#language:nl|en}}
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:da|en}}, {{#language:nb_NO|en}}, {{#language:nl|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: On this map, you'll find hotels in your area
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -274,7 +274,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/indoors indoors]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: On this map, publicly accessible indoor places are shown
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -283,7 +283,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/kerbs_and_crossings kerbs_and_crossings]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: A map showing kerbs and crossings
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -319,7 +319,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/notes notes]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:hu|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:fr|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:hu|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: A note is a pin on the map with some text to indicate something wrong
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -337,7 +337,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/onwheels onwheels]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:nl|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:nl|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: On this map, publicly weelchair accessible places are shown and can be easily added
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -346,7 +346,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/openwindpowermap openwindpowermap]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:fr|en}}, {{#language:de|en}}, {{#language:it|en}}, {{#language:zh_Hant|en}}, {{#language:hu|en}}, {{#language:es|en}}, {{#language:nl|en}}, {{#language:da|en}}, {{#language:nb_NO|en}}
|lang= {{#language:en|en}}, {{#language:fr|en}}, {{#language:de|en}}, {{#language:it|en}}, {{#language:zh_Hant|en}}, {{#language:hu|en}}, {{#language:es|en}}, {{#language:nl|en}}, {{#language:da|en}}, {{#language:nb_NO|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: A map for showing and editing wind turbines
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -373,7 +373,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/pets pets]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:da|en}}, {{#language:de|en}}, {{#language:nl|en}}, {{#language:fr|en}}
|lang= {{#language:en|en}}, {{#language:da|en}}, {{#language:de|en}}, {{#language:nl|en}}, {{#language:fr|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: On this map, you'll find various interesting places for you pets: veterinarians, dog parks, pet shops, dog-friendly restaurants,
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -391,7 +391,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/rainbow_crossings rainbow_crossings]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:nl|en}}
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:nl|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: On this map, rainbow-painted pedestrian crossings are shown and can be easily added
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -418,7 +418,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/sports sports]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:_context|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: Map showing sport facilities.
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -427,7 +427,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/street_lighting street_lighting]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:zh_Hant|en}}, {{#language:hu|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:fr|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:zh_Hant|en}}, {{#language:hu|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: On this map you can find everything about street lighting
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@ -445,7 +445,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/transit transit]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: Plan your trip with the help of the public transport system
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png

View file

@ -1,10 +1,18 @@
import {BBox} from "./BBox"
import { BBox } from "./BBox"
import LayerConfig from "../Models/ThemeConfig/LayerConfig"
import * as turf from "@turf/turf"
import {AllGeoJSON, booleanWithin, Coord, Feature, Geometry, MultiPolygon, Polygon,} from "@turf/turf"
import {LineString, Point} from "geojson"
import {
AllGeoJSON,
booleanWithin,
Coord,
Feature,
Geometry,
MultiPolygon,
Polygon,
} from "@turf/turf"
import { LineString, Point } from "geojson"
import togpx from "togpx"
import Constants from "../Models/Constants";
import Constants from "../Models/Constants"
export class GeoOperations {
private static readonly _earthRadius = 6378137
@ -383,14 +391,15 @@ export class GeoOperations {
.features.map((p) => <[number, number]>p.geometry.coordinates)
}
public static AsGpx(feature: Feature, options?: {layer?: LayerConfig, gpxMetadata?: any }) : string{
public static AsGpx(
feature: Feature,
options?: { layer?: LayerConfig; gpxMetadata?: any }
): string {
const metadata = options?.gpxMetadata ?? {}
metadata["time"] = metadata["time"] ?? new Date().toISOString()
const tags = feature.properties
if (options?.layer !== undefined) {
metadata["name"] = options?.layer.title?.GetRenderValue(tags)?.Subs(tags)?.txt
metadata["desc"] = "Generated with MapComplete layer " + options?.layer.id
if (tags._backend?.contains("openstreetmap")) {

View file

@ -27,10 +27,10 @@ export default class UserDetails {
export class OsmConnection {
public static readonly oauth_configs = {
"osm": {
oauth_consumer_key: 'hivV7ec2o49Two8g9h8Is1VIiVOgxQ1iYexCbvem',
oauth_secret: 'wDBRTCem0vxD7txrg1y6p5r8nvmz8tAhET7zDASI',
url: "https://www.openstreetmap.org"
osm: {
oauth_consumer_key: "hivV7ec2o49Two8g9h8Is1VIiVOgxQ1iYexCbvem",
oauth_secret: "wDBRTCem0vxD7txrg1y6p5r8nvmz8tAhET7zDASI",
url: "https://www.openstreetmap.org",
// OAUTH 1.0 application
// https://www.openstreetmap.org/user/Pieter%20Vander%20Vennet/oauth_clients/7404
},
@ -335,43 +335,52 @@ export class OsmConnection {
})
}
public async uploadGpxTrack(gpx: string, options: {
description: string,
visibility: "private" | "public" | "trackable" | "identifiable",
filename?: string
/**
* Some words to give some properties;
*
* Note: these are called 'tags' on the wiki, but I opted to name them 'labels' instead as they aren't "key=value" tags, but just words.
*/
labels: string[]
}): Promise<{ id: number }> {
public async uploadGpxTrack(
gpx: string,
options: {
description: string
visibility: "private" | "public" | "trackable" | "identifiable"
filename?: string
/**
* Some words to give some properties;
*
* Note: these are called 'tags' on the wiki, but I opted to name them 'labels' instead as they aren't "key=value" tags, but just words.
*/
labels: string[]
}
): Promise<{ id: number }> {
if (this._dryRun.data) {
console.warn("Dryrun enabled - not actually uploading GPX ", gpx)
return new Promise<{ id: number }>((ok, error) => {
window.setTimeout(() => ok({id: Math.floor(Math.random() * 1000)}), Math.random() * 5000)
});
window.setTimeout(
() => ok({ id: Math.floor(Math.random() * 1000) }),
Math.random() * 5000
)
})
}
const contents = {
"file": gpx,
"description": options.description ?? "",
"tags": options.labels?.join(",") ?? "",
"visibility": options.visibility
file: gpx,
description: options.description ?? "",
tags: options.labels?.join(",") ?? "",
visibility: options.visibility,
}
const extras = {
"file": "; filename=\""+(options.filename ?? ("gpx_track_mapcomplete_"+(new Date().toISOString())))+"\"\r\nContent-Type: application/gpx+xml"
file:
'; filename="' +
(options.filename ?? "gpx_track_mapcomplete_" + new Date().toISOString()) +
'"\r\nContent-Type: application/gpx+xml',
}
const auth = this.auth;
const boundary ="987654"
const auth = this.auth
const boundary = "987654"
let body = ""
for (const key in contents) {
body += "--" + boundary + "\r\n"
body += "Content-Disposition: form-data; name=\"" + key + "\""
if(extras[key] !== undefined){
body += 'Content-Disposition: form-data; name="' + key + '"'
if (extras[key] !== undefined) {
body += extras[key]
}
body += "\r\n\r\n"
@ -379,34 +388,31 @@ export class OsmConnection {
}
body += "--" + boundary + "--\r\n"
return new Promise((ok, error) => {
auth.xhr({
method: 'POST',
path: `/api/0.6/gpx/create`,
options: {
header:
{
auth.xhr(
{
method: "POST",
path: `/api/0.6/gpx/create`,
options: {
header: {
"Content-Type": "multipart/form-data; boundary=" + boundary,
"Content-Length": body.length
}
"Content-Length": body.length,
},
},
content: body,
},
content: body
}, function (
err,
response: string) {
console.log("RESPONSE IS", response)
if (err !== null) {
error(err)
} else {
const parsed = JSON.parse(response)
console.log("Uploaded GPX track", parsed)
ok({id: parsed})
function (err, response: string) {
console.log("RESPONSE IS", response)
if (err !== null) {
error(err)
} else {
const parsed = JSON.parse(response)
console.log("Uploaded GPX track", parsed)
ok({ id: parsed })
}
}
})
)
})
}
public addCommentToNote(id: number | string, text: string): Promise<void> {

View file

@ -623,7 +623,9 @@ export class RewriteSpecial extends DesugaringStep<TagRenderingConfigJson> {
}
const param = special[arg.name]
if (param === undefined) {
errors.push(`At ${context}: Obligated parameter '${arg.name}' in special rendering of type ${vis.funcName} not found.\n${arg.doc}`)
errors.push(
`At ${context}: Obligated parameter '${arg.name}' in special rendering of type ${vis.funcName} not found.\n${arg.doc}`
)
}
}

View file

@ -1,19 +1,19 @@
import {DesugaringStep, Each, Fuse, On} from "./Conversion"
import {LayerConfigJson} from "../Json/LayerConfigJson"
import { DesugaringStep, Each, Fuse, On } from "./Conversion"
import { LayerConfigJson } from "../Json/LayerConfigJson"
import LayerConfig from "../LayerConfig"
import {Utils} from "../../../Utils"
import { Utils } from "../../../Utils"
import Constants from "../../Constants"
import {Translation} from "../../../UI/i18n/Translation"
import {LayoutConfigJson} from "../Json/LayoutConfigJson"
import { Translation } from "../../../UI/i18n/Translation"
import { LayoutConfigJson } from "../Json/LayoutConfigJson"
import LayoutConfig from "../LayoutConfig"
import {TagRenderingConfigJson} from "../Json/TagRenderingConfigJson"
import {TagUtils} from "../../../Logic/Tags/TagUtils"
import {ExtractImages} from "./FixImages"
import { TagRenderingConfigJson } from "../Json/TagRenderingConfigJson"
import { TagUtils } from "../../../Logic/Tags/TagUtils"
import { ExtractImages } from "./FixImages"
import ScriptUtils from "../../../scripts/ScriptUtils"
import {And} from "../../../Logic/Tags/And"
import { And } from "../../../Logic/Tags/And"
import Translations from "../../../UI/i18n/Translations"
import Svg from "../../../Svg"
import {QuestionableTagRenderingConfigJson} from "../Json/QuestionableTagRenderingConfigJson"
import { QuestionableTagRenderingConfigJson } from "../Json/QuestionableTagRenderingConfigJson"
import FilterConfigJson from "../Json/FilterConfigJson"
import DeleteConfig from "../DeleteConfig"
@ -619,20 +619,31 @@ export class DetectMappingsWithImages extends DesugaringStep<TagRenderingConfigJ
class MiscTagRenderingChecks extends DesugaringStep<TagRenderingConfigJson> {
constructor() {
super("Miscellanious checks on the tagrendering", ["special"], "MiscTagREnderingChecksRew");
super("Miscellanious checks on the tagrendering", ["special"], "MiscTagREnderingChecksRew")
}
convert(json: TagRenderingConfigJson, context: string): { result: TagRenderingConfigJson; errors?: string[]; warnings?: string[]; information?: string[] } {
const errors = []
if(json["special"] !== undefined){
errors.push("At "+context+": detected `special` on the top level. Did you mean `{\"render\":{ \"special\": ... }}`")
convert(
json: TagRenderingConfigJson,
context: string
): {
result: TagRenderingConfigJson
errors?: string[]
warnings?: string[]
information?: string[]
} {
const errors = []
if (json["special"] !== undefined) {
errors.push(
"At " +
context +
': detected `special` on the top level. Did you mean `{"render":{ "special": ... }}`'
)
}
return {
result: json,
errors
};
errors,
}
}
}
export class ValidateTagRenderings extends Fuse<TagRenderingConfigJson> {

View file

@ -2,7 +2,7 @@ import { SubstitutedTranslation } from "../../UI/SubstitutedTranslation"
import TagRenderingConfig from "./TagRenderingConfig"
import { ExtraFuncParams, ExtraFunctions } from "../../Logic/ExtraFunctions"
import LayerConfig from "./LayerConfig"
import {SpecialVisualization} from "../../UI/SpecialVisualization";
import { SpecialVisualization } from "../../UI/SpecialVisualization"
export default class DependencyCalculator {
public static GetTagRenderingDependencies(tr: TagRenderingConfig): string[] {

View file

@ -68,7 +68,7 @@ export default class FilterConfig {
for (const field of fields) {
for (let ln in question.translations) {
const txt = question.translations[ln]
if(ln.startsWith("_")){
if (ln.startsWith("_")) {
continue
}
if (txt.indexOf("{" + field.name + "}") < 0) {

View file

@ -239,7 +239,7 @@ export default class TagRenderingConfig {
throw `${context}: Detected a freeform key without rendering... Key: ${this.freeform.key} in ${context}`
}
for (const ln in this.render.translations) {
if(ln.startsWith("_")){
if (ln.startsWith("_")) {
continue
}
const txt: string = this.render.translations[ln]

View file

@ -73,11 +73,13 @@ export class SubtleButton extends UIElement {
}
})
const loading = new Lazy(() => new Loading(loadingText))
return new VariableUiElement(state.map(st => {
if(st === "idle"){
return button
}
return loading
}))
return new VariableUiElement(
state.map((st) => {
if (st === "idle") {
return button
}
return loading
})
)
}
}

View file

@ -1,20 +1,20 @@
import Combine from "../Base/Combine"
import {FlowPanelFactory, FlowStep} from "../ImportFlow/FlowStep"
import {ImmutableStore, Store, UIEventSource} from "../../Logic/UIEventSource"
import {InputElement} from "../Input/InputElement"
import {SvgToPdf, SvgToPdfOptions} from "../../Utils/svgToPdf"
import {FixedInputElement} from "../Input/FixedInputElement"
import {FixedUiElement} from "../Base/FixedUiElement"
import { FlowPanelFactory, FlowStep } from "../ImportFlow/FlowStep"
import { ImmutableStore, Store, UIEventSource } from "../../Logic/UIEventSource"
import { InputElement } from "../Input/InputElement"
import { SvgToPdf, SvgToPdfOptions } from "../../Utils/svgToPdf"
import { FixedInputElement } from "../Input/FixedInputElement"
import { FixedUiElement } from "../Base/FixedUiElement"
import FileSelectorButton from "../Input/FileSelectorButton"
import InputElementMap from "../Input/InputElementMap"
import {RadioButton} from "../Input/RadioButton"
import {Utils} from "../../Utils"
import {VariableUiElement} from "../Base/VariableUIElement"
import { RadioButton } from "../Input/RadioButton"
import { Utils } from "../../Utils"
import { VariableUiElement } from "../Base/VariableUIElement"
import Loading from "../Base/Loading"
import BaseUIElement from "../BaseUIElement"
import Img from "../Base/Img"
import Title from "../Base/Title"
import {CheckBox} from "../Input/Checkboxes"
import { CheckBox } from "../Input/Checkboxes"
import Minimap from "../Base/Minimap"
import SearchAndGo from "./SearchAndGo"
import Toggle from "../Input/Toggle"
@ -25,7 +25,7 @@ import Toggleable from "../Base/Toggleable"
import Lazy from "../Base/Lazy"
import LinkToWeblate from "../Base/LinkToWeblate"
import Link from "../Base/Link"
import {AllLanguagesSelector} from "../Popup/AllLanguagesSelector";
import { AllLanguagesSelector } from "../Popup/AllLanguagesSelector"
class SelectTemplate extends Combine implements FlowStep<{ title: string; pages: string[] }> {
readonly IsValid: Store<boolean>
@ -201,7 +201,7 @@ class PreparePdf extends Combine implements FlowStep<{ svgToPdf: SvgToPdf; langu
constructor(title: string, pages: string[], options: SvgToPdfOptions) {
const svgToPdf = new SvgToPdf(title, pages, options)
const languageSelector = new AllLanguagesSelector( )
const languageSelector = new AllLanguagesSelector()
const isPrepared = UIEventSource.FromPromiseWithErr(svgToPdf.Prepare())
super([

View file

@ -1,25 +1,23 @@
import Toggle from "../Input/Toggle";
import {RadioButton} from "../Input/RadioButton";
import {FixedInputElement} from "../Input/FixedInputElement";
import Combine from "../Base/Combine";
import Translations from "../i18n/Translations";
import {TextField} from "../Input/TextField";
import {UIEventSource} from "../../Logic/UIEventSource";
import Title from "../Base/Title";
import {SubtleButton} from "../Base/SubtleButton";
import Svg from "../../Svg";
import {OsmConnection} from "../../Logic/Osm/OsmConnection";
import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig";
import {Translation} from "../i18n/Translation";
import Toggle from "../Input/Toggle"
import { RadioButton } from "../Input/RadioButton"
import { FixedInputElement } from "../Input/FixedInputElement"
import Combine from "../Base/Combine"
import Translations from "../i18n/Translations"
import { TextField } from "../Input/TextField"
import { UIEventSource } from "../../Logic/UIEventSource"
import Title from "../Base/Title"
import { SubtleButton } from "../Base/SubtleButton"
import Svg from "../../Svg"
import { OsmConnection } from "../../Logic/Osm/OsmConnection"
import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig"
import { Translation } from "../i18n/Translation"
export default class UploadTraceToOsmUI extends Toggle {
private static createDefault(s: string, defaultValue: string){
if(defaultValue.length < 1){
private static createDefault(s: string, defaultValue: string) {
if (defaultValue.length < 1) {
throw "Default value should have some characters"
}
if(s === undefined || s === null || s === ""){
if (s === undefined || s === null || s === "") {
return defaultValue
}
return s
@ -28,43 +26,50 @@ export default class UploadTraceToOsmUI extends Toggle {
constructor(
trace: (title: string) => string,
state: {
layoutToUse: LayoutConfig;
layoutToUse: LayoutConfig
osmConnection: OsmConnection
}, options?: {
},
options?: {
whenUploaded?: () => void | Promise<void>
}) {
}
) {
const t = Translations.t.general.uploadGpx
const uploadFinished = new UIEventSource(false)
const traceVisibilities: {
key: "private" | "public",
name: Translation,
key: "private" | "public"
name: Translation
docs: Translation
}[] = [
{
key: "private",
...t.modes.private
...t.modes.private,
},
{
key: "public",
...t.modes.public
}
...t.modes.public,
},
]
const dropdown = new RadioButton<"private" | "public">(
traceVisibilities.map(tv => new FixedInputElement<"private" | "public">(
new Combine([Translations.W(
tv.name
).SetClass("font-bold"), tv.docs]).SetClass("flex flex-col")
, tv.key)),
traceVisibilities.map(
(tv) =>
new FixedInputElement<"private" | "public">(
new Combine([
Translations.W(tv.name).SetClass("font-bold"),
tv.docs,
]).SetClass("flex flex-col"),
tv.key
)
),
{
value: <any>state?.osmConnection?.GetPreference("gps.trace.visibility")
value: <any>state?.osmConnection?.GetPreference("gps.trace.visibility"),
}
)
const description = new TextField({
placeholder: t.meta.descriptionPlaceHolder
placeholder: t.meta.descriptionPlaceHolder,
})
const title = new TextField({
placeholder: t.meta.titlePlaceholder
placeholder: t.meta.titlePlaceholder,
})
const clicked = new UIEventSource<boolean>(false)
@ -81,38 +86,48 @@ export default class UploadTraceToOsmUI extends Toggle {
t.meta.descriptionIntro,
description,
new Combine([
new SubtleButton(Svg.close_svg(), Translations.t.general.cancel).onClick(() => {
clicked.setData(false)
}).SetClass(""),
new SubtleButton(Svg.upload_svg(), t.confirm).OnClickWithLoading(t.uploading, async () => {
const titleStr = UploadTraceToOsmUI.createDefault(title.GetValue().data, "Track with mapcomplete")
const descriptionStr = UploadTraceToOsmUI.createDefault(description.GetValue().data, "Track created with MapComplete with theme "+state?.layoutToUse?.id)
await state?.osmConnection?.uploadGpxTrack(trace(title.GetValue().data), {
visibility: dropdown.GetValue().data,
description: descriptionStr,
filename: titleStr +".gpx",
labels: ["MapComplete", state?.layoutToUse?.id]
new SubtleButton(Svg.close_svg(), Translations.t.general.cancel)
.onClick(() => {
clicked.setData(false)
})
.SetClass(""),
new SubtleButton(Svg.upload_svg(), t.confirm).OnClickWithLoading(
t.uploading,
async () => {
const titleStr = UploadTraceToOsmUI.createDefault(
title.GetValue().data,
"Track with mapcomplete"
)
const descriptionStr = UploadTraceToOsmUI.createDefault(
description.GetValue().data,
"Track created with MapComplete with theme " + state?.layoutToUse?.id
)
await state?.osmConnection?.uploadGpxTrack(trace(title.GetValue().data), {
visibility: dropdown.GetValue().data,
description: descriptionStr,
filename: titleStr + ".gpx",
labels: ["MapComplete", state?.layoutToUse?.id],
})
if (options?.whenUploaded !== undefined) {
await options.whenUploaded()
if (options?.whenUploaded !== undefined) {
await options.whenUploaded()
}
uploadFinished.setData(true)
}
uploadFinished.setData(true)
})
]).SetClass("flex flex-wrap flex-wrap-reverse justify-between items-stretch")
),
]).SetClass("flex flex-wrap flex-wrap-reverse justify-between items-stretch"),
]).SetClass("flex flex-col p-4 rounded border-2 m-2 border-subtle")
super(
new Combine([Svg.confirm_svg().SetClass("w-12 h-12 mr-2"),
t.uploadFinished])
.SetClass("flex p-2 rounded-xl border-2 subtle-border items-center"),
new Combine([Svg.confirm_svg().SetClass("w-12 h-12 mr-2"), t.uploadFinished]).SetClass(
"flex p-2 rounded-xl border-2 subtle-border items-center"
),
new Toggle(
confirmPanel,
new SubtleButton(Svg.upload_svg(), t.title)
.onClick(() => clicked.setData(true)),
new SubtleButton(Svg.upload_svg(), t.title).onClick(() => clicked.setData(true)),
clicked
), uploadFinished)
),
uploadFinished
)
}
}

View file

@ -13,8 +13,8 @@ export class RadioButton<T> extends InputElement<T> {
constructor(
elements: InputElement<T>[],
options?: {
selectFirstAsDefault?: true | boolean,
dontStyle?: boolean,
selectFirstAsDefault?: true | boolean
dontStyle?: boolean
value?: UIEventSource<T>
}
) {

View file

@ -1,13 +1,13 @@
import {UIElement} from "../UIElement"
import {InputElement} from "./InputElement"
import { UIElement } from "../UIElement"
import { InputElement } from "./InputElement"
import BaseUIElement from "../BaseUIElement"
import {Store, UIEventSource} from "../../Logic/UIEventSource"
import { Store, UIEventSource } from "../../Logic/UIEventSource"
import Translations from "../i18n/Translations"
import Locale from "../i18n/Locale"
import Combine from "../Base/Combine"
import {TextField} from "./TextField"
import { TextField } from "./TextField"
import Svg from "../../Svg"
import {VariableUiElement} from "../Base/VariableUIElement"
import { VariableUiElement } from "../Base/VariableUIElement"
/**
* A single 'pill' which can hide itself if the search criteria is not met
@ -28,7 +28,7 @@ class SelfHidingToggle extends UIElement implements InputElement<boolean> {
searchTerms?: Record<string, string[]>
selected?: UIEventSource<boolean>
forceSelected?: UIEventSource<boolean>
squared?: boolean,
squared?: boolean
/* Hide, if not selected*/
hide?: Store<boolean>
}
@ -53,7 +53,7 @@ class SelfHidingToggle extends UIElement implements InputElement<boolean> {
const selected = (this._selected = options?.selected ?? new UIEventSource<boolean>(false))
const forceSelected = (this.forceSelected =
options?.forceSelected ?? new UIEventSource<boolean>(false))
this.matchesSearchCriteria = search.map(s => {
this.matchesSearchCriteria = search.map((s) => {
if (s === undefined || s.length === 0) {
return true
}
@ -152,13 +152,13 @@ export class SearchablePillsSelector<T> extends Combine implements InputElement<
show: BaseUIElement
value: T
mainTerm: Record<string, string>
searchTerms?: Record<string, string[]>,
searchTerms?: Record<string, string[]>
/* If there are more then 200 elements, should this element still be shown? */
hasPriority?: Store<boolean>
}[],
options?: {
/*
* If one single value can be selected (like a radio button) or if many values can be selected (like checkboxes)
* If one single value can be selected (like a radio button) or if many values can be selected (like checkboxes)
*/
mode?: "select-one" | "select-many"
/**
@ -189,14 +189,14 @@ export class SearchablePillsSelector<T> extends Combine implements InputElement<
hideSearchBar?: false | boolean
}
) {
const search = new TextField({value: options?.searchValue})
const search = new TextField({ value: options?.searchValue })
const searchBar = options?.hideSearchBar
? undefined
: new Combine([
Svg.search_svg().SetClass("w-8 normal-background"),
search.SetClass("w-full"),
]).SetClass("flex items-center border-2 border-black m-2")
Svg.search_svg().SetClass("w-8 normal-background"),
search.SetClass("w-full"),
]).SetClass("flex items-center border-2 border-black m-2")
const searchValue = search.GetValue().map((s) => s?.trim()?.toLowerCase())
const selectedElements = options?.selectedElements ?? new UIEventSource<T[]>([])
@ -238,7 +238,10 @@ export class SearchablePillsSelector<T> extends Combine implements InputElement<
searchTerms: v.searchTerms,
selected: vIsSelected,
squared: mode === "select-many",
hide: v.hasPriority === undefined ? forceHide : forceHide.map(fh => fh && !v.hasPriority?.data, [v.hasPriority])
hide:
v.hasPriority === undefined
? forceHide
: forceHide.map((fh) => fh && !v.hasPriority?.data, [v.hasPriority]),
})
return {
@ -249,16 +252,17 @@ export class SearchablePillsSelector<T> extends Combine implements InputElement<
// The total number of elements that would be displayed based on the search criteria alone
let totalShown: Store<number>
totalShown = searchValue.map((_) => mappedValues.filter((mv) => mv.show.matchesSearchCriteria.data).length)
totalShown = searchValue.map(
(_) => mappedValues.filter((mv) => mv.show.matchesSearchCriteria.data).length
)
const tooMuchElementsCutoff = 40
totalShown.addCallbackAndRunD(shown => forceHide.setData(tooMuchElementsCutoff < shown))
totalShown.addCallbackAndRunD((shown) => forceHide.setData(tooMuchElementsCutoff < shown))
super([
searchBar,
new VariableUiElement(
Locale.language.map(
(lng) => {
if (
options?.onNoSearchMade !== undefined &&
(searchValue.data === undefined || searchValue.data.length === 0)
@ -275,7 +279,10 @@ export class SearchablePillsSelector<T> extends Combine implements InputElement<
.SetClass(options?.searchAreaClass ?? "")
if (totalShown.data >= tooMuchElementsCutoff) {
pills = new Combine([options?.onManyElements ?? Translations.t.general.useSearch, pills])
pills = new Combine([
options?.onManyElements ?? Translations.t.general.useSearch,
pills,
])
}
return pills
},

View file

@ -42,7 +42,7 @@ export default class LanguagePicker extends Toggle {
return new Translation({ "*": nativeText })
}
for (const key in trans) {
if(key.startsWith("_")){
if (key.startsWith("_")) {
continue
}
const translationInKey = allTranslations[lang][key]

View file

@ -1,14 +1,14 @@
import Translations from "../i18n/Translations";
import {TextField} from "../Input/TextField";
import {SubtleButton} from "../Base/SubtleButton";
import Svg from "../../Svg";
import NoteCommentElement from "./NoteCommentElement";
import {VariableUiElement} from "../Base/VariableUIElement";
import Toggle from "../Input/Toggle";
import {LoginToggle} from "./LoginButton";
import Combine from "../Base/Combine";
import Title from "../Base/Title";
import {SpecialVisualization} from "../SpecialVisualization";
import Translations from "../i18n/Translations"
import { TextField } from "../Input/TextField"
import { SubtleButton } from "../Base/SubtleButton"
import Svg from "../../Svg"
import NoteCommentElement from "./NoteCommentElement"
import { VariableUiElement } from "../Base/VariableUIElement"
import Toggle from "../Input/Toggle"
import { LoginToggle } from "./LoginButton"
import Combine from "../Base/Combine"
import Title from "../Base/Title"
import { SpecialVisualization } from "../SpecialVisualization"
export class AddNoteCommentViz implements SpecialVisualization {
funcName = "add_note_comment"
@ -103,12 +103,8 @@ export class AddNoteCommentViz implements SpecialVisualization {
stateButtons.SetClass("sm:mr-2"),
new Toggle(
addCommentButton,
new Combine([t.typeText]).SetClass(
"flex items-center h-full subtle"
),
textField
.GetValue()
.map((t) => t !== undefined && t.length >= 1)
new Combine([t.typeText]).SetClass("flex items-center h-full subtle"),
textField.GetValue().map((t) => t !== undefined && t.length >= 1)
).SetClass("sm:mr-2"),
]).SetClass("sm:flex sm:justify-between sm:items-stretch"),
]).SetClass("border-2 border-black rounded-xl p-4 block"),

View file

@ -1,45 +1,46 @@
import {SearchablePillsSelector} from "../Input/SearchableMappingsSelector";
import {Store} from "../../Logic/UIEventSource";
import BaseUIElement from "../BaseUIElement";
import * as all_languages from "../../assets/language_translations.json";
import {Translation} from "../i18n/Translation";
export class AllLanguagesSelector extends SearchablePillsSelector <string> {
import { SearchablePillsSelector } from "../Input/SearchableMappingsSelector"
import { Store } from "../../Logic/UIEventSource"
import BaseUIElement from "../BaseUIElement"
import * as all_languages from "../../assets/language_translations.json"
import { Translation } from "../i18n/Translation"
export class AllLanguagesSelector extends SearchablePillsSelector<string> {
constructor(options?: {
mode?: "select-many" | "select-one"
currentCountry?: Store<string>,
supportedLanguages?: Record<string, string> & { _meta?: { countries?: string[] } }
}) {
mode?: "select-many" | "select-one"
currentCountry?: Store<string>
supportedLanguages?: Record<string, string> & { _meta?: { countries?: string[] } }
}) {
const possibleValues: {
show: BaseUIElement
value: string
mainTerm: Record<string, string>
searchTerms?: Record<string, string[]>,
searchTerms?: Record<string, string[]>
hasPriority?: Store<boolean>
}[] = []
const langs = options?.supportedLanguages ?? all_languages["default"] ?? all_languages
for (const ln in langs) {
let languageInfo: Record<string, string> & { _meta?: { countries: string[] } } = all_languages[ln]
const countries = languageInfo._meta?.countries?.map(c => c.toLowerCase())
languageInfo = {...languageInfo}
let languageInfo: Record<string, string> & { _meta?: { countries: string[] } } =
all_languages[ln]
const countries = languageInfo._meta?.countries?.map((c) => c.toLowerCase())
languageInfo = { ...languageInfo }
delete languageInfo._meta
const term = {
show: new Translation(languageInfo),
value: ln,
mainTerm: languageInfo,
searchTerms: {"*": [ln]},
hasPriority: countries === undefined ? undefined : options?.currentCountry?.map(country => countries?.indexOf(country.toLowerCase()) >= 0)
searchTerms: { "*": [ln] },
hasPriority:
countries === undefined
? undefined
: options?.currentCountry?.map(
(country) => countries?.indexOf(country.toLowerCase()) >= 0
),
}
possibleValues.push(term)
}
super(possibleValues,
{
mode: options?.mode ?? 'select-many'
});
super(possibleValues, {
mode: options?.mode ?? "select-many",
})
}
}

View file

@ -23,7 +23,7 @@ import FilteredLayer from "../../Models/FilteredLayer"
import TagRenderingConfig from "../../Models/ThemeConfig/TagRenderingConfig"
import Lazy from "../Base/Lazy"
import List from "../Base/List"
import {SpecialVisualization} from "../SpecialVisualization";
import { SpecialVisualization } from "../SpecialVisualization"
export interface AutoAction extends SpecialVisualization {
supportsAutoAction: boolean

View file

@ -1,13 +1,13 @@
import FeaturePipelineState from "../../Logic/State/FeaturePipelineState";
import BaseUIElement from "../BaseUIElement";
import Translations from "../i18n/Translations";
import {Utils} from "../../Utils";
import Svg from "../../Svg";
import Img from "../Base/Img";
import {SubtleButton} from "../Base/SubtleButton";
import Toggle from "../Input/Toggle";
import {LoginToggle} from "./LoginButton";
import {SpecialVisualization} from "../SpecialVisualization";
import FeaturePipelineState from "../../Logic/State/FeaturePipelineState"
import BaseUIElement from "../BaseUIElement"
import Translations from "../i18n/Translations"
import { Utils } from "../../Utils"
import Svg from "../../Svg"
import Img from "../Base/Img"
import { SubtleButton } from "../Base/SubtleButton"
import Toggle from "../Input/Toggle"
import { LoginToggle } from "./LoginButton"
import { SpecialVisualization } from "../SpecialVisualization"
export class CloseNoteButton implements SpecialVisualization {
public readonly funcName = "close_note"

View file

@ -10,7 +10,7 @@ import TagRenderingConfig from "../../Models/ThemeConfig/TagRenderingConfig"
import { Unit } from "../../Models/Unit"
import Lazy from "../Base/Lazy"
import { FixedUiElement } from "../Base/FixedUiElement"
import {EditButton} from "./SaveButton";
import { EditButton } from "./SaveButton"
export default class EditableTagRendering extends Toggle {
constructor(
@ -71,7 +71,7 @@ export default class EditableTagRendering extends Toggle {
// We have a question and editing is enabled
const answerWithEditButton = new Combine([
answer,
new EditButton(state.osmConnection,() => {
new EditButton(state.osmConnection, () => {
editMode.setData(true)
}),
]).SetClass("flex justify-between w-full")

View file

@ -1,10 +1,10 @@
import Translations from "../i18n/Translations";
import {SubtleButton} from "../Base/SubtleButton";
import Svg from "../../Svg";
import Combine from "../Base/Combine";
import {GeoOperations} from "../../Logic/GeoOperations";
import {Utils} from "../../Utils";
import {SpecialVisualization} from "../SpecialVisualization";
import Translations from "../i18n/Translations"
import { SubtleButton } from "../Base/SubtleButton"
import Svg from "../../Svg"
import Combine from "../Base/Combine"
import { GeoOperations } from "../../Logic/GeoOperations"
import { Utils } from "../../Utils"
import { SpecialVisualization } from "../SpecialVisualization"
export class ExportAsGpxViz implements SpecialVisualization {
funcName = "export_as_gpx"
@ -26,16 +26,10 @@ export class ExportAsGpxViz implements SpecialVisualization {
const feature = state.allElements.ContainingFeatures.get(tags.id)
const matchingLayer = state?.layoutToUse?.getMatchingLayer(tags)
const gpx = GeoOperations.AsGpx(feature, matchingLayer)
const title =
matchingLayer.title?.GetRenderValue(tags)?.Subs(tags)?.txt ??
"gpx_track"
Utils.offerContentsAsDownloadableFile(
gpx,
title + "_mapcomplete_export.gpx",
{
mimetype: "{gpx=application/gpx+xml}",
}
)
const title = matchingLayer.title?.GetRenderValue(tags)?.Subs(tags)?.txt ?? "gpx_track"
Utils.offerContentsAsDownloadableFile(gpx, title + "_mapcomplete_export.gpx", {
mimetype: "{gpx=application/gpx+xml}",
})
})
}
}

View file

@ -1,9 +1,9 @@
import {Store, UIEventSource} from "../../Logic/UIEventSource";
import {FixedUiElement} from "../Base/FixedUiElement";
import { Store, UIEventSource } from "../../Logic/UIEventSource"
import { FixedUiElement } from "../Base/FixedUiElement"
// import Histogram from "../BigComponents/Histogram";
// import {SpecialVisualization} from "../SpecialVisualization";
export class HistogramViz {
export class HistogramViz {
funcName = "histogram"
docs = "Create a histogram for a list of given values, read from the properties."
example =
@ -28,7 +28,7 @@ export class HistogramViz {
name: "colors*",
doc: "(Matches all resting arguments - optional) Matches a regex onto a color value, e.g. `3[a-zA-Z+-]*:#33cc33`",
},
];
]
constr(state, tagSource: UIEventSource<any>, args: string[]) {
let assignColors = undefined
@ -39,7 +39,7 @@ export class HistogramViz {
const splitted = c.split(":")
const value = splitted.pop()
const regex = splitted.join(":")
return {regex: "^" + regex + "$", color: value}
return { regex: "^" + regex + "$", color: value }
})
assignColors = (key) => {
for (const kv of mapping) {
@ -59,10 +59,7 @@ export class HistogramViz {
}
return JSON.parse(value)
} catch (e) {
console.error(
"Could not load histogram: parsing of the list failed: ",
e
)
console.error("Could not load histogram: parsing of the list failed: ", e)
return undefined
}
})

View file

@ -44,7 +44,7 @@ import { Changes } from "../../Logic/Osm/Changes"
import { ElementStorage } from "../../Logic/ElementStorage"
import Hash from "../../Logic/Web/Hash"
import { PreciseInput } from "../../Models/ThemeConfig/PresetConfig"
import {SpecialVisualization} from "../SpecialVisualization";
import { SpecialVisualization } from "../SpecialVisualization"
/**
* A helper class for the various import-flows.

View file

@ -1,73 +1,68 @@
import {SpecialVisualization} from "../SpecialVisualization";
import BaseUIElement from "../BaseUIElement";
import {UIEventSource} from "../../Logic/UIEventSource";
import FeaturePipelineState from "../../Logic/State/FeaturePipelineState";
import {VariableUiElement} from "../Base/VariableUIElement";
import {OsmTags} from "../../Models/OsmFeature";
import { SpecialVisualization } from "../SpecialVisualization"
import BaseUIElement from "../BaseUIElement"
import { UIEventSource } from "../../Logic/UIEventSource"
import FeaturePipelineState from "../../Logic/State/FeaturePipelineState"
import { VariableUiElement } from "../Base/VariableUIElement"
import { OsmTags } from "../../Models/OsmFeature"
import * as all_languages from "../../assets/language_translations.json"
import {Translation} from "../i18n/Translation";
import Combine from "../Base/Combine";
import Title from "../Base/Title";
import Lazy from "../Base/Lazy";
import {SubstitutedTranslation} from "../SubstitutedTranslation";
import List from "../Base/List";
import {AllLanguagesSelector} from "./AllLanguagesSelector";
import ChangeTagAction from "../../Logic/Osm/Actions/ChangeTagAction";
import {And} from "../../Logic/Tags/And";
import {Tag} from "../../Logic/Tags/Tag";
import {EditButton, SaveButton} from "./SaveButton";
import {FixedUiElement} from "../Base/FixedUiElement";
import Translations from "../i18n/Translations";
import Toggle from "../Input/Toggle";
import {On} from "../../Models/ThemeConfig/Conversion/Conversion";
import { Translation } from "../i18n/Translation"
import Combine from "../Base/Combine"
import Title from "../Base/Title"
import Lazy from "../Base/Lazy"
import { SubstitutedTranslation } from "../SubstitutedTranslation"
import List from "../Base/List"
import { AllLanguagesSelector } from "./AllLanguagesSelector"
import ChangeTagAction from "../../Logic/Osm/Actions/ChangeTagAction"
import { And } from "../../Logic/Tags/And"
import { Tag } from "../../Logic/Tags/Tag"
import { EditButton, SaveButton } from "./SaveButton"
import { FixedUiElement } from "../Base/FixedUiElement"
import Translations from "../i18n/Translations"
import Toggle from "../Input/Toggle"
import { On } from "../../Models/ThemeConfig/Conversion/Conversion"
export class LanguageElement implements SpecialVisualization {
funcName: string = "language_chooser"
docs: string | BaseUIElement = "The language element allows to show and pick all known (modern) languages. The key can be set";
docs: string | BaseUIElement =
"The language element allows to show and pick all known (modern) languages. The key can be set"
args: { name: string; defaultValue?: string; doc: string; required?: boolean }[] =
[{
args: { name: string; defaultValue?: string; doc: string; required?: boolean }[] = [
{
name: "key",
required: true,
doc: "What key to use, e.g. `language`, `tactile_writing:braille:language`, ... If a language is supported, the language code will be appended to this key, resulting in `language:nl=yes` if nl is picked "
doc: "What key to use, e.g. `language`, `tactile_writing:braille:language`, ... If a language is supported, the language code will be appended to this key, resulting in `language:nl=yes` if nl is picked ",
},
{
name: "question",
required: true,
doc: "What to ask if no questions are known"
},
{
name: "render_list_item",
doc: "How a single language will be shown in the list of languages. Use `{language}` to indicate the language (which it must contain).",
defaultValue: "{language()}"
},
{
name: "render_single_language",
doc: "What will be shown if the feature only supports a single language",
required: true
},
{
name: "render_all",
doc: "The full rendering. Use `{list}` to show where the list of languages must come. Optional if mode=single",
defaultValue: "{list()}"
},
{
name: "no_known_languages",
doc: "The text that is shown if no languages are known for this key. If this text is omitted, the languages will be prompted instead"
},
{
name: 'mode',
doc: "If one or many languages can be selected. Should be 'multi' or 'single'",
defaultValue: 'multi'
}
]
;
{
name: "question",
required: true,
doc: "What to ask if no questions are known",
},
{
name: "render_list_item",
doc: "How a single language will be shown in the list of languages. Use `{language}` to indicate the language (which it must contain).",
defaultValue: "{language()}",
},
{
name: "render_single_language",
doc: "What will be shown if the feature only supports a single language",
required: true,
},
{
name: "render_all",
doc: "The full rendering. Use `{list}` to show where the list of languages must come. Optional if mode=single",
defaultValue: "{list()}",
},
{
name: "no_known_languages",
doc: "The text that is shown if no languages are known for this key. If this text is omitted, the languages will be prompted instead",
},
{
name: "mode",
doc: "If one or many languages can be selected. Should be 'multi' or 'single'",
defaultValue: "multi",
},
]
example: `
\`\`\`json
@ -83,8 +78,13 @@ export class LanguageElement implements SpecialVisualization {
\`\`\`
`
constr(state: FeaturePipelineState, tagSource: UIEventSource<OsmTags>, argument: string[]): BaseUIElement {
let [key, question, item_render, single_render, all_render, on_no_known_languages, mode] = argument
constr(
state: FeaturePipelineState,
tagSource: UIEventSource<OsmTags>,
argument: string[]
): BaseUIElement {
let [key, question, item_render, single_render, all_render, on_no_known_languages, mode] =
argument
if (mode === undefined || mode.length == 0) {
mode = "multi"
}
@ -95,7 +95,10 @@ export class LanguageElement implements SpecialVisualization {
all_render = "{list()}"
}
if (mode !== "single" && mode !== "multi") {
throw "Error while calling language_chooser: mode must be either 'single' or 'multi' but it is " + mode
throw (
"Error while calling language_chooser: mode must be either 'single' or 'multi' but it is " +
mode
)
}
if (single_render.indexOf("{language()") < 0 || item_render.indexOf("{language()") < 0) {
throw "Error while calling language_chooser: render_single_language and render_list_item must contain '{language()}'"
@ -105,40 +108,39 @@ export class LanguageElement implements SpecialVisualization {
}
const prefix = key + ":"
const foundLanguages = tagSource
.map(tags => {
const foundLanguages: string[] = []
for (const k in tags) {
const v = tags[k]
if (v !== "yes") {
continue
}
if (k.startsWith(prefix)) {
foundLanguages.push(k.substring(prefix.length))
}
const foundLanguages = tagSource.map((tags) => {
const foundLanguages: string[] = []
for (const k in tags) {
const v = tags[k]
if (v !== "yes") {
continue
}
return foundLanguages
})
const forceInputMode = new UIEventSource(false);
if (k.startsWith(prefix)) {
foundLanguages.push(k.substring(prefix.length))
}
}
return foundLanguages
})
const forceInputMode = new UIEventSource(false)
const inputEl = new Lazy(() => {
const selector = new AllLanguagesSelector(
{
mode: mode === "single" ? "select-one" : "select-many",
currentCountry: tagSource.map(tgs => tgs["_country"])
}
)
const cancelButton = Toggle.If(forceInputMode,
() => Translations.t.general.cancel
const selector = new AllLanguagesSelector({
mode: mode === "single" ? "select-one" : "select-many",
currentCountry: tagSource.map((tgs) => tgs["_country"]),
})
const cancelButton = Toggle.If(forceInputMode, () =>
Translations.t.general.cancel
.Clone()
.SetClass("btn btn-secondary").onClick(() => forceInputMode.setData(false)))
.SetClass("btn btn-secondary")
.onClick(() => forceInputMode.setData(false))
)
const saveButton = new SaveButton(
selector.GetValue().map(lngs => lngs.length > 0 ? "true" : undefined),
state.osmConnection,
selector.GetValue().map((lngs) => (lngs.length > 0 ? "true" : undefined)),
state.osmConnection
).onClick(() => {
const selectedLanguages = selector.GetValue().data
const currentLanguages = foundLanguages.data
const selection: Tag[] = selectedLanguages.map(ln => new Tag(prefix + ln, "yes"));
const selection: Tag[] = selectedLanguages.map((ln) => new Tag(prefix + ln, "yes"))
for (const currentLanguage of currentLanguages) {
if (selectedLanguages.indexOf(currentLanguage) >= 0) {
@ -148,19 +150,23 @@ export class LanguageElement implements SpecialVisualization {
selection.push(new Tag(prefix + currentLanguage, ""))
}
if (state.featureSwitchIsTesting.data) {
for (const tag of selection) {
tagSource.data[tag.key] = tag.value
}
tagSource.ping()
} else {
(state?.changes)
;(state?.changes)
.applyAction(
new ChangeTagAction(tagSource.data.id, new And(selection), tagSource.data, {
theme: state?.layoutToUse?.id ?? "unkown",
changeType: "answer",
})
new ChangeTagAction(
tagSource.data.id,
new And(selection),
tagSource.data,
{
theme: state?.layoutToUse?.id ?? "unkown",
changeType: "answer",
}
)
)
.then((_) => {
console.log("Tagchanges applied")
@ -169,60 +175,72 @@ export class LanguageElement implements SpecialVisualization {
forceInputMode.setData(false)
})
return new Combine([new Title(question), selector,
new Combine([cancelButton, saveButton]).SetClass("flex justify-end")
]).SetClass("flex flex-col question disable-links");
return new Combine([
new Title(question),
selector,
new Combine([cancelButton, saveButton]).SetClass("flex justify-end"),
]).SetClass("flex flex-col question disable-links")
})
const editButton = new EditButton(state.osmConnection, () => forceInputMode.setData(true))
return new VariableUiElement(foundLanguages
.map(foundLanguages => {
if (forceInputMode.data) {
return inputEl
}
if (foundLanguages.length === 0) {
// No languages found - we show the question and the input element
if (on_no_known_languages !== undefined && on_no_known_languages.length > 0) {
return new Combine([on_no_known_languages, editButton]).SetClass("flex justify-end")
return new VariableUiElement(
foundLanguages.map(
(foundLanguages) => {
if (forceInputMode.data) {
return inputEl
}
return inputEl
}
let rendered: BaseUIElement;
if (foundLanguages.length === 1) {
const ln = foundLanguages[0]
let mapping = new Map<string, BaseUIElement>();
mapping.set("language", new Translation(all_languages[ln]))
rendered = new SubstitutedTranslation(
new Translation({"*": single_render}, undefined),
tagSource, state, mapping
)
} else {
let mapping = new Map<string, BaseUIElement>();
const languagesList = new List(
foundLanguages.map(ln => {
let mappingLn = new Map<string, BaseUIElement>();
mappingLn.set("language", new Translation(all_languages[ln]))
return new SubstitutedTranslation(
new Translation({"*": item_render}, undefined),
tagSource, state, mappingLn
if (foundLanguages.length === 0) {
// No languages found - we show the question and the input element
if (
on_no_known_languages !== undefined &&
on_no_known_languages.length > 0
) {
return new Combine([on_no_known_languages, editButton]).SetClass(
"flex justify-end"
)
})
);
mapping.set("list", languagesList)
rendered = new SubstitutedTranslation(
new Translation({'*': all_render}, undefined), tagSource,
state, mapping
)
}
return new Combine([rendered, editButton]).SetClass("flex justify-between")
}
return inputEl
}
}, [forceInputMode]));
let rendered: BaseUIElement
if (foundLanguages.length === 1) {
const ln = foundLanguages[0]
let mapping = new Map<string, BaseUIElement>()
mapping.set("language", new Translation(all_languages[ln]))
rendered = new SubstitutedTranslation(
new Translation({ "*": single_render }, undefined),
tagSource,
state,
mapping
)
} else {
let mapping = new Map<string, BaseUIElement>()
const languagesList = new List(
foundLanguages.map((ln) => {
let mappingLn = new Map<string, BaseUIElement>()
mappingLn.set("language", new Translation(all_languages[ln]))
return new SubstitutedTranslation(
new Translation({ "*": item_render }, undefined),
tagSource,
state,
mappingLn
)
})
)
mapping.set("list", languagesList)
rendered = new SubstitutedTranslation(
new Translation({ "*": all_render }, undefined),
tagSource,
state,
mapping
)
}
return new Combine([rendered, editButton]).SetClass("flex justify-between")
},
[forceInputMode]
)
)
}
}

View file

@ -1,8 +1,8 @@
import {GeoOperations} from "../../Logic/GeoOperations";
import {MapillaryLink} from "../BigComponents/MapillaryLink";
import {UIEventSource} from "../../Logic/UIEventSource";
import Loc from "../../Models/Loc";
import {SpecialVisualization} from "../SpecialVisualization";
import { GeoOperations } from "../../Logic/GeoOperations"
import { MapillaryLink } from "../BigComponents/MapillaryLink"
import { UIEventSource } from "../../Logic/UIEventSource"
import Loc from "../../Models/Loc"
import { SpecialVisualization } from "../SpecialVisualization"
export class MapillaryLinkVis implements SpecialVisualization {
funcName = "mapillary_link"

View file

@ -1,9 +1,9 @@
import {Store, UIEventSource} from "../../Logic/UIEventSource";
import Loc from "../../Models/Loc";
import Minimap from "../Base/Minimap";
import ShowDataMultiLayer from "../ShowDataLayer/ShowDataMultiLayer";
import StaticFeatureSource from "../../Logic/FeatureSource/Sources/StaticFeatureSource";
import {SpecialVisualization} from "../SpecialVisualization";
import { Store, UIEventSource } from "../../Logic/UIEventSource"
import Loc from "../../Models/Loc"
import Minimap from "../Base/Minimap"
import ShowDataMultiLayer from "../ShowDataLayer/ShowDataMultiLayer"
import StaticFeatureSource from "../../Logic/FeatureSource/Sources/StaticFeatureSource"
import { SpecialVisualization } from "../SpecialVisualization"
export class MinimapViz implements SpecialVisualization {
funcName = "minimap"
@ -20,8 +20,7 @@ export class MinimapViz implements SpecialVisualization {
defaultValue: "id",
},
]
example:
"`{minimap()}`, `{minimap(17, id, _list_of_embedded_feature_ids_calculated_by_calculated_tag):height:10rem; border: 2px solid black}`"
example: "`{minimap()}`, `{minimap(17, id, _list_of_embedded_feature_ids_calculated_by_calculated_tag):height:10rem; border: 2px solid black}`"
constr(state, tagSource, args, _) {
if (state === undefined) {
@ -30,8 +29,8 @@ export class MinimapViz implements SpecialVisualization {
const keys = [...args]
keys.splice(0, 1)
const featureStore = state.allElements.ContainingFeatures
const featuresToShow: Store<{ freshness: Date; feature: any }[]> =
tagSource.map((properties) => {
const featuresToShow: Store<{ freshness: Date; feature: any }[]> = tagSource.map(
(properties) => {
const features: { freshness: Date; feature: any }[] = []
for (const key of keys) {
const value = properties[key]
@ -58,7 +57,8 @@ export class MinimapViz implements SpecialVisualization {
}
}
return features
})
}
)
const properties = tagSource.data
let zoom = 18
if (args[0]) {

View file

@ -1,10 +1,11 @@
import {Store} from "../../Logic/UIEventSource";
import MultiApply from "./MultiApply";
import {SpecialVisualization} from "../SpecialVisualization";
import { Store } from "../../Logic/UIEventSource"
import MultiApply from "./MultiApply"
import { SpecialVisualization } from "../SpecialVisualization"
export class MultiApplyViz implements SpecialVisualization {
funcName = "multi_apply"
docs = "A button to apply the tagging of this object onto a list of other features. This is an advanced feature for which you'll need calculatedTags"
docs =
"A button to apply the tagging of this object onto a list of other features. This is an advanced feature for which you'll need calculatedTags"
args = [
{
name: "feature_ids",
@ -52,17 +53,14 @@ export class MultiApplyViz implements SpecialVisualization {
return []
}
})
return new MultiApply(
{
featureIds,
keysToApply,
text,
autoapply,
overwrite,
tagsSource,
state
}
);
return new MultiApply({
featureIds,
keysToApply,
text,
autoapply,
overwrite,
tagsSource,
state,
})
}
}

View file

@ -1,25 +1,25 @@
import FeaturePipelineState from "../../Logic/State/FeaturePipelineState";
import {UIEventSource} from "../../Logic/UIEventSource";
import {DefaultGuiState} from "../DefaultGuiState";
import BaseUIElement from "../BaseUIElement";
import Translations from "../i18n/Translations";
import {GeoOperations} from "../../Logic/GeoOperations";
import NearbyImages, {NearbyImageOptions, P4CPicture, SelectOneNearbyImage} from "./NearbyImages";
import {SubstitutedTranslation} from "../SubstitutedTranslation";
import {Tag} from "../../Logic/Tags/Tag";
import ChangeTagAction from "../../Logic/Osm/Actions/ChangeTagAction";
import {And} from "../../Logic/Tags/And";
import {SaveButton} from "./SaveButton";
import Lazy from "../Base/Lazy";
import {CheckBox} from "../Input/Checkboxes";
import Slider from "../Input/Slider";
import AllImageProviders from "../../Logic/ImageProviders/AllImageProviders";
import Combine from "../Base/Combine";
import {VariableUiElement} from "../Base/VariableUIElement";
import Toggle from "../Input/Toggle";
import Title from "../Base/Title";
import {MapillaryLinkVis} from "./MapillaryLinkVis";
import {SpecialVisualization} from "../SpecialVisualization";
import FeaturePipelineState from "../../Logic/State/FeaturePipelineState"
import { UIEventSource } from "../../Logic/UIEventSource"
import { DefaultGuiState } from "../DefaultGuiState"
import BaseUIElement from "../BaseUIElement"
import Translations from "../i18n/Translations"
import { GeoOperations } from "../../Logic/GeoOperations"
import NearbyImages, { NearbyImageOptions, P4CPicture, SelectOneNearbyImage } from "./NearbyImages"
import { SubstitutedTranslation } from "../SubstitutedTranslation"
import { Tag } from "../../Logic/Tags/Tag"
import ChangeTagAction from "../../Logic/Osm/Actions/ChangeTagAction"
import { And } from "../../Logic/Tags/And"
import { SaveButton } from "./SaveButton"
import Lazy from "../Base/Lazy"
import { CheckBox } from "../Input/Checkboxes"
import Slider from "../Input/Slider"
import AllImageProviders from "../../Logic/ImageProviders/AllImageProviders"
import Combine from "../Base/Combine"
import { VariableUiElement } from "../Base/VariableUIElement"
import Toggle from "../Input/Toggle"
import Title from "../Base/Title"
import { MapillaryLinkVis } from "./MapillaryLinkVis"
import { SpecialVisualization } from "../SpecialVisualization"
export class NearbyImageVis implements SpecialVisualization {
args: { name: string; defaultValue?: string; doc: string; required?: boolean }[] = [
@ -116,7 +116,7 @@ export class NearbyImageVis implements SpecialVisualization {
towardsCenter,
new Combine([
new VariableUiElement(
radius.GetValue().map((radius) => t.withinRadius.Subs({radius}))
radius.GetValue().map((radius) => t.withinRadius.Subs({ radius }))
),
radius,
]).SetClass("flex justify-between"),

View file

@ -1,29 +1,30 @@
import {Store, UIEventSource} from "../../Logic/UIEventSource";
import Toggle from "../Input/Toggle";
import Lazy from "../Base/Lazy";
import {ProvidedImage} from "../../Logic/ImageProviders/ImageProvider";
import PlantNetSpeciesSearch from "../BigComponents/PlantNetSpeciesSearch";
import Wikidata from "../../Logic/Web/Wikidata";
import ChangeTagAction from "../../Logic/Osm/Actions/ChangeTagAction";
import {And} from "../../Logic/Tags/And";
import {Tag} from "../../Logic/Tags/Tag";
import {SubtleButton} from "../Base/SubtleButton";
import Combine from "../Base/Combine";
import Svg from "../../Svg";
import Translations from "../i18n/Translations";
import AllImageProviders from "../../Logic/ImageProviders/AllImageProviders";
import {SpecialVisualization} from "../SpecialVisualization";
import { Store, UIEventSource } from "../../Logic/UIEventSource"
import Toggle from "../Input/Toggle"
import Lazy from "../Base/Lazy"
import { ProvidedImage } from "../../Logic/ImageProviders/ImageProvider"
import PlantNetSpeciesSearch from "../BigComponents/PlantNetSpeciesSearch"
import Wikidata from "../../Logic/Web/Wikidata"
import ChangeTagAction from "../../Logic/Osm/Actions/ChangeTagAction"
import { And } from "../../Logic/Tags/And"
import { Tag } from "../../Logic/Tags/Tag"
import { SubtleButton } from "../Base/SubtleButton"
import Combine from "../Base/Combine"
import Svg from "../../Svg"
import Translations from "../i18n/Translations"
import AllImageProviders from "../../Logic/ImageProviders/AllImageProviders"
import { SpecialVisualization } from "../SpecialVisualization"
export class PlantNetDetectionViz implements SpecialVisualization {
funcName = "plantnet_detection"
docs = "Sends the images linked to the current object to plantnet.org and asks it what plant species is shown on it. The user can then select the correct species; the corresponding wikidata-identifier will then be added to the object (together with `source:species:wikidata=plantnet.org AI`). "
docs =
"Sends the images linked to the current object to plantnet.org and asks it what plant species is shown on it. The user can then select the correct species; the corresponding wikidata-identifier will then be added to the object (together with `source:species:wikidata=plantnet.org AI`). "
args = [
{
name: "image_key",
defaultValue: AllImageProviders.defaultKeys.join(","),
doc: "The keys given to the images, e.g. if <span class='literal-code'>image</span> is given, the first picture URL will be added as <span class='literal-code'>image</span>, the second as <span class='literal-code'>image:0</span>, the third as <span class='literal-code'>image:1</span>, etc... Multiple values are allowed if ';'-separated ",
}
},
]
public constr(state, tags, args) {
@ -35,44 +36,40 @@ export class PlantNetDetectionViz implements SpecialVisualization {
const detect = new UIEventSource(false)
const toggle = new Toggle(
new Lazy(() => {
const allProvidedImages: Store<ProvidedImage[]> =
AllImageProviders.LoadImagesFor(tags, imagePrefixes)
const allProvidedImages: Store<ProvidedImage[]> = AllImageProviders.LoadImagesFor(
tags,
imagePrefixes
)
const allImages: Store<string[]> = allProvidedImages.map((pi) =>
pi.map((pi) => pi.url)
)
return new PlantNetSpeciesSearch(
allImages,
async (selectedWikidata) => {
selectedWikidata = Wikidata.ExtractKey(selectedWikidata)
const change = new ChangeTagAction(
tags.data.id,
new And([
new Tag("species:wikidata", selectedWikidata),
new Tag("source:species:wikidata", "PlantNet.org AI"),
]),
tags.data,
{
theme: state.layoutToUse.id,
changeType: "plantnet-ai-detection",
}
)
await state.changes.applyAction(change)
}
)
return new PlantNetSpeciesSearch(allImages, async (selectedWikidata) => {
selectedWikidata = Wikidata.ExtractKey(selectedWikidata)
const change = new ChangeTagAction(
tags.data.id,
new And([
new Tag("species:wikidata", selectedWikidata),
new Tag("source:species:wikidata", "PlantNet.org AI"),
]),
tags.data,
{
theme: state.layoutToUse.id,
changeType: "plantnet-ai-detection",
}
)
await state.changes.applyAction(change)
})
}),
new SubtleButton(
undefined,
"Detect plant species with plantnet.org"
).onClick(() => detect.setData(true)),
new SubtleButton(undefined, "Detect plant species with plantnet.org").onClick(() =>
detect.setData(true)
),
detect
)
return new Combine([
toggle,
new Combine([
Svg.plantnet_logo_svg().SetClass(
"w-10 h-10 p-1 mr-1 bg-white rounded-full"
),
Svg.plantnet_logo_svg().SetClass("w-10 h-10 p-1 mr-1 bg-white rounded-full"),
Translations.t.plantDetection.poweredByPlantnet,
]).SetClass("flex p-2 bg-gray-200 rounded-xl self-end"),
]).SetClass("flex flex-col")

View file

@ -3,8 +3,8 @@ import Translations from "../i18n/Translations"
import { OsmConnection } from "../../Logic/Osm/OsmConnection"
import Toggle from "../Input/Toggle"
import BaseUIElement from "../BaseUIElement"
import Combine from "../Base/Combine";
import Svg from "../../Svg";
import Combine from "../Base/Combine"
import Svg from "../../Svg"
export class EditButton extends Toggle {
constructor(osmConnection: OsmConnection, onClick: () => void) {

View file

@ -1,9 +1,9 @@
import {UIEventSource} from "../../Logic/UIEventSource";
import LayerConfig from "../../Models/ThemeConfig/LayerConfig";
import ShareButton from "../BigComponents/ShareButton";
import Svg from "../../Svg";
import {FixedUiElement} from "../Base/FixedUiElement";
import {SpecialVisualization} from "../SpecialVisualization";
import { UIEventSource } from "../../Logic/UIEventSource"
import LayerConfig from "../../Models/ThemeConfig/LayerConfig"
import ShareButton from "../BigComponents/ShareButton"
import Svg from "../../Svg"
import { FixedUiElement } from "../Base/FixedUiElement"
import { SpecialVisualization } from "../SpecialVisualization"
export class ShareLinkViz implements SpecialVisualization {
funcName = "share_link"
@ -45,10 +45,7 @@ export class ShareLinkViz implements SpecialVisualization {
}
}
return new ShareButton(
Svg.share_svg().SetClass("w-8 h-8"),
generateShareData
)
return new ShareButton(Svg.share_svg().SetClass("w-8 h-8"), generateShareData)
} else {
return new FixedUiElement("")
}

View file

@ -1,15 +1,16 @@
import {UIEventSource} from "../../Logic/UIEventSource";
import Loc from "../../Models/Loc";
import Minimap from "../Base/Minimap";
import ShowDataLayer from "../ShowDataLayer/ShowDataLayer";
import LayerConfig from "../../Models/ThemeConfig/LayerConfig";
import * as left_right_style_json from "../../assets/layers/left_right_style/left_right_style.json";
import StaticFeatureSource from "../../Logic/FeatureSource/Sources/StaticFeatureSource";
import {SpecialVisualization} from "../SpecialVisualization";
import { UIEventSource } from "../../Logic/UIEventSource"
import Loc from "../../Models/Loc"
import Minimap from "../Base/Minimap"
import ShowDataLayer from "../ShowDataLayer/ShowDataLayer"
import LayerConfig from "../../Models/ThemeConfig/LayerConfig"
import * as left_right_style_json from "../../assets/layers/left_right_style/left_right_style.json"
import StaticFeatureSource from "../../Logic/FeatureSource/Sources/StaticFeatureSource"
import { SpecialVisualization } from "../SpecialVisualization"
export class SidedMinimap implements SpecialVisualization {
funcName = "sided_minimap"
docs = "A small map showing _only one side_ the selected feature. *This features requires to have linerenderings with offset* as only linerenderings with a postive or negative offset will be shown. Note: in most cases, this map will be automatically introduced"
docs =
"A small map showing _only one side_ the selected feature. *This features requires to have linerenderings with offset* as only linerenderings with a postive or negative offset will be shown. Note: in most cases, this map will be automatically introduced"
args = [
{
doc: "The side to show, either `left` or `right`",
@ -33,18 +34,14 @@ export class SidedMinimap implements SpecialVisualization {
})
const side = args[0]
const feature = state.allElements.ContainingFeatures.get(tagSource.data.id)
const copy = {...feature}
const copy = { ...feature }
copy.properties = {
id: side,
}
new ShowDataLayer({
leafletMap: minimap["leafletMap"],
zoomToFeatures: true,
layerToShow: new LayerConfig(
left_right_style_json,
"all_known_layers",
true
),
layerToShow: new LayerConfig(left_right_style_json, "all_known_layers", true),
features: StaticFeatureSource.fromGeojson([copy]),
state,
})

View file

@ -1,10 +1,10 @@
import LayerConfig from "../../Models/ThemeConfig/LayerConfig";
import TagRenderingConfig from "../../Models/ThemeConfig/TagRenderingConfig";
import {VariableUiElement} from "../Base/VariableUIElement";
import BaseUIElement from "../BaseUIElement";
import EditableTagRendering from "./EditableTagRendering";
import Combine from "../Base/Combine";
import {SpecialVisualization} from "../SpecialVisualization";
import LayerConfig from "../../Models/ThemeConfig/LayerConfig"
import TagRenderingConfig from "../../Models/ThemeConfig/TagRenderingConfig"
import { VariableUiElement } from "../Base/VariableUIElement"
import BaseUIElement from "../BaseUIElement"
import EditableTagRendering from "./EditableTagRendering"
import Combine from "../Base/Combine"
import { SpecialVisualization } from "../SpecialVisualization"
export class StealViz implements SpecialVisualization {
funcName = "steal"
@ -27,9 +27,7 @@ export class StealViz implements SpecialVisualization {
for (const layerAndTagRenderingId of layerAndtagRenderingIds.split(";")) {
const [layerId, tagRenderingId] = layerAndTagRenderingId.trim().split(".")
const layer = state.layoutToUse.layers.find((l) => l.id === layerId)
const tagRendering = layer.tagRenderings.find(
(tr) => tr.id === tagRenderingId
)
const tagRendering = layer.tagRenderings.find((tr) => tr.id === tagRenderingId)
tagRenderings.push([layer, tagRendering])
}
if (tagRenderings.length === 0) {

View file

@ -14,9 +14,9 @@ import { Tag } from "../../Logic/Tags/Tag"
import FeaturePipelineState from "../../Logic/State/FeaturePipelineState"
import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig"
import { Changes } from "../../Logic/Osm/Changes"
import {SpecialVisualization} from "../SpecialVisualization";
import { SpecialVisualization } from "../SpecialVisualization"
export default class TagApplyButton implements AutoAction , SpecialVisualization{
export default class TagApplyButton implements AutoAction, SpecialVisualization {
public readonly funcName = "tag_apply"
public readonly docs =
"Shows a big button; clicking this button will apply certain tags onto the feature.\n\nThe first argument takes a specification of which tags to add.\n" +

View file

@ -105,7 +105,7 @@ export default class TagRenderingQuestion extends Combine {
TagUtils.FlattenAnd(inputElement.GetValue().data, tags.data)
)
if (selection) {
(state?.changes)
;(state?.changes)
.applyAction(
new ChangeTagAction(tags.data.id, selection, tags.data, {
theme: state?.layoutToUse?.id ?? "unkown",
@ -288,7 +288,7 @@ export default class TagRenderingQuestion extends Combine {
value: number
mainTerm: Record<string, string>
searchTerms?: Record<string, string[]>
original: Mapping,
original: Mapping
hasPriority?: Store<boolean>
}[] {
const values: {
@ -296,7 +296,7 @@ export default class TagRenderingQuestion extends Combine {
value: number
mainTerm: Record<string, string>
searchTerms?: Record<string, string[]>
original: Mapping,
original: Mapping
hasPriority?: Store<boolean>
}[] = []
const addIcons = applicableMappings.some((m) => m.icon !== undefined)
@ -319,7 +319,7 @@ export default class TagRenderingQuestion extends Combine {
mainTerm: tr.translations,
searchTerms: mapping.searchTerms,
original: mapping,
hasPriority: tagsSource.map(tags => mapping.priorityIf?.matchesProperties(tags))
hasPriority: tagsSource.map((tags) => mapping.priorityIf?.matchesProperties(tags)),
})
}
return values
@ -400,7 +400,7 @@ export default class TagRenderingQuestion extends Combine {
const values = TagRenderingQuestion.MappingToPillValue(
applicableMappings,
tagsSource,
state,
state
)
const searchValue: UIEventSource<string> =
@ -419,7 +419,7 @@ export default class TagRenderingQuestion extends Combine {
mode,
searchValue,
onNoMatches: onEmpty?.SetClass(classes).SetClass("flex justify-center items-center"),
searchAreaClass: classes
searchAreaClass: classes,
})
const fallbackTag = searchValue.map((s) => {
if (s === undefined || ff?.key === undefined) {

View file

@ -1,27 +1,28 @@
import {Utils} from "../../Utils";
import {Feature} from "geojson";
import {Point} from "@turf/turf";
import {GeoLocationPointProperties} from "../../Logic/Actors/GeoLocationHandler";
import UploadTraceToOsmUI from "../BigComponents/UploadTraceToOsmUI";
import {SpecialVisualization} from "../SpecialVisualization";
import { Utils } from "../../Utils"
import { Feature } from "geojson"
import { Point } from "@turf/turf"
import { GeoLocationPointProperties } from "../../Logic/Actors/GeoLocationHandler"
import UploadTraceToOsmUI from "../BigComponents/UploadTraceToOsmUI"
import { SpecialVisualization } from "../SpecialVisualization"
/**
* Wrapper around 'UploadTraceToOsmUI'
*/
export class UploadToOsmViz implements SpecialVisualization {
funcName = "upload_to_osm"
docs = "Uploads the GPS-history as GPX to OpenStreetMap.org; clears the history afterwards. The actual feature is ignored."
args = []
docs =
"Uploads the GPS-history as GPX to OpenStreetMap.org; clears the history afterwards. The actual feature is ignored."
args = []
constr(state, featureTags, args) {
function getTrace(title: string) {
title = title?.trim()
if (title === undefined || title === "") {
title = "Uploaded with MapComplete"
}
title = Utils.EncodeXmlValue(title)
const userLocations: Feature<Point, GeoLocationPointProperties>[] = state.historicalUserLocations.features.data.map(f => f.feature)
const userLocations: Feature<Point, GeoLocationPointProperties>[] =
state.historicalUserLocations.features.data.map((f) => f.feature)
const trackPoints: string[] = []
for (const l of userLocations) {
let trkpt = ` <trkpt lat="${l.geometry.coordinates[1]}" lon="${l.geometry.coordinates[0]}">`
@ -32,14 +33,22 @@ export class UploadToOsmViz implements SpecialVisualization {
trkpt += " </trkpt>"
trackPoints.push(trkpt)
}
const header = '<gpx version="1.1" creator="MapComplete track uploader" xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">'
return header + "\n<name>" + title + "</name>\n<trk><trkseg>\n" + trackPoints.join("\n") + "\n</trkseg></trk></gpx>"
const header =
'<gpx version="1.1" creator="MapComplete track uploader" xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">'
return (
header +
"\n<name>" +
title +
"</name>\n<trk><trkseg>\n" +
trackPoints.join("\n") +
"\n</trkseg></trk></gpx>"
)
}
return new UploadTraceToOsmUI(getTrace, state, {
whenUploaded: async () => {
state.historicalUserLocations.features.setData([])
}
},
})
}
}

View file

@ -1,7 +1,7 @@
import {UIEventSource} from "../Logic/UIEventSource";
import BaseUIElement from "./BaseUIElement";
import FeaturePipelineState from "../Logic/State/FeaturePipelineState";
import {DefaultGuiState} from "./DefaultGuiState";
import { UIEventSource } from "../Logic/UIEventSource"
import BaseUIElement from "./BaseUIElement"
import FeaturePipelineState from "../Logic/State/FeaturePipelineState"
import { DefaultGuiState } from "./DefaultGuiState"
export interface SpecialVisualization {
funcName: string

View file

@ -1,68 +1,68 @@
import Combine from "./Base/Combine"
import {FixedUiElement} from "./Base/FixedUiElement"
import { FixedUiElement } from "./Base/FixedUiElement"
import BaseUIElement from "./BaseUIElement"
import Title from "./Base/Title"
import Table from "./Base/Table"
import {SpecialVisualization} from "./SpecialVisualization";
import {HistogramViz} from "./Popup/HistogramViz";
import {StealViz} from "./Popup/StealViz";
import {MinimapViz} from "./Popup/MinimapViz";
import {SidedMinimap} from "./Popup/SidedMinimap";
import {ShareLinkViz} from "./Popup/ShareLinkViz";
import {UploadToOsmViz} from "./Popup/UploadToOsmViz";
import {MultiApplyViz} from "./Popup/MultiApplyViz";
import {ExportAsGpxViz} from "./Popup/ExportAsGpxViz";
import {AddNoteCommentViz} from "./Popup/AddNoteCommentViz";
import {PlantNetDetectionViz} from "./Popup/PlantNetDetectionViz";
import {ConflateButton, ImportPointButton, ImportWayButton} from "./Popup/ImportButton";
import TagApplyButton from "./Popup/TagApplyButton";
import {CloseNoteButton} from "./Popup/CloseNoteButton";
import {NearbyImageVis} from "./Popup/NearbyImageVis";
import {MapillaryLinkVis} from "./Popup/MapillaryLinkVis";
import {Stores, UIEventSource} from "../Logic/UIEventSource";
import {AllTagsPanel} from "./AllTagsPanel";
import AllImageProviders from "../Logic/ImageProviders/AllImageProviders";
import {ImageCarousel} from "./Image/ImageCarousel";
import {ImageUploadFlow} from "./Image/ImageUploadFlow";
import {VariableUiElement} from "./Base/VariableUIElement";
import {Utils} from "../Utils";
import WikipediaBox from "./Wikipedia/WikipediaBox";
import Wikidata, {WikidataResponse} from "../Logic/Web/Wikidata";
import {Translation} from "./i18n/Translation";
import Translations from "./i18n/Translations";
import MangroveReviews from "../Logic/Web/MangroveReviews";
import ReviewForm from "./Reviews/ReviewForm";
import ReviewElement from "./Reviews/ReviewElement";
import OpeningHoursVisualization from "./OpeningHours/OpeningHoursVisualization";
import LiveQueryHandler from "../Logic/Web/LiveQueryHandler";
import {SubtleButton} from "./Base/SubtleButton";
import Svg from "../Svg";
import {OpenIdEditor, OpenJosm} from "./BigComponents/CopyrightPanel";
import Hash from "../Logic/Web/Hash";
import NoteCommentElement from "./Popup/NoteCommentElement";
import ImgurUploader from "../Logic/ImageProviders/ImgurUploader";
import FileSelectorButton from "./Input/FileSelectorButton";
import {LoginToggle} from "./Popup/LoginButton";
import Toggle from "./Input/Toggle";
import {SubstitutedTranslation} from "./SubstitutedTranslation";
import List from "./Base/List";
import {OsmFeature} from "../Models/OsmFeature";
import LayerConfig from "../Models/ThemeConfig/LayerConfig";
import {GeoOperations} from "../Logic/GeoOperations";
import StatisticsPanel from "./BigComponents/StatisticsPanel";
import AutoApplyButton from "./Popup/AutoApplyButton";
import {LanguageElement} from "./Popup/LanguageElement";
import { SpecialVisualization } from "./SpecialVisualization"
import { HistogramViz } from "./Popup/HistogramViz"
import { StealViz } from "./Popup/StealViz"
import { MinimapViz } from "./Popup/MinimapViz"
import { SidedMinimap } from "./Popup/SidedMinimap"
import { ShareLinkViz } from "./Popup/ShareLinkViz"
import { UploadToOsmViz } from "./Popup/UploadToOsmViz"
import { MultiApplyViz } from "./Popup/MultiApplyViz"
import { ExportAsGpxViz } from "./Popup/ExportAsGpxViz"
import { AddNoteCommentViz } from "./Popup/AddNoteCommentViz"
import { PlantNetDetectionViz } from "./Popup/PlantNetDetectionViz"
import { ConflateButton, ImportPointButton, ImportWayButton } from "./Popup/ImportButton"
import TagApplyButton from "./Popup/TagApplyButton"
import { CloseNoteButton } from "./Popup/CloseNoteButton"
import { NearbyImageVis } from "./Popup/NearbyImageVis"
import { MapillaryLinkVis } from "./Popup/MapillaryLinkVis"
import { Stores, UIEventSource } from "../Logic/UIEventSource"
import { AllTagsPanel } from "./AllTagsPanel"
import AllImageProviders from "../Logic/ImageProviders/AllImageProviders"
import { ImageCarousel } from "./Image/ImageCarousel"
import { ImageUploadFlow } from "./Image/ImageUploadFlow"
import { VariableUiElement } from "./Base/VariableUIElement"
import { Utils } from "../Utils"
import WikipediaBox from "./Wikipedia/WikipediaBox"
import Wikidata, { WikidataResponse } from "../Logic/Web/Wikidata"
import { Translation } from "./i18n/Translation"
import Translations from "./i18n/Translations"
import MangroveReviews from "../Logic/Web/MangroveReviews"
import ReviewForm from "./Reviews/ReviewForm"
import ReviewElement from "./Reviews/ReviewElement"
import OpeningHoursVisualization from "./OpeningHours/OpeningHoursVisualization"
import LiveQueryHandler from "../Logic/Web/LiveQueryHandler"
import { SubtleButton } from "./Base/SubtleButton"
import Svg from "../Svg"
import { OpenIdEditor, OpenJosm } from "./BigComponents/CopyrightPanel"
import Hash from "../Logic/Web/Hash"
import NoteCommentElement from "./Popup/NoteCommentElement"
import ImgurUploader from "../Logic/ImageProviders/ImgurUploader"
import FileSelectorButton from "./Input/FileSelectorButton"
import { LoginToggle } from "./Popup/LoginButton"
import Toggle from "./Input/Toggle"
import { SubstitutedTranslation } from "./SubstitutedTranslation"
import List from "./Base/List"
import { OsmFeature } from "../Models/OsmFeature"
import LayerConfig from "../Models/ThemeConfig/LayerConfig"
import { GeoOperations } from "../Logic/GeoOperations"
import StatisticsPanel from "./BigComponents/StatisticsPanel"
import AutoApplyButton from "./Popup/AutoApplyButton"
import { LanguageElement } from "./Popup/LanguageElement"
export default class SpecialVisualizations {
public static specialVisualizations: SpecialVisualization[] = SpecialVisualizations.initList();
public static specialVisualizations: SpecialVisualization[] = SpecialVisualizations.initList()
private static initList() : SpecialVisualization[] {
private static initList(): SpecialVisualization[] {
const specialVisualizations: SpecialVisualization[] = [
new HistogramViz(),
new StealViz(),
new MinimapViz(),
new SidedMinimap(),
new ShareLinkViz() ,
new ShareLinkViz(),
new UploadToOsmViz(),
new MultiApplyViz(),
new ExportAsGpxViz(),
@ -535,7 +535,7 @@ export default class SpecialVisualizations {
element: OsmFeature
layer: LayerConfig
}[]
>([])
>([])
function update() {
const mapCenter = <[number, number]>[
@ -663,15 +663,19 @@ export default class SpecialVisualizations {
)
},
},
]
specialVisualizations.push(new AutoApplyButton(specialVisualizations))
const invalid = specialVisualizations.map((sp,i) => ({sp, i})).filter(sp => sp.sp.funcName === undefined)
if(invalid.length > 0){
throw "Invalid special visualisation found: funcName is undefined for "+invalid.map(sp => sp.i).join(", ")+". Did you perhaps type \n funcName: \"funcname\" // type declaration uses COLON\ninstead of:\n funcName = \"funcName\" // value definition uses EQUAL"
const invalid = specialVisualizations
.map((sp, i) => ({ sp, i }))
.filter((sp) => sp.sp.funcName === undefined)
if (invalid.length > 0) {
throw (
"Invalid special visualisation found: funcName is undefined for " +
invalid.map((sp) => sp.i).join(", ") +
'. Did you perhaps type \n funcName: "funcname" // type declaration uses COLON\ninstead of:\n funcName = "funcName" // value definition uses EQUAL'
)
}
return specialVisualizations

View file

@ -10,7 +10,7 @@ import BaseUIElement from "./BaseUIElement"
import { DefaultGuiState } from "./DefaultGuiState"
import FeaturePipelineState from "../Logic/State/FeaturePipelineState"
import LinkToWeblate from "./Base/LinkToWeblate"
import {SpecialVisualization} from "./SpecialVisualization";
import { SpecialVisualization } from "./SpecialVisualization"
export class SubstitutedTranslation extends VariableUiElement {
public constructor(

View file

@ -16,11 +16,19 @@ export default class WikidataUtils {
* @param remapLanguages
*/
public static extractLanguageData(
data: { lang: { value: string }; code: { value: string }; label: { value: string }; directionalityLabel?: { value?: string } }[],
data: {
lang: { value: string }
code: { value: string }
label: { value: string }
directionalityLabel?: { value?: string }
}[],
remapLanguages: Record<string, string>
): Map<string, { translations: Map<string, string>, directionality?: string[] }> {
): Map<string, { translations: Map<string, string>; directionality?: string[] }> {
console.log("Got " + data.length + " entries")
const perId = new Map<string, { translations: Map<string, string>, directionality?: string[] }>()
const perId = new Map<
string,
{ translations: Map<string, string>; directionality?: string[] }
>()
for (const element of data) {
let id = element.code.value
id = remapLanguages[id] ?? id
@ -28,13 +36,13 @@ export default class WikidataUtils {
labelLang = remapLanguages[labelLang] ?? labelLang
const value = element.label.value
if (!perId.has(id)) {
perId.set(id, {translations: new Map<string, string>(), directionality: []})
perId.set(id, { translations: new Map<string, string>(), directionality: [] })
}
const entry = perId.get(id)
entry.translations.set(labelLang, value)
const dir = element.directionalityLabel?.value
if (dir) {
if(entry.directionality.indexOf(dir) < 0) {
if (entry.directionality.indexOf(dir) < 0) {
entry.directionality.push(dir)
}
}

View file

@ -1,11 +1,11 @@
{
"contributors": [
{
"commits": 4594,
"commits": 4630,
"contributor": "Pieter Vander Vennet"
},
{
"commits": 244,
"commits": 245,
"contributor": "Robin van der Linde"
},
{

View file

@ -14,7 +14,9 @@
"nb_NO": "Kjente adresser i OSM",
"da": "Kendte adresser i OSM",
"pt": "Endereços conhecidos no OSM",
"eo": "Konataj adresoj en OSM"
"eo": "Konataj adresoj en OSM",
"cs": "Známé adresy v OSM",
"pa_PK": "او‌ایس‌ایم وچ جاݨ پچھاݨے پتے"
},
"minzoom": 18,
"source": {
@ -44,7 +46,8 @@
"zh_Hans": "已知的地址",
"id": "Alamat yang diketahui",
"nb_NO": "Kjent adresse",
"da": "Kendt adresse"
"da": "Kendt adresse",
"cs": "Známá adresa"
}
},
"description": {
@ -63,7 +66,9 @@
"nb_NO": "Adresser",
"da": "Adresser",
"pt": "Endereços",
"eo": "Adresoj"
"eo": "Adresoj",
"cs": "Adresy",
"pa_PK": "پتے"
},
"tagRenderings": [
{
@ -79,7 +84,8 @@
"zh_Hans": "门牌号是<b>{addr:housenumber}</b>",
"id": "Nomor rumah ini <b>{addr:housenumber}</b>",
"es": "El número de puerta es <b>{addr:housenumber}</b>",
"da": "Husnummeret er <b>{addr:housenumber}</b>"
"da": "Husnummeret er <b>{addr:housenumber}</b>",
"cs": "Číslo domu je <b>{addr:housenumber}</b>"
},
"question": {
"en": "What is the number of this house?",
@ -92,7 +98,8 @@
"es": "¿Cuál es el número de esta casa?",
"zh_Hans": "这个屋子的门牌号是多少?",
"id": "Berapa nomor rumah ini?",
"da": "Hvad er nummeret på dette hus?"
"da": "Hvad er nummeret på dette hus?",
"cs": "Jaké je číslo tohoto domu?"
},
"freeform": {
"key": "addr:housenumber",
@ -119,7 +126,8 @@
"es": "Esta edificación no tiene número",
"zh_Hans": "这个建筑物没有门牌号",
"da": "Denne bygning har intet husnummer",
"zh_Hant": "這棟建築沒有門牌"
"zh_Hant": "這棟建築沒有門牌",
"cs": "Tato budova nemá číslo domu"
}
}
]
@ -136,7 +144,8 @@
"zh_Hans": "这个地址位于<b>{addr:street}</b>街",
"id": "Alamat ini ada di jalan <b>{addr:street}</b>",
"es": "La dirección está en esta calle <b>{addr:street}</b>",
"da": "Denne adresse er på gaden <b>{addr:street}</b>"
"da": "Denne adresse er på gaden <b>{addr:street}</b>",
"cs": "Tato adresa se nachází v ulici <b>{addr:street}</b>"
},
"question": {
"en": "What street is this address located in?",
@ -149,7 +158,8 @@
"es": "¿En qué calle se encuentra esta dirección?",
"zh_Hans": "这个地址位于哪条街道?",
"id": "Alamat ini di jalan apa?",
"da": "Hvilken gade ligger denne adresse på?"
"da": "Hvilken gade ligger denne adresse på?",
"cs": "V jaké ulici se nachází tato adresa?"
},
"freeform": {
"key": "addr:street"
@ -191,7 +201,8 @@
"es": "¿Qué debe corregirse aquí? Expóngalo",
"nl": "Wat moet hier gecorrigeerd worden? Leg het uit",
"zh_Hans": "这里应被如何修复?请做出解释",
"da": "Hvad skal rettes her? Forklar venligst"
"da": "Hvad skal rettes her? Forklar venligst",
"cs": "Co by se zde mělo opravit? Vysvětlete to, prosím"
},
"freeform": {
"key": "fixme"

View file

@ -12,7 +12,8 @@
"zh_Hans": "救护车站地图",
"id": "Peta stasiun ambulans",
"es": "Mapa de estaciones de ambulancias",
"da": "Kort over ambulancestationer"
"da": "Kort over ambulancestationer",
"cs": "Mapa stanic rychlé záchranné služby"
},
"minzoom": 12,
"source": {
@ -33,7 +34,8 @@
"hu": "Mentőállomás",
"nl": "Ambulancestation",
"es": "Estación de Ambulancias",
"da": "Ambulancestation"
"da": "Ambulancestation",
"cs": "Stanice rychlé záchranné služby"
}
},
"description": {
@ -46,7 +48,8 @@
"ru": "Станция скорой помощи это полигон для хранения транспорта, медицинского оборудования, средств индивидуальной защиты и других медицинских принадлежностей.",
"nl": "Een ambulancestation is een plaats waar ambulances, medisch materiaal, persoonlijk beschermingsmateriaal en aanverwanten worden bewaard.",
"es": "Una estación de ambulancias es una zona para almacenar vehículos de ambulancia, equipamiento médico, equipos de protección personal y otros suministros médicos.",
"da": "En ambulancestation er et område til opbevaring af ambulancekøretøjer, medicinsk udstyr, personlige værnemidler og andre medicinske forsyninger."
"da": "En ambulancestation er et område til opbevaring af ambulancekøretøjer, medicinsk udstyr, personlige værnemidler og andre medicinske forsyninger.",
"cs": "Stanice záchranné služby je prostor pro umístění sanitních vozidel, zdravotnického vybavení, osobních ochranných prostředků a dalšího zdravotnického materiálu."
},
"tagRenderings": [
{
@ -65,7 +68,8 @@
"nl": "Hoe heet dit ambulancestation?",
"es": "¿Cual es el nombre de esta estación de ambulancias?",
"nb_NO": "Hva er navnet på denne ambulansestasjonen?",
"da": "Hvad hedder denne ambulancestation?"
"da": "Hvad hedder denne ambulancestation?",
"cs": "Jak se jmenuje tato stanice záchranné služby?"
},
"render": {
"en": "This station is called {name}.",
@ -78,7 +82,8 @@
"nl": "Dit station heet {name}.",
"es": "Esta estación se llama {name}.",
"nb_NO": "Denne stasjonen heter {name}.",
"da": "Denne station hedder {name}."
"da": "Denne station hedder {name}.",
"cs": "Tato stanice se jmenuje {name}."
}
},
{
@ -96,7 +101,8 @@
"hu": "Mi a neve annak az utcának, amelyben az állomás található?",
"nl": "In welke straat ligt dit station?",
"es": "¿Cual es el nombre de la calle en la que se encuentra la estación?",
"da": "Hvad er vejnavnet, hvor stationen ligger?"
"da": "Hvad er vejnavnet, hvor stationen ligger?",
"cs": "Jak se jmenuje ulice, kde se stanice nachází?"
},
"render": {
"en": "This station is along a highway called {addr:street}.",
@ -108,7 +114,8 @@
"hu": "Ez az állomás a következő utcában van: {addr:street}.",
"nl": "Straat waar dit station ligt: {addr:street}",
"es": "Esta estación se encuentra al lado de una autovía llamada {addr:street}.",
"da": "Denne station ligger langs en vej, der hedder {addr:street}."
"da": "Denne station ligger langs en vej, der hedder {addr:street}.",
"cs": "Tato stanice se nachází podél dálnice s názvem {addr:street}."
}
},
{
@ -123,7 +130,8 @@
"hu": "Hol található az állomás? (Pl. a falu, kisváros vagy városrész neve.)",
"nl": "Waar ligt het station? (v.b. naam van de buurt, dorp of stad)",
"es": "¿Dónde se encuentra la estación? (ej. nombre del barrio, pueblo o ciudad)",
"da": "Hvor ligger stationen? (f.eks. navn på kvarter, landsby eller by)"
"da": "Hvor ligger stationen? (f.eks. navn på kvarter, landsby eller by)",
"cs": "Kde se stanice nachází? (např. název čtvrti, obce nebo města)"
},
"freeform": {
"key": "addr:place"
@ -137,7 +145,8 @@
"hu": "Ez az állomás itt található: {addr:place}.",
"nl": "Dit station ligt in {addr:place}.",
"es": "Esta estación se encuentra en {addr:place}.",
"da": "Denne station findes i {addr:place}."
"da": "Denne station findes i {addr:place}.",
"cs": "Tato stanice se nachází v rámci {addr:place}."
}
},
{
@ -152,7 +161,8 @@
"ru": "Какая организация управляет этой станцией?",
"nl": "Welke organisatie beheert dit station?",
"es": "¿Qué agencia opera esta estación?",
"da": "Hvilket agentur driver denne station?"
"da": "Hvilket agentur driver denne station?",
"cs": "Jaká organizace tuto stanici provozuje?"
},
"render": {
"en": "This station is operated by {operator}.",
@ -164,7 +174,8 @@
"ru": "Эта станция управляется {operator}.",
"nl": "Dit station wordt beheerd door {operator}.",
"es": "Esta estación la opera {operator}.",
"da": "Denne station drives af {operator}."
"da": "Denne station drives af {operator}.",
"cs": "Tuto stanici provozuje společnost {operator}."
},
"freeform": {
"key": "operator"
@ -182,7 +193,8 @@
"hu": "Hogyan sorolható be az állomás üzemeltetője?",
"nl": "Wat voor een organisatie is de beheerder van dit station?",
"es": "¿Como está clasificada la operadora de la estación?",
"da": "Hvordan klassificeres stationsoperatøren?"
"da": "Hvordan klassificeres stationsoperatøren?",
"cs": "Jak je klasifikován provozovatel stanice?"
},
"render": {
"en": "The operator is a(n) {operator:type} entity.",
@ -193,7 +205,8 @@
"hu": "Az üzemeltető egy {operator:type} jellegű szervezet.",
"nl": "De beheerder is van het type {operator:type}.",
"es": "La operador a no es una entidad de tipo {operator:type}.",
"da": "Operatøren er en (n) {operator:type} enhed."
"da": "Operatøren er en (n) {operator:type} enhed.",
"cs": "Operátor je {operator:type} entita."
},
"freeform": {
"key": "operator:type"
@ -215,7 +228,8 @@
"ru": "Станция управляется правительством.",
"nl": "Dit station wordt beheerd door de overheid.",
"es": "La estación la opera el govierno.",
"da": "Stationen drives af staten."
"da": "Stationen drives af staten.",
"cs": "Provozovatelem stanice je vláda."
}
},
{
@ -234,7 +248,8 @@
"ru": "Станция управляется волонтёрами или частной организацией.",
"nl": "Dit station wordt beheerd door een informele of community organisatie.",
"es": "La estación la opera una organización basada en la comunidad o informal.",
"da": "Stationen drives af en samfundsbaseret eller uformel organisation."
"da": "Stationen drives af en samfundsbaseret eller uformel organisation.",
"cs": "Provozovatelem stanice je komunitní nebo neformální organizace."
}
},
{
@ -252,7 +267,8 @@
"hu": "A mentőállomást egy önkéntesekből álló hivatalos csoport működteti.",
"nl": "Dit station wordt beheerd door een formele groep vrijwilligers.",
"es": "La estación la opera un grupo formal de voluntarios.",
"da": "Stationen drives af en formel gruppe af frivillige."
"da": "Stationen drives af en formel gruppe af frivillige.",
"cs": "Stanice je provozována formální skupinou dobrovolníků."
}
},
{
@ -270,7 +286,8 @@
"hu": "Az állomást egy magánkézben lévő szervezet működteti.",
"nl": "Dit station wordt beheerd door een privé-organisatie.",
"es": "La estación se opera privadamente.",
"da": "Stationen er privatdrevet."
"da": "Stationen er privatdrevet.",
"cs": "Stanice je provozována soukromým subjektem."
}
}
]
@ -295,7 +312,8 @@
"id": "Stasiun ambulans",
"es": "una estación de ambulancias",
"nb_NO": "en ambulansestasjon",
"da": "en ambulancestation"
"da": "en ambulancestation",
"cs": "stanice rychlé záchranné služby"
},
"description": {
"en": "Add an ambulance station to the map",
@ -310,7 +328,8 @@
"id": "Tambahkan stasiun ambulans ke peta",
"es": "Añadir una estación de ambulancias al mapa",
"nb_NO": "Legg til en ambulansestasjon på kartet",
"da": "Tilføj en ambulancestation til kortet"
"da": "Tilføj en ambulancestation til kortet",
"cs": "Přidat na mapu stanici záchranné služby"
}
}
],

View file

@ -16,7 +16,9 @@
"hu": "Műalkotások",
"pl": "Dzieła sztuki",
"ca": "Obres d'art",
"da": "Kunstværker"
"da": "Kunstværker",
"cs": "Umělecká díla",
"pa_PK": "کلاکاری"
},
"source": {
"osmTags": "tourism=artwork"
@ -42,7 +44,9 @@
"pt_BR": "Obra de arte",
"sv": "Konstverk",
"ca": "Obra d'art",
"da": "Kunstværk"
"da": "Kunstværk",
"cs": "Umělecké dílo",
"pa_PK": "کلاکاری"
},
"mappings": [
{
@ -66,7 +70,8 @@
"pt": "Obra de arte <i>{name}</i>",
"pt_BR": "Obra de arte <i>{name}</i>",
"sv": "Konstverk <i>{name}</i>",
"da": "Kunstværk <i>{name}</i>"
"da": "Kunstværk <i>{name}</i>",
"cs": "Umělecké dílo <i>{name}</i>"
}
}
]
@ -85,7 +90,8 @@
"pt": "Diversas obras de arte",
"hu": "Szobrok, mellszobrok, graffitik és egyéb műalkotások nyílt világtérképe",
"da": "Et åbent kort over statuer, buster, graffitis og andre kunstværker over hele verden",
"ca": "Un mapa obert d'estàtues, busts, grafitis i altres obres d'art del tot el món"
"ca": "Un mapa obert d'estàtues, busts, grafitis i altres obres d'art del tot el món",
"cs": "Otevřená mapa soch, bust, graffiti a dalších uměleckých děl po celém světě"
},
"minzoom": 12,
"presets": [
@ -112,7 +118,8 @@
"pt": "uma obra de arte",
"pt_BR": "uma obra de arte",
"sv": "Konstverk",
"da": "et kunstværk"
"da": "et kunstværk",
"cs": "umělecké dílo"
}
}
],
@ -134,7 +141,8 @@
"pt": "Isto é um(a) {artwork_type}",
"hu": "Ez egy {artwork_type}",
"pl": "Jest to {artwork_type}",
"da": "Dette er en {artwork_type}"
"da": "Dette er en {artwork_type}",
"cs": "Toto je {artwork_type}"
},
"question": {
"en": "What is the type of this artwork?",
@ -151,7 +159,8 @@
"pt": "Qual é o tipo desta obra de arte?",
"hu": "Milyen fajta műalkotás ez?",
"pl": "Jakiego rodzaju jest to dzieło sztuki?",
"da": "Hvilken slags kunstværk er det?"
"da": "Hvilken slags kunstværk er det?",
"cs": "Jaký je typ tohoto uměleckého díla?"
},
"freeform": {
"key": "artwork_type",
@ -178,7 +187,8 @@
"pl": "Architektura",
"es": "Arquitectura",
"ca": "Arquitectura",
"da": "Arkitektur"
"da": "Arkitektur",
"cs": "Architektura"
}
},
{
@ -199,7 +209,9 @@
"pl": "Mural",
"es": "Mural",
"ca": "Mural",
"da": "Vægmaleri"
"da": "Vægmaleri",
"cs": "Nástěnná malba",
"pa_PK": "کندھ چتر"
}
},
{
@ -220,7 +232,8 @@
"pl": "Obraz",
"es": "Pintura",
"ca": "Pintura",
"da": "Maleri"
"da": "Maleri",
"cs": "Malba"
}
},
{
@ -241,7 +254,9 @@
"pl": "Rzeźba",
"es": "Escultura",
"ca": "Escultura",
"da": "Skulptur"
"da": "Skulptur",
"cs": "Plastika",
"pa_PK": "مورتی"
}
},
{
@ -261,7 +276,8 @@
"pl": "Posąg",
"es": "Estatua",
"ca": "Estàtua",
"da": "Statue"
"da": "Statue",
"cs": "Socha"
}
},
{
@ -281,7 +297,8 @@
"pl": "Popiersie",
"es": "Busto",
"ca": "Bust",
"da": "Buste"
"da": "Buste",
"cs": "Busta"
}
},
{
@ -302,7 +319,9 @@
"pl": "Skała",
"ca": "Pedra",
"es": "Piedra",
"da": "Sten"
"da": "Sten",
"pa_PK": "پتھر",
"cs": "Kámen"
}
},
{
@ -323,7 +342,8 @@
"pl": "Instalacja artystyczna",
"es": "Instalación",
"ca": "Instal·lació",
"da": "Installation"
"da": "Installation",
"cs": "Instalace"
}
},
{
@ -344,7 +364,8 @@
"pl": "Graffiti",
"es": "Grafiti",
"ca": "Grafiti",
"da": "Graffiti"
"da": "Graffiti",
"cs": "Graffiti"
}
},
{
@ -365,7 +386,8 @@
"pl": "Płaskorzeźba",
"ca": "Relleu",
"es": "Relieve",
"da": "Relief"
"da": "Relief",
"cs": "Reliéf"
}
},
{
@ -385,7 +407,8 @@
"hu": "Azulejo (portugál vagy spanyol dekoratív csempe)",
"pl": "Azulejo (hiszpańskie płytka dekoracyjna)",
"es": "Azulejo (Baldosas decorativas Españolas y Portuguesas)",
"da": "Azulejo (spansk dekorativt flisebeklædning)"
"da": "Azulejo (spansk dekorativt flisebeklædning)",
"cs": "Azulejo (španělské dekorativní dlaždice)"
}
},
{
@ -405,7 +428,8 @@
"pl": "Płyta ceramiczna (fliza)",
"ca": "Enrajolat",
"es": "Cerámica",
"da": "flisebeklædning"
"da": "flisebeklædning",
"cs": "Obklady a dlažba"
}
},
{
@ -413,7 +437,8 @@
"then": {
"nl": "Houtsculptuur",
"en": "Woodcarving",
"de": "Holzschnitzerei"
"de": "Holzschnitzerei",
"cs": "Dřevořezba"
}
}
],
@ -424,12 +449,14 @@
"render": {
"en": "This artwork was made by {wikidata_label(artist:wikidata):font-weight:bold}<br/>{wikipedia(artist:wikidata)}",
"de": "Dieses Kunstwerk wurde geschaffen von {wikidata_label(artist:wikidata):font-weight:bold}<br/>{wikipedia(artist:wikidata)}",
"nl": "Dit kunstwerk is gemaakt door {wikidata_label(artist:wikidata):font-weight:bold}<br/>{wikipedia(artist:wikidata)}"
"nl": "Dit kunstwerk is gemaakt door {wikidata_label(artist:wikidata):font-weight:bold}<br/>{wikipedia(artist:wikidata)}",
"cs": "Toto dílo vytvořil {wikidata_label(artist:wikidata):font-weight:bold}<br/>{wikipedia(artist:wikidata)}"
},
"question": {
"en": "Who made this artwork?",
"de": "Wer hat dieses Kunstwerk geschaffen?",
"nl": "Wie heeft dit kunstwerk gemaakt?"
"nl": "Wie heeft dit kunstwerk gemaakt?",
"cs": "Kdo je autorem tohoto díla?"
},
"freeform": {
"key": "artist:wikidata",
@ -460,7 +487,8 @@
"hu": "Melyik művész alkotása ezt?",
"pl": "Który artysta to stworzył?",
"es": "¿Que artista creó esto?",
"da": "Hvilken kunstner har lavet dette?"
"da": "Hvilken kunstner har lavet dette?",
"cs": "Který umělec to vytvořil?"
},
"render": {
"en": "Created by {artist_name}",
@ -477,7 +505,8 @@
"hu": "Alkotó: {artist_name}",
"pl": "Stworzone przez {artist_name}",
"es": "Creado por {artist_name}",
"da": "Lavet af {artist_name}"
"da": "Lavet af {artist_name}",
"cs": "Vytvořil {artist_name}"
},
"freeform": {
"key": "artist_name"
@ -501,7 +530,8 @@
"hu": "Van-e olyan honlap, amely további információkat tartalmaz erről a műalkotásról?",
"pl": "Gdzie znajdę więcej informacji na temat tego dzieła sztuki?",
"es": "¿Hay un sitio web con más información sobre esta obra de arte?",
"da": "Er der et websted med mere information om dette kunstværk?"
"da": "Er der et websted med mere information om dette kunstværk?",
"cs": "Existuje webová stránka s dalšími informacemi o tomto uměleckém díle?"
},
"render": {
"en": "More information on <a href='{website}' target='_blank'>this website</a>",
@ -518,7 +548,8 @@
"hu": "További információ <a href='{website}' target='_blank'>ezen a weboldalon</a>",
"pl": "Więcej informacji na <a href='{website}' target='_blank'>tej stronie</a>",
"es": "Más información en <a href='{website}' target='_blank'>este sitio web</a>",
"da": "Yderligere oplysninger på <a href='{website}' target='_blank'>dette websted</a>"
"da": "Yderligere oplysninger på <a href='{website}' target='_blank'>dette websted</a>",
"cs": "Více informací na <a href='{website}' target='_blank'>této webové stránce</a>"
},
"freeform": {
"key": "website",
@ -533,7 +564,8 @@
"question": {
"en": "What does this artwork depict?",
"de": "Was zeigt dieses Kunstwerk?",
"nl": "Wat beeldt dit kunstwerk af?"
"nl": "Wat beeldt dit kunstwerk af?",
"cs": "Co zobrazuje toto umělecké dílo?"
},
"freeform": {
"key": "subject:wikidata",
@ -542,7 +574,8 @@
"render": {
"en": "This artwork depicts {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}",
"de": "Das Kunstwerk zeigt {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}",
"nl": "Dit kunstwerk beeldt {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)} af"
"nl": "Dit kunstwerk beeldt {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)} af",
"cs": "Toto dílo zobrazuje {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}"
}
}
],

View file

@ -9,7 +9,9 @@
"fr": "Barrières",
"es": "Barreras",
"ca": "Barreres",
"da": "Barrierer"
"da": "Barrierer",
"cs": "Překážky",
"pa_PK": "رُکاوٹاں"
},
"description": {
"en": "Obstacles while cycling, such as bollards and cycle barriers",
@ -18,7 +20,8 @@
"hu": "Kerékpározás közbeni akadályok, például terelőoszlopok és kerékpárakadályok",
"fr": "Obstacles à vélo, tels que des potelets ou des barrières",
"es": "Obstáculos durante el uso de la bicicleta, como bolardos y barreras para bicicletas",
"da": "Forhindringer under cykling, f.eks. pæle og cykelbarrierer"
"da": "Forhindringer under cykling, f.eks. pæle og cykelbarrierer",
"cs": "Překážky při jízdě na kole, jako jsou patníky a zábrany pro cyklisty"
},
"source": {
"osmTags": {
@ -38,7 +41,9 @@
"fr": "Barrière",
"es": "Barrera",
"ca": "Barrera",
"da": "Barriere"
"da": "Barriere",
"cs": "Bariéra",
"pa_PK": "رُکاوٹ"
},
"mappings": [
{
@ -51,7 +56,9 @@
"fr": "Bollard",
"es": "Bolardo",
"ca": "Pilona",
"da": "Pullert"
"da": "Pullert",
"cs": "Sloupek",
"pa_PK": "بولارڈ"
}
},
{
@ -63,7 +70,8 @@
"fr": "Barrière cyclable",
"ca": "Barrera ciclista",
"es": "Barrera Ciclista",
"da": "Cykelbarriere"
"da": "Cykelbarriere",
"cs": "Cyklistická bariéra"
}
}
]
@ -79,7 +87,8 @@
"hu": "Terelőoszlop",
"es": "una bolardo",
"ca": "una pilona",
"da": "en pullert"
"da": "en pullert",
"cs": "sloupek"
},
"tags": [
"barrier=bollard"
@ -91,7 +100,8 @@
"hu": "Terelőoszlop az úton",
"fr": "Un potelet sur le chemin",
"es": "Un bolardo en la carretera",
"da": "En pullert på vejen"
"da": "En pullert på vejen",
"cs": "Sloupek na silnici"
},
"preciseInput": {
"preferredBackground": [
@ -109,7 +119,8 @@
"hu": "Kerékpárakadály",
"fr": "une barrière cyclable",
"da": "en stibom",
"es": "una barrera ciclista"
"es": "una barrera ciclista",
"cs": "cyklistická bariéra"
},
"tags": [
"barrier=cycle_barrier"
@ -121,7 +132,8 @@
"hu": "A kerékpáros sebességét csökkentő kerékpárakadály",
"fr": "Barrières cyclables, ralentissant les cyclistes",
"da": "Stibomme, der fartdæmper cyklister",
"es": "Una barrera ciclista, que ralentiza a los ciclistas"
"es": "Una barrera ciclista, que ralentiza a los ciclistas",
"cs": "Bariéra pro cyklisty, která zpomaluje cyklisty"
},
"preciseInput": {
"preferredBackground": [
@ -142,7 +154,8 @@
"hu": "Át lehet-e menni rajta kerékpárral?",
"fr": "Est-ce qu'un vélo peut franchir cette barrière ?",
"es": "¿Puede pasar una bicicleta esta barrera?",
"da": "Kan en cykel køre forbi denne barriere?"
"da": "Kan en cykel køre forbi denne barriere?",
"cs": "Může tuto bariéru překonat jízdní kolo?"
},
"mappings": [
{
@ -154,7 +167,8 @@
"fr": "Un cycliste peut franchir ceci.",
"hu": "Kerékpárral át lehet hajtani.",
"da": "En cyklist kan cykle forbi denne.",
"es": "Un ciclista puede pasar esto."
"es": "Un ciclista puede pasar esto.",
"cs": "Cyklista ji může projet."
}
},
{
@ -166,7 +180,8 @@
"fr": "Un cycliste ne peut pas franchir ceci.",
"hu": "Kerékpárral nem lehet áthajtani.",
"da": "En cyklist kan ikke cykle forbi denne.",
"es": "Un ciclista no puede pasar esto."
"es": "Un ciclista no puede pasar esto.",
"cs": "Cyklista tudy nemůže projet."
}
}
],
@ -184,7 +199,8 @@
"fr": "C'est un plot unique sur la route",
"de": "Dies ist ein einzelner Poller auf der Straße",
"es": "Este es un único bolardo en la carretera",
"da": "Dette er en enkelt pullert på vejen"
"da": "Dette er en enkelt pullert på vejen",
"cs": "Jedná se o jeden sloupek na silnici"
}
},
{
@ -196,7 +212,8 @@
"fr": "C'est une barrière visant à ralentir les vélos",
"de": "Dies ist eine Fahrradbarriere, die Radfahrer abbremst",
"es": "Esta es una barrera ciclista que ralentiza a los ciclistas",
"da": "Dette er en cykelbarriere, der bremser cyklisterne"
"da": "Dette er en cykelbarriere, der bremser cyklisterne",
"cs": "Jedná se o cyklistickou bariéru, která zpomaluje cyklisty"
}
}
]
@ -209,7 +226,8 @@
"fr": "Quel est le type de bollard (borne) ?",
"hu": "Milyen fajta terelőoszlop ez?",
"es": "¿Qué tipo de bolardo es este?",
"da": "Hvilken slags pullert er dette?"
"da": "Hvilken slags pullert er dette?",
"cs": "Co je to za sloupek?"
},
"condition": "barrier=bollard",
"mappings": [
@ -223,7 +241,8 @@
"hu": "Eltávolítható terelőoszlop",
"ca": "Pilona desmuntable",
"da": "Aftagelig pullert",
"es": "Bolardo extraíble"
"es": "Bolardo extraíble",
"cs": "Odnímatelný sloupek"
}
},
{
@ -236,7 +255,8 @@
"hu": "Rögzített terelőoszlop",
"es": "Bolardo fijo",
"ca": "Pilona fixa",
"da": "Fast pullert"
"da": "Fast pullert",
"cs": "Pevný sloupek"
}
},
{
@ -248,7 +268,8 @@
"fr": "Bollard qui peut être couché",
"hu": "Lehajtható terelőoszlop",
"da": "Pullert, der kan klappes ned",
"es": "Bolardo que se puede doblar"
"es": "Bolardo que se puede doblar",
"cs": "Sklopný sloupek"
}
},
{
@ -260,7 +281,8 @@
"fr": "Bollard flexible, généralement en plastique",
"hu": "Rugalmas (általában műanyag) terelőoszlop",
"es": "Bolardo flexible, normalmente plástico",
"da": "Fleksibel pullert, normalt plast"
"da": "Fleksibel pullert, normalt plast",
"cs": "Pružný sloupek, obvykle plastový"
}
},
{
@ -273,7 +295,8 @@
"hu": "Felemelkedő terelőoszlop",
"es": "Bolardo levadizo",
"ca": "Pilona retràctil",
"da": "Opstigende pullert"
"da": "Opstigende pullert",
"cs": "Vyjíždějící sloupek"
}
}
],
@ -287,7 +310,8 @@
"hu": "Milyen fajta kerékpárakadály ez?",
"fr": "Quel est ce type de barrière cyclable?",
"es": "¿Qué tipo de barrera ciclista es esta?",
"da": "Hvad er det for en cykelbarriere?"
"da": "Hvad er det for en cykelbarriere?",
"cs": "O jakou cyklistickou bariéru se jedná?"
},
"condition": "barrier=cycle_barrier",
"mappings": [
@ -300,7 +324,8 @@
"hu": "Egyszeres: csak két korlát, közöttük térköz",
"fr": "Simple, deux barrières côte à côte",
"es": "Simple, simplemente dos barreras con un espacio en el medio",
"da": "Enkelt, kun to barrierer med et mellemrum"
"da": "Enkelt, kun to barrierer med et mellemrum",
"cs": "Jednoduchý, jen dvě překážky s mezerou mezi nimi"
},
"icon": {
"path": "./assets/themes/cycle_infra/Cycle_barrier_single.png",
@ -316,7 +341,8 @@
"hu": "Kétszeres: két, egymáshoz képest eltolt korlát egymás után",
"fr": "Double, deux barrières successives",
"es": "Doble, dos barreras una detrás de otra",
"da": "Dobbelt, to barrierer bag hinanden"
"da": "Dobbelt, to barrierer bag hinanden",
"cs": "Dvojitý, dvě bariéry za sebou"
},
"icon": {
"path": "./assets/themes/cycle_infra/Cycle_barrier_double.svg",
@ -332,7 +358,8 @@
"hu": "Háromszoros: három, egymáshoz képest eltolt korlát egymás után",
"fr": "Triple, trois barrières successives",
"es": "Triple, tres barreras una detrás de otra",
"da": "Tredobbelt, tre barrierer bag hinanden"
"da": "Tredobbelt, tre barrierer bag hinanden",
"cs": "Trojitá, tři bariéry za sebou"
},
"icon": {
"path": "./assets/themes/cycle_infra/Cycle_barrier_triple.png",
@ -366,7 +393,8 @@
"fr": "Largeur maximale: {maxwidth:physical} m",
"hu": "Legnagyobb szélesség: {maxwidth:physical} m",
"es": "Anchura máxima: {maxwidth:physical} m",
"da": "Maksimal bredde: {maxwidth:physical} m"
"da": "Maksimal bredde: {maxwidth:physical} m",
"cs": "Maximální šířka: {maxwidth:physical} m"
},
"question": {
"en": "How wide is the gap left over besides the barrier?",
@ -375,7 +403,8 @@
"hu": "Milyen széles az akadályon az a rés, amelyen át lehet haladni?",
"fr": "Quelle est la largeur du passage?",
"es": "¿Cómo de ancho es el hueco dejado fuera de la barrera?",
"da": "Hvor stort er mellemrummet udover barrieren?"
"da": "Hvor stort er mellemrummet udover barrieren?",
"cs": "Jak široká je mezera, která zbývá vedle bariéry?"
},
"condition": {
"and": [
@ -401,7 +430,8 @@
"hu": "A korlátok közötti távolság (az út irányában): {width:separation} m",
"fr": "Espace entre deux barrières successives : {width:separation}m",
"es": "Espacio entre barreras (a lo largo de la longitud de la carretera): {width:separation} m",
"da": "Plads mellem barrierer (langs vejens længde): {width:separation} m"
"da": "Plads mellem barrierer (langs vejens længde): {width:separation} m",
"cs": "Prostor mezi svodidly (po celé délce silnice): {width:separation} m"
},
"question": {
"en": "How much space is there between the barriers (along the length of the road)?",
@ -410,7 +440,8 @@
"hu": "Mekkora távolság van a korlátok között (az út irányában)?",
"fr": "Combien despace sépare deux barrières successives?",
"es": "¿Cuánto espacio hay entre las barreras (a lo largo de la longitud de la carretera)?",
"da": "Hvor meget plads er der mellem bommene (på langs af vejen)?"
"da": "Hvor meget plads er der mellem bommene (på langs af vejen)?",
"cs": "Jak velký je prostor mezi svodidly (po celé délce silnice)?"
},
"condition": {
"or": [
@ -436,7 +467,8 @@
"fr": "Largeur de l'ouverture : {width:opening} m",
"hu": "Nyílás szélessége: {width:opening} m",
"es": "Anchura de la apertura: {width:opening} m",
"da": "Bredde af åbning: {width:opening} m"
"da": "Bredde af åbning: {width:opening} m",
"cs": "Šířka otvoru: {width:opening} m"
},
"question": {
"en": "How wide is the smallest opening next to the barriers?",
@ -445,7 +477,8 @@
"hu": "Milyen széles a korlátok melletti legkisebb nyílás?",
"fr": "Quelle est la largeur d'ouverture après la plus petite près de la barrière ?",
"es": "¿Cómo de año es la apertura más pequeña al lado de las barreras?",
"da": "Hvor bred er den mindste åbning ved siden af barriererne?"
"da": "Hvor bred er den mindste åbning ved siden af barriererne?",
"cs": "Jak široký je nejmenší otvor vedle bariér?"
},
"condition": {
"or": [
@ -471,7 +504,8 @@
"fr": "Chevauchement : {overlap}m",
"nl": "Overlap: {overlap} m",
"es": "Solapado: {overlap} m",
"da": "Overlapning: {overlap} m"
"da": "Overlapning: {overlap} m",
"cs": "Překrývání: {overlap} m"
},
"question": {
"en": "How much overlap do the barriers have?",
@ -480,7 +514,8 @@
"hu": "Mekkora a korlátok átfedése?",
"fr": "Quel est le chevauchement des barrières?",
"es": "¿Cuánto se solapan las barreras?",
"da": "Hvor meget overlap har barriererne?"
"da": "Hvor meget overlap har barriererne?",
"cs": "Jak moc se bariéry překrývají?"
},
"condition": {
"or": [

View file

@ -18,7 +18,9 @@
"pt_BR": "Bancos",
"pt": "Bancos",
"ca": "Bancs",
"da": "Bænke"
"da": "Bænke",
"cs": "Lavičky",
"pa_PK": "بینچ"
},
"minzoom": 17,
"source": {
@ -43,7 +45,9 @@
"pt_BR": "Banco",
"pt": "Banco",
"ca": "Banc",
"da": "Bænk"
"da": "Bænk",
"cs": "Lavička",
"pa_PK": "بینچ"
}
},
"tagRenderings": [
@ -58,7 +62,7 @@
"fr": "Dossier : Oui",
"nl": "Heeft een rugleuning",
"es": "Respaldo: sí",
"hu": "Háttámla van",
"hu": "Van háttámlája",
"id": "Sandaran: Ya",
"it": "Schienale: Sì",
"ru": "Со спинкой",
@ -70,7 +74,8 @@
"pt_BR": "Encosto: Sim",
"pt": "Encosto: Sim",
"ca": "Respatller: sí",
"da": "Har et ryglæn"
"da": "Har et ryglæn",
"cs": "Má opěradlo"
}
},
{
@ -81,7 +86,7 @@
"fr": "Dossier : Non",
"nl": "Heeft <b>geen</b> rugleuning",
"es": "Respaldo: no",
"hu": "Háttámla nincs",
"hu": "<b>Nincs</b> háttámlája",
"id": "Sandaran: Tidak",
"it": "Schienale: No",
"ru": "Без спинки",
@ -93,7 +98,8 @@
"pt_BR": "Encosto: Não",
"pt": "Encosto: Não",
"ca": "Respatller: No",
"da": "Har <b>ikke</b> et ryglæn"
"da": "Har <b>ikke</b> et ryglæn",
"cs": "<b>nemá</b> opěradlo"
}
}
],
@ -113,7 +119,8 @@
"pl": "Czy ta ławka ma oparcie?",
"pt_BR": "Este assento tem um escosto?",
"pt": "Este assento tem um escosto?",
"da": "Har denne bænk et ryglæn?"
"da": "Har denne bænk et ryglæn?",
"cs": "Má tato lavička opěradlo?"
},
"id": "bench-backrest"
},
@ -134,7 +141,8 @@
"pt_BR": "{seats} assentos",
"pt": "{seats} assentos",
"ca": "{seats} seients",
"da": "{seats} pladser"
"da": "{seats} pladser",
"cs": "{seats} míst k sezení"
},
"freeform": {
"key": "seats",
@ -155,7 +163,8 @@
"pl": "Ile siedzeń ma ta ławka?",
"pt_BR": "Quantos assentos este banco tem?",
"pt": "Quantos assentos este banco tem?",
"da": "Hvor mange pladser har denne bænk?"
"da": "Hvor mange pladser har denne bænk?",
"cs": "Kolik má tato lavice míst k sezení?"
},
"id": "bench-seats"
},
@ -178,7 +187,8 @@
"pt": "Material: {material}",
"eo": "Materialo: {material}",
"ca": "Material: {material}",
"da": "Materiale: {material}"
"da": "Materiale: {material}",
"cs": "Materiál: {material}"
},
"freeform": {
"key": "material",
@ -193,7 +203,7 @@
"fr": "Matériau : bois",
"nl": "Gemaakt uit hout",
"es": "Material: madera",
"hu": "Anyag: fa",
"hu": "Ülőfelület: fa",
"it": "Materiale: legno",
"ru": "Материал: дерево",
"zh_Hans": "材质:木",
@ -205,7 +215,8 @@
"pt": "Material: madeira",
"eo": "Materialo: ligna",
"ca": "Material: fusta",
"da": "Siddepladserne er lavet af træ"
"da": "Siddepladserne er lavet af træ",
"cs": "Sedací část je vyrobena ze dřeva"
}
},
{
@ -216,7 +227,7 @@
"fr": "Matériau : métal",
"nl": "Gemaakt uit metaal",
"es": "Material: metal",
"hu": "Anyag: fém",
"hu": "Ülőfelület: fém",
"it": "Materiale: metallo",
"ru": "Материал: металл",
"zh_Hans": "材质:金属",
@ -227,7 +238,8 @@
"pt": "Material: metal",
"eo": "Materialo: metala",
"ca": "Material: metall",
"da": "Sædet er lavet af metal"
"da": "Sædet er lavet af metal",
"cs": "Sedací část je vyrobena z kovu"
}
},
{
@ -238,7 +250,7 @@
"fr": "Matériau : pierre",
"nl": "Het zitgedeelte is gemaakt uit steen",
"es": "Material: piedra",
"hu": "Anyag: kő",
"hu": "Ülőfelület: kő",
"it": "Materiale: pietra",
"ru": "Материал: камень",
"zh_Hans": "材质:石头",
@ -250,7 +262,8 @@
"pt": "Material: pedra",
"eo": "Materialo: ŝtona",
"ca": "Material: pedra",
"da": "Siddepladserne er lavet af sten"
"da": "Siddepladserne er lavet af sten",
"cs": "Sedací část je vyrobena z kamene"
}
},
{
@ -261,7 +274,7 @@
"fr": "Matériau : béton",
"nl": "Het zitgedeelte is gemaakt uit beton",
"es": "Material: concreto",
"hu": "Anyag: beton",
"hu": "Ülőfelület: beton",
"it": "Materiale: cemento",
"ru": "Материал: бетон",
"zh_Hans": "材质:混凝土",
@ -273,7 +286,8 @@
"pt": "Material: concreto",
"eo": "Materialo: betona",
"ca": "Material: ciment",
"da": "Siddepladserne er lavet af beton"
"da": "Siddepladserne er lavet af beton",
"cs": "Sedací část je vyrobena z betonu"
}
},
{
@ -284,7 +298,7 @@
"fr": "Matériau : plastique",
"nl": "Het zitgedeelte is gemaakt uit plastiek",
"es": "Material: plastico",
"hu": "Anyag: műanyag",
"hu": "Ülőfelület: műanyag",
"it": "Materiale: plastica",
"ru": "Материал: пластик",
"zh_Hans": "材质:塑料",
@ -296,7 +310,8 @@
"pt": "Material: plástico",
"eo": "Materialo: plasta",
"ca": "Material: plàstic",
"da": "Sædet er lavet af plastik"
"da": "Sædet er lavet af plastik",
"cs": "Sedací část je vyrobena z plastu"
}
},
{
@ -307,7 +322,7 @@
"fr": "Matériau : acier",
"nl": "Het zitgedeelte is gemaakt uit staal",
"es": "Material: acero",
"hu": "Anyag: acél",
"hu": "Ülőfelület: acél",
"it": "Materiale: acciaio",
"ru": "Материал: сталь",
"zh_Hans": "材质:不锈钢",
@ -319,7 +334,8 @@
"pt": "Material: aço",
"eo": "Materialo: ŝtala",
"ca": "Material: acer",
"da": "Siddepladserne er lavet af stål"
"da": "Siddepladserne er lavet af stål",
"cs": "Sedací část je vyrobena z oceli"
}
}
],
@ -328,7 +344,7 @@
"de": "Aus welchem Material ist die Sitzfläche der Bank?",
"fr": "De quel matériau ce banc est-il fait ?",
"nl": "Uit welk materiaal is het zitgedeelte van deze zitbank gemaakt?",
"hu": "Miből van a pad (ülő része)?",
"hu": "Miből van a pad (ülőfelülete)?",
"it": "Di che materiale è fatta questa panchina?",
"zh_Hans": "这个长椅(或座椅)是用什么材料做的?",
"ru": "Из какого материала сделана скамейка?",
@ -337,7 +353,8 @@
"pl": "Z czego wykonana jest ławka (siedzisko)?",
"pt": "De que é feito o banco (assento)?",
"es": "¿De que está hecho el banco (asiento)?",
"da": "Hvad er bænken (sædet) lavet af?"
"da": "Hvad er bænken (sædet) lavet af?",
"cs": "Z čeho je vyrobena lavice (sedadlo)?"
},
"id": "bench-material"
},
@ -356,7 +373,8 @@
"pl": "W jakim kierunku patrzysz siedząc na ławce?",
"pt": "Em que direção olha quando está sentado no banco?",
"es": "¿En qué dirección se mira al sentarse en el banco?",
"da": "I hvilken retning kigger du, når du sidder på bænken?"
"da": "I hvilken retning kigger du, når du sidder på bænken?",
"cs": "Kterým směrem se díváte, když sedíte na lavičce?"
},
"render": {
"en": "When sitting on the bench, one looks towards {direction}°.",
@ -372,7 +390,8 @@
"pt_BR": "Ao sentar-se no banco, olha-se para {direction} °.",
"pt": "Ao sentar-se no banco, olha-se para {direction} °.",
"es": "¿Cuando está sentado en el banco, uno mira hacia {direction}º.",
"da": "Når man sidder på bænken, kigger man i retningen {direction}°."
"da": "Når man sidder på bænken, kigger man i retningen {direction}°.",
"cs": "Když sedíte na lavičce, díváte se směrem v úhlu {direction}°."
},
"freeform": {
"key": "direction",
@ -400,7 +419,8 @@
"eo": "Koloro: {colour}",
"es": "Color: {colour}",
"ca": "Color: {colour}",
"da": "Farve: {colour}"
"da": "Farve: {colour}",
"cs": "Barva: {colour}"
},
"question": {
"en": "Which colour does this bench have?",
@ -416,7 +436,8 @@
"pl": "Jaki kolor ma ta ławka?",
"pt": "Qual a cor dessa bancada?",
"es": "¿De qué color es este banco?",
"da": "Hvilken farve har denne bænk?"
"da": "Hvilken farve har denne bænk?",
"cs": "Jakou barvu má tato lavička?"
},
"freeform": {
"key": "colour",
@ -443,7 +464,8 @@
"eo": "Koloro: bruna",
"ca": "Color: marró",
"es": "Color: marrón",
"da": "Farve: brun"
"da": "Farve: brun",
"cs": "Barva: hnědá"
}
},
{
@ -466,7 +488,8 @@
"eo": "Koloro: verda",
"es": "Color: verde",
"ca": "Color: verd",
"da": "Farve: grøn"
"da": "Farve: grøn",
"cs": "Barva: zelená"
}
},
{
@ -489,7 +512,8 @@
"eo": "Koloro: griza",
"es": "Color: gris",
"ca": "Color: gris",
"da": "Farve: grå"
"da": "Farve: grå",
"cs": "Barva: šedá"
}
},
{
@ -512,7 +536,8 @@
"eo": "Koloro: blanka",
"es": "Color: blanco",
"ca": "Color: blanc",
"da": "Farve: hvid"
"da": "Farve: hvid",
"cs": "Barva: bílá"
}
},
{
@ -535,7 +560,8 @@
"eo": "Koloro: ruĝa",
"es": "Color: rojo",
"ca": "Color: vermell",
"da": "Farve: rød"
"da": "Farve: rød",
"cs": "Barva: červená"
}
},
{
@ -558,7 +584,8 @@
"eo": "Koloro: nigra",
"es": "Color: negro",
"ca": "Color: negre",
"da": "Farve: sort"
"da": "Farve: sort",
"cs": "Barva: černá"
}
},
{
@ -581,7 +608,8 @@
"eo": "Koloro: blua",
"es": "Color: azul",
"ca": "Color: blau",
"da": "Farve: blå"
"da": "Farve: blå",
"cs": "Barva: modrá"
}
},
{
@ -604,7 +632,8 @@
"eo": "Koloro: flava",
"es": "Color: amarillo",
"ca": "Color: groc",
"da": "Farve: gul"
"da": "Farve: gul",
"cs": "Barva: žlutá"
}
}
],
@ -624,7 +653,8 @@
"pl": "Kiedy ostatnio badano tę ławkę?",
"pt": "Quando esta bancada foi pesquisada pela última vez?",
"es": "¿Cuándo fue la última vez que se inspeccionó este banco?",
"da": "Hvornår blev denne bænk sidst kortlagt?"
"da": "Hvornår blev denne bænk sidst kortlagt?",
"cs": "Kdy byla tato lavička naposledy kontrolována?"
},
"render": {
"en": "This bench was last surveyed on {survey:date}",
@ -639,7 +669,8 @@
"pl": "Ławka ta była ostatnio badana w dniu {survey:date}",
"pt": "Esta bancada foi pesquisada pela última vez em {survey:date}",
"es": "Este banco se inspeccionó por última vez el {survey:date}",
"da": "Denne bænk blev sidst kortlagt den {survey:date}"
"da": "Denne bænk blev sidst kortlagt den {survey:date}",
"cs": "Tato lavička byla naposledy zkontrolována dne {survey:date}"
},
"freeform": {
"key": "survey:date",
@ -676,7 +707,8 @@
"pl": "Ławka",
"pt": "uma banco",
"ca": "un banc",
"da": "en bænk"
"da": "en bænk",
"cs": "lavička"
},
"presiceInput": {
"preferredBackground": "photo"
@ -716,6 +748,7 @@
"fr": "Un banc est une surface en bois, métal, pierre… sur laquelle un humain peut s'asseoir. Cette couche permet de les visualiser et pose des questions à leur sujet.",
"de": "Diese Karte stellt Sitzbänke aus Holz, Metall, Stein, … dar und stellt ein paar Fragen, um weitere Informationen zu ergänzen.",
"es": "Un banco es una superficie de madera, metal, piedra, ... donde un humano se puede sentar. Estas capas los visualizan y hacen algunas preguntas sobre ellos.",
"da": "En bænk er en træ-, metal-, sten-, ... overflade, hvor et menneske kan sidde. Dette lag visualiserer dem og stiller et par spørgsmål om dem."
"da": "En bænk er en træ-, metal-, sten-, ... overflade, hvor et menneske kan sidde. Dette lag visualiserer dem og stiller et par spørgsmål om dem.",
"cs": "Lavička je dřevěná, kovová, kamenná, ... plocha, na které může člověk sedět. Tato vrstva je vizualizuje a klade si o nich několik otázek."
}
}

View file

@ -15,7 +15,8 @@
"pt_BR": "Bancos em pontos de transporte público",
"pl": "Ławki na przystankach komunikacji miejskiej",
"pt": "Bancos em pontos de transporte público",
"da": "Bænke ved stoppesteder for offentlig transport"
"da": "Bænke ved stoppesteder for offentlig transport",
"cs": "Lavičky na zastávkách veřejné dopravy"
},
"minzoom": 14,
"source": {
@ -45,7 +46,9 @@
"pl": "Ławka",
"pt": "Banco",
"ca": "Banc",
"da": "Bænk"
"da": "Bænk",
"cs": "Lavička",
"pa_PK": "بینچ"
},
"mappings": [
{
@ -70,7 +73,8 @@
"pl": "Ławka na przystanku komunikacji miejskiej",
"pt": "Banco em ponto de transporte público",
"es": "Banco en una parada de transporte público",
"da": "Bænk ved offentlig stoppested"
"da": "Bænk ved offentlig stoppested",
"cs": "Lavička na zastávce veřejné dopravy"
}
},
{
@ -92,7 +96,8 @@
"pt_BR": "Banco em abrigo",
"pt": "Banco em abrigo",
"es": "Banco en marquesina",
"da": "Bænk i læskur"
"da": "Bænk i læskur",
"cs": "Lavička v přístřešku"
}
}
]
@ -118,7 +123,8 @@
"eo": "{name}",
"es": "{name}",
"ca": "{name}",
"da": "{name}"
"da": "{name}",
"cs": "{name}"
},
"freeform": {
"key": "name"
@ -133,7 +139,8 @@
"de": "Was ist das für eine Bank?",
"es": "¿Qué tipo de banco es este?",
"fr": "Quel type de banc est-ce ?",
"da": "Hvilken slags bænk er dette?"
"da": "Hvilken slags bænk er dette?",
"cs": "Co je to za lavičku?"
},
"mappings": [
{
@ -144,7 +151,8 @@
"de": "Hier gibt es eine normale Sitzbank",
"nl": "Er is hier een normale zitbank",
"da": "Der er en normal siddebænk her",
"es": "Hay un banco normal aquí"
"es": "Hay un banco normal aquí",
"cs": "Zde je normální lavička k sezení"
}
},
{
@ -159,7 +167,8 @@
"ru": "Встаньте на скамейке",
"zh_Hant": "站立長椅",
"da": "Stå-op bænk",
"es": "Banco de pié"
"es": "Banco de pié",
"cs": "Stojící lavička"
}
},
{
@ -170,7 +179,8 @@
"de": "Hier gibt es keine Bank",
"nl": "Er is hier geen bank",
"es": "No hay ningún banco aquí",
"da": "Der er ingen bænk her"
"da": "Der er ingen bænk her",
"cs": "Zde není žádná lavička"
}
}
]
@ -203,6 +213,7 @@
"nl": "Een laag die stopplaatsen van openbaar vervoer toont waar er een zitbank is",
"fr": "Une couche montrant tous les arrêts de transports publics qui ont un banc",
"de": "Eine Ebene mit allen Haltestellen des öffentlichen Nahverkehrs, die über eine Sitzbank verfügen",
"da": "Et lag, der viser alle offentlige stoppesteder, som har en bænk"
"da": "Et lag, der viser alle offentlige stoppesteder, som har en bænk",
"cs": "Vrstva zobrazující všechny zastávky veřejné dopravy, které mají lavičku"
}
}

View file

@ -12,7 +12,8 @@
"pt": "Biblioteca de bicicleta",
"ca": "Biblioteca per a bicicletes",
"es": "Biblioteca de bicicletas",
"da": "Cykel bibliotek"
"da": "Cykel bibliotek",
"cs": "Půjčovna kol"
},
"minzoom": 8,
"source": {
@ -31,7 +32,8 @@
"pt": "Biblioteca de bicicleta",
"ca": "Biblioteca per a bicicletes",
"da": "Cykelbibliotek",
"es": "Biblioteca de bicicletas"
"es": "Biblioteca de bicicletas",
"cs": "Půjčovna kol"
},
"mappings": [
{
@ -65,7 +67,8 @@
"pl": "Obiekt, w którym rowery można wypożyczyć na dłuższy okres",
"pt": "Uma instalação onde as bicicletas podem ser emprestadas por períodos mais longos",
"es": "Una facilidad donde se pueden alquilar bicicletas durante largos periodos de tiempo",
"da": "En facilitet, hvor cykler kan lånes i længere perioder"
"da": "En facilitet, hvor cykler kan lånes i længere perioder",
"cs": "Zařízení, kde si lze půjčit jízdní kola na delší dobu"
},
"tagRenderings": [
"images",
@ -82,7 +85,8 @@
"de": "Wie lautet der Name dieser Fahrradbibliothek?",
"pt": "Qual o nome desta biblioteca de bicicleta?",
"da": "Hvad hedder dette cykelbibliotek?",
"es": "¿Cuál es el nombre de esta biblioteca de bicicletas?"
"es": "¿Cuál es el nombre de esta biblioteca de bicicletas?",
"cs": "Jak se jmenuje tato půjčovna kol?"
},
"render": {
"en": "This bicycle library is called {name}",
@ -96,7 +100,8 @@
"de": "Diese Fahrradbibliothek heißt {name}",
"pt": "Esta biblioteca de bicicleta é chamada de {name}",
"da": "Dette cykelbibliotek hedder {name}",
"es": "Esta biblioteca de bicicletas se llama {name}"
"es": "Esta biblioteca de bicicletas se llama {name}",
"cs": "Tato půjčovna jízdních kol se jmenuje {name}"
},
"freeform": {
"key": "name"
@ -121,7 +126,8 @@
"pt_BR": "Quanto custa um empréstimo de bicicleta?",
"pt": "Quanto custa um empréstimo de bicicleta?",
"da": "Hvor meget koster det at leje en cykel?",
"es": "¿Cuánto cuesta alquilar una bicicleta?"
"es": "¿Cuánto cuesta alquilar una bicicleta?",
"cs": "Kolik stojí půjčení kola?"
},
"render": {
"en": "Lending a bicycle costs {charge}",
@ -136,7 +142,8 @@
"pt_BR": "Custos de empréstimo de bicicleta {charge}",
"pt": "Custos de empréstimo de bicicleta {charge}",
"es": "Alquilar una bicicleta cuesta {charge}",
"da": "Cykelleje koster {charge}"
"da": "Cykelleje koster {charge}",
"cs": "Půjčení kola stojí {charge}"
},
"freeform": {
"key": "charge",
@ -165,7 +172,8 @@
"pt_BR": "Emprestar uma bicicleta é grátis",
"pt": "Emprestar uma bicicleta é grátis",
"da": "Det er gratis at låne en cykel",
"es": "Alquilar una bicicleta es gratis"
"es": "Alquilar una bicicleta es gratis",
"cs": "Půjčení jízdního kola je zdarma"
}
},
{
@ -186,7 +194,8 @@
"pt_BR": "Emprestar uma bicicleta custa €20/ano e €20 de garantia",
"pt": "Emprestar uma bicicleta custa €20/ano e €20 de garantia",
"es": "Alquilar una bicicleta cuesta 20€/año y 20€ de garantía",
"da": "Udlån af en cykel koster 20 €/år og 20 € garanti"
"da": "Udlån af en cykel koster 20 €/år og 20 € garanti",
"cs": "Půjčení kola stojí 20 €/rok a 20 € záloha"
}
}
],
@ -207,7 +216,8 @@
"pt_BR": "Quem pode emprestar bicicletas aqui?",
"pt": "Quem pode emprestar bicicletas aqui?",
"da": "Hvem kan låne cykler her?",
"es": "¿Quién puede alquilar bicicletas aquí?"
"es": "¿Quién puede alquilar bicicletas aquí?",
"cs": "Kdo si zde může půjčit jízdní kolo?"
},
"multiAnswer": true,
"mappings": [
@ -225,7 +235,8 @@
"pt_BR": "Bicicletas para crianças disponíveis",
"pt": "Bicicletas para crianças disponíveis",
"es": "Bicicletas para niños disponibles",
"da": "Cykler til børn til rådighed"
"da": "Cykler til børn til rådighed",
"cs": "Dětská kola k dispozici"
}
},
{
@ -241,7 +252,8 @@
"pt_BR": "Bicicletas para adulto disponíveis",
"pt": "Bicicletas para adulto disponíveis",
"es": "Bicicletas para adultos disponibles",
"da": "Cykler til voksne til rådighed"
"da": "Cykler til voksne til rådighed",
"cs": "K dispozici kola pro dospělé"
}
},
{
@ -257,7 +269,8 @@
"pt_BR": "Bicicletas para deficientes físicos disponíveis",
"pt": "Bicicletas para deficientes físicos disponíveis",
"es": "Bicicletas para discapacitados disponibles",
"da": "Cykler til handicappede til rådighed"
"da": "Cykler til handicappede til rådighed",
"cs": "K dispozici jsou kola pro osoby se zdravotním postižením"
}
}
]
@ -278,7 +291,8 @@
"pt": "uma biblioteca de bicicletas",
"eo": "Fietsbibliotheek",
"da": "et cykelbibliotek",
"es": "una biblioteca de bicicletas"
"es": "una biblioteca de bicicletas",
"cs": "půjčovna kol"
},
"tags": [
"amenity=bicycle_library"
@ -292,7 +306,8 @@
"zh_Hant": "單車圖書館有一大批單車供人租借",
"de": "Eine Fahrradbibliothek verfügt über eine Sammlung von Fahrrädern, die ausgeliehen werden können",
"es": "Una biblioteca de bicicletas tiene una colección de bicicletas que se pueden prestar",
"da": "Et cykelbibliotek har en samling cykler, som kan lånes"
"da": "Et cykelbibliotek har en samling cykler, som kan lånes",
"cs": "Cyklistická půjčovna má k dispozici sbírku kol, která lze zapůjčit"
}
}
],

View file

@ -6,7 +6,8 @@
"fr": "Location de vélo",
"de": "Fahrradverleih",
"da": "Cykeludlejning",
"es": "Alquiler de bicicletas"
"es": "Alquiler de bicicletas",
"cs": "Půjčovna kol"
},
"source": {
"osmTags": {
@ -30,7 +31,8 @@
"es": "Alquiler de bicicletas",
"de": "Fahrradverleih",
"da": "Cykeludlejning",
"fr": "Location de vélo"
"fr": "Location de vélo",
"cs": "Půjčovna kol"
},
"mappings": [
{
@ -46,7 +48,8 @@
"de": "{name}",
"es": "{name}",
"da": "{name}",
"fr": "{name}"
"fr": "{name}",
"cs": "{name}"
}
}
]
@ -57,7 +60,8 @@
"fr": "Stations de location de vélo",
"de": "Fahrradverleihstationen",
"es": "Estaciones de alquiler de bicicletas",
"da": "Stationer til udlejning af cykler"
"da": "Stationer til udlejning af cykler",
"cs": "Půjčovny jízdních kol"
},
"tagRenderings": [
"images",
@ -69,7 +73,8 @@
"de": "Was ist das für ein Fahrradverleih?",
"es": "¿Qué tipo de alquiler de bicicletas es este?",
"da": "Hvilken slags cykeludlejning er dette?",
"fr": "De quel type de location de vélo s'agit-il ?"
"fr": "De quel type de location de vélo s'agit-il ?",
"cs": "O jakou půjčovnu jízdních kol se jedná?"
},
"mappings": [
{
@ -85,7 +90,8 @@
"de": "Dies ist ein Geschäft, dessen Schwerpunkt auf dem Fahrradverleih liegt",
"es": "Esta es una tienda que se centra en el alquiler de bicicletas",
"da": "Dette er en butik, hvis hovedfokus er cykeludlejning",
"fr": "C'est un magasin dont l'activité principale est la location de vélo"
"fr": "C'est un magasin dont l'activité principale est la location de vélo",
"cs": "Jedná se o obchod, jehož hlavním zaměřením je půjčování jízdních kol"
}
},
{
@ -96,7 +102,8 @@
"de": "Dies ist ein Geschäft, das verschiedene Gegenstände und/oder Fahrzeuge vermietet. Es vermietet auch Fahrräder, aber das ist nicht der Hauptschwerpunkt",
"es": "Este es un negocio de alquileres que alquila varios objetos y/o vehículos. También alquila bicicletas, pero este no es el enfoque principal",
"da": "Dette er en udlejningsvirksomhed, som udlejer forskellige genstande og/eller køretøjer. Den udlejer også cykler, men det er ikke det primære fokus",
"fr": "C'est une agence louant diverses choses et/ou voitures. Elle loue également des vélos, mais ce n'est pas sa principale activité"
"fr": "C'est une agence louant diverses choses et/ou voitures. Elle loue également des vélos, mais ce n'est pas sa principale activité",
"cs": "Jedná se o pronájem různých předmětů a/nebo vozidel. Pronajímá také jízdní kola, ale to není hlavní náplní"
}
},
{
@ -112,7 +119,8 @@
"de": "Dies ist ein Geschäft, das Fahrräder verkauft oder repariert, aber auch Fahrräder vermietet",
"es": "Esta es una tienda que vende o alquila bicicletas, pero también las alquila",
"da": "Dette er en butik, der sælger eller reparerer cykler, men som også udlejer cykler",
"fr": "C'est un magasin qui vend ou répare des vélos mais peut également en louer"
"fr": "C'est un magasin qui vend ou répare des vélos mais peut également en louer",
"cs": "Jedná se o prodejnu, která prodává nebo opravuje jízdní kola, ale také je pronajímá"
}
},
{
@ -123,7 +131,8 @@
"de": "Dies ist eine automatisierte Radstation, bei der Fahrräder mechanisch in einer Struktur verriegelt werden",
"es": "Esta es una estación automática, en la que una bici se asegura mecánicamente a una estructura",
"fr": "Ceci est un point dattache automatisé où le vélo est attaché mécaniquement à une structure",
"da": "Dette er en automatiseret dockingstation, hvor en cykel låses mekanisk fast i en struktur"
"da": "Dette er en automatiseret dockingstation, hvor en cykel låses mekanisk fast i en struktur",
"cs": "Jedná se o automatickou dokovací stanici, kde je jízdní kolo mechanicky uzamčeno do konstrukce"
}
},
{
@ -135,7 +144,8 @@
"de": "Dies ist ein Automat, der Schlüssel ausgibt und annimmt, eventuell nach Authentifizierung und/oder Bezahlung. Die Fahrräder sind in der Nähe geparkt",
"es": "Una máquina que dispensa y acepta llaves, eventualmente después de la autenticación y/o el pago está presente. Las bicicletas están aparcadas cerca",
"fr": "Il y a un distributeur qui distribue et accepte les clés, éventuellement après identification et/ou payement. Les vélos sont stationnés à proximité",
"da": "Der er en maskine til stede, som udleverer og modtager nøgler, eventuelt efter autentificering og/eller betaling. Cyklerne er parkeret i nærheden"
"da": "Der er en maskine til stede, som udleverer og modtager nøgler, eventuelt efter autentificering og/eller betaling. Cyklerne er parkeret i nærheden",
"cs": "Přítomný je automat, který vydává a přijímá klíče, případně po ověření pravosti a/nebo zaplacení. Jízdní kola jsou zaparkována v blízkosti"
}
},
{
@ -146,7 +156,8 @@
"de": "Dies ist ein Rückgabepunkt, z. B. ein reservierter Fahrradstellplatz, der deutlich als solcher gekennzeichnet ist",
"es": "Este es un punto de entrega, ej. un aparcamiento reservado para colocar las bicicletas, claramente marcado como solo para el servicio de alquiler",
"fr": "Ceci est un point de dépôt, p.ex. un emplacement de parking réservé aux vélos de location",
"da": "Dette er et afleveringssted, f.eks. en reserveret parkeringsplads til cykler, som er tydeligt markeret som værende forbeholdt udlejningstjenesten"
"da": "Dette er et afleveringssted, f.eks. en reserveret parkeringsplads til cykler, som er tydeligt markeret som værende forbeholdt udlejningstjenesten",
"cs": "Jedná se o místo předání, např. vyhrazené parkoviště pro umístění jízdních kol, které je zřetelně označeno jako místo určené pouze pro půjčovnu"
}
}
],
@ -189,7 +200,8 @@
"de": "Welche Art von Fahrrädern und Zubehör wird hier vermietet?",
"es": "¿Qué tipo de bicicletas y accesorios se alquilan aquí?",
"da": "Hvilken slags cykler og tilbehør udlejes her?",
"fr": "Quels types de vélos et daccessoires peuvent être loués ici ?"
"fr": "Quels types de vélos et daccessoires peuvent être loués ici ?",
"cs": "Jaká jízdní kola a příslušenství se zde půjčují?"
},
"render": {
"en": "{rental} is rented here",
@ -197,7 +209,8 @@
"de": "{rental} können hier gemietet werden",
"es": "{rental} se alquilan aquí",
"da": "{rental} udlejes her",
"fr": "{rental} est louable ici"
"fr": "{rental} est louable ici",
"cs": "{rental} se pronajímá zde"
},
"freeform": {
"key": "rental",
@ -213,7 +226,8 @@
"de": "Normale Stadtfahrräder können hier gemietet werden",
"es": "Aquí se pueden alquilar bicis normales",
"da": "Her kan man leje almindelige bycykler",
"fr": "Des vélos de ville peuvent être loués ici"
"fr": "Des vélos de ville peuvent être loués ici",
"cs": "Běžná městská kola si můžete půjčit zde"
}
},
{
@ -224,7 +238,8 @@
"de": "Elektrofahrräder können hier gemietet werden",
"es": "Aquí se pueden alquilar bicis eléctricas",
"da": "El-cykler kan lejes her",
"fr": "Des vélos électriques peuvent être loués ici"
"fr": "Des vélos électriques peuvent être loués ici",
"cs": "Elektrická kola si můžete půjčit zde"
}
},
{
@ -235,7 +250,8 @@
"de": "BMX-Räder können hier gemietet werden",
"es": "Aquí se pueden alquilar bicis BMX",
"da": "BMX cykler kan lejes her",
"fr": "Des BMX peuvent être loués ici"
"fr": "Des BMX peuvent être loués ici",
"cs": "Kola BMX si můžete půjčit zde"
}
},
{
@ -246,7 +262,8 @@
"de": "Mountainbikes können hier gemietet werden",
"es": "Aquí se pueden alquilar bicis de montaña",
"da": "Mountainbikes kan lejes her",
"fr": "Des vélos de montagne peuvent être loués ici"
"fr": "Des vélos de montagne peuvent être loués ici",
"cs": "Horská kola si můžete půjčit zde"
}
},
{
@ -257,7 +274,8 @@
"de": "Kinderfahrräder können hier gemietet werden",
"es": "Aquí se pueden alquilar bicis infantiles",
"da": "Børnecykler kan lejes her",
"fr": "Des vélos d'enfants peuvent être loués ici"
"fr": "Des vélos d'enfants peuvent être loués ici",
"cs": "Dětská kola si můžete půjčit zde"
}
},
{
@ -268,7 +286,8 @@
"de": "Tandems können hier gemietet werden",
"da": "Tandemcykler kan lejes her",
"fr": "Des tandems peuvent être loués ici",
"es": "Aquí se pueden alquilar tándems"
"es": "Aquí se pueden alquilar tándems",
"cs": "Tandemová kola si můžete půjčit zde"
}
},
{
@ -279,7 +298,8 @@
"de": "Rennräder können hier gemietet werden",
"es": "Aquí se pueden alquilar bicicletas de carreras",
"da": "Racercykler kan lejes her",
"fr": "Des vélos de course peuvent être loués ici"
"fr": "Des vélos de course peuvent être loués ici",
"cs": "Závodní kola si můžete půjčit zde"
}
},
{
@ -290,7 +310,8 @@
"es": "Aquí se pueden alquilar cascos",
"de": "Fahrradhelme können hier gemietet werden",
"fr": "Des casques de vélos peuvent être loués ici",
"da": "Cykelhjelme kan lejes her"
"da": "Cykelhjelme kan lejes her",
"cs": "Cyklistické přilby si můžete půjčit zde"
}
}
]
@ -312,7 +333,8 @@
"es": "bicis de ciudad",
"da": "bycykler",
"eo": "urbaj bicikloj",
"fr": "vélos de ville"
"fr": "vélos de ville",
"cs": "městská kola"
}
],
[
@ -324,7 +346,8 @@
"es": "bicis eléctricas",
"da": "elektriske cykler",
"eo": "elektraj bicikloj",
"fr": "vélos électriques"
"fr": "vélos électriques",
"cs": "elektrokola"
}
],
[
@ -336,7 +359,8 @@
"es": "bicis infantiles",
"da": "børnecykler",
"eo": "bicikloj por infanoj",
"fr": "vélos d'enfants"
"fr": "vélos d'enfants",
"cs": "kola pro děti"
}
],
[
@ -348,7 +372,8 @@
"es": "bicis BMX",
"da": "BMX-cykler",
"eo": "BMX-bicikloj",
"fr": "BMX"
"fr": "BMX",
"cs": "BMX kola"
}
],
[
@ -361,7 +386,8 @@
"es": "bicis de montaña",
"da": "mountainbike",
"eo": "montobicikloj",
"fr": "vélos de montagne"
"fr": "vélos de montagne",
"cs": "horské kolo"
}
],
[
@ -372,7 +398,8 @@
"de": "Fahrradtaschen",
"da": "cykeltasker",
"es": "alforjas de bicicleta",
"fr": "sacoches pour vélo"
"fr": "sacoches pour vélo",
"cs": "brašny na kolo"
}
],
[
@ -384,7 +411,8 @@
"de": "Tandems",
"da": "tandem",
"es": "tándem",
"fr": "tandem"
"fr": "tandem",
"cs": "tandem"
}
]
]
@ -399,13 +427,15 @@
"en": "How much type_plural can be rented here?",
"nl": "Hoeveel type_plural kunnen hier uitgeleend worden?",
"de": "Wie viele type_plural können hier gemietet werden?",
"fr": "Combien de type_plural peuvent être loués ici ?"
"fr": "Combien de type_plural peuvent être loués ici ?",
"cs": "Kolik typů kol si zde můžete pronajmout?"
},
"render": {
"en": "{capacity:bicycle_type} type_plural can be rented here",
"nl": "{capacity:bicycle_type} type_plural kunnen hier uitgeleend worden",
"de": "{capacity:bicycle_type} type_plural können hier gemietet werden",
"fr": "{capacity:bicycle_type} type_plural peuvent être loués ici"
"fr": "{capacity:bicycle_type} type_plural peuvent être loués ici",
"cs": "{capacity:bicycle_type} typů si můžete pronajmout zde"
},
"freeform": {
"key": "capacity:bicycle_type",
@ -424,7 +454,8 @@
"fr": "un magasin de location de vélos",
"de": "ein Geschäft mit Fahrradverleih",
"es": "una tienda de alquiler de bicicletas",
"da": "en cykeludlejningsforretning"
"da": "en cykeludlejningsforretning",
"cs": "půjčovna jízdních kol"
},
"tags": [
"amenity=bicycle_rental",
@ -436,7 +467,8 @@
"fr": "Un magasin qui priorise la location de vélos",
"de": "Ein Geschäft, das sich auf den Fahrradverleih konzentriert",
"da": "En bemandet butik, der fokuserer på cykeludlejning",
"es": "Una tienda atendida que se centra en el alquiler de bicicletas"
"es": "Una tienda atendida que se centra en el alquiler de bicicletas",
"cs": "Obsluhovaný obchod zaměřený na půjčování jízdních kol"
}
},
{
@ -446,7 +478,8 @@
"de": "eine Fahrradleihstation",
"da": "cykeludlejning",
"es": "un alquiler de bicicletas",
"fr": "une location de vélos"
"fr": "une location de vélos",
"cs": "půjčovna kol"
},
"tags": [
"amenity=bicycle_rental"
@ -494,7 +527,8 @@
"fr": "{title()} a était fermé de façon permanente",
"de": "{title()} ist dauerhaft geschlossen",
"es": "{title()} ha cerrado permanentemente",
"da": "{title()} er lukket permanent"
"da": "{title()} er lukket permanent",
"cs": "{title()} je trvale uzavřen"
},
"changesetMessage": "shop_closed"
}
@ -512,7 +546,8 @@
"fr": "Ce magasin de vélo louait des vélos, mais n'en loue plus maintenant",
"de": "Dieser Fahrradladen vermietete früher Fahrräder, aber jetzt nicht mehr",
"es": "Esta tienda de bicicletas alquilaba bicis, pero ya no lo hace",
"da": "Denne cykelbutik plejede at udleje cykler, men udlejer ikke længere cykler"
"da": "Denne cykelbutik plejede at udleje cykler, men udlejer ikke længere cykler",
"cs": "Tento obchod s koly dříve půjčoval kola, ale už je nepůjčuje"
}
}
]

View file

@ -10,7 +10,8 @@
"zh_Hant": "自行車內胎自動售貨機",
"pt_BR": "Máquina de venda automática de tubos de bicicleta",
"pt": "Máquina de venda automática de tubos de bicicleta",
"da": "Automat til salg af cykelslanger"
"da": "Automat til salg af cykelslanger",
"cs": "Automat na cyklistické duše"
},
"title": {
"render": {
@ -23,7 +24,8 @@
"zh_Hant": "自行車內胎自動售貨機",
"pt_BR": "Máquina de venda automática de tubos de bicicleta",
"pt": "Máquina de venda automática de tubos de bicicleta",
"da": "Automat til salg af cykelslanger"
"da": "Automat til salg af cykelslanger",
"cs": "Automat na cyklistické duše"
},
"mappings": [
{
@ -60,7 +62,8 @@
"zh_Hant": "自行車內胎自動售貨機",
"pt_BR": "uma máquina de venda automática de tubos de bicicleta",
"pt": "uma máquina de venda automática de tubos de bicicleta",
"da": "en automat til salg af cykelslanger"
"da": "en automat til salg af cykelslanger",
"cs": "automat na cyklistické duše"
},
"tags": [
"amenity=vending_machine",
@ -83,7 +86,8 @@
"pt_BR": "Esta máquina de venda automática ainda está operacional?",
"pt": "Esta máquina de venda automática ainda está operacional?",
"es": "¿Todavía es operacional esta máquina exprendedora?",
"da": "Er denne salgsautomat stadig i drift?"
"da": "Er denne salgsautomat stadig i drift?",
"cs": "Je tento automat stále v provozu?"
},
"render": {
"en": "The operational status is <i>{operational_status}</i>",
@ -96,7 +100,8 @@
"pt_BR": "O estado operacional é: <i>{operational_status}</i>",
"pt": "O estado operacional é: <i>{operational_status}</i>",
"es": "El estado operacional es <i>{operational_status}</i></i>",
"da": "Driftsstatus er <i>{operational_status}</i>"
"da": "Driftsstatus er <i>{operational_status}</i>",
"cs": "Provozní stav je <i>{operational_status}</i>"
},
"freeform": {
"key": "operational_status"
@ -117,7 +122,8 @@
"pt_BR": "Esta máquina de venda automática funciona",
"pt": "Esta máquina de venda automática funciona",
"da": "Denne salgsautomat virker",
"es": "Esta máquina expendedora funciona"
"es": "Esta máquina expendedora funciona",
"cs": "Tento prodejní automat funguje"
}
},
{
@ -135,7 +141,8 @@
"pt_BR": "Esta máquina de venda automática está quebrada",
"pt": "Esta máquina de venda automática está quebrada",
"es": "Esta máquina exprendedora está rota",
"da": "Denne salgsautomat er i stykker"
"da": "Denne salgsautomat er i stykker",
"cs": "Tento prodejní automat je rozbitý"
}
},
{
@ -153,7 +160,8 @@
"pt_BR": "Esta máquina de venda automática está fechada",
"pt": "Esta máquina de venda automática está fechada",
"es": "Esta máquina exprendedora está cerrada",
"da": "Denne salgsautomat er lukket"
"da": "Denne salgsautomat er lukket",
"cs": "Tento prodejní automat je uzavřen"
}
}
],
@ -303,6 +311,7 @@
"nl": "Een laag met verkoopsautomaten met binnenbanden voor fietsen (dit kan een automaat zijn met énkel fietsbanden, of een gewone automaat met fietsbanden en andere fietsaccessoires zoals lichten, handschoenen, sloten,...)",
"de": "Eine Ebene mit Automaten für Fahrradschläuche (entweder spezielle Fahrradschlauch-Automaten oder klassische Automaten mit Fahrradschläuchen und optional zusätzlichen fahrradbezogenen Gegenständen wie Lampen, Handschuhe, Schlösser, …)",
"da": "Et lag med automater til cykelslanger (enten specialbyggede cykelslangeautomater eller klassiske automater med cykelslanger og eventuelt andre cykelrelaterede genstande som f.eks. lys, handsker, låse, o.s.v)",
"fr": "Une couche affichant des distributeurs automatiques de chambre à air (que ce soit des distributeurs conçus spécifiquement pour les chambres à air ou des distributeurs classiques incluant des chambres à air ainsi des objets apparentés tels que de l'éclairage pour vélo, des gants, des cadenas, ...)"
"fr": "Une couche affichant des distributeurs automatiques de chambre à air (que ce soit des distributeurs conçus spécifiquement pour les chambres à air ou des distributeurs classiques incluant des chambres à air ainsi des objets apparentés tels que de l'éclairage pour vélo, des gants, des cadenas, ...)",
"cs": "Vrstva zobrazující automaty na cyklistické duše (buď speciální automaty na cyklistické duše, nebo klasické automaty s cyklistickými dušemi a případně dalšími předměty souvisejícími s jízdními koly, jako jsou světla, rukavice, zámky, ...)"
}
}

View file

@ -13,7 +13,8 @@
"pt_BR": "Café de bicicletas",
"pt": "Café de bicicletas",
"ca": "Cafeteria per a bicicletes",
"da": "Cykelcafé"
"da": "Cykelcafé",
"cs": "Cyklokavárna"
},
"minzoom": 13,
"source": {
@ -54,7 +55,8 @@
"pt_BR": "Café de bicicleta",
"pt": "Café de bicicleta",
"ca": "Cafeteria per a bicicletes",
"da": "Cykelcafé"
"da": "Cykelcafé",
"cs": "Cyklokavárna"
},
"mappings": [
{
@ -71,7 +73,8 @@
"zh_Hant": "單車咖啡廳<i>{name}</i>",
"pt_BR": "Café de bicicleta <i>{name}</i>",
"pt": "Café de bicicleta <i>{name}</i>",
"da": "Cykelcafé <i>{name}</i>"
"da": "Cykelcafé <i>{name}</i>",
"cs": "Cyklokavárna <i>{name}</i>"
}
}
]
@ -91,7 +94,8 @@
"zh_Hant": "這個單車咖啡廳的名稱是?",
"pt_BR": "Qual o nome deste café de bicicleta?",
"pt": "Qual o nome deste café de bicicleta?",
"da": "Hvad hedder denne cykelcafé?"
"da": "Hvad hedder denne cykelcafé?",
"cs": "Jak se jmenuje tato cyklokavárna?"
},
"render": {
"en": "This bike cafe is called {name}",
@ -105,7 +109,8 @@
"zh_Hant": "這個單車咖啡廳叫做 {name}",
"pt_BR": "Este café de bicicleta se chama {name}",
"pt": "Este café de bicicleta se chama {name}",
"da": "Denne cykelcafé hedder {name}"
"da": "Denne cykelcafé hedder {name}",
"cs": "Tato cyklokavárna se jmenuje {name}"
},
"freeform": {
"key": "name"
@ -124,7 +129,8 @@
"zh_Hans": "这家自行车咖啡为每个使用者提供打气筒吗?",
"ru": "Есть ли в этом велосипедном кафе велосипедный насос для всеобщего использования?",
"zh_Hant": "這個單車咖啡廳有提供給任何人都能使用的單車打氣甬嗎?",
"da": "Tilbyder denne cykelcafé en cykelpumpe til brug for alle?"
"da": "Tilbyder denne cykelcafé en cykelpumpe til brug for alle?",
"cs": "Nabízí tato cyklistická kavárna vzduchový kompresor na kolo k použití pro kohokoli?"
},
"mappings": [
{
@ -139,7 +145,8 @@
"zh_Hans": "这家自行车咖啡为每个人提供打气筒",
"zh_Hant": "這個單車咖啡廳有提供給任何人都能使用的單車打氣甬",
"ru": "В этом велосипедном кафе есть велосипедный насос для всеобщего использования",
"da": "Denne cykelcafé tilbyder en cykelpumpe til enhver"
"da": "Denne cykelcafé tilbyder en cykelpumpe til enhver",
"cs": "Tato cyklistická kavárna nabízí vzduchový kompresor na kolo pro každého"
}
},
{
@ -154,7 +161,8 @@
"zh_Hans": "这家自行车咖啡不为每个人提供打气筒",
"zh_Hant": "這個單車咖啡廳並沒有為所有人提供單車打氣甬",
"ru": "В этом велосипедном кафе нет велосипедного насоса для всеобщего использования",
"da": "Denne cykelcafé tilbyder ikke en cykelpumpe til nogen"
"da": "Denne cykelcafé tilbyder ikke en cykelpumpe til nogen",
"cs": "Tato cyklistická kavárna nenabízí vzduchový kompresor na kolo"
}
}
]
@ -174,7 +182,8 @@
"pt_BR": "Há ferramentas aqui para consertar sua bicicleta?",
"pt": "Há ferramentas aqui para consertar a sua própria bicicleta?",
"es": "¿Hay herramientas para reparar su propia bicicleta?",
"da": "Er der værktøj her til at reparere din egen cykel?"
"da": "Er der værktøj her til at reparere din egen cykel?",
"cs": "Jsou zde nástroje na opravu vlastního kola?"
},
"mappings": [
{
@ -191,7 +200,8 @@
"ru": "В этом велосипедном кафе есть инструменты для починки своего велосипеда",
"pt_BR": "Este café de bicicleta oferece ferramentas de reparo faça você mesmo",
"pt": "Este café de bicicleta oferece ferramentas de reparo faça você mesmo",
"da": "Denne cykelcafé tilbyder værktøj til gør-det-selv-reparation"
"da": "Denne cykelcafé tilbyder værktøj til gør-det-selv-reparation",
"cs": "Tato cyklokavárna nabízí nářadí pro kutilské opravy"
}
},
{
@ -208,7 +218,8 @@
"ru": "В этом велосипедном кафе нет инструментов для починки своего велосипеда",
"pt_BR": "Este café de bicicleta não oferece ferramentas de reparo faça você mesmo",
"pt": "Este café de bicicleta não oferece ferramentas de reparo faça você mesmo",
"da": "Denne cykelcafé tilbyder ikke værktøj til gør-det-selv-reparation"
"da": "Denne cykelcafé tilbyder ikke værktøj til gør-det-selv-reparation",
"cs": "Tato cyklokavárna nenabízí nářadí pro kutilské opravy"
}
}
]
@ -227,7 +238,8 @@
"ru": "Есть ли услуги ремонта велосипедов в этом велосипедном кафе?",
"pt_BR": "Este café de bicicleta conserta bicicletas?",
"pt": "Este café de bicicleta conserta bicicletas?",
"da": "Reparerer denne cykelcafé cykler?"
"da": "Reparerer denne cykelcafé cykler?",
"cs": "Opravuje tato cyklokavárna jízdní kola?"
},
"mappings": [
{
@ -244,7 +256,8 @@
"ru": "В этом велосипедном кафе есть услуги ремонта велосипедов",
"pt_BR": "Este café de bicicleta conserta bicicletas",
"pt": "Este café de bicicleta conserta bicicletas",
"da": "Denne cykelcafé reparerer cykler"
"da": "Denne cykelcafé reparerer cykler",
"cs": "Tato cyklokavárna opravuje jízdní kola"
}
},
{
@ -261,7 +274,8 @@
"ru": "В этом велосипедном кафе нет услуг ремонта велосипедов",
"pt_BR": "Este café de bicicleta não conserta bicicletas",
"pt": "Este café de bicicleta não conserta bicicletas",
"da": "Denne cykelcafé reparerer ikke cykler"
"da": "Denne cykelcafé reparerer ikke cykler",
"cs": "Tato cyklokavárna neopravuje kola"
}
}
]
@ -286,6 +300,7 @@
"da": "Hvornår er denne cykelcafé åbent?"
}
}
}
],
"presets": [
@ -302,7 +317,8 @@
"ru": "Велосипедное кафе",
"pt_BR": "uma café de bicicleta",
"pt": "uma café de bicicleta",
"da": "en cykelcafé"
"da": "en cykelcafé",
"cs": "kavárna pro cyklisty"
},
"tags": [
"amenity=pub",
@ -337,6 +353,7 @@
"nl": "Een fietscafé is een café dat gericht is op fietsers, bijvoorbeeld omdat het een fietspomp heeft, fietsgerelateerde decoratie heeft enzovoorts.",
"de": "Ein Fahrradcafé ist ein Café, das auf Radfahrer ausgerichtet ist, zum Beispiel mit Dienstleistungen wie einer Pumpe, mit viel fahrradbezogener Dekoration, …",
"da": "En cykelcafé er en café rettet mod cyklister, for eksempel med tjenester som en pumpe, med masser af cykelrelateret dekoration, o.s.v",
"fr": "Un vélo café est un café à destination des cyclistes avec, par exemple, des services tels quune pompe, et de nombreuses décorations liées aux vélos, etc."
"fr": "Un vélo café est un café à destination des cyclistes avec, par exemple, des services tels quune pompe, et de nombreuses décorations liées aux vélos, etc.",
"cs": "Cyklokavárna je kavárna zaměřená na cyklisty, například se službami, jako je pumpa, se spoustou výzdoby související s jízdními koly, …"
}
}

View file

@ -11,7 +11,8 @@
"pt": "Serviço de limpeza de bicicletas",
"ru": "Услуги по чистке велосипедов",
"es": "Servicio de limpieza de bicis",
"da": "Cykelrengøring"
"da": "Cykelrengøring",
"cs": "Služba mytí jízdních kol"
},
"title": {
"render": {
@ -25,7 +26,8 @@
"pt": "Serviço de limpeza de bicicletas",
"ru": "Услуги по чистке велосипедов",
"es": "Servicio de limpieza de bicis",
"da": "Cykel rengøringsservice"
"da": "Cykel rengøringsservice",
"cs": "Služba mytí jízdních kol"
},
"mappings": [
{
@ -40,7 +42,8 @@
"pt_BR": "Serviço de limpeza de bicicletas <i>{name}</i>",
"pt": "Serviço de limpeza de bicicletas <i>{name}</i>",
"es": "Servicio de limpieza de bicis <i>{name}</i>",
"da": "Cykelrengøringstjeneste <i>{name}</i>"
"da": "Cykelrengøringstjeneste <i>{name}</i>",
"cs": "Služba mytí kol <i>{name}</i>"
}
}
]
@ -69,7 +72,8 @@
"pt": "uma serviço de limpeza de bicicletas",
"ru": "Услуги по чистке велосипедов",
"es": "un servicio de limpieza de bicis",
"da": "en cykelrengøring"
"da": "en cykelrengøring",
"cs": "služba mytí jízdních kol"
},
"tags": [
"amenity=bicycle_wash"
@ -85,7 +89,8 @@
"nl": "Hoeveel kost het gebruik van het fietsschoonmaakpunt?",
"es": "¿Cuánto cuesta utilizar el servicio de limpieza?",
"fr": "Combien coûte le service de nettoyage ?",
"da": "Hvor meget koster det at bruge rengøringsservicen?"
"da": "Hvor meget koster det at bruge rengøringsservicen?",
"cs": "Kolik stojí využívání služby mytí?"
},
"render": {
"en": "Using the cleaning service costs {service:bicycle:cleaning:charge}",
@ -93,7 +98,8 @@
"nl": "Het gebruik van het fietsschoonmaakpunt kost {service:bicycle:cleaning:charge}",
"es": "Utilizar el servicio de limpieza cuesta {service:bicycle:cleaning:charge}",
"fr": "Le service de nettoyage coûte {service:bicycle:cleaning:charge}",
"da": "Brug af rengøringsservice koster {service:bicycle:cleaning:charge}"
"da": "Brug af rengøringsservice koster {service:bicycle:cleaning:charge}",
"cs": "Využití služby mytí stojí {service:bicycle:cleaning:charge}"
},
"condition": {
"and": [
@ -117,7 +123,8 @@
"nl": "Het fietsschoonmaakpunt is gratis",
"es": "El servicio de limpieza es gratis",
"fr": "Le service de nettoyage est gratuit",
"da": "Rengøringsservicen er gratis at bruge"
"da": "Rengøringsservicen er gratis at bruge",
"cs": "Služba mytí je k dispozici zdarma"
},
"addExtraTags": [
"service:bicycle:cleaning:charge="
@ -136,7 +143,8 @@
"nl": "Gratis te gebruiken",
"es": "Gratis",
"fr": "Utilisation gratuite",
"da": "Gratis at bruge"
"da": "Gratis at bruge",
"cs": "Bezplatné používání"
},
"hideInAnswer": true
}
@ -150,7 +158,8 @@
"nl": "Hoeveel kost het gebruik van het fietsschoonmaakpunt?",
"es": "¿Cuánto cuesta utilizar el servicio de limpieza?",
"fr": "Combien cela coûte-t-il d'utiliser le service de nettoyage ?",
"da": "Hvor meget koster det at bruge rengøringsservicen?"
"da": "Hvor meget koster det at bruge rengøringsservicen?",
"cs": "Kolik stojí využívání služby mytí?"
},
"render": {
"en": "Using the cleaning service costs {charge}",
@ -158,7 +167,8 @@
"nl": "Het gebruik van het fietsschoonmaakpunt kost {charge}",
"es": "Utilizar el servicio de limpieza cuesta {charge}",
"fr": "Lutilisation du service de nettoyage coûte {charge}",
"da": "Brug af rengøringsservice koster {charge}"
"da": "Brug af rengøringsservice koster {charge}",
"cs": "Využití služby mytí stojí {charge}"
},
"condition": {
"or": [
@ -181,7 +191,8 @@
"nl": "Gratis fietsschoonmaakpunt",
"es": "Un servicio de limpieza gratis",
"fr": "Service de nettoyage gratuit",
"da": "Gratis at bruge rengøringsservice"
"da": "Gratis at bruge rengøringsservice",
"cs": "Bezplatné využívání mycích služeb"
},
"addExtraTags": [
"charge="
@ -195,7 +206,8 @@
"nl": "Gratis te gebruiken",
"es": "Gratis",
"fr": "Libre d'utilisation",
"da": "Gratis at bruge"
"da": "Gratis at bruge",
"cs": "Bezplatné používání"
}
}
],
@ -248,6 +260,7 @@
"de": "Eine Ebene mit Einrichtungen, in denen man sein Fahrrad reinigen kann",
"es": "Una capa que muestra facilidades en las que uno puede limpiar su bici",
"da": "Et lag med faciliteter, hvor man kan rengøre sin cykel",
"fr": "Une couche affichant les lieux où l'on peut nettoyer son vélo"
"fr": "Une couche affichant les lieux où l'on peut nettoyer son vélo",
"cs": "Vrstva zobrazující zařízení, kde si můžete umýt kolo"
}
}

View file

@ -15,7 +15,8 @@
"pt": "Estacionamento de bicicletas",
"ca": "Aparcament per a bicicletes",
"es": "Aparcamiento de bicis",
"da": "Cykelparkering"
"da": "Cykelparkering",
"cs": "Parkování kol"
},
"minzoom": 17,
"source": {
@ -41,7 +42,8 @@
"pt_BR": "uma estacionamento de bicicletas",
"pt": "uma estacionamento de bicicletas",
"es": "un aparcamiento de bicis",
"da": "en cykelparkering"
"da": "en cykelparkering",
"cs": "parkování kol"
},
"tags": [
"amenity=bicycle_parking"
@ -64,7 +66,8 @@
"pt": "Estacionamento de bicicletas",
"ca": "Aparcament per a bicicletes",
"es": "Aparcamiento de bicis",
"da": "Cykelparkering"
"da": "Cykelparkering",
"cs": "Parkování kol"
}
},
"tagRenderings": [
@ -84,7 +87,8 @@
"pt_BR": "Qual o tipo deste estacionamento de bicicletas?",
"pt": "Qual o tipo deste estacionamento de bicicletas?",
"es": "¿Cual es el tipo de este aparcamiento de bicicletas?",
"da": "Hvilken type cykelparkering er det?"
"da": "Hvilken type cykelparkering er det?",
"cs": "Jaký je typ tohoto parkoviště pro jízdní kola?"
},
"render": {
"en": "This is a bicycle parking of the type: {bicycle_parking}",
@ -100,7 +104,8 @@
"pt_BR": "Este é um estacionamento de bicicletas do tipo: {bicycle_parking}",
"pt": "Este é um estacionamento de bicicletas do tipo: {bicycle_parking}",
"es": "Este es un aparcamiento de bicicletas del tipo: {bicycle_parking}",
"da": "Dette er en cykelparkering af typen: {bicycle_parking}"
"da": "Dette er en cykelparkering af typen: {bicycle_parking}",
"cs": "Jde o typ parkoviště pro jízdní kola: {bicycle_parking}"
},
"freeform": {
"key": "bicycle_parking",
@ -121,7 +126,8 @@
"it": "Archetti",
"zh_Hant": "單車架",
"ca": "Bastidors de grapes",
"da": "Hæftestativer"
"da": "Hæftestativer",
"cs": "Stojany"
},
"icon": {
"path": "./assets/layers/bike_parking/staple.svg",
@ -140,7 +146,8 @@
"it": "Scolapiatti",
"zh_Hant": "車輪架/圓圈",
"ca": "Portarodes/bucles",
"da": "Hjulstativ/løkker"
"da": "Hjulstativ/løkker",
"cs": "Stojan na kola / smyčky"
},
"icon": {
"path": "./assets/layers/bike_parking/wall_loops.svg",
@ -158,7 +165,8 @@
"it": "Blocca manubrio",
"zh_Hant": "車把架",
"ca": "Suport de manillar",
"da": "Styrholder"
"da": "Styrholder",
"cs": "Držák na řídítka"
},
"icon": {
"path": "./assets/layers/bike_parking/handlebar_holder.svg",
@ -177,7 +185,8 @@
"it": "Rastrelliera",
"ru": "Стойка",
"ca": "Enganxament",
"da": "Stativ"
"da": "Stativ",
"cs": "Stojan"
},
"icon": {
"path": "./assets/layers/bike_parking/rack.svg",
@ -197,7 +206,8 @@
"it": "A due piani",
"ru": "Двухуровневая",
"ca": "De dos nivells",
"da": "To-lags"
"da": "To-lags",
"cs": "Dvouúrovňové"
},
"icon": {
"path": "./assets/layers/bike_parking/two_tier.svg",
@ -217,7 +227,9 @@
"it": "Rimessa",
"ru": "Навес",
"es": "Caseta",
"da": "Skur"
"da": "Skur",
"cs": "Přístřešek",
"pa_PK": "شیڈ"
},
"icon": {
"path": "./assets/layers/bike_parking/shed.svg",
@ -235,7 +247,9 @@
"zh_Hant": "柱子",
"ca": "Pilona",
"es": "Bolardo",
"da": "Pullert"
"da": "Pullert",
"cs": "Sloupek",
"pa_PK": "بولارڈ"
},
"icon": {
"path": "./assets/layers/bike_parking/bollard.svg",
@ -252,7 +266,8 @@
"de": "Ein Bereich auf dem Boden, der für das Abstellen von Fahrrädern gekennzeichnet ist",
"zh_Hant": "樓層當中標示為單車停車場的區域",
"es": "Una área en el suelo que está marcada para el aparcamiento de bicicletas",
"da": "Et område på gulvet, der er markeret til cykelparkering"
"da": "Et område på gulvet, der er markeret til cykelparkering",
"cs": "Plocha na zemi označená pro parkování jízdních kol"
}
}
],
@ -270,7 +285,8 @@
"de": "Wo befinden sich diese Fahrradabstellplätze?",
"pt": "Qual a localização relativa deste estacionamento de bicicletas?",
"es": "¿Cual es la localización relativa de este aparcamiento de bicicletas?",
"da": "Hvad er den relative placering af denne cykelparkering?"
"da": "Hvad er den relative placering af denne cykelparkering?",
"cs": "Jaké je relativní umístění tohoto parkoviště pro jízdní kola?"
},
"mappings": [
{
@ -287,7 +303,8 @@
"pt": "Estacionamento subterrâneo",
"ca": "Aparcament subterrani",
"es": "Aparcamiento subterráneo",
"da": "Underjordisk parkering"
"da": "Underjordisk parkering",
"cs": "Podzemní parkoviště"
}
},
{
@ -304,7 +321,8 @@
"pt": "Estacionamento de superfície",
"hu": "Felszíni parkoló",
"es": "Aparcamiento a nivel de calle",
"da": "Parkering i gade niveau"
"da": "Parkering i gade niveau",
"cs": "Povrchové parkoviště"
}
},
{
@ -322,7 +340,8 @@
"ru": "Парковка на крыше",
"ca": "Aparcament al terrat",
"es": "Aparcamiento de azotea",
"da": "Tagparkering"
"da": "Tagparkering",
"cs": "Parkoviště na střeše"
}
},
{
@ -338,7 +357,8 @@
"pt_BR": "Estacionamento ao nível da superfície",
"pt": "Estacionamento ao nível da superfície",
"es": "Aparcamiento a nivel de calle",
"da": "Parkering i gade niveau"
"da": "Parkering i gade niveau",
"cs": "Povrchové parkoviště"
},
"hideInAnswer": true
}
@ -358,7 +378,8 @@
"pt_BR": "Este estacionamento é coberto? Também selecione \"coberto\" para estacionamentos internos.",
"pt": "Este estacionamento é coberto? Também selecione \"coberto\" para estacionamentos internos.",
"es": "¿Está cubierto este aparcamiento? Selecciona \"cubierto\" también para aparcamientos interiores.",
"da": "Er denne parkering overdækket? Vælg også \"overdækket\" for indendørs parkeringspladser."
"da": "Er denne parkering overdækket? Vælg også \"overdækket\" for indendørs parkeringspladser.",
"cs": "Je toto parkoviště zastřešené? U vnitřních parkovišť vyberte také možnost \"kryté\"."
},
"condition": {
"and": [
@ -382,7 +403,8 @@
"pt_BR": "Este estacionamento é coberto (tem um telhado)",
"pt": "Este estacionamento é coberto (tem um telhado)",
"es": "Este aparcamiento está cubierto (tiene un tejado)",
"da": "Denne parkeringsplads er overdækket (den har et tag)"
"da": "Denne parkeringsplads er overdækket (den har et tag)",
"cs": "Toto parkoviště je zastřešené (má střechu)"
}
},
{
@ -400,7 +422,8 @@
"pt_BR": "Este estacionamento não é coberto",
"pt": "Este estacionamento não é coberto",
"es": "Este aparcamiento no está cubierto",
"da": "Denne parkeringsplads er ikke overdækket"
"da": "Denne parkeringsplads er ikke overdækket",
"cs": "Toto parkoviště není zastřešené"
}
}
],
@ -416,7 +439,8 @@
"it": "Quante biciclette entrano in questo parcheggio per bici (incluse le eventuali bici da trasporto)?",
"zh_Hant": "這個單車停車場能放幾台單車 (包括裝箱單車)",
"es": "¿Cuántas bicicletas caben en este aparcamiento de bicicletas (incluyendo posibles bicicletas de carga)?",
"da": "Hvor mange cykler er der plads til på denne cykelparkering (inklusive mulige ladcykler)?"
"da": "Hvor mange cykler er der plads til på denne cykelparkering (inklusive mulige ladcykler)?",
"cs": "Kolik jízdních kol se vejde na toto parkoviště (včetně případných nákladních kol)?"
},
"render": {
"en": "Place for {capacity} bikes",
@ -430,7 +454,8 @@
"pt_BR": "Lugar para {capacity} bicicletas",
"pt": "Lugar para {capacity} bicicletas",
"es": "Espacio para {capacity} bicis",
"da": "Plads til {capacity} cykler"
"da": "Plads til {capacity} cykler",
"cs": "Místo pro {capacity} kol"
},
"freeform": {
"key": "capacity",
@ -450,7 +475,8 @@
"pt_BR": "Quem pode usar este estacionamento de bicicletas?",
"pt": "Quem pode usar este estacionamento de bicicletas?",
"es": "¿Quién puede utilizar este aparcamiento de bicicletas?",
"da": "Hvem kan bruge denne cykelparkering?"
"da": "Hvem kan bruge denne cykelparkering?",
"cs": "Kdo může parkoviště pro jízdní kola využívat?"
},
"render": {
"en": "{access}",
@ -467,7 +493,8 @@
"eo": "{access}",
"ca": "{access}",
"es": "{access}",
"da": "{access}"
"da": "{access}",
"cs": "{access}"
},
"freeform": {
"key": "access",
@ -489,7 +516,8 @@
"pt": "Acessível ao público",
"ca": "Accessible al públic",
"es": "Accesible públicamente",
"da": "Offentligt tilgængelig"
"da": "Offentligt tilgængelig",
"cs": "Veřejně přístupné"
}
},
{
@ -504,7 +532,8 @@
"de": "Der Parkplatz darf von Kunden des Unternehmens genutzt werden",
"pt": "Acesso é principalmente para visitantes de uma empresa",
"es": "El acceso es primariamente para visitantes a un negocio",
"da": "Adgang hovedsageligt for besøgende til en virksomhed"
"da": "Adgang hovedsageligt for besøgende til en virksomhed",
"cs": "Přístup je určen především pro návštěvníky podniku"
}
},
{
@ -519,7 +548,8 @@
"de": "Der Parkplatz darf nur von Mitgliedern einer Schule, Firma oder Organisation genutzt werden",
"pt": "Acesso é limitado aos membros de uma escola, companhia ou organização",
"es": "El acceso se limita a miembros de una escuela, compañía u organización",
"da": "Adgangen er begrænset til medlemmer af en skole, virksomhed eller organisation"
"da": "Adgangen er begrænset til medlemmer af en skole, virksomhed eller organisation",
"cs": "Přístup je omezen na členy školy, společnosti nebo organizace"
}
}
],
@ -537,7 +567,8 @@
"pt_BR": "O estacionamento de bicicletas tem vagas para bicicletas de carga?",
"pt": "O estacionamento de bicicletas tem vagas para bicicletas de carga?",
"es": "¿Este aparcamiento de bicicletas tiene huevos para bicicletas de carga?",
"da": "Har denne cykelparkering plads til ladcykler?"
"da": "Har denne cykelparkering plads til ladcykler?",
"cs": "Má toto parkoviště místa pro nákladní kola?"
},
"mappings": [
{
@ -553,7 +584,8 @@
"pt_BR": "Este estacionamento tem vagas para bicicletas de carga",
"pt": "Este estacionamento tem vagas para bicicletas de carga",
"es": "Este aparcamiento tiene espacio para bicicletas de carga",
"da": "Denne parkeringsplads har plads til ladcykler"
"da": "Denne parkeringsplads har plads til ladcykler",
"cs": "Na tomto parkovišti je místo pro nákladní kola"
}
},
{
@ -569,7 +601,8 @@
"pt_BR": "Este estacionamento tem vagas (oficiais) projetadas para bicicletas de carga.",
"pt": "Este estacionamento tem vagas (oficiais) projetadas para bicicletas de carga.",
"es": "Este aparcamiento tiene huecos designados (oficialmente) para bicicletas de carga.",
"da": "Denne parkeringsplads har udpegede (officielle) pladser til ladcykler."
"da": "Denne parkeringsplads har udpegede (officielle) pladser til ladcykler.",
"cs": "Toto parkoviště má vyhrazená (oficiální) místa pro nákladní kola."
}
},
{
@ -584,7 +617,8 @@
"pt_BR": "Você não tem permissão para estacionar bicicletas de carga",
"pt": "Não tem permissão para estacionar bicicletas de carga",
"es": "No está permitido aparcar bicicletas de carga",
"da": "Det er ikke tilladt at parkere ladcykler"
"da": "Det er ikke tilladt at parkere ladcykler",
"cs": "Není povoleno parkovat nákladní kola"
}
}
],
@ -601,7 +635,8 @@
"pt_BR": "Quantas bicicletas de carga cabem neste estacionamento de bicicletas?",
"pt": "Quantas bicicletas de carga cabem neste estacionamento de bicicletas?",
"es": "¿Cuántas bicicletas de carga caben en este aparcamiento de bicicletas?",
"da": "Hvor mange ladcykler er der plads til i denne cykelparkering?"
"da": "Hvor mange ladcykler er der plads til i denne cykelparkering?",
"cs": "Kolik nákladních jízdních kol se vejde do tohoto parkoviště pro jízdní kola?"
},
"render": {
"en": "This parking fits {capacity:cargo_bike} cargo bikes",
@ -613,7 +648,8 @@
"pt_BR": "Neste estacionamento cabem {capacity:cargo_bike} bicicletas de carga",
"pt": "Neste estacionamento cabem {capacity:cargo_bike} bicicletas de carga",
"es": "En este aparcamiento caben {capacity:cargo_bike} bicicletas de carga",
"da": "Der er plads til {capacity:cargo_bike} på denne cykelparkering"
"da": "Der er plads til {capacity:cargo_bike} på denne cykelparkering",
"cs": "Toto parkoviště je vhodné pro {capacity:cargo_bike} nákladních kol"
},
"condition": "cargo_bike~designated|yes",
"freeform": {
@ -658,6 +694,7 @@
"de": "Eine Ebene, die anzeigt, wo Sie Ihr Fahrrad abstellen können",
"es": "Una capa que muestra donde puedes aparcar tu bici",
"da": "Et lag, der viser, hvor man kan parkere sin cykel",
"fr": "Une couche montrant où stationner son vélo"
"fr": "Une couche montrant où stationner son vélo",
"cs": "Vrstva ukazující, kde můžete zaparkovat kolo"
}
}

View file

@ -10,7 +10,8 @@
"pt_BR": "Estações de bicicletas (reparo, bomba ou ambos)",
"ru": "Велостанции (ремонт, накачка шин или сразу всё)",
"es": "Bomba y reparación de bicicletas",
"da": "Cykelpumpe og reparation"
"da": "Cykelpumpe og reparation",
"cs": "Vzduchový kompresor a opravy jízdních kol"
},
"minzoom": 13,
"source": {
@ -167,7 +168,8 @@
"pt_BR": "Quais serviços estão disponíveis nesta estação de bicicletas?",
"pt": "Quais serviços estão disponíveis nesta estação de bicicletas?",
"es": "¿Qué servicios están disponibles en esta localización?",
"da": "Hvilke tjenester er tilgængelige på dette sted?"
"da": "Hvilke tjenester er tilgængelige på dette sted?",
"cs": "Jaké služby jsou na tomto místě k dispozici?"
},
"mappings": [
{
@ -187,7 +189,8 @@
"pt_BR": "Há somente uma bomba presente",
"pt": "Há somente uma bomba presente",
"es": "Solo hay una bomba presente",
"da": "Der er kun en pumpe"
"da": "Der er kun en pumpe",
"cs": "K dispozici je pouze vzduchový kompresor"
}
},
{
@ -207,7 +210,8 @@
"pt_BR": "Há somente ferramentas (chaves de fenda, alicates...) presentes",
"pt": "Há somente ferramentas (chaves de fenda, alicates...) presentes",
"es": "Solo hay herramientas (destornilladores, pinzas...) presentes",
"da": "Der er kun værktøj (skruetrækkere, tænger, ...) til stede"
"da": "Der er kun værktøj (skruetrækkere, tænger, ...) til stede",
"cs": "K dispozici je pouze nářadí (šroubováky, kleště, ...)."
}
},
{
@ -227,7 +231,8 @@
"pt_BR": "Há tanto ferramentas e uma bomba presente",
"pt": "Há tanto ferramentas e uma bomba presente",
"es": "Hay tanto herramientas como bombas",
"da": "Der er både værktøj og pumpe"
"da": "Der er både værktøj og pumpe",
"cs": "K dispozici jsou nástroje i vzduchový kompresor"
}
}
]
@ -243,7 +248,8 @@
"ru": "Велосипедный насос все еще работает?",
"pl": "Czy pompka rowerowa jest nadal sprawna?",
"es": "¿Todavía está operativa la bomba de bicicletas?",
"da": "Fungerer cykelpumpen stadig?"
"da": "Fungerer cykelpumpen stadig?",
"cs": "Je vzduchový kompresor na kolo stále funkční?"
},
"condition": "service:bicycle:pump=yes",
"mappings": [
@ -259,7 +265,8 @@
"ru": "Велосипедный насос сломан",
"pl": "Pompka rowerowa jest zepsuta",
"es": "La bomba de bicicletas está rota",
"da": "Cykelpumpen er i stykker"
"da": "Cykelpumpen er i stykker",
"cs": "Vzduchový kompresor na kolo je rozbitý"
}
},
{
@ -274,7 +281,8 @@
"ru": "Велосипедный насос работает",
"pl": "Pompka rowerowa jest sprawna",
"es": "La bomba de bicicletas está operativa",
"da": "Cykelpumpen er i drift"
"da": "Cykelpumpen er i drift",
"cs": "Vzduchový kompresor na kolo je v provozu"
}
}
],
@ -291,7 +299,8 @@
"de": "Wann ist die Fahrradreparaturstation geöffnet?",
"ru": "Когда работает эта точка обслуживания велосипедов?",
"es": "¿Cuándo está abierto este punto de reparación de bicicletas?",
"da": "Hvornår er dette cykelreparationssted åbent?"
"da": "Hvornår er dette cykelreparationssted åbent?",
"cs": "Kdy je toto místo pro opravu jízdních kol otevřeno?",
}
}
},
@ -303,7 +312,8 @@
"de": "Wer darf die Reparaturstation nutzen?",
"es": "¿A quién se le permite utilizar esta estación de reparación?",
"da": "Hvem må bruge denne reparationsstation?",
"fr": "Qui est autorisé à utiliser ce centre de réparation ?"
"fr": "Qui est autorisé à utiliser ce centre de réparation ?",
"cs": "Kdo smí tuto opravnu používat?"
},
"mappings": [
{
@ -314,7 +324,8 @@
"de": "Die Reparaturstation darf öffentlich genutzt werden",
"es": "Accesible públicamente",
"da": "Offentligt tilgængelig",
"fr": "Accessible au public"
"fr": "Accessible au public",
"cs": "Veřejně přístupné"
}
},
{
@ -325,7 +336,8 @@
"de": "Öffentlich zugänglich",
"es": "Accesible públicamente",
"da": "Offentligt tilgængelig",
"fr": "Accessible au public"
"fr": "Accessible au public",
"cs": "Veřejně přístupné"
},
"hideInAnswer": true
},
@ -337,7 +349,8 @@
"de": "Die Reparaturstation darf nur von Kunden genutzt werden",
"es": "Solo para clientes",
"da": "Kun for kunder",
"fr": "Réservé aux clients"
"fr": "Réservé aux clients",
"cs": "Pouze pro zákazníky"
}
},
{
@ -348,7 +361,8 @@
"de": "Die Reparaturstation darf nicht öffentlich genutzt werden",
"es": "No accesible para el público general",
"da": "Ikke tilgængelig for offentligheden",
"fr": "Pas accessible au public"
"fr": "Pas accessible au public",
"cs": "Nepřístupné pro veřejnost"
},
"icon": "./assets/svg/invalid.svg"
},
@ -360,7 +374,8 @@
"de": "Nicht für die Allgemeinheit zugänglich",
"es": "No accesible para el público general",
"da": "Ikke tilgængelig for offentligheden",
"fr": "Pas accessible au public"
"fr": "Pas accessible au public",
"cs": "Nepřístupné pro veřejnost"
},
"icon": "./assets/svg/invalid.svg",
"hideInAnswer": true
@ -408,7 +423,8 @@
"de": "Wie lautet die E-Mail-Adresse des Betreibers?",
"fr": "Quelle est l'adresse email du service de maintenance ?",
"es": "¿Es esta la dirección de correo electrónico del mantenedor?",
"da": "Hvad er e-mailadressen på vedligeholderen?"
"da": "Hvad er e-mailadressen på vedligeholderen?",
"cs": "Jaká je e-mailová adresa správce?"
},
"freeform": {
"key": "email",
@ -446,7 +462,8 @@
"de": "Verfügt diese Fahrrad-Reparaturstation über Spezialwerkzeug zur Reparatur von Fahrradketten?",
"it": "Questa stazione di riparazione bici ha un attrezzo speciale per riparare la catena della bici?",
"es": "¿Esta estación de reparación tiene una herramienta especial para reparar la cadena de tu bici?",
"da": "Har denne cykelreparationsstation et specialværktøj til at reparere cykelkæder?"
"da": "Har denne cykelreparationsstation et specialværktøj til at reparere cykelkæder?",
"cs": "Má tato opravna kol speciální nástroj na opravu řetězu?"
},
"condition": "service:bicycle:tools=yes",
"mappings": [
@ -462,7 +479,8 @@
"pt_BR": "Há uma ferramenta de corrente",
"pt": "Há uma ferramenta de corrente",
"es": "Hay una herramienta de cadenas",
"da": "Der er et kædeværktøj"
"da": "Der er et kædeværktøj",
"cs": "K dispozici je nástroj na řetěz"
}
},
{
@ -477,7 +495,8 @@
"pt_BR": "Não há uma ferramenta de corrente",
"pt": "Não há uma ferramenta de corrente",
"es": "No hay herramienta de cadenas",
"da": "Der er ikke noget kædeværktøj"
"da": "Der er ikke noget kædeværktøj",
"cs": "Není k dispozici žádný nástroj na řetěz"
}
}
]
@ -492,7 +511,8 @@
"de": "Hat diese Fahrradstation einen Haken, an dem Sie Ihr Fahrrad aufhängen können, oder einen Ständer, um es anzuheben?",
"it": "Questa stazione bici ha un gancio per tenere sospesa la bici o un supporto per alzarla?",
"es": "¿Esta estación tiene un gancho para colgar tu bici o un soporte para elevarla?",
"da": "Har denne cykelstation en krog til at hænge din cykel på eller et stativ til at hæve den?"
"da": "Har denne cykelstation en krog til at hænge din cykel på eller et stativ til at hæve den?",
"cs": "Má tato cyklistická stanice hák na zavěšení kola nebo stojan na jeho zvednutí?"
},
"condition": "service:bicycle:tools=yes",
"mappings": [
@ -508,7 +528,8 @@
"pt_BR": "Há um gancho ou um suporte",
"pt": "Há um gancho ou um suporte",
"es": "Hay un gancho o soporte",
"da": "Der er en krog eller et stativ"
"da": "Der er en krog eller et stativ",
"cs": "K dispozici je závěsný hák nebo stojan"
}
},
{
@ -523,7 +544,8 @@
"pt_BR": "Não há um gancho ou um suporte",
"pt": "Não há um gancho ou um suporte",
"es": "No hay ningún gancho o soporte",
"da": "Der er ingen krog eller stativ"
"da": "Der er ingen krog eller stativ",
"cs": "Není zde žádný závěsný hák ani stojan"
}
}
]
@ -655,7 +677,8 @@
"ru": "Это электрический велосипедный насос?",
"pl": "Czy jest to elektryczna pompka do roweru?",
"es": "¿Hay una bomba eléctrica para bicis?",
"da": "Er dette en elektrisk cykelpumpe?"
"da": "Er dette en elektrisk cykelpumpe?",
"cs": "Je to elektrická pumpa na kolo?"
},
"condition": "service:bicycle:pump=yes",
"mappings": [
@ -674,7 +697,8 @@
"pt": "Bomba manual",
"ca": "Bomba manual",
"es": "Bomba manual",
"da": "Manuel pumpe"
"da": "Manuel pumpe",
"cs": "Ruční pumpa"
}
},
{
@ -692,7 +716,8 @@
"pt": "Bomba elétrica",
"ca": "Bomba elèctrica",
"es": "Bomba eléctrica",
"da": "Elektrisk pumpe"
"da": "Elektrisk pumpe",
"cs": "Elektrická pumpa"
}
}
]
@ -708,7 +733,8 @@
"it": "Questa pompa ha lindicatore della pressione o il manometro?",
"pl": "Czy pompka posiada wskaźnik ciśnienia lub manometr?",
"es": "¿La bomba tiene un indicador de presión o manómetro?",
"da": "Har pumpen trykindikator eller manometer?"
"da": "Har pumpen trykindikator eller manometer?",
"cs": "Má vzduchový kompresor ukazatel tlaku nebo manometr?"
},
"condition": "service:bicycle:pump=yes",
"mappings": [
@ -726,7 +752,8 @@
"pt_BR": "Há um manômetro",
"pt": "Há um manômetro",
"es": "Hay un manómetro",
"da": "Der er et manometer"
"da": "Der er et manometer",
"cs": "K dispozici je manometr"
}
},
{
@ -743,7 +770,8 @@
"pt_BR": "Não há um manômetro",
"pt": "Não há um manômetro",
"es": "No hay ningún manometro",
"da": "Der er ikke noget manometer"
"da": "Der er ikke noget manometer",
"cs": "Není zde žádný manometr"
}
},
{
@ -760,7 +788,8 @@
"pt_BR": "Há um manômetro mas está quebrado",
"pt": "Há um manômetro mas está quebrado",
"es": "Hay un manómetro pero está roto",
"da": "Der er et manometer, men det er i stykker"
"da": "Der er et manometer, men det er i stykker",
"cs": "Je zde manometr, ale je rozbitý"
}
}
]
@ -781,7 +810,8 @@
"pl": "pompka do roweru",
"pt_BR": "uma bomba de bicicleta",
"es": "una bomba de bicicletas",
"da": "en cykelpumpe"
"da": "en cykelpumpe",
"cs": "pumpa na kolo"
},
"tags": [
"amenity=bicycle_repair_station",
@ -798,7 +828,8 @@
"pt_BR": "Um dispositivo para encher seus pneus em um local fixa no espaço público",
"pt": "Um aparelho para encher os seus pneus num local fixa no espaço público",
"es": "Un dispositivo para inflar tus ruedas en una posición fija en el espacio público.",
"da": "En anordning til at fylde dine dæk op på et fast sted i det offentlige rum."
"da": "En anordning til at fylde dine dæk op på et fast sted i det offentlige rum.",
"cs": "Zařízení pro huštění pneumatik na pevném místě na veřejném místě."
},
"exampleImages": [
"./assets/layers/bike_repair_station/pump_example_round.jpg",
@ -816,7 +847,8 @@
"it": "una stazione di riparazione bici e pompa",
"pl": "stacja naprawy rowerów i pompka",
"es": "En estación de reparación de bicicletas y bomba",
"da": "en cykelreparationsstation og pumpe"
"da": "en cykelreparationsstation og pumpe",
"cs": "opravna kol a vzduchový kompresor"
},
"tags": [
"amenity=bicycle_repair_station",
@ -830,7 +862,8 @@
"it": "Un dispositivo con attrezzi per riparare la tua bici e una pompa in un luogo fisso. Gli attrezzi sono spesso attaccati ad una catena per prevenire il furto.",
"de": "Ein Gerät mit Werkzeugen zur Reparatur von Fahrrädern kombiniert mit einer Pumpe an einem festen Standort. Die Werkzeuge sind oft mit Ketten gegen Diebstahl gesichert.",
"es": "Una bomba de bicicletas y herramientas para reparar tu bicicleta en el espacio público. Las herramientas habitualmente están aseguradas con cadenas contra el robo.",
"da": "En cykelpumpe og værktøj til at reparere din cykel i det offentlige rum. Værktøjet er ofte sikret med kæder mod tyveri."
"da": "En cykelpumpe og værktøj til at reparere din cykel i det offentlige rum. Værktøjet er ofte sikret med kæder mod tyveri.",
"cs": "Vzduchový kompresor na kolo a nářadí na opravu kola na veřejném místě. Nářadí je často zajištěno řetězy proti krádeži."
},
"exampleImages": [
"./assets/layers/bike_repair_station/repair_station_example_2.jpg",
@ -847,7 +880,8 @@
"it": "una stazione di riparazione bici senza pompa",
"ru": "Станция обслуживания велосипедов без накачки (насоса)",
"es": "una estación de reparación de bicicletas sin bomba",
"da": "en cykelreparationsstation uden pumpe"
"da": "en cykelreparationsstation uden pumpe",
"cs": "opravna kol bez vzduchového kompresoru"
},
"tags": [
"amenity=bicycle_repair_station",
@ -860,7 +894,8 @@
"de": "Werkzeug, um Ihr Fahrrad im öffentlichen Raum zu reparieren (ohne Pumpe). Die Werkzeuge sind gegen Diebstahl gesichert.",
"es": "Herramientas para reparar tu bici en el espacio público (sin bomba).Las herramientas están aseguradas contra el robo.",
"da": "Værktøj til at reparere din cykel i det offentlige rum (uden pumpe). Værktøjet er sikret mod tyveri.",
"fr": "Des outils pour réparer les vélos dans lespace public (sans pompe). Les outils sont sécurisés contre le vol."
"fr": "Des outils pour réparer les vélos dans lespace public (sans pompe). Les outils sont sécurisés contre le vol.",
"cs": "nářadí pro opravu kola na veřejném místě (bez vzduchového kompresoru) Nářadí je zabezpečeno proti krádeži."
}
}
],
@ -956,6 +991,7 @@
"de": "Eine Ebene mit Fahrradpumpen und Werkzeugständern für die Fahrradreparatur",
"es": "Una capa que muestra bombas de bicicletas y puestos de herramientas de reparación de bicicletas",
"da": "Et lag med cykelpumper og cykelreværktøjsstativer",
"fr": "Une couche montrant les pompes à vélo et les centres de réparation"
"fr": "Une couche montrant les pompes à vélo et les centres de réparation",
"cs": "Vrstva zobrazující vzduchové kompresory na jízdní kola a stojany na nářadí pro opravu jízdních kol"
}
}

View file

@ -8,7 +8,8 @@
"ca": "Prismàtics",
"da": "Kikkert",
"es": "Prismáticos",
"fr": "Jumelles"
"fr": "Jumelles",
"pa_PK": "بائینوکولر"
},
"minzoom": 0,
"title": {
@ -20,7 +21,8 @@
"ca": "Prismàtics",
"es": "Prismáticos",
"da": "Kikkert",
"fr": "Jumelles"
"fr": "Jumelles",
"pa_PK": "بائینوکولر"
}
},
"description": {
@ -31,7 +33,8 @@
"ca": "Prismàtics",
"da": "Kikkerter",
"es": "Prismáticos",
"fr": "Jumelles"
"fr": "Jumelles",
"pa_PK": "بائینوکولر"
},
"tagRenderings": [
"images",

View file

@ -136,7 +136,8 @@
"de": "Kneipe",
"da": "Pub",
"es": "Pub",
"fr": "Bar"
"fr": "Bar",
"pa_PK": "پب"
},
"mappings": [
{

View file

@ -4805,6 +4805,7 @@
"ca": " minuts",
"de": " Minuten",
"es": " minutos",
"pa_PK": " منٹ",
"ru": " минут"
},
"humanSingular": {
@ -4982,6 +4983,7 @@
"ca": "quilovats",
"de": "Kilowatt",
"es": "kilvatio",
"pa_PK": "کیلوواٹ",
"ru": "киловатт"
}
},
@ -4996,6 +4998,7 @@
"ca": "megavats",
"de": "Megawatt",
"es": "megavatio",
"pa_PK": "میگاواٹ",
"ru": "мегаватт"
}
}

View file

@ -246,7 +246,8 @@
"nl": "Kalksteen",
"fr": "Calcaire",
"de": "Kalkstein",
"it": "Calcare"
"it": "Calcare",
"pa_PK": "چونہ پتھر"
}
}
],

View file

@ -7,7 +7,8 @@
"fr": "Traversée",
"ca": "Encreuaments",
"da": "Overgange",
"es": "Cruces"
"es": "Cruces",
"pa_PK": "کراسنگاں"
},
"description": {
"en": "Crossings for pedestrians and cyclists",
@ -33,7 +34,8 @@
"de": "Kreuzung",
"fr": "Traversée",
"ca": "Encreuament",
"es": "Cruce"
"es": "Cruce",
"pa_PK": "کراسنگ"
},
"mappings": [
{
@ -343,32 +345,37 @@
{
"id": "crossing-sound",
"question": {
"en": "Does this traffic light have sound signals to aid crossing?"
"en": "Does this traffic light have sound signals to aid crossing?",
"de": "Gibt die Ampel akustische Signale, um das Überqueren zu erleichtern?"
},
"condition": "crossing=traffic_signals",
"mappings": [
{
"if": "traffic_signals:sound=yes",
"then": {
"en": "This traffic light has sound signals to help crossing, both for finding the crossing and for crossing."
"en": "This traffic light has sound signals to help crossing, both for finding the crossing and for crossing.",
"de": "Die Ampel gibt akustische Signale, um das Auffinden und Überqueren der Kreuzung zu erleichtern."
}
},
{
"if": "traffic_signals:sound=no",
"then": {
"en": "This traffic light does not have sound signals to help crossing."
"en": "This traffic light does not have sound signals to help crossing.",
"de": "Die Ampel gibt keine akustischen Signale, um das Überqueren zu erleichtern."
}
},
{
"if": "traffic_signals:sound=locate",
"then": {
"en": "This traffic light has a sound signal to help locate the pole, but no signal to sign that it is safe to cross."
"en": "This traffic light has a sound signal to help locate the pole, but no signal to sign that it is safe to cross.",
"de": "Die Ampel gibt ein akustisches Signal, zum Auffinden des Mastes, aber kein Signal für die Grünphase."
}
},
{
"if": "traffic_signals:sound=walk",
"then": {
"en": "This traffic light has a sound signal to sign that it is safe to cross, but no signal to help locate the pole."
"en": "This traffic light has a sound signal to sign that it is safe to cross, but no signal to help locate the pole.",
"de": "Die Ampel gibt ein akustisches Signal für die Grünphase, aber kein Signal zum Auffinden des Mastes."
}
}
]
@ -376,7 +383,8 @@
{
"id": "crossing-vibration",
"question": {
"en": "Does this traffic light have vibration signals to aid crossing? (usually located at the bottom of the crossing button)"
"en": "Does this traffic light have vibration signals to aid crossing? (usually located at the bottom of the crossing button)",
"de": "Gibt die Ampel ein Vibrationssignal, um das Überqueren zu erleichtern? (in der Regel am unteren Ende der Ampeltaste)"
},
"condition": {
"and": [
@ -388,7 +396,8 @@
{
"if": "traffic_signals:vibration=yes",
"then": {
"en": "The button for this traffic light has a vibration signal to indicate that it is safe to cross."
"en": "The button for this traffic light has a vibration signal to indicate that it is safe to cross.",
"de": "Die Ampeltaste vibriert während der Grünphase."
},
"icon": {
"path": "./assets/layers/crossings/Vibrating_button_illustration.jpg",
@ -398,7 +407,8 @@
{
"if": "traffic_signals:vibration=no",
"then": {
"en": "The button for this traffic light does not have a vibration signal to indicate that it is safe to cross."
"en": "The button for this traffic light does not have a vibration signal to indicate that it is safe to cross.",
"de": "Die Ampeltaste vibriert nicht während der Grünphase."
}
}
]
@ -406,20 +416,23 @@
{
"id": "crossing-arrow",
"question": {
"en": "Does this traffic light have an arrow pointing in the direction of crossing?"
"en": "Does this traffic light have an arrow pointing in the direction of crossing?",
"de": "Hat diese Ampel einen Pfeil, der in Richtung der Kreuzung zeigt?"
},
"condition": "crossing=traffic_signals",
"mappings": [
{
"if": "traffic_signals:arrow=yes",
"then": {
"en": "This traffic light has an arrow pointing in the direction of crossing."
"en": "This traffic light has an arrow pointing in the direction of crossing.",
"de": "Diese Ampel hat einen Pfeil, der in Richtung der Kreuzung zeigt."
}
},
{
"if": "traffic_signals:arrow=no",
"then": {
"en": "This traffic light does <b>not</b> have an arrow pointing in the direction of crossing."
"en": "This traffic light does <b>not</b> have an arrow pointing in the direction of crossing.",
"de": "Diese Ampel hat <b>keinen</b> Pfeil, der in Richtung der Kreuzung zeigt."
}
}
]
@ -427,14 +440,16 @@
{
"id": "crossing-minimap",
"question": {
"en": "Does this traffic light have a tactile map showing the layout of the crossing?"
"en": "Does this traffic light have a tactile map showing the layout of the crossing?",
"de": "Hat die Ampel hat eine taktile Karte, die den Verlauf der Kreuzung zeigt?"
},
"condition": "crossing=traffic_signals",
"mappings": [
{
"if": "traffic_signals:minimap=yes",
"then": {
"en": "This traffic light has a tactile map showing the layout of the crossing."
"en": "This traffic light has a tactile map showing the layout of the crossing.",
"de": "Die Ampel hat eine taktile Karte, die den Verlauf der Kreuzung zeigt."
},
"icon": {
"path": "./assets/layers/crossings/180px-Trairvoja_mapeto.jpg",
@ -444,7 +459,8 @@
{
"if": "traffic_signals:minimap=no",
"then": {
"en": "This traffic light does <b>not</b> have a tactile map showing the layout of the crossing."
"en": "This traffic light does <b>not</b> have a tactile map showing the layout of the crossing.",
"de": "Die Ampel hat <b>keine</b> taktile Karte, die den Verlauf der Kreuzung zeigt."
}
}
]

View file

@ -41,7 +41,8 @@
"render": {
"en": "Way",
"nl": "Weg",
"de": "Weg"
"de": "Weg",
"pa_PK": "راہ"
},
"mappings": [
{
@ -73,7 +74,8 @@
"fr": "Piste cyclable",
"ca": "Via ciclista",
"da": "Cykelsti",
"es": "Carril compartido"
"es": "Carril compartido",
"pa_PK": "سائیکل‌وے"
}
},
{
@ -174,7 +176,8 @@
"fr": "Vélorue",
"ca": "Carrer ciclista",
"da": "Cykelgade",
"es": "Ciclocalle"
"es": "Ciclocalle",
"pa_PK": "سائیکل سڑک"
}
},
{

View file

@ -4,7 +4,8 @@
"en": "Doctors",
"de": "Ärzte",
"nl": "Dokters",
"fr": "Médecins"
"fr": "Médecins",
"pa_PK": "ڈاکٹر"
},
"description": {
"en": "This layer shows doctor offices, dentists and other healthcare facilities",

View file

@ -4,7 +4,8 @@
"en": "Elevator",
"fr": "Ascenseur",
"de": "Aufzug",
"nl": "Lift"
"nl": "Lift",
"pa_PK": "ایلیویٹر"
},
"source": {
"osmTags": "highway=elevator"
@ -21,7 +22,8 @@
"en": "Elevator",
"fr": "Ascenseur",
"de": "Aufzug",
"nl": "Lift"
"nl": "Lift",
"pa_PK": "ایلیویٹر"
}
},
"tagRenderings": [
@ -138,21 +140,21 @@
{
"id": "tactile_writing_language",
"render": {
"special": {
"type": "language_chooser",
"key": "tactile_writing:braille:language",
"question": {
"en": "In which languages does this elevator have tactile writing (braille)?"
},
"render_list_item": {
"en": "This elevator has tactile writing in {language():font-bold}"
},
"render_single_language": {
"en": "This elevator has tactile writing in {language():font-bold}"
"special": {
"type": "language_chooser",
"key": "tactile_writing:braille:language",
"question": {
"en": "In which languages does this elevator have tactile writing (braille)?"
},
"render_list_item": {
"en": "This elevator has tactile writing in {language():font-bold}"
},
"render_single_language": {
"en": "This elevator has tactile writing in {language():font-bold}"
}
}
}
}}
}
],
"mapRendering": [
{
@ -208,7 +210,8 @@
"en": "meter",
"fr": "mètre",
"de": "Meter",
"nl": "meter"
"nl": "meter",
"pa_PK": "میٹر"
}
},
{
@ -222,10 +225,11 @@
"en": "centimeter",
"fr": "centimètre",
"de": "Zentimeter",
"nl": "centimeter"
"nl": "centimeter",
"pa_PK": "سینٹیمیٹر"
}
}
]
}
]
}
}

View file

@ -6,7 +6,8 @@
"de": "Eingänge",
"ca": "Entrada",
"es": "Entrada",
"fr": "Entrée"
"fr": "Entrée",
"pa_PK": "دروازہ"
},
"description": {
"en": "A layer showing entrances and offering capabilities to survey some advanced data which is important for e.g. wheelchair users (but also bicycle users, people who want to deliver, …)",
@ -33,7 +34,8 @@
"da": "Indgang",
"de": "Eingang",
"es": "Entrada",
"fr": "Entrée"
"fr": "Entrée",
"pa_PK": "دروازہ"
}
},
"tagRenderings": [
@ -482,7 +484,8 @@
"en": "meter",
"fr": "mètre",
"de": "Meter",
"nl": "meter"
"nl": "meter",
"pa_PK": "میٹر"
}
},
{
@ -496,7 +499,8 @@
"en": "centimeter",
"fr": "centimètre",
"de": "Zentimeter",
"nl": "centimeter"
"nl": "centimeter",
"pa_PK": "سینٹیمیٹر"
}
}
]

View file

@ -1,10 +1,12 @@
{
"id": "fitness_centre",
"name": {
"en": "Fitness Centres"
"en": "Fitness Centres",
"de": "Fitnessstudios"
},
"description": {
"en": "Layer showing fitness centres"
"en": "Layer showing fitness centres",
"de": "Ebene mit Fitnessstudios"
},
"source": {
"osmTags": "leisure=fitness_centre"
@ -12,7 +14,8 @@
"minzoom": 12,
"title": {
"render": {
"en": "Fitness Centre"
"en": "Fitness Centre",
"de": "Fitnessstudio"
},
"mappings": [
{
@ -25,12 +28,14 @@
{
"id": "name",
"question": {
"en": "What is the name of this fitness centre?"
"en": "What is the name of this fitness centre?",
"de": "Wie lautet der Name des Fitnessstudios?"
},
"freeform": {
"key": "name",
"placeholder": {
"en": "Name of fitness centre"
"en": "Name of fitness centre",
"de": "Name des Fitnessstudios"
},
"type": "string"
},
@ -38,12 +43,14 @@
{
"if": "noname=yes",
"then": {
"en": "This fitness centre has no name"
"en": "This fitness centre has no name",
"de": "Das Fitnessstudio hat keinen Namen"
}
}
],
"render": {
"en": "This fitness centre is called {name}"
"en": "This fitness centre is called {name}",
"de": "Das Fitnessstudio heißt {name}"
}
},
"images",
@ -61,7 +68,8 @@
"leisure=fitness_centre"
],
"title": {
"en": "a fitness centre"
"en": "a fitness centre",
"de": "ein Fitnessstudio"
},
"icon": "./assets/layers/fitness_centre/gym.svg"
}

View file

@ -1,10 +1,12 @@
{
"id": "fitness_station",
"name": {
"en": "Fitness Stations"
"en": "Fitness Stations",
"de": "Fitness-Stationen"
},
"description": {
"en": "Find a fitness station near you, and add missing ones."
"en": "Find a fitness station near you, and add missing ones.",
"de": "Finden Sie eine Fitness-Station in der Nähe und fügen Sie fehlende hinzu."
},
"source": {
"osmTags": "leisure=fitness_station"
@ -12,13 +14,15 @@
"minzoom": 12,
"title": {
"render": {
"en": "Fitness Station"
"en": "Fitness Station",
"de": "Fitness-Station"
},
"mappings": [
{
"if": "name~*",
"then": {
"en": "Fitness Station {name}"
"en": "Fitness Station {name}",
"de": "Fitness-Station {name}"
}
}
]
@ -27,12 +31,14 @@
{
"id": "name",
"question": {
"en": "What is the name of this fitness station?"
"en": "What is the name of this fitness station?",
"de": "Wie lautet der Name der Fitness-Station?"
},
"freeform": {
"key": "name",
"placeholder": {
"en": "Name of the fitness station"
"en": "Name of the fitness station",
"de": "Name der Fitness-Station"
},
"type": "string"
},
@ -40,24 +46,28 @@
{
"if": "noname=yes",
"then": {
"en": "This fitness station doesn't have a name"
"en": "This fitness station doesn't have a name",
"de": "Die Fitness-Station hat keinen Namen"
}
}
],
"render": {
"en": "This fitness station is called {name}"
"en": "This fitness station is called {name}",
"de": "Die Fitness-Station heißt {name}"
}
},
{
"id": "type",
"question": {
"en": "What kind of equipment does this fitness station have?"
"en": "What kind of equipment does this fitness station have?",
"de": "Welche Übungsgeräte gibt es an dieser Fitness-Station?"
},
"mappings": [
{
"if": "fitness_station=horizontal_bar",
"then": {
"en": "This fitness station has a horizontal bar, high enough for pull-ups."
"en": "This fitness station has a horizontal bar, high enough for pull-ups.",
"de": "Die Fitness-Station hat eine Reckstange für Klimmzüge."
},
"icon": {
"path": "./assets/layers/fitness_station/Trimm-Dich-Pfad_Grünwalder_Forst_Klimmzüge.jpg",
@ -67,7 +77,8 @@
{
"if": "fitness_station=sign",
"then": {
"en": "This fitness station has a sign with instructions for a specific exercise."
"en": "This fitness station has a sign with instructions for a specific exercise.",
"de": "Die Fitness-Station hat ein Schild mit Anweisungen für eine bestimmte Übung."
},
"icon": {
"path": "./assets/layers/fitness_station/Outdoor_fitness_station_sign.jpg",
@ -77,7 +88,8 @@
{
"if": "fitness_station=sit-up",
"then": {
"en": "This fitness station has a facility for sit-ups."
"en": "This fitness station has a facility for sit-ups.",
"de": "Die Fitness-Station hat eine Einrichtung für Sit-ups."
},
"icon": {
"path": "./assets/layers/fitness_station/Inclined_sit-up_bench.jpg",
@ -87,7 +99,8 @@
{
"if": "fitness_station=push-up",
"then": {
"en": "This fitness station has a facility for push-ups. Usually consists of one or more low horizontal bars."
"en": "This fitness station has a facility for push-ups. Usually consists of one or more low horizontal bars.",
"de": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen."
},
"icon": {
"path": "./assets/layers/fitness_station/Push-up_bars.jpg",
@ -97,7 +110,8 @@
{
"if": "fitness_station=stretch_bars",
"then": {
"en": "This fitness station has bars for stretching."
"en": "This fitness station has bars for stretching.",
"de": "Die Fitness-Station hat Stangen zum Dehnen."
},
"icon": {
"path": "./assets/layers/fitness_station/Fitness_station_stretch_bars.jpg",
@ -107,7 +121,8 @@
{
"if": "fitness_station=hyperextension",
"then": {
"en": "This fitness station has a station for making hyperextensions."
"en": "This fitness station has a station for making hyperextensions.",
"de": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)."
},
"icon": {
"path": "./assets/layers/fitness_station/Inclined_sit-up_and_hyperextension_bench.jpg",
@ -117,7 +132,8 @@
{
"if": "fitness_station=rings",
"then": {
"en": "This fitness station has rings for gymnastic exercises."
"en": "This fitness station has rings for gymnastic exercises.",
"de": "Die Fitness-Station hat Ringe für Gymnastikübungen."
},
"icon": {
"path": "./assets/layers/fitness_station/Exercise9159.jpg",
@ -127,7 +143,8 @@
{
"if": "fitness_station=horizontal_ladder",
"then": {
"en": "This fitness station has a horizontal ladder, also known as monkey bars."
"en": "This fitness station has a horizontal ladder, also known as monkey bars.",
"de": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)."
},
"icon": {
"path": "./assets/layers/fitness_station/Horizontal_ladder.jpg",
@ -137,7 +154,8 @@
{
"if": "fitness_station=wall_bars",
"then": {
"en": "This fitness station has wall bars to climb on."
"en": "This fitness station has wall bars to climb on.",
"de": "Die Fitness-Station hat eine Sprossenwand zum Klettern."
},
"icon": {
"path": "./assets/layers/fitness_station/RIAN_archive_493268_Sports_at_a_kindergarten.jpg",
@ -147,7 +165,8 @@
{
"if": "fitness_station=slalom",
"then": {
"en": "This fitness station has posts for performing slalom exercises."
"en": "This fitness station has posts for performing slalom exercises.",
"de": "Die Fitness-Station hat Pfosten für Slalomübungen."
},
"icon": {
"path": "./assets/layers/fitness_station/Fitness_station_slalom.jpg",
@ -157,7 +176,8 @@
{
"if": "fitness_station=stepping_stones",
"then": {
"en": "This fitness station has stepping stones."
"en": "This fitness station has stepping stones.",
"de": "Die Fitness-Station hat Trittsteine."
},
"icon": {
"path": "./assets/layers/fitness_station/Fitness_station_stepping_stone.jpg",
@ -167,7 +187,8 @@
{
"if": "fitness_station=leapfrog",
"then": {
"en": "This fitness station has cones for performing leapfrog jumps."
"en": "This fitness station has cones for performing leapfrog jumps.",
"de": "Die Fitness-Station hat Hütchen für Bocksprünge."
},
"icon": {
"path": "./assets/layers/fitness_station/Fitness_station_leapfrog.jpg",
@ -177,7 +198,8 @@
{
"if": "fitness_station=beam_jump",
"then": {
"en": "This fitness station has beams to jump over."
"en": "This fitness station has beams to jump over.",
"de": "Die Fitness-Station hat Balken zum überspringen."
},
"icon": {
"path": "./assets/layers/fitness_station/Fitness_station_beam_jump.jpg",
@ -187,7 +209,8 @@
{
"if": "fitness_station=hurdling",
"then": {
"en": "This fitness station has hurdles to cross."
"en": "This fitness station has hurdles to cross.",
"de": "Die Fitnessstation hat Hürden zum überspringen."
},
"icon": {
"path": "./assets/layers/fitness_station/Fitness_station_hurdling.jpg",
@ -197,7 +220,8 @@
{
"if": "fitness_station=wall",
"then": {
"en": "This fitness station has a wall to climb on."
"en": "This fitness station has a wall to climb on.",
"de": "Die Fitness-Station hat eine Kletterwand."
},
"icon": {
"path": "./assets/layers/fitness_station/Fitness_station_wall.jpg",
@ -207,7 +231,8 @@
{
"if": "fitness_station=balance_beam",
"then": {
"en": "This fitness station has a balance beam."
"en": "This fitness station has a balance beam.",
"de": "Die Fitness-Station hat einen Schwebebalken."
},
"icon": {
"path": "./assets/layers/fitness_station/Exercise9170.jpg",
@ -217,7 +242,8 @@
{
"if": "fitness_station=log_lifting",
"then": {
"en": "This fitness station has a log with a handle on the end to lift."
"en": "This fitness station has a log with a handle on the end to lift.",
"de": "Die Fitness-Station hat einen Baumstamm mit Griff zum Anheben."
},
"icon": {
"path": "./assets/layers/fitness_station/Log_lifting_exercise.jpg",
@ -227,7 +253,8 @@
{
"if": "fitness_station=captains_chair",
"then": {
"en": "This fitness station has a chair with only elbow supports and a rear (without seat), for performing leg raises."
"en": "This fitness station has a chair with only elbow supports and a rear (without seat), for performing leg raises.",
"de": "Die Fitness-Station hat einen Stuhl ohne Sitzfläche, nur mit Arm- und Rückenlehne, für Beinheber."
},
"icon": {
"path": "./assets/layers/fitness_station/Captains_chair.jpg",
@ -237,7 +264,8 @@
{
"if": "fitness_station=box",
"then": {
"en": "This fitness station has a box that can be used for jumping."
"en": "This fitness station has a box that can be used for jumping.",
"de": "Die Fitness-Station hat einen Kasten für Sprungübungen."
},
"icon": {
"path": "./assets/layers/fitness_station/Exercise_Box.jpg",
@ -247,7 +275,8 @@
{
"if": "fitness_station=battling_ropes",
"then": {
"en": "This fitness station has battling ropes."
"en": "This fitness station has battling ropes.",
"de": "Die Fitness-Station hat Kampfseile (battle ropes)."
},
"icon": {
"path": "./assets/layers/fitness_station/Battling_ropes.jpg",
@ -257,7 +286,8 @@
{
"if": "fitness_station=excercise_bike",
"then": {
"en": "This fitness station has a stationary bicycle."
"en": "This fitness station has a stationary bicycle.",
"de": "Die Fitness-Station hat ein Fahrradergometer."
},
"icon": {
"path": "./assets/layers/fitness_station/Outdoor_stationary_bicycle.jpg",
@ -267,7 +297,8 @@
{
"if": "fitness_station=elliptical_trainer",
"then": {
"en": "This fitness station has a cross-trainer."
"en": "This fitness station has a cross-trainer.",
"de": "Die Fitness-Station hat einen Crosstrainer."
},
"icon": {
"path": "./assets/layers/fitness_station/07-12-2016,_Fitness_trail,_Parque_da_Alfarrobeira,_Albufeira_2.jpg",
@ -277,7 +308,8 @@
{
"if": "fitness_station=air_walker",
"then": {
"en": "This fitness station has an air walker."
"en": "This fitness station has an air walker.",
"de": "Die Fitness-Station hat einen Air-Walker."
},
"icon": {
"path": "./assets/layers/fitness_station/Ansan_Park_beind_the_city_hall_022.jpg",
@ -287,7 +319,8 @@
{
"if": "fitness_station=rower",
"then": {
"en": "This fitness station has a rower."
"en": "This fitness station has a rower.",
"de": "Die Fitness-Station hat ein Rudergerät."
},
"icon": {
"path": "./assets/layers/fitness_station/Annecy_-_rower.jpg",
@ -297,7 +330,8 @@
{
"if": "fitness_station=slackline",
"then": {
"en": "This fitness station has a slackline."
"en": "This fitness station has a slackline.",
"de": "Die Fitness-Station hat eine Slackline."
},
"icon": {
"path": "./assets/layers/fitness_station/Slacklineanlage_im_Dietenbachpark.jpg",
@ -310,17 +344,20 @@
{
"id": "operator",
"question": {
"en": "Who maintains this fitness station?"
"en": "Who maintains this fitness station?",
"de": "Wer betreibt die Fitness-Station?"
},
"freeform": {
"key": "operator",
"placeholder": {
"en": "Operator of the fitness station"
"en": "Operator of the fitness station",
"de": "Betreiber der Fitness-Station"
},
"type": "string"
},
"render": {
"en": "The fitness station is maintained by {operator}."
"en": "The fitness station is maintained by {operator}.",
"de": "Die Fitness-Station wird betrieben von {operator}."
}
},
"opening_hours"
@ -332,7 +369,8 @@
"sport=fitness"
],
"title": {
"en": "a fitness station"
"en": "a fitness station",
"de": "eine Fitness-Station"
},
"icon": "./assets/layers/fitness_station/fitness.svg"
}

View file

@ -94,7 +94,8 @@
"ca": "Restaurant",
"de": "Restaurant",
"es": "Restaurante",
"fr": "Restaurant"
"fr": "Restaurant",
"pa_PK": "بھون آلہ"
},
"mappings": [
{
@ -185,7 +186,8 @@
"nl": "Dit is een <b>fastfood-zaak</b>. De focus ligt op snelle bediening, zitplaatsen zijn vaak beperkt en functioneel.",
"de": "Es handelt sich um einen Schnellimbiss, mit Fokus auf schnelle Bedienung am Tresen. Sitzmöglichkeiten sind begrenzt und funktional.",
"es": "Este es un negocio de comida rápida, centrado en servicio rápido. Si hay asientos disponibles, son más bien limitados y funcionales.",
"fr": "C'est un fast-food, centrée sur le service rapide. Si des places sont disponibles, elles sont plutôt limitées et fonctionnelles."
"fr": "C'est un fast-food, centrée sur le service rapide. Si des places sont disponibles, elles sont plutôt limitées et fonctionnelles.",
"hu": "Ez egy gyorsétterem (büfé), amely a gyors kiszolgálásra összpontosít. Ha vannak is ülőhelyek, ezek meglehetősen korlátozottak és funkcionálisak."
}
},
{

View file

@ -3,7 +3,8 @@
"name": {
"en": "governments",
"de": "Öffentliche Verwaltung",
"nl": "Overheidsdiensten"
"nl": "Overheidsdiensten",
"pa_PK": "سرکارسں"
},
"description": {
"en": "This layer show governmental buildings. It was setup as commissioned layer for the client of OSOC '22",

View file

@ -7,7 +7,8 @@
"zh_Hant": "駭客空間",
"hu": "Hackerspace",
"es": "Espacio hacker",
"nl": "Hackerspace"
"nl": "Hackerspace",
"pa_PK": "ہیکر دا تھاں"
},
"minzoom": 8,
"title": {
@ -47,7 +48,8 @@
"zh_Hant": "駭客空間",
"hu": "Hackerspace",
"es": "Espacio hacker",
"nl": "Hackerspace"
"nl": "Hackerspace",
"pa_PK": "ہیکر دا تھاں"
},
"tagRenderings": [
"images",

View file

@ -3,13 +3,15 @@
"name": {
"en": "Hospitals",
"de": "Krankenhäuser",
"nl": "Ziekenhuizen"
"nl": "Ziekenhuizen",
"pa_PK": "ہسپتال"
},
"title": {
"render": {
"en": "Hospital",
"de": "Krankenhaus",
"nl": "Ziekenhuis"
"nl": "Ziekenhuis",
"pa_PK": "ہسپتال"
}
},
"description": {

View file

@ -3,7 +3,8 @@
"name": {
"en": "Hotels",
"nl": "Hotels",
"de": "Hotels"
"de": "Hotels",
"pa_PK": "ہوٹل"
},
"description": {
"en": "Layer showing all hotels",
@ -18,7 +19,8 @@
"render": {
"en": "Hotel",
"nl": "Hotel",
"de": "Hotel"
"de": "Hotel",
"pa_PK": "ہوٹل"
},
"mappings": [
{

View file

@ -31,7 +31,8 @@
"it": "Idrante",
"nl": "Brandkraan",
"ca": "Hidrant",
"es": "Boca de incendios"
"es": "Boca de incendios",
"pa_PK": "ہائڈرنٹ"
}
},
"description": {
@ -489,12 +490,14 @@
"human": {
"en": "millimeters",
"nl": "millimeter",
"de": "Millimeter"
"de": "Millimeter",
"pa_PK": "ملیمیٹر"
},
"humanSingular": {
"en": "millimeter",
"nl": "millimeter",
"de": "Millimeter"
"de": "Millimeter",
"pa_PK": "ملیمیٹر"
}
}
],

View file

@ -3,7 +3,8 @@
"name": {
"en": "indoors",
"de": "Innenräume",
"nl": "Binnenruimtes"
"nl": "Binnenruimtes",
"pa_PK": "اندروں"
},
"description": {
"en": "Basic indoor mapping: shows room outlines",

View file

@ -4,7 +4,8 @@
"en": "Kerbs",
"nl": "Stoepranden",
"de": "Bordsteine",
"fr": "Bordures"
"fr": "Bordures",
"pa_PK": "کرب"
},
"description": {
"en": "A layer showing kerbs.",
@ -21,7 +22,8 @@
"en": "Kerb",
"nl": "Stoeprand",
"de": "Bordstein",
"fr": "Bordure"
"fr": "Bordure",
"pa_PK": "کرب"
}
},
"mapRendering": [
@ -202,7 +204,8 @@
{
"if": "kerb:height=0",
"then": {
"en": "This kerb is flush and is lower than 1cm."
"en": "This kerb is flush and is lower than 1cm.",
"de": "Der Bordstein ist bündig und niedriger als 1 cm."
}
}
]
@ -270,7 +273,7 @@
"question": {
"en": "Flush kerb (~0cm)",
"nl": "Vlakke stoeprand (~0cm)",
"de": "Bündiger Bordstein (~0cm)",
"de": "Bündiger Bordstein (~0 cm)",
"fr": "Bordure affleurante (~0cm)"
}
},
@ -309,13 +312,15 @@
"en": "centimeters",
"nl": "centimeter",
"de": "Zentimeter",
"fr": "centimètres"
"fr": "centimètres",
"pa_PK": "سینٹیمیٹر"
},
"humanSingular": {
"en": "centimeter",
"nl": "centimeter",
"de": "Zentimeter",
"fr": "centimètre"
"fr": "centimètre",
"pa_PK": "سینٹیمیٹر"
}
},
{
@ -328,13 +333,15 @@
"en": "meters",
"nl": "meter",
"de": "Meter",
"fr": "mètres"
"fr": "mètres",
"pa_PK": "میٹر"
},
"humanSingular": {
"en": "meter",
"nl": "meter",
"de": "Meter",
"fr": "mètre"
"fr": "mètre",
"pa_PK": "میٹر"
}
}
],

View file

@ -8,7 +8,8 @@
"fr": "Cartes",
"de": "Karten",
"ca": "Mapes",
"es": "Mapas"
"es": "Mapas",
"pa_PK": "نقشے"
},
"minzoom": 12,
"source": {
@ -28,7 +29,8 @@
"fr": "Carte",
"de": "Karte",
"ca": "Mapa",
"es": "Mapa"
"es": "Mapa",
"pa_PK": "نقشہ"
}
},
"description": {

View file

@ -5,7 +5,8 @@
"es": "Velocidad",
"ca": "Velocitat",
"de": "Höchstgeschwindigkeit",
"nl": "Maximumsnelheid"
"nl": "Maximumsnelheid",
"pa_PK": "حد رفتار"
},
"source": {
"osmTags": {
@ -163,14 +164,16 @@
"ca": "quilòmetres/hora",
"es": "kilómetros/hora",
"nl": "kilometers/uur",
"de": "Kilometer/Stunde"
"de": "Kilometer/Stunde",
"pa_PK": "ہر گھنٹہ وچ کیلومیٹر"
},
"humanShort": {
"en": "km/h",
"ca": "km/h",
"es": "km/h",
"nl": "km/u",
"de": "km/h"
"de": "km/h",
"pa_PK": "ہر گھنٹے وچ کیلومیٹر"
}
},
{
@ -189,14 +192,16 @@
"ca": "milles/hora",
"es": "millas/hora",
"nl": "miles/uur",
"de": "Meilen/Stunde"
"de": "Meilen/Stunde",
"pa_PK": "ہر گھنٹہ وچ میل"
},
"humanShort": {
"en": "mph",
"ca": "mph",
"es": "mph",
"nl": "mph",
"de": "mph"
"de": "mph",
"pa_PK": "ہر گھنٹہ وچ میل"
}
}
],

View file

@ -20,7 +20,8 @@
"nl": "Note",
"ca": "Nota",
"de": "Notiz",
"es": "Nota"
"es": "Nota",
"pa_PK": "نوٹ"
},
"mappings": [
{

View file

@ -1,11 +1,13 @@
{
"id": "osm_community_index",
"name": {
"en": "OSM Community Index"
"en": "OSM Community Index",
"de": "OSM-Community-Index"
},
"title": {
"render": {
"en": "OSM Community Index"
"en": "OSM Community Index",
"de": "OSM-Community-Index"
}
},
"source": {
@ -53,7 +55,8 @@
"options": [
{
"question": {
"en": "Country"
"en": "Country",
"de": "Land"
},
"osmTags": "level=country"
}
@ -64,7 +67,8 @@
"options": [
{
"question": {
"en": "Sub Country Group"
"en": "Sub Country Group",
"de": "Regionale Gruppe"
},
"osmTags": "level=subcountryGroup"
}
@ -75,7 +79,8 @@
"options": [
{
"question": {
"en": "Region"
"en": "Region",
"de": "Region"
},
"osmTags": "level=region"
}
@ -86,7 +91,8 @@
"options": [
{
"question": {
"en": "Intermediate Region"
"en": "Intermediate Region",
"de": "Mittlere Region"
},
"osmTags": "level=intermediateRegion"
}
@ -97,7 +103,8 @@
"options": [
{
"question": {
"en": "Territory"
"en": "Territory",
"de": "Gebiet"
},
"osmTags": "level=territory"
}
@ -108,7 +115,8 @@
"options": [
{
"question": {
"en": "World"
"en": "World",
"de": "Welt"
},
"osmTags": "level=world"
}
@ -119,7 +127,8 @@
"options": [
{
"question": {
"en": "Other Communities"
"en": "Other Communities",
"de": "Andere Communities"
},
"osmTags": "level="
}
@ -127,6 +136,7 @@
}
],
"description": {
"en": "A layer showing the OpenStreetMap Communities"
"en": "A layer showing the OpenStreetMap Communities",
"de": "Eine Ebene aller OpenStreetMap-Communities"
}
}

View file

@ -169,7 +169,8 @@
"placeholder": {
"en": "Reference",
"de": "Referenz",
"nl": "Referentie"
"nl": "Referentie",
"pa_PK": "ہوالہ"
}
},
"render": {

Some files were not shown because too many files have changed in this diff Show more