Merge branch 'master' into develop

This commit is contained in:
Pieter Vander Vennet 2023-07-15 19:29:10 +02:00
commit 7b6b375ff9
43 changed files with 1271 additions and 232 deletions

View file

@ -8,6 +8,7 @@ on:
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: ${{ github.actor != 'weblate' }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2

View file

@ -0,0 +1,37 @@
name: Deployment on pietervdvn
on:
pull_request
jobs:
build:
runs-on: ubuntu-latest
if: ${{ github.actor == 'weblate' }}
steps:
- uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: "16"
cache: "npm"
cache-dependency-path: package-lock.json
- name: install deps
run: npm ci
shell: bash
- name: create generated dir
run: mkdir ./assets/generated
shell: bash
- name: sync translations
run: npm run generate:translations
shell: bash
- name: generate layeroverview
run: npm run reset:layeroverview
shell: bash
- name: run tests
run: npm run test
shell: bash

View file

@ -33,6 +33,7 @@
+ [internet-fee](#internet-fee) + [internet-fee](#internet-fee)
+ [internet-ssid](#internet-ssid) + [internet-ssid](#internet-ssid)
+ [reviews](#reviews) + [reviews](#reviews)
+ [questions](#questions)
+ [climbing.website](#climbingwebsite) + [climbing.website](#climbingwebsite)
+ [climbing.fee](#climbingfee) + [climbing.fee](#climbingfee)
+ [climbing.bouldering](#climbingbouldering) + [climbing.bouldering](#climbingbouldering)
@ -45,7 +46,6 @@
+ [opening_hours_by_appointment](#opening_hours_by_appointment) + [opening_hours_by_appointment](#opening_hours_by_appointment)
+ [multilevels](#multilevels) + [multilevels](#multilevels)
+ [induction-loop](#induction-loop) + [induction-loop](#induction-loop)
+ [questions](#questions)
+ [all_tags](#all_tags) + [all_tags](#all_tags)
+ [export_as_gpx](#export_as_gpx) + [export_as_gpx](#export_as_gpx)
+ [export_as_geojson](#export_as_geojson) + [export_as_geojson](#export_as_geojson)
@ -145,6 +145,7 @@
- reception_desk - reception_desk
- recycling - recycling
- shops - shops
- shower
- slow_roads - slow_roads
- sport_pitch - sport_pitch
- sports_centre - sports_centre
@ -225,6 +226,7 @@
- pharmacy - pharmacy
- postoffices - postoffices
- shops - shops
- shower
- sports_centre - sports_centre
- toilet_at_amenity - toilet_at_amenity
- veterinary - veterinary
@ -431,6 +433,7 @@
- railway_platforms - railway_platforms
- reception_desk - reception_desk
- shops - shops
- shower
- ticket_machine - ticket_machine
- ticket_validator - ticket_validator
- toilet - toilet
@ -578,6 +581,23 @@
### questions
- charging_station
- etymology
- hackerspace
- play_forest
- playground
- shops
- sport_pitch
### climbing.website ### climbing.website
@ -715,22 +735,6 @@
### questions
- etymology
- hackerspace
- play_forest
- playground
- shops
- sport_pitch
### all_tags ### all_tags
@ -793,6 +797,7 @@
- parking_ticket_machine - parking_ticket_machine
- shower
- ticket_machine - ticket_machine
- toilet - toilet

View file

@ -2013,6 +2013,8 @@ The question is *Does one have to pay a parking fee while charging?*
Show the images block at this location
This tagrendering has no question and is thus read-only This tagrendering has no question and is thus read-only
@ -2029,16 +2031,6 @@ This tagrendering has no question and is thus read-only
### leftover-questions
This tagrendering has no question and is thus read-only
### minimap ### minimap

View file

@ -2011,6 +2011,8 @@ The question is *Does one have to pay a parking fee while charging?*
Show the images block at this location
This tagrendering has no question and is thus read-only This tagrendering has no question and is thus read-only
@ -2027,16 +2029,6 @@ This tagrendering has no question and is thus read-only
### leftover-questions
This tagrendering has no question and is thus read-only
### minimap ### minimap

View file

@ -108,7 +108,7 @@ The question is *Which methods of payment are accepted here?*
- *Bank notes are accepted here* corresponds with `payment:notes=yes` - *Bank notes are accepted here* corresponds with `payment:notes=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dno' target='_blank'>no</a> - Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dno' target='_blank'>no</a>
- *Debit cards are accepted here* corresponds with `payment:debit_cards=yes` - *Debit cards are accepted here* corresponds with `payment:debit_cards=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment_debit_cards' target='_blank'>payment_debit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment_debit_cards%3Dno' target='_blank'>no</a> - Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:debit_cards' target='_blank'>payment:debit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:debit_cards%3Dno' target='_blank'>no</a>
- *Credit cards are accepted here* corresponds with `payment:credit_cards=yes` - *Credit cards are accepted here* corresponds with `payment:credit_cards=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:credit_cards' target='_blank'>payment:credit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:credit_cards%3Dno' target='_blank'>no</a> - Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:credit_cards' target='_blank'>payment:credit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:credit_cards%3Dno' target='_blank'>no</a>

View file

@ -14,7 +14,7 @@ A streetside cabinet with books, accessible to anyone
- This layer is shown at zoomlevel **10** and higher - This layer is shown at zoomlevel **7** and higher
@ -338,14 +338,14 @@ This tagrendering has no question and is thus read-only
id | question | osmTags id | question | osmTags
---- | ---------- | --------- ---- | ---------- | ---------
kid-books.0 | Kinderboeken aanwezig? | books~^(.*children.*)$ kid-books.0 | Has children books | books~^(.*children.*)$
id | question | osmTags id | question | osmTags
---- | ---------- | --------- ---- | ---------- | ---------
adult-books.0 | Boeken voor volwassenen aanwezig? | books~^(.*adults.*)$ adult-books.0 | Has books for adults | books~^(.*adults.*)$
@ -353,8 +353,17 @@ adult-books.0 | Boeken voor volwassenen aanwezig? | books~^(.*adults.*)$
id | question | osmTags id | question | osmTags
---- | ---------- | --------- ---- | ---------- | ---------
inside.0 | Indoor or outdoor (default) | inside.0 | Indoor or outdoor (default) |
inside.1 | Binnen? | indoor=yes inside.1 | Located indoors | indoor=yes
inside.2 | Buiten? | indoor=no\| inside.2 | Located outdoors | indoor=no\|
id | question | osmTags
---- | ---------- | ---------
has_image.0 | With and without images (default) |
has_image.1 | Has at least one image | image~.+\|image:0~.+|image:1~.+|image:2~.+|image:3~.+|mapillary~.+
has_image.2 | Probably does not have an image |
This document is autogenerated from [assets/layers/public_bookcase/public_bookcase.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/public_bookcase/public_bookcase.json) This document is autogenerated from [assets/layers/public_bookcase/public_bookcase.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/public_bookcase/public_bookcase.json)

319
Docs/Layers/shower.md Normal file
View file

@ -0,0 +1,319 @@
[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources)
shower
========
<img src='https://mapcomplete.osm.be/circle:white;./assets/layers/shower/shower.svg' height="100px">
A layer showing (public) showers
- This layer is shown at zoomlevel **12** and higher
#### Themes using this layer
- [personal](https://mapcomplete.osm.be/personal)
- [toilets](https://mapcomplete.osm.be/toilets)
This is a special layer - data is not sourced from OpenStreetMap
Supported attributes
----------------------
Warning:
this quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/level#values) [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:level%3D-1)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](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) [customers](https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers) [key](https://wiki.openstreetmap.org/wiki/Tag:access%3Dkey)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/fee#values) [fee](https://wiki.openstreetmap.org/wiki/Key:fee) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/hot_water#values) [hot_water](https://wiki.openstreetmap.org/wiki/Key:hot_water) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:hot_water%3Dyes) [fee](https://wiki.openstreetmap.org/wiki/Tag:hot_water%3Dfee) [no](https://wiki.openstreetmap.org/wiki/Tag:hot_water%3Dno)
### just_created
This element shows a 'thank you' that the contributor has recently created this element
This tagrendering has no question and is thus read-only
- *You just created this element! Thanks for sharing this info with the world and helping people worldwide.* corresponds with `id~.+`
This tagrendering is only visible in the popup if the following condition is met: `_backend~.+&_last_edit:passed_time<300&|_version_number=1`
### images
This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata`
This tagrendering has no question and is thus read-only
### level
The question is *On what level is this feature located?*
This rendering asks information about the property [level](https://wiki.openstreetmap.org/wiki/Key:level)
This is rendered with `Located on the {level}th floor`
- *Located underground* corresponds with `location=underground`
- This option cannot be chosen as answer
- *Located on the ground floor* corresponds with `level=0`
- *Located on the ground floor* corresponds with ``
- This option cannot be chosen as answer
- *Located on the first floor* corresponds with `level=1`
- *Located on the first basement level* corresponds with `level=-1`
### access
The question is *Who can use this shower?*
- *Anyone can use this shower* corresponds with `access=yes`
- *Only customers can use this shower* corresponds with `access=customers`
- *Accesible, but one has to ask for a key* corresponds with `access=key`
### fee
The question is *Is there a fee for using this shower?*
- *There is a fee for using this shower* corresponds with `fee=yes`
- *This shower is free to use* corresponds with `fee=no`
### charge
The question is *How much does it cost to use this shower?*
This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge)
This is rendered with `It costs {charge} to use this shower`
This tagrendering is only visible in the popup if the following condition is met: `fee=yes`
### opening_hours
The question is *What are the opening hours of {title()}?*
This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This is rendered with `<h3>Opening hours</h3>{opening_hours_table(opening_hours)}`
### hot_water
The question is *Does this shower have hot water available?*
- *Hot water is available here* corresponds with `hot_water=yes`
- *Hot water is available here, but there is a fee* corresponds with `hot_water=fee`
- *There is no hot water available here* corresponds with `hot_water=no`
### payment-options-split
The question is *Which methods of payment are accepted here?*
- *Cash is accepted here* corresponds with `payment:cash=yes`
- This option cannot be chosen as answer
- Unselecting this answer will add
- *Payment cards are accepted here* corresponds with `payment:cards=yes`
- This option cannot be chosen as answer
- Unselecting this answer will add
- *Payment by QR-code is possible here* corresponds with `payment:qr_code=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:qr_code' target='_blank'>payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:qr_code%3Dno' target='_blank'>no</a>
- *Coins are accepted here* corresponds with `payment:coins=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins' target='_blank'>payment:coins</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins%3Dno' target='_blank'>no</a>
- *Bank notes are accepted here* corresponds with `payment:notes=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dno' target='_blank'>no</a>
- *Debit cards are accepted here* corresponds with `payment:debit_cards=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:debit_cards' target='_blank'>payment:debit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:debit_cards%3Dno' target='_blank'>no</a>
- *Credit cards are accepted here* corresponds with `payment:credit_cards=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:credit_cards' target='_blank'>payment:credit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:credit_cards%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: `fee=yes|hot_water=fee`
### leftover-questions
This tagrendering has no question and is thus read-only
### minimap
Shows a small map with the feature. Added by default to every popup
This tagrendering has no question and is thus read-only
### move-button
This tagrendering has no question and is thus read-only
### delete-button
This tagrendering has no question and is thus read-only
### last_edit
Gives some metainfo about the last edit and who did edit it - rendering only
This tagrendering has no question and is thus read-only
This tagrendering is only visible in the popup if the following condition is met: `_last_edit:contributor~.+&_last_edit:changeset~.+`
### all-tags
This tagrendering has no question and is thus read-only
#### Filters
id | question | osmTags
---- | ---------- | ---------
free.0 | Free to use | fee=no\|fee=0|charge=0
id | question | osmTags
---- | ---------- | ---------
hot-water.0 | Hot water available | hot_water=yes\|hot_water=fee
id | question | osmTags
---- | ---------- | ---------
open_now.0 | Open now | _isOpen=yes
This document is autogenerated from [assets/layers/shower/shower.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/shower/shower.json)

View file

@ -49,6 +49,7 @@ attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------ ----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | [<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](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) [<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](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)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](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)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](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) [<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](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)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](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) [<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](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)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](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) [<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](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)
@ -116,6 +117,25 @@ This is rendered with `{sport} is played here`
### basketball-hoops
The question is *How much basketball hoops does this pitch have?*
- *This basketball pitch has a single hoop* corresponds with `hoops=1`
- *This basketball pitch has two hoops* corresponds with `hoops=2`
- *This basketball pitch has four hoops* corresponds with `hoops=4`
- *This basketball pitch has {hoops} hoops* corresponds with `hoops~.+`
- This option cannot be chosen as answer
### sport_pitch-surface ### sport_pitch-surface

View file

@ -141,7 +141,7 @@ The question is *Which methods of payment are accepted here?*
- *Bank notes are accepted here* corresponds with `payment:notes=yes` - *Bank notes are accepted here* corresponds with `payment:notes=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dno' target='_blank'>no</a> - Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dno' target='_blank'>no</a>
- *Debit cards are accepted here* corresponds with `payment:debit_cards=yes` - *Debit cards are accepted here* corresponds with `payment:debit_cards=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment_debit_cards' target='_blank'>payment_debit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment_debit_cards%3Dno' target='_blank'>no</a> - Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:debit_cards' target='_blank'>payment:debit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:debit_cards%3Dno' target='_blank'>no</a>
- *Credit cards are accepted here* corresponds with `payment:credit_cards=yes` - *Credit cards are accepted here* corresponds with `payment:credit_cards=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:credit_cards' target='_blank'>payment:credit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:credit_cards%3Dno' target='_blank'>no</a> - Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:credit_cards' target='_blank'>payment:credit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:credit_cards%3Dno' target='_blank'>no</a>

View file

@ -201,7 +201,7 @@ The question is *Which methods of payment are accepted here?*
- *Bank notes are accepted here* corresponds with `payment:notes=yes` - *Bank notes are accepted here* corresponds with `payment:notes=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dno' target='_blank'>no</a> - Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dno' target='_blank'>no</a>
- *Debit cards are accepted here* corresponds with `payment:debit_cards=yes` - *Debit cards are accepted here* corresponds with `payment:debit_cards=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment_debit_cards' target='_blank'>payment_debit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment_debit_cards%3Dno' target='_blank'>no</a> - Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:debit_cards' target='_blank'>payment:debit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:debit_cards%3Dno' target='_blank'>no</a>
- *Credit cards are accepted here* corresponds with `payment:credit_cards=yes` - *Credit cards are accepted here* corresponds with `payment:credit_cards=yes`
- Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:credit_cards' target='_blank'>payment:credit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:credit_cards%3Dno' target='_blank'>no</a> - Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:credit_cards' target='_blank'>payment:credit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:credit_cards%3Dno' target='_blank'>no</a>

View file

@ -5,7 +5,7 @@
<img src='https://mapcomplete.osm.be/./assets/layers/toilet/toilets.svg' height="100px"> <img src='https://mapcomplete.osm.be/circle:white;./assets/layers/toilet/toilets.svg' height="100px">
A layer showing (public) toilets located at different places. A layer showing (public) toilets located at different places.

View file

@ -2,7 +2,7 @@
"data_format": 1, "data_format": 1,
"project": { "project": {
"name": "MapComplete Ghost bikes", "name": "MapComplete Ghost bikes",
"description": "A <b>ghost bike</b> is a memorial for a cyclist who died in a traffic accident, in the form of a white bicycle placed permanently near the accident location", "description": "A ",
"project_url": "https://mapcomplete.osm.be/ghostbikes", "project_url": "https://mapcomplete.osm.be/ghostbikes",
"doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/",
"icon_url": "https://mapcomplete.osm.be/assets/themes/ghostbikes/logo.svg", "icon_url": "https://mapcomplete.osm.be/assets/themes/ghostbikes/logo.svg",
@ -57,4 +57,4 @@
"description": "Layer 'Ghost bikes' shows and asks freeform values for key 'start_date' (in the MapComplete.osm.be theme 'Ghost bikes')" "description": "Layer 'Ghost bikes' shows and asks freeform values for key 'start_date' (in the MapComplete.osm.be theme 'Ghost bikes')"
} }
] ]
} }

View file

@ -11448,6 +11448,143 @@
"description": "Layer 'Shop' shows organic=no with a fixed text, namely 'This shop does not offer organic products' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme') (This is only shown if shop=supermarket|shop=convenience|shop=farm|shop=greengrocer|shop=health_food|shop=clothes|shop=shoes|shop=butcher|shop=cosmetics|shop=deli|shop=bakery|shop=alcohol|shop=seafood|shop=beverages|shop=florist)", "description": "Layer 'Shop' shows organic=no with a fixed text, namely 'This shop does not offer organic products' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme') (This is only shown if shop=supermarket|shop=convenience|shop=farm|shop=greengrocer|shop=health_food|shop=clothes|shop=shoes|shop=butcher|shop=cosmetics|shop=deli|shop=bakery|shop=alcohol|shop=seafood|shop=beverages|shop=florist)",
"value": "no" "value": "no"
}, },
{
"key": "amenity",
"description": "The MapComplete theme Personal theme has a layer Shower showing features with this tag",
"value": "shower"
},
{
"key": "id",
"description": "Layer 'Shower' 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.osm.be theme 'Personal theme') (This is only shown if _backend~.+&_last_edit:passed_time<300&|_version_number=1)"
},
{
"key": "image",
"description": "The layer 'Shower 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 'Shower 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 'Shower 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 'Shower 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": "level",
"description": "Layer 'Shower' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Personal theme')"
},
{
"key": "location",
"description": "Layer 'Shower' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Personal theme')",
"value": "underground"
},
{
"key": "level",
"description": "Layer 'Shower' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "0"
},
{
"key": "level",
"description": "Layer 'Shower' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Personal theme') Picking this answer will delete the key level.",
"value": ""
},
{
"key": "level",
"description": "Layer 'Shower' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "1"
},
{
"key": "level",
"description": "Layer 'Shower' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "-1"
},
{
"key": "access",
"description": "Layer 'Shower' shows access=yes with a fixed text, namely 'Anyone can use this shower' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "yes"
},
{
"key": "access",
"description": "Layer 'Shower' shows access=customers with a fixed text, namely 'Only customers can use this shower' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "customers"
},
{
"key": "access",
"description": "Layer 'Shower' shows access=key with a fixed text, namely 'Accesible, but one has to ask for a key' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "key"
},
{
"key": "fee",
"description": "Layer 'Shower' shows fee=yes with a fixed text, namely 'There is a fee for using this shower' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "yes"
},
{
"key": "fee",
"description": "Layer 'Shower' shows fee=no with a fixed text, namely 'This shower is free to use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "no"
},
{
"key": "charge",
"description": "Layer 'Shower' shows and asks freeform values for key 'charge' (in the MapComplete.osm.be theme 'Personal theme') (This is only shown if fee=yes)"
},
{
"key": "opening_hours",
"description": "Layer 'Shower' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Personal theme')"
},
{
"key": "hot_water",
"description": "Layer 'Shower' shows hot_water=yes with a fixed text, namely 'Hot water is available here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "yes"
},
{
"key": "hot_water",
"description": "Layer 'Shower' shows hot_water=fee with a fixed text, namely 'Hot water is available here, but there is a fee' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "fee"
},
{
"key": "hot_water",
"description": "Layer 'Shower' shows hot_water=no with a fixed text, namely 'There is no hot water available here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "no"
},
{
"key": "payment:cash",
"description": "Layer 'Shower' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' (in the MapComplete.osm.be theme 'Personal theme') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
},
{
"key": "payment:cards",
"description": "Layer 'Shower' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' (in the MapComplete.osm.be theme 'Personal theme') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
},
{
"key": "payment:qr_code",
"description": "Layer 'Shower' 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.osm.be theme 'Personal theme') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
},
{
"key": "payment:coins",
"description": "Layer 'Shower' shows payment:coins=yes with a fixed text, namely 'Coins are accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
},
{
"key": "payment:notes",
"description": "Layer 'Shower' shows payment:notes=yes with a fixed text, namely 'Bank notes are accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
},
{
"key": "payment:debit_cards",
"description": "Layer 'Shower' shows payment:debit_cards=yes with a fixed text, namely 'Debit cards are accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
},
{
"key": "payment:credit_cards",
"description": "Layer 'Shower' shows payment:credit_cards=yes with a fixed text, namely 'Credit cards are accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
},
{ {
"key": "highway", "key": "highway",
"description": "The MapComplete theme Personal theme has a layer Speed Camera showing features with this tag", "description": "The MapComplete theme Personal theme has a layer Speed Camera showing features with this tag",
@ -11542,6 +11679,25 @@
"description": "Layer 'Sport pitches' shows sport=skateboard with a fixed text, namely 'This is a skatepark' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')", "description": "Layer 'Sport pitches' shows sport=skateboard with a fixed text, namely 'This is a skatepark' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "skateboard" "value": "skateboard"
}, },
{
"key": "hoops",
"description": "Layer 'Sport pitches' shows hoops=1 with a fixed text, namely 'This basketball pitch has a single hoop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "1"
},
{
"key": "hoops",
"description": "Layer 'Sport pitches' shows hoops=2 with a fixed text, namely 'This basketball pitch has two hoops' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "2"
},
{
"key": "hoops",
"description": "Layer 'Sport pitches' shows hoops=4 with a fixed text, namely 'This basketball pitch has four hoops' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Personal theme')",
"value": "4"
},
{
"key": "hoops",
"description": "Layer 'Sport pitches' shows hoops~.+ with a fixed text, namely 'This basketball pitch has {hoops} hoops' (in the MapComplete.osm.be theme 'Personal theme')"
},
{ {
"key": "surface", "key": "surface",
"description": "Layer 'Sport pitches' shows and asks freeform values for key 'surface' (in the MapComplete.osm.be theme 'Personal theme')" "description": "Layer 'Sport pitches' shows and asks freeform values for key 'surface' (in the MapComplete.osm.be theme 'Personal theme')"

View file

@ -74,6 +74,25 @@
"description": "Layer 'Sport pitches' shows sport=skateboard with a fixed text, namely 'This is a skatepark' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sport pitches')", "description": "Layer 'Sport pitches' shows sport=skateboard with a fixed text, namely 'This is a skatepark' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sport pitches')",
"value": "skateboard" "value": "skateboard"
}, },
{
"key": "hoops",
"description": "Layer 'Sport pitches' shows hoops=1 with a fixed text, namely 'This basketball pitch has a single hoop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sport pitches')",
"value": "1"
},
{
"key": "hoops",
"description": "Layer 'Sport pitches' shows hoops=2 with a fixed text, namely 'This basketball pitch has two hoops' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sport pitches')",
"value": "2"
},
{
"key": "hoops",
"description": "Layer 'Sport pitches' shows hoops=4 with a fixed text, namely 'This basketball pitch has four hoops' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sport pitches')",
"value": "4"
},
{
"key": "hoops",
"description": "Layer 'Sport pitches' shows hoops~.+ with a fixed text, namely 'This basketball pitch has {hoops} hoops' (in the MapComplete.osm.be theme 'Sport pitches')"
},
{ {
"key": "surface", "key": "surface",
"description": "Layer 'Sport pitches' shows and asks freeform values for key 'surface' (in the MapComplete.osm.be theme 'Sport pitches')" "description": "Layer 'Sport pitches' shows and asks freeform values for key 'surface' (in the MapComplete.osm.be theme 'Sport pitches')"

View file

@ -74,6 +74,25 @@
"description": "Layer 'Sport pitches' shows sport=skateboard with a fixed text, namely 'This is a skatepark' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')", "description": "Layer 'Sport pitches' shows sport=skateboard with a fixed text, namely 'This is a skatepark' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "skateboard" "value": "skateboard"
}, },
{
"key": "hoops",
"description": "Layer 'Sport pitches' shows hoops=1 with a fixed text, namely 'This basketball pitch has a single hoop' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "1"
},
{
"key": "hoops",
"description": "Layer 'Sport pitches' shows hoops=2 with a fixed text, namely 'This basketball pitch has two hoops' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "2"
},
{
"key": "hoops",
"description": "Layer 'Sport pitches' shows hoops=4 with a fixed text, namely 'This basketball pitch has four hoops' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Sports')",
"value": "4"
},
{
"key": "hoops",
"description": "Layer 'Sport pitches' shows hoops~.+ with a fixed text, namely 'This basketball pitch has {hoops} hoops' (in the MapComplete.osm.be theme 'Sports')"
},
{ {
"key": "surface", "key": "surface",
"description": "Layer 'Sport pitches' shows and asks freeform values for key 'surface' (in the MapComplete.osm.be theme 'Sports')" "description": "Layer 'Sport pitches' shows and asks freeform values for key 'surface' (in the MapComplete.osm.be theme 'Sports')"

View file

@ -445,6 +445,143 @@
{ {
"key": "toilets:description", "key": "toilets:description",
"description": "Layer 'Toilets at other amenities' shows and asks freeform values for key 'toilets:description' (in the MapComplete.osm.be theme 'Public toilets')" "description": "Layer 'Toilets at other amenities' shows and asks freeform values for key 'toilets:description' (in the MapComplete.osm.be theme 'Public toilets')"
},
{
"key": "amenity",
"description": "The MapComplete theme Public toilets has a layer Shower showing features with this tag",
"value": "shower"
},
{
"key": "id",
"description": "Layer 'Shower' 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.osm.be theme 'Public toilets') (This is only shown if _backend~.+&_last_edit:passed_time<300&|_version_number=1)"
},
{
"key": "image",
"description": "The layer 'Shower 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 'Shower 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 'Shower 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 'Shower 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": "level",
"description": "Layer 'Shower' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Public toilets')"
},
{
"key": "location",
"description": "Layer 'Shower' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Public toilets')",
"value": "underground"
},
{
"key": "level",
"description": "Layer 'Shower' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets')",
"value": "0"
},
{
"key": "level",
"description": "Layer 'Shower' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Public toilets') Picking this answer will delete the key level.",
"value": ""
},
{
"key": "level",
"description": "Layer 'Shower' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets')",
"value": "1"
},
{
"key": "level",
"description": "Layer 'Shower' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets')",
"value": "-1"
},
{
"key": "access",
"description": "Layer 'Shower' shows access=yes with a fixed text, namely 'Anyone can use this shower' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets')",
"value": "yes"
},
{
"key": "access",
"description": "Layer 'Shower' shows access=customers with a fixed text, namely 'Only customers can use this shower' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets')",
"value": "customers"
},
{
"key": "access",
"description": "Layer 'Shower' shows access=key with a fixed text, namely 'Accesible, but one has to ask for a key' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets')",
"value": "key"
},
{
"key": "fee",
"description": "Layer 'Shower' shows fee=yes with a fixed text, namely 'There is a fee for using this shower' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets')",
"value": "yes"
},
{
"key": "fee",
"description": "Layer 'Shower' shows fee=no with a fixed text, namely 'This shower is free to use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets')",
"value": "no"
},
{
"key": "charge",
"description": "Layer 'Shower' shows and asks freeform values for key 'charge' (in the MapComplete.osm.be theme 'Public toilets') (This is only shown if fee=yes)"
},
{
"key": "opening_hours",
"description": "Layer 'Shower' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Public toilets')"
},
{
"key": "hot_water",
"description": "Layer 'Shower' shows hot_water=yes with a fixed text, namely 'Hot water is available here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets')",
"value": "yes"
},
{
"key": "hot_water",
"description": "Layer 'Shower' shows hot_water=fee with a fixed text, namely 'Hot water is available here, but there is a fee' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets')",
"value": "fee"
},
{
"key": "hot_water",
"description": "Layer 'Shower' shows hot_water=no with a fixed text, namely 'There is no hot water available here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets')",
"value": "no"
},
{
"key": "payment:cash",
"description": "Layer 'Shower' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' (in the MapComplete.osm.be theme 'Public toilets') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
},
{
"key": "payment:cards",
"description": "Layer 'Shower' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' (in the MapComplete.osm.be theme 'Public toilets') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
},
{
"key": "payment:qr_code",
"description": "Layer 'Shower' 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.osm.be theme 'Public toilets') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
},
{
"key": "payment:coins",
"description": "Layer 'Shower' shows payment:coins=yes with a fixed text, namely 'Coins are accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
},
{
"key": "payment:notes",
"description": "Layer 'Shower' shows payment:notes=yes with a fixed text, namely 'Bank notes are accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
},
{
"key": "payment:debit_cards",
"description": "Layer 'Shower' shows payment:debit_cards=yes with a fixed text, namely 'Debit cards are accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
},
{
"key": "payment:credit_cards",
"description": "Layer 'Shower' shows payment:credit_cards=yes with a fixed text, namely 'Credit cards are accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Public toilets') (This is only shown if fee=yes|hot_water=fee)",
"value": "yes"
} }
] ]
} }

View file

@ -90,6 +90,7 @@ This theme contains the following layers:
- [school](../Layers/school.md) - [school](../Layers/school.md)
- [shelter](../Layers/shelter.md) - [shelter](../Layers/shelter.md)
- [shops](../Layers/shops.md) - [shops](../Layers/shops.md)
- [shower](../Layers/shower.md)
- [speed_camera](../Layers/speed_camera.md) - [speed_camera](../Layers/speed_camera.md)
- [speed_display](../Layers/speed_display.md) - [speed_display](../Layers/speed_display.md)
- [sport_pitch](../Layers/sport_pitch.md) - [sport_pitch](../Layers/sport_pitch.md)

View file

@ -13,6 +13,7 @@ This theme contains the following layers:
- [toilet](../Layers/toilet.md) - [toilet](../Layers/toilet.md)
- [toilet_at_amenity](../Layers/toilet_at_amenity.md) - [toilet_at_amenity](../Layers/toilet_at_amenity.md)
- [shower](../Layers/shower.md)
- [selected_element](../Layers/selected_element.md) - [selected_element](../Layers/selected_element.md)
- [gps_location](../Layers/gps_location.md) - [gps_location](../Layers/gps_location.md)
- [gps_location_history](../Layers/gps_location_history.md) - [gps_location_history](../Layers/gps_location_history.md)

View file

@ -1,8 +1,8 @@
import { Utils } from "../../Utils"; import { Utils } from "../../Utils"
import polygon_features from "../../assets/polygon-features.json"; import polygon_features from "../../assets/polygon-features.json"
import { OsmFeature, OsmId, OsmTags, WayId } from "../../Models/OsmFeature"; import { OsmFeature, OsmId, OsmTags, WayId } from "../../Models/OsmFeature"
import OsmToGeoJson from "osmtogeojson"; import OsmToGeoJson from "osmtogeojson"
import { Feature, LineString, Polygon } from "geojson"; import { Feature, LineString, Polygon } from "geojson"
export abstract class OsmObject { export abstract class OsmObject {
private static defaultBackend = "https://www.openstreetmap.org/" private static defaultBackend = "https://www.openstreetmap.org/"

View file

@ -56,7 +56,10 @@
on:mouseup={() => { on:mouseup={() => {
isDown = false isDown = false
}} }}
on:touchmove={(e) =>{ onPosChange(e.touches[0].clientX, e.touches[0].clientY); e.preventDefault() }} on:touchmove={(e) => {
onPosChange(e.touches[0].clientX, e.touches[0].clientY)
e.preventDefault()
}}
on:touchstart={(e) => onPosChange(e.touches[0].clientX, e.touches[0].clientY)} on:touchstart={(e) => onPosChange(e.touches[0].clientX, e.touches[0].clientY)}
> >
<div class="absolute top-0 left-0 h-full w-full cursor-pointer"> <div class="absolute top-0 left-0 h-full w-full cursor-pointer">

View file

@ -83,7 +83,7 @@
<div class="min-h-32 relative h-full cursor-pointer overflow-hidden"> <div class="min-h-32 relative h-full cursor-pointer overflow-hidden">
<div class="absolute top-0 left-0 h-full w-full cursor-pointer"> <div class="absolute top-0 left-0 h-full w-full cursor-pointer">
<MaplibreMap center={({lng: initialCoordinate.lon, lat: initialCoordinate.lat})}} {map} /> <MaplibreMap center="{{ lng: initialCoordinate.lon, lat: initialCoordinate.lat }}}" {map} />
</div> </div>
<div <div

View file

@ -7,9 +7,9 @@
import { onMount } from "svelte" import { onMount } from "svelte"
import { Map } from "@onsvisual/svelte-maps" import { Map } from "@onsvisual/svelte-maps"
import type { Map as MaplibreMap } from "maplibre-gl" import type { Map as MaplibreMap } from "maplibre-gl"
import type {Readable, Writable} from "svelte/store" import type { Readable, Writable } from "svelte/store"
import { AvailableRasterLayers } from "../../Models/RasterLayers" import { AvailableRasterLayers } from "../../Models/RasterLayers"
import {writable} from "svelte/store"; import { writable } from "svelte/store"
/** /**
* Beware: this map will _only_ be set by this component * Beware: this map will _only_ be set by this component
@ -18,7 +18,7 @@
export let map: Writable<MaplibreMap> export let map: Writable<MaplibreMap>
export let attribution = false export let attribution = false
export let center: Readable<{ lng: number ,lat : number }> = writable({lng: 0, lat: 0}) export let center: Readable<{ lng: number; lat: number }> = writable({ lng: 0, lat: 0 })
onMount(() => { onMount(() => {
$map.on("load", function () { $map.on("load", function () {

View file

@ -1,14 +1,20 @@
<script> <script>
import Tr from "./Base/Tr.svelte"; import Tr from "./Base/Tr.svelte"
import Translations from "./i18n/Translations.ts"; import Translations from "./i18n/Translations.ts"
import BackButton from "./Base/BackButton.svelte"; import BackButton from "./Base/BackButton.svelte"
console.log("???") console.log("???")
</script> </script>
<div class="flex flex-col"> <div class="flex flex-col">
<Tr t={Translations.t.general["404"]}></Tr> <Tr t={Translations.t.general["404"]} />
<BackButton clss="m-8" on:click={() => {window.location = "index.html"}}> <BackButton
clss="m-8"
on:click={() => {
window.location = "index.html"
}}
>
<div class="flex w-full justify-center"> <div class="flex w-full justify-center">
<Tr t={Translations.t.general.backToIndex}></Tr> <Tr t={Translations.t.general.backToIndex} />
</div> </div>
</BackButton> </BackButton>
</div> </div>

View file

@ -49,8 +49,9 @@
import MapillaryLink from "./BigComponents/MapillaryLink.svelte" import MapillaryLink from "./BigComponents/MapillaryLink.svelte"
import OpenIdEditor from "./BigComponents/OpenIdEditor.svelte" import OpenIdEditor from "./BigComponents/OpenIdEditor.svelte"
import OpenBackgroundSelectorButton from "./BigComponents/OpenBackgroundSelectorButton.svelte" import OpenBackgroundSelectorButton from "./BigComponents/OpenBackgroundSelectorButton.svelte"
import Loading from "./Base/Loading.svelte"
import StateIndicator from "./BigComponents/StateIndicator.svelte" import StateIndicator from "./BigComponents/StateIndicator.svelte"
import LanguagePicker from "./LanguagePicker"
import Locale from "./i18n/Locale"
export let state: ThemeViewState export let state: ThemeViewState
let layout = state.layout let layout = state.layout
@ -392,7 +393,8 @@
<!-- All shown components are set by 'usersettings.json', which happily uses some special visualisations created specifically for it --> <!-- All shown components are set by 'usersettings.json', which happily uses some special visualisations created specifically for it -->
<LoginToggle {state}> <LoginToggle {state}>
<div class="flex flex-col" slot="not-logged-in"> <div class="flex flex-col" slot="not-logged-in">
<Tr class="alert" t={Translations.t.userinfo.notLoggedIn} /> <ToSvelte construct={() => new LanguagePicker(layout.language, Locale.language)} />
<Tr cls="alert" t={Translations.t.userinfo.notLoggedIn} />
<LoginButton clss="primary" osmConnection={state.osmConnection} /> <LoginButton clss="primary" osmConnection={state.osmConnection} />
</div> </div>
<SelectedElementView <SelectedElementView

View file

@ -1,15 +1,15 @@
{ {
"contributors": [ "contributors": [
{ {
"commits": 5390, "commits": 5753,
"contributor": "Pieter Vander Vennet" "contributor": "Pieter Vander Vennet"
}, },
{ {
"commits": 361, "commits": 371,
"contributor": "Robin van der Linde" "contributor": "Robin van der Linde"
}, },
{ {
"commits": 44, "commits": 55,
"contributor": "Tobias" "contributor": "Tobias"
}, },
{ {
@ -112,6 +112,10 @@
"commits": 10, "commits": 10,
"contributor": "LiamSimons" "contributor": "LiamSimons"
}, },
{
"commits": 9,
"contributor": "Thibault Molleman"
},
{ {
"commits": 9, "commits": 9,
"contributor": "Midgard" "contributor": "Midgard"
@ -124,10 +128,6 @@
"commits": 8, "commits": 8,
"contributor": "Mateusz Konieczny" "contributor": "Mateusz Konieczny"
}, },
{
"commits": 8,
"contributor": "Thibault Molleman"
},
{ {
"commits": 7, "commits": 7,
"contributor": "OliNau" "contributor": "OliNau"
@ -232,6 +232,10 @@
"commits": 2, "commits": 2,
"contributor": "Stanislas Gueniffey" "contributor": "Stanislas Gueniffey"
}, },
{
"commits": 1,
"contributor": "Daniel McDonald"
},
{ {
"commits": 1, "commits": 1,
"contributor": "M!dgard" "contributor": "M!dgard"

View file

@ -475,8 +475,8 @@
], ],
"NZ": [ "NZ": [
"en", "en",
"mi",
"en", "en",
"mi",
"mi" "mi"
], ],
"OM": [ "OM": [

View file

@ -522,7 +522,7 @@
"pt": "árabe", "pt": "árabe",
"pt_BR": "árabe", "pt_BR": "árabe",
"ru": "арабский язык", "ru": "арабский язык",
"sl": "Arabščina", "sl": "arabščina",
"sv": "arabiska", "sv": "arabiska",
"zh_Hans": "阿拉伯语", "zh_Hans": "阿拉伯语",
"zh_Hant": "阿拉伯語", "zh_Hant": "阿拉伯語",
@ -763,7 +763,7 @@
"es": "atikamekw", "es": "atikamekw",
"fi": "Atikamekw", "fi": "Atikamekw",
"fr": "atikamekw", "fr": "atikamekw",
"gl": "atikamekw", "gl": "Lingua atikamekw",
"it": "lingua atikamekw", "it": "lingua atikamekw",
"ja": "アティカメク語", "ja": "アティカメク語",
"nb_NO": "atikamekw", "nb_NO": "atikamekw",
@ -969,7 +969,7 @@
"eo": "bavara lingvo", "eo": "bavara lingvo",
"es": "bávaro", "es": "bávaro",
"fi": "Baijerin kieli", "fi": "Baijerin kieli",
"fr": "Bavarois", "fr": "bavarois",
"gl": "Lingua bavaresa", "gl": "Lingua bavaresa",
"hu": "bajor", "hu": "bajor",
"id": "Bahasa Bayern", "id": "Bahasa Bayern",
@ -1024,7 +1024,7 @@
"cs": "Batak Toba", "cs": "Batak Toba",
"da": "Batak Toba", "da": "Batak Toba",
"de": "Toba Batak", "de": "Toba Batak",
"en": "Toba Batak language", "en": "Batak Toba",
"eo": "Batak Toba", "eo": "Batak Toba",
"es": "Batak Toba", "es": "Batak Toba",
"fi": "Batak Toba", "fi": "Batak Toba",
@ -1052,6 +1052,7 @@
"de": "West Coast Bajau", "de": "West Coast Bajau",
"en": "West Coast Bajau", "en": "West Coast Bajau",
"fr": "bajau de la côte occidentale", "fr": "bajau de la côte occidentale",
"nb_NO": "vestkystbajau",
"_meta": { "_meta": {
"dir": [ "dir": [
"left-to-right" "left-to-right"
@ -1081,6 +1082,28 @@
] ]
} }
}, },
"bfi": {
"cs": "britský znakový jazyk",
"de": "Britische Gebärdensprache",
"en": "British Sign Language",
"eo": "brita signolingvo",
"es": "Lengua de señas británica",
"fi": "brittiläinen viittomakieli",
"fr": "langue des signes britannique",
"id": "Bahasa Isyarat Britania",
"it": "lingua dei segni britannica",
"ja": "イギリス手話",
"nl": "Britse gebarentaal",
"pl": "brytyjski język migowy",
"pt": "língua de sinais britânica",
"ru": "британский жестовый язык",
"sv": "brittiskt teckenspråk",
"_meta": {
"dir": [
"vertical left-to-right"
]
}
},
"bfq": { "bfq": {
"ca": "badaga", "ca": "badaga",
"de": "Badaga", "de": "Badaga",
@ -1164,6 +1187,35 @@
] ]
} }
}, },
"bho": {
"ca": "bhojpuri",
"cs": "bhódžpurština",
"da": "Bhojpuri",
"de": "Bhojpuri",
"en": "Bhojpuri",
"eo": "bhojpura lingvo",
"es": "Idioma bopurí",
"fi": "Bhodžpurin kieli",
"fr": "bhodjpouri",
"gl": "Lingua bhojpuri",
"hu": "bhódzspurí",
"id": "Bahasa Bhojpuri",
"it": "bhojpuri",
"ja": "ボージュプリー語",
"nb_NO": "Bhojpuri",
"nl": "Bhojpuri",
"pl": "język bhodźpuri",
"pt": "Língua bhojpuri",
"ru": "бходжпури",
"sv": "bhojpuri",
"zh_Hans": "博杰普尔语",
"zh_Hant": "博杰普爾語",
"_meta": {
"dir": [
"left-to-right"
]
}
},
"bi": { "bi": {
"ca": "bislama", "ca": "bislama",
"cs": "bislamština", "cs": "bislamština",
@ -1218,7 +1270,7 @@
} }
}, },
"bm": { "bm": {
"ca": "bambara", "ca": "bàmbara",
"cs": "bambarština", "cs": "bambarština",
"da": "Bambara", "da": "Bambara",
"de": "Bambara", "de": "Bambara",
@ -1467,7 +1519,6 @@
"zh_Hant": "布魯夏斯基語", "zh_Hant": "布魯夏斯基語",
"_meta": { "_meta": {
"dir": [ "dir": [
"right-to-left",
"left-to-right" "left-to-right"
] ]
} }
@ -1743,7 +1794,7 @@
"eo": "cebua lingvo", "eo": "cebua lingvo",
"es": "cebuano", "es": "cebuano",
"fi": "Cebun kieli", "fi": "Cebun kieli",
"fr": "cebuano", "fr": "cebouan",
"gl": "Lingua cebuana", "gl": "Lingua cebuana",
"hu": "szebuano", "hu": "szebuano",
"id": "bahasa Sugbo", "id": "bahasa Sugbo",
@ -1926,7 +1977,7 @@
"de": "Tschuktschisch", "de": "Tschuktschisch",
"en": "Chukchi", "en": "Chukchi",
"eo": "Ĉukĉa lingvo", "eo": "Ĉukĉa lingvo",
"es": "chucoto", "es": "Idioma chucoto",
"fi": "Tšuktšin kieli", "fi": "Tšuktšin kieli",
"fr": "tchouktche", "fr": "tchouktche",
"gl": "Lingua Chukoto", "gl": "Lingua Chukoto",
@ -2242,7 +2293,7 @@
"fr": "danois", "fr": "danois",
"gl": "lingua dinamarquesa", "gl": "lingua dinamarquesa",
"hu": "dán", "hu": "dán",
"id": "Bahasa Denmark", "id": "bahasa Denmark",
"it": "danese", "it": "danese",
"ja": "デンマーク語", "ja": "デンマーク語",
"nb_NO": "dansk", "nb_NO": "dansk",
@ -2267,7 +2318,7 @@
"dag": { "dag": {
"ca": "dagbani", "ca": "dagbani",
"cs": "dagbani", "cs": "dagbani",
"da": "Dagbani", "da": "dagbani",
"de": "Dagbani", "de": "Dagbani",
"en": "Dagbani", "en": "Dagbani",
"eo": "Dagbania lingvo", "eo": "Dagbania lingvo",
@ -2277,6 +2328,7 @@
"gl": "Lingua dagbani", "gl": "Lingua dagbani",
"it": "Dagbani", "it": "Dagbani",
"ja": "ダバニ語", "ja": "ダバニ語",
"nb_NO": "dagbani",
"nl": "Dagbani", "nl": "Dagbani",
"pl": "język dagbani", "pl": "język dagbani",
"pt": "Língua dagbani", "pt": "Língua dagbani",
@ -2587,6 +2639,7 @@
"es": "Idioma efik", "es": "Idioma efik",
"fi": "Efik", "fi": "Efik",
"fr": "efik", "fr": "efik",
"gl": "Lingua efik",
"id": "Bahasa Efik", "id": "Bahasa Efik",
"it": "lingua Efik", "it": "lingua Efik",
"ja": "エフィク語", "ja": "エフィク語",
@ -3048,7 +3101,7 @@
"fr": "finnois", "fr": "finnois",
"gl": "finés", "gl": "finés",
"hu": "finn", "hu": "finn",
"id": "Finlandia", "id": "bahasa Suomi",
"it": "finlandese", "it": "finlandese",
"ja": "フィンランド語", "ja": "フィンランド語",
"nb_NO": "finsk", "nb_NO": "finsk",
@ -3082,7 +3135,7 @@
"fr": "philippin", "fr": "philippin",
"gl": "Lingua filipina", "gl": "Lingua filipina",
"hu": "filippínó", "hu": "filippínó",
"id": "Bahasa Filipino", "id": "bahasa Filipino",
"it": "filippino", "it": "filippino",
"ja": "フィリピン語", "ja": "フィリピン語",
"nb_NO": "filippinsk", "nb_NO": "filippinsk",
@ -3227,7 +3280,7 @@
"fr": "féroïen", "fr": "féroïen",
"gl": "lingua feroesa", "gl": "lingua feroesa",
"hu": "feröeri", "hu": "feröeri",
"id": "Bahasa Faroe", "id": "bahasa Faroe",
"it": "faroese", "it": "faroese",
"ja": "フェロー語", "ja": "フェロー語",
"nb_NO": "færøysk", "nb_NO": "færøysk",
@ -3237,6 +3290,7 @@
"ru": "фарерский язык", "ru": "фарерский язык",
"sl": "Ferščina", "sl": "Ferščina",
"sv": "färöiska", "sv": "färöiska",
"zh_Hans": "法罗语",
"_meta": { "_meta": {
"dir": [ "dir": [
"left-to-right" "left-to-right"
@ -3280,7 +3334,7 @@
"fr": "français", "fr": "français",
"gl": "lingua francesa", "gl": "lingua francesa",
"hu": "francia", "hu": "francia",
"id": "Prancis", "id": "bahasa Prancis",
"it": "francese", "it": "francese",
"ja": "フランス語", "ja": "フランス語",
"nb_NO": "fransk", "nb_NO": "fransk",
@ -3356,7 +3410,7 @@
"ca": "francoprovençal", "ca": "francoprovençal",
"cs": "franko-provensálština", "cs": "franko-provensálština",
"de": "Frankoprovenzalisch", "de": "Frankoprovenzalisch",
"en": "Franco-Provençal", "en": "Arpitan",
"eo": "arpitana lingvo", "eo": "arpitana lingvo",
"es": "franco-provenzal", "es": "franco-provenzal",
"fi": "Arpitaani", "fi": "Arpitaani",
@ -3795,6 +3849,34 @@
] ]
} }
}, },
"gsg": {
"ca": "llengua de signes alemanya",
"da": "Tysk tegnsprog",
"de": "Deutsche Gebärdensprache",
"en": "German Sign Language",
"eo": "germana signolingvo",
"es": "lengua de señas alemana",
"fi": "saksalainen viittomakieli",
"fr": "langue des signes allemande",
"hu": "német jelnyelv",
"id": "Bahasa Isyarat Jerman",
"it": "lingua dei segni tedesca",
"ja": "ドイツ手話",
"nb_NO": "tysk tegnspråk",
"nl": "Duitse gebarentaal",
"pl": "niemiecki język migowy",
"pt": "língua gestual alemã",
"pt_BR": "língua de sinais alemã",
"ru": "германский жестовый язык",
"sv": "tyskt teckenspråk",
"zh_Hans": "德国手语",
"zh_Hant": "德國手語",
"_meta": {
"dir": [
"vertical left-to-right"
]
}
},
"gsw-fr": { "gsw-fr": {
"ca": "alsacià", "ca": "alsacià",
"cs": "alsaština", "cs": "alsaština",
@ -3875,9 +3957,11 @@
"ca": "gun", "ca": "gun",
"de": "Gun", "de": "Gun",
"en": "Gun", "en": "Gun",
"es": "Idioma Gungbe",
"fr": "gun-gbe", "fr": "gun-gbe",
"gl": "Lingua gun", "gl": "Lingua gun",
"ja": "グン語", "ja": "グン語",
"nb_NO": "gun",
"ru": "гун", "ru": "гун",
"_meta": { "_meta": {
"dir": [ "dir": [
@ -4048,7 +4132,7 @@
"pt": "hebraico", "pt": "hebraico",
"pt_BR": "hebraico", "pt_BR": "hebraico",
"ru": "иврит", "ru": "иврит",
"sl": "Hebrejščina", "sl": "hebrejščina",
"sv": "hebreiska", "sv": "hebreiska",
"zh_Hans": "希伯来语", "zh_Hans": "希伯来语",
"zh_Hant": "希伯來語", "zh_Hant": "希伯來語",
@ -4145,6 +4229,27 @@
] ]
} }
}, },
"hno": {
"ca": "hindko",
"da": "hindko",
"de": "Hindko",
"en": "Hindko",
"fi": "Hindko",
"fr": "hindko",
"id": "Bahasa Hindko",
"it": "Hindko",
"ja": "ヒンドコ語",
"nb_NO": "hindko",
"ru": "хиндко",
"sv": "hindko",
"zh_Hans": "印德科语",
"zh_Hant": "印德科語",
"_meta": {
"dir": [
"right-to-left"
]
}
},
"ho": { "ho": {
"ca": "Hiri Motu", "ca": "Hiri Motu",
"cs": "Hiri motu", "cs": "Hiri motu",
@ -4607,7 +4712,7 @@
"fr": "italien", "fr": "italien",
"gl": "lingua italiana", "gl": "lingua italiana",
"hu": "olasz", "hu": "olasz",
"id": "Italia", "id": "bahasa Italia",
"it": "italiano", "it": "italiano",
"ja": "イタリア語", "ja": "イタリア語",
"nb_NO": "italiensk", "nb_NO": "italiensk",
@ -4917,7 +5022,7 @@
"en": "Tyap", "en": "Tyap",
"es": "Katab", "es": "Katab",
"fi": "Tyap", "fi": "Tyap",
"fr": "Katab", "fr": "katab",
"gl": "Lingua tyap", "gl": "Lingua tyap",
"ja": "カタブ語", "ja": "カタブ語",
"nl": "Tyap", "nl": "Tyap",
@ -4944,7 +5049,7 @@
"nl": "Kaapverdisch Creools", "nl": "Kaapverdisch Creools",
"pl": "Język kreolski Wysp Zielonego Przylądka", "pl": "Język kreolski Wysp Zielonego Przylądka",
"pt": "crioulo cabo-verdiano", "pt": "crioulo cabo-verdiano",
"ru": "Кабувердьяну", "ru": "кабувердьяну",
"sv": "krioli", "sv": "krioli",
"_meta": { "_meta": {
"dir": [ "dir": [
@ -5071,7 +5176,7 @@
"en": "Kwanyama", "en": "Kwanyama",
"eo": "kuanjama lingvo", "eo": "kuanjama lingvo",
"es": "idioma kuanyama", "es": "idioma kuanyama",
"fr": "kuanyama", "fr": "kwanyama",
"gl": "Lingua kwanyama", "gl": "Lingua kwanyama",
"hu": "kvanyama", "hu": "kvanyama",
"it": "kwanyama", "it": "kwanyama",
@ -5341,7 +5446,7 @@
"de": "Karatschai-Balkarisch", "de": "Karatschai-Balkarisch",
"en": "Karachay-Balkar", "en": "Karachay-Balkar",
"eo": "karaĉaja-balkara lingvo", "eo": "karaĉaja-balkara lingvo",
"es": "idioma karachayo-bálkaro", "es": "idioma karachái-bálkaro",
"fi": "Karatšai-balkaarin kieli", "fi": "Karatšai-balkaarin kieli",
"fr": "karatchaï-balkar", "fr": "karatchaï-balkar",
"gl": "Lingua carachaio-bálcara", "gl": "Lingua carachaio-bálcara",
@ -5394,7 +5499,7 @@
"en": "Karay-a", "en": "Karay-a",
"es": "harayo", "es": "harayo",
"fi": "Kinaray-a", "fi": "Kinaray-a",
"fr": "kinaray-a", "fr": "harayen",
"id": "bahasa Karaika", "id": "bahasa Karaika",
"it": "kinaray-a", "it": "kinaray-a",
"ja": "キナライア語", "ja": "キナライア語",
@ -5421,7 +5526,7 @@
"fr": "carélien", "fr": "carélien",
"gl": "Lingua carelia", "gl": "Lingua carelia",
"hu": "karjalai", "hu": "karjalai",
"id": "Bahasa Karelia", "id": "bahasa Karelia",
"it": "careliano", "it": "careliano",
"ja": "カレリア語", "ja": "カレリア語",
"nb_NO": "karelsk", "nb_NO": "karelsk",
@ -5522,8 +5627,8 @@
"IQ" "IQ"
], ],
"dir": [ "dir": [
"left-to-right", "right-to-left",
"right-to-left" "left-to-right"
] ]
} }
}, },
@ -5600,6 +5705,34 @@
] ]
} }
}, },
"kvr": {
"ca": "kerinci",
"cs": "Kerinci",
"da": "Kerinci",
"de": "Kerinci",
"en": "Kerinci",
"eo": "Kerinci",
"es": "Kerinci",
"fi": "Kerinci",
"fr": "kerinci",
"gl": "Kerinci",
"hu": "Kerinci",
"id": "Bahasa Kerinci",
"it": "kerinci",
"ja": "クリンチ語",
"nb_NO": "Kerinci",
"nl": "Kerinci",
"pl": "język kerinci",
"pt": "Kerinci",
"pt_BR": "Kerinci",
"sl": "Kerinci",
"sv": "Kerinci",
"_meta": {
"dir": [
"left-to-right"
]
}
},
"kw": { "kw": {
"ca": "còrnic", "ca": "còrnic",
"cs": "kornština", "cs": "kornština",
@ -5699,7 +5832,7 @@
"en": "Rangi", "en": "Rangi",
"eo": "rangia lingvo", "eo": "rangia lingvo",
"fi": "Lango", "fi": "Lango",
"fr": "langi", "fr": "Langi (langue de Tanzanie)",
"ja": "ランギ語", "ja": "ランギ語",
"nb_NO": "Rangi", "nb_NO": "Rangi",
"nl": "Langi", "nl": "Langi",
@ -5716,7 +5849,7 @@
"da": "Letzeburgsk", "da": "Letzeburgsk",
"de": "Luxemburgisch", "de": "Luxemburgisch",
"en": "Luxembourgish", "en": "Luxembourgish",
"eo": "luksemburga lingvo", "eo": "leceburga lingvo",
"es": "luxemburgués", "es": "luxemburgués",
"fi": "luxemburg", "fi": "luxemburg",
"fr": "luxembourgeois", "fr": "luxembourgeois",
@ -5781,7 +5914,7 @@
"eo": "ganda lingvo", "eo": "ganda lingvo",
"es": "luganda", "es": "luganda",
"fi": "Gandan kieli", "fi": "Gandan kieli",
"fr": "Luganda", "fr": "luganda",
"gl": "Lingua luganda", "gl": "Lingua luganda",
"hu": "ganda", "hu": "ganda",
"id": "Bahasa Luganda", "id": "Bahasa Luganda",
@ -6077,7 +6210,7 @@
"fr": "lituanien", "fr": "lituanien",
"gl": "lingua lituana", "gl": "lingua lituana",
"hu": "litván", "hu": "litván",
"id": "bahasa Lituania", "id": "bahasa Lituavi",
"it": "lituano", "it": "lituano",
"ja": "リトアニア語", "ja": "リトアニア語",
"nb_NO": "litauisk", "nb_NO": "litauisk",
@ -6360,6 +6493,7 @@
"pt_BR": "Língua malgaxe", "pt_BR": "Língua malgaxe",
"ru": "малагасийский язык", "ru": "малагасийский язык",
"sv": "malagassiska", "sv": "malagassiska",
"zh_Hant": "馬達加斯加語",
"_meta": { "_meta": {
"countries": [ "countries": [
"MG" "MG"
@ -6715,7 +6849,7 @@
"en": "Innu-aimun", "en": "Innu-aimun",
"eo": "inua lingvo", "eo": "inua lingvo",
"es": "innu", "es": "innu",
"fr": "Montagnais (langue)", "fr": "innu-aimun",
"id": "Bahasa Innu", "id": "Bahasa Innu",
"it": "innu-aimun", "it": "innu-aimun",
"nl": "Innu language", "nl": "Innu language",
@ -6759,7 +6893,7 @@
"mrh": { "mrh": {
"ca": "Lakher", "ca": "Lakher",
"en": "Mara", "en": "Mara",
"fr": "Mara", "fr": "mara",
"ja": "マラ語", "ja": "マラ語",
"ru": "Мара", "ru": "Мара",
"_meta": { "_meta": {
@ -6859,6 +6993,24 @@
] ]
} }
}, },
"mui": {
"de": "Musi",
"en": "Musi",
"fi": "Musi",
"fr": "musi",
"id": "Musi",
"ja": "ムシ語",
"nb_NO": "Musi (språk)",
"nl": "Moesi",
"pl": "język musi",
"pt": "Musi",
"ru": "Муси",
"_meta": {
"dir": [
"left-to-right"
]
}
},
"mus": { "mus": {
"ca": "muskogi", "ca": "muskogi",
"cs": "kríkština", "cs": "kríkština",
@ -7093,7 +7245,7 @@
"eo": "napola lingvo", "eo": "napola lingvo",
"es": "napolitano", "es": "napolitano",
"fi": "napoli", "fi": "napoli",
"fr": "Napolitain", "fr": "napolitain",
"gl": "Lingua napolitana", "gl": "Lingua napolitana",
"hu": "nápolyi", "hu": "nápolyi",
"id": "Bahasa Napolitan", "id": "Bahasa Napolitan",
@ -7311,7 +7463,7 @@
"fr": "néerlandais", "fr": "néerlandais",
"gl": "lingua neerlandesa", "gl": "lingua neerlandesa",
"hu": "holland", "hu": "holland",
"id": "Belanda", "id": "bahasa Belanda",
"it": "olandese", "it": "olandese",
"ja": "オランダ語", "ja": "オランダ語",
"nb_NO": "nederlandsk", "nb_NO": "nederlandsk",
@ -7379,7 +7531,7 @@
"fr": "norvégien", "fr": "norvégien",
"gl": "lingua norueguesa", "gl": "lingua norueguesa",
"hu": "norvég", "hu": "norvég",
"id": "Norwegia", "id": "bahasa Norwegia",
"it": "norvegese", "it": "norvegese",
"ja": "ノルウェー語", "ja": "ノルウェー語",
"nb_NO": "norsk", "nb_NO": "norsk",
@ -7503,6 +7655,7 @@
"es": "guernseyés", "es": "guernseyés",
"fi": "Guernésiais", "fi": "Guernésiais",
"fr": "guernesiais", "fr": "guernesiais",
"id": "bahasa Guernésiais",
"it": "dialetto guernesiais", "it": "dialetto guernesiais",
"ja": "ガーンジー島方言", "ja": "ガーンジー島方言",
"nb_NO": "guernésiais", "nb_NO": "guernésiais",
@ -7649,6 +7802,7 @@
}, },
"oj": { "oj": {
"ca": "idioma ojibwa", "ca": "idioma ojibwa",
"cs": "odžibvejština",
"da": "Ojibwa", "da": "Ojibwa",
"de": "Ojibwe", "de": "Ojibwe",
"en": "Ojibwe", "en": "Ojibwe",
@ -7850,7 +8004,7 @@
"de": "Panjabi (Shahmukhi)", "de": "Panjabi (Shahmukhi)",
"en": "Punjabi (Shahmukhi)", "en": "Punjabi (Shahmukhi)",
"eo": "panĝaba lingvo (Ŝahmuĥi-ortografio)", "eo": "panĝaba lingvo (Ŝahmuĥi-ortografio)",
"es": "panyabí (Shahmuji)", "es": "panyabí (alfabeto shahmuji)",
"fi": "punjabin kieli (Shahmukhi)", "fi": "punjabin kieli (Shahmukhi)",
"fr": "pendjabi (Shahmukhi)", "fr": "pendjabi (Shahmukhi)",
"gl": "lingua punjabi (Shahmukhi)", "gl": "lingua punjabi (Shahmukhi)",
@ -7859,7 +8013,7 @@
"it": "punjabi (Shahmukhī)", "it": "punjabi (Shahmukhī)",
"ja": "パンジャーブ語 (シャームキー文字)", "ja": "パンジャーブ語 (シャームキー文字)",
"nb_NO": "panjabi (Shahmukhi)", "nb_NO": "panjabi (Shahmukhi)",
"nl": "Punjabi (Shahmukhi)", "nl": "Punjabi (Shahmukhī alphabet)",
"pl": "język pendżabski (szachmukhi)", "pl": "język pendżabski (szachmukhi)",
"pt": "Língua panjabi (Shahmukhi)", "pt": "Língua panjabi (Shahmukhi)",
"ru": "панджаби (Шахмукхи)", "ru": "панджаби (Шахмукхи)",
@ -7882,7 +8036,7 @@
"eo": "pangasina lingvo", "eo": "pangasina lingvo",
"es": "pangasinense", "es": "pangasinense",
"fi": "Pangasinanin kieli", "fi": "Pangasinanin kieli",
"fr": "pangasinan", "fr": "pangassinais",
"gl": "Lingua pangasinesa", "gl": "Lingua pangasinesa",
"hu": "pangasinan", "hu": "pangasinan",
"id": "bahasa Pangasinan", "id": "bahasa Pangasinan",
@ -8138,21 +8292,17 @@
] ]
} }
}, },
"pnb-x-Q382273": { "pnb": {
"ca": "hindko", "de": "Westliches Panjabi",
"da": "hindko", "en": "Western Punjabi",
"de": "Hindko", "eo": "okcidenta panĝaba lingvo",
"en": "Hindko", "fr": "pendjabi de l'Ouest",
"fi": "Hindko", "it": "lingua punjabi occidentale",
"fr": "hindko", "ja": "西パンジャーブ語",
"id": "Bahasa Hindko", "nl": "West-Punjabi",
"it": "Hindko", "pl": "Język zachodniopendżabski",
"ja": "ヒンドコ語", "ru": "западный панджаби",
"nb_NO": "hindko", "sv": "västpunjabi",
"ru": "хиндко",
"sv": "hindko",
"zh_Hans": "印德科语",
"zh_Hant": "印德科語",
"_meta": { "_meta": {
"dir": [ "dir": [
"right-to-left" "right-to-left"
@ -8446,6 +8596,7 @@
} }
}, },
"rki": { "rki": {
"ca": "arakanès",
"en": "Arakanese", "en": "Arakanese",
"fr": "arakanais", "fr": "arakanais",
"gl": "Lingua arakanesa", "gl": "Lingua arakanesa",
@ -8660,7 +8811,7 @@
"pt": "Língua rusyn", "pt": "Língua rusyn",
"pt_BR": "Língua rusyn", "pt_BR": "Língua rusyn",
"ru": "русинский язык", "ru": "русинский язык",
"sl": "Rusinščina", "sl": "rusinščina",
"sv": "rusinska", "sv": "rusinska",
"_meta": { "_meta": {
"dir": [ "dir": [
@ -8738,7 +8889,7 @@
"hu": "okinavai nyelv", "hu": "okinavai nyelv",
"id": "Bahasa Okinawa", "id": "Bahasa Okinawa",
"it": "lingua di Okinawa", "it": "lingua di Okinawa",
"ja": "沖縄方言", "ja": "沖縄",
"nb_NO": "Okinawa", "nb_NO": "Okinawa",
"nl": "Okinawaans", "nl": "Okinawaans",
"pl": "Język okinawski", "pl": "Język okinawski",
@ -8897,37 +9048,6 @@
] ]
} }
}, },
"sd": {
"ca": "sindhi",
"cs": "sindhština",
"da": "sindhi",
"de": "Sindhi",
"en": "Sindhi",
"eo": "sinda lingvo",
"es": "sindhi",
"fi": "sindhi",
"fr": "sindhi",
"gl": "Lingua sindhi",
"hu": "szindhi",
"id": "Bahasa Sindhi",
"it": "sindhi",
"ja": "シンド語",
"nb_NO": "sindhi",
"nl": "Sindhi",
"pl": "sindhi",
"pt": "língua sindi",
"pt_BR": "Língua sindi",
"ru": "синдхи",
"sv": "sindhi",
"zh_Hans": "信德语",
"zh_Hant": "信德語",
"_meta": {
"dir": [
"right-to-left",
"left-to-right"
]
}
},
"sdc": { "sdc": {
"ca": "sasserès", "ca": "sasserès",
"de": "Sassaresisch", "de": "Sassaresisch",
@ -9155,7 +9275,7 @@
"eo": "sinhala lingvo", "eo": "sinhala lingvo",
"es": "cingalés", "es": "cingalés",
"fi": "Sinhali", "fi": "Sinhali",
"fr": "cingalais", "fr": "singhalais",
"gl": "Lingua cingalesa", "gl": "Lingua cingalesa",
"hu": "szingaléz", "hu": "szingaléz",
"id": "Sinhala", "id": "Sinhala",
@ -9372,7 +9492,7 @@
"eo": "samoa lingvo", "eo": "samoa lingvo",
"es": "samoano", "es": "samoano",
"fi": "samoan kieli", "fi": "samoan kieli",
"fr": "Samoan", "fr": "samoan",
"gl": "Lingua samoana", "gl": "Lingua samoana",
"hu": "szamoai", "hu": "szamoai",
"id": "Bahasa Samoa", "id": "Bahasa Samoa",
@ -9715,6 +9835,7 @@
"fi": "Shelta", "fi": "Shelta",
"fr": "shelta", "fr": "shelta",
"gl": "Shelta", "gl": "Shelta",
"id": "bahasa Shelta",
"it": "lingua shelta", "it": "lingua shelta",
"ja": "シェルタ語", "ja": "シェルタ語",
"nb_NO": "Shelta", "nb_NO": "Shelta",
@ -9798,7 +9919,7 @@
"fr": "suédois", "fr": "suédois",
"gl": "lingua sueca", "gl": "lingua sueca",
"hu": "svéd", "hu": "svéd",
"id": "Swedia", "id": "bahasa Swedia",
"it": "svedese", "it": "svedese",
"ja": "スウェーデン語", "ja": "スウェーデン語",
"nb_NO": "svensk", "nb_NO": "svensk",
@ -9858,6 +9979,25 @@
] ]
} }
}, },
"syl": {
"de": "Sylheti",
"en": "Sylheti",
"es": "Idioma sylheti",
"fi": "Sylheti",
"fr": "sylheti",
"gl": "Lingua sylheti",
"it": "lingua silotica",
"ja": "シレット語",
"nb_NO": "Sylhetti",
"nl": "taal van Sylhet",
"ru": "силхетский язык",
"sv": "Syloti",
"_meta": {
"dir": [
"left-to-right"
]
}
},
"szl": { "szl": {
"ca": "silesià", "ca": "silesià",
"cs": "slezština", "cs": "slezština",
@ -9887,6 +10027,7 @@
} }
}, },
"szy": { "szy": {
"ca": "sakizaya",
"cs": "sakizayština", "cs": "sakizayština",
"en": "Sakizaya", "en": "Sakizaya",
"fr": "sakizaya", "fr": "sakizaya",
@ -10132,6 +10273,7 @@
"ru": "тигринья", "ru": "тигринья",
"sl": "Tigrajščina", "sl": "Tigrajščina",
"sv": "tigrinska", "sv": "tigrinska",
"zh_Hant": "提格利尼亞語",
"_meta": { "_meta": {
"countries": [ "countries": [
"ER" "ER"
@ -10185,16 +10327,16 @@
"es": "tagalo", "es": "tagalo",
"fi": "tagalog", "fi": "tagalog",
"fr": "tagalog", "fr": "tagalog",
"gl": "Lingua tagala", "gl": "lingua tagala",
"hu": "tagalog", "hu": "tagalog",
"id": "Bahasa Tagalog", "id": "bahasa Tagalog",
"it": "tagalog", "it": "tagalog",
"ja": "タガログ語", "ja": "タガログ語",
"nb_NO": "tagalog", "nb_NO": "tagalog",
"nl": "Tagalog", "nl": "Tagalog",
"pl": "język tagalski", "pl": "język tagalski",
"pt": "língua tagalo", "pt": "língua tagalo",
"pt_BR": "Língua tagalo", "pt_BR": "língua tagalo",
"ru": "тагальский язык", "ru": "тагальский язык",
"sv": "tagalog", "sv": "tagalog",
"zh_Hant": "他加祿語", "zh_Hant": "他加祿語",
@ -10531,7 +10673,7 @@
"en": "Tahitian", "en": "Tahitian",
"eo": "tahitia lingvo", "eo": "tahitia lingvo",
"es": "tahitiano", "es": "tahitiano",
"fi": "tahitin kieli", "fi": "tahiti",
"fr": "tahitien", "fr": "tahitien",
"gl": "Lingua tahitiana", "gl": "Lingua tahitiana",
"hu": "tahiti", "hu": "tahiti",
@ -10682,7 +10824,7 @@
"pt": "ucraniano", "pt": "ucraniano",
"pt_BR": "língua ucraniana", "pt_BR": "língua ucraniana",
"ru": "украинский язык", "ru": "украинский язык",
"sl": "Ukrajinščina", "sl": "ukrajinščina",
"sv": "ukrainska", "sv": "ukrainska",
"zh_Hans": "乌克兰语", "zh_Hans": "乌克兰语",
"zh_Hant": "烏克蘭語", "zh_Hant": "烏克蘭語",
@ -11290,7 +11432,7 @@
"nl": "Yapees", "nl": "Yapees",
"pl": "Język yap", "pl": "Język yap",
"pt": "Língua yap", "pt": "Língua yap",
"ru": "Япский язык", "ru": "япский язык",
"_meta": { "_meta": {
"dir": [ "dir": [
"left-to-right" "left-to-right"
@ -11333,7 +11475,7 @@
"da": "jiddisch", "da": "jiddisch",
"de": "Jiddisch", "de": "Jiddisch",
"en": "Yiddish", "en": "Yiddish",
"eo": "jida", "eo": "jido",
"es": "yidis", "es": "yidis",
"fi": "jiddiš", "fi": "jiddiš",
"fr": "yiddish", "fr": "yiddish",
@ -11540,7 +11682,7 @@
"pt": "língua chinesa", "pt": "língua chinesa",
"pt_BR": "língua chinesa", "pt_BR": "língua chinesa",
"ru": "китайский язык", "ru": "китайский язык",
"sl": "Kitajščina", "sl": "kitajščina",
"sv": "kinesiska", "sv": "kinesiska",
"zh_Hans": "中文", "zh_Hans": "中文",
"zh_Hant": "漢語", "zh_Hant": "漢語",
@ -11603,6 +11745,7 @@
"pl": "język chiński uproszczony", "pl": "język chiński uproszczony",
"pt": "chinês simplificado", "pt": "chinês simplificado",
"ru": "упрощённый китайский", "ru": "упрощённый китайский",
"sl": "poenostavljena kitajščina",
"sv": "förenklad kinesiska", "sv": "förenklad kinesiska",
"zh_Hans": "简体中文", "zh_Hans": "简体中文",
"zh_Hant": "簡體中文", "zh_Hant": "簡體中文",

View file

@ -687,7 +687,7 @@
"ca": "Informació sobre teatres, concerts, ...", "ca": "Informació sobre teatres, concerts, ...",
"es": "Información sobre teatros, conciertos, ...", "es": "Información sobre teatros, conciertos, ...",
"en": "Information related to theatre, concerts, …", "en": "Information related to theatre, concerts, …",
"de": "Informationen über Theater, Konzerte, ...", "de": "Informationen über Theater, Konzerte, ",
"cs": "Informace týkající se divadla, koncertů, ...", "cs": "Informace týkající se divadla, koncertů, ...",
"fr": "Informations liées au théâtre, à des concerts, …", "fr": "Informations liées au théâtre, à des concerts, …",
"nl": "Informatie over cultuurevenementen zoals theaters, optredens, …", "nl": "Informatie over cultuurevenementen zoals theaters, optredens, …",

View file

@ -835,7 +835,7 @@
"questionHint": { "questionHint": {
"en": "E.g. on a mounted plaque, in the backrest, …", "en": "E.g. on a mounted plaque, in the backrest, …",
"nl": "Bijvoorbeeld op een aangebracht plakkaat, ingesneden in de rugleuning, ...", "nl": "Bijvoorbeeld op een aangebracht plakkaat, ingesneden in de rugleuning, ...",
"de": "Z.B. auf einer angebrachten Plakette, in der Rückenlehne, ...", "de": "Z.B. auf einer angebrachten Plakette, in der Rückenlehne, ",
"fr": "Par exemple, sur une plaque accrochée, sur le dossier, ...", "fr": "Par exemple, sur une plaque accrochée, sur le dossier, ...",
"ca": "P. ex. en una placa, al respatller, ...", "ca": "P. ex. en una placa, al respatller, ...",
"cs": "Např. na připevněné desce, v opěradle, ...", "cs": "Např. na připevněné desce, v opěradle, ...",

View file

@ -66,7 +66,7 @@
"then": { "then": {
"en": "Sports gear shop <i>{name}</i>", "en": "Sports gear shop <i>{name}</i>",
"nl": "Sportwinkel <i>{name}</i>", "nl": "Sportwinkel <i>{name}</i>",
"fr": "Magasin de sport <i>{name}</i>", "fr": "Magasin d'équipements de sport <i>{name}</i>",
"it": "Negozio di articoli sportivi <i>{name}</i>", "it": "Negozio di articoli sportivi <i>{name}</i>",
"ru": "Магазин спортивного инвентаря <i>{name}</i>", "ru": "Магазин спортивного инвентаря <i>{name}</i>",
"de": "Sportartikelgeschäft <i>{name}</i>", "de": "Sportartikelgeschäft <i>{name}</i>",
@ -112,7 +112,7 @@
"then": { "then": {
"nl": "Fietsverhuur <i>{name}</i>", "nl": "Fietsverhuur <i>{name}</i>",
"en": "Bicycle rental shop <i>{name}</i>", "en": "Bicycle rental shop <i>{name}</i>",
"fr": "Location de vélo <i>{name}</i>", "fr": "Magasin de location de vélo <i>{name}</i>",
"it": "Noleggio di biciclette <i>{name}</i>", "it": "Noleggio di biciclette <i>{name}</i>",
"ru": "Прокат велосипедов <i>{name}</i>", "ru": "Прокат велосипедов <i>{name}</i>",
"de": "Fahrradverleih <i>{name}</i>", "de": "Fahrradverleih <i>{name}</i>",
@ -865,7 +865,8 @@
"nl": "Verkoopt tweedehands fietsen", "nl": "Verkoopt tweedehands fietsen",
"it": "Vende biciclette usate", "it": "Vende biciclette usate",
"ca": "Ven bicicletes de segona mà", "ca": "Ven bicicletes de segona mà",
"cs": "Prodává použitá jízdní kola" "cs": "Prodává použitá jízdní kola",
"fr": "Vend des vélos usagés"
}, },
"osmTags": { "osmTags": {
"or": [ "or": [
@ -885,7 +886,8 @@
"de": "Bietet Selbstreparatur an", "de": "Bietet Selbstreparatur an",
"nl": "Biedt doe-het-zelfreparaties aan", "nl": "Biedt doe-het-zelfreparaties aan",
"it": "Offre riparazioni fai da te", "it": "Offre riparazioni fai da te",
"cs": "Nabízí opravy kol \"Udělej si sám\"" "cs": "Nabízí opravy kol \"Udělej si sám\"",
"fr": "Offre des services DIY"
}, },
"osmTags": { "osmTags": {
"or": [ "or": [

View file

@ -1,7 +1,8 @@
{ {
"id": "shower", "id": "shower",
"name": { "name": {
"en": "Shower" "en": "Shower",
"de": "Dusche"
}, },
"minzoom": 12, "minzoom": 12,
"source": { "source": {
@ -9,16 +10,19 @@
}, },
"title": { "title": {
"render": { "render": {
"en": "Shower" "en": "Shower",
"de": "Dusche"
} }
}, },
"presets": [ "presets": [
{ {
"title": { "title": {
"en": "a shower" "en": "a shower",
"de": "eine Dusche"
}, },
"description": { "description": {
"en": "A (public) shower" "en": "A (public) shower",
"de": "Eine (öffentliche) Dusche"
}, },
"tags": [ "tags": [
"amenity=shower" "amenity=shower"
@ -31,25 +35,29 @@
{ {
"id": "access", "id": "access",
"question": { "question": {
"en": "Who can use this shower?" "en": "Who can use this shower?",
"de": "Wer darf diese Dusche nutzen?"
}, },
"mappings": [ "mappings": [
{ {
"if": "access=yes", "if": "access=yes",
"then": { "then": {
"en": "Anyone can use this shower" "en": "Anyone can use this shower",
"de": "Jeder darf diese Dusche nutzen"
} }
}, },
{ {
"if": "access=customers", "if": "access=customers",
"then": { "then": {
"en": "Only customers can use this shower" "en": "Only customers can use this shower",
"de": "Nur Kunden dürfen diese Dusche nutzen"
} }
}, },
{ {
"if": "access=key", "if": "access=key",
"then": { "then": {
"en": "Accesible, but one has to ask for a key" "en": "Accesible, but one has to ask for a key",
"de": "Zugänglich, aber man muss nach einem Schlüssel fragen"
} }
} }
] ]
@ -57,19 +65,22 @@
{ {
"id": "fee", "id": "fee",
"question": { "question": {
"en": "Is there a fee for using this shower?" "en": "Is there a fee for using this shower?",
"de": "Ist die Nutzung der Dusche kostenpflichtig?"
}, },
"mappings": [ "mappings": [
{ {
"if": "fee=yes", "if": "fee=yes",
"then": { "then": {
"en": "There is a fee for using this shower" "en": "There is a fee for using this shower",
"de": "Die Nutzung der Dusche ist kostenpflichtig"
} }
}, },
{ {
"if": "fee=no", "if": "fee=no",
"then": { "then": {
"en": "This shower is free to use" "en": "This shower is free to use",
"de": "Die Nutzung der Dusche ist kostenlos"
}, },
"addExtraTags": [ "addExtraTags": [
"charge=" "charge="
@ -81,42 +92,49 @@
"id": "charge", "id": "charge",
"condition": "fee=yes", "condition": "fee=yes",
"question": { "question": {
"en": "How much does it cost to use this shower?" "en": "How much does it cost to use this shower?",
"de": "Wie viel kostet es, diese Dusche zu nutzen?"
}, },
"freeform": { "freeform": {
"key": "charge", "key": "charge",
"type": "string", "type": "string",
"placeholder": { "placeholder": {
"en": "e.g. 1.50 EUR" "en": "e.g. 1.50 EUR",
"de": "z.B. 1,50 EUR"
} }
}, },
"render": { "render": {
"en": "It costs {charge} to use this shower" "en": "It costs {charge} to use this shower",
"de": "Es kostet {charge} um diese Dusche zu nutzen"
} }
}, },
"opening_hours", "opening_hours",
{ {
"id": "hot_water", "id": "hot_water",
"question": { "question": {
"en": "Does this shower have hot water available?" "en": "Does this shower have hot water available?",
"de": "Verfügt diese Dusche über Warmwasser?"
}, },
"mappings": [ "mappings": [
{ {
"if": "hot_water=yes", "if": "hot_water=yes",
"then": { "then": {
"en": "Hot water is available here" "en": "Hot water is available here",
"de": "Warmwasser ist hier verfügbar"
} }
}, },
{ {
"if": "hot_water=fee", "if": "hot_water=fee",
"then": { "then": {
"en": "Hot water is available here, but there is a fee" "en": "Hot water is available here, but there is a fee",
"de": "Warmes Wasser ist hier verfügbar, aber kostenpflichtig"
} }
}, },
{ {
"if": "hot_water=no", "if": "hot_water=no",
"then": { "then": {
"en": "There is no hot water available here" "en": "There is no hot water available here",
"de": "Hier gibt es kein warmes Wasser"
} }
} }
] ]
@ -140,7 +158,8 @@
"options": [ "options": [
{ {
"question": { "question": {
"en": "Hot water available" "en": "Hot water available",
"de": "Warmwasser verfügbar"
}, },
"osmTags": { "osmTags": {
"or": [ "or": [
@ -182,6 +201,7 @@
} }
], ],
"description": { "description": {
"en": "A layer showing (public) showers" "en": "A layer showing (public) showers",
"de": "Eine Ebene mit (öffentlichen) Duschen"
} }
} }

View file

@ -181,31 +181,36 @@
{ {
"id": "basketball-hoops", "id": "basketball-hoops",
"question": { "question": {
"en": "How much basketball hoops does this pitch have?" "en": "How much basketball hoops does this pitch have?",
"de": "Wie viele Basketballkörbe hat das Spielfeld?"
}, },
"mappings": [ "mappings": [
{ {
"if": "hoops=1", "if": "hoops=1",
"then": { "then": {
"en": "This basketball pitch has a single hoop" "en": "This basketball pitch has a single hoop",
"de": "Dieses Basketballfeld hat einen einzigen Korb"
} }
}, },
{ {
"if": "hoops=2", "if": "hoops=2",
"then": { "then": {
"en": "This basketball pitch has two hoops" "en": "This basketball pitch has two hoops",
"de": "Dieses Basketballfeld hat zwei Körbe"
} }
}, },
{ {
"if": "hoops=4", "if": "hoops=4",
"then": { "then": {
"en": "This basketball pitch has four hoops" "en": "This basketball pitch has four hoops",
"de": "Dieses Basketballfeld hat vier Körbe"
} }
}, },
{ {
"if": "hoops~*", "if": "hoops~*",
"then": { "then": {
"en": "This basketball pitch has {hoops} hoops" "en": "This basketball pitch has {hoops} hoops",
"de": "Dieses Basketballfeld hat {hoops} Körbe"
}, },
"hideInAnswer": true "hideInAnswer": true
} }

View file

@ -244,7 +244,8 @@
"type": "string", "type": "string",
"placeholder": { "placeholder": {
"en": "e.g. 0.50 EUR", "en": "e.g. 0.50 EUR",
"nl": "bijv. 0.50 EUR" "nl": "bijv. 0.50 EUR",
"de": "z.B. 0.50 EUR"
} }
}, },
"id": "toilet-charge" "id": "toilet-charge"

View file

@ -10,7 +10,8 @@
"render": { "render": {
"en": "Settings", "en": "Settings",
"nl": "Instellingen", "nl": "Instellingen",
"de": "Einstellungen" "de": "Einstellungen",
"fr": "Paramètres"
} }
}, },
"source": "special", "source": "special",
@ -150,7 +151,8 @@
"id": "show_tags", "id": "show_tags",
"question": { "question": {
"en": "Show the raw OpenStreetMap-tags?", "en": "Show the raw OpenStreetMap-tags?",
"de": "Rohe OpenStreetMap-Tags anzeigen?" "de": "Rohe OpenStreetMap-Tags anzeigen?",
"fr": "Afficher les attributs OpenStreetMap bruts ?"
}, },
"questionHint": { "questionHint": {
"en": "<b>Tags</b> are attributes that every element has. This is the technical data that is stored in the database. You don't need this information to edit with MapComplete, but advanced users might want to use this as reference.", "en": "<b>Tags</b> are attributes that every element has. This is the technical data that is stored in the database. You don't need this information to edit with MapComplete, but advanced users might want to use this as reference.",

View file

@ -84,7 +84,8 @@
"text": { "text": {
"en": "Import this ATM", "en": "Import this ATM",
"de": "Diesen Geldautomaten importieren", "de": "Diesen Geldautomaten importieren",
"zh_Hant": "匯入這座 ATM" "zh_Hant": "匯入這座 ATM",
"nl": "Voeg deze ATM toe"
}, },
"icon": "./assets/svg/addSmall.svg" "icon": "./assets/svg/addSmall.svg"
} }

View file

@ -1,11 +1,11 @@
{ {
"contributors": [ "contributors": [
{ {
"commits": 279, "commits": 283,
"contributor": "kjon" "contributor": "kjon"
}, },
{ {
"commits": 274, "commits": 275,
"contributor": "Pieter Vander Vennet" "contributor": "Pieter Vander Vennet"
}, },
{ {
@ -36,6 +36,10 @@
"commits": 32, "commits": 32,
"contributor": "Babos Gábor" "contributor": "Babos Gábor"
}, },
{
"commits": 31,
"contributor": "Supaplex"
},
{ {
"commits": 30, "commits": 30,
"contributor": "Jiří Podhorecký" "contributor": "Jiří Podhorecký"
@ -44,14 +48,14 @@
"commits": 29, "commits": 29,
"contributor": "Artem" "contributor": "Artem"
}, },
{
"commits": 28,
"contributor": "Supaplex"
},
{ {
"commits": 25, "commits": 25,
"contributor": "Reza Almanda" "contributor": "Reza Almanda"
}, },
{
"commits": 23,
"contributor": "Lucas"
},
{ {
"commits": 22, "commits": 22,
"contributor": "Marco" "contributor": "Marco"
@ -60,21 +64,17 @@
"commits": 21, "commits": 21,
"contributor": "SC" "contributor": "SC"
}, },
{
"commits": 19,
"contributor": "Lucas"
},
{ {
"commits": 18, "commits": 18,
"contributor": "el_libre como el chaval" "contributor": "el_libre como el chaval"
}, },
{ {
"commits": 15, "commits": 16,
"contributor": "WaldiS" "contributor": "mcliquid"
}, },
{ {
"commits": 14, "commits": 15,
"contributor": "mcliquid" "contributor": "WaldiS"
}, },
{ {
"commits": 14, "commits": 14,
@ -100,6 +100,10 @@
"commits": 11, "commits": 11,
"contributor": "Túllio Franca" "contributor": "Túllio Franca"
}, },
{
"commits": 10,
"contributor": "brunnerpaul"
},
{ {
"commits": 10, "commits": 10,
"contributor": "pdassori" "contributor": "pdassori"
@ -324,6 +328,10 @@
"commits": 3, "commits": 3,
"contributor": "SiegbjornSitumeang" "contributor": "SiegbjornSitumeang"
}, },
{
"commits": 2,
"contributor": "Emory Shaw"
},
{ {
"commits": 2, "commits": 2,
"contributor": "lmagreault" "contributor": "lmagreault"

View file

@ -60,7 +60,7 @@
"intro": "Der Benutzer wird von einer Karte mit Objekten begrüßt. Wenn er eines auswählt, werden Informationen über das Objekt angezeigt.", "intro": "Der Benutzer wird von einer Karte mit Objekten begrüßt. Wenn er eines auswählt, werden Informationen über das Objekt angezeigt.",
"title": "Wie sieht die Benutzeroberfläche aus?" "title": "Wie sieht die Benutzeroberfläche aus?"
}, },
"examples": "Es gibt viele thematische Karten, von denen hier einige dargestellt sind.\n\nEs gibt noch viele weitere thematische Karten online: über das Gesundheitswesen, Indoor-Navigation, Zugänglichkeit für Rollstuhlfahrer, Abfallentsorgungsanlagen, öffentliche Bücherschränke, Fußgängerüberwege mit Regenbogenmalerei,... Entdecken Sie sie alle auf mapcomplete.osm.be", "examples": "Es gibt viele thematische Karten, von denen hier einige dargestellt sind.\n\nEs gibt noch viele weitere thematische Karten online: über das Gesundheitswesen, Indoor-Navigation, Zugänglichkeit für Rollstuhlfahrer, Abfallentsorgungsanlagen, öffentliche Bücherschränke, Fußgängerüberwege mit Regenbogenmalerei, Entdecken Sie sie alle auf mapcomplete.osm.be",
"fakeui": { "fakeui": {
"add_images": "Bilder mit ein paar Klicks hinzufügen", "add_images": "Bilder mit ein paar Klicks hinzufügen",
"attributes": "Zeigt Attribute in einer freundlichen Art und Weise", "attributes": "Zeigt Attribute in einer freundlichen Art und Weise",
@ -92,6 +92,7 @@
"whatIsOsm": "Was ist OpenStreetMap?" "whatIsOsm": "Was ist OpenStreetMap?"
}, },
"general": { "general": {
"404": "Diese Seite existiert nicht",
"about": "OpenStreetMap für ein bestimmtes Thema einfach bearbeiten und hinzufügen", "about": "OpenStreetMap für ein bestimmtes Thema einfach bearbeiten und hinzufügen",
"aboutMapComplete": { "aboutMapComplete": {
"intro": "Nutze MapComplete, um Daten zu <b>einem bestimmten Thema</b> auf OpenStreetMap einzutragen. Beantworte Frage, und in wenigen Minuten sind die Beiträge überall verfügbar. In den meisten Themen kannst Du Bilder hinzufügen oder sogar eine Bewertung hinterlassen. Die <b>Themen-Ersteller*innen</b> definieren Objekte, Fragen und Begriffe für das jeweilige Thema." "intro": "Nutze MapComplete, um Daten zu <b>einem bestimmten Thema</b> auf OpenStreetMap einzutragen. Beantworte Frage, und in wenigen Minuten sind die Beiträge überall verfügbar. In den meisten Themen kannst Du Bilder hinzufügen oder sogar eine Bewertung hinterlassen. Die <b>Themen-Ersteller*innen</b> definieren Objekte, Fragen und Begriffe für das jeweilige Thema."

View file

@ -1,4 +1,7 @@
{ {
"advanced": {
"title": "Fonctionnalités avancées"
},
"centerMessage": { "centerMessage": {
"loadingData": "Chargement des données…", "loadingData": "Chargement des données…",
"ready": "Fini !", "ready": "Fini !",
@ -208,6 +211,8 @@
"pickLanguage": "Choisir la langue : ", "pickLanguage": "Choisir la langue : ",
"poweredByOsm": "Propulsé par OpenStreetMap", "poweredByOsm": "Propulsé par OpenStreetMap",
"questionBox": { "questionBox": {
"answeredMultipleSkippedMultiple": "Vous avez répondu à {answered} questions et passé {skipped} questions",
"done": "Pas d'autre question ! Merci !",
"reactivate": "Réactiver les questions passées" "reactivate": "Réactiver les questions passées"
}, },
"questions": { "questions": {
@ -451,6 +456,7 @@
"missing": "{count} segments non traduits" "missing": "{count} segments non traduits"
}, },
"userinfo": { "userinfo": {
"editDescription": "Modifier ton profil",
"gotoInbox": "Ouvrir sa boite de réception", "gotoInbox": "Ouvrir sa boite de réception",
"gotoSettings": "Paramètres sur OpenStreetMap.org" "gotoSettings": "Paramètres sur OpenStreetMap.org"
}, },

View file

@ -129,7 +129,7 @@
"then": "Wahlwerbung" "then": "Wahlwerbung"
}, },
"4": { "4": {
"then": "Informationen über Theater, Konzerte, ..." "then": "Informationen über Theater, Konzerte, "
}, },
"5": { "5": {
"then": "Nachricht von gemeinnützigen Organisationen" "then": "Nachricht von gemeinnützigen Organisationen"
@ -731,7 +731,7 @@
} }
}, },
"question": "Hat diese Bank eine Inschrift?", "question": "Hat diese Bank eine Inschrift?",
"questionHint": "Z.B. auf einer angebrachten Plakette, in der Rückenlehne, ...", "questionHint": "Z.B. auf einer angebrachten Plakette, in der Rückenlehne, ",
"render": "Diese Bank hat folgende Inschrift:<br/><p><i>{inscription}</i></p>" "render": "Diese Bank hat folgende Inschrift:<br/><p><i>{inscription}</i></p>"
}, },
"bench-material": { "bench-material": {
@ -7542,6 +7542,76 @@
"render": "Geschäft" "render": "Geschäft"
} }
}, },
"shower": {
"description": "Eine Ebene mit (öffentlichen) Duschen",
"filter": {
"1": {
"options": {
"0": {
"question": "Warmwasser verfügbar"
}
}
}
},
"name": "Dusche",
"presets": {
"0": {
"description": "Eine (öffentliche) Dusche",
"title": "eine Dusche"
}
},
"tagRenderings": {
"access": {
"mappings": {
"0": {
"then": "Jeder darf diese Dusche nutzen"
},
"1": {
"then": "Nur Kunden dürfen diese Dusche nutzen"
},
"2": {
"then": "Zugänglich, aber man muss nach einem Schlüssel fragen"
}
},
"question": "Wer darf diese Dusche nutzen?"
},
"charge": {
"freeform": {
"placeholder": "z.B. 1,50 EUR"
},
"question": "Wie viel kostet es, diese Dusche zu nutzen?",
"render": "Es kostet {charge} um diese Dusche zu nutzen"
},
"fee": {
"mappings": {
"0": {
"then": "Die Nutzung der Dusche ist kostenpflichtig"
},
"1": {
"then": "Die Nutzung der Dusche ist kostenlos"
}
},
"question": "Ist die Nutzung der Dusche kostenpflichtig?"
},
"hot_water": {
"mappings": {
"0": {
"then": "Warmwasser ist hier verfügbar"
},
"1": {
"then": "Warmes Wasser ist hier verfügbar, aber kostenpflichtig"
},
"2": {
"then": "Hier gibt es kein warmes Wasser"
}
},
"question": "Verfügt diese Dusche über Warmwasser?"
}
},
"title": {
"render": "Dusche"
}
},
"slow_roads": { "slow_roads": {
"description": "Alle autofreien Straßen", "description": "Alle autofreien Straßen",
"tagRenderings": { "tagRenderings": {
@ -7696,6 +7766,23 @@
} }
}, },
"tagRenderings": { "tagRenderings": {
"basketball-hoops": {
"mappings": {
"0": {
"then": "Dieses Basketballfeld hat einen einzigen Korb"
},
"1": {
"then": "Dieses Basketballfeld hat zwei Körbe"
},
"2": {
"then": "Dieses Basketballfeld hat vier Körbe"
},
"3": {
"then": "Dieses Basketballfeld hat {hoops} Körbe"
}
},
"question": "Wie viele Basketballkörbe hat das Spielfeld?"
},
"sport-pitch-access": { "sport-pitch-access": {
"mappings": { "mappings": {
"0": { "0": {
@ -8347,6 +8434,9 @@
"render": "Die Wickeltabelle befindet sich in {changing_table:location}" "render": "Die Wickeltabelle befindet sich in {changing_table:location}"
}, },
"toilet-charge": { "toilet-charge": {
"freeform": {
"placeholder": "z.B. 0.50 EUR"
},
"question": "Wie viel muss man für die Nutzung bezahlen?", "question": "Wie viel muss man für die Nutzung bezahlen?",
"render": "Die Gebühr beträgt {charge}" "render": "Die Gebühr beträgt {charge}"
}, },

View file

@ -1293,6 +1293,22 @@
}, },
"bike_shop": { "bike_shop": {
"description": "Un magasin vendant spécifiquement des vélos ou des objets en lien", "description": "Un magasin vendant spécifiquement des vélos ou des objets en lien",
"filter": {
"1": {
"options": {
"0": {
"question": "Vend des vélos usagés"
}
}
},
"2": {
"options": {
"0": {
"question": "Offre des services DIY"
}
}
}
},
"name": "Magasin ou réparateur de vélo", "name": "Magasin ou réparateur de vélo",
"presets": { "presets": {
"0": { "0": {
@ -1414,13 +1430,13 @@
"title": { "title": {
"mappings": { "mappings": {
"0": { "0": {
"then": "Magasin de sport <i>{name}</i>" "then": "Magasin d'équipements de sport <i>{name}</i>"
}, },
"1": { "1": {
"then": "Magasin" "then": "Magasin"
}, },
"2": { "2": {
"then": "Location de vélo <i>{name}</i>" "then": "Magasin de location de vélo <i>{name}</i>"
}, },
"3": { "3": {
"then": "Réparateur de vélo <i>{name}</i>" "then": "Réparateur de vélo <i>{name}</i>"
@ -5604,6 +5620,9 @@
} }
} }
}, },
"show_tags": {
"question": "Afficher les attributs OpenStreetMap bruts ?"
},
"translation-completeness": { "translation-completeness": {
"render": "Les traductions pour {_theme} en {_language} sont à {_translation_percentage} % : {_translation_translated_count} chaînes traduites sur {_translation_total}" "render": "Les traductions pour {_theme} en {_language} sont à {_translation_percentage} % : {_translation_translated_count} chaînes traduites sur {_translation_total}"
}, },
@ -5635,6 +5654,9 @@
} }
} }
} }
},
"title": {
"render": "Paramètres"
} }
}, },
"veterinary": { "veterinary": {

View file

@ -14,6 +14,21 @@
}, },
"atm": { "atm": {
"description": "Deze kaart toont geldautomaten waar je geld kunt afhalen of geld op de bank kan zetten", "description": "Deze kaart toont geldautomaten waar je geld kunt afhalen of geld op de bank kan zetten",
"layers": {
"3": {
"override": {
"=tagRenderings": {
"0": {
"render": {
"special": {
"text": "Voeg deze ATM toe"
}
}
}
}
}
}
},
"title": "Geldautomaten" "title": "Geldautomaten"
}, },
"bag": { "bag": {

16
package-lock.json generated
View file

@ -1,12 +1,12 @@
{ {
"name": "mapcomplete", "name": "mapcomplete",
"version": "0.30.6", "version": "0.30.9",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "mapcomplete", "name": "mapcomplete",
"version": "0.30.6", "version": "0.30.9",
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"dependencies": { "dependencies": {
"@onsvisual/svelte-maps": "^1.1.6", "@onsvisual/svelte-maps": "^1.1.6",
@ -4475,9 +4475,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001492", "version": "1.0.30001516",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001516.tgz",
"integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==", "integrity": "sha512-Wmec9pCBY8CWbmI4HsjBeQLqDTqV91nFVR83DnZpYyRnPI1wePDsTg0bGLPC5VU/3OIZV1fmxEea1b+tFKe86g==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -15512,9 +15512,9 @@
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001492", "version": "1.0.30001516",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001516.tgz",
"integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==", "integrity": "sha512-Wmec9pCBY8CWbmI4HsjBeQLqDTqV91nFVR83DnZpYyRnPI1wePDsTg0bGLPC5VU/3OIZV1fmxEea1b+tFKe86g==",
"dev": true "dev": true
}, },
"canvg": { "canvg": {