From 60efd0844f1998c459cfb19107543333f66cfaa9 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 1 Dec 2023 15:23:28 +0100 Subject: [PATCH] Housekeeping --- Docs/BuiltinLayers.md | 5 +- Docs/Layers/bike_parking.md | 4 +- Docs/Layers/caravansites.md | 2 +- Docs/Layers/dumpstations.md | 2 +- Docs/Layers/sport_pitch.md | 3 +- Docs/TagInfo/mapcomplete_cyclofix.json | 640 +- Docs/TagInfo/mapcomplete_personal.json | 9 +- Docs/TagInfo/mapcomplete_sport_pitches.json | 5 + Docs/TagInfo/mapcomplete_sports.json | 5 + Docs/TagInfo/mapcomplete_transit.json | 4 +- Docs/Themes/cyclofix.md | 6 +- Docs/Themes/icecream.md | 1 + Docs/URL_Parameters.md | 2 +- Docs/wikiIndex.txt | 2 +- assets/layers/bike_parking/bike_parking.json | 6 +- assets/layers/sport_pitch/sport_pitch.json | 4 +- assets/svg/license_info.json | 18 - assets/themes/cyclenodes/cyclenodes.json | 21 +- assets/themes/cyclofix/cyclofix.json | 7 +- assets/themes/icecream/icecream.json | 6 +- assets/themes/sidewalks/sidewalks.json | 40 +- assets/themes/walkingnodes/walkingnodes.json | 15 +- langs/layers/de.json | 708 +- langs/layers/en.json | 711 +- langs/layers/fr.json | 292 +- langs/layers/nl.json | 3 + langs/themes/cs.json | 64 +- package-lock.json | 16 +- scripts/generateLayouts.ts | 4 +- .../Actors/PreferredRasterLayerSelector.ts | 7 +- src/UI/AllThemesGui.svelte | 86 +- src/UI/Base/DragInvitation.svelte | 2 +- src/UI/Base/Dropdown.svelte | 24 +- src/UI/Base/LoginToggle.svelte | 2 +- src/UI/Base/LogoutButton.svelte | 20 +- src/UI/Base/OpenJosm.svelte | 40 +- src/UI/Base/ShareButton.svelte | 4 +- src/UI/Base/WeblateLink.svelte | 2 +- src/UI/BigComponents/MapillaryLink.svelte | 4 +- .../NewPointLocationInput.svelte | 4 +- src/UI/BigComponents/ThemeIntroPanel.svelte | 50 +- src/UI/Image/UploadImage.svelte | 20 +- .../Helpers/DirectionInput.svelte | 4 +- .../InputElement/Helpers/LocationInput.svelte | 4 +- src/UI/InputElement/LanguagePicker.svelte | 43 +- src/UI/Map/DynamicMarker.svelte | 17 +- src/UI/Map/Icon.svelte | 6 +- src/UI/PlantNet/PlantNet.svelte | 4 +- src/UI/Popup/AddNewPoint/AddNewPoint.svelte | 184 +- src/UI/Popup/AllTagsPanel.svelte | 8 +- src/UI/Popup/CreateNewNote.svelte | 6 +- src/UI/Popup/NearbyImagesCollapsed.svelte | 4 +- .../TagRendering/TagRenderingQuestion.svelte | 6 +- src/UI/Reviews/AllReviews.svelte | 4 +- src/UI/Reviews/StarElement.svelte | 12 +- src/UI/StudioGUI.svelte | 58 +- src/UI/StylesheetTestGui.svelte | 30 +- src/UI/Test.svelte | 5 +- src/UI/ThemeViewGUI.svelte | 156 +- src/UI/Walkthrough/WalkthroughStep.svelte | 23 +- src/UI/Wikipedia/WikipediaArticle.svelte | 4 +- src/assets/contributors.json | 2 +- src/assets/editor-layer-index.json | 38 +- src/assets/studio_introduction.json | 2 +- src/assets/studio_tagrenderings_intro.json | 2 +- src/assets/svg/Add.svelte | 38 +- src/assets/svg/AddSmall.svelte | 29 +- src/assets/svg/Add_pin.svelte | 24 +- src/assets/svg/Back.svelte | 30 +- src/assets/svg/Blocked.svelte | 785 ++- src/assets/svg/Brick_wall_raw.svelte | 991 ++- src/assets/svg/Brick_wall_round.svelte | 1013 ++- src/assets/svg/Brick_wall_square.svelte | 1011 ++- src/assets/svg/Bug.svelte | 24 +- src/assets/svg/Camera_plus.svelte | 38 +- src/assets/svg/Checkmark.svelte | 25 +- src/assets/svg/Circle.svelte | 25 +- src/assets/svg/Clock.svelte | 30 +- src/assets/svg/Close.svelte | 30 +- src/assets/svg/Community.svelte | 35 +- src/assets/svg/Compass.svelte | 26 +- src/assets/svg/Confirm.svelte | 49 +- src/assets/svg/Copyright.svelte | 51 +- src/assets/svg/Cross.svelte | 42 +- src/assets/svg/Cross_bottom_right.svelte | 30 +- src/assets/svg/Crosshair.svelte | 25 +- src/assets/svg/Crosshair_locked.svelte | 49 +- src/assets/svg/Delete_icon.svelte | 24 +- src/assets/svg/Delete_not_allowed.svelte | 42 +- src/assets/svg/Direction_gradient.svelte | 104 +- src/assets/svg/Direction_stroke.svelte | 40 +- src/assets/svg/Download.svelte | 23 +- src/assets/svg/Duplicate.svelte | 5862 ++++++++++++++++- src/assets/svg/Elevator.svelte | 41 +- src/assets/svg/Elevator_wheelchair.svelte | 96 +- src/assets/svg/Envelope.svelte | 45 +- src/assets/svg/Eye.svelte | 24 +- src/assets/svg/Filter.svelte | 23 +- src/assets/svg/Filter_disable.svelte | 62 +- src/assets/svg/Floppy.svelte | 116 +- src/assets/svg/Gear.svelte | 28 +- src/assets/svg/Gender_bi.svelte | 24 +- src/assets/svg/Gender_female.svelte | 24 +- src/assets/svg/Gender_inter.svelte | 24 +- src/assets/svg/Gender_male.svelte | 24 +- src/assets/svg/Gender_queer.svelte | 24 +- src/assets/svg/Gender_trans.svelte | 24 +- src/assets/svg/Generic_map.svelte | 68 +- src/assets/svg/Gps_arrow.svelte | 55 +- src/assets/svg/Hand.svelte | 25 +- src/assets/svg/Help.svelte | 28 +- src/assets/svg/Home.svelte | 24 +- src/assets/svg/Invalid.svelte | 19 +- src/assets/svg/Josm_logo.svelte | 579 +- src/assets/svg/Layers.svelte | 32 +- src/assets/svg/Length_crosshair.svelte | 55 +- src/assets/svg/Liberapay.svelte | 32 +- src/assets/svg/Loading.svelte | 30 +- src/assets/svg/Location.svelte | 28 +- src/assets/svg/Location_empty.svelte | 24 +- src/assets/svg/Location_locked.svelte | 28 +- src/assets/svg/Location_refused.svelte | 29 +- src/assets/svg/Location_unlocked.svelte | 28 +- src/assets/svg/Login.svelte | 26 +- src/assets/svg/Logo.svelte | 38 +- src/assets/svg/Logout.svelte | 40 +- src/assets/svg/Mangrove_logo.svelte | 58 +- src/assets/svg/Mapcomplete_logo.svelte | 3029 ++++++++- src/assets/svg/Mapillary.svelte | 24 +- src/assets/svg/Mapillary_black.svelte | 24 +- src/assets/svg/Mastodon.svelte | 25 +- src/assets/svg/Min.svelte | 23 +- src/assets/svg/Move.svelte | 24 +- src/assets/svg/Move_arrows.svelte | 45 +- src/assets/svg/Move_confirm.svelte | 33 +- src/assets/svg/Move_not_allowed.svelte | 38 +- src/assets/svg/Not_found.svelte | 52 +- src/assets/svg/Note.svelte | 36 +- src/assets/svg/Osm_logo.svelte | 1939 +++++- src/assets/svg/Osm_logo_us.svelte | 32 +- src/assets/svg/Party.svelte | 51 +- src/assets/svg/Pencil.svelte | 24 +- src/assets/svg/Person.svelte | 63 +- src/assets/svg/Pin.svelte | 27 +- src/assets/svg/Plantnet_logo.svelte | 29 +- src/assets/svg/Plus.svelte | 26 +- src/assets/svg/Pop_out.svelte | 24 +- src/assets/svg/Reload.svelte | 28 +- src/assets/svg/Relocation.svelte | 39 +- src/assets/svg/Resolved.svelte | 38 +- src/assets/svg/Ring.svelte | 25 +- src/assets/svg/Robot.svelte | 47 +- src/assets/svg/Satellite.svelte | 148 +- src/assets/svg/Scissors.svelte | 40 +- src/assets/svg/Search.svelte | 24 +- src/assets/svg/Search_disable.svelte | 62 +- src/assets/svg/Share.svelte | 49 +- src/assets/svg/SocialImageForeground.svelte | 2403 ++++++- src/assets/svg/Speech_bubble.svelte | 43 +- .../svg/Speech_bubble_black_outline.svelte | 43 +- src/assets/svg/Square.svelte | 27 +- src/assets/svg/Star.svelte | 63 +- src/assets/svg/Star_half.svelte | 68 +- src/assets/svg/Star_outline.svelte | 63 +- src/assets/svg/Statistics.svelte | 24 +- src/assets/svg/Teardrop.svelte | 29 +- .../svg/Teardrop_with_hole_green.svelte | 66 +- src/assets/svg/Translate.svelte | 28 +- src/assets/svg/Triangle.svelte | 19 +- src/assets/svg/Up.svelte | 24 +- src/assets/svg/Upload.svelte | 28 +- src/assets/svg/Wikidata.svelte | 32 +- src/assets/svg/Wikimedia_commons_white.svelte | 247 +- src/assets/svg/Wikipedia.svelte | 1646 ++++- src/assets/translators.json | 18 +- 175 files changed, 24802 insertions(+), 1949 deletions(-) diff --git a/Docs/BuiltinLayers.md b/Docs/BuiltinLayers.md index b03b9ed1b..0b026b6d3 100644 --- a/Docs/BuiltinLayers.md +++ b/Docs/BuiltinLayers.md @@ -638,7 +638,7 @@ attribute | type | values which are supported by this layer [](https://taginfo.openstreetmap.org/keys/mapcomplete-pictures-license#values) [mapcomplete-pictures-license](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-pictures-license) | Multiple choice | [CC0](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-pictures-license%3DCC0) [CC-BY 4.0](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-pictures-license%3DCC-BY 4.0) [CC-BY-SA 4.0](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-pictures-license%3DCC-BY-SA 4.0) [](https://taginfo.openstreetmap.org/keys/mapcomplete-show_tags#values) [mapcomplete-show_tags](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-show_tags) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_tags%3Dno) [](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_tags%3D) [yes](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_tags%3Dyes) [full](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_tags%3Dfull) [](https://taginfo.openstreetmap.org/keys/mapcomplete-show-all-questions#values) [mapcomplete-show-all-questions](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-show-all-questions) | Multiple choice | [true](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show-all-questions%3Dtrue) [false](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show-all-questions%3Dfalse) -[](https://taginfo.openstreetmap.org/keys/mapcomplete-show_crosshair#values) [mapcomplete-show_crosshair](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-show_crosshair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_crosshair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_crosshair%3Dno) +[](https://taginfo.openstreetmap.org/keys/mapcomplete-show_crosshair#values) [mapcomplete-show_crosshair](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-show_crosshair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_crosshair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_crosshair%3Dno) [always](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-show_crosshair%3Dalways) [](https://taginfo.openstreetmap.org/keys/mapcomplete-fixate-north#values) [mapcomplete-fixate-north](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-fixate-north) | Multiple choice | [](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-fixate-north%3D) [yes](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-fixate-north%3Dyes) [](https://taginfo.openstreetmap.org/keys/mapcomplete-translation-mode#values) [mapcomplete-translation-mode](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-translation-mode) | Multiple choice | [false](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-translation-mode%3Dfalse) [true](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-translation-mode%3Dtrue) [mobile](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-translation-mode%3Dmobile) [](https://taginfo.openstreetmap.org/keys/mapcomplete-translation-mode#values) [mapcomplete-translation-mode](https://wiki.openstreetmap.org/wiki/Key:mapcomplete-translation-mode) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:mapcomplete-translation-mode%3Dyes) @@ -807,10 +807,11 @@ The question is *Should a crosshair be shown in the center of the display?* - - *Show a crosshair in the center of the map (when zoomed in above level 17)* corresponds with mapcomplete-show_crosshair=yes + - *Show a crosshair in the center of the map when zoomed in above level 17* corresponds with mapcomplete-show_crosshair=yes - *Do not show a crosshair in the center of the map* corresponds with mapcomplete-show_crosshair=no - *Do not show a crosshair in the center of the map* corresponds with mapcomplete-show_crosshair= - _This option cannot be chosen as answer_ + - *Always show a crosshair in the center of the map* corresponds with mapcomplete-show_crosshair=always diff --git a/Docs/Layers/bike_parking.md b/Docs/Layers/bike_parking.md index a6c2e9ba2..44e05310b 100644 --- a/Docs/Layers/bike_parking.md +++ b/Docs/Layers/bike_parking.md @@ -113,8 +113,8 @@ This is rendered with `This is a bicycle parking of the type: {bicycle_parking} - - *Staple racks* corresponds with bicycle_parking=stands - - *Wheel rack/loops* corresponds with bicycle_parking=wall_loops + - *Stands* corresponds with bicycle_parking=stands + - *Wheelbenders / rack* corresponds with bicycle_parking=wall_loops - *Handlebar holder* corresponds with bicycle_parking=handlebar_holder - *Rack* corresponds with bicycle_parking=rack - *Two-tiered* corresponds with bicycle_parking=two_tier diff --git a/Docs/Layers/caravansites.md b/Docs/Layers/caravansites.md index 2258a1662..cede229b6 100644 --- a/Docs/Layers/caravansites.md +++ b/Docs/Layers/caravansites.md @@ -14,7 +14,7 @@ camper sites - - This layer is shown at zoomlevel **10** and higher + - This layer is shown at zoomlevel **7** and higher diff --git a/Docs/Layers/dumpstations.md b/Docs/Layers/dumpstations.md index 61aa2f1f0..5464dd188 100644 --- a/Docs/Layers/dumpstations.md +++ b/Docs/Layers/dumpstations.md @@ -14,7 +14,7 @@ Sanitary dump stations - - This layer is shown at zoomlevel **10** and higher + - This layer is shown at zoomlevel **7** and higher diff --git a/Docs/Layers/sport_pitch.md b/Docs/Layers/sport_pitch.md index 2385568ea..7b67e9d9d 100644 --- a/Docs/Layers/sport_pitch.md +++ b/Docs/Layers/sport_pitch.md @@ -59,7 +59,7 @@ attribute | type | values which are supported by this layer [](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | [](https://taginfo.openstreetmap.org/keys/sport#values) [sport](https://wiki.openstreetmap.org/wiki/Key:sport) | [string](../SpecialInputElements.md#string) | [basketball](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dbasketball) [soccer](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dsoccer) [table_tennis](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dtable_tennis) [tennis](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dtennis) [korfball](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dkorfball) [skateboard](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dskateboard) [](https://taginfo.openstreetmap.org/keys/hoops#values) [hoops](https://wiki.openstreetmap.org/wiki/Key:hoops) | Multiple choice | [1](https://wiki.openstreetmap.org/wiki/Tag:hoops%3D1) [2](https://wiki.openstreetmap.org/wiki/Tag:hoops%3D2) [4](https://wiki.openstreetmap.org/wiki/Tag:hoops%3D4) -[](https://taginfo.openstreetmap.org/keys/surface#values) [surface](https://wiki.openstreetmap.org/wiki/Key:surface) | [string](../SpecialInputElements.md#string) | [grass](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dgrass) [sand](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dsand) [paving_stones](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dpaving_stones) [asphalt](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dasphalt) [concrete](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dconcrete) +[](https://taginfo.openstreetmap.org/keys/surface#values) [surface](https://wiki.openstreetmap.org/wiki/Key:surface) | [string](../SpecialInputElements.md#string) | [grass](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dgrass) [sand](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dsand) [paving_stones](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dpaving_stones) [asphalt](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dasphalt) [concrete](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dconcrete) [fine_gravel](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dfine_gravel) [](https://taginfo.openstreetmap.org/keys/access#values) [access](https://wiki.openstreetmap.org/wiki/Key:access) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:access%3Dlimited) [members](https://wiki.openstreetmap.org/wiki/Tag:access%3Dmembers) [private](https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate) [](https://taginfo.openstreetmap.org/keys/reservation#values) [reservation](https://wiki.openstreetmap.org/wiki/Key:reservation) | Multiple choice | [required](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Drequired) [recommended](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Drecommended) [yes](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:reservation%3Dno) [](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | @@ -166,6 +166,7 @@ This is rendered with `The surface is {surface}` - *The surface is paving stones* corresponds with surface=paving_stones - *The surface is asphalt* corresponds with surface=asphalt - *The surface is concrete* corresponds with surface=concrete + - *The surface is fine gravel* corresponds with surface=fine_gravel diff --git a/Docs/TagInfo/mapcomplete_cyclofix.json b/Docs/TagInfo/mapcomplete_cyclofix.json index b4f0dece3..981bef733 100644 --- a/Docs/TagInfo/mapcomplete_cyclofix.json +++ b/Docs/TagInfo/mapcomplete_cyclofix.json @@ -413,324 +413,6 @@ "key": "description", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'description' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" }, - { - "key": "amenity", - "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag", - "value": "bicycle_rental" - }, - { - "key": "bicycle_rental", - "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag" - }, - { - "key": "service:bicycle:rental", - "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag", - "value": "yes" - }, - { - "key": "rental", - "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag" - }, - { - "key": "id", - "description": "Layer 'Bicycle rental' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" - }, - { - "key": "image", - "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "mapillary", - "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "wikidata", - "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "wikipedia", - "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "shop", - "description": "Layer 'Bicycle rental' shows shop=rental & bicycle_rental=shop with a fixed text, namely 'This is a shop whose main focus is bicycle rental' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "rental" - }, - { - "key": "bicycle_rental", - "description": "Layer 'Bicycle rental' shows shop=rental & bicycle_rental=shop with a fixed text, namely 'This is a shop whose main focus is bicycle rental' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "shop" - }, - { - "key": "shop", - "description": "Layer 'Bicycle rental' shows shop=rental with a fixed text, namely 'This is a rental business which rents out various objects and/or vehicles. It rents out bicycles too, but this is not the main focus' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "rental" - }, - { - "key": "service:bicycle:rental", - "description": "Layer 'Bicycle rental' shows service:bicycle:rental=yes & shop=bicycle with a fixed text, namely 'This is a shop which sells or repairs bicycles, but also rents out bicycles' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "yes" - }, - { - "key": "shop", - "description": "Layer 'Bicycle rental' shows service:bicycle:rental=yes & shop=bicycle with a fixed text, namely 'This is a shop which sells or repairs bicycles, but also rents out bicycles' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "bicycle" - }, - { - "key": "bicycle_rental", - "description": "Layer 'Bicycle rental' shows bicycle_rental=docking_station with a fixed text, namely 'This is an automated docking station, where a bicycle is mechanically locked to a structure' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "docking_station" - }, - { - "key": "bicycle_rental", - "description": "Layer 'Bicycle rental' shows bicycle_rental=key_dispensing_machine with a fixed text, namely 'A machine is present which dispenses and accepts keys, eventually after authentication and/or payment. The bicycles are parked nearby' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "key_dispensing_machine" - }, - { - "key": "bicycle_rental", - "description": "Layer 'Bicycle rental' shows bicycle_rental=dropoff_point with a fixed text, namely 'This is a dropoff point, e.g. a reserved parking to place the bicycles clearly marked as being for the rental service only' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", - "value": "dropoff_point" - }, - { - "key": "website", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "contact:website", - "description": "Layer 'Bicycle rental' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "email", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'email' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "contact:email", - "description": "Layer 'Bicycle rental' shows contact:email~.+ with a fixed text, namely '{contact:email}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "phone", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "contact:phone", - "description": "Layer 'Bicycle rental' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "opening_hours", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+ | opening_hours~.+)" - }, - { - "key": "payment:cash", - "description": "Layer 'Bicycle rental' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+)", - "value": "yes" - }, - { - "key": "payment:cards", - "description": "Layer 'Bicycle rental' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+)", - "value": "yes" - }, - { - "key": "payment:qr_code", - "description": "Layer 'Bicycle rental' shows payment:qr_code=yes with a fixed text, namely 'Payment by QR-code is possible here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+)", - "value": "yes" - }, - { - "key": "payment:cash", - "description": "Layer 'Bicycle rental' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", - "value": "yes" - }, - { - "key": "payment:cards", - "description": "Layer 'Bicycle rental' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", - "value": "yes" - }, - { - "key": "payment:qr_code", - "description": "Layer 'Bicycle rental' shows payment:qr_code=yes with a fixed text, namely 'Payment by QR-code is possible here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", - "value": "yes" - }, - { - "key": "payment:app", - "description": "Layer 'Bicycle rental' shows payment:app=yes with a fixed text, namely 'Payment is done using a dedicated app' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", - "value": "yes" - }, - { - "key": "payment:membership_card", - "description": "Layer 'Bicycle rental' shows payment:membership_card=yes with a fixed text, namely 'Payment is done using a membership card' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", - "value": "yes" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'rental' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", - "value": "city_bike" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", - "value": "ebike" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", - "value": "bmx" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", - "value": "mtb" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", - "value": "kid_bike" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", - "value": "tandem" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", - "value": "racebike" - }, - { - "key": "rental", - "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", - "value": "bike_helmet" - }, - { - "key": "capacity:city_bike", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:city_bike' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*city_bike.*)$)" - }, - { - "key": "capacity:ebike", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:ebike' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*ebike.*)$)" - }, - { - "key": "capacity:kid_bike", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:kid_bike' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*kid_bike.*)$)" - }, - { - "key": "capacity:bmx", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:bmx' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*bmx.*)$)" - }, - { - "key": "capacity:mtb", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:mtb' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*mtb.*)$)" - }, - { - "key": "capacity:bicycle_pannier", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:bicycle_pannier' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*bicycle_pannier.*)$)" - }, - { - "key": "capacity:tandem_bicycle", - "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:tandem_bicycle' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*tandem_bicycle.*)$)" - }, - { - "key": "amenity", - "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle library showing features with this tag", - "value": "bicycle_library" - }, - { - "key": "id", - "description": "Layer 'Bicycle library' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" - }, - { - "key": "image", - "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "mapillary", - "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "wikidata", - "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "wikipedia", - "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" - }, - { - "key": "name", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'name' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "website", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "contact:website", - "description": "Layer 'Bicycle library' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "phone", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "contact:phone", - "description": "Layer 'Bicycle library' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "email", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'email' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "contact:email", - "description": "Layer 'Bicycle library' shows contact:email~.+ with a fixed text, namely '{contact:email}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "opening_hours", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "charge", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'charge' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, - { - "key": "fee", - "description": "Layer 'Bicycle library' shows fee=no & charge= with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "no" - }, - { - "key": "charge", - "description": "Layer 'Bicycle library' shows fee=no & charge= with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') Picking this answer will delete the key charge.", - "value": "" - }, - { - "key": "fee", - "description": "Layer 'Bicycle library' shows fee=yes & charge=€20warranty + €20/year with a fixed text, namely 'Lending a bicycle costs €20/year and €20 warranty' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "yes" - }, - { - "key": "charge", - "description": "Layer 'Bicycle library' shows fee=yes & charge=€20warranty + €20/year with a fixed text, namely 'Lending a bicycle costs €20/year and €20 warranty' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "€20warranty + €20/year" - }, - { - "key": "bicycle_library:for", - "description": "Layer 'Bicycle library' shows bicycle_library:for=child with a fixed text, namely 'Bikes for children available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "child" - }, - { - "key": "bicycle_library:for", - "description": "Layer 'Bicycle library' shows bicycle_library:for=adult with a fixed text, namely 'Bikes for adult available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "adult" - }, - { - "key": "bicycle_library:for", - "description": "Layer 'Bicycle library' shows bicycle_library:for=disabled with a fixed text, namely 'Bikes for disabled persons available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "disabled" - }, - { - "key": "description", - "description": "Layer 'Bicycle library' shows and asks freeform values for key 'description' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" - }, { "key": "amenity", "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle pump and repair showing features with this tag", @@ -1309,6 +991,324 @@ "description": "Layer 'Bike cleaning service' shows fee=yes with a fixed text, namely 'There is a fee to use this cleaning service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bike_wash | amenity=bicycle_wash)", "value": "yes" }, + { + "key": "amenity", + "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag", + "value": "bicycle_rental" + }, + { + "key": "bicycle_rental", + "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag" + }, + { + "key": "service:bicycle:rental", + "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag", + "value": "yes" + }, + { + "key": "rental", + "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle rental showing features with this tag" + }, + { + "key": "id", + "description": "Layer 'Bicycle rental' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Bicycle rental allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "shop", + "description": "Layer 'Bicycle rental' shows shop=rental & bicycle_rental=shop with a fixed text, namely 'This is a shop whose main focus is bicycle rental' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "rental" + }, + { + "key": "bicycle_rental", + "description": "Layer 'Bicycle rental' shows shop=rental & bicycle_rental=shop with a fixed text, namely 'This is a shop whose main focus is bicycle rental' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "shop" + }, + { + "key": "shop", + "description": "Layer 'Bicycle rental' shows shop=rental with a fixed text, namely 'This is a rental business which rents out various objects and/or vehicles. It rents out bicycles too, but this is not the main focus' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "rental" + }, + { + "key": "service:bicycle:rental", + "description": "Layer 'Bicycle rental' shows service:bicycle:rental=yes & shop=bicycle with a fixed text, namely 'This is a shop which sells or repairs bicycles, but also rents out bicycles' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "yes" + }, + { + "key": "shop", + "description": "Layer 'Bicycle rental' shows service:bicycle:rental=yes & shop=bicycle with a fixed text, namely 'This is a shop which sells or repairs bicycles, but also rents out bicycles' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "bicycle" + }, + { + "key": "bicycle_rental", + "description": "Layer 'Bicycle rental' shows bicycle_rental=docking_station with a fixed text, namely 'This is an automated docking station, where a bicycle is mechanically locked to a structure' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "docking_station" + }, + { + "key": "bicycle_rental", + "description": "Layer 'Bicycle rental' shows bicycle_rental=key_dispensing_machine with a fixed text, namely 'A machine is present which dispenses and accepts keys, eventually after authentication and/or payment. The bicycles are parked nearby' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "key_dispensing_machine" + }, + { + "key": "bicycle_rental", + "description": "Layer 'Bicycle rental' shows bicycle_rental=dropoff_point with a fixed text, namely 'This is a dropoff point, e.g. a reserved parking to place the bicycles clearly marked as being for the rental service only' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if amenity=bicycle_rental)", + "value": "dropoff_point" + }, + { + "key": "website", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:website", + "description": "Layer 'Bicycle rental' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "email", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'email' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:email", + "description": "Layer 'Bicycle rental' shows contact:email~.+ with a fixed text, namely '{contact:email}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "phone", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:phone", + "description": "Layer 'Bicycle rental' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "opening_hours", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+ | opening_hours~.+)" + }, + { + "key": "payment:cash", + "description": "Layer 'Bicycle rental' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+)", + "value": "yes" + }, + { + "key": "payment:cards", + "description": "Layer 'Bicycle rental' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+)", + "value": "yes" + }, + { + "key": "payment:qr_code", + "description": "Layer 'Bicycle rental' shows payment:qr_code=yes with a fixed text, namely 'Payment by QR-code is possible here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+)", + "value": "yes" + }, + { + "key": "payment:cash", + "description": "Layer 'Bicycle rental' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", + "value": "yes" + }, + { + "key": "payment:cards", + "description": "Layer 'Bicycle rental' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", + "value": "yes" + }, + { + "key": "payment:qr_code", + "description": "Layer 'Bicycle rental' shows payment:qr_code=yes with a fixed text, namely 'Payment by QR-code is possible here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", + "value": "yes" + }, + { + "key": "payment:app", + "description": "Layer 'Bicycle rental' shows payment:app=yes with a fixed text, namely 'Payment is done using a dedicated app' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", + "value": "yes" + }, + { + "key": "payment:membership_card", + "description": "Layer 'Bicycle rental' shows payment:membership_card=yes with a fixed text, namely 'Payment is done using a membership card' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop=)", + "value": "yes" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'rental' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", + "value": "city_bike" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", + "value": "ebike" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", + "value": "bmx" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", + "value": "mtb" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", + "value": "kid_bike" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", + "value": "tandem" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", + "value": "racebike" + }, + { + "key": "rental", + "description": "Layer 'Bicycle rental' 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.org theme 'Cyclofix - a map for cyclists')", + "value": "bike_helmet" + }, + { + "key": "capacity:city_bike", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:city_bike' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*city_bike.*)$)" + }, + { + "key": "capacity:ebike", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:ebike' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*ebike.*)$)" + }, + { + "key": "capacity:kid_bike", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:kid_bike' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*kid_bike.*)$)" + }, + { + "key": "capacity:bmx", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:bmx' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*bmx.*)$)" + }, + { + "key": "capacity:mtb", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:mtb' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*mtb.*)$)" + }, + { + "key": "capacity:bicycle_pannier", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:bicycle_pannier' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*bicycle_pannier.*)$)" + }, + { + "key": "capacity:tandem_bicycle", + "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'capacity:tandem_bicycle' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if rental~^(.*tandem_bicycle.*)$)" + }, + { + "key": "amenity", + "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bicycle library showing features with this tag", + "value": "bicycle_library" + }, + { + "key": "id", + "description": "Layer 'Bicycle library' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Bicycle library allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "name", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'name' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "website", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:website", + "description": "Layer 'Bicycle library' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "phone", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:phone", + "description": "Layer 'Bicycle library' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "email", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'email' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "contact:email", + "description": "Layer 'Bicycle library' shows contact:email~.+ with a fixed text, namely '{contact:email}' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "opening_hours", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "charge", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'charge' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, + { + "key": "fee", + "description": "Layer 'Bicycle library' shows fee=no & charge= with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "no" + }, + { + "key": "charge", + "description": "Layer 'Bicycle library' shows fee=no & charge= with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') Picking this answer will delete the key charge.", + "value": "" + }, + { + "key": "fee", + "description": "Layer 'Bicycle library' shows fee=yes & charge=€20warranty + €20/year with a fixed text, namely 'Lending a bicycle costs €20/year and €20 warranty' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "yes" + }, + { + "key": "charge", + "description": "Layer 'Bicycle library' shows fee=yes & charge=€20warranty + €20/year with a fixed text, namely 'Lending a bicycle costs €20/year and €20 warranty' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "€20warranty + €20/year" + }, + { + "key": "bicycle_library:for", + "description": "Layer 'Bicycle library' shows bicycle_library:for=child with a fixed text, namely 'Bikes for children available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "child" + }, + { + "key": "bicycle_library:for", + "description": "Layer 'Bicycle library' shows bicycle_library:for=adult with a fixed text, namely 'Bikes for adult available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "adult" + }, + { + "key": "bicycle_library:for", + "description": "Layer 'Bicycle library' shows bicycle_library:for=disabled with a fixed text, namely 'Bikes for disabled persons available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "disabled" + }, + { + "key": "description", + "description": "Layer 'Bicycle library' shows and asks freeform values for key 'description' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" + }, { "key": "amenity", "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bike parking showing features with this tag", @@ -1340,12 +1340,12 @@ }, { "key": "bicycle_parking", - "description": "Layer 'Bike parking' shows bicycle_parking=stands with a fixed text, namely 'Staple racks' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "description": "Layer 'Bike parking' shows bicycle_parking=stands with a fixed text, namely 'Stands' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", "value": "stands" }, { "key": "bicycle_parking", - "description": "Layer 'Bike parking' shows bicycle_parking=wall_loops with a fixed text, namely 'Wheel rack/loops' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "description": "Layer 'Bike parking' shows bicycle_parking=wall_loops with a fixed text, namely 'Wheelbenders / rack' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", "value": "wall_loops" }, { diff --git a/Docs/TagInfo/mapcomplete_personal.json b/Docs/TagInfo/mapcomplete_personal.json index 238b5eb10..535df45fb 100644 --- a/Docs/TagInfo/mapcomplete_personal.json +++ b/Docs/TagInfo/mapcomplete_personal.json @@ -1848,12 +1848,12 @@ }, { "key": "bicycle_parking", - "description": "Layer 'Bike parking' shows bicycle_parking=stands with a fixed text, namely 'Staple racks' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "description": "Layer 'Bike parking' shows bicycle_parking=stands with a fixed text, namely 'Stands' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "stands" }, { "key": "bicycle_parking", - "description": "Layer 'Bike parking' shows bicycle_parking=wall_loops with a fixed text, namely 'Wheel rack/loops' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "description": "Layer 'Bike parking' shows bicycle_parking=wall_loops with a fixed text, namely 'Wheelbenders / rack' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "wall_loops" }, { @@ -12976,6 +12976,11 @@ "description": "Layer 'Sport pitches' shows surface=concrete with a fixed text, namely 'The surface is concrete' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "concrete" }, + { + "key": "surface", + "description": "Layer 'Sport pitches' shows surface=fine_gravel with a fixed text, namely 'The surface is fine gravel' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "fine_gravel" + }, { "key": "access", "description": "Layer 'Sport pitches' shows access=yes with a fixed text, namely 'Public access' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", diff --git a/Docs/TagInfo/mapcomplete_sport_pitches.json b/Docs/TagInfo/mapcomplete_sport_pitches.json index 168464a01..9acd0b984 100644 --- a/Docs/TagInfo/mapcomplete_sport_pitches.json +++ b/Docs/TagInfo/mapcomplete_sport_pitches.json @@ -122,6 +122,11 @@ "description": "Layer 'Sport pitches' shows surface=concrete with a fixed text, namely 'The surface is concrete' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sport pitches')", "value": "concrete" }, + { + "key": "surface", + "description": "Layer 'Sport pitches' shows surface=fine_gravel with a fixed text, namely 'The surface is fine gravel' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sport pitches')", + "value": "fine_gravel" + }, { "key": "access", "description": "Layer 'Sport pitches' shows access=yes with a fixed text, namely 'Public access' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sport pitches')", diff --git a/Docs/TagInfo/mapcomplete_sports.json b/Docs/TagInfo/mapcomplete_sports.json index 22d9f17dc..5e55dcc79 100644 --- a/Docs/TagInfo/mapcomplete_sports.json +++ b/Docs/TagInfo/mapcomplete_sports.json @@ -122,6 +122,11 @@ "description": "Layer 'Sport pitches' shows surface=concrete with a fixed text, namely 'The surface is concrete' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports')", "value": "concrete" }, + { + "key": "surface", + "description": "Layer 'Sport pitches' shows surface=fine_gravel with a fixed text, namely 'The surface is fine gravel' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports')", + "value": "fine_gravel" + }, { "key": "access", "description": "Layer 'Sport pitches' shows access=yes with a fixed text, namely 'Public access' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports')", diff --git a/Docs/TagInfo/mapcomplete_transit.json b/Docs/TagInfo/mapcomplete_transit.json index d01ec7e00..fb6b9b997 100644 --- a/Docs/TagInfo/mapcomplete_transit.json +++ b/Docs/TagInfo/mapcomplete_transit.json @@ -237,12 +237,12 @@ }, { "key": "bicycle_parking", - "description": "Layer 'Bike parking' shows bicycle_parking=stands with a fixed text, namely 'Staple racks' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bus routes')", + "description": "Layer 'Bike parking' shows bicycle_parking=stands with a fixed text, namely 'Stands' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bus routes')", "value": "stands" }, { "key": "bicycle_parking", - "description": "Layer 'Bike parking' shows bicycle_parking=wall_loops with a fixed text, namely 'Wheel rack/loops' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bus routes')", + "description": "Layer 'Bike parking' shows bicycle_parking=wall_loops with a fixed text, namely 'Wheelbenders / rack' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bus routes')", "value": "wall_loops" }, { diff --git a/Docs/Themes/cyclofix.md b/Docs/Themes/cyclofix.md index bda4374cd..ed3d5a3c1 100644 --- a/Docs/Themes/cyclofix.md +++ b/Docs/Themes/cyclofix.md @@ -13,14 +13,14 @@ This theme contains the following layers: - [bike_cafe](../Layers/bike_cafe.md) - [bike_shop](../Layers/bike_shop.md) - - [bicycle_rental_non_docking](../Layers/bicycle_rental_non_docking.md) - - [bicycle_rental](../Layers/bicycle_rental.md) - - [bicycle_library](../Layers/bicycle_library.md) - [bike_repair_station](../Layers/bike_repair_station.md) - [bicycle_tube_vending_machine](../Layers/bicycle_tube_vending_machine.md) - [drinking_water](../Layers/drinking_water.md) - [bike_themed_object](../Layers/bike_themed_object.md) - [bike_cleaning](../Layers/bike_cleaning.md) + - [bicycle_rental_non_docking](../Layers/bicycle_rental_non_docking.md) + - [bicycle_rental](../Layers/bicycle_rental.md) + - [bicycle_library](../Layers/bicycle_library.md) - [bike_parking](../Layers/bike_parking.md) - [charging_station_ebikes](../Layers/charging_station_ebikes.md) - [charging_station](../Layers/charging_station.md) diff --git a/Docs/Themes/icecream.md b/Docs/Themes/icecream.md index 300a8e65c..ac8145702 100644 --- a/Docs/Themes/icecream.md +++ b/Docs/Themes/icecream.md @@ -27,6 +27,7 @@ Available languages: - en - de + - cs This document is autogenerated from [assets/themes/icecream/icecream.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/icecream/icecream.json) diff --git a/Docs/URL_Parameters.md b/Docs/URL_Parameters.md index 35ea337bb..1466187de 100644 --- a/Docs/URL_Parameters.md +++ b/Docs/URL_Parameters.md @@ -112,7 +112,7 @@ This documentation is defined in the source code at [Locale.ts](/src/UI/i18n/Loc If set, will show a translation button next to every string. -This documentation is defined in the source code at [Locale.ts](/src/UI/i18n/Locale.ts#L70) +This documentation is defined in the source code at [Locale.ts](/src/UI/i18n/Locale.ts#L73) The default value is _false_ diff --git a/Docs/wikiIndex.txt b/Docs/wikiIndex.txt index a1f565f25..d5c42c0de 100644 --- a/Docs/wikiIndex.txt +++ b/Docs/wikiIndex.txt @@ -330,7 +330,7 @@ The position of a signpost can be used by a hiker/biker/rider... {{service_item |name= [https://mapcomplete.org/icecream icecream] |region= Worldwide -|lang= {{#language:en|en}}, {{#language:de|en}} +|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:cs|en}} |descr= A MapComplete theme: A map showing ice cream parlors and ice cream vending machines |material= {{yes|[https://mapcomplete.org/ Yes]}} |image= MapComplete_Screenshot.png diff --git a/assets/layers/bike_parking/bike_parking.json b/assets/layers/bike_parking/bike_parking.json index 47f32b3d3..4d3afeeb4 100644 --- a/assets/layers/bike_parking/bike_parking.json +++ b/assets/layers/bike_parking/bike_parking.json @@ -88,7 +88,7 @@ "title": { "en": "a bike parking", "nl": "een fietsparking", - "fr": "une parking à vélo", + "fr": "un parking à vélo", "gl": "Aparcadoiro de bicicletas", "de": "einen Fahrrad-Parkplatz", "hu": "Kerékpártároló", @@ -157,7 +157,7 @@ { "if": "bicycle_parking=stands", "then": { - "en": "Staple racks", + "en": "Stands", "nl": "Nietjes", "fr": "Arceaux", "gl": "De roda (Stands)", @@ -178,7 +178,7 @@ { "if": "bicycle_parking=wall_loops", "then": { - "en": "Wheel rack/loops", + "en": "Wheelbenders / rack", "nl": "Wielrek/lussen", "fr": "Pinces-roues", "gl": "Aros", diff --git a/assets/layers/sport_pitch/sport_pitch.json b/assets/layers/sport_pitch/sport_pitch.json index 9da40da8e..2a7d07649 100644 --- a/assets/layers/sport_pitch/sport_pitch.json +++ b/assets/layers/sport_pitch/sport_pitch.json @@ -459,8 +459,8 @@ { "if": "surface=fine_gravel", "then": { - "en":"The surface is fine gravel", - "nl":"De ondergrond bestaat uit grind" + "en": "The surface is fine gravel", + "nl": "De ondergrond bestaat uit grind" } } ], diff --git a/assets/svg/license_info.json b/assets/svg/license_info.json index 8a9e84cc7..d6ea4605a 100644 --- a/assets/svg/license_info.json +++ b/assets/svg/license_info.json @@ -859,24 +859,6 @@ ], "sources": [] }, - { - "path": "no_checkmark.svg", - "license": "TRIVIAL", - "authors": [], - "sources": [] - }, - { - "path": "no_checkmark.svg", - "license": "TRIVIAL", - "authors": [], - "sources": [] - }, - { - "path": "none.svg", - "license": "TRIVIAL", - "authors": [], - "sources": [] - }, { "path": "not_found.svg", "license": "CC-BY-4.0", diff --git a/assets/themes/cyclenodes/cyclenodes.json b/assets/themes/cyclenodes/cyclenodes.json index 2bb5eb2bb..12760bb84 100644 --- a/assets/themes/cyclenodes/cyclenodes.json +++ b/assets/themes/cyclenodes/cyclenodes.json @@ -179,7 +179,8 @@ "question": { "en": "What is the reference number of this cycling node?", "nl": "Wat is het referentienummer van dit fietsknooppunt?", - "de": "Wie lautet die Nummer des Knotenpunkts im Fahrradknotenpunktnetzwerk?" + "de": "Wie lautet die Nummer des Knotenpunkts im Fahrradknotenpunktnetzwerk?", + "cs": "Jaké je referenční číslo tohoto cyklistického uzlu?" }, "freeform": { "key": "rcn_ref", @@ -187,13 +188,15 @@ "placeholder": { "en": "e.g. 1", "nl": "bijv. 1", - "de": "z.B. 1" + "de": "z.B. 1", + "cs": "e.g. 1" } }, "render": { "en": "This cycling node has reference number {rcn_ref}", "nl": "Dit fietsknooppunt heeft referentienummer {rcn_ref}", - "de": "Knotenpunktnummer {rcn_ref} des Fahrradknotenpunktnetzwerks" + "de": "Knotenpunktnummer {rcn_ref} des Fahrradknotenpunktnetzwerks", + "cs": "Tento cyklistický uzel má referenční číslo {rcn_ref}" } }, { @@ -249,7 +252,8 @@ "placeholder": { "en": "e.g. 3", "nl": "bijv. 3", - "de": "z.B. 3" + "de": "z.B. 3", + "cs": "e.g. 3" } }, "id": "node-expected_rcn_route_relations" @@ -298,12 +302,14 @@ ], "name": { "en": "Cycling guideposts", - "de": "Fahrrad-Wegweiser" + "de": "Fahrrad-Wegweiser", + "cs": "Cyklistické ukazatele" }, "title": { "render": { "en": "Cycling guidepost", - "de": "Fahrrad-Wegweiser" + "de": "Fahrrad-Wegweiser", + "cs": "Cyklistický ukazatel" } } }, @@ -330,7 +336,8 @@ ], "title": { "en": "a route marker for a node to node link", - "de": "Eine Routenmarkierung für eine Verbindung von Knoten zu Knoten" + "de": "Eine Routenmarkierung für eine Verbindung von Knoten zu Knoten", + "cs": "značka trasy pro spojení mezi uzlem" }, "=exampleImages": [ "./assets/layers/route_marker/bicycle_route_marker.jpg" diff --git a/assets/themes/cyclofix/cyclofix.json b/assets/themes/cyclofix/cyclofix.json index 5f94fda48..a52093c2e 100644 --- a/assets/themes/cyclofix/cyclofix.json +++ b/assets/themes/cyclofix/cyclofix.json @@ -102,9 +102,10 @@ "=pointRendering": [ { "marker": [ - {"icon": "pin", - "color":"#ba2792"} - , + { + "icon": "pin", + "color": "#ba2792" + }, { "icon": "./assets/themes/cyclofix/key.svg" } diff --git a/assets/themes/icecream/icecream.json b/assets/themes/icecream/icecream.json index e9c135f3e..33a9e8093 100644 --- a/assets/themes/icecream/icecream.json +++ b/assets/themes/icecream/icecream.json @@ -2,11 +2,13 @@ "id": "icecream", "title": { "en": "Icecream", - "de": "Eiscreme" + "de": "Eiscreme", + "cs": "Zmrzlina" }, "description": { "en": "A map showing ice cream parlors and ice cream vending machines", - "de": "Eine Karte, die Eisdielen und Eisautomaten zeigt" + "de": "Eine Karte, die Eisdielen und Eisautomaten zeigt", + "cs": "Mapa zobrazující prodej zmrzliny a automaty na zmrzlinu" }, "icon": "./assets/layers/ice_cream/ice_cream.svg", "layers": [ diff --git a/assets/themes/sidewalks/sidewalks.json b/assets/themes/sidewalks/sidewalks.json index 459225a4a..03b439468 100644 --- a/assets/themes/sidewalks/sidewalks.json +++ b/assets/themes/sidewalks/sidewalks.json @@ -166,31 +166,31 @@ { "if": "sidewalk:left|right=yes", "then": { - "en": "There is a sidewalk on this side of the road", - "de": "Es gibt einen Bürgersteig auf dieser Straßenseite", - "da": "Der er et fortov på denne side af vejen", - "nl": "Er is een stoep aan deze kant van de weg", - "fr": "Il y a un trottoir de ce côté de la route", - "ca": "Hi ha una vorera a aquest costat del carrer", - "es": "Hay una acera en este lado de la calle", - "cs": "Na této straně silnice je chodník", - "it": "C'è un marciapiede su questo lato della strada", - "pl": "Jest chodnik z boku drogi" + "en": "Yes, there is a sidewalk on this side of the road", + "de": "Ja, es gibt einen Bürgersteig auf dieser Straßenseite", + "da": "Ja, der er et fortov på denne side af vejen", + "nl": "Ja, er is een stoep aan deze kant van de weg", + "fr": "Oui, il y a un trottoir de ce côté de la route", + "ca": "Sí, hi ha una vorera a aquest costat del carrer", + "es": "Sí, hay una acera en este lado de la calle", + "cs": "Ano, na této straně silnice je chodník", + "it": "Sì, c'è un marciapiede su questo lato della strada", + "pl": "Tak, jest chodnik z boku drogi" } }, { "if": "sidewalk:left|right=no", "then": { - "en": "There is no sidewalk to walk on", - "de": "Es gibt keinen Bürgersteig für Fußgänger", - "da": "Der er ikke noget fortov at gå på", - "nl": "Er is geen stoep om op te lopen", - "fr": "Il n'y a pas de trottoir où marcher", - "ca": "No hi ha vorera per la que caminar", - "es": "No hay acera por la que caminar", - "cs": "Není tu žádný chodník", - "it": "Non c'è un marciapiede su cui camminare", - "pl": "Nie ma chodnika, którym można chodzić" + "en": "No, there is no sidewalk to walk on", + "de": "Nein, es gibt keinen Bürgersteig für Fußgänger", + "da": "Nej, der er ikke noget fortov at gå på", + "nl": "Nee, er is geen stoep om op te lopen", + "fr": "Non, il n'y a pas de trottoir où marcher", + "ca": "No, no hi ha vorera per la que caminar", + "es": "No, no hay acera por la que caminar", + "cs": "Ne, není tu žádný chodník", + "it": "No, non c'è un marciapiede su cui camminare", + "pl": "Nie, nie ma chodnika, którym można chodzić" } }, { diff --git a/assets/themes/walkingnodes/walkingnodes.json b/assets/themes/walkingnodes/walkingnodes.json index 3d08f5019..42563c41e 100644 --- a/assets/themes/walkingnodes/walkingnodes.json +++ b/assets/themes/walkingnodes/walkingnodes.json @@ -8,7 +8,8 @@ "description": { "en": "This map shows walking node networks and allows you to add new nodes easily", "nl": "Deze kaart toont wandelknooppunten en laat je toe om eenvoudigweg nieuwe knooppunten toe te voegen", - "de": "Diese Karte zeigt Wandernetzwerke und ermöglicht es Ihnen, einfach neue Knoten hinzuzufügen" + "de": "Diese Karte zeigt Wandernetzwerke und ermöglicht es Ihnen, einfach neue Knoten hinzuzufügen", + "cs": "Tato mapa zobrazuje sítě uzlových bodů a umožňuje snadné přidávání nových uzlů" }, "icon": "./assets/themes/walkingnodes/logo.svg", "startZoom": 11, @@ -161,7 +162,8 @@ "question": { "en": "What is the reference number of this walking node?", "nl": "Wat is het referentienummer van dit wandelknooppunt?", - "de": "Was ist die Referenznummer dieses Wanderknotens?" + "de": "Was ist die Referenznummer dieses Wanderknotens?", + "cs": "Jaké je referenční číslo tohoto pěšího uzlu?" }, "freeform": { "key": "rwn_ref", @@ -169,7 +171,8 @@ "placeholder": { "en": "e.g. 1", "nl": "bijv. 1", - "de": "z.B. 1" + "de": "z.B. 1", + "cs": "e.g. 1" } }, "render": { @@ -197,7 +200,8 @@ "question": { "en": "How many other walking nodes does this node link to?", "nl": "Met hoeveel andere wandelknooppunten heeft dit knooppunt een verbinding?", - "de": "Mit wie vielen anderen Wanderknoten ist dieser Knoten verbunden?" + "de": "Mit wie vielen anderen Wanderknoten ist dieser Knoten verbunden?", + "cs": "S kolika dalšími pěšími uzly je tento uzel propojen?" }, "render": { "en": "This node links to {expected_rwn_route_relations} other walking nodes.", @@ -210,7 +214,8 @@ "placeholder": { "en": "e.g. 3", "nl": "bijv. 3", - "de": "z.B. 3" + "de": "z.B. 3", + "cs": "e.g. 3" } }, "id": "node-expected_rwn_route_relations" diff --git a/langs/layers/de.json b/langs/layers/de.json index 765464ff4..4067c6339 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -35,16 +35,6 @@ "1": { "title": "eine freistehende Posterbox" }, - "10": { - "description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder", - "title": "ein Schild" - }, - "11": { - "title": "eine Skulptur" - }, - "12": { - "title": "eine Wandmalerei" - }, "2": { "title": "eine wandmontierte Posterbox" }, @@ -71,6 +61,16 @@ }, "9": { "title": "ein Totem" + }, + "10": { + "description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder", + "title": "ein Schild" + }, + "11": { + "title": "eine Skulptur" + }, + "12": { + "title": "eine Wandmalerei" } }, "tagRenderings": { @@ -165,9 +165,6 @@ "1": { "then": "Dies ist ein Brett" }, - "10": { - "then": "Dies ist eine Wandmalerei" - }, "2": { "then": "Dies ist eine Litfaßsäule" }, @@ -191,6 +188,9 @@ }, "9": { "then": "Dies ist ein Totem" + }, + "10": { + "then": "Dies ist eine Wandmalerei" } }, "question": "Welche Art von Werbung ist das?", @@ -205,9 +205,6 @@ "1": { "then": "Brett" }, - "10": { - "then": "Wandmalerei" - }, "2": { "then": "Posterbox" }, @@ -231,6 +228,9 @@ }, "9": { "then": "Totem" + }, + "10": { + "then": "Wandmalerei" } } } @@ -353,15 +353,6 @@ "1": { "then": "Wandbild" }, - "10": { - "then": "Azulejo (spanische dekorative Fliesenarbeit)" - }, - "11": { - "then": "Fliesenarbeit" - }, - "12": { - "then": "Holzschnitzerei" - }, "2": { "then": "Malerei" }, @@ -385,6 +376,15 @@ }, "9": { "then": "Relief" + }, + "10": { + "then": "Azulejo (spanische dekorative Fliesenarbeit)" + }, + "11": { + "then": "Fliesenarbeit" + }, + "12": { + "then": "Holzschnitzerei" } }, "question": "Um welche Art Kunstwerk handelt es sich?", @@ -1942,27 +1942,6 @@ "1": { "question": "Verfügt über einen
Schuko-Stecker ohne Erdungsstift (CEE7/4 Typ F)
" }, - "10": { - "question": "Hat einen
Typ 2 (Mennekes)
Anschluss mit Kabel" - }, - "11": { - "question": "Hat einen
Tesla Supercharger CCS (Typ 2 CSS vonTesla)
Anschluss" - }, - "12": { - "question": "Hat einen
Tesla Supercharger (Destination)
Anschluss" - }, - "13": { - "question": "Hat einen
Tesla Supercharger (Destination) (Typ 2 von Tesla)
Anschluss mit Kabel" - }, - "14": { - "question": "Hat einen
USB-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten
" - }, - "15": { - "question": "Hat einen
Bosch Active Connect Anschluss mit 3 Pins
und Kabel" - }, - "16": { - "question": "Hat einen
Bosch Active Connect Anschluss mit 5 Pins
und Kabel" - }, "2": { "question": "Verfügt über einen
europäischen Netzstecker mit Erdungsstift (CEE7/4 Typ E)
Anschluss" }, @@ -1986,6 +1965,27 @@ }, "9": { "question": "Hat einen
Typ 2 CCS (Mennekes)
Anschluss" + }, + "10": { + "question": "Hat einen
Typ 2 (Mennekes)
Anschluss mit Kabel" + }, + "11": { + "question": "Hat einen
Tesla Supercharger CCS (Typ 2 CSS vonTesla)
Anschluss" + }, + "12": { + "question": "Hat einen
Tesla Supercharger (Destination)
Anschluss" + }, + "13": { + "question": "Hat einen
Tesla Supercharger (Destination) (Typ 2 von Tesla)
Anschluss mit Kabel" + }, + "14": { + "question": "Hat einen
USB-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten
" + }, + "15": { + "question": "Hat einen
Bosch Active Connect Anschluss mit 3 Pins
und Kabel" + }, + "16": { + "question": "Hat einen
Bosch Active Connect Anschluss mit 5 Pins
und Kabel" } } } @@ -2041,6 +2041,30 @@ "1": { "then": "Schuko-Stecker ohne Erdungsstift (CEE7/4 Typ F)" }, + "2": { + "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" + }, + "3": { + "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" + }, + "4": { + "then": "Chademo-Anschluss" + }, + "5": { + "then": "Chademo-Anschluss" + }, + "6": { + "then": "Typ 1 mit Kabel (J1772)" + }, + "7": { + "then": "Typ 1 mit Kabel (J1772)" + }, + "8": { + "then": "Typ 1 ohne Kabel (J1772)" + }, + "9": { + "then": " Typ 1 ohne Kabel (J1772)" + }, "10": { "then": "Typ 1 CCS (Typ 1 Combo)" }, @@ -2071,9 +2095,6 @@ "19": { "then": "Typ 2 mit Kabel (mennekes)" }, - "2": { - "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" - }, "20": { "then": "Tesla Supercharger CCS (Typ 2 CSS von Tesla)" }, @@ -2104,32 +2125,11 @@ "29": { "then": " Bosch Active Connect mit 3 Pins und Kabel" }, - "3": { - "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" - }, "30": { "then": "Bosch Active Connect mit 5 Pins und Kabel" }, "31": { "then": " Bosch Active Connect mit 5 Pins und Kabel" - }, - "4": { - "then": "Chademo-Anschluss" - }, - "5": { - "then": "Chademo-Anschluss" - }, - "6": { - "then": "Typ 1 mit Kabel (J1772)" - }, - "7": { - "then": "Typ 1 mit Kabel (J1772)" - }, - "8": { - "then": "Typ 1 ohne Kabel (J1772)" - }, - "9": { - "then": " Typ 1 ohne Kabel (J1772)" } }, "question": "Welche Ladeanschlüsse gibt es hier?" @@ -3667,15 +3667,6 @@ "1": { "then": "Dieser Radweg hat einen festen Belag" }, - "10": { - "then": "Dieser Radweg besteht aus feinem Schotter" - }, - "11": { - "then": "Der Radweg ist aus Kies" - }, - "12": { - "then": "Dieser Radweg besteht aus Rohboden" - }, "2": { "then": "Der Radweg ist aus Asphalt" }, @@ -3699,6 +3690,15 @@ }, "9": { "then": "Der Radweg ist aus Schotter" + }, + "10": { + "then": "Dieser Radweg besteht aus feinem Schotter" + }, + "11": { + "then": "Der Radweg ist aus Kies" + }, + "12": { + "then": "Dieser Radweg besteht aus Rohboden" } }, "question": "Was ist der Belag dieses Radwegs?", @@ -3747,15 +3747,6 @@ "1": { "then": "Dieser Radweg hat einen festen Belag" }, - "10": { - "then": "Dieser Radweg besteht aus feinem Schotter" - }, - "11": { - "then": "Der Radweg ist aus Kies" - }, - "12": { - "then": "Dieser Radweg besteht aus Rohboden" - }, "2": { "then": "Der Radweg ist aus Asphalt" }, @@ -3779,6 +3770,15 @@ }, "9": { "then": "Der Radweg ist aus Schotter" + }, + "10": { + "then": "Dieser Radweg besteht aus feinem Schotter" + }, + "11": { + "then": "Der Radweg ist aus Kies" + }, + "12": { + "then": "Dieser Radweg besteht aus Rohboden" } }, "question": "Was ist der Belag dieser Straße?", @@ -4678,54 +4678,6 @@ } } }, - "10": { - "options": { - "0": { - "question": "Keine Bevorzugung von Hunden" - }, - "1": { - "question": "Hunde erlaubt" - }, - "2": { - "question": "Keine Hunde erlaubt" - } - } - }, - "11": { - "options": { - "0": { - "question": "Internetzugang vorhanden" - } - } - }, - "12": { - "options": { - "0": { - "question": "Stromanschluss vorhanden" - } - } - }, - "13": { - "options": { - "0": { - "question": "Hat zuckerfreie Angebote" - } - } - }, - "14": { - "options": { - "0": { - "question": "Hat glutenfreie Angebote" - } - } - }, - "15": { - "options": { - "0": { - "question": "Hat laktosefreie Angebote" - } - } - }, "2": { "options": { "0": { @@ -4796,6 +4748,54 @@ "question": "Nutzung kostenlos" } } + }, + "10": { + "options": { + "0": { + "question": "Keine Bevorzugung von Hunden" + }, + "1": { + "question": "Hunde erlaubt" + }, + "2": { + "question": "Keine Hunde erlaubt" + } + } + }, + "11": { + "options": { + "0": { + "question": "Internetzugang vorhanden" + } + } + }, + "12": { + "options": { + "0": { + "question": "Stromanschluss vorhanden" + } + } + }, + "13": { + "options": { + "0": { + "question": "Hat zuckerfreie Angebote" + } + } + }, + "14": { + "options": { + "0": { + "question": "Hat glutenfreie Angebote" + } + } + }, + "15": { + "options": { + "0": { + "question": "Hat laktosefreie Angebote" + } + } } } }, @@ -4915,6 +4915,30 @@ "1": { "then": "Die Fitness-Station hat ein Schild mit Anweisungen für eine bestimmte Übung." }, + "2": { + "then": "Die Fitness-Station hat eine Einrichtung für Sit-ups." + }, + "3": { + "then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen." + }, + "4": { + "then": "Die Fitness-Station hat Stangen zum Dehnen." + }, + "5": { + "then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)." + }, + "6": { + "then": "Die Fitness-Station hat Ringe für Gymnastikübungen." + }, + "7": { + "then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)." + }, + "8": { + "then": "Die Fitness-Station hat eine Sprossenwand zum Klettern." + }, + "9": { + "then": "Die Fitness-Station hat Pfosten für Slalomübungen." + }, "10": { "then": "Die Fitness-Station hat Trittsteine." }, @@ -4945,9 +4969,6 @@ "19": { "then": "Die Fitness-Station hat Kampfseile (battle ropes)." }, - "2": { - "then": "Die Fitness-Station hat eine Einrichtung für Sit-ups." - }, "20": { "then": "Die Fitness-Station hat ein Fahrradergometer." }, @@ -4962,27 +4983,6 @@ }, "24": { "then": "Die Fitness-Station hat eine Slackline." - }, - "3": { - "then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen." - }, - "4": { - "then": "Die Fitness-Station hat Stangen zum Dehnen." - }, - "5": { - "then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)." - }, - "6": { - "then": "Die Fitness-Station hat Ringe für Gymnastikübungen." - }, - "7": { - "then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)." - }, - "8": { - "then": "Die Fitness-Station hat eine Sprossenwand zum Klettern." - }, - "9": { - "then": "Die Fitness-Station hat Pfosten für Slalomübungen." } }, "question": "Welche Übungsgeräte gibt es an dieser Fitness-Station?" @@ -5102,21 +5102,6 @@ "1": { "then": "Dies ist eine Pommesbude" }, - "10": { - "then": "Hier werden chinesische Gerichte serviert" - }, - "11": { - "then": "Hier werden griechische Gerichte serviert" - }, - "12": { - "then": "Hier werden indische Gerichte serviert" - }, - "13": { - "then": "Hier werden türkische Gerichte serviert" - }, - "14": { - "then": "Hier werden thailändische Gerichte serviert" - }, "2": { "then": "Bietet vorwiegend Pastagerichte an" }, @@ -5140,6 +5125,21 @@ }, "9": { "then": "Hier werden französische Gerichte serviert" + }, + "10": { + "then": "Hier werden chinesische Gerichte serviert" + }, + "11": { + "then": "Hier werden griechische Gerichte serviert" + }, + "12": { + "then": "Hier werden indische Gerichte serviert" + }, + "13": { + "then": "Hier werden türkische Gerichte serviert" + }, + "14": { + "then": "Hier werden thailändische Gerichte serviert" } }, "question": "Was für Essen gibt es hier?", @@ -5777,6 +5777,30 @@ "1": { "then": "Dies ist ein Auditorium" }, + "2": { + "then": "Dies ist ein Schlafzimmer" + }, + "3": { + "then": "Dies ist eine Kapelle" + }, + "4": { + "then": "Dies ist ein Klassenzimmer" + }, + "5": { + "then": "Dies ist ein Klassenzimmer" + }, + "6": { + "then": "Dies ist ein Computerraum" + }, + "7": { + "then": "Dies ist ein Konferenzraum" + }, + "8": { + "then": "Dies ist eine Krypta" + }, + "9": { + "then": "Dies ist eine Küche" + }, "10": { "then": "Dies ist ein Labor" }, @@ -5807,9 +5831,6 @@ "19": { "then": "Dies ist ein Lagerraum" }, - "2": { - "then": "Dies ist ein Schlafzimmer" - }, "20": { "then": "Dies ist ein Technikraum" }, @@ -5818,27 +5839,6 @@ }, "22": { "then": "Dies ist ein Wartezimmer" - }, - "3": { - "then": "Dies ist eine Kapelle" - }, - "4": { - "then": "Dies ist ein Klassenzimmer" - }, - "5": { - "then": "Dies ist ein Klassenzimmer" - }, - "6": { - "then": "Dies ist ein Computerraum" - }, - "7": { - "then": "Dies ist ein Konferenzraum" - }, - "8": { - "then": "Dies ist eine Krypta" - }, - "9": { - "then": "Dies ist eine Küche" } }, "question": "Wie wird dieser Raum genutzt?" @@ -6493,19 +6493,6 @@ } } }, - "10": { - "options": { - "0": { - "question": "Alle Notizen" - }, - "1": { - "question": "Importnotizen ausblenden" - }, - "2": { - "question": "Nur Importnotizen anzeigen" - } - } - }, "2": { "options": { "0": { @@ -6561,6 +6548,19 @@ "question": "Nur offene Notizen anzeigen" } } + }, + "10": { + "options": { + "0": { + "question": "Alle Notizen" + }, + "1": { + "question": "Importnotizen ausblenden" + }, + "2": { + "question": "Nur Importnotizen anzeigen" + } + } } }, "name": "OpenStreetMap-Hinweise", @@ -6889,21 +6889,6 @@ "1": { "then": "Dies ist ein normaler Stellplatz." }, - "10": { - "then": "Dies ist ein Stellplatz, der für Eltern mit Kindern reserviert ist." - }, - "11": { - "then": "Dies ist ein Stellplatz, der für das Personal reserviert ist." - }, - "12": { - "then": "Dies ist ein Stellplatz, der für Taxis reserviert ist." - }, - "13": { - "then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist." - }, - "14": { - "then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist." - }, "2": { "then": "Dies ist ein Behindertenstellplatz." }, @@ -6927,6 +6912,21 @@ }, "9": { "then": "Dies ist ein Stellplatz, der für Motorräder reserviert ist." + }, + "10": { + "then": "Dies ist ein Stellplatz, der für Eltern mit Kindern reserviert ist." + }, + "11": { + "then": "Dies ist ein Stellplatz, der für das Personal reserviert ist." + }, + "12": { + "then": "Dies ist ein Stellplatz, der für Taxis reserviert ist." + }, + "13": { + "then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist." + }, + "14": { + "then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist." } }, "question": "Welche Art von Stellplatz ist dies?" @@ -7518,21 +7518,6 @@ "1": { "then": "2-Cent-Münzen werden akzeptiert" }, - "10": { - "then": "20-Centime-Münzen werden akzeptiert" - }, - "11": { - "then": "½-Schweizer Franken-Münzen werden akzeptiert" - }, - "12": { - "then": "1-Schweizer Franken-Münzen werden akzeptiert" - }, - "13": { - "then": "2-Schweizer Franken-Münzen werden akzeptiert" - }, - "14": { - "then": "5-Schweizer Franken-Münzen werden akzeptiert" - }, "2": { "then": "5-Cent-Münzen werden akzeptiert" }, @@ -7556,6 +7541,21 @@ }, "9": { "then": "10-Centime-Münzen werden akzeptiert" + }, + "10": { + "then": "20-Centime-Münzen werden akzeptiert" + }, + "11": { + "then": "½-Schweizer Franken-Münzen werden akzeptiert" + }, + "12": { + "then": "1-Schweizer Franken-Münzen werden akzeptiert" + }, + "13": { + "then": "2-Schweizer Franken-Münzen werden akzeptiert" + }, + "14": { + "then": "5-Schweizer Franken-Münzen werden akzeptiert" } }, "question": "Mit welchen Münzen kann man hier bezahlen?" @@ -7568,15 +7568,6 @@ "1": { "then": "10-Euro-Scheine werden angenommen" }, - "10": { - "then": "100-Schweizer Franken-Scheine werden akzeptiert" - }, - "11": { - "then": "200-Schweizer Franken-Scheine werden akzeptiert" - }, - "12": { - "then": "1000-Schweizer Franken-Scheine werden akzeptiert" - }, "2": { "then": "20-Euro-Scheine werden angenommen" }, @@ -7600,6 +7591,15 @@ }, "9": { "then": "50-Schweizer Franken-Scheine werden akzeptiert" + }, + "10": { + "then": "100-Schweizer Franken-Scheine werden akzeptiert" + }, + "11": { + "then": "200-Schweizer Franken-Scheine werden akzeptiert" + }, + "12": { + "then": "1000-Schweizer Franken-Scheine werden akzeptiert" } }, "question": "Mit welchen Banknoten kann man hier bezahlen?" @@ -8050,6 +8050,30 @@ "1": { "question": "Recycling von Batterien" }, + "2": { + "question": "Recycling von Getränkekartons" + }, + "3": { + "question": "Recycling von Dosen" + }, + "4": { + "question": "Recycling von Kleidung" + }, + "5": { + "question": "Recycling von Speiseöl" + }, + "6": { + "question": "Recycling von Motoröl" + }, + "7": { + "question": "Recycling von Leuchtstoffröhren" + }, + "8": { + "question": "Recycling von Grünabfällen" + }, + "9": { + "question": "Recycling von Glasflaschen" + }, "10": { "question": "Recycling von Glas" }, @@ -8080,35 +8104,11 @@ "19": { "question": "Recycling von Restabfällen" }, - "2": { - "question": "Recycling von Getränkekartons" - }, "20": { "question": "Recycling von Druckerpatronen" }, "21": { "question": "Recycling von Fahrrädern" - }, - "3": { - "question": "Recycling von Dosen" - }, - "4": { - "question": "Recycling von Kleidung" - }, - "5": { - "question": "Recycling von Speiseöl" - }, - "6": { - "question": "Recycling von Motoröl" - }, - "7": { - "question": "Recycling von Leuchtstoffröhren" - }, - "8": { - "question": "Recycling von Grünabfällen" - }, - "9": { - "question": "Recycling von Glasflaschen" } } }, @@ -8176,6 +8176,30 @@ "1": { "then": "Getränkekartons können hier recycelt werden" }, + "2": { + "then": "Dosen können hier recycelt werden" + }, + "3": { + "then": "Kleidung kann hier recycelt werden" + }, + "4": { + "then": "Speiseöl kann hier recycelt werden" + }, + "5": { + "then": "Motoröl kann hier recycelt werden" + }, + "6": { + "then": "Hier können Leuchtstoffröhren recycelt werden" + }, + "7": { + "then": "Grünabfälle können hier recycelt werden" + }, + "8": { + "then": "Bio-Abfall kann hier recycelt werden" + }, + "9": { + "then": "Glasflaschen können hier recycelt werden" + }, "10": { "then": "Glas kann hier recycelt werden" }, @@ -8206,9 +8230,6 @@ "19": { "then": "Schuhe können hier recycelt werden" }, - "2": { - "then": "Dosen können hier recycelt werden" - }, "20": { "then": "Elektrokleingeräte können hier recycelt werden" }, @@ -8223,27 +8244,6 @@ }, "24": { "then": "Fahrräder können hier recycelt werden" - }, - "3": { - "then": "Kleidung kann hier recycelt werden" - }, - "4": { - "then": "Speiseöl kann hier recycelt werden" - }, - "5": { - "then": "Motoröl kann hier recycelt werden" - }, - "6": { - "then": "Hier können Leuchtstoffröhren recycelt werden" - }, - "7": { - "then": "Grünabfälle können hier recycelt werden" - }, - "8": { - "then": "Bio-Abfall kann hier recycelt werden" - }, - "9": { - "then": "Glasflaschen können hier recycelt werden" } }, "question": "Was kann hier recycelt werden?" @@ -9161,12 +9161,6 @@ "1": { "then": "Diese Straßenlaterne verwendet LEDs" }, - "10": { - "then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)" - }, - "11": { - "then": "Diese Straßenlaterne wird mit Gas beleuchtet" - }, "2": { "then": "Diese Straßenlaterne verwendet Glühlampenlicht" }, @@ -9190,6 +9184,12 @@ }, "9": { "then": "Diese Straßenlaterne verwendet Niederdruck-Natriumdampflampen (einfarbig orange)" + }, + "10": { + "then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)" + }, + "11": { + "then": "Diese Straßenlaterne wird mit Gas beleuchtet" } }, "question": "Mit welcher Art von Beleuchtung arbeitet diese Straßenlaterne?" @@ -10367,6 +10367,30 @@ "1": { "question": "Verkauf von Getränken" }, + "2": { + "question": "Verkauf von Süßigkeiten" + }, + "3": { + "question": "Verkauf von Lebensmitteln" + }, + "4": { + "question": "Verkauf von Zigaretten" + }, + "5": { + "question": "Verkauf von Kondomen" + }, + "6": { + "question": "Verkauf von Kaffee" + }, + "7": { + "question": "Verkauf von Trinkwasser" + }, + "8": { + "question": "Verkauf von Zeitungen" + }, + "9": { + "question": "Verkauf von Fahrradschläuchen" + }, "10": { "question": "Verkauf von Milch" }, @@ -10397,9 +10421,6 @@ "19": { "question": "Verkauf von Blumen" }, - "2": { - "question": "Verkauf von Süßigkeiten" - }, "20": { "question": "Verkauf von Parkscheinen" }, @@ -10423,27 +10444,6 @@ }, "27": { "question": "Verkauf von Fahrradschlössern" - }, - "3": { - "question": "Verkauf von Lebensmitteln" - }, - "4": { - "question": "Verkauf von Zigaretten" - }, - "5": { - "question": "Verkauf von Kondomen" - }, - "6": { - "question": "Verkauf von Kaffee" - }, - "7": { - "question": "Verkauf von Trinkwasser" - }, - "8": { - "question": "Verkauf von Zeitungen" - }, - "9": { - "question": "Verkauf von Fahrradschläuchen" } } } @@ -10490,6 +10490,30 @@ "1": { "then": "Süßigkeiten werden verkauft" }, + "2": { + "then": "Lebensmittel werden verkauft" + }, + "3": { + "then": "Zigaretten werden verkauft" + }, + "4": { + "then": "Kondome werden verkauft" + }, + "5": { + "then": "Kaffee wird verkauft" + }, + "6": { + "then": "Trinkwasser wird verkauft" + }, + "7": { + "then": "Zeitungen werden verkauft" + }, + "8": { + "then": "Fahrradschläuche werden verkauft" + }, + "9": { + "then": "Milch wird verkauft" + }, "10": { "then": "Brot wird verkauft" }, @@ -10520,9 +10544,6 @@ "19": { "then": "Parkscheine werden verkauft" }, - "2": { - "then": "Lebensmittel werden verkauft" - }, "20": { "then": "Souvenirmünzen werden verkauft" }, @@ -10543,27 +10564,6 @@ }, "26": { "then": "Fahrradschlösser werden verkauft" - }, - "3": { - "then": "Zigaretten werden verkauft" - }, - "4": { - "then": "Kondome werden verkauft" - }, - "5": { - "then": "Kaffee wird verkauft" - }, - "6": { - "then": "Trinkwasser wird verkauft" - }, - "7": { - "then": "Zeitungen werden verkauft" - }, - "8": { - "then": "Fahrradschläuche werden verkauft" - }, - "9": { - "then": "Milch wird verkauft" } }, "question": "Was wird in diesem Automaten verkauft?", @@ -10892,4 +10892,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/en.json b/langs/layers/en.json index d6f703a73..c5ef8af10 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -35,16 +35,6 @@ "1": { "title": "a freestanding poster box" }, - "10": { - "description": "Used for advertising signs, neon signs, logos & institutional entrance signs", - "title": "a sign" - }, - "11": { - "title": "a sculpture" - }, - "12": { - "title": "a wall painting" - }, "2": { "title": "a poster box mounted on a wall" }, @@ -71,6 +61,16 @@ }, "9": { "title": "a totem" + }, + "10": { + "description": "Used for advertising signs, neon signs, logos & institutional entrance signs", + "title": "a sign" + }, + "11": { + "title": "a sculpture" + }, + "12": { + "title": "a wall painting" } }, "tagRenderings": { @@ -165,9 +165,6 @@ "1": { "then": "This is a board" }, - "10": { - "then": "This is a wall painting" - }, "2": { "then": "This is a column" }, @@ -191,6 +188,9 @@ }, "9": { "then": "This is a totem" + }, + "10": { + "then": "This is a wall painting" } }, "question": "Which type of advertising feature is this?", @@ -205,9 +205,6 @@ "1": { "then": "Board" }, - "10": { - "then": "Wall painting" - }, "2": { "then": "Poster Box" }, @@ -231,6 +228,9 @@ }, "9": { "then": "Totem" + }, + "10": { + "then": "Wall painting" } } } @@ -353,15 +353,6 @@ "1": { "then": "Mural" }, - "10": { - "then": "Azulejo (Spanish decorative tilework)" - }, - "11": { - "then": "Tilework" - }, - "12": { - "then": "Woodcarving" - }, "2": { "then": "Painting" }, @@ -385,6 +376,15 @@ }, "9": { "then": "Relief" + }, + "10": { + "then": "Azulejo (Spanish decorative tilework)" + }, + "11": { + "then": "Tilework" + }, + "12": { + "then": "Woodcarving" } }, "question": "What is the type of this artwork?", @@ -1942,27 +1942,6 @@ "1": { "question": "Has a
Schuko wall plug without ground pin (CEE7/4 type F)
connector" }, - "10": { - "question": "Has a
Type 2 with cable (mennekes)
connector" - }, - "11": { - "question": "Has a
Tesla Supercharger CCS (a branded type2_css)
connector" - }, - "12": { - "question": "Has a
Tesla Supercharger (destination)
connector" - }, - "13": { - "question": "Has a
Tesla Supercharger (Destination) (A Type 2 with cable branded as tesla)
connector" - }, - "14": { - "question": "Has a
USB to charge phones and small electronics
connector" - }, - "15": { - "question": "Has a
Bosch Active Connect with 3 pins and cable
connector" - }, - "16": { - "question": "Has a
Bosch Active Connect with 5 pins and cable
connector" - }, "2": { "question": "Has a
European wall plug with ground pin (CEE7/4 type E)
connector" }, @@ -1986,6 +1965,27 @@ }, "9": { "question": "Has a
Type 2 CCS (mennekes)
connector" + }, + "10": { + "question": "Has a
Type 2 with cable (mennekes)
connector" + }, + "11": { + "question": "Has a
Tesla Supercharger CCS (a branded type2_css)
connector" + }, + "12": { + "question": "Has a
Tesla Supercharger (destination)
connector" + }, + "13": { + "question": "Has a
Tesla Supercharger (Destination) (A Type 2 with cable branded as tesla)
connector" + }, + "14": { + "question": "Has a
USB to charge phones and small electronics
connector" + }, + "15": { + "question": "Has a
Bosch Active Connect with 3 pins and cable
connector" + }, + "16": { + "question": "Has a
Bosch Active Connect with 5 pins and cable
connector" } } } @@ -2041,6 +2041,30 @@ "1": { "then": "Schuko wall plug without ground pin (CEE7/4 type F)" }, + "2": { + "then": "European wall plug with ground pin (CEE7/4 type E)" + }, + "3": { + "then": "European wall plug with ground pin (CEE7/4 type E)" + }, + "4": { + "then": "Chademo" + }, + "5": { + "then": "Chademo" + }, + "6": { + "then": "Type 1 with cable (J1772)" + }, + "7": { + "then": "Type 1 with cable (J1772)" + }, + "8": { + "then": "Type 1 without cable (J1772)" + }, + "9": { + "then": "Type 1 without cable (J1772)" + }, "10": { "then": "Type 1 CCS (aka Type 1 Combo)" }, @@ -2071,9 +2095,6 @@ "19": { "then": "Type 2 with cable (mennekes)" }, - "2": { - "then": "European wall plug with ground pin (CEE7/4 type E)" - }, "20": { "then": "Tesla Supercharger CCS (a branded type2_css)" }, @@ -2104,32 +2125,11 @@ "29": { "then": "Bosch Active Connect with 3 pins and cable" }, - "3": { - "then": "European wall plug with ground pin (CEE7/4 type E)" - }, "30": { "then": "Bosch Active Connect with 5 pins and cable" }, "31": { "then": "Bosch Active Connect with 5 pins and cable" - }, - "4": { - "then": "Chademo" - }, - "5": { - "then": "Chademo" - }, - "6": { - "then": "Type 1 with cable (J1772)" - }, - "7": { - "then": "Type 1 with cable (J1772)" - }, - "8": { - "then": "Type 1 without cable (J1772)" - }, - "9": { - "then": "Type 1 without cable (J1772)" } }, "question": "Which charging connections are available here?" @@ -3667,15 +3667,6 @@ "1": { "then": "This cycleway is paved" }, - "10": { - "then": "This cycleway is made of fine gravel" - }, - "11": { - "then": "This cycleway is made of pebblestone" - }, - "12": { - "then": "This cycleway is made from raw ground" - }, "2": { "then": "This cycleway is made of asphalt" }, @@ -3699,6 +3690,15 @@ }, "9": { "then": "This cycleway is made of gravel" + }, + "10": { + "then": "This cycleway is made of fine gravel" + }, + "11": { + "then": "This cycleway is made of pebblestone" + }, + "12": { + "then": "This cycleway is made from raw ground" } }, "question": "What is the surface of the cycleway made from?", @@ -3747,15 +3747,6 @@ "1": { "then": "This cycleway is paved" }, - "10": { - "then": "This cycleway is made of fine gravel" - }, - "11": { - "then": "This cycleway is made of pebblestone" - }, - "12": { - "then": "This cycleway is made from raw ground" - }, "2": { "then": "This cycleway is made of asphalt" }, @@ -3779,6 +3770,15 @@ }, "9": { "then": "This cycleway is made of gravel" + }, + "10": { + "then": "This cycleway is made of fine gravel" + }, + "11": { + "then": "This cycleway is made of pebblestone" + }, + "12": { + "then": "This cycleway is made from raw ground" } }, "question": "What is the surface of the street made from?", @@ -4678,54 +4678,6 @@ } } }, - "10": { - "options": { - "0": { - "question": "No preference towards dogs" - }, - "1": { - "question": "Dogs allowed" - }, - "2": { - "question": "No dogs allowed" - } - } - }, - "11": { - "options": { - "0": { - "question": "Offers internet" - } - } - }, - "12": { - "options": { - "0": { - "question": "Offers electricity" - } - } - }, - "13": { - "options": { - "0": { - "question": "Has a sugar-free offering" - } - } - }, - "14": { - "options": { - "0": { - "question": "Has a gluten free offering" - } - } - }, - "15": { - "options": { - "0": { - "question": "Has a lactose free offering" - } - } - }, "2": { "options": { "0": { @@ -4796,6 +4748,54 @@ "question": "Free to use" } } + }, + "10": { + "options": { + "0": { + "question": "No preference towards dogs" + }, + "1": { + "question": "Dogs allowed" + }, + "2": { + "question": "No dogs allowed" + } + } + }, + "11": { + "options": { + "0": { + "question": "Offers internet" + } + } + }, + "12": { + "options": { + "0": { + "question": "Offers electricity" + } + } + }, + "13": { + "options": { + "0": { + "question": "Has a sugar-free offering" + } + } + }, + "14": { + "options": { + "0": { + "question": "Has a gluten free offering" + } + } + }, + "15": { + "options": { + "0": { + "question": "Has a lactose free offering" + } + } } } }, @@ -4915,6 +4915,30 @@ "1": { "then": "This fitness station has a sign with instructions for a specific exercise." }, + "2": { + "then": "This fitness station has a facility for sit-ups." + }, + "3": { + "then": "This fitness station has a facility for push-ups. Usually consists of one or more low horizontal bars." + }, + "4": { + "then": "This fitness station has bars for stretching." + }, + "5": { + "then": "This fitness station has a station for making hyperextensions." + }, + "6": { + "then": "This fitness station has rings for gymnastic exercises." + }, + "7": { + "then": "This fitness station has a horizontal ladder, also known as monkey bars." + }, + "8": { + "then": "This fitness station has wall bars to climb on." + }, + "9": { + "then": "This fitness station has posts for performing slalom exercises." + }, "10": { "then": "This fitness station has stepping stones." }, @@ -4945,9 +4969,6 @@ "19": { "then": "This fitness station has battling ropes." }, - "2": { - "then": "This fitness station has a facility for sit-ups." - }, "20": { "then": "This fitness station has a stationary bicycle." }, @@ -4962,27 +4983,6 @@ }, "24": { "then": "This fitness station has a slackline." - }, - "3": { - "then": "This fitness station has a facility for push-ups. Usually consists of one or more low horizontal bars." - }, - "4": { - "then": "This fitness station has bars for stretching." - }, - "5": { - "then": "This fitness station has a station for making hyperextensions." - }, - "6": { - "then": "This fitness station has rings for gymnastic exercises." - }, - "7": { - "then": "This fitness station has a horizontal ladder, also known as monkey bars." - }, - "8": { - "then": "This fitness station has wall bars to climb on." - }, - "9": { - "then": "This fitness station has posts for performing slalom exercises." } }, "question": "What kind of equipment does this fitness station have?" @@ -5102,21 +5102,6 @@ "1": { "then": "This is a friture" }, - "10": { - "then": "Chinese dishes are served here" - }, - "11": { - "then": "Greek dishes are served here" - }, - "12": { - "then": "Indian dishes are served here" - }, - "13": { - "then": "Turkish dishes are served here" - }, - "14": { - "then": "Thai dishes are served here" - }, "2": { "then": "Mainly serves pasta" }, @@ -5140,6 +5125,21 @@ }, "9": { "then": "French dishes are served here" + }, + "10": { + "then": "Chinese dishes are served here" + }, + "11": { + "then": "Greek dishes are served here" + }, + "12": { + "then": "Indian dishes are served here" + }, + "13": { + "then": "Turkish dishes are served here" + }, + "14": { + "then": "Thai dishes are served here" } }, "question": "What kind of food is served here?", @@ -5777,6 +5777,30 @@ "1": { "then": "This is a auditorium" }, + "2": { + "then": "This is a bedroom" + }, + "3": { + "then": "This is a chapel" + }, + "4": { + "then": "This is a classroom" + }, + "5": { + "then": "This is a classroom" + }, + "6": { + "then": "This is a computer room" + }, + "7": { + "then": "This is a conference room" + }, + "8": { + "then": "This is a crypt" + }, + "9": { + "then": "This is a kitchen" + }, "10": { "then": "This is a laboratory" }, @@ -5807,9 +5831,6 @@ "19": { "then": "This is a storage room" }, - "2": { - "then": "This is a bedroom" - }, "20": { "then": "This is a technical room" }, @@ -5818,27 +5839,6 @@ }, "22": { "then": "This is a waiting room" - }, - "3": { - "then": "This is a chapel" - }, - "4": { - "then": "This is a classroom" - }, - "5": { - "then": "This is a classroom" - }, - "6": { - "then": "This is a computer room" - }, - "7": { - "then": "This is a conference room" - }, - "8": { - "then": "This is a crypt" - }, - "9": { - "then": "This is a kitchen" } }, "question": "What type of room is this?" @@ -6493,19 +6493,6 @@ } } }, - "10": { - "options": { - "0": { - "question": "All Notes" - }, - "1": { - "question": "Hide import notes" - }, - "2": { - "question": "Show only import Notes" - } - } - }, "2": { "options": { "0": { @@ -6561,6 +6548,19 @@ "question": "Only show open notes" } } + }, + "10": { + "options": { + "0": { + "question": "All Notes" + }, + "1": { + "question": "Hide import notes" + }, + "2": { + "question": "Show only import Notes" + } + } } }, "name": "OpenStreetMap notes", @@ -6889,21 +6889,6 @@ "1": { "then": "This is a normal parking space." }, - "10": { - "then": "This is a parking space reserved for parents with children." - }, - "11": { - "then": "This is a parking space reserved for staff." - }, - "12": { - "then": "This is a parking space reserved for taxis." - }, - "13": { - "then": "This is a parking space reserved for vehicles towing a trailer." - }, - "14": { - "then": "This is a parking space reserved for car sharing." - }, "2": { "then": "This is a disabled parking space." }, @@ -6927,6 +6912,21 @@ }, "9": { "then": "This is parking space reserved for motorcycles." + }, + "10": { + "then": "This is a parking space reserved for parents with children." + }, + "11": { + "then": "This is a parking space reserved for staff." + }, + "12": { + "then": "This is a parking space reserved for taxis." + }, + "13": { + "then": "This is a parking space reserved for vehicles towing a trailer." + }, + "14": { + "then": "This is a parking space reserved for car sharing." } }, "question": "What kind of parking space is this?" @@ -7518,21 +7518,6 @@ "1": { "then": "2 cent coins are accepted" }, - "10": { - "then": "20 centimes coins are accepted" - }, - "11": { - "then": "½ franc coins are accepted" - }, - "12": { - "then": "1 franc coins are accepted" - }, - "13": { - "then": "2 francs coins are accepted" - }, - "14": { - "then": "5 francs coins are accepted" - }, "2": { "then": "5 cent coins are accepted" }, @@ -7556,6 +7541,21 @@ }, "9": { "then": "10 centimes coins are accepted" + }, + "10": { + "then": "20 centimes coins are accepted" + }, + "11": { + "then": "½ franc coins are accepted" + }, + "12": { + "then": "1 franc coins are accepted" + }, + "13": { + "then": "2 francs coins are accepted" + }, + "14": { + "then": "5 francs coins are accepted" } }, "question": "What coins can you use to pay here?" @@ -7568,15 +7568,6 @@ "1": { "then": "10 euro notes are accepted" }, - "10": { - "then": "100 francs notes are accepted" - }, - "11": { - "then": "200 francs notes are accepted" - }, - "12": { - "then": "1000 francs notes are accepted" - }, "2": { "then": "20 euro notes are accepted" }, @@ -7600,6 +7591,15 @@ }, "9": { "then": "50 francs notes are accepted" + }, + "10": { + "then": "100 francs notes are accepted" + }, + "11": { + "then": "200 francs notes are accepted" + }, + "12": { + "then": "1000 francs notes are accepted" } }, "question": "what notes can you use to pay here?" @@ -8050,6 +8050,30 @@ "1": { "question": "Recycling of batteries" }, + "2": { + "question": "Recycling of beverage cartons" + }, + "3": { + "question": "Recycling of cans" + }, + "4": { + "question": "Recycling of clothes" + }, + "5": { + "question": "Recycling of cooking oil" + }, + "6": { + "question": "Recycling of engine oil" + }, + "7": { + "question": "Recycling of fluorescent tubes" + }, + "8": { + "question": "Recycling of green waste" + }, + "9": { + "question": "Recycling of glass bottles" + }, "10": { "question": "Recycling of glass" }, @@ -8080,35 +8104,11 @@ "19": { "question": "Recycling of residual waste" }, - "2": { - "question": "Recycling of beverage cartons" - }, "20": { "question": "Recycling of printer cartridges" }, "21": { "question": "Recycling of bicycles" - }, - "3": { - "question": "Recycling of cans" - }, - "4": { - "question": "Recycling of clothes" - }, - "5": { - "question": "Recycling of cooking oil" - }, - "6": { - "question": "Recycling of engine oil" - }, - "7": { - "question": "Recycling of fluorescent tubes" - }, - "8": { - "question": "Recycling of green waste" - }, - "9": { - "question": "Recycling of glass bottles" } } }, @@ -8176,6 +8176,30 @@ "1": { "then": "Beverage cartons can be recycled here" }, + "2": { + "then": "Cans can be recycled here" + }, + "3": { + "then": "Clothes can be recycled here" + }, + "4": { + "then": "Cooking oil can be recycled here" + }, + "5": { + "then": "Engine oil can be recycled here" + }, + "6": { + "then": "Fluorescent tubes can be recycled here" + }, + "7": { + "then": "Green waste can be recycled here" + }, + "8": { + "then": "Organic waste can be recycled here" + }, + "9": { + "then": "Glass bottles can be recycled here" + }, "10": { "then": "Glass can be recycled here" }, @@ -8206,9 +8230,6 @@ "19": { "then": "Shoes can be recycled here" }, - "2": { - "then": "Cans can be recycled here" - }, "20": { "then": "Small electrical appliances can be recycled here" }, @@ -8223,27 +8244,6 @@ }, "24": { "then": "Bicycles can be recycled here" - }, - "3": { - "then": "Clothes can be recycled here" - }, - "4": { - "then": "Cooking oil can be recycled here" - }, - "5": { - "then": "Engine oil can be recycled here" - }, - "6": { - "then": "Fluorescent tubes can be recycled here" - }, - "7": { - "then": "Green waste can be recycled here" - }, - "8": { - "then": "Organic waste can be recycled here" - }, - "9": { - "then": "Glass bottles can be recycled here" } }, "question": "What can be recycled here?" @@ -8979,6 +8979,9 @@ }, "4": { "then": "The surface is concrete" + }, + "5": { + "then": "The surface is fine gravel" } }, "question": "Which is the surface of this sport pitch?", @@ -9161,12 +9164,6 @@ "1": { "then": "This lamp uses LEDs" }, - "10": { - "then": "This lamp uses high pressure sodium lamps (orange with white)" - }, - "11": { - "then": "This lamp is lit using gas" - }, "2": { "then": "This lamp uses incandescent lighting" }, @@ -9190,6 +9187,12 @@ }, "9": { "then": "This lamp uses low pressure sodium lamps (monochrome orange)" + }, + "10": { + "then": "This lamp uses high pressure sodium lamps (orange with white)" + }, + "11": { + "then": "This lamp is lit using gas" } }, "question": "What kind of lighting does this lamp use?" @@ -10367,6 +10370,30 @@ "1": { "question": "Sale of drinks" }, + "2": { + "question": "Sale of sweets" + }, + "3": { + "question": "Sale of food" + }, + "4": { + "question": "Sale of cigarettes" + }, + "5": { + "question": "Sale of condoms" + }, + "6": { + "question": "Sale of coffee" + }, + "7": { + "question": "Sale of water" + }, + "8": { + "question": "Sale of newspapers" + }, + "9": { + "question": "Sale of bicycle inner tubes" + }, "10": { "question": "Sale of milk" }, @@ -10397,9 +10424,6 @@ "19": { "question": "Sale of flowers" }, - "2": { - "question": "Sale of sweets" - }, "20": { "question": "Sale of parking tickets" }, @@ -10423,27 +10447,6 @@ }, "27": { "question": "Sale of bicycle locks" - }, - "3": { - "question": "Sale of food" - }, - "4": { - "question": "Sale of cigarettes" - }, - "5": { - "question": "Sale of condoms" - }, - "6": { - "question": "Sale of coffee" - }, - "7": { - "question": "Sale of water" - }, - "8": { - "question": "Sale of newspapers" - }, - "9": { - "question": "Sale of bicycle inner tubes" } } } @@ -10490,6 +10493,30 @@ "1": { "then": "Sweets are sold" }, + "2": { + "then": "Food is sold" + }, + "3": { + "then": "Cigarettes are sold" + }, + "4": { + "then": "Condoms are sold" + }, + "5": { + "then": "Coffee is sold" + }, + "6": { + "then": "Drinking water is sold" + }, + "7": { + "then": "Newspapers are sold" + }, + "8": { + "then": "Bicycle inner tubes are sold" + }, + "9": { + "then": "Milk is sold" + }, "10": { "then": "Bread is sold" }, @@ -10520,9 +10547,6 @@ "19": { "then": "Parking tickets are sold" }, - "2": { - "then": "Food is sold" - }, "20": { "then": "Pressed pennies are sold" }, @@ -10543,27 +10567,6 @@ }, "26": { "then": "Bicycle locks are sold" - }, - "3": { - "then": "Cigarettes are sold" - }, - "4": { - "then": "Condoms are sold" - }, - "5": { - "then": "Coffee is sold" - }, - "6": { - "then": "Drinking water is sold" - }, - "7": { - "then": "Newspapers are sold" - }, - "8": { - "then": "Bicycle inner tubes are sold" - }, - "9": { - "then": "Milk is sold" } }, "question": "What does this vending machine sell?", @@ -10892,4 +10895,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/fr.json b/langs/layers/fr.json index c826a6f9f..dbc4ccc65 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -33,16 +33,6 @@ "1": { "title": "un panneau à affiches scellé au sol" }, - "10": { - "description": "Désigne une enseigne publicitaire, une enseigne néon, les logos ou des indications d'entrées", - "title": "une enseigne" - }, - "11": { - "title": "une sculpture" - }, - "12": { - "title": "une peinture murale" - }, "2": { "title": "un panneau à affiches monté sur un mur" }, @@ -69,6 +59,16 @@ }, "9": { "title": "un totem" + }, + "10": { + "description": "Désigne une enseigne publicitaire, une enseigne néon, les logos ou des indications d'entrées", + "title": "une enseigne" + }, + "11": { + "title": "une sculpture" + }, + "12": { + "title": "une peinture murale" } }, "tagRenderings": { @@ -160,9 +160,6 @@ "1": { "then": "C'est un petit panneau" }, - "10": { - "then": "C'est une peinture murale" - }, "2": { "then": "C'est une colonne" }, @@ -186,6 +183,9 @@ }, "9": { "then": "C'est un totem" + }, + "10": { + "then": "C'est une peinture murale" } }, "question": "De quel type de dispositif publicitaire s'agit-il ?" @@ -196,9 +196,6 @@ "1": { "then": "Petit panneau" }, - "10": { - "then": "Peinture murale" - }, "3": { "then": "Colonne" }, @@ -219,6 +216,9 @@ }, "9": { "then": "Totem" + }, + "10": { + "then": "Peinture murale" } } } @@ -300,15 +300,6 @@ "1": { "then": "Peinture murale" }, - "10": { - "then": "Azulejo (faïence latine)" - }, - "11": { - "then": "Carrelage" - }, - "12": { - "then": "Sculpture sur bois" - }, "2": { "then": "Peinture" }, @@ -332,6 +323,15 @@ }, "9": { "then": "Relief" + }, + "10": { + "then": "Azulejo (faïence latine)" + }, + "11": { + "then": "Carrelage" + }, + "12": { + "then": "Sculpture sur bois" } }, "question": "Quel est le type de cette œuvre d'art ?", @@ -2489,15 +2489,6 @@ "1": { "then": "Cette piste cyclable est goudronée" }, - "10": { - "then": "Cette piste cyclable est faite en graviers fins" - }, - "11": { - "then": "Cette piste cyclable est en cailloux" - }, - "12": { - "then": "Cette piste cyclable est faite en sol brut" - }, "2": { "then": "Cette piste cyclable est asphaltée" }, @@ -2521,6 +2512,15 @@ }, "9": { "then": "Cette piste cyclable est faite en graviers" + }, + "10": { + "then": "Cette piste cyclable est faite en graviers fins" + }, + "11": { + "then": "Cette piste cyclable est en cailloux" + }, + "12": { + "then": "Cette piste cyclable est faite en sol brut" } }, "question": "De quoi est faite la surface de la piste cyclable ?", @@ -2569,15 +2569,6 @@ "1": { "then": "Cette piste cyclable est pavée" }, - "10": { - "then": "Cette piste cyclable est faite en graviers fins" - }, - "11": { - "then": "Cette piste cyclable est en cailloux" - }, - "12": { - "then": "Cette piste cyclable est faite en sol brut" - }, "2": { "then": "Cette piste cyclable est asphaltée" }, @@ -2601,6 +2592,15 @@ }, "9": { "then": "Cette piste cyclable est faite en graviers" + }, + "10": { + "then": "Cette piste cyclable est faite en graviers fins" + }, + "11": { + "then": "Cette piste cyclable est en cailloux" + }, + "12": { + "then": "Cette piste cyclable est faite en sol brut" } }, "question": "De quel materiel est faite cette rue ?", @@ -3456,21 +3456,6 @@ "1": { "then": "C'est une friterie" }, - "10": { - "then": "Des plats chinois sont servis ici" - }, - "11": { - "then": "Des plats grecs sont servis ici" - }, - "12": { - "then": "Des plats indiens sont servis ici" - }, - "13": { - "then": "Des plats turcs sont servis ici" - }, - "14": { - "then": "Des plats thaïlandais sont servis ici" - }, "2": { "then": "Restaurant Italien" }, @@ -3494,6 +3479,21 @@ }, "9": { "then": "Des plats français sont servis ici" + }, + "10": { + "then": "Des plats chinois sont servis ici" + }, + "11": { + "then": "Des plats grecs sont servis ici" + }, + "12": { + "then": "Des plats indiens sont servis ici" + }, + "13": { + "then": "Des plats turcs sont servis ici" + }, + "14": { + "then": "Des plats thaïlandais sont servis ici" } }, "question": "Quelle type de nourriture est servie ici ?", @@ -5078,6 +5078,30 @@ "1": { "question": "Recyclage de piles et batteries domestiques" }, + "2": { + "question": "Recyclage d'emballage de boissons" + }, + "3": { + "question": "Recyclage de boites de conserve et de canettes" + }, + "4": { + "question": "Recyclage de vêtements" + }, + "5": { + "question": "Recyclage des huiles de friture" + }, + "6": { + "question": "Recyclage des huiles de moteur" + }, + "7": { + "question": "Recyclage des lampes fluorescentes" + }, + "8": { + "question": "Recyclage des déchets verts" + }, + "9": { + "question": "Recyclage des bouteilles en verre et des bocaux" + }, "10": { "question": "Recyclage de tout type de verre" }, @@ -5108,35 +5132,11 @@ "19": { "question": "Recyclage des autres déchets" }, - "2": { - "question": "Recyclage d'emballage de boissons" - }, "20": { "question": "Recyclage des cartouches d'imprimante" }, "21": { "question": "Recyclage des vélos" - }, - "3": { - "question": "Recyclage de boites de conserve et de canettes" - }, - "4": { - "question": "Recyclage de vêtements" - }, - "5": { - "question": "Recyclage des huiles de friture" - }, - "6": { - "question": "Recyclage des huiles de moteur" - }, - "7": { - "question": "Recyclage des lampes fluorescentes" - }, - "8": { - "question": "Recyclage des déchets verts" - }, - "9": { - "question": "Recyclage des bouteilles en verre et des bocaux" } } }, @@ -5199,6 +5199,30 @@ "1": { "then": "Les briques alimentaires en carton peuvent être recyclées ici" }, + "2": { + "then": "Les boites de conserve et canettes peuvent être recyclées ici" + }, + "3": { + "then": "Les vêtements peuvent être recyclés ici" + }, + "4": { + "then": "Les huiles de friture peuvent être recyclées ici" + }, + "5": { + "then": "Les huiles de moteur peuvent être recyclées ici" + }, + "6": { + "then": "Les lampes fluorescentes peuvent être recyclées ici" + }, + "7": { + "then": "Les déchets verts peuvent être recyclés ici" + }, + "8": { + "then": "Les déchets organiques peuvent être recyclés ici" + }, + "9": { + "then": "Les bouteilles en verre et bocaux peuvent être recyclés ici" + }, "10": { "then": "Tout type de verre peut être recyclé ici" }, @@ -5229,9 +5253,6 @@ "19": { "then": "Les chaussures peuvent être recyclées ici" }, - "2": { - "then": "Les boites de conserve et canettes peuvent être recyclées ici" - }, "20": { "then": "Les petits appareils électriques peuvent être recyclés ici" }, @@ -5246,27 +5267,6 @@ }, "24": { "then": "Les vélos peuvent être recyclés ici" - }, - "3": { - "then": "Les vêtements peuvent être recyclés ici" - }, - "4": { - "then": "Les huiles de friture peuvent être recyclées ici" - }, - "5": { - "then": "Les huiles de moteur peuvent être recyclées ici" - }, - "6": { - "then": "Les lampes fluorescentes peuvent être recyclées ici" - }, - "7": { - "then": "Les déchets verts peuvent être recyclés ici" - }, - "8": { - "then": "Les déchets organiques peuvent être recyclés ici" - }, - "9": { - "then": "Les bouteilles en verre et bocaux peuvent être recyclés ici" } }, "question": "Que peut-on recycler ici ?" @@ -6534,27 +6534,6 @@ "1": { "question": "Vente de boissons" }, - "10": { - "question": "Vente de lait" - }, - "11": { - "question": "Vente de pain" - }, - "12": { - "question": "Vente d'œufs" - }, - "13": { - "question": "Vente de fromage" - }, - "14": { - "question": "Vente de miel" - }, - "15": { - "question": "Vente de pommes de terre" - }, - "19": { - "question": "Vente de fleurs" - }, "2": { "question": "Ventre de confiseries" }, @@ -6578,6 +6557,27 @@ }, "9": { "question": "Vente de chambres à air pour vélo" + }, + "10": { + "question": "Vente de lait" + }, + "11": { + "question": "Vente de pain" + }, + "12": { + "question": "Vente d'œufs" + }, + "13": { + "question": "Vente de fromage" + }, + "14": { + "question": "Vente de miel" + }, + "15": { + "question": "Vente de pommes de terre" + }, + "19": { + "question": "Vente de fleurs" } } } @@ -6618,24 +6618,6 @@ "1": { "then": "Vent des confiseries" }, - "10": { - "then": "Vent du pain" - }, - "11": { - "then": "Vent des œufs" - }, - "12": { - "then": "Vent du fromage" - }, - "13": { - "then": "Vent du miel" - }, - "14": { - "then": "Vent des pommes de terre" - }, - "18": { - "then": "Vent des fleurs" - }, "2": { "then": "Vent de la nourriture" }, @@ -6659,6 +6641,24 @@ }, "9": { "then": "Vent du lait" + }, + "10": { + "then": "Vent du pain" + }, + "11": { + "then": "Vent des œufs" + }, + "12": { + "then": "Vent du fromage" + }, + "13": { + "then": "Vent du miel" + }, + "14": { + "then": "Vent des pommes de terre" + }, + "18": { + "then": "Vent des fleurs" } }, "question": "Que vent ce distributeur ?", @@ -6898,4 +6898,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 35f8706f0..8046b7c3f 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -7927,6 +7927,9 @@ }, "4": { "then": "De ondergrond is beton" + }, + "5": { + "then": "De ondergrond bestaat uit grind" } }, "question": "Wat is de ondergrond van dit sportveld?", diff --git a/langs/themes/cs.json b/langs/themes/cs.json index 7980dc4f6..6e97115d6 100644 --- a/langs/themes/cs.json +++ b/langs/themes/cs.json @@ -1019,33 +1019,6 @@ "onwheels": { "description": "Na této mapě jsou zobrazena veřejně přístupná místa pro vozíčkáře, a lze je také snadno přidat", "layers": { - "19": { - "override": { - "=title": { - "render": "Statistiky" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Dovoz" - } - } - }, - "1": { - "render": { - "special": { - "message": "Přidat všechny navrhované značky" - } - } - } - } - } - }, "4": { "override": { "filter": { @@ -1088,6 +1061,33 @@ "override": { "name": "Parkovací místa pro osoby se zdravotním postižením" } + }, + "19": { + "override": { + "=title": { + "render": "Statistiky" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Dovoz" + } + } + }, + "1": { + "render": { + "special": { + "message": "Přidat všechny navrhované značky" + } + } + } + } + } } }, "title": "Na kolečkách" @@ -1248,6 +1248,10 @@ "stations": { "description": "Zobrazení, úprava a přidání podrobností o vlakovém nádraží", "layers": { + "3": { + "description": "Vrstva zobrazující vlaková nádraží", + "name": "Vlaková nádraží" + }, "16": { "description": "Zobrazuje vlaky odjíždějící z této stanice", "name": "Odjezdové tabule", @@ -1279,10 +1283,6 @@ "title": { "render": "Odjezdová tabule" } - }, - "3": { - "description": "Vrstva zobrazující vlaková nádraží", - "name": "Vlaková nádraží" } }, "title": "Vlaková nádraží" @@ -1419,4 +1419,4 @@ "shortDescription": "Mapa odpadkových košů", "title": "Odpadkový koš" } -} +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 11cc778ec..78499f7c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapcomplete", - "version": "0.34.9", + "version": "0.35.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapcomplete", - "version": "0.34.9", + "version": "0.35.1", "license": "GPL-3.0-or-later", "dependencies": { "@rgossiaux/svelte-headlessui": "^1.0.2", @@ -4993,9 +4993,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001564", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz", - "integrity": "sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==", + "version": "1.0.30001565", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz", + "integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==", "dev": true, "funding": [ { @@ -17079,9 +17079,9 @@ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "caniuse-lite": { - "version": "1.0.30001564", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz", - "integrity": "sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==", + "version": "1.0.30001565", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz", + "integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==", "dev": true }, "canvg": { diff --git a/scripts/generateLayouts.ts b/scripts/generateLayouts.ts index 61d178e31..e9a4102fc 100644 --- a/scripts/generateLayouts.ts +++ b/scripts/generateLayouts.ts @@ -280,8 +280,8 @@ async function generateCsp( "https://pietervdvn.goatcounter.com", ].concat(...(await eliUrls())) - SpecialVisualizations.specialVisualizations.forEach(sv => { - if(typeof sv.needsUrls === "function"){ + SpecialVisualizations.specialVisualizations.forEach((sv) => { + if (typeof sv.needsUrls === "function") { return } apiUrls.push(...sv.needsUrls) diff --git a/src/Logic/Actors/PreferredRasterLayerSelector.ts b/src/Logic/Actors/PreferredRasterLayerSelector.ts index ed7c96fc4..296aeeea6 100644 --- a/src/Logic/Actors/PreferredRasterLayerSelector.ts +++ b/src/Logic/Actors/PreferredRasterLayerSelector.ts @@ -64,7 +64,12 @@ export class PreferredRasterLayerSelector { const foundLayer = isCategory ? available.find((l) => l.properties.category === targetLayerId) : available.find((l) => l.properties.id === targetLayerId) - console.debug("Updating background layer to", foundLayer?.id,{targetLayerId, queryParam:this._queryParameter?.data, preferred: this._preferredBackgroundLayer?.data, isCategory}) + console.debug("Updating background layer to", foundLayer?.id, { + targetLayerId, + queryParam: this._queryParameter?.data, + preferred: this._preferredBackgroundLayer?.data, + isCategory, + }) if (foundLayer) { this._rasterLayerSetting.setData(foundLayer) return true diff --git a/src/UI/AllThemesGui.svelte b/src/UI/AllThemesGui.svelte index beaa6442e..3fd84dbc1 100644 --- a/src/UI/AllThemesGui.svelte +++ b/src/UI/AllThemesGui.svelte @@ -1,74 +1,78 @@ -
+
- +
-
- -
- +
+
+
-

