Merge branch 'master' into develop

This commit is contained in:
pietervdvn 2022-08-05 13:12:14 +02:00
commit 7e1e3c15dc
68 changed files with 1678 additions and 3734 deletions

View file

@ -834,6 +834,8 @@ The following layers are included in MapComplete:
- [kindergarten_childcare](./Layers/kindergarten_childcare.md)
- [left_right_style](./Layers/left_right_style.md)
- [map](./Layers/map.md)
- [maproulette](./Layers/maproulette.md)
- [maproulette_challenge](./Layers/maproulette_challenge.md)
- [matchpoint](./Layers/matchpoint.md)
- [maxspeed](./Layers/maxspeed.md)
- [named_streets](./Layers/named_streets.md)

View file

@ -1,6 +1,5 @@
Metatags
==========
@ -286,7 +285,7 @@ Points from other layers are ignored - even if the points are parts of the curre
### closest
Given either a list of geojson features or a single layer name, gives the single object which is nearest to the feature. In the case of ways/polygons, only the centerpoint is considered. Returns a single geojson feature or undefined if nothing is found (or not yet laoded)
Given either a list of geojson features or a single layer name, gives the single object which is nearest to the feature. In the case of ways/polygons, only the centerpoint is considered. Returns a single geojson feature or undefined if nothing is found (or not yet loaded)
0. list of features or a layer name or '*' to get all features

View file