+

- - +
-
- +
- - - + + +
- - -
+ + +
v{Constants.vNumber}
- diff --git a/src/UI/Base/DragInvitation.svelte b/src/UI/Base/DragInvitation.svelte index b2eb6c20d..75164c55d 100644 --- a/src/UI/Base/DragInvitation.svelte +++ b/src/UI/Base/DragInvitation.svelte @@ -5,7 +5,7 @@ */ import { Store } from "../../Logic/UIEventSource" import { onDestroy } from "svelte" - import Hand from "../../assets/svg/Hand.svelte"; + import Hand from "../../assets/svg/Hand.svelte" let mainElem: HTMLElement export let hideSignal: Store diff --git a/src/UI/Base/Dropdown.svelte b/src/UI/Base/Dropdown.svelte index 71a94a08f..dcdacebcc 100644 --- a/src/UI/Base/Dropdown.svelte +++ b/src/UI/Base/Dropdown.svelte @@ -1,31 +1,35 @@ - { + value.setData(e.srcElement.value) + }} +> diff --git a/src/UI/Base/LoginToggle.svelte b/src/UI/Base/LoginToggle.svelte index a3ac0787d..8684e1de4 100644 --- a/src/UI/Base/LoginToggle.svelte +++ b/src/UI/Base/LoginToggle.svelte @@ -6,7 +6,7 @@ import Tr from "./Tr.svelte" import { OsmConnection } from "../../Logic/Osm/OsmConnection" import { ImmutableStore, UIEventSource } from "../../Logic/UIEventSource" - import Invalid from "../../assets/svg/Invalid.svelte"; + import Invalid from "../../assets/svg/Invalid.svelte" export let state: { osmConnection: OsmConnection diff --git a/src/UI/Base/LogoutButton.svelte b/src/UI/Base/LogoutButton.svelte index 020c411e1..f42bcf751 100644 --- a/src/UI/Base/LogoutButton.svelte +++ b/src/UI/Base/LogoutButton.svelte @@ -1,15 +1,17 @@ - diff --git a/src/UI/Base/OpenJosm.svelte b/src/UI/Base/OpenJosm.svelte index e6920368f..5b7ba365b 100644 --- a/src/UI/Base/OpenJosm.svelte +++ b/src/UI/Base/OpenJosm.svelte @@ -1,37 +1,37 @@ + {#if $showButton} {#if $josmState === undefined} diff --git a/src/UI/Base/ShareButton.svelte b/src/UI/Base/ShareButton.svelte index 48be0f1c9..c0e846194 100644 --- a/src/UI/Base/ShareButton.svelte +++ b/src/UI/Base/ShareButton.svelte @@ -1,7 +1,7 @@ - +
diff --git a/src/UI/BigComponents/NewPointLocationInput.svelte b/src/UI/BigComponents/NewPointLocationInput.svelte index f69ca6b93..5625910d9 100644 --- a/src/UI/BigComponents/NewPointLocationInput.svelte +++ b/src/UI/BigComponents/NewPointLocationInput.svelte @@ -16,7 +16,7 @@ import LayerConfig from "../../Models/ThemeConfig/LayerConfig" import { Utils } from "../../Utils" import { createEventDispatcher } from "svelte" - import Move_arrows from "../../assets/svg/Move_arrows.svelte"; + import Move_arrows from "../../assets/svg/Move_arrows.svelte" /** * An advanced location input, which has support to: @@ -126,6 +126,6 @@ maxDistanceInMeters="50" > - + diff --git a/src/UI/BigComponents/ThemeIntroPanel.svelte b/src/UI/BigComponents/ThemeIntroPanel.svelte index 6e125a6ea..c7c649379 100644 --- a/src/UI/BigComponents/ThemeIntroPanel.svelte +++ b/src/UI/BigComponents/ThemeIntroPanel.svelte @@ -1,21 +1,21 @@ {#if availableLanguages?.length > 1}
- - + {#if preferredFiltered} {#each preferredFiltered as language} @@ -49,18 +47,17 @@ {/if} {/each} - + {/each} - {/if} diff --git a/src/UI/Map/DynamicMarker.svelte b/src/UI/Map/DynamicMarker.svelte index 5bce4c965..e8e416200 100644 --- a/src/UI/Map/DynamicMarker.svelte +++ b/src/UI/Map/DynamicMarker.svelte @@ -1,17 +1,18 @@ {#if marker && marker} diff --git a/src/UI/Map/Icon.svelte b/src/UI/Map/Icon.svelte index cccbef469..c68ec8ca8 100644 --- a/src/UI/Map/Icon.svelte +++ b/src/UI/Map/Icon.svelte @@ -19,9 +19,9 @@ import Teardrop from "../../assets/svg/Teardrop.svelte" import Teardrop_with_hole_green from "../../assets/svg/Teardrop_with_hole_green.svelte" import Triangle from "../../assets/svg/Triangle.svelte" - import Brick_wall_square from "../../assets/svg/Brick_wall_square.svelte"; - import Brick_wall_round from "../../assets/svg/Brick_wall_round.svelte"; - import Gps_arrow from "../../assets/svg/Gps_arrow.svelte"; + import Brick_wall_square from "../../assets/svg/Brick_wall_square.svelte" + import Brick_wall_round from "../../assets/svg/Brick_wall_round.svelte" + import Gps_arrow from "../../assets/svg/Gps_arrow.svelte" /** * Renders a single icon. diff --git a/src/UI/PlantNet/PlantNet.svelte b/src/UI/PlantNet/PlantNet.svelte index 2d01a3362..34bcdc871 100644 --- a/src/UI/PlantNet/PlantNet.svelte +++ b/src/UI/PlantNet/PlantNet.svelte @@ -12,7 +12,7 @@ import { createEventDispatcher } from "svelte" import ToSvelte from "../Base/ToSvelte.svelte" import Svg from "../../Svg" - import Plantnet_logo from "../../assets/svg/Plantnet_logo.svelte"; + import Plantnet_logo from "../../assets/svg/Plantnet_logo.svelte" /** * The main entry point for the plantnet wizard @@ -143,7 +143,7 @@ {/if}
- +
diff --git a/src/UI/Popup/AddNewPoint/AddNewPoint.svelte b/src/UI/Popup/AddNewPoint/AddNewPoint.svelte index 782bfdbd4..ef2616257 100644 --- a/src/UI/Popup/AddNewPoint/AddNewPoint.svelte +++ b/src/UI/Popup/AddNewPoint/AddNewPoint.svelte @@ -3,110 +3,110 @@ * This component ties together all the steps that are needed to create a new point. * There are many subcomponents which help with that */ - import type { SpecialVisualizationState } from "../../SpecialVisualization"; - import PresetList from "./PresetList.svelte"; - import type PresetConfig from "../../../Models/ThemeConfig/PresetConfig"; - import LayerConfig from "../../../Models/ThemeConfig/LayerConfig"; - import Tr from "../../Base/Tr.svelte"; - import SubtleButton from "../../Base/SubtleButton.svelte"; - import Translations from "../../i18n/Translations.js"; - import TagHint from "../TagHint.svelte"; - import { And } from "../../../Logic/Tags/And.js"; - import LoginToggle from "../../Base/LoginToggle.svelte"; - import Constants from "../../../Models/Constants.js"; - import FilteredLayer from "../../../Models/FilteredLayer"; - import { Store, UIEventSource } from "../../../Logic/UIEventSource"; - import { EyeIcon, EyeOffIcon } from "@rgossiaux/svelte-heroicons/solid"; - import LoginButton from "../../Base/LoginButton.svelte"; - import NewPointLocationInput from "../../BigComponents/NewPointLocationInput.svelte"; - import CreateNewNodeAction from "../../../Logic/Osm/Actions/CreateNewNodeAction"; - import { OsmWay } from "../../../Logic/Osm/OsmObject"; - import { Tag } from "../../../Logic/Tags/Tag"; - import type { WayId } from "../../../Models/OsmFeature"; - import Loading from "../../Base/Loading.svelte"; - import type { GlobalFilter } from "../../../Models/GlobalFilter"; - import { onDestroy } from "svelte"; - import NextButton from "../../Base/NextButton.svelte"; - import BackButton from "../../Base/BackButton.svelte"; - import ToSvelte from "../../Base/ToSvelte.svelte"; - import Svg from "../../../Svg"; - import OpenBackgroundSelectorButton from "../../BigComponents/OpenBackgroundSelectorButton.svelte"; - import { twJoin } from "tailwind-merge"; - import Confirm from "../../../assets/svg/Confirm.svelte"; - import Close from "../../../assets/svg/Close.svelte"; + import type { SpecialVisualizationState } from "../../SpecialVisualization" + import PresetList from "./PresetList.svelte" + import type PresetConfig from "../../../Models/ThemeConfig/PresetConfig" + import LayerConfig from "../../../Models/ThemeConfig/LayerConfig" + import Tr from "../../Base/Tr.svelte" + import SubtleButton from "../../Base/SubtleButton.svelte" + import Translations from "../../i18n/Translations.js" + import TagHint from "../TagHint.svelte" + import { And } from "../../../Logic/Tags/And.js" + import LoginToggle from "../../Base/LoginToggle.svelte" + import Constants from "../../../Models/Constants.js" + import FilteredLayer from "../../../Models/FilteredLayer" + import { Store, UIEventSource } from "../../../Logic/UIEventSource" + import { EyeIcon, EyeOffIcon } from "@rgossiaux/svelte-heroicons/solid" + import LoginButton from "../../Base/LoginButton.svelte" + import NewPointLocationInput from "../../BigComponents/NewPointLocationInput.svelte" + import CreateNewNodeAction from "../../../Logic/Osm/Actions/CreateNewNodeAction" + import { OsmWay } from "../../../Logic/Osm/OsmObject" + import { Tag } from "../../../Logic/Tags/Tag" + import type { WayId } from "../../../Models/OsmFeature" + import Loading from "../../Base/Loading.svelte" + import type { GlobalFilter } from "../../../Models/GlobalFilter" + import { onDestroy } from "svelte" + import NextButton from "../../Base/NextButton.svelte" + import BackButton from "../../Base/BackButton.svelte" + import ToSvelte from "../../Base/ToSvelte.svelte" + import Svg from "../../../Svg" + import OpenBackgroundSelectorButton from "../../BigComponents/OpenBackgroundSelectorButton.svelte" + import { twJoin } from "tailwind-merge" + import Confirm from "../../../assets/svg/Confirm.svelte" + import Close from "../../../assets/svg/Close.svelte" - export let coordinate: { lon: number; lat: number }; - export let state: SpecialVisualizationState; + export let coordinate: { lon: number; lat: number } + export let state: SpecialVisualizationState let selectedPreset: { preset: PresetConfig layer: LayerConfig icon: string tags: Record - } = undefined; - let checkedOfGlobalFilters: number = 0; - let confirmedCategory = false; + } = undefined + let checkedOfGlobalFilters: number = 0 + let confirmedCategory = false $: if (selectedPreset === undefined) { - confirmedCategory = false; - creating = false; - checkedOfGlobalFilters = 0; + confirmedCategory = false + creating = false + checkedOfGlobalFilters = 0 } - let flayer: FilteredLayer = undefined; - let layerIsDisplayed: UIEventSource | undefined = undefined; - let layerHasFilters: Store | undefined = undefined; - let globalFilter: UIEventSource = state.layerState.globalFilters; - let _globalFilter: GlobalFilter[] = []; + let flayer: FilteredLayer = undefined + let layerIsDisplayed: UIEventSource | undefined = undefined + let layerHasFilters: Store | undefined = undefined + let globalFilter: UIEventSource = state.layerState.globalFilters + let _globalFilter: GlobalFilter[] = [] onDestroy( globalFilter.addCallbackAndRun((globalFilter) => { - console.log("Global filters are", globalFilter); - _globalFilter = globalFilter ?? []; + console.log("Global filters are", globalFilter) + _globalFilter = globalFilter ?? [] }) - ); + ) $: { - flayer = state.layerState.filteredLayers.get(selectedPreset?.layer?.id); - layerIsDisplayed = flayer?.isDisplayed; - layerHasFilters = flayer?.hasFilter; + flayer = state.layerState.filteredLayers.get(selectedPreset?.layer?.id) + layerIsDisplayed = flayer?.isDisplayed + layerHasFilters = flayer?.hasFilter } - const t = Translations.t.general.add; + const t = Translations.t.general.add - const zoom = state.mapProperties.zoom; + const zoom = state.mapProperties.zoom - const isLoading = state.dataIsLoading; - let preciseCoordinate: UIEventSource<{ lon: number; lat: number }> = new UIEventSource(undefined); - let snappedToObject: UIEventSource = new UIEventSource(undefined); + const isLoading = state.dataIsLoading + let preciseCoordinate: UIEventSource<{ lon: number; lat: number }> = new UIEventSource(undefined) + let snappedToObject: UIEventSource = new UIEventSource(undefined) // Small helper variable: if the map is tapped, we should let the 'Next'-button grab some attention as users have to click _that_ to continue, not the map - let preciseInputIsTapped = false; + let preciseInputIsTapped = false - let creating = false; + let creating = false /** * Call when the user should restart the flow by clicking on the map, e.g. because they disabled filters. * Will delete the lastclick-location */ function abort() { - state.selectedElement.setData(undefined); + state.selectedElement.setData(undefined) // When aborted, we force the contributors to place the pin _again_ // This is because there might be a nearby object that was disabled; this forces them to re-evaluate the map - state.lastClickObject.features.setData([]); - preciseInputIsTapped = false; + state.lastClickObject.features.setData([]) + preciseInputIsTapped = false } async function confirm() { - creating = true; - const location: { lon: number; lat: number } = preciseCoordinate.data; - const snapTo: WayId | undefined = snappedToObject.data; + creating = true + const location: { lon: number; lat: number } = preciseCoordinate.data + const snapTo: WayId | undefined = snappedToObject.data const tags: Tag[] = selectedPreset.preset.tags.concat( ..._globalFilter.map((f) => f?.onNewPoint?.tags ?? []) - ); - console.log("Creating new point at", location, "snapped to", snapTo, "with tags", tags); + ) + console.log("Creating new point at", location, "snapped to", snapTo, "with tags", tags) - let snapToWay: undefined | OsmWay = undefined; + let snapToWay: undefined | OsmWay = undefined if (snapTo !== undefined && snapTo !== null) { - const downloaded = await state.osmObjectDownloader.DownloadObjectAsync(snapTo, 0); + const downloaded = await state.osmObjectDownloader.DownloadObjectAsync(snapTo, 0) if (downloaded !== "deleted") { - snapToWay = downloaded; + snapToWay = downloaded } } @@ -114,44 +114,44 @@ theme: state.layout?.id ?? "unkown", changeType: "create", snapOnto: snapToWay, - reusePointWithinMeters: 1 - }); - await state.changes.applyAction(newElementAction); - state.newFeatures.features.ping(); + reusePointWithinMeters: 1, + }) + await state.changes.applyAction(newElementAction) + state.newFeatures.features.ping() // The 'changes' should have created a new point, which added this into the 'featureProperties' - const newId = newElementAction.newElementId; - console.log("Applied pending changes, fetching store for", newId); - const tagsStore = state.featureProperties.getStore(newId); + const newId = newElementAction.newElementId + console.log("Applied pending changes, fetching store for", newId) + const tagsStore = state.featureProperties.getStore(newId) if (!tagsStore) { - console.error("Bug: no tagsStore found for", newId); + console.error("Bug: no tagsStore found for", newId) } { // Set some metainfo - const properties = tagsStore.data; + const properties = tagsStore.data if (snapTo) { // metatags (starting with underscore) are not uploaded, so we can safely mark this - delete properties["_referencing_ways"]; - properties["_referencing_ways"] = `["${snapTo}"]`; + delete properties["_referencing_ways"] + properties["_referencing_ways"] = `["${snapTo}"]` } - properties["_backend"] = state.osmConnection.Backend(); - properties["_last_edit:timestamp"] = new Date().toISOString(); - const userdetails = state.osmConnection.userDetails.data; - properties["_last_edit:contributor"] = userdetails.name; - properties["_last_edit:uid"] = "" + userdetails.uid; - tagsStore.ping(); + properties["_backend"] = state.osmConnection.Backend() + properties["_last_edit:timestamp"] = new Date().toISOString() + const userdetails = state.osmConnection.userDetails.data + properties["_last_edit:contributor"] = userdetails.name + properties["_last_edit:uid"] = "" + userdetails.uid + tagsStore.ping() } - const feature = state.indexedFeatures.featuresById.data.get(newId); - console.log("Selecting feature", feature, "and opening their popup"); - abort(); - state.selectedLayer.setData(selectedPreset.layer); - state.selectedElement.setData(feature); - tagsStore.ping(); + const feature = state.indexedFeatures.featuresById.data.get(newId) + console.log("Selecting feature", feature, "and opening their popup") + abort() + state.selectedLayer.setData(selectedPreset.layer) + state.selectedElement.setData(feature) + tagsStore.ping() } function confirmSync() { confirm() .then((_) => console.debug("New point successfully handled")) - .catch((e) => console.error("Handling the new point went wrong due to", e)); + .catch((e) => console.error("Handling the new point went wrong due to", e)) } diff --git a/src/UI/Popup/AllTagsPanel.svelte b/src/UI/Popup/AllTagsPanel.svelte index 9913416fb..3abd7e402 100644 --- a/src/UI/Popup/AllTagsPanel.svelte +++ b/src/UI/Popup/AllTagsPanel.svelte @@ -9,7 +9,7 @@ import Lazy from "../Base/Lazy" import BaseUIElement from "../BaseUIElement" import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig" - import { VariableUiElement } from "../Base/VariableUIElement"; + import { VariableUiElement } from "../Base/VariableUIElement" //Svelte props export let tags: UIEventSource @@ -55,7 +55,11 @@ return parts }) - const tagsTable = new VariableUiElement(allTags.mapD(_allTags => new Table(["Key", "Value"], _allTags).SetClass("zebra-table break-all"))) + const tagsTable = new VariableUiElement( + allTags.mapD((_allTags) => + new Table(["Key", "Value"], _allTags).SetClass("zebra-table break-all") + ) + )
diff --git a/src/UI/Popup/CreateNewNote.svelte b/src/UI/Popup/CreateNewNote.svelte index 9cc70d560..db9c3642d 100644 --- a/src/UI/Popup/CreateNewNote.svelte +++ b/src/UI/Popup/CreateNewNote.svelte @@ -15,8 +15,8 @@ import NewPointLocationInput from "../BigComponents/NewPointLocationInput.svelte" import ToSvelte from "../Base/ToSvelte.svelte" import Svg from "../../Svg" - import Layers from "../../assets/svg/Layers.svelte"; - import AddSmall from "../../assets/svg/AddSmall.svelte"; + import Layers from "../../assets/svg/Layers.svelte" + import AddSmall from "../../assets/svg/AddSmall.svelte" export let coordinate: UIEventSource<{ lon: number; lat: number }> export let state: SpecialVisualizationState @@ -99,7 +99,7 @@
notelayer.disableAllFilters()}> - +
diff --git a/src/UI/Popup/NearbyImagesCollapsed.svelte b/src/UI/Popup/NearbyImagesCollapsed.svelte index c78917a77..a8343e78c 100644 --- a/src/UI/Popup/NearbyImagesCollapsed.svelte +++ b/src/UI/Popup/NearbyImagesCollapsed.svelte @@ -11,7 +11,7 @@ import ToSvelte from "../Base/ToSvelte.svelte" import { XCircleIcon } from "@babeard/svelte-heroicons/solid" import exp from "constants" - import Camera_plus from "../../assets/svg/Camera_plus.svelte"; + import Camera_plus from "../../assets/svg/Camera_plus.svelte" export let tags: Store export let state: SpecialVisualizationState @@ -43,7 +43,7 @@ expanded = true }} > - + {/if} diff --git a/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte b/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte index 0131a20fa..376a340b7 100644 --- a/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte +++ b/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte @@ -23,8 +23,8 @@ import UserRelatedState from "../../../Logic/State/UserRelatedState" import { twJoin } from "tailwind-merge" import { TagUtils } from "../../../Logic/Tags/TagUtils" - import Search from "../../../assets/svg/Search.svelte"; - import Login from "../../../assets/svg/Login.svelte"; + import Search from "../../../assets/svg/Search.svelte" + import Login from "../../../assets/svg/Login.svelte" export let config: TagRenderingConfig export let tags: UIEventSource> @@ -213,7 +213,7 @@ {#if config.mappings?.length >= 8}
- +
{/if} diff --git a/src/UI/Reviews/AllReviews.svelte b/src/UI/Reviews/AllReviews.svelte index fc4b635d0..8617996f1 100644 --- a/src/UI/Reviews/AllReviews.svelte +++ b/src/UI/Reviews/AllReviews.svelte @@ -12,7 +12,7 @@ import LayerConfig from "../../Models/ThemeConfig/LayerConfig" import ToSvelte from "../Base/ToSvelte.svelte" import Svg from "../../Svg" - import Mangrove_logo from "../../assets/svg/Mangrove_logo.svelte"; + import Mangrove_logo from "../../assets/svg/Mangrove_logo.svelte" /** * An element showing all reviews @@ -41,7 +41,7 @@ {/if}
- +
diff --git a/src/UI/Reviews/StarElement.svelte b/src/UI/Reviews/StarElement.svelte index 60eabbdc1..eb5de6fd1 100644 --- a/src/UI/Reviews/StarElement.svelte +++ b/src/UI/Reviews/StarElement.svelte @@ -2,9 +2,9 @@ import ToSvelte from "../Base/ToSvelte.svelte" import Svg from "../../Svg" import { createEventDispatcher } from "svelte" - import Star from "../../assets/svg/Star.svelte"; - import Star_half from "../../assets/svg/Star_half.svelte"; - import Star_outline from "../../assets/svg/Star_outline.svelte"; + import Star from "../../assets/svg/Star.svelte" + import Star_half from "../../assets/svg/Star_half.svelte" + import Star_outline from "../../assets/svg/Star_outline.svelte" export let score: number export let cutoff: number @@ -26,10 +26,10 @@ on:mousemove={(e) => dispatch("hover", { score: getScore(e) })} > {#if score >= cutoff} - + {:else if score + 10 >= cutoff} - + {:else} - + {/if}
diff --git a/src/UI/StudioGUI.svelte b/src/UI/StudioGUI.svelte index fb1b64753..b2fedebb9 100644 --- a/src/UI/StudioGUI.svelte +++ b/src/UI/StudioGUI.svelte @@ -1,36 +1,36 @@
@@ -41,16 +41,16 @@
@@ -59,11 +59,11 @@
@@ -82,7 +82,7 @@
@@ -106,26 +106,26 @@
diff --git a/src/UI/Test.svelte b/src/UI/Test.svelte index 1b51c34bf..ac4f5dde9 100644 --- a/src/UI/Test.svelte +++ b/src/UI/Test.svelte @@ -1,6 +1,5 @@ -
- No tests -
+ +
No tests
diff --git a/src/UI/ThemeViewGUI.svelte b/src/UI/ThemeViewGUI.svelte index 0197ba58e..1a60a5e42 100644 --- a/src/UI/ThemeViewGUI.svelte +++ b/src/UI/ThemeViewGUI.svelte @@ -1,71 +1,71 @@ -