@ -26,7 +26,6 @@ A layer showing bicycle pumps and bicycle repair tool stands
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
- [onwheels](https://mapcomplete.osm.be/onwheels)
- [personal](https://mapcomplete.osm.be/personal)
@ -249,7 +248,7 @@ Only visible if `service:bicycle:tools=yes` is shown
### Email maintainer
### send_email_about_broken_pump

View file

@ -26,7 +26,6 @@ A shop specifically selling bicycles or related items
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
- [onwheels](https://mapcomplete.osm.be/onwheels)
- [personal](https://mapcomplete.osm.be/personal)

View file

@ -5,7 +5,7 @@
<img src='https://mapcomplete.osm.be/circle:white;./assets/layers/entrance/door.svg' height="100px">
<img src='https://mapcomplete.osm.be/circle:white;./assets/layers/entrance/entrance.svg' height="100px">
A layer showing entrances and offering capabilities to survey some advanced data which is important for e.g. wheelchair users (but also bicycle users, people who want to deliver, …)
@ -17,6 +17,7 @@ A layer showing entrances and offering capabilities to survey some advanced data
- This layer is shown at zoomlevel **14** and higher
- This layer will automatically load [walls_and_buildings](./walls_and_buildings.md) into the layout as it depends on it: a preset snaps to this layer (presets[0])
- This layer will automatically load [pedestrian_path](./pedestrian_path.md) into the layout as it depends on it: a preset snaps to this layer (presets[0])
- This layer will automatically load [indoors](./indoors.md) into the layout as it depends on it: a preset snaps to this layer (presets[1])
- This layer is needed as dependency for layer [walls_and_buildings](#walls_and_buildings)
@ -28,7 +29,7 @@ A layer showing entrances and offering capabilities to survey some advanced data
- [entrances](https://mapcomplete.osm.be/entrances)
- [indoors](https://mapcomplete.osm.be/indoors)
- [onwheels](https://mapcomplete.osm.be/onwheels)
- [personal](https://mapcomplete.osm.be/personal)

View file

@ -25,7 +25,6 @@ This layer show governmental buildings. It was setup as commissioned layer for t
- [governments](https://mapcomplete.osm.be/governments)
- [onwheels](https://mapcomplete.osm.be/onwheels)
- [personal](https://mapcomplete.osm.be/personal)

View file

@ -15,6 +15,7 @@ Basic indoor mapping: shows room outlines
- This layer is shown at zoomlevel **13** and higher
- This layer is needed as dependency for layer [entrance](#entrance)
@ -53,6 +54,17 @@ Elements must have the all of following tags to be shown on this layer:
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/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) |
### images
@ -63,6 +75,20 @@ This block shows the known images which are linked with the `image`-keys, but al
This tagrendering has no question and is thus read-only
### ref
The question is What is the name of this room?
This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name)
This is rendered with This room is named {name}
This document is autogenerated from [assets/layers/indoors/indoors.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/indoors/indoors.json)

View file

@ -0,0 +1,89 @@
maproulette
=============
<img src='https://mapcomplete.osm.be/./assets/layers/maproulette/logomark.svg' height="100px">
Layer showing all tasks in MapRoulette
- This layer is shown at zoomlevel **15** and higher
- <img src='../warning.svg' height='1rem'/> This layer is loaded from an external source, namely `https://maproulette.org/api/v2/tasks/box/{x_min}/{y_min}/{x_max}/{y_max}`
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- id~^..*$
[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22id%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B)
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/status#values) [status](https://wiki.openstreetmap.org/wiki/Key:status) | Multiple choice | [0](https://wiki.openstreetmap.org/wiki/Tag:status%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:status%3D1) [2](https://wiki.openstreetmap.org/wiki/Tag:status%3D2) [3](https://wiki.openstreetmap.org/wiki/Tag:status%3D3) [4](https://wiki.openstreetmap.org/wiki/Tag:status%3D4) [5](https://wiki.openstreetmap.org/wiki/Tag:status%3D5) [6](https://wiki.openstreetmap.org/wiki/Tag:status%3D6) [9](https://wiki.openstreetmap.org/wiki/Tag:status%3D9)
### status
This tagrendering has no question and is thus read-only
- Task is created corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:status' target='_blank'>status</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:status%3D0' target='_blank'>0</a>`
- Task is fixed corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:status' target='_blank'>status</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:status%3D1' target='_blank'>1</a>`
- Task is a false positive corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:status' target='_blank'>status</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:status%3D2' target='_blank'>2</a>`
- Task is skipped corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:status' target='_blank'>status</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:status%3D3' target='_blank'>3</a>`
- Task is deleted corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:status' target='_blank'>status</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:status%3D4' target='_blank'>4</a>`
- Task is already fixed corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:status' target='_blank'>status</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:status%3D5' target='_blank'>5</a>`
- Task is marked as too hard corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:status' target='_blank'>status</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:status%3D6' target='_blank'>6</a>`
- Task is disabled corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:status' target='_blank'>status</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:status%3D9' target='_blank'>9</a>`
### blurb
This tagrendering has no question and is thus read-only
Only visible if `blurb~^..*$` is shown
This document is autogenerated from [assets/layers/maproulette/maproulette.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/maproulette/maproulette.json)

View file

@ -0,0 +1,112 @@
maproulette_challenge
=======================
<img src='https://mapcomplete.osm.be/./assets/layers/maproulette/logomark.svg' height="100px">
Layer showing tasks of a MapRoulette challenge
- This layer is shown at zoomlevel **0** and higher
- Not visible in the layer selection by default. If you want to make this layer toggable, override `name`
- <img src='../warning.svg' height='1rem'/> This layer is loaded from an external source, namely `https://maproulette.org/api/v2/challenge/view/27971`
#### Themes using this layer
- [onwheels](https://mapcomplete.osm.be/onwheels)
- [personal](https://mapcomplete.osm.be/personal)
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- id~^..*$
[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B(%20%20%20%20nwr%5B%22id%22%5D(%7B%7Bbbox%7D%7D)%3B%0A)%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B)
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/mr_taskStatus#values) [mr_taskStatus](https://wiki.openstreetmap.org/wiki/Key:mr_taskStatus) | Multiple choice | [Created](https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DCreated) [Fixed](https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DFixed) [False positive](https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DFalse positive) [Skipped](https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DSkipped) [Deleted](https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DDeleted) [Already fixed](https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DAlready fixed) [Too hard](https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DToo hard) [Disabled](https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DDisabled)
### details
This tagrendering has no question and is thus read-only
### status
This tagrendering has no question and is thus read-only
- Task is created corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:mr_taskStatus' target='_blank'>mr_taskStatus</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DCreated' target='_blank'>Created</a>`
- Task is fixed corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:mr_taskStatus' target='_blank'>mr_taskStatus</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DFixed' target='_blank'>Fixed</a>`
- Task is a false positive corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:mr_taskStatus' target='_blank'>mr_taskStatus</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DFalse positive' target='_blank'>False positive</a>`
- Task is skipped corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:mr_taskStatus' target='_blank'>mr_taskStatus</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DSkipped' target='_blank'>Skipped</a>`
- Task is deleted corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:mr_taskStatus' target='_blank'>mr_taskStatus</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DDeleted' target='_blank'>Deleted</a>`
- Task is already fixed corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:mr_taskStatus' target='_blank'>mr_taskStatus</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DAlready fixed' target='_blank'>Already fixed</a>`
- Task is marked as too hard corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:mr_taskStatus' target='_blank'>mr_taskStatus</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DToo hard' target='_blank'>Too hard</a>`
- Task is disabled corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:mr_taskStatus' target='_blank'>mr_taskStatus</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:mr_taskStatus%3DDisabled' target='_blank'>Disabled</a>`
### blurb
This tagrendering has no question and is thus read-only
Only visible if `blurb~^..*$` is shown
This document is autogenerated from [assets/layers/maproulette_challenge/maproulette_challenge.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/maproulette_challenge/maproulette_challenge.json)

View file

@ -27,7 +27,7 @@ Pedestrian footpaths, especially used for indoor navigation and snapping entranc
- [entrances](https://mapcomplete.osm.be/entrances)
- [indoors](https://mapcomplete.osm.be/indoors)
- [onwheels](https://mapcomplete.osm.be/onwheels)
- [personal](https://mapcomplete.osm.be/personal)

View file

@ -27,7 +27,6 @@ The layer showing picnic tables
- [benches](https://mapcomplete.osm.be/benches)
- [nature](https://mapcomplete.osm.be/nature)
- [onwheels](https://mapcomplete.osm.be/onwheels)
- [personal](https://mapcomplete.osm.be/personal)

View file

@ -28,7 +28,6 @@ Schools giving primary and secondary education and post-secondary, non-tertiary
- [education](https://mapcomplete.osm.be/education)
- [onwheels](https://mapcomplete.osm.be/onwheels)
- [personal](https://mapcomplete.osm.be/personal)

View file

@ -19,18 +19,6 @@ A nice viewpoint or nice view. Ideal to add an image if no other category fits
#### Themes using this layer
- [onwheels](https://mapcomplete.osm.be/onwheels)
- [personal](https://mapcomplete.osm.be/personal)
Basic tags for this layer
---------------------------

View file

@ -34,7 +34,7 @@ Special builtin layer providing all walls and buildings. This layer is useful in
- [aed](https://mapcomplete.osm.be/aed)
- [entrances](https://mapcomplete.osm.be/entrances)
- [indoors](https://mapcomplete.osm.be/indoors)
- [onwheels](https://mapcomplete.osm.be/onwheels)
- [personal](https://mapcomplete.osm.be/personal)
- [surveillance](https://mapcomplete.osm.be/surveillance)
@ -63,34 +63,32 @@ Elements must have the all of following tags to be shown on this layer:
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/_entrance:width#values) [_entrance:width](https://wiki.openstreetmap.org/wiki/Key:_entrance:width) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:_entrance:width%3D)
### _entrance:width
### entrance_info
This tagrendering has no question and is thus read-only
This rendering asks information about the property [_entrance:width](https://wiki.openstreetmap.org/wiki/Key:_entrance:width)
This is rendered with <a href ='#{_entrance:id} '>This door has a width of {canonical(_entrance:width)} meters </a>
- No entrance has been marked corresponds with `<a href='https://wiki.openstreetmap.org/wiki/Key:_entrances_count' target='_blank'>_entrances_count</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:_entrances_count%3D0' target='_blank'>0</a>`
- None of the {_entrance_count} entrances have width information yet corresponds with `_entrances_count_without_width=_entrances_count`
- This entrance has no width information corresponds with ``
### biggest_width
This tagrendering has no question and is thus read-only
Only visible if `_biggest_width_id~^..*$` is shown
This document is autogenerated from [assets/layers/walls_and_buildings/walls_and_buildings.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/walls_and_buildings/walls_and_buildings.json)

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

View file

@ -15,9 +15,28 @@ General usage is `{func_name()}`, `{func_name(arg, someotherarg)}` or `{func_nam
Instead of using `{"render": {"en": "{some_special_visualisation(some_arg, some other really long message, more args)} , "nl": "{some_special_visualisation(some_arg, een boodschap in een andere taal, more args)}}` , one can also write
Instead of using `{"render": {"en": "{some_special_visualisation(some_arg, some other really long message, more args)} , "nl": "{some_special_visualisation(some_arg, een boodschap in een andere taal, more args)}}`, one can also write
`{"render":{"special":{"type":"some_special_visualisation","argname":"some_arg","message":{"en":"some other really long message","nl":"een boodschap in een andere taal"},"other_arg_name":"more args"}}}`
`{
"render": {
"special": {
"type": "some_special_visualisation",
"before": {
"en": "Some text to prefix before the special element (e.g. a title)",
"nl": "Een tekst om voor het element te zetten (bv. een titel)"
},
"after": {
"en": "Some text to put after the element, e.g. a footer"
},
"argname": "some_arg",
"message": {
"en": "some other really long message",
"nl": "een boodschap in een andere taal"
},
"other_arg_name": "more args"
}
}
}`
## Table of contents
@ -83,8 +102,16 @@ Instead of using `{"render": {"en": "{some_special_visualisation(some_arg, some
* [Example usage of nearby_images](#example-usage-of-nearby_images)
+ [mapillary_link](#mapillary_link)
* [Example usage of mapillary_link](#example-usage-of-mapillary_link)
+ [maproulette_task](#maproulette_task)
* [Example usage of maproulette_task](#example-usage-of-maproulette_task)
+ [statistics](#statistics)
* [Example usage of statistics](#example-usage-of-statistics)
+ [send_email](#send_email)
* [Example usage of send_email](#example-usage-of-send_email)
+ [multi](#multi)
* [Example usage of multi](#example-usage-of-multi)
+ [steal](#steal)
* [Example usage of steal](#example-usage-of-steal)
+ [auto_apply](#auto_apply)
* [Example usage of auto_apply](#example-usage-of-auto_apply)
@ -698,6 +725,16 @@ zoom | 18 | The startzoom of mapillary
### maproulette_task
Show details of a MapRoulette task
#### Example usage of maproulette_task
`{maproulette_task()}`
### statistics
Show general statistics about the elements currently in view. Intended to use on the `current_view`-layer
@ -708,6 +745,67 @@ zoom | 18 | The startzoom of mapillary
### send_email
Creates a `mailto`-link where some fields are already set and correctly escaped. The user will be promted to send the email
name | default | description
------ | --------- | -------------
to | _undefined_ | Who to send the email to?
subject | _undefined_ | The subject of the email
body | _undefined_ | The text in the email
button_text | _undefined_ | The text shown on the button in the UI
#### Example usage of send_email
`{send_email(,,,)}`
### multi
Given an embedded tagRendering (read only) and a key, will read the keyname as a JSON-list. Every element of this list will be considered as tags and rendered with the tagRendering
name | default | description
------ | --------- | -------------
key | _undefined_ | The property to read and to interpret as a list of properties
tagrendering | _undefined_ | An entire tagRenderingConfig
#### Example usage of multi
```json
{
"render": {
"special": {
"type": "multi",
"key": "_doors_from_building_properties",
"tagRendering": {
"render": "The building containing this feature has a <a href='#{id}'>door</a> of width {entrance:width}"
}
}
}
}```
### steal
Shows a tagRendering from a different object as if this was the object itself
name | default | description
------ | --------- | -------------
featureId | _undefined_ | The key of the attribute which contains the id of the feature from which to use the tags
tagRenderingId | _undefined_ | The layer-id and tagRenderingId to render. Can be multiple value if ';'-separated (in which case every value must also contain the layerId, e.g. `layerId.tagRendering0; layerId.tagRendering1`). Note: this can cause layer injection
#### Example usage of steal
`{steal(,)}`
### auto_apply
A button to run many actions for many features at once. To effectively use this button, you'll need some ingredients:

View file

@ -5,7 +5,7 @@
"description": "On this map, publicly accessible indoor places are shown",
"project_url": "https://mapcomplete.osm.be/indoors",
"doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/",
"icon_url": "https://mapcomplete.osm.be/assets/themes/onwheels/crest.svg",
"icon_url": "https://mapcomplete.osm.be/assets/layers/entrance/entrance.svg",
"contact_name": "Pieter Vander Vennet, MapComplete",
"contact_email": "pietervdvn@posteo.net"
},
@ -50,6 +50,261 @@
{
"key": "wikipedia",
"description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary"
},
{
"key": "name",
"description": "Layer 'indoors' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Indoors')"
},
{
"key": "highway",
"description": "The MapComplete theme Indoors has a layer Pedestrian paths showing features with this tag",
"value": "footway"
},
{
"key": "highway",
"description": "The MapComplete theme Indoors has a layer Pedestrian paths showing features with this tag",
"value": "path"
},
{
"key": "highway",
"description": "The MapComplete theme Indoors has a layer Pedestrian paths showing features with this tag",
"value": "corridor"
},
{
"key": "highway",
"description": "The MapComplete theme Indoors has a layer Pedestrian paths showing features with this tag",
"value": "steps"
},
{
"key": "entrance",
"description": "The MapComplete theme Indoors has a layer Entrance showing features with this tag"
},
{
"key": "indoor",
"description": "The MapComplete theme Indoors has a layer Entrance showing features with this tag",
"value": "door"
},
{
"key": "door",
"description": "The MapComplete theme Indoors has a layer Entrance showing features with this tag"
},
{
"key": "image",
"description": "The layer 'Entrance 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 'Entrance 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 'Entrance 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 'Entrance 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 'Entrance' shows and asks freeform values for key 'level' (in the MapComplete.osm.be theme 'Indoors')"
},
{
"key": "location",
"description": "Layer 'Entrance' shows location=underground with a fixed text, namely 'Located underground' (in the MapComplete.osm.be theme 'Indoors')",
"value": "underground"
},
{
"key": "level",
"description": "Layer 'Entrance' 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 'Indoors')",
"value": "0"
},
{
"key": "level",
"description": "Layer 'Entrance' shows with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Indoors') Picking this answer will delete the key level.",
"value": ""
},
{
"key": "level",
"description": "Layer 'Entrance' 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 'Indoors')",
"value": "1"
},
{
"key": "level",
"description": "Layer 'Entrance' 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 'Indoors')",
"value": "-1"
},
{
"key": "entrance",
"description": "Layer 'Entrance' shows entrance=yes with a fixed text, namely 'No specific entrance type is known' (in the MapComplete.osm.be theme 'Indoors')",
"value": "yes"
},
{
"key": "entrance",
"description": "Layer 'Entrance' shows indoor=door with a fixed text, namely 'This is an indoor door, separating a room or a corridor within a single building' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors') Picking this answer will delete the key entrance.",
"value": ""
},
{
"key": "indoor",
"description": "Layer 'Entrance' shows indoor=door with a fixed text, namely 'This is an indoor door, separating a room or a corridor within a single building' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "door"
},
{
"key": "indoor",
"description": "Layer 'Entrance' shows entrance=main with a fixed text, namely 'This is the main entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors') Picking this answer will delete the key indoor.",
"value": ""
},
{
"key": "entrance",
"description": "Layer 'Entrance' shows entrance=main with a fixed text, namely 'This is the main entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "main"
},
{
"key": "indoor",
"description": "Layer 'Entrance' shows entrance=secondary with a fixed text, namely 'This is a secondary entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors') Picking this answer will delete the key indoor.",
"value": ""
},
{
"key": "entrance",
"description": "Layer 'Entrance' shows entrance=secondary with a fixed text, namely 'This is a secondary entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "secondary"
},
{
"key": "indoor",
"description": "Layer 'Entrance' shows entrance=service with a fixed text, namely 'This is a service entrance - normally only used for employees, delivery, …' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors') Picking this answer will delete the key indoor.",
"value": ""
},
{
"key": "entrance",
"description": "Layer 'Entrance' shows entrance=service with a fixed text, namely 'This is a service entrance - normally only used for employees, delivery, …' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "service"
},
{
"key": "indoor",
"description": "Layer 'Entrance' shows entrance=exit with a fixed text, namely 'This is an exit where one can not enter' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors') Picking this answer will delete the key indoor.",
"value": ""
},
{
"key": "entrance",
"description": "Layer 'Entrance' shows entrance=exit with a fixed text, namely 'This is an exit where one can not enter' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "exit"
},
{
"key": "indoor",
"description": "Layer 'Entrance' shows entrance=entrance with a fixed text, namely 'This is an entrance where one can only enter (but not exit)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors') Picking this answer will delete the key indoor.",
"value": ""
},
{
"key": "entrance",
"description": "Layer 'Entrance' shows entrance=entrance with a fixed text, namely 'This is an entrance where one can only enter (but not exit)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "entrance"
},
{
"key": "indoor",
"description": "Layer 'Entrance' shows entrance=emergency with a fixed text, namely 'This is emergency exit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors') Picking this answer will delete the key indoor.",
"value": ""
},
{
"key": "entrance",
"description": "Layer 'Entrance' shows entrance=emergency with a fixed text, namely 'This is emergency exit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "emergency"
},
{
"key": "indoor",
"description": "Layer 'Entrance' shows entrance=home with a fixed text, namely 'This is the entrance to a private home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors') Picking this answer will delete the key indoor.",
"value": ""
},
{
"key": "entrance",
"description": "Layer 'Entrance' shows entrance=home with a fixed text, namely 'This is the entrance to a private home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "home"
},
{
"key": "door",
"description": "Layer 'Entrance' shows door=yes with a fixed text, namely 'The door type is not known' (in the MapComplete.osm.be theme 'Indoors')",
"value": "yes"
},
{
"key": "door",
"description": "Layer 'Entrance' shows door=hinged with a fixed text, namely 'A classical, hinged door supported by joints' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "hinged"
},
{
"key": "door",
"description": "Layer 'Entrance' shows door=revolving with a fixed text, namely 'A revolving door which hangs on a central shaft, rotating within a cylindrical enclosure' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "revolving"
},
{
"key": "door",
"description": "Layer 'Entrance' shows door=sliding with a fixed text, namely 'A sliding door where the door slides sidewards, typically parallel with a wall' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "sliding"
},
{
"key": "door",
"description": "Layer 'Entrance' shows door=overhead with a fixed text, namely 'A door which rolls from overhead, typically seen for garages' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "overhead"
},
{
"key": "door",
"description": "Layer 'Entrance' shows door=no with a fixed text, namely 'This is an entrance without a physical door' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "no"
},
{
"key": "automatic_door",
"description": "Layer 'Entrance' shows automatic_door=yes with a fixed text, namely 'This is an automatic door' (in the MapComplete.osm.be theme 'Indoors')",
"value": "yes"
},
{
"key": "automatic_door",
"description": "Layer 'Entrance' shows automatic_door=no with a fixed text, namely 'This door is <b>not</b> automated' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "no"
},
{
"key": "automatic_door",
"description": "Layer 'Entrance' shows automatic_door=motion with a fixed text, namely 'This door will open automatically when <b>motion</b> is detected' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "motion"
},
{
"key": "automatic_door",
"description": "Layer 'Entrance' shows automatic_door=floor with a fixed text, namely 'This door will open automatically when a <b>sensor in the floor</b> is triggered' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "floor"
},
{
"key": "automatic_door",
"description": "Layer 'Entrance' shows automatic_door=button with a fixed text, namely 'This door will open automatically when a <b>button is pressed</b>' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "button"
},
{
"key": "automatic_door",
"description": "Layer 'Entrance' shows automatic_door=slowdown_button with a fixed text, namely 'This door revolves automatically all the time, but has a <b>button to slow it down</b>, e.g. for wheelchair users' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "slowdown_button"
},
{
"key": "automatic_door",
"description": "Layer 'Entrance' shows automatic_door=continuous with a fixed text, namely 'This door revolves automatically all the time' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "continuous"
},
{
"key": "automatic_door",
"description": "Layer 'Entrance' shows automatic_door=serviced_on_button_press with a fixed text, namely 'This door will be opened by staff when requested by <b>pressing a button</b>' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "serviced_on_button_press"
},
{
"key": "automatic_door",
"description": "Layer 'Entrance' shows automatic_door=serviced_on_request with a fixed text, namely 'This door will be opened by staff when requested' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "serviced_on_request"
},
{
"key": "width",
"description": "Layer 'Entrance' shows and asks freeform values for key 'width' (in the MapComplete.osm.be theme 'Indoors')"
},
{
"key": "kerb:height",
"description": "Layer 'Entrance' shows and asks freeform values for key 'kerb:height' (in the MapComplete.osm.be theme 'Indoors')"
},
{
"key": "kerb:height",
"description": "Layer 'Entrance' shows kerb:height=0 with a fixed text, namely 'This door does not have a kerb' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Indoors')",
"value": "0"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -6099,6 +6099,10 @@
"key": "wikipedia",
"description": "The layer 'indoors allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary"
},
{
"key": "name",
"description": "Layer 'indoors' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Personal theme')"
},
{
"key": "information",
"description": "The MapComplete theme Personal theme has a layer Information boards showing features with this tag",
@ -12261,31 +12265,6 @@
"key": "name",
"description": "Layer 'veterinary' shows and asks freeform values for key 'name' (in the MapComplete.osm.be theme 'Personal theme')"
},
{
"key": "tourism",
"description": "The MapComplete theme Personal theme has a layer Viewpoint showing features with this tag",
"value": "viewpoint"
},
{
"key": "image",
"description": "The layer 'Viewpoint 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 'Viewpoint 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 'Viewpoint 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 'Viewpoint 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": "description",
"description": "Layer 'Viewpoint' shows and asks freeform values for key 'description' (in the MapComplete.osm.be theme 'Personal theme')"
},
{
"key": "amenity",
"description": "The MapComplete theme Personal theme has a layer Waste Basket showing features with this tag",

View file

@ -288,8 +288,9 @@ export interface LayerConfigJson {
tagRenderings?:
(string
| { builtin: string | string[], override: Partial<QuestionableTagRenderingConfigJson> }
| { id: string, builtin: string[], override: Partial<QuestionableTagRenderingConfigJson> }
| QuestionableTagRenderingConfigJson
| RewritableConfigJson<(string | { builtin: string, override: Partial<QuestionableTagRenderingConfigJson> } | QuestionableTagRenderingConfigJson)[]>
| (RewritableConfigJson<(string | { builtin: string, override: Partial<QuestionableTagRenderingConfigJson> } | QuestionableTagRenderingConfigJson)[]> & {id: string})
) [],

View file

@ -1,11 +1,11 @@
{
"contributors": [
{
"commits": 4276,
"commits": 4316,
"contributor": "Pieter Vander Vennet"
},
{
"commits": 127,
"commits": 160,
"contributor": "Robin van der Linde"
},
{

View file

@ -291,6 +291,7 @@
]
},
{
"id": "rental_types",
"rewrite": {
"sourceString": [
"bicycle_type",

View file

@ -76,7 +76,8 @@
"nl": "Oplaadpunten",
"da": "En ladestation",
"de": "Eine Ladestation",
"es": "Una estación de carga"
"es": "Una estación de carga",
"fr": "Une station de recharge"
},
"tagRenderings": [
"images",
@ -4441,7 +4442,8 @@
"nl": "Enkel werkende oplaadpunten",
"da": "Kun fungerende ladestationer",
"de": "Nur Ladestationen in Betrieb",
"es": "Solo estaciones de carga funcionales"
"es": "Solo estaciones de carga funcionales",
"fr": "Stations de recharge en service uniquement"
},
"osmTags": {
"and": [
@ -4461,14 +4463,16 @@
"nl": "Alle types",
"ca": "Tots els connectors",
"de": "Alle Anschlüsse",
"es": "Todos los conectores"
"es": "Todos los conectores",
"fr": "Tous types de prise"
}
},
{
"question": {
"en": "Has a <div style='display: inline-block'><b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> connector",
"nl": "Heeft een <div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>",
"de": "Verfügt über einen <div style='display: inline-block'><b><b>Schuko-Stecker</b> ohne Erdungsstift (CEE7/4 Typ F)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>"
"de": "Verfügt über einen <div style='display: inline-block'><b><b>Schuko-Stecker</b> ohne Erdungsstift (CEE7/4 Typ F)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>",
"fr": "Dispose dune <div style='display: inline-block'><b><b>prise murale Schuko</b> sans terre (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>"
},
"osmTags": "socket:schuko~*"
},

View file

@ -258,6 +258,7 @@
"id": "Rock type (crag/rock/cliff only)"
},
{
"id": "default_climbing_questions",
"builtin": [
"climbing.website",
"climbing.fee",

View file

@ -74,12 +74,11 @@
"phone",
"email",
{
"builtin": [
"climbing.fee"
]
"builtin": "climbing.fee"
},
"opening_hours",
{
"id": "climbing_gym_questions",
"builtin": [
"climbing.average_length",
"climbing.min_difficulty",

View file

@ -450,7 +450,8 @@
},
{
"title": {
"en": "an indoor door"
"en": "an indoor door",
"de": "eine Innentür"
},
"preciseInput": {
"preferredBackground": "map",

View file

@ -150,6 +150,7 @@
"id": "hackerspaces-opening_hours"
},
{
"id": "available_devices",
"rewrite": {
"sourceString": [
"device-key",

View file

@ -60,10 +60,12 @@
{
"id": "ref",
"question": {
"en": "What is the name of this room?"
"en": "What is the name of this room?",
"de": "Wie lautet der Name dieses Raums?"
},
"render": {
"en": "This room is named {name}"
"en": "This room is named {name}",
"de": "Der Name des Raums lautet {name}"
},
"freeform": {
"key": "name"

View file

@ -59,49 +59,57 @@
{
"if": "status=0",
"then": {
"en": "Task is created"
"en": "Task is created",
"de": "Aufgabe wurde erstellt"
}
},
{
"if": "status=1",
"then": {
"en": "Task is fixed"
"en": "Task is fixed",
"de": "Aufgabe wurde erledigt"
}
},
{
"if": "status=2",
"then": {
"en": "Task is a false positive"
"en": "Task is a false positive",
"de": "Aufgabe ist ein falsches Positiv"
}
},
{
"if": "status=3",
"then": {
"en": "Task is skipped"
"en": "Task is skipped",
"de": "Aufgabe wurde übersprungen"
}
},
{
"if": "status=4",
"then": {
"en": "Task is deleted"
"en": "Task is deleted",
"de": "Aufgabe wurde gelöscht"
}
},
{
"if": "status=5",
"then": {
"en": "Task is already fixed"
"en": "Task is already fixed",
"de": "Aufgabe wurde bereits erledigt"
}
},
{
"if": "status=6",
"then": {
"en": "Task is marked as too hard"
"en": "Task is marked as too hard",
"de": "Aufgabe wurde als zu schwer markiert"
}
},
{
"if": "status=9",
"then": {
"en": "Task is disabled"
"en": "Task is disabled",
"de": "Aufgabe wurde deaktiviert"
}
}
]
@ -113,15 +121,18 @@
}
],
"description": {
"en": "Layer showing all tasks in MapRoulette"
"en": "Layer showing all tasks in MapRoulette",
"de": "Ebene, die alle MapRoulette-Aufgaben zeigt"
},
"minzoom": 15,
"name": {
"en": "MapRoulette Tasks"
"en": "MapRoulette Tasks",
"de": "MapRoulette-Aufgaben"
},
"title": {
"render": {
"en": "MapRoulette Item: {parentName}"
"en": "MapRoulette Item: {parentName}",
"de": "MapRoulette-Element: {parentName}"
}
},
"titleIcons": [
@ -136,54 +147,63 @@
"options": [
{
"question": {
"en": "Show tasks with all statuses"
"en": "Show tasks with all statuses",
"de": "Aufgaben mit allen Status anzeigen"
}
},
{
"question": {
"en": "Show tasks that are created"
"en": "Show tasks that are created",
"de": "Aufgaben anzeigen, die erstellt wurden"
},
"osmTags": "status=0"
},
{
"question": {
"en": "Show tasks that are fixed"
"en": "Show tasks that are fixed",
"de": "Aufgaben anzeigen, die erledigt wurden"
},
"osmTags": "status=1"
},
{
"question": {
"en": "Show tasks that are false positives"
"en": "Show tasks that are false positives",
"de": "Aufgaben anzeigen, die falsch positiv sind"
},
"osmTags": "status=2"
},
{
"question": {
"en": "Show tasks that are skipped"
"en": "Show tasks that are skipped",
"de": "Aufgaben anzeigen, die übersprungen wurden"
},
"osmTags": "status=3"
},
{
"question": {
"en": "Show tasks that are deleted"
"en": "Show tasks that are deleted",
"de": "Aufgaben anzeigen, die gelöscht wurden"
},
"osmTags": "status=4"
},
{
"question": {
"en": "Show tasks that are already fixed"
"en": "Show tasks that are already fixed",
"de": "Aufgaben anzeigen, die bereits erledigt wurden"
},
"osmTags": "status=5"
},
{
"question": {
"en": "Show tasks that are marked as too hard"
"en": "Show tasks that are marked as too hard",
"de": "Aufgaben anzeigen, die als zu schwierig markiert wurden"
},
"osmTags": "status=6"
},
{
"question": {
"en": "Show tasks that are disabled"
"en": "Show tasks that are disabled",
"de": "Aufgaben anzeigen, die deaktiviert wurden"
},
"osmTags": "status=9"
}
@ -200,7 +220,8 @@
}
],
"question": {
"en": "Challenge name contains {search}"
"en": "Challenge name contains {search}",
"de": "Name der Kampagne enthält {search}"
}
}
]
@ -216,7 +237,8 @@
}
],
"question": {
"en": "Challenge ID matches {search}"
"en": "Challenge ID matches {search}",
"de": "Kampagnen ID stimmt mit {search} überein"
}
}
]

View file

@ -2,7 +2,8 @@
"id": "maproulette_challenge",
"name": null,
"description": {
"en": "Layer showing tasks of a MapRoulette challenge"
"en": "Layer showing tasks of a MapRoulette challenge",
"de": "Ebene mit Aufgaben einer MapRoulette-Kampagne"
},
"source": {
"osmTags": "id~*",
@ -11,7 +12,8 @@
},
"title": {
"render": {
"en": "Item in MapRoulette"
"en": "Item in MapRoulette",
"de": "Aufgabe in MapRoulette"
}
},
"titleIcons": [
@ -78,49 +80,57 @@
{
"if": "mr_taskStatus=Created",
"then": {
"en": "Task is created"
"en": "Task is created",
"de": "Aufgabe wurde erstellt"
}
},
{
"if": "mr_taskStatus=Fixed",
"then": {
"en": "Task is fixed"
"en": "Task is fixed",
"de": "Aufgabe wurde erledigt"
}
},
{
"if": "mr_taskStatus=False positive",
"then": {
"en": "Task is a false positive"
"en": "Task is a false positive",
"de": "Aufgabe ist ein falsches Positiv"
}
},
{
"if": "mr_taskStatus=Skipped",
"then": {
"en": "Task is skipped"
"en": "Task is skipped",
"de": "Aufgabe wurde übersprungen"
}
},
{
"if": "mr_taskStatus=Deleted",
"then": {
"en": "Task is deleted"
"en": "Task is deleted",
"de": "Aufgabe wurde gelöscht"
}
},
{
"if": "mr_taskStatus=Already fixed",
"then": {
"en": "Task is already fixed"
"en": "Task is already fixed",
"de": "Aufgabe wurde bereits erledigt"
}
},
{
"if": "mr_taskStatus=Too hard",
"then": {
"en": "Task is marked as too hard"
"en": "Task is marked as too hard",
"de": "Aufgabe wurde als zu schwer markiert"
}
},
{
"if": "mr_taskStatus=Disabled",
"then": {
"en": "Task is disabled"
"en": "Task is disabled",
"de": "Aufgabe wurde deaktiviert"
}
}
]
@ -137,54 +147,63 @@
"options": [
{
"question": {
"en": "Show tasks with all statuses"
"en": "Show tasks with all statuses",
"de": "Aufgaben mit allen Status anzeigen"
}
},
{
"question": {
"en": "Show tasks that are created"
"en": "Show tasks that are created",
"de": "Aufgaben anzeigen, die erstellt wurden"
},
"osmTags": "mr_taskStatus=Created"
},
{
"question": {
"en": "Show tasks that are fixed"
"en": "Show tasks that are fixed",
"de": "Aufgaben anzeigen, die erledigt wurden"
},
"osmTags": "mr_taskStatus=Fixed"
},
{
"question": {
"en": "Show tasks that are false positives"
"en": "Show tasks that are false positives",
"de": "Aufgaben anzeigen, die falsch positiv sind"
},
"osmTags": "mr_taskStatus=False positive"
},
{
"question": {
"en": "Show tasks that are skipped"
"en": "Show tasks that are skipped",
"de": "Aufgaben anzeigen, die übersprungen wurden"
},
"osmTags": "mr_taskStatus=Skipped"
},
{
"question": {
"en": "Show tasks that are deleted"
"en": "Show tasks that are deleted",
"de": "Aufgaben anzeigen, die gelöscht wurden"
},
"osmTags": "mr_taskStatus=Deleted"
},
{
"question": {
"en": "Show tasks that are already fixed"
"en": "Show tasks that are already fixed",
"de": "Aufgaben anzeigen, die bereits erledigt wurden"
},
"osmTags": "mr_taskStatus=Already fixed"
},
{
"question": {
"en": "Show tasks that are marked as too hard"
"en": "Show tasks that are marked as too hard",
"de": "Aufgaben anzeigen, die als zu schwierig markiert wurden"
},
"osmTags": "mr_taskStatus=Too hard"
},
{
"question": {
"en": "Show tasks that are disabled"
"en": "Show tasks that are disabled",
"de": "Aufgaben anzeigen, die deaktiviert wurden"
},
"osmTags": "mr_taskStatus=Disabled"
}

View file

@ -213,7 +213,7 @@
"title": {
"nl": "een parking voor auto's",
"en": "a car parking",
"de": "ein Parkplatz",
"de": "einen Parkplatz",
"es": "un aparcamiento de coches",
"fr": "un lieu de stationnement pour voitures"
}

View file

@ -950,6 +950,7 @@
}
},
{
"id": "contact_information",
"builtin": [
"website",
"email",

View file

@ -2,7 +2,7 @@
"id": "shelter",
"name": {
"en": "Shelter",
"de": "Unterstand"
"de": "Unterstände"
},
"description": {
"en": "Layer showing shelter structures",

View file

@ -134,6 +134,7 @@
"condition": "amenity=university"
},
{
"id": "school-questions",
"builtin": [
"school.capacity",
"school.gender"

View file

@ -94,16 +94,19 @@
"id": "entrance_info",
"render": {
"before": {
"en": "<h3>Entrances</h3>This building has {_entrances_count} entrances:"
"en": "<h3>Entrances</h3>This building has {_entrances_count} entrances:",
"de": "<h3>Eingänge</h3>Das Gebäude hat {_entrances_count} Eingänge:"
},
"after": {
"en": "{_entrances_count_without_width_count} entrances don't have width information yet"
"en": "{_entrances_count_without_width_count} entrances don't have width information yet",
"de": "{_entrances_count_without_width_count} Eingänge haben keine Angaben zur Breite"
},
"special": {
"type": "multi",
"key": "_entrance_properties_with_width",
"tagrendering": {
"en": "An <a href='#{id}'>entrance</a> of {canonical(width)}"
"en": "An <a href='#{id}'>entrance</a> of {canonical(width)}",
"de": "Ein <a href='#{id}'>Eingang</a> von {canonical(width)}"
}
}
},
@ -111,13 +114,15 @@
{
"if": "_entrances_count=0",
"then": {
"en": "No entrance has been marked"
"en": "No entrance has been marked",
"de": "Es wurde kein Eingang markiert"
}
},
{
"if": "_entrances_count_without_width:=_entrances_count",
"then": {
"en": "None of the {_entrance_count} entrances have width information yet"
"en": "None of the {_entrance_count} entrances have width information yet",
"de": "Keiner der {_entrance_count} Eingänge hat bisher Angaben zur Breite"
}
}
]

View file

@ -871,11 +871,13 @@
"override": {
"question": {
"en": "What levels does this elevator go to?",
"de": "Auf welchen Geschossen hält dieser Aufzug?"
"de": "Auf welchen Geschossen hält dieser Aufzug?",
"fr": "Quels étages sont desservis par cet ascenceur?"
},
"render": {
"en": "This elevator goes to floors {level}",
"de": "Der Aufzug hält auf den Geschossen {level}"
"de": "Der Aufzug hält auf den Geschossen {level}",
"fr": "Cet ascenceur permet daccéder aux étages {level}"
},
"freeform": {
"key": "level",
@ -1117,14 +1119,16 @@
"description": "An accessibility feature: induction loops are for hard-hearing persons which have an FM-receiver.",
"question": {
"en": "Does this place have an audio induction loop for people with reduced hearing?",
"de": "Hat dieser Ort eine induktive Höranlage für Hörgeschädigte?"
"de": "Hat dieser Ort eine induktive Höranlage für Hörgeschädigte?",
"fr": "Ce lieu dispose-til dune boucle auditive pour les personnes malentendantes?"
},
"mappings": [
{
"if": "hearing_loop=yes",
"then": {
"en": "This place has an audio induction loop",
"de": "Dieser Ort hat eine induktive Höranlage"
"de": "Dieser Ort hat eine induktive Höranlage",
"fr": "Ce lieu dispose dune boucle auditive"
},
"icon": {
"path": "./assets/tagRenderings/audio_induction_loop.svg",
@ -1135,7 +1139,8 @@
"if": "hearing_loop=no",
"then": {
"en": "This place <b>does not</b> have an audio induction loop",
"de": "Dieser Ort hat <b>keine</b> induktive Höranlage"
"de": "Dieser Ort hat <b>keine</b> induktive Höranlage",
"fr": "Ce lieu <b>ne dispose pas</b> de boucle auditive"
},
"icon": {
"path": "./assets/tagRenderings/audio_induction_loop_missing.svg",

View file

@ -3,12 +3,14 @@
"title": {
"en": "Healthcare",
"ca": "Assistència sanitària",
"de": "Gesundheitswesen"
"de": "Gesundheitswesen",
"fr": "Services de santé"
},
"description": {
"en": "On this map, various healthcare related items are shown",
"ca": "En aquest mapa es mostren diversos elements relacionats amb la salut",
"de": "Auf dieser Karte werden verschiedene Gesundheitseinrichtungen angezeigt"
"de": "Auf dieser Karte werden verschiedene Gesundheitseinrichtungen angezeigt",
"fr": "Cette carte affiche différents éléments liés à la santé"
},
"maintainer": "MapComplete",
"icon": "./assets/layers/doctors/doctors.svg",

View file

@ -2,11 +2,13 @@
"id": "indoors",
"title": {
"en": "Indoors",
"de": "Innenräume"
"de": "Innenräume",
"fr": "Intérieurs"
},
"description": {
"en": "On this map, publicly accessible indoor places are shown",
"de": "Diese Karte zeigt öffentlich zugängliche Innenräume"
"de": "Diese Karte zeigt öffentlich zugängliche Innenräume",
"fr": "Cette carte présente les lieux intérieurs accessibles au public"
},
"maintainer": "MapComplete",
"icon": "./assets/layers/entrance/entrance.svg",

View file

@ -5,12 +5,14 @@
"title": {
"en": "Kerbs and crossings",
"nl": "Stoepranden en oversteekplaatsen",
"de": "Bordsteine und Überwege"
"de": "Bordsteine und Überwege",
"fr": "Ressauts et traversées"
},
"description": {
"en": "A map showing kerbs and crossings.",
"nl": "Een kaart met stoepranden en oversteekplaatsen.",
"de": "Eine Karte mit Bordsteinen und Überwegen."
"de": "Eine Karte mit Bordsteinen und Überwegen.",
"fr": "Une carte affichant les ressauts et traversées."
},
"icon": "./assets/layers/kerbs/KerbIcon.svg",
"startZoom": 19,

View file

@ -1,13 +1,19 @@
{
"id": "mapcomplete-changes",
"title": {
"en": "Changes made with MapComplete"
"en": "Changes made with MapComplete",
"de": "Mit MapComplete vorgenommene Änderungen",
"fr": "Changements faits avec MapComplete"
},
"shortDescription": {
"en": "Shows changes made by MapComplete"
"en": "Shows changes made by MapComplete",
"de": "Zeigt die mit MapComplete vorgenommenen Änderungen",
"fr": "Montrer les changements faits avec MapComplete"
},
"description": {
"en": "This maps shows all the changes made with MapComplete"
"en": "This maps shows all the changes made with MapComplete",
"de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen",
"fr": "Cette carte affiche toutes les modifications réalisées avec MapComplete"
},
"maintainer": "",
"icon": "./assets/svg/logo.svg",
@ -22,7 +28,9 @@
{
"id": "mapcomplete-changes",
"name": {
"en": "Changeset centers"
"en": "Changeset centers",
"de": "Zentrum der Änderungssätze",
"fr": "Centre du groupe de modifications"
},
"minzoom": 0,
"source": {
@ -36,35 +44,47 @@
],
"title": {
"render": {
"en": "Changeset for {theme}"
"en": "Changeset for {theme}",
"de": "Änderungssatz für {theme}",
"fr": "Groupe de modifications pour {theme}"
}
},
"description": {
"en": "Shows all MapComplete changes"
"en": "Shows all MapComplete changes",
"de": "Zeigt alle MapComplete Änderungen",
"fr": "Afficher toutes les modifications MapComplete"
},
"tagRenderings": [
{
"id": "render_id",
"render": {
"en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>"
"en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>",
"de": "Änderungssatz <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>",
"fr": "Groupe de modifications <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>"
}
},
{
"id": "contributor",
"render": {
"en": "Change made by <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>"
"en": "Change made by <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>",
"de": "Geändert von <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>",
"fr": "Modification faite par <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>"
}
},
{
"id": "theme",
"render": {
"en": "Change with theme <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>"
"en": "Change with theme <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>",
"de": "Änderung mit Thema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>",
"fr": "Modification avec le thème <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>"
},
"mappings": [
{
"if": "theme~http.*",
"then": {
"en": "Change with <b>unofficial</b> theme <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>"
"en": "Change with <b>unofficial</b> theme <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>",
"de": "Änderung mit <b>inoffiziellem</b> Thema <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>",
"fr": "Modification avec le thème <b>non-officiel</b> <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>"
}
}
]
@ -368,7 +388,9 @@
}
],
"question": {
"en": "Themename contains {search}"
"en": "Themename contains {search}",
"de": "Themenname enthält {search}",
"fr": "Nom de thème contenant {search}"
}
}
]
@ -384,7 +406,9 @@
}
],
"question": {
"en": "Made by contributor {search}"
"en": "Made by contributor {search}",
"de": "Erstellt von {search}",
"fr": "Réalisé par {search}"
}
}
]
@ -400,7 +424,9 @@
}
],
"question": {
"en": "<b>Not</b> made by contributor {search}"
"en": "<b>Not</b> made by contributor {search}",
"de": "<b>Nicht</b> erstellt von {search}",
"fr": "<b>Non</b> réalisé par {search}"
}
}
]
@ -415,7 +441,9 @@
{
"id": "link_to_more",
"render": {
"en": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>"
"en": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>",
"de": "Weitere Statistiken finden Sie <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a>",
"fr": "Dautres statistiques sont disponibles <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>ici</a>"
}
},
{

View file

@ -1,10 +1,14 @@
{
"id": "maproulette",
"title": {
"en": "MapRoulette Tasks"
"en": "MapRoulette Tasks",
"de": "MapRoulette-Aufgaben",
"fr": "Tâches MapRoulette"
},
"description": {
"en": "Theme showing MapRoulette tasks, allowing you to search, filter and fix them."
"en": "Theme showing MapRoulette tasks, allowing you to search, filter and fix them.",
"de": "Thema mit MapRoulette-Aufgaben, die Sie suchen, filtern und beheben können.",
"fr": "Thème MapRoulette permettant dafficher, rechercher, filtrer et résoudre les tâches."
},
"version": "1.0.0",
"hideFromOverview": true,

View file

@ -79,7 +79,8 @@
"question": {
"en": "Any/No width info",
"de": "Beliebig/Keine Breiteninformationen",
"nl": "All kerbs"
"nl": "All kerbs",
"fr": "Toute/aucune information sur la largeur"
}
},
{
@ -87,7 +88,8 @@
"question": {
"en": "Without width info",
"de": "Beliebige Breiteninformationen",
"nl": "Geen breedtes gekend"
"nl": "Geen breedtes gekend",
"fr": "Pas dinformation sur la largeur"
}
}
]
@ -128,7 +130,8 @@
"question": {
"en": "All types of kerbs",
"nl": "Alle typen stoepranden",
"de": "Alle Arten von Bordsteinen"
"de": "Alle Arten von Bordsteinen",
"fr": "Tous types de ressauts"
}
},
{
@ -136,7 +139,8 @@
"question": {
"en": "Raised kerb (>3 cm)",
"nl": "Hoge stoeprand (>3 cm)",
"de": "Erhöhter Bordstein (>3 cm)"
"de": "Erhöhter Bordstein (>3 cm)",
"fr": "Ressaut surélevé (>3cm)"
}
},
{
@ -144,7 +148,8 @@
"question": {
"en": "Lowered kerb (~3 cm)",
"nl": "Verlaagde stoeprand (~3 cm)",
"de": "Abgesenkter Bordstein (~3 cm)"
"de": "Abgesenkter Bordstein (~3 cm)",
"fr": "Ressaut abaissé (~3cm)"
}
},
{
@ -152,7 +157,8 @@
"question": {
"en": "Flush kerb (~0cm)",
"nl": "Vlakke stoeprand (~0cm)",
"de": "Bündiger Bordstein (~0cm)"
"de": "Bündiger Bordstein (~0cm)",
"fr": "Ressaut à niveau (~0cm)"
}
}
]
@ -308,7 +314,8 @@
"=title": {
"render": {
"en": "Statistics",
"de": "Statistik"
"de": "Statistik",
"fr": "Statistiques"
}
},
"tagRenderings": [
@ -340,7 +347,9 @@
"targetLayer": "hotel",
"tags": "tags",
"text": {
"en": "Import"
"en": "Import",
"de": "Import",
"fr": "Importation"
},
"icon": "./assets/svg/addSmall.svg",
"location_picker": "photo",
@ -356,7 +365,9 @@
"type": "tag_apply",
"tags_to_apply": "$tags",
"message": {
"en": "Add all the suggested tags"
"en": "Add all the suggested tags",
"de": "Alle vorgeschlagenen Tags hinzufügen",
"fr": "Ajouter tous les attributs suggérés"
},
"image": "./assets/svg/addSmall.svg",
"id_of_object_to_apply_this_one": "_closest_osm_hotel"

View file

@ -2,11 +2,13 @@
"id": "rainbow_crossings",
"title": {
"en": "Rainbow pedestrian crossings",
"de": "Regenbogen-Fußgängerübergänge"
"de": "Regenbogen-Fußgängerübergänge",
"fr": "Passages cloutés arc-en-ciel"
},
"description": {
"en": "On this map, rainbow-painted pedestrian crossings are shown and can be easily added",
"de": "Auf dieser Karte sind Fußgängerüberwege mit Regenbogenfarben eingezeichnet und können leicht hinzugefügt werden"
"de": "Auf dieser Karte sind Fußgängerüberwege mit Regenbogenfarben eingezeichnet und können leicht hinzugefügt werden",
"fr": "Cette carte affiche et permet la modification des passages cloutés peints aux couleurs de larc-en-ciel"
},
"maintainer": "",
"icon": "./assets/themes/rainbow_crossings/logo.svg",

View file

@ -97,6 +97,7 @@
}
},
{
"id": "left-right-questions",
"rewrite": {
"sourceString": [
"left|right"
@ -117,26 +118,38 @@
},
{
"id": "has_sidewalk_left|right",
"question": "Is there a sidewalk on this side of the road?",
"question": {
"en": "Is there a sidewalk on this side of the road?"
},
"mappings": [
{
"if": "sidewalk:left|right=yes",
"then": "Yes, there is a sidewalk on this side of the road"
"then": {
"en": "Yes, there is a sidewalk on this side of the road"
}
},
{
"if": "sidewalk:left|right=no",
"then": "No, there is no sidewalk to walk on"
"then": {
"en": "No, there is no sidewalk to walk on"
}
},
{
"if": "sidewalk:left|right=separate",
"then": "There is a separately mapped sidewalk to walk on"
"then": {
"en": "There is a separately mapped sidewalk to walk on"
}
}
]
},
{
"id": "sidewalk_width_left|right",
"question": "What is the width of the sidewalk on this side of the road?",
"render": "This sidewalk is {sidewalk:left|right:width}m wide",
"question": {
"en": "What is the width of the sidewalk on this side of the road?"
},
"render": {
"en": "This sidewalk is {sidewalk:left|right:width}m wide"
},
"condition": "sidewalk:left|right=yes",
"freeform": {
"key": "sidewalk:left|right:width",

View file

@ -4,11 +4,13 @@
"version": "20220406",
"title": {
"en": "Bus routes",
"de": "Buslinien"
"de": "Buslinien",
"fr": "Lignes de bus"
},
"description": {
"en": "Plan your trip with the help of the public transport system.",
"de": "Planen Sie Ihre Reise mit Hilfe von öffentlichen Verkehrsmitteln."
"de": "Planen Sie Ihre Reise mit Hilfe von öffentlichen Verkehrsmitteln.",
"fr": "Planifier votre itinéraire avec le système de transports en commun."
},
"icon": "./assets/layers/transit_stops/bus_stop.svg",
"startZoom": 20,

View file

@ -2,7 +2,8 @@
"id": "walls_and_buildings",
"title": {
"en": "Walls and buildings",
"de": "Wände und Gebäude"
"de": "Wände und Gebäude",
"fr": "Murs et bâtiments"
},
"description": {
"en": "Special builtin layer providing all walls and buildings. This layer is useful in presets for objects which can be placed against walls (e.g. AEDs, postboxes, entrances, addresses, surveillance cameras, …). This layer is invisible by default and not toggleable by the user.",

View file

@ -1,11 +1,11 @@
{
"contributors": [
{
"commits": 180,
"commits": 182,
"contributor": "Pieter Vander Vennet"
},
{
"commits": 147,
"commits": 152,
"contributor": "kjon"
},
{
@ -60,6 +60,10 @@
"commits": 15,
"contributor": "WaldiS"
},
{
"commits": 14,
"contributor": "LeJun"
},
{
"commits": 14,
"contributor": "J. Lavoie"
@ -84,10 +88,6 @@
"commits": 10,
"contributor": "Johannes Rössel"
},
{
"commits": 10,
"contributor": "LeJun"
},
{
"commits": 10,
"contributor": "Irina"
@ -98,11 +98,11 @@
},
{
"commits": 7,
"contributor": "Niels Elgaard Larsen"
"contributor": "Andrews Leruth"
},
{
"commits": 6,
"contributor": "Andrews Leruth"
"commits": 7,
"contributor": "Niels Elgaard Larsen"
},
{
"commits": 6,

View file

@ -138,7 +138,7 @@
},
"layerSelection": {
"title": "Ebenen auswählen",
"zoomInToSeeThisLayer": "Ausschnitt vergrößern, um diese Ebene anzuzeigen"
"zoomInToSeeThisLayer": "Ausschnitt vergrößern, um Ebene anzuzeigen"
},
"loading": "Laden…",
"loadingTheme": "Lade {theme}…",

View file

@ -10,29 +10,29 @@
"cannotBeDeleted": "Cet objet ne peut être supprimé",
"delete": "Supprimer",
"explanations": {
"hardDelete": "Ce point sera supprimé dOpenStreetmap. Il pourra être restauré par des méthodes avancées",
"hardDelete": "Cet élément sera supprimé dOpenStreetmap. Il pourra être restauré par des méthodes avancées",
"retagNoOtherThemes": "Cet objet sera re-classifié et caché dans cette application",
"retagOtherThemes": "Cet objet sera re-classifié et visible dans {otherThemes}",
"selectReason": "Sélectionner pourquoi cet élément devrait être supprimé",
"softDelete": "Cet objet sera mis à jour et caché de l'application. <span class=\"subtle\">{reason}</span>"
},
"isDeleted": "Cet objet est supprimé",
"isntAPoint": "Seul les points peuvent être supprimés, l'objet sélectionné est une ligne, un polygone ou une relation.",
"isntAPoint": "Seul les nœuds peuvent être supprimés, l'élément sélectionné est une ligne, un polygone ou une relation.",
"loading": "Inspection des propriétés pour vérifier si lélément peut être supprimé.",
"loginToDelete": "Vous devez être connecté pour supprimer un objet",
"notEnoughExperience": "Ce point a été créé par une autre personne.",
"onlyEditedByLoggedInUser": "Ce point a été édité seulement par vous et peut donc être supprimé.",
"partOfOthers": "Ce point fait partie d'un autre objet et ne peut être supprimé directement.",
"readMessages": "Messages non-lus à lire avant de supprimer un point, certains pourraient comporter des informations importantes",
"loginToDelete": "Vous devez posséder un compte pour supprimer un élément",
"notEnoughExperience": "Cet élément a été créé par une autre personne.",
"onlyEditedByLoggedInUser": "Cet élément a été édité par vous uniquement et peut donc être supprimé.",
"partOfOthers": "Ce nœud fait partie d'un chemin ou dune relation et ne peut être supprimé directement.",
"readMessages": "Messages non-lus à lire avant de supprimer un élément, certains pourraient comporter des informations importantes",
"reasons": {
"disused": "Cet élément nest plus utilisé ou a été enlevé",
"duplicate": "Ce point est un doublon",
"duplicate": "Cet élément est un doublon",
"notFound": "Cet élément na pas pu être trouvé",
"test": "Élément de test qui na jamais été ici"
"test": "Élément de test qui na jamais été présent"
},
"safeDelete": "Ce point peut être supprimé sans risque.",
"safeDelete": "Cet élément peut être supprimé sans risque.",
"useSomethingElse": "Utilisez un autre éditeur OpenStreetMap pour le supprimer",
"whyDelete": "Pourquoi ce point devrait-il être supprimé ?"
"whyDelete": "Pourquoi cet élément devrait-il être supprimé ?"
},
"favourite": {
"loginNeeded": "<h3>Connexion</h3>La mise en forme personnalisée requiert un compte OpenStreetMap",
@ -46,45 +46,57 @@
"addNew": "Ajouter {category}",
"addNewMapLabel": "Cliquez ici pour ajouter un élément",
"confirmButton": "Ajouter un/une {category} ici.<br><div class=\"alert\">Votre ajout sera visible par tout le monde</div>",
"confirmIntro": "<h3>Ajouter un/une {title} ici?</h3>Le point que vous ajouterez sera <b>visible par tout le monde</b>. Merci de vous assurer que ce point existe réellement. Beaucoup d'autres applications utilisent ces données.",
"confirmIntro": "<h3>Ajouter un/une {title} ici?</h3>Lélément que vous ajouterez sera <b>visible par tout le monde</b>. Merci de vous assurer que celui-ci existe réellement. Beaucoup d'autres applications utilisent ces données.",
"disableFilters": "Désactiver tous les filtres",
"disableFiltersExplanation": "Certains élément peuvent être filtrés",
"hasBeenImported": "Ce point a déjà été importé",
"hasBeenImported": "Cet élément a déjà été importé",
"import": {
"hasBeenImported": "Cet objet a été importé",
"howToTest": "Pour essayer, ajouter <b>test=true</b> ou <b>backend=osm-test</b> à l'adresse de la page. Le groupe de modifications sera affiché dans la console. Merci d'ouvrir un PR pour officialiser ce thème et ainsi activer le bouton d'import.",
"importTags": "L'objet recevra {tags}",
"officialThemesOnly": "Le bouton d'import est désactivé pour les thèmes non-officiels pour prévenir les accidents",
"wrongType": "Cet élément n'est pas un nœud ou un chemin et ne peut pas être importé",
"wrongTypeToConflate": "Cet élément n'est pas un nœud ou un chemin et ne peut pas être confondu",
"wrongTypeToConflate": "Cet élément n'est pas un nœud ou un chemin et ne peut pas être comparé",
"zoomInMore": "Zoomez davantage pour importer cet objet"
},
"importTags": "L'élément recevra {tags}",
"intro": "Vous avez cliqué sur un endroit où il n'y a pas encore de données.<br>",
"layerNotEnabled": "La couche {layer} est désactivée. Activez-la pour ajouter un point",
"layerNotEnabled": "La couche {layer} est désactivée. Activez-la pour ajouter un élément",
"openLayerControl": "Ouvrir la panneau de contrôle",
"pleaseLogin": "Vous devez vous connecter pour ajouter un point",
"pleaseLogin": "Vous devez vous connecter pour ajouter un élément",
"presetInfo": "Le nouveau POI aura {tags}",
"stillLoading": "Chargement des données en cours. Patientez un instant avant d'ajouter un nouveau point.",
"title": "Ajouter un nouveau point ?",
"stillLoading": "Chargement des données en cours. Patientez un instant avant d'ajouter un nouvel élément.",
"title": "Ajouter un nouvel élément?",
"warnVisibleForEveryone": "Votre ajout sera visible",
"wrongType": "Cet élément n'est pas un nœud ou un chemin et ne peut pas être importé",
"zoomInFurther": "Rapprochez vous pour ajouter un point.",
"zoomInFurther": "Zoomez pour ajouter un élément.",
"zoomInMore": "Zoomez pour importer cet élément"
},
"apply_button": {
"appliedOnAnotherObject": "Lélément {id} portera {tags}",
"isApplied": "Les changements sont appliqués"
},
"attribution": {
"attributionContent": "<p>Toutes les données sont fournies par <a href='https://osm.org' target='_blank'>OpenStreetMap</a>, librement réutilisables sous <a href='https://osm.org/copyright' target='_blank'>Open DataBase License</a>.</p>",
"attributionTitle": "Crédits",
"codeContributionsBy": "MapComplete a été construit par {contributors} et <a href=\"https://github.com/pietervdvn/MapComplete/graphs/contributors\" target=\"_blank\">{hiddenCount} autres contributeurs</a>",
"donate": "Soutenez MapComplete financièrement",
"editId": "Ouvrir léditeur en ligne OpenStreetMap ici",
"editJosm": "Modifier ici avec JOSM",
"followBridge": "Les comptes Mastodon et Twitter sont liés",
"followOnMastodon": "Suivez MapComplete sur Mastodon",
"followOnTwitter": "Suivez MapComplete sur Twitter",
"iconAttribution": {
"title": "Icônes utilisées"
},
"josmNotOpened": "JOSM non atteignable. Assurez-vous que le logiciel soit ouvert et la commande à distance activée",
"josmOpened": "JOSM est ouvert",
"mapContributionsBy": "La partie actuellement visible des données comporte des modifications par {contributors}",
"mapContributionsByAndHidden": "La partie actuellement visible des données comporte des modifications par {contributors} et {hiddenCount} contributeurs de plus",
"themeBy": "Thème maintenu par {author}"
"openIssueTracker": "Signaler un problème",
"openOsmcha": "Voir les dernières modifications faite avec {theme}",
"themeBy": "Thème maintenu par {author}",
"translatedBy": "MapComplete est traduite par {contributors} et <a href=\"https://github.com/pietervdvn/MapComplete/graphs/contributors\" target=\"_blank\">{hiddenCount} autres personnes</a>"
},
"backgroundMap": "Carte de fonds",
"cancel": "Annuler",
@ -221,6 +233,12 @@
"wednesday": "Mercredi"
},
"welcomeBack": "Vous êtes connecté. Bienvenue !",
"welcomeExplanation": {
"addNew": "Cliquez sur la carte pour ajouter un nouveau POI.",
"browseMoreMaps": "Découvrez dautres cartes",
"browseOtherThemesIntro": "De nombreuses cartes thématiques existent sur MapComplete",
"general": "Cette carte permet de visualiser et ajouter des <i>points dintérêt</i>. Zoomez sur un POI et cliquez dessus pour en voir les détails ou les modifier. Les données proviennent et sont transmises avec OpenStreetMap, qui peut être librement réutilisé."
},
"wikipedia": {
"createNewWikidata": "Créer un nouvel élément Wikidata",
"failed": "Le chargement de Wikipédia a échoué",
@ -299,7 +317,9 @@
},
"professional": {
"indexPage": {
"button": "Découvrez nos offres"
"button": "Découvrez nos offres",
"hook": "Besoin dun accompagnement professionnel?",
"hookMore": "Nous pouvons aider à la mise en place de relevés, limportation de données et toute question relative à lenvironnement OpenStreetMap"
}
},
"reviews": {
@ -325,5 +345,9 @@
"loginToSplit": "Vous devez être connecté pour couper une route",
"split": "Couper",
"splitTitle": "Choisissez sur la carte où couper cette route"
},
"translations": {
"isTranslator": "Mode traduction activé, votre pseudo correspond à celui dune personne de léquipe de traduction",
"missing": "{count} segments non traduits"
}
}

View file

@ -178,7 +178,7 @@
},
"bicycle_rental": {
"tagRenderings": {
"9": {
"rental_types": {
"rewrite": {
"into": {
"4": {

View file

@ -379,33 +379,6 @@
}
},
"tagRenderings": {
"9": {
"rewrite": {
"into": {
"0": {
"1": "bycykler"
},
"1": {
"1": "elektriske cykler"
},
"2": {
"1": "børnecykler"
},
"3": {
"1": "BMX-cykler"
},
"4": {
"1": "mountainbike"
},
"5": {
"1": "cykeltasker"
},
"6": {
"1": "tandem"
}
}
}
},
"bicycle-types": {
"mappings": {
"0": {
@ -446,6 +419,33 @@
}
},
"question": "Hvilken slags cykeludlejning er dette?"
},
"rental_types": {
"rewrite": {
"into": {
"0": {
"1": "bycykler"
},
"1": {
"1": "elektriske cykler"
},
"2": {
"1": "børnecykler"
},
"3": {
"1": "BMX-cykler"
},
"4": {
"1": "mountainbike"
},
"5": {
"1": "cykeltasker"
},
"6": {
"1": "tandem"
}
}
}
}
},
"title": {

View file

@ -442,39 +442,6 @@
}
},
"tagRenderings": {
"9": {
"renderings": {
"0": {
"question": "Wie viele type_plural können hier gemietet werden?",
"render": "{capacity:bicycle_type} type_plural können hier gemietet werden"
}
},
"rewrite": {
"into": {
"0": {
"1": "Stadträder"
},
"1": {
"1": "Elektrofahrräder"
},
"2": {
"1": "Kinderfahrräder"
},
"3": {
"1": "BMX-Räder"
},
"4": {
"1": "Mountainbikes"
},
"5": {
"1": "Fahrradtaschen"
},
"6": {
"1": "Tandems"
}
}
}
},
"bicycle-types": {
"mappings": {
"0": {
@ -527,6 +494,39 @@
}
},
"question": "Was ist das für ein Fahrradverleih?"
},
"rental_types": {
"renderings": {
"0": {
"question": "Wie viele type_plural können hier gemietet werden?",
"render": "{capacity:bicycle_type} type_plural können hier gemietet werden"
}
},
"rewrite": {
"into": {
"0": {
"1": "Stadträder"
},
"1": {
"1": "Elektrofahrräder"
},
"2": {
"1": "Kinderfahrräder"
},
"3": {
"1": "BMX-Räder"
},
"4": {
"1": "Mountainbikes"
},
"5": {
"1": "Fahrradtaschen"
},
"6": {
"1": "Tandems"
}
}
}
}
},
"title": {
@ -3458,6 +3458,9 @@
"presets": {
"0": {
"title": "einen Eingang"
},
"1": {
"title": "eine Innentür"
}
},
"tagRenderings": {
@ -4066,7 +4069,7 @@
}
},
"tagRenderings": {
"6": {
"available_devices": {
"renderings": {
"0": {
"mappings": {
@ -4253,6 +4256,12 @@
"indoors": {
"description": "Grundlegende Innenraumkartierung: zeigt Umrisse von Räumen",
"name": "Innenräume",
"tagRenderings": {
"ref": {
"question": "Wie lautet der Name dieses Raums?",
"render": "Der Name des Raums lautet {name}"
}
},
"title": {
"render": "Innenbereich {name}"
}
@ -4390,11 +4399,6 @@
}
},
"tagRenderings": {
"5": {
"override": {
"question": "Wann ist diese Kinderbetreuung geöffnet?"
}
},
"capacity": {
"question": "Wie viele Kinder können hier maximal angemeldet werden?",
"render": "Diese Einrichtung bietet Platz für {capacity} Kinder"
@ -4413,6 +4417,11 @@
"name": {
"question": "Wie lautet der Name dieser Einrichtung?",
"render": "Diese Einrichtung hat den Namen <b>{name}</b>"
},
"opening_hours": {
"override": {
"question": "Wann ist diese Kinderbetreuung geöffnet?"
}
}
},
"title": {
@ -4470,6 +4479,159 @@
"render": "Karte"
}
},
"maproulette": {
"description": "Ebene, die alle MapRoulette-Aufgaben zeigt",
"filter": {
"0": {
"options": {
"0": {
"question": "Aufgaben mit allen Status anzeigen"
},
"1": {
"question": "Aufgaben anzeigen, die erstellt wurden"
},
"2": {
"question": "Aufgaben anzeigen, die erledigt wurden"
},
"3": {
"question": "Aufgaben anzeigen, die falsch positiv sind"
},
"4": {
"question": "Aufgaben anzeigen, die übersprungen wurden"
},
"5": {
"question": "Aufgaben anzeigen, die gelöscht wurden"
},
"6": {
"question": "Aufgaben anzeigen, die bereits erledigt wurden"
},
"7": {
"question": "Aufgaben anzeigen, die als zu schwierig markiert wurden"
},
"8": {
"question": "Aufgaben anzeigen, die deaktiviert wurden"
}
}
},
"1": {
"options": {
"0": {
"question": "Name der Kampagne enthält {search}"
}
}
},
"2": {
"options": {
"0": {
"question": "Kampagnen ID stimmt mit {search} überein"
}
}
}
},
"name": "MapRoulette-Aufgaben",
"tagRenderings": {
"status": {
"mappings": {
"0": {
"then": "Aufgabe wurde erstellt"
},
"1": {
"then": "Aufgabe wurde erledigt"
},
"2": {
"then": "Aufgabe ist ein falsches Positiv"
},
"3": {
"then": "Aufgabe wurde übersprungen"
},
"4": {
"then": "Aufgabe wurde gelöscht"
},
"5": {
"then": "Aufgabe wurde bereits erledigt"
},
"6": {
"then": "Aufgabe wurde als zu schwer markiert"
},
"7": {
"then": "Aufgabe wurde deaktiviert"
}
}
}
},
"title": {
"render": "MapRoulette-Element: {parentName}"
}
},
"maproulette_challenge": {
"description": "Ebene mit Aufgaben einer MapRoulette-Kampagne",
"filter": {
"0": {
"options": {
"0": {
"question": "Aufgaben mit allen Status anzeigen"
},
"1": {
"question": "Aufgaben anzeigen, die erstellt wurden"
},
"2": {
"question": "Aufgaben anzeigen, die erledigt wurden"
},
"3": {
"question": "Aufgaben anzeigen, die falsch positiv sind"
},
"4": {
"question": "Aufgaben anzeigen, die übersprungen wurden"
},
"5": {
"question": "Aufgaben anzeigen, die gelöscht wurden"
},
"6": {
"question": "Aufgaben anzeigen, die bereits erledigt wurden"
},
"7": {
"question": "Aufgaben anzeigen, die als zu schwierig markiert wurden"
},
"8": {
"question": "Aufgaben anzeigen, die deaktiviert wurden"
}
}
}
},
"tagRenderings": {
"status": {
"mappings": {
"0": {
"then": "Aufgabe wurde erstellt"
},
"1": {
"then": "Aufgabe wurde erledigt"
},
"2": {
"then": "Aufgabe ist ein falsches Positiv"
},
"3": {
"then": "Aufgabe wurde übersprungen"
},
"4": {
"then": "Aufgabe wurde gelöscht"
},
"5": {
"then": "Aufgabe wurde bereits erledigt"
},
"6": {
"then": "Aufgabe wurde als zu schwer markiert"
},
"7": {
"then": "Aufgabe wurde deaktiviert"
}
}
}
},
"title": {
"render": "Aufgabe in MapRoulette"
}
},
"maxspeed": {
"description": "Zeigt die zulässige Geschwindigkeit für jede Straße an",
"name": "Höchstgeschwindigkeit",
@ -4818,7 +4980,7 @@
"name": "Parkplätze",
"presets": {
"0": {
"title": "ein Parkplatz"
"title": "einen Parkplatz"
}
},
"tagRenderings": {
@ -5493,16 +5655,6 @@
}
},
"tagRenderings": {
"8": {
"override": {
"+mappings": {
"0": {
"then": "Die Unterrichtssprache der Schule ist unbekannt"
}
},
"question": "Was ist die Hauptsprache dieser Schule?<div class='subtle'>Welche Sprache wird mit den Schülern in den nicht sprachbezogenen Kursen und mit der Verwaltung gesprochen?</div>"
}
},
"capacity": {
"question": "Wie viele Schüler können sich maximal an dieser Schule anmelden?",
"render": "Diese Schule kann höchstens {capacity} Schüler aufnehmen"
@ -5586,6 +5738,16 @@
},
"question": "Richtet sich diese Schule an Schüler mit besonderem Förderbedarf? Über welche strukturellen Einrichtungen verfügt diese Schule?<div class='subtle'>Ad-hoc ",
"render": "Diese Schule verfügt über Einrichtungen für Schüler mit {school:for}"
},
"wikidata.school-language": {
"override": {
"+mappings": {
"0": {
"then": "Die Unterrichtssprache der Schule ist unbekannt"
}
},
"question": "Was ist die Hauptsprache dieser Schule?<div class='subtle'>Welche Sprache wird mit den Schülern in den nicht sprachbezogenen Kursen und mit der Verwaltung gesprochen?</div>"
}
}
},
"title": {
@ -5594,7 +5756,7 @@
},
"shelter": {
"description": "Eine Ebene, die verschiedene Bauformen von Unterständen zeigt",
"name": "Unterstand",
"name": "Unterstände",
"tagRenderings": {
"shelter-type": {
"mappings": {
@ -5672,12 +5834,6 @@
}
},
"tagRenderings": {
"2": {
"override": {
"question": "Um was für ein Geschäft handelt es sich?",
"render": "Das ist ein {shop}"
}
},
"copyshop-print-sizes": {
"mappings": {
"0": {
@ -5698,6 +5854,12 @@
},
"question": "Welche Papierformate bietet das Geschäft an?"
},
"id_presets.shop_types": {
"override": {
"question": "Um was für ein Geschäft handelt es sich?",
"render": "Das ist ein {shop}"
}
},
"shops-name": {
"question": "Wie ist der Name dieses Geschäfts?",
"render": "Der Name des Geschäfts lautet <i>{name}</i>"
@ -6738,6 +6900,25 @@
},
"walls_and_buildings": {
"description": "Spezielle Ebene, die alle Wände und Gebäude bereitstellt. Diese Ebene ist nützlich in Voreinstellungen für Objekte, die an Wänden platziert werden können (z. B. AEDs, Briefkästen, Eingänge, Adressen, Überwachungskameras, ...). Diese Ebene ist standardmäßig unsichtbar und kann vom Benutzer nicht umgeschaltet werden.",
"tagRenderings": {
"entrance_info": {
"mappings": {
"0": {
"then": "Es wurde kein Eingang markiert"
},
"1": {
"then": "Keiner der {_entrance_count} Eingänge hat bisher Angaben zur Breite"
}
},
"render": {
"after": "{_entrances_count_without_width_count} Eingänge haben keine Angaben zur Breite",
"before": "<h3>Eingänge</h3>Das Gebäude hat {_entrances_count} Eingänge:",
"special": {
"tagrendering": "Ein <a href='#{id}'>Eingang</a> von {canonical(width)}"
}
}
}
},
"title": {
"render": "Wand oder Gebäude"
},

View file

@ -442,39 +442,6 @@
}
},
"tagRenderings": {
"9": {
"renderings": {
"0": {
"question": "How much type_plural can be rented here?",
"render": "{capacity:bicycle_type} type_plural can be rented here"
}
},
"rewrite": {
"into": {
"0": {
"1": "city bikes"
},
"1": {
"1": "electrical bikes"
},
"2": {
"1": "bikes for children"
},
"3": {
"1": "BMX bikes"
},
"4": {
"1": "mountainbike"
},
"5": {
"1": "bicycle panniers"
},
"6": {
"1": "tandem"
}
}
}
},
"bicycle-types": {
"mappings": {
"0": {
@ -527,6 +494,39 @@
}
},
"question": "What kind of bicycle rental is this?"
},
"rental_types": {
"renderings": {
"0": {
"question": "How much type_plural can be rented here?",
"render": "{capacity:bicycle_type} type_plural can be rented here"
}
},
"rewrite": {
"into": {
"0": {
"1": "city bikes"
},
"1": {
"1": "electrical bikes"
},
"2": {
"1": "bikes for children"
},
"3": {
"1": "BMX bikes"
},
"4": {
"1": "mountainbike"
},
"5": {
"1": "bicycle panniers"
},
"6": {
"1": "tandem"
}
}
}
}
},
"title": {
@ -4069,7 +4069,7 @@
}
},
"tagRenderings": {
"6": {
"available_devices": {
"renderings": {
"0": {
"mappings": {
@ -4399,11 +4399,6 @@
}
},
"tagRenderings": {
"5": {
"override": {
"question": "When is this childcare opened?"
}
},
"capacity": {
"question": "How much kids (at most) can be enrolled here?",
"render": "This facility has room for {capacity} kids"
@ -4422,6 +4417,11 @@
"name": {
"question": "What is the name of this facility?",
"render": "This facility is named <b>{name}</b>"
},
"opening_hours": {
"override": {
"question": "When is this childcare opened?"
}
}
},
"title": {
@ -5655,16 +5655,6 @@
}
},
"tagRenderings": {
"8": {
"override": {
"+mappings": {
"0": {
"then": "The main language of this school is unknown"
}
},
"question": "What is the main language of this school?<div class='subtle'>What language is spoken with the students in non-language related courses and with the administration?</div>"
}
},
"capacity": {
"question": "How much students can at most enroll in this school?",
"render": "This school can enroll at most {capacity} students"
@ -5748,6 +5738,16 @@
},
"question": "Does this school target students with a special need? Which structural facilities does this school have?<div class='subtle'>Ad-hoc ",
"render": "This school has facilities for students with {school:for}"
},
"wikidata.school-language": {
"override": {
"+mappings": {
"0": {
"then": "The main language of this school is unknown"
}
},
"question": "What is the main language of this school?<div class='subtle'>What language is spoken with the students in non-language related courses and with the administration?</div>"
}
}
},
"title": {
@ -5834,12 +5834,6 @@
}
},
"tagRenderings": {
"2": {
"override": {
"question": "What kind of shop is this?",
"render": "This is a {shop}"
}
},
"copyshop-print-sizes": {
"mappings": {
"0": {
@ -5860,6 +5854,12 @@
},
"question": "What paper formats does this shop offer?"
},
"id_presets.shop_types": {
"override": {
"question": "What kind of shop is this?",
"render": "This is a {shop}"
}
},
"shops-name": {
"question": "What is the name of this shop?",
"render": "This shop is called <i>{name}</i>"

View file

@ -75,7 +75,7 @@
},
"bicycle_rental": {
"tagRenderings": {
"9": {
"rental_types": {
"rewrite": {
"into": {
"0": {

View file

@ -442,33 +442,6 @@
}
},
"tagRenderings": {
"9": {
"rewrite": {
"into": {
"0": {
"1": "bicis de ciudad"
},
"1": {
"1": "bicis eléctricas"
},
"2": {
"1": "bicis infantiles"
},
"3": {
"1": "bicis BMX"
},
"4": {
"1": "bicis de montaña"
},
"5": {
"1": "alforjas de bicicleta"
},
"6": {
"1": "tándem"
}
}
}
},
"bicycle-types": {
"mappings": {
"0": {
@ -521,6 +494,33 @@
}
},
"question": "¿Qué tipo de alquiler de bicicletas es este?"
},
"rental_types": {
"rewrite": {
"into": {
"0": {
"1": "bicis de ciudad"
},
"1": {
"1": "bicis eléctricas"
},
"2": {
"1": "bicis infantiles"
},
"3": {
"1": "bicis BMX"
},
"4": {
"1": "bicis de montaña"
},
"5": {
"1": "alforjas de bicicleta"
},
"6": {
"1": "tándem"
}
}
}
}
},
"title": {

View file

@ -442,39 +442,6 @@
}
},
"tagRenderings": {
"9": {
"renderings": {
"0": {
"question": "Combien de type_plural peuvent être loués ici ?",
"render": "{capacity:bicycle_type} type_plural peuvent être loués ici"
}
},
"rewrite": {
"into": {
"0": {
"1": "vélos de ville"
},
"1": {
"1": "vélos électriques"
},
"2": {
"1": "vélos d'enfants"
},
"3": {
"1": "BMX"
},
"4": {
"1": "vélos de montagne"
},
"5": {
"1": "sacoches pour vélo"
},
"6": {
"1": "tandem"
}
}
}
},
"bicycle-types": {
"mappings": {
"0": {
@ -527,6 +494,39 @@
}
},
"question": "De quel type de location de vélo s'agit-il ?"
},
"rental_types": {
"renderings": {
"0": {
"question": "Combien de type_plural peuvent être loués ici ?",
"render": "{capacity:bicycle_type} type_plural peuvent être loués ici"
}
},
"rewrite": {
"into": {
"0": {
"1": "vélos de ville"
},
"1": {
"1": "vélos électriques"
},
"2": {
"1": "vélos d'enfants"
},
"3": {
"1": "BMX"
},
"4": {
"1": "vélos de montagne"
},
"5": {
"1": "sacoches pour vélo"
},
"6": {
"1": "tandem"
}
}
}
}
},
"title": {
@ -1316,6 +1316,7 @@
}
},
"charging_station": {
"description": "Une station de recharge",
"filter": {
"0": {
"options": {
@ -1329,6 +1330,23 @@
"question": "Station de charge pour automobiles"
}
}
},
"1": {
"options": {
"0": {
"question": "Stations de recharge en service uniquement"
}
}
},
"2": {
"options": {
"0": {
"question": "Tous types de prise"
},
"1": {
"question": "Dispose dune <div style='display: inline-block'><b><b>prise murale Schuko</b> sans terre (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>"
}
}
}
},
"tagRenderings": {
@ -3494,16 +3512,6 @@
}
},
"tagRenderings": {
"8": {
"override": {
"+mappings": {
"0": {
"then": "La langue principale de cette école est inconnue"
}
},
"question": "Quelle est la langue principale de cette école ?<div class='subtle'>Quelle langue est parlée avec les élèves des cours non linguistiques et avec l'administration ?</div>"
}
},
"capacity": {
"question": "Combien d'élèves peuvent s'inscrire au maximum dans cette école ?",
"render": "Cette école peut accueillir au maximum {capacity} étudiants"
@ -3587,6 +3595,16 @@
},
"question": "Est-ce que cet établissement scolaire s'adresse aux étudiants ayant des besoins particuliers? Quels types d'installation est-ce que cet établissement possède?<div class='subtle'>Ad-hoc ",
"render": "Cet établissement scolaire a des installations pour étudiants ayant {school:for}"
},
"wikidata.school-language": {
"override": {
"+mappings": {
"0": {
"then": "La langue principale de cette école est inconnue"
}
},
"question": "Quelle est la langue principale de cette école ?<div class='subtle'>Quelle langue est parlée avec les élèves des cours non linguistiques et avec l'administration ?</div>"
}
}
},
"title": {
@ -3640,12 +3658,6 @@
}
},
"tagRenderings": {
"2": {
"override": {
"question": "Quel genre de magasin est-ce?",
"render": "C'est une {shop}"
}
},
"copyshop-print-sizes": {
"mappings": {
"0": {
@ -3666,6 +3678,12 @@
},
"question": "Quels formats de papier cette boutique propose-t-elle ?"
},
"id_presets.shop_types": {
"override": {
"question": "Quel genre de magasin est-ce?",
"render": "C'est une {shop}"
}
},
"shops-name": {
"question": "Qu'est-ce que le nom de ce magasin?"
}

View file

@ -442,39 +442,6 @@
}
},
"tagRenderings": {
"9": {
"renderings": {
"0": {
"question": "Hoeveel type_plural kunnen hier uitgeleend worden?",
"render": "{capacity:bicycle_type} type_plural kunnen hier uitgeleend worden"
}
},
"rewrite": {
"into": {
"0": {
"1": "stadsfietsen"
},
"1": {
"1": "elektrische fietsen"
},
"2": {
"1": "kinderfietsen"
},
"3": {
"1": "BMX-fietsen"
},
"4": {
"1": "mountainbike"
},
"5": {
"1": "fietstassen"
},
"6": {
"1": "tandem"
}
}
}
},
"bicycle-types": {
"mappings": {
"0": {
@ -527,6 +494,39 @@
}
},
"question": "Wat voor fietsverhuur is dit?"
},
"rental_types": {
"renderings": {
"0": {
"question": "Hoeveel type_plural kunnen hier uitgeleend worden?",
"render": "{capacity:bicycle_type} type_plural kunnen hier uitgeleend worden"
}
},
"rewrite": {
"into": {
"0": {
"1": "stadsfietsen"
},
"1": {
"1": "elektrische fietsen"
},
"2": {
"1": "kinderfietsen"
},
"3": {
"1": "BMX-fietsen"
},
"4": {
"1": "mountainbike"
},
"5": {
"1": "fietstassen"
},
"6": {
"1": "tandem"
}
}
}
}
},
"title": {
@ -4021,7 +4021,7 @@
}
},
"tagRenderings": {
"6": {
"available_devices": {
"renderings": {
"0": {
"mappings": {
@ -4322,11 +4322,6 @@
}
},
"tagRenderings": {
"5": {
"override": {
"question": "Wanneer is deze kinderopvang geopend?"
}
},
"capacity": {
"question": "Hoeveel kinderen kunnen hier terecht?",
"render": "Hier kunnen {capacity} kinderen terecht"
@ -4341,6 +4336,11 @@
}
},
"question": "Wat voor faciliteit is dit?"
},
"opening_hours": {
"override": {
"question": "Wanneer is deze kinderopvang geopend?"
}
}
},
"title": {
@ -5381,16 +5381,6 @@
}
},
"tagRenderings": {
"8": {
"override": {
"+mappings": {
"0": {
"then": "De voertaal van deze school is niet gekend"
}
},
"question": "Wat is de voertaal van deze school?<div class='subtle'>Welke taal wordt met de studenten gesproken in niet-taal-gerelateerde vakken en met de administratie?</div>"
}
},
"capacity": {
"question": "Ten hoogste hoeveel studenten kunnen er les volgen in deze school?",
"render": "Deze school kan maximaal {capacity} studenten lesgeven"
@ -5474,6 +5464,16 @@
},
"question": "Richt deze school zich op leerlingen met een speciale zorgbehoefte? Welke structurele faciliteiten heeft deze school voor leerlingen met een extra zorgbehoefte?<div class='subtle'>Ad-hoc maatregelen zijn niet voldoende</div> ",
"render": "Deze school richt zich op studenten met {school:for}"
},
"wikidata.school-language": {
"override": {
"+mappings": {
"0": {
"then": "De voertaal van deze school is niet gekend"
}
},
"question": "Wat is de voertaal van deze school?<div class='subtle'>Welke taal wordt met de studenten gesproken in niet-taal-gerelateerde vakken en met de administratie?</div>"
}
}
},
"title": {
@ -5527,12 +5527,6 @@
}
},
"tagRenderings": {
"2": {
"override": {
"question": "Wat voor soort winkel is dit?",
"render": "Dit is een {shop}"
}
},
"copyshop-print-sizes": {
"mappings": {
"0": {
@ -5553,6 +5547,12 @@
},
"question": "Op welke papiergroottes kan deze zaak printen?"
},
"id_presets.shop_types": {
"override": {
"question": "Wat voor soort winkel is dit?",
"render": "Dit is een {shop}"
}
},
"shops-name": {
"question": "Wat is de naam van deze winkel?",
"render": "Deze zaak heet <i>{name}</i>"

View file

@ -23,6 +23,17 @@
"email": {
"question": "Quelle est l'adresse courriel de {title()} ?"
},
"induction-loop": {
"mappings": {
"0": {
"then": "Ce lieu dispose dune boucle auditive"
},
"1": {
"then": "Ce lieu <b>ne dispose pas</b> de boucle auditive"
}
},
"question": "Ce lieu dispose-til dune boucle auditive pour les personnes malentendantes?"
},
"level": {
"mappings": {
"0": {
@ -44,6 +55,12 @@
"question": "À quel étage se situe lélément ?",
"render": "Étage {level}"
},
"multilevels": {
"override": {
"question": "Quels étages sont desservis par cet ascenceur?",
"render": "Cet ascenceur permet daccéder aux étages {level}"
}
},
"opening_hours": {
"question": "Quelles sont les horaires d'ouverture de {title()} ?",
"render": "<h3>Horaires d'ouverture</h3>{opening_hours_table(opening_hours)}"

View file

@ -300,9 +300,6 @@
"description": "En aquest mapa trobareu informació sobre tots els tipus d'escoles i educació i podreu afegir fàcilment més informació",
"title": "Educació"
},
"entrances": {
"title": "Entrades"
},
"etymology": {
"layers": {
"1": {

View file

@ -447,11 +447,6 @@
"description": "Auf dieser Karte können Sie Informationen über Bildungseinrichtungen finden und hinzufügen",
"title": "Bildung"
},
"entrances": {
"description": "Eine Karte mit allen Eingängen, die wichtige Aspekte für Rollstuhlfahrer erfasst",
"shortDescription": "Eingänge prüfen, um die Rollstuhlnavigation zu verbessern",
"title": "Eingänge"
},
"etymology": {
"description": "Auf dieser Karte können Sie sehen, wonach ein Objekt benannt ist. Die Straßen, Gebäude, ... stammen von OpenStreetMap, und wurden mit Wikidata verknüpft. Im Popup sehen Sie den Wikipedia-Artikel (falls vorhanden) oder ein Wikidata-Feld, nach dem das Objekt benannt ist. Wenn das Objekt selbst eine Wikipedia-Seite hat, wird auch diese angezeigt.<br/><br/><b>Sie können auch einen Beitrag leisten!</b> Wenn Sie weit genug hinein zoomen werden <i>alle</i> Straßen angezeigt. Wenn Sie auf eine Straße klicken, öffnet sich ein Wikidata-Suchfeld. Mit ein paar Klicks können Sie einen Etymologie-Link hinzufügen. Beachten Sie, dass Sie dazu ein kostenloses OpenStreetMap-Konto benötigen.",
"layers": {
@ -600,10 +595,6 @@
"description": "<b>Geisterräder</b> sind weiße Fahrräder, die zum Gedenken tödlich verunglückter Radfahrer vor Ort aufgestellt wurden.<br/><br/> Auf dieser Karte sehen Sie alle Geisterräder, die in OpenStreetMap eingetragen sind. Fehlt ein Geisterrad? Jeder kann hier Informationen hinzufügen oder aktualisieren - Sie benötigen nur ein (kostenloses) OpenStreetMap-Konto.",
"title": "Geisterräder"
},
"governments": {
"description": "Auf dieser Karte werden Büros der öffentlichen Verwaltung angezeigt und können leicht hinzugefügt werden",
"title": "Büros der öffentlichen Verwaltung"
},
"grb": {
"description": "Dieses Thema ist ein Versuch, die Automatisierung des GRB-Imports zu unterstützen.",
"layers": {
@ -663,6 +654,72 @@
"description": "Eine Karte mit Bordsteinen und Überwegen.",
"title": "Bordsteine und Überwege"
},
"mapcomplete-changes": {
"description": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen",
"layers": {
"0": {
"description": "Zeigt alle MapComplete Änderungen",
"filter": {
"0": {
"options": {
"0": {
"question": "Themenname enthält {search}"
}
}
},
"1": {
"options": {
"0": {
"question": "Erstellt von {search}"
}
}
},
"2": {
"options": {
"0": {
"question": "<b>Nicht</b> erstellt von {search}"
}
}
}
},
"name": "Zentrum der Änderungssätze",
"tagRenderings": {
"contributor": {
"render": "Geändert von <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>"
},
"render_id": {
"render": "Änderungssatz <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>"
},
"theme": {
"mappings": {
"0": {
"then": "Änderung mit <b>inoffiziellem</b> Thema <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>"
}
},
"render": "Änderung mit Thema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>"
}
},
"title": {
"render": "Änderungssatz für {theme}"
}
},
"1": {
"override": {
"tagRenderings": {
"link_to_more": {
"render": "Weitere Statistiken finden Sie <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a>"
}
}
}
}
},
"shortDescription": "Zeigt die mit MapComplete vorgenommenen Änderungen",
"title": "Mit MapComplete vorgenommene Änderungen"
},
"maproulette": {
"description": "Thema mit MapRoulette-Aufgaben, die Sie suchen, filtern und beheben können.",
"title": "MapRoulette-Aufgaben"
},
"maps": {
"description": "Auf dieser Karte findest du alle Karten, die OpenStreetMap kennt - typischerweise eine große Karte auf einer Informationstafel, die das Gebiet, die Stadt oder die Region zeigt, z.B. eine touristische Karte auf der Rückseite einer Plakatwand, eine Karte eines Naturschutzgebietes, eine Karte der Radwegenetze in der Region, ...) <br/><br/>Wenn eine Karte fehlt, können Sie diese leicht auf OpenStreetMap kartieren.",
"shortDescription": "Dieses Thema zeigt alle (touristischen) Karten, die OpenStreetMap kennt",
@ -734,6 +791,26 @@
"render": "Statistik"
}
}
},
"19": {
"override": {
"+tagRenderings": {
"0": {
"render": {
"special": {
"text": "Import"
}
}
},
"1": {
"render": {
"special": {
"message": "Alle vorgeschlagenen Tags hinzufügen"
}
}
}
}
}
}
},
"title": "Auf Rädern"

View file

@ -447,11 +447,6 @@
"description": "On this map, you'll find information about all types of schools and eduction and can easily add more information",
"title": "Education"
},
"entrances": {
"description": "A map showing all entrances, which surveys for important aspects for wheelchair users",
"shortDescription": "Survey entrances to help wheelchair routing",
"title": "Entrances"
},
"etymology": {
"description": "On this map, you can see what an object is named after. The streets, buildings, ... come from OpenStreetMap which got linked with Wikidata. In the popup, you'll see the Wikipedia article (if it exists) or a wikidata box of what the object is named after. If the object itself has a wikipedia page, that'll be shown too.<br/><br/><b>You can help contribute too!</b>Zoom in enough and <i>all</i> streets will show up. You can click one and a Wikidata-search box will popup. With a few clicks, you can add an etymology link. Note that you need a free OpenStreetMap account to do this.",
"layers": {
@ -600,10 +595,6 @@
"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.<br/><br/>On this map, one can see all the ghost bikes which are known by OpenStreetMap. Is a ghost bike missing? Everyone can add or update information here - you only need to have a (free) OpenStreetMap account.",
"title": "Ghost bikes"
},
"governments": {
"description": "On this map, Governmental offices are shown and can be easily added",
"title": "Governmental Offices"
},
"grb": {
"description": "This theme is an attempt to help automating the GRB import.",
"layers": {
@ -962,6 +953,28 @@
"description": "Layer showing sidewalks of highways",
"name": "Sidewalks",
"tagRenderings": {
"left-right-questions": {
"renderings": {
"1": {
"mappings": {
"0": {
"then": "Yes, there is a sidewalk on this side of the road"
},
"1": {
"then": "No, there is no sidewalk to walk on"
},
"2": {
"then": "There is a separately mapped sidewalk to walk on"
}
},
"question": "Is there a sidewalk on this side of the road?"
},
"2": {
"question": "What is the width of the sidewalk on this side of the road?",
"render": "This sidewalk is {sidewalk:left|right:width}m wide"
}
}
},
"streetname": {
"render": "This street is named {name}"
}

View file

@ -345,11 +345,6 @@
"description": "En este mapa, se muestran los puntos de agua potable accesibles públicamente y pueden añadirse fácilmente",
"title": "Agua Potable"
},
"entrances": {
"description": "Un mapa que muestra todas las entradas, que sondea aspectos importantes para usuarios de sillas de ruedas",
"shortDescription": "Sondea entradas para ayudar el enrutado de sillas de ruedas",
"title": "Entradas"
},
"etymology": {
"layers": {
"1": {

View file

@ -447,11 +447,6 @@
"description": "Sur cette carte, vous trouverez des informations concernant tous les types d'écoles et d'enseignement. Vous pouvez facilement ajouter plus d'informations",
"title": "Enseignement"
},
"entrances": {
"description": "Une carte renseignant toutes les entrées (importante pour les utilisateurs de sièges roulants",
"shortDescription": "Vérifez les entrées pour faciliter le routage des utilisateurs de sièges roulants",
"title": "Entrées"
},
"etymology": {
"description": "Retrouvez sur cette carte lorigine du nom dun élément. Les rues, bâtiments, etc. proviennent dOpenStreetMap et sont liés aux données venant de Wikidata. La fenêtre pop-up affiche larticle Wikipedia (sil existe) ou linfobox Wikidata de lobjet dont provient le nom. Si lobjet a sa propre page Wikipedia, elle sera aussi affichée.<br/><br/><b>Vous pouvez contribuer aussi !</b>Zoomez suffisamment et <i>toutes</i> les rues seront affichées. Cliquez sur l'une d'elles et une boîte de recherche Wikidata apparaîtra. En quelques clics, vous pouvez ajouter un lien étymologique. Vous devez disposer dun compte OpenStreetMap gratuit.",
"layers": {
@ -647,6 +642,84 @@
"shortDescription": "Carte indiquant les bornes incendies, extincteurs, casernes de pompiers et ambulanciers.",
"title": "Bornes incendies, extincteurs, casernes de pompiers et ambulanciers"
},
"healthcare": {
"description": "Cette carte affiche différents éléments liés à la santé",
"title": "Services de santé"
},
"indoors": {
"description": "Cette carte présente les lieux intérieurs accessibles au public",
"title": "Intérieurs"
},
"kerbs_and_crossings": {
"description": "Une carte affichant les ressauts et traversées.",
"title": "Ressauts et traversées"
},
"mapcomplete-changes": {
"description": "Cette carte affiche toutes les modifications réalisées avec MapComplete",
"layers": {
"0": {
"description": "Afficher toutes les modifications MapComplete",
"filter": {
"0": {
"options": {
"0": {
"question": "Nom de thème contenant {search}"
}
}
},
"1": {
"options": {
"0": {
"question": "Réalisé par {search}"
}
}
},
"2": {
"options": {
"0": {
"question": "<b>Non</b> réalisé par {search}"
}
}
}
},
"name": "Centre du groupe de modifications",
"tagRenderings": {
"contributor": {
"render": "Modification faite par <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>"
},
"render_id": {
"render": "Groupe de modifications <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>"
},
"theme": {
"mappings": {
"0": {
"then": "Modification avec le thème <b>non-officiel</b> <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>"
}
},
"render": "Modification avec le thème <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>"
}
},
"title": {
"render": "Groupe de modifications pour {theme}"
}
},
"1": {
"override": {
"tagRenderings": {
"link_to_more": {
"render": "Dautres statistiques sont disponibles <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>ici</a>"
}
}
}
}
},
"shortDescription": "Montrer les changements faits avec MapComplete",
"title": "Changements faits avec MapComplete"
},
"maproulette": {
"description": "Thème MapRoulette permettant dafficher, rechercher, filtrer et résoudre les tâches.",
"title": "Tâches MapRoulette"
},
"maps": {
"description": "Sur cette carte sont affichées les cartes (plans) mappées dans OpenStreetMap.<br/><br/>Si une carte est manquante, vous pouvez l'ajouer facilement avec un compte OpenStreetMap.",
"shortDescription": "Cette carte affiche toutes les cartes (plans) mappés dans OpenStreetMap",
@ -673,6 +746,73 @@
},
"onwheels": {
"description": "Sur cette carte nous pouvons voir et ajouter les différents endroits publiques accessibles aux chaises roulantes",
"layers": {
"4": {
"override": {
"filter": {
"0": {
"options": {
"0": {
"question": "Toute/aucune information sur la largeur"
},
"1": {
"question": "Pas dinformation sur la largeur"
}
}
}
}
}
},
"6": {
"override": {
"=filter": {
"0": {
"options": {
"0": {
"question": "Tous types de ressauts"
},
"1": {
"question": "Ressaut surélevé (>3cm)"
},
"2": {
"question": "Ressaut abaissé (~3cm)"
},
"3": {
"question": "Ressaut à niveau (~0cm)"
}
}
}
}
}
},
"18": {
"override": {
"=title": {
"render": "Statistiques"
}
}
},
"19": {
"override": {
"+tagRenderings": {
"0": {
"render": {
"special": {
"text": "Importation"
}
}
},
"1": {
"render": {
"special": {
"message": "Ajouter tous les attributs suggérés"
}
}
}
}
}
}
},
"title": "OnWheels"
},
"openwindpowermap": {
@ -797,6 +937,10 @@
"shortDescription": "Une carte des bureaux de poste et des boîtes à lettres",
"title": "Carte des Bureaux de Poste et Boîtes à Lettres"
},
"rainbow_crossings": {
"description": "Cette carte affiche et permet la modification des passages cloutés peints aux couleurs de larc-en-ciel",
"title": "Passages cloutés arc-en-ciel"
},
"shops": {
"description": "Sur cette carte, vous pouvez ajouter des informations sur les magasins, leurs horaires d'ouverture et leurs numéros de téléphone",
"shortDescription": "Carte modifiable affichant les informations de base des magasins",
@ -891,13 +1035,18 @@
"description": "Carte affichant les WC et toilettes publiques",
"title": "Carte des WC et toilettes publiques"
},
"transit": {
"description": "Planifier votre itinéraire avec le système de transports en commun.",
"title": "Lignes de bus"
},
"trees": {
"description": "Cartographions tous les arbres !",
"shortDescription": "Cartographions tous les arbres",
"title": "Arbres"
},
"walls_and_buildings": {
"description": "Couche intégrée spéciale fournissant tous les murs et bâtiments. Cette couche est utile dans les préréglages pour les objets qui peuvent être placés contre les murs (par exemple, les DEA, les boîtes aux lettres, les entrées, les adresses, les caméras de surveillance, …). Ce calque est invisible par défaut et non inchangeable par l'utilisateur."
"description": "Couche intégrée spéciale fournissant tous les murs et bâtiments. Cette couche est utile dans les préréglages pour les objets qui peuvent être placés contre les murs (par exemple, les DEA, les boîtes aux lettres, les entrées, les adresses, les caméras de surveillance, …). Ce calque est invisible par défaut et non inchangeable par l'utilisateur.",
"title": "Murs et bâtiments"
},
"waste": {
"description": "Carte des poubelles et infrastructures de recyclage.",

View file

@ -163,11 +163,6 @@
"description": "Ezen a térképen a nyilvánosan hozzáférhető ivóvíznyerő helyek láthatók, szerkeszthetők és rajzolhatók fel könnyedén",
"title": "Ivóvíz"
},
"entrances": {
"description": "Épületek bejáratai mutató térkép, amely a kerekesszékkel közlekedőknek fontos szempontokat jeleníti meg",
"shortDescription": "Akadálymentes útvonaltervezést segítő bejáratok feltérképezése",
"title": "Épületek bejáratai"
},
"etymology": {
"description": "Ezen a térképen az látható, hogy egy objektum milyen névre hallgat. Az utcák, épületek stb. az OpenStreetMapről származnak, amely össze van kapcsolva a Wikidata adatbázissal. A felugró ablakban megjelenik a megfelelő Wikipedia-szócikk (ha van) vagy egy Wikidata-doboz arról, amiről az objektumot elnevezték. Ha magának az objektumnak van Wikipédia-oldala, az is megjelenik.<br/><br/><b>A térképet Ön is szerkesztheti!</b>nagyítson rá, és <i>az összes</i> utca megjelenik. Ha valamelyikre rákattint, megjelenik Wikidata-kereső doboz. Néhány kattintással hozzáadhat egy etimológiai linket. Ne feledje, hogy ehhez szüksége van egy ingyenes OpenStreetMap-fiókra.",
"layers": {

View file

@ -288,11 +288,6 @@
"education": {
"title": "Utdanning"
},
"entrances": {
"description": "Alle innganger, som er en viktig undersøkelse å gjøre for rullestolsbrukere",
"shortDescription": "Lag oversikt over innganger for å hjelpe rullestolsruteplanlegging",
"title": "Innganger"
},
"facadegardens": {
"layers": {
"0": {

View file

@ -451,11 +451,6 @@
"description": "Deze kaart toont info over verschillende onderwijsinstellingen zoals kleuterscholen, middelbare scholen en tertiair onderwijs.",
"title": "Onderwijs"
},
"entrances": {
"description": "Een kaart die alle toegangen toont,",
"shortDescription": "Breng ingangen in kaart om rolstoelnavigatie mogelijk te maken",
"title": "Toegangsdeuren"
},
"etymology": {
"description": "Op deze kaart zie je waar een plaats naar is vernoemd. De straten, gebouwen, ... komen uit OpenStreetMap, waar een link naar Wikidata werd gelegd. In de popup zie je het Wikipedia-artikel van hetgeen naarwaar het vernoemd is of de Wikidata-box.<br/><br/><b>Je kan zelf ook meehelpen!</b>Als je ver inzoomt, krijg je alle straten te zien. Klik je een straat aan, dan krijg je een zoekfunctie waarmee je snel een nieuwe link kan leggen. Je hebt hiervoor een gratis OpenStreetMap account nodig.",
"layers": {

View file

@ -280,11 +280,6 @@
"description": "在這份地圖上,公共可及的飲水點可以顯示出來,也能輕易的增加",
"title": "飲用水"
},
"entrances": {
"description": "顯示所有出入口的地圖,勘查對輪椅使用者重要的資訊",
"shortDescription": "幫助輪椅導航來勘查出入口",
"title": "出入口"
},
"etymology": {
"description": "在這份地圖,你可以看到物件是以何命名,道路、 建築等的命名由來連到 Wikidata。在跳出選單你可以看到物件命名由來的維基條目 (如果有的話),或是 Wikidata 框。如果物件本身有維基頁面,也會顯示。<br/><br/><b>你也可以貢獻!</b>放大到夠大的層級,然後<i>所有</i>道路都會顯示。你可以點選一個之後 Wikidata 搜尋框會跳出來。只要點幾下,你可以新增詞源連結。注意你要有開放街圖帳號才能這麼做。",
"layers": {

View file

@ -55,7 +55,7 @@ class TranslationPart {
}
const v = translations[translationsKey]
if (typeof (v) != "string") {
console.error(`Non-string object at ${context} in translation while trying to add more translations to '` + translationsKey + "'. The offending object which _should_ be a translation is: ", v,"\n\nThe current object is:", this.toJson("en"))
console.error(`Non-string object at ${context} in translation while trying to add more translations to '` + translationsKey + "'. The offending object which _should_ be a translation is: ", v, "\n\nThe current object is:", this.toJson("en"))
throw "Error in an object depicting a translation: a non-string object was found. (" + context + ")\n You probably put some other section accidentally in the translation"
}
this.contents.set(translationsKey, v)
@ -100,25 +100,34 @@ class TranslationPart {
console.warn("Got a null value for key ", key)
continue
}
if (typeof v !== "object") {
continue;
}
if (v["id"] !== undefined && context.endsWith(".tagRenderings")) {
// We use the embedded id as key instead of the index as this is more stable
// Note: indonesian is shortened as 'id' as well!
if (v["en"] !== undefined || v["nl"] !== undefined) {
// This is probably a translation already!
// pass
if (context.endsWith(".tagRenderings")) {
if (v["id"] === undefined) {
if (v["builtin"] !== undefined && typeof v["builtin"] === "string") {
key = v["builtin"]
} else {
throw "At " + context + ": every object within a tagRenderings-list should have an id. " + JSON.stringify(v) + " has no id"
}
} else {
key = v["id"]
if (typeof key !== "string") {
throw "Panic: found a non-string ID at" + context
// We use the embedded id as key instead of the index as this is more stable
// Note: indonesian is shortened as 'id' as well!
if (v["en"] !== undefined || v["nl"] !== undefined) {
// This is probably a translation already!
// pass
} else {
key = v["id"]
if (typeof key !== "string") {
throw "Panic: found a non-string ID at" + context
}
}
}
}
if (typeof v !== "object") {
continue;
}
if (!this.contents.get(key)) {
this.contents.set(key, new TranslationPart())
@ -591,7 +600,7 @@ function mergeThemeTranslations() {
}
}
if(!existsSync("./langs/themes")){
if (!existsSync("./langs/themes")) {
mkdirSync("./langs/themes")
}
const themeOverwritesWeblate = process.argv[2] === "--ignore-weblate"