Merge master

This commit is contained in:
pietervdvn 2022-04-03 03:26:26 +02:00
commit 6beebcd4ef
116 changed files with 2434 additions and 444 deletions

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 KiB

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 KiB

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 623 KiB

After

Width:  |  Height:  |  Size: 624 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 389 KiB

After

Width:  |  Height:  |  Size: 394 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 416 KiB

After

Width:  |  Height:  |  Size: 420 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 366 KiB

After

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 KiB

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 KiB

After

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 KiB

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 760 KiB

After

Width:  |  Height:  |  Size: 758 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

After

Width:  |  Height:  |  Size: 364 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 915 KiB

After

Width:  |  Height:  |  Size: 916 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 KiB

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 591 KiB

After

Width:  |  Height:  |  Size: 591 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 KiB

After

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 KiB

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 752 KiB

After

Width:  |  Height:  |  Size: 745 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 KiB

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 KiB

After

Width:  |  Height:  |  Size: 271 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View file

@ -1,5 +1,518 @@
{
"features": [
{
"id": 119179130,
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
4.8097883,
51.1276893
],
[
5.0996267,
51.1276893
],
[
5.0996267,
51.1712407
],
[
4.8097883,
51.1712407
],
[
4.8097883,
51.1276893
]
]
]
},
"properties": {
"check_user": null,
"reasons": [],
"tags": [],
"features": [],
"user": "dentonny",
"uid": "4198737",
"editor": "MapComplete 0.17.1",
"comment": "Adding data with #MapComplete for theme #grb",
"comments_count": 0,
"source": "survey",
"imagery_used": "Not reported",
"date": "2022-03-31T22:10:02Z",
"reviewed_features": [],
"create": 269,
"modify": 268,
"delete": 7,
"area": 0.0126228680937595,
"is_suspect": false,
"harmful": null,
"checked": false,
"check_date": null,
"metadata": {
"host": "https://mapcomplete.osm.be/grb.html",
"move": 235,
"theme": "grb",
"answer": 4,
"delete": 7,
"import": 19,
"locale": "nl",
"imagery": "osm",
"conflation": 64,
"change_over_5000m": 23
},
"id": 119179130
}
},
{
"id": 119177668,
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
3.2404717,
51.2068242
],
[
3.2411961,
51.2068242
],
[
3.2411961,
51.2075518
],
[
3.2404717,
51.2075518
],
[
3.2404717,
51.2068242
]
]
]
},
"properties": {
"check_user": null,
"reasons": [],
"tags": [],
"features": [],
"user": "Pieter Vander Vennet",
"uid": "3818858",
"editor": "MapComplete 0.18.0-alpha",
"comment": "Adding data with #MapComplete for theme #sidewalks",
"comments_count": 0,
"source": "survey",
"imagery_used": "Not reported",
"date": "2022-03-31T21:05:11Z",
"reviewed_features": [],
"create": 0,
"modify": 1,
"delete": 0,
"area": 5.27073439998075e-7,
"is_suspect": false,
"harmful": null,
"checked": false,
"check_date": null,
"metadata": {
"host": "https://pietervdvn.github.io/mc/develop/sidewalks.html",
"theme": "sidewalks",
"answer": 1,
"locale": "en",
"imagery": "osm",
"change_within_500m": 1
},
"id": 119177668
}
},
{
"id": 119177017,
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
5.4823647,
50.8439023
],
[
5.485757,
50.8439023
],
[
5.485757,
50.8464527
],
[
5.4823647,
50.8464527
],
[
5.4823647,
50.8439023
]
]
]
},
"properties": {
"check_user": null,
"reasons": [],
"tags": [],
"features": [],
"user": "jozin-belgium",
"uid": "1947314",
"editor": "MapComplete 0.18.0-alpha",
"comment": "Adding data with #MapComplete for theme #grb",
"comments_count": 0,
"source": "Not reported",
"imagery_used": "Not reported",
"date": "2022-03-31T20:42:39Z",
"reviewed_features": [],
"create": 165,
"modify": 0,
"delete": 0,
"area": 0.00000865172191999141,
"is_suspect": false,
"harmful": null,
"checked": false,
"check_date": null,
"metadata": {
"host": "https://pietervdvn.github.io/mc/develop/grb.html",
"theme": "grb",
"import": 26,
"locale": "nl",
"imagery": "osm"
},
"id": 119177017
}
},
{
"id": 119176477,
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
4.3951609,
50.7952296
],
[
4.4076558,
50.7952296
],
[
4.4076558,
50.7973983
],
[
4.3951609,
50.7973983
],
[
4.3951609,
50.7952296
]
]
]
},
"properties": {
"check_user": null,
"reasons": [],
"tags": [],
"features": [],
"user": "Thierry1030",
"uid": "286563",
"editor": "MapComplete 0.17.1",
"comment": "Adding data with #MapComplete for theme #cyclofix",
"comments_count": 0,
"source": "Not reported",
"imagery_used": "Not reported",
"date": "2022-03-31T20:23:31Z",
"reviewed_features": [],
"create": 0,
"modify": 6,
"delete": 0,
"area": 0.0000270976896299824,
"is_suspect": false,
"harmful": null,
"checked": false,
"check_date": null,
"metadata": {
"host": "https://mapcomplete.osm.be/cyclofix.html",
"theme": "cyclofix",
"answer": 4,
"locale": "en",
"imagery": "osm",
"add-image": 3
},
"id": 119176477
}
},
{
"id": 119174003,
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
3.3079188,
50.9896615
],
[
3.330834,
50.9896615
],
[
3.330834,
50.9979404
],
[
3.3079188,
50.9979404
],
[
3.3079188,
50.9896615
]
]
]
},
"properties": {
"check_user": null,
"reasons": [],
"tags": [],
"features": [],
"user": "Thibaultmol",
"uid": "2916921",
"editor": "MapComplete 0.17.1",
"comment": "Adding data with #MapComplete for theme #sidewalks",
"comments_count": 0,
"source": "Not reported",
"imagery_used": "Not reported",
"date": "2022-03-31T19:00:54Z",
"reviewed_features": [],
"create": 16,
"modify": 47,
"delete": 0,
"area": 0.000189712649280011,
"is_suspect": false,
"harmful": null,
"checked": false,
"check_date": null,
"metadata": {
"host": "https://mapcomplete.osm.be/sidewalks.html",
"split": 18,
"theme": "sidewalks",
"answer": 75,
"locale": "en",
"imagery": "osm"
},
"id": 119174003
}
},
{
"id": 119173579,
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
4.4072158,
51.2126045
],
[
4.4251232,
51.2126045
],
[
4.4251232,
51.2163039
],
[
4.4072158,
51.2163039
],
[
4.4072158,
51.2126045
]
]
]
},
"properties": {
"check_user": null,
"reasons": [],
"tags": [],
"features": [],
"user": "philippec",
"uid": "76884",
"editor": "MapComplete 0.17.1",
"comment": "Adding data with #MapComplete for theme #aed",
"comments_count": 0,
"source": "survey",
"imagery_used": "Not reported",
"date": "2022-03-31T18:45:55Z",
"reviewed_features": [],
"create": 1,
"modify": 4,
"delete": 0,
"area": 0.0000662466355600361,
"is_suspect": false,
"harmful": null,
"checked": false,
"check_date": null,
"metadata": {
"host": "https://mapcomplete.osm.be/aed.html",
"theme": "aed",
"answer": 1,
"create": 1,
"locale": "nl",
"imagery": "osm",
"add-image": 3,
"change_over_5000m": 5
},
"id": 119173579
}
},
{
"id": 119166365,
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
2.150535,
41.3780295
],
[
2.1822848,
41.3780295
],
[
2.1822848,
41.4018566
],
[
2.150535,
41.4018566
],
[
2.150535,
41.3780295
]
]
]
},
"properties": {
"check_user": null,
"reasons": [
{
"id": 4,
"name": "mass modification"
}
],
"tags": [],
"features": [],
"user": "ccamara",
"uid": "423535",
"editor": "MapComplete 0.17.1",
"comment": "Adding data with #MapComplete for theme #etymology",
"comments_count": 0,
"source": "Not reported",
"imagery_used": "Not reported",
"date": "2022-03-31T15:29:30Z",
"reviewed_features": [],
"create": 0,
"modify": 254,
"delete": 0,
"area": 0.000756505659580174,
"is_suspect": true,
"harmful": null,
"checked": false,
"check_date": null,
"metadata": {
"host": "https://mapcomplete.osm.be/etymology.html",
"theme": "etymology",
"answer": 400,
"locale": "en",
"imagery": "osm"
},
"id": 119166365
}
},
{
"id": 119166248,
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
3.1954288,
51.2497832
],
[
3.1954288,
51.2497832
],
[
3.1954288,
51.2497832
],
[
3.1954288,
51.2497832
],
[
3.1954288,
51.2497832
]
]
]
},
"properties": {
"check_user": null,
"reasons": [],
"tags": [],
"features": [],
"user": "Pieter Vander Vennet",
"uid": "3818858",
"editor": "MapComplete 0.17.1",
"comment": "Adding data with #MapComplete for theme #cyclofix",
"comments_count": 0,
"source": "survey",
"imagery_used": "Not reported",
"date": "2022-03-31T15:26:54Z",
"reviewed_features": [],
"create": 0,
"modify": 1,
"delete": 0,
"area": 0,
"is_suspect": false,
"harmful": null,
"checked": false,
"check_date": null,
"metadata": {
"host": "https://mapcomplete.osm.be/cyclofix",
"theme": "cyclofix",
"answer": 1,
"locale": "nl",
"imagery": "CartoDB.Voyager",
"change_over_5000m": 1
},
"id": 119166248
}
},
{
"id": 119164497,
"type": "Feature",
@ -71,14 +584,14 @@
[
[
13.0583474,
52.4079874
52.3648204
],
[
13.0585384,
52.4079874
13.0936165,
52.3648204
],
[
13.0585384,
13.0936165,
52.4080108
],
[
@ -87,7 +600,7 @@
],
[
13.0583474,
52.4079874
52.3648204
]
]
]
@ -111,10 +624,10 @@
"imagery_used": "Not reported",
"date": "2022-03-31T14:34:23Z",
"reviewed_features": [],
"create": 2,
"modify": 2,
"create": 8,
"modify": 7,
"delete": 0,
"area": 4.46939999928195e-9,
"area": 0.00152328653663996,
"is_suspect": true,
"harmful": null,
"checked": false,
@ -199,31 +712,36 @@
"coordinates": [
[
[
2.1517345,
41.3750824
2.1419668,
41.3738288
],
[
2.1638315,
41.3750824
2.2162241,
41.3738288
],
[
2.1638315,
41.3841951
2.2162241,
41.4133962
],
[
2.1517345,
41.3841951
2.1419668,
41.4133962
],
[
2.1517345,
41.3750824
2.1419668,
41.3738288
]
]
]
},
"properties": {
"check_user": null,
"reasons": [],
"reasons": [
{
"id": 4,
"name": "mass modification"
}
],
"tags": [],
"features": [],
"user": "ccamara",
@ -236,17 +754,17 @@
"date": "2022-03-31T13:40:39Z",
"reviewed_features": [],
"create": 0,
"modify": 53,
"modify": 588,
"delete": 0,
"area": 0.000110236331900037,
"is_suspect": false,
"area": 0.0029381682920202,
"is_suspect": true,
"harmful": null,
"checked": false,
"check_date": null,
"metadata": {
"host": "https://mapcomplete.osm.be/etymology.html",
"theme": "etymology",
"answer": 71,
"answer": 829,
"locale": "en",
"imagery": "osm"
},
@ -265,16 +783,16 @@
50.8151642
],
[
5.4664566,
5.4885144,
50.8151642
],
[
5.4664566,
50.8161343
5.4885144,
50.8470484
],
[
5.4642697,
50.8161343
50.8470484
],
[
5.4642697,
@ -285,7 +803,12 @@
},
"properties": {
"check_user": null,
"reasons": [],
"reasons": [
{
"id": 2,
"name": "possible import"
}
],
"tags": [],
"features": [],
"user": "jozin-belgium",
@ -297,18 +820,18 @@
"imagery_used": "Not reported",
"date": "2022-03-31T13:29:26Z",
"reviewed_features": [],
"create": 59,
"create": 1075,
"modify": 0,
"delete": 0,
"area": 0.0000021215116900076,
"is_suspect": false,
"area": 0.000773022863739998,
"is_suspect": true,
"harmful": null,
"checked": false,
"check_date": null,
"metadata": {
"host": "https://pietervdvn.github.io/mc/develop/grb.html",
"theme": "grb",
"import": 9,
"import": 143,
"locale": "nl",
"imagery": "osm"
},
@ -323,24 +846,24 @@
"coordinates": [
[
[
4.1911528,
51.102956
4.1909382,
51.1027885
],
[
4.1911715,
51.102956
4.1914069,
51.1027885
],
[
4.1911715,
4.1914069,
51.1030537
],
[
4.1911528,
4.1909382,
51.1030537
],
[
4.1911528,
51.102956
4.1909382,
51.1027885
]
]
]
@ -364,20 +887,29 @@
"imagery_used": "Not reported",
"date": "2022-03-31T13:29:16Z",
"reviewed_features": [],
"create": 2,
"modify": 0,
"create": 9,
"modify": 55,
"delete": 0,
"area": 1.8269899999618e-9,
"area": 1.24299239997193e-7,
"is_suspect": true,
"harmful": null,
"checked": false,
"check_date": null,
"metadata": {
"host": "https://mapcomplete.osm.be/toerisme_vlaanderen.html",
"move": 15,
"theme": "toerisme_vlaanderen",
"create": 2,
"answer": 47,
"create": 9,
"locale": "nl",
"imagery": "osm"
"imagery": "osm",
"add-image": 1,
"move:node/9626571473": "improve_accuracy",
"move:node/9626576649": "improve_accuracy",
"move:node/9626613959": "improve_accuracy",
"move:node/9626675921": "improve_accuracy",
"move:node/9626683663": "improve_accuracy",
"move:node/9626695007": "improve_accuracy"
},
"id": 119160492
}

View file

@ -2,7 +2,7 @@ import {Utils} from "../Utils";
export default class Constants {
public static vNumber = "0.18.0-alpha";
public static vNumber = "0.18.0-alpha-2";
public static ImgurApiKey = '7070e7167f0a25a'
public static readonly mapillary_client_token_v4 = "MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85"

View file

@ -270,76 +270,145 @@ class ExpandGroupRewrite extends Conversion<{
}
class ExpandRewrite<T> extends Conversion<T | RewritableConfigJson<T>, T[]> {
export class ExpandRewrite<T> extends Conversion<T | RewritableConfigJson<T>, T[]> {
constructor() {
super("Applies a rewrite", [], "ExpandRewrite");
}
/* Used for left|right group creation and replacement.
* Every 'keyToRewrite' will be replaced with 'target' recursively. This substitution will happen in place in the object 'tr' */
/**
* Used for left|right group creation and replacement.
* Every 'keyToRewrite' will be replaced with 'target' recursively. This substitution will happen in place in the object 'tr'
*
* // should substitute strings
* const spec = {
* "someKey": "somevalue {xyz}"
* }
* ExpandRewrite.RewriteParts("{xyz}", "rewritten", spec) // => {"someKey": "somevalue rewritten"}
*
*/
public static RewriteParts<T>(keyToRewrite: string, target: string | any, tr: T): T {
const targetIsTranslation = Translations.isProbablyATranslation(target)
function replaceRecursive(transl: string | any) {
if(transl === keyToRewrite){
function replaceRecursive(obj: string | any, target) {
if (obj === keyToRewrite) {
return target
}
if (typeof transl === "string") {
if (typeof obj === "string") {
// This is a simple string - we do a simple replace
return transl.replace(keyToRewrite, target)
return obj.replace(keyToRewrite, target)
}
if (Array.isArray(transl)) {
if (Array.isArray(obj)) {
// This is a list of items
return transl.map(o => replaceRecursive(o))
return obj.map(o => replaceRecursive(o, target))
}
if(typeof transl === "object"){
transl = {...transl}
for (const key in transl) {
transl[key] = replaceRecursive(transl[key])
if (typeof obj === "object") {
obj = {...obj}
const isTr = targetIsTranslation && Translations.isProbablyATranslation(obj)
for (const key in obj) {
let subtarget = target
if(isTr && target[key] !== undefined){
// The target is a translation AND the current object is a translation
// This means we should recursively replace with the translated value
subtarget = target[key]
}
obj[key] = replaceRecursive(obj[key], subtarget)
}
return transl
return obj
}
return transl
return obj
}
return replaceRecursive(tr)
return replaceRecursive(tr, target)
}
/**
* // should convert simple strings
* const spec = <RewritableConfigJson<string>>{
* rewrite: {
* sourceString: ["xyz","abc"],
* into: [
* ["X", "A"],
* ["Y", "B"],
* ["Z", "C"]],
* },
* renderings: "The value of xyz is abc"
* }
* new ExpandRewrite().convertStrict(spec, "test") // => ["The value of X is A", "The value of Y is B", "The value of Z is C"]
*
* // should rewrite with translations
* const spec = <RewritableConfigJson<any>>{
* rewrite: {
* sourceString: ["xyz","abc"],
* into: [
* ["X", {en: "value", nl: "waarde"}],
* ["Y", {en: "some other value", nl: "een andere waarde"}],
* },
* renderings: {en: "The value of xyz is abc", nl: "De waarde van xyz is abc"}
* }
* const expected = [
* {
* en: "The value of X is value",
* nl: "De waarde van X is waarde"
* },
* {
* en: "The value of Y is some other value",
* nl: "De waarde van Y is een andere waarde"
* }
* ]
* new ExpandRewrite().convertStrict(spec, "test") // => expected
*/
convert(json: T | RewritableConfigJson<T>, context: string): { result: T[]; errors?: string[]; warnings?: string[]; information?: string[] } {
if(json === null || json === undefined){
if (json === null || json === undefined) {
return {result: []}
}
if (json["rewrite"] === undefined) {
// not a rewrite
return {result: [(<T>json)]}
}
const rewrite = <RewritableConfigJson<T>>json;
const keysToRewrite = rewrite.rewrite
const ts : T[] = []
const keysToRewrite = rewrite.rewrite
const ts: T[] = []
for (let i = 0; i < keysToRewrite.sourceString.length; i++){
const guard = keysToRewrite.sourceString[i];
for (let j = i + 1; j < keysToRewrite.sourceString.length; j++) {
const toRewrite = keysToRewrite.sourceString[j]
if(toRewrite.indexOf(guard) >= 0){
throw `${context} Error in rewrite: sourcestring[${i}] is a substring of sourcestring[${j}]: ${guard} will be substituted away before ${toRewrite} is reached.`
{// sanity check: rewrite: ["xyz", "longer_xyz"] is not allowed as "longer_xyz" will never be triggered
for (let i = 0; i < keysToRewrite.sourceString.length; i++) {
const guard = keysToRewrite.sourceString[i];
for (let j = i + 1; j < keysToRewrite.sourceString.length; j++) {
const toRewrite = keysToRewrite.sourceString[j]
if (toRewrite.indexOf(guard) >= 0) {
throw `${context} Error in rewrite: sourcestring[${i}] is a substring of sourcestring[${j}]: ${guard} will be substituted away before ${toRewrite} is reached.`
}
}
}
}
for (let i = 0; i < keysToRewrite.into[0].length; i++){
{// sanity check: {rewrite: ["a", "b"] should have the right amount of 'intos' in every case
for (let i = 0; i < rewrite.rewrite.into.length; i++) {
const into = keysToRewrite.into[i]
if(into.length !== rewrite.rewrite.sourceString.length){
throw `${context}.into.${i} Error in rewrite: there are ${rewrite.rewrite.sourceString.length} keys to rewrite, but entry ${i} has only ${into.length} values`
}
}
}
for (let i = 0; i < keysToRewrite.into.length; i++) {
let t = Utils.Clone(rewrite.renderings)
for (let i1 = 0; i1 < keysToRewrite.sourceString.length; i1++){
const key = keysToRewrite.sourceString[i1];
const target = keysToRewrite.into[i1][i]
for (let j = 0; j < keysToRewrite.sourceString.length; j++) {
const key = keysToRewrite.sourceString[j];
const target = keysToRewrite.into[i][j]
t = ExpandRewrite.RewriteParts(key, target, t)
}
ts.push(t)

View file

@ -1,5 +1,3 @@
import {TagRenderingConfigJson} from "./TagRenderingConfigJson";
/**
* Rewrites and multiplies the given renderings of type T.
*
@ -11,8 +9,9 @@ import {TagRenderingConfigJson} from "./TagRenderingConfigJson";
* rewrite: {
* sourceString: ["key", "a|b|c"],
* into: [
* ["X","Y", "Z"],
* [0,1,2]
* ["X", 0]
* ["Y", 1],
* ["Z", 2]
* ],
* renderings: {
* "key":"a|b|c"
@ -36,7 +35,7 @@ import {TagRenderingConfigJson} from "./TagRenderingConfigJson";
*
* ]
*
*
* @see ExpandRewrite
*/
export default interface RewritableConfigJson<T> {
rewrite: {

View file

@ -1 +1 @@
{"contributors":[{"commits":3421,"contributor":"Pieter Vander Vennet"},{"commits":86,"contributor":"Robin van der Linde"},{"commits":39,"contributor":"Tobias"},{"commits":33,"contributor":"Christian Neumann"},{"commits":31,"contributor":"Win Olario"},{"commits":31,"contributor":"Pieter Fiers"},{"commits":26,"contributor":"karelleketers"},{"commits":24,"contributor":"Ward"},{"commits":20,"contributor":"Joost"},{"commits":19,"contributor":"Sebastian Kürten"},{"commits":18,"contributor":"riQQ"},{"commits":18,"contributor":"Arno Deceuninck"},{"commits":17,"contributor":"pgm-chardelv1"},{"commits":16,"contributor":"Hosted Weblate"},{"commits":15,"contributor":"ToastHawaii"},{"commits":13,"contributor":"Nicole"},{"commits":12,"contributor":"Tobias Jordans"},{"commits":12,"contributor":"Bavo Vanderghote"},{"commits":10,"contributor":"LiamSimons"},{"commits":8,"contributor":"dependabot[bot]"},{"commits":8,"contributor":"Midgard"},{"commits":7,"contributor":"RobJN"},{"commits":7,"contributor":"Mateusz Konieczny"},{"commits":7,"contributor":"Flo Edelmann"},{"commits":7,"contributor":"Binnette"},{"commits":7,"contributor":"yopaseopor"},{"commits":6,"contributor":"pelderson"},{"commits":5,"contributor":"David Haberthür"},{"commits":4,"contributor":"Ward Beyens"},{"commits":3,"contributor":"Weblate (bot)"},{"commits":3,"contributor":"Léo Villeveygoux"},{"commits":2,"contributor":"Codain"},{"commits":2,"contributor":"arrival-spring"},{"commits":2,"contributor":"Strubbl"},{"commits":2,"contributor":"RayBB"},{"commits":2,"contributor":"Charlotte Delvaux"},{"commits":2,"contributor":"Supaplex"},{"commits":2,"contributor":"pbarban"},{"commits":2,"contributor":"graveelius"},{"commits":2,"contributor":"Stanislas Gueniffey"},{"commits":1,"contributor":"Štefan Baebler"},{"commits":1,"contributor":"Jiří Podhorecký"},{"commits":1,"contributor":"Mark Rogerson"},{"commits":1,"contributor":"nicole_s"},{"commits":1,"contributor":"SC"},{"commits":1,"contributor":"Raphael Das Gupta"},{"commits":1,"contributor":"Nikolay Korotkiy"},{"commits":1,"contributor":"Seppe Santens"},{"commits":1,"contributor":"root"},{"commits":1,"contributor":"Allan Nordhøy"},{"commits":1,"contributor":"快乐的老鼠宝宝"},{"commits":1,"contributor":"Sebastian"},{"commits":1,"contributor":"Hiroshi Miura"},{"commits":1,"contributor":"riiga"},{"commits":1,"contributor":"Vinicius"},{"commits":1,"contributor":"Alexey Shabanov"},{"commits":1,"contributor":"Polgár Sándor"},{"commits":1,"contributor":"SiegbjornSitumeang"},{"commits":1,"contributor":"Marco"},{"commits":1,"contributor":"mozita"},{"commits":1,"contributor":"Schouppe Joost"},{"commits":1,"contributor":"Thibault Molleman"},{"commits":1,"contributor":"Noémie"},{"commits":1,"contributor":"Tomas Fiers"},{"commits":1,"contributor":"tbowdecl97"}]}
{"contributors":[{"commits":3435,"contributor":"Pieter Vander Vennet"},{"commits":86,"contributor":"Robin van der Linde"},{"commits":39,"contributor":"Tobias"},{"commits":33,"contributor":"Christian Neumann"},{"commits":31,"contributor":"Win Olario"},{"commits":31,"contributor":"Pieter Fiers"},{"commits":26,"contributor":"karelleketers"},{"commits":24,"contributor":"Ward"},{"commits":20,"contributor":"Joost"},{"commits":19,"contributor":"Sebastian Kürten"},{"commits":18,"contributor":"Hosted Weblate"},{"commits":18,"contributor":"riQQ"},{"commits":18,"contributor":"Arno Deceuninck"},{"commits":17,"contributor":"pgm-chardelv1"},{"commits":15,"contributor":"ToastHawaii"},{"commits":13,"contributor":"Nicole"},{"commits":12,"contributor":"Tobias Jordans"},{"commits":12,"contributor":"Bavo Vanderghote"},{"commits":10,"contributor":"LiamSimons"},{"commits":8,"contributor":"dependabot[bot]"},{"commits":8,"contributor":"Midgard"},{"commits":7,"contributor":"RobJN"},{"commits":7,"contributor":"Mateusz Konieczny"},{"commits":7,"contributor":"Flo Edelmann"},{"commits":7,"contributor":"Binnette"},{"commits":7,"contributor":"yopaseopor"},{"commits":6,"contributor":"pelderson"},{"commits":5,"contributor":"David Haberthür"},{"commits":4,"contributor":"Ward Beyens"},{"commits":3,"contributor":"Weblate (bot)"},{"commits":3,"contributor":"Léo Villeveygoux"},{"commits":2,"contributor":"Codain"},{"commits":2,"contributor":"arrival-spring"},{"commits":2,"contributor":"Strubbl"},{"commits":2,"contributor":"RayBB"},{"commits":2,"contributor":"Charlotte Delvaux"},{"commits":2,"contributor":"Supaplex"},{"commits":2,"contributor":"pbarban"},{"commits":2,"contributor":"graveelius"},{"commits":2,"contributor":"Stanislas Gueniffey"},{"commits":1,"contributor":"Štefan Baebler"},{"commits":1,"contributor":"Jiří Podhorecký"},{"commits":1,"contributor":"Mark Rogerson"},{"commits":1,"contributor":"nicole_s"},{"commits":1,"contributor":"SC"},{"commits":1,"contributor":"Raphael Das Gupta"},{"commits":1,"contributor":"Nikolay Korotkiy"},{"commits":1,"contributor":"Seppe Santens"},{"commits":1,"contributor":"root"},{"commits":1,"contributor":"Allan Nordhøy"},{"commits":1,"contributor":"快乐的老鼠宝宝"},{"commits":1,"contributor":"Sebastian"},{"commits":1,"contributor":"Hiroshi Miura"},{"commits":1,"contributor":"riiga"},{"commits":1,"contributor":"Vinicius"},{"commits":1,"contributor":"Alexey Shabanov"},{"commits":1,"contributor":"Polgár Sándor"},{"commits":1,"contributor":"SiegbjornSitumeang"},{"commits":1,"contributor":"Marco"},{"commits":1,"contributor":"mozita"},{"commits":1,"contributor":"Schouppe Joost"},{"commits":1,"contributor":"Thibault Molleman"},{"commits":1,"contributor":"Noémie"},{"commits":1,"contributor":"Tomas Fiers"},{"commits":1,"contributor":"tbowdecl97"}]}

View file

@ -247,7 +247,7 @@
"emergency=ambulance_station"
],
"title": {
"en": "Ambulance station",
"en": "an ambulance station",
"ru": "Станция скорой помощи",
"ja": "救急ステーション(消防署)",
"fr": "une station dambulances",

View file

@ -87,7 +87,7 @@
"tourism=artwork"
],
"title": {
"en": "Artwork",
"en": "an artwork",
"nl": "een kunstwerk",
"fr": "une œuvre d'art",
"de": "eine kunstwerk",

View file

@ -60,7 +60,7 @@
"presets": [
{
"title": {
"en": "Bollard",
"en": "a bollard",
"nl": "een paaltje",
"de": "eine poller",
"ru": "Прикол",
@ -88,7 +88,7 @@
},
{
"title": {
"en": "Cycle barrier",
"en": "a cycle barrier",
"nl": "een fietshekjes",
"de": "eine fahrradhindernis",
"hu": "Kerékpárakadály",

View file

@ -605,7 +605,7 @@
"amenity=bench"
],
"title": {
"en": "bench",
"en": "a bench",
"de": "eine sitzbank",
"fr": "une banc",
"nl": "een zitbank",

View file

@ -239,8 +239,8 @@
"presets": [
{
"title": {
"en": "Fietsbibliotheek",
"nl": "een bicycle library",
"nl": "een fietsbibliotheek",
"en": "a bicycle library",
"ru": "Велосипедная библиотека",
"zh_Hant": "自行車圖書館 ( Fietsbibliotheek)",
"it": "una bici in prestito",

View file

@ -289,7 +289,7 @@
"presets": [
{
"title": {
"en": "bicycle rental shop",
"en": "a bicycle rental shop",
"nl": "een fietsverhuurzaak",
"fr": "une magasin de location de vélos"
},
@ -305,7 +305,7 @@
},
{
"title": {
"en": "bicycle rental",
"en": "a bicycle rental",
"nl": "een fietsverhuur"
},
"tags": [

View file

@ -49,7 +49,7 @@
"presets": [
{
"title": {
"en": "Bicycle tube vending machine",
"en": "a bicycle tube vending machine",
"nl": "een fietsbanden-verkoopsautomaat",
"fr": "une distributeur automatique de chambre à air de vélo",
"it": "una distributore automatico di camere daria per bici",

View file

@ -336,7 +336,7 @@
"presets": [
{
"title": {
"en": "Bike cafe",
"en": "a bike cafe",
"nl": "een fietscafé",
"fr": "une café vélo",
"gl": "Café de ciclistas",

View file

@ -51,7 +51,7 @@
"presets": [
{
"title": {
"en": "Bike cleaning service",
"en": "a bike cleaning service",
"nl": "een fietsschoonmaakpunt",
"fr": "une service de nettoyage de vélo",
"it": "una servizio lavaggio bici",

View file

@ -25,7 +25,7 @@
"presets": [
{
"title": {
"en": "Bike parking",
"en": "a bike parking",
"nl": "een fietsparking",
"fr": "une parking à vélo",
"gl": "Aparcadoiro de bicicletas",

View file

@ -657,7 +657,7 @@
"presets": [
{
"title": {
"en": "bike pump",
"en": "a bike pump",
"nl": "een fietspomp",
"fr": "une pompe à vélo",
"gl": "bomba de ar",
@ -691,7 +691,7 @@
},
{
"title": {
"en": "bike repair station and pump",
"en": "a bike repair station and pump",
"nl": "een herstelpunt en pomp",
"fr": "une point de réparation vélo avec pompe",
"gl": "estación de arranxo de bicicletas con bomba de ar",
@ -718,7 +718,7 @@
},
{
"title": {
"en": "bike repair station without pump",
"en": "a bike repair station without pump",
"nl": "een herstelpunt zonder pomp",
"fr": "une point de réparation vélo sans pompe",
"gl": "estación de arranxo de bicicletas sin bomba de ar",

View file

@ -665,7 +665,7 @@
"presets": [
{
"title": {
"en": "Bike repair/shop",
"en": "a bike repair/shop",
"nl": "een fietszaak",
"fr": "une magasin et réparateur de vélo",
"gl": "Tenda/arranxo de bicicletas",

View file

@ -81,7 +81,7 @@
"amenity=binoculars"
],
"title": {
"en": "binoculars",
"en": "a binoculars",
"nl": "een verrekijker",
"de": "eine ferngläser",
"ru": "бинокль"

View file

@ -233,7 +233,7 @@
"amenity=shelter"
],
"title": {
"en": "Birdhide",
"en": "a birdhide",
"nl": "een vogelkijkhut"
},
"description": {
@ -248,7 +248,7 @@
"shelter=no"
],
"title": {
"en": "Bird blind",
"en": "a bird blind",
"nl": "een vogelkijkwand"
},
"description": {

View file

@ -24,7 +24,7 @@
"amenity=pub"
],
"title": {
"en": "pub",
"en": "a pub",
"nl": "een bruin cafe of kroeg",
"de": "eine kneipe",
"ru": "паб",
@ -43,7 +43,7 @@
"amenity=bar"
],
"title": {
"en": "bar",
"en": "a bar",
"nl": "een bar",
"de": "eine bar",
"ru": "бар",
@ -62,7 +62,7 @@
"amenity=cafe"
],
"title": {
"en": "cafe",
"en": "a cafe",
"nl": "een cafe",
"de": "eine café",
"ru": "кафе",

View file

@ -4000,7 +4000,7 @@
"socket:typee=1"
],
"title": {
"en": "charging station for electrical bikes with a normal european wall plug <img src='./assets/layers/charging_station/TypeE.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (meant to charge electrical bikes)",
"en": "a charging station for electrical bikes with a normal european wall plug <img src='./assets/layers/charging_station/typee.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (meant to charge electrical bikes)",
"nl": "een oplaadpunt voor elektrische fietsen"
},
"preciseInput": {
@ -4014,7 +4014,7 @@
"bicycle=no"
],
"title": {
"en": "charging station for cars",
"en": "a charging station for cars",
"nl": "een oplaadstation voor elektrische auto's",
"de": "eine ladestation für e-bikes"
},

View file

@ -53,7 +53,7 @@
"presets": [
{
"title": {
"en": "Crossing",
"en": "a crossing",
"nl": "een oversteekplaats",
"de": "eine kreuzung",
"fr": "une traversée"
@ -77,7 +77,7 @@
},
{
"title": {
"en": "Traffic signal",
"en": "a traffic signal",
"nl": "een verkeerslicht",
"ru": "Светофор",
"de": "eine ampel",

View file

@ -35,7 +35,7 @@
"presets": [
{
"title": {
"en": "Defibrillator",
"en": "a defibrillator",
"ca": "Desfibril·lador",
"es": "una desfibrilador",
"fr": "une défibrillateur",
@ -51,7 +51,7 @@
},
{
"title": {
"en": "defibrillator mounted on a wall",
"en": "a defibrillator mounted on a wall",
"nl": "een defibrillator die aan een muur hangt",
"sl": "defibrilator je pritrjen na steno"
},

View file

@ -42,7 +42,7 @@
"presets": [
{
"title": {
"en": "drinking water",
"en": "a drinking water",
"nl": "een drinkbaar water",
"fr": "une eau potable",
"gl": "auga potábel",

View file

@ -265,7 +265,8 @@
{
"id": "width",
"render": {
"en": "This door has a width of {canonical(width)} meter"
"en": "This door has a width of {canonical(width)} meter",
"nl": "Deze deur heeft een breedte van {canonical(width)} meter"
},
"question": {
"en": "What is the width of this door/entrance?",

View file

@ -60,7 +60,8 @@
"ru": "Где это расположено?",
"fr": "Où est-elle positionnée ?",
"de": "Wo befindet er sich?",
"it": "Dove è posizionato?"
"it": "Dove è posizionato?",
"nl": "Op welke locatie staat dit?"
},
"mappings": [
{
@ -75,7 +76,8 @@
"ru": "Внутри.",
"fr": "Intérieur.",
"de": "Im Innenraum vorhanden.",
"it": "Si trova allinterno."
"it": "Si trova allinterno.",
"nl": "In een gebouw."
}
},
{
@ -90,7 +92,8 @@
"ru": "Снаружи.",
"fr": "Extérieur.",
"de": "Im Außenraum vorhanden.",
"it": "Si trova allesterno."
"it": "Si trova allesterno.",
"nl": "In open lucht."
}
}
],
@ -106,7 +109,7 @@
"emergency=fire_extinguisher"
],
"title": {
"en": "Fire extinguisher",
"en": "a fire extinguisher",
"ja": "消火器",
"nb_NO": "en brannslukker",
"ru": "Огнетушитель",

View file

@ -7,7 +7,8 @@
"it": "Mappa delle caserme dei vigili del fuoco",
"ru": "Карта пожарных частей",
"fr": "Couche des stations de pompiers",
"de": "Karte der Feuerwachen"
"de": "Karte der Feuerwachen",
"nl": "Kaart van de brandweerstations"
},
"minzoom": 12,
"source": {
@ -25,7 +26,8 @@
"nb_NO": "Brannstasjon",
"it": "Caserma dei vigili del fuoco",
"fr": "Station de pompiers",
"de": "Feuerwache"
"de": "Feuerwache",
"nl": "Brandweerstation"
}
},
"description": {
@ -34,7 +36,8 @@
"it": "Livello che mostra le caserme dei vigili del fuoco.",
"ru": "Слой карты, отображающий пожарные части.",
"fr": "Couche des stations de pompiers.",
"de": "Kartenebene zur Darstellung von Feuerwachen."
"de": "Kartenebene zur Darstellung von Feuerwachen.",
"nl": "Kaartlaag die de brandweerstations toont."
},
"tagRenderings": [
{
@ -48,7 +51,8 @@
"ru": "Как называется эта пожарная часть?",
"it": "Come si chiama questa caserma dei vigili del fuoco?",
"fr": "Quel est le nom de la station ?",
"de": "Wie lautet der Name dieser Feuerwache?"
"de": "Wie lautet der Name dieser Feuerwache?",
"nl": "Wat is de naam van dit brandweerstation?"
},
"render": {
"en": "This station is called {name}.",
@ -56,7 +60,8 @@
"it": "Questa caserma si chiama {name}.",
"ru": "Эта часть называется {name}.",
"fr": "Cette station sappelle {name}.",
"nb_NO": "Denne stasjonen heter {name}."
"nb_NO": "Denne stasjonen heter {name}.",
"nl": "Dit station heet {name}."
}
},
{
@ -69,14 +74,16 @@
"ja": " 救急ステーションの所在地はどこですか?",
"it": " Qual è il nome della via in cui si trova la caserma?",
"ru": " По какому адресу расположена эта часть?",
"fr": " Quel est le nom de la rue dans lequel elle se situe ?"
"fr": " Quel est le nom de la rue dans lequel elle se situe ?",
"nl": " Aan welke straat ligt dit station?"
},
"render": {
"en": "This station is along a highway called {addr:street}.",
"ja": "{addr:street} 沿いにあります。",
"ru": "Часть расположена вдоль шоссе {addr:street}.",
"fr": "La station fait partie de la {addr:street}.",
"it": "La stazione si trova in una strada chiamata {addr:street}."
"it": "La stazione si trova in una strada chiamata {addr:street}.",
"nl": "Dit station ligt aan {addr:street}."
}
},
{
@ -86,7 +93,8 @@
"ja": "このステーションの住所は?(例: 地区、村、または町の名称)",
"ru": "Где расположена часть? (напр., название населённого пункта)",
"fr": "Dans quelle localité la station est-elle située ?",
"it": "In che località si trova la stazione? (ad es. quartiere, paese o città)"
"it": "In che località si trova la stazione? (ad es. quartiere, paese o città)",
"nl": "Waar is dit station gelegen? (v.b. naam van de buurt, dorp of stad)"
},
"freeform": {
"key": "addr:place"
@ -96,7 +104,8 @@
"ja": "このステーションは{addr:place}にあります。",
"ru": "Эта часть расположена в {addr:place}.",
"fr": "La station fait partie de {addr:place}.",
"it": "La stazione si trova a {addr:place}."
"it": "La stazione si trova a {addr:place}.",
"nl": "Dit station ligt in {addr:place}."
}
},
{
@ -105,13 +114,15 @@
"en": "What agency operates this station?",
"ja": "このステーションを運営しているのはどこですか?",
"fr": "Quel est lexploitant de la station ?",
"it": "Quale agenzia gestisce questa stazione?"
"it": "Quale agenzia gestisce questa stazione?",
"nl": "Welk agentschap beheert dit station?"
},
"render": {
"en": "This station is operated by {operator}.",
"ja": "このステーションは{operator}によって運営されています。",
"fr": "Cette station est opérée par {operator}.",
"it": "Questa stazione è gestita da {operator}."
"it": "Questa stazione è gestita da {operator}.",
"nl": "Dit station wordt beheerd door {operator}."
},
"freeform": {
"key": "operator"
@ -129,7 +140,8 @@
"ja": "消防局(消防庁)",
"fr": "Brigade de Protection du Feu",
"de": "Brandschutzbehörde",
"it": "Servizio antincendio governativo"
"it": "Servizio antincendio governativo",
"nl": "Brandveiligheidsbureau"
}
}
]
@ -140,13 +152,15 @@
"en": "How is the station operator classified?",
"ja": "ステーションの運営の分類は?",
"fr": "Quel est le type dexploitant ?",
"it": "Comè classificato il gestore di questa stazione?"
"it": "Comè classificato il gestore di questa stazione?",
"nl": "Wat voor soort beheerder beheert dit station?"
},
"render": {
"en": "The operator is a(n) {operator:type} entity.",
"ja": "運営者は、{operator:type} です。",
"fr": "Lexploitant est de type {operator:type}.",
"it": "Il gestore è un ente {operator:type}."
"it": "Il gestore è un ente {operator:type}.",
"nl": "De beheerder is een organisatie van type {operator:type} ."
},
"freeform": {
"key": "operator:type"
@ -163,7 +177,8 @@
"ja": "ステーションは自治体が運営する。",
"fr": "La station est opérée par le gouvernement.",
"it": "Questa stazione è gestita dal governo.",
"nb_NO": "Stasjonen drives av myndighetene."
"nb_NO": "Stasjonen drives av myndighetene.",
"nl": "Dit station wordt beheerd door de overheid."
}
},
{
@ -176,7 +191,8 @@
"en": "The station is operated by a community-based, or informal organization.",
"ja": "任意団体やコミュニティが運営しているステーションである。",
"fr": "La station est opérée par une organisation informelle.",
"it": "Questa stazione è gestita dalla comunità oppure unassociazione informale."
"it": "Questa stazione è gestita dalla comunità oppure unassociazione informale.",
"nl": "Dit station wordt beheerd door een informele of gemeenschapsorganisatie."
}
},
{
@ -189,7 +205,8 @@
"en": "The station is operated by a formal group of volunteers.",
"ja": "公益団体が運営しているステーションである。",
"fr": "La station est opérée par un groupe officiel de bénévoles.",
"it": "Questa stazione è gestita da un gruppo di volontari ufficiale."
"it": "Questa stazione è gestita da un gruppo di volontari ufficiale.",
"nl": "Dit station wordt beheerd door een formele groep vrijwilligers."
}
},
{
@ -202,7 +219,8 @@
"en": "The station is privately operated.",
"ja": "個人が運営しているステーションである。",
"fr": "La station est opérée par un groupe privé.",
"it": "Questa stazione è gestita da privati."
"it": "Questa stazione è gestita da privati.",
"nl": "Dit station wordt door private organisatie beheerd."
}
}
]
@ -215,20 +233,22 @@
"amenity=fire_station"
],
"title": {
"en": "Fire station",
"en": "a fire station",
"ja": "消防署",
"ru": "Пожарная часть",
"fr": "une caserne de pompiers",
"de": "eine feuerwache",
"it": "una caserma dei vigili del fuoco",
"nb_NO": "en brannstasjon"
"nb_NO": "en brannstasjon",
"nl": "Brandweerstation"
},
"description": {
"en": "A fire station is a place where the fire trucks and firefighters are located when not in operation.",
"ja": "消防署は、運転していないときに消防車や消防士がいる場所です。",
"fr": "Une caserne de pompiers est un lieu où les pompiers et leur équipements sont situés en dehors des missions.",
"de": "Eine Feuerwache ist ein Ort, an dem die Feuerwehrfahrzeuge und die Feuerwehrleute untergebracht sind, wenn sie nicht im Einsatz sind.",
"it": "Una caserma dei pompieri è un luogo dove si trovano i mezzi antincendio e i pompieri tra una missione e laltra."
"it": "Una caserma dei pompieri è un luogo dove si trovano i mezzi antincendio e i pompieri tra una missione e laltra.",
"nl": "Een brandweerstation is een plaats waar brandweerwagens en brandweerlieden gebaseerd zijn."
}
}
],

View file

@ -17,7 +17,7 @@
"presets": [
{
"title": {
"en": "restaurant",
"en": "a restaurant",
"nl": "een restaurant",
"ru": "ресторан",
"de": "eine restaurant"
@ -36,7 +36,7 @@
},
{
"title": {
"en": "fastfood",
"en": "a fastfood",
"nl": "een fastfood-zaak",
"ru": "быстрое питание",
"de": "eine schnellimbiss"
@ -55,7 +55,7 @@
},
{
"title": {
"en": "fries shop",
"en": "a fries shop",
"nl": "een frituur",
"de": "eine pommesbude"
},
@ -735,6 +735,7 @@
}
],
"description": {
"en": "A layer showing restaurants and fast-food amenities (with a special rendering for friteries)"
"en": "A layer showing restaurants and fast-food amenities (with a special rendering for friteries)",
"nl": "Een laag die restaurants en fast food toont (met een speciale weergave van frituren)"
}
}

View file

@ -61,7 +61,7 @@
"presets": [
{
"title": {
"en": "Ghost bike",
"en": "a ghost bike",
"nl": "een witte fiets",
"de": "eine geisterrad",
"it": "una bici fantasma",
@ -224,6 +224,7 @@
}
],
"description": {
"en": "A layer showing memorials for cyclists, killed in road accidents"
"en": "A layer showing memorials for cyclists, killed in road accidents",
"nl": "Een laag die herdenkingsplaatsen voor verongelukte fietsers toont"
}
}

View file

@ -62,6 +62,7 @@
}
],
"description": {
"en": "Searches for all accessible grass patches within public parks - these are 'groenzones'\""
"en": "Searches for all accessible grass patches within public parks - these are 'groenzones'\"",
"nl": "Dit zoekt naar alle toegankelijke grasvelden binnen publieke parken - dit zijn 'groenzones'"
}
}

View file

@ -27,7 +27,8 @@
"nb_NO": "Brannhydrant",
"fr": "Bornes incendie",
"de": "Hydrant",
"it": "Idrante"
"it": "Idrante",
"nl": "Brandkraan"
}
},
"description": {
@ -51,7 +52,8 @@
"ru": "Какого цвета гидрант?",
"fr": "Quelle est la couleur de la borne ?",
"de": "Welche Farbe hat der Hydrant?",
"it": "Qual è il colore dellidrante?"
"it": "Qual è il colore dellidrante?",
"nl": "Welke kleur heeft de brandkraan?"
},
"render": {
"en": "The hydrant color is {colour}",
@ -60,7 +62,8 @@
"ru": "Цвет гидранта {colour}",
"fr": "La borne est {colour}",
"de": "Der Hydrant hat die Farbe {colour}",
"it": "Il colore dellidrante è {colour}"
"it": "Il colore dellidrante è {colour}",
"nl": "De brandkraan is {colour}"
},
"freeform": {
"key": "colour"
@ -78,7 +81,8 @@
"ru": "Цвет гидранта не определён.",
"fr": "La borne est de couleur inconnue.",
"de": "Die Farbe des Hydranten ist unbekannt.",
"it": "Il colore dellidrante è sconosciuto."
"it": "Il colore dellidrante è sconosciuto.",
"nl": "De kleur van de brandkraan is onbekend."
},
"hideInAnswer": true
},
@ -94,7 +98,8 @@
"ru": "Гидрант жёлтого цвета.",
"fr": "La borne est jaune.",
"de": "Die Farbe des Hydranten ist gelb.",
"it": "Il colore dellidrante è giallo."
"it": "Il colore dellidrante è giallo.",
"nl": "De brandkraan is geel."
}
},
{
@ -109,7 +114,8 @@
"it": "L'idrante è rosso.",
"ru": "Гидрант красного цвета.",
"fr": "La borne est rouge.",
"de": "Die Farbe des Hydranten ist rot."
"de": "Die Farbe des Hydranten ist rot.",
"nl": "De brandkraan is rood."
}
}
]
@ -122,7 +128,8 @@
"it": "Di che tipo è questo idrante?",
"ru": "К какому типу относится этот гидрант?",
"fr": "De quel type de borne sagit-il ?",
"de": "Um welche Art von Hydrant handelt es sich?"
"de": "Um welche Art von Hydrant handelt es sich?",
"nl": "Wat voor soort brandkraan is dit?"
},
"freeform": {
"key": "fire_hydrant:type"
@ -133,7 +140,8 @@
"ja": " 消火栓のタイプ:{fire_hydrant:type}",
"it": " Tipo di idrante: {fire_hydrant:type}",
"fr": " Type de borne : {fire_hydrant:type}",
"de": " Hydranten-Typ: {fire_hydrant:type}"
"de": " Hydranten-Typ: {fire_hydrant:type}",
"nl": " Het type brandkraan is {fire_hydrant:type}"
},
"mappings": [
{
@ -148,7 +156,8 @@
"it": "Il tipo di idrante è sconosciuto.",
"ru": "Тип гидранта не определён.",
"fr": "La borne est de type inconnu.",
"de": "Der Typ des Hydranten ist unbekannt."
"de": "Der Typ des Hydranten ist unbekannt.",
"nl": "Het type brandkraan is onbekend."
},
"hideInAnswer": true
},
@ -163,7 +172,8 @@
"ja": "ピラー型。",
"fr": "Pilier.",
"de": "Säulenart.",
"it": "Soprasuolo."
"it": "Soprasuolo.",
"nl": "Pillaar type."
},
"icon": {
"path": "./assets/themes/hailhydrant/hydrant_pillar.svg",
@ -181,7 +191,8 @@
"ja": "パイプ型。",
"fr": "Tuyau.",
"de": "Rohrtyp.",
"it": "Tubo."
"it": "Tubo.",
"nl": "Buis type."
},
"icon": {
"path": "./assets/themes/hailhydrant/hydrant_unknown.svg",
@ -201,7 +212,8 @@
"ja": "壁型。",
"fr": "Mural.",
"de": "Wandtyp.",
"it": "A muro."
"it": "A muro.",
"nl": "Muur type."
},
"icon": {
"path": "./assets/themes/hailhydrant/hydrant_unknown.svg",
@ -219,7 +231,8 @@
"ja": "地下式。",
"fr": "Enterré.",
"de": "Untergrundtyp.",
"it": "Sottosuolo."
"it": "Sottosuolo.",
"nl": "Ondergronds type."
},
"icon": {
"path": "./assets/themes/hailhydrant/hydrant_underground.svg",
@ -235,7 +248,8 @@
"ja": "消火栓のライフサイクルステータスを更新します。",
"fr": "Mettre à jour létat de la borne.",
"de": "Ist dieser Hydrant noch in Betrieb?",
"it": "Aggiorna lo stato di funzionamento dellidrante."
"it": "Aggiorna lo stato di funzionamento dellidrante.",
"nl": "Werkt deze brandkraan nog?"
},
"mappings": [
{
@ -250,7 +264,8 @@
"ru": "Гидрант (полностью или частично) в рабочем состоянии",
"fr": "La borne est en état, ou partiellement en état, de fonctionner.",
"de": "Der Hydrant ist (ganz oder teilweise) in Betrieb",
"it": "Lidrante è (parzialmente o completamente) funzionante."
"it": "Lidrante è (parzialmente o completamente) funzionante.",
"nl": "De brandkraan werkt (minstens gedeeltelijk)"
}
},
{
@ -265,7 +280,8 @@
"ja": "消火栓は使用できません。",
"fr": "La borne est hors-service.",
"de": "Der Hydrant ist nicht verfügbar",
"it": "Lidrante è fuori servizio."
"it": "Lidrante è fuori servizio.",
"nl": "De brandkraan is niet beschikbaar"
}
},
{
@ -281,7 +297,8 @@
"ru": "Гидрант демонтирован",
"fr": "La borne a été retirée.",
"de": "Der Hydrant wurde entfernt",
"it": "Lidrante è stato rimosso."
"it": "Lidrante è stato rimosso.",
"nl": "Deze brandkraan is verwijderd"
}
}
]
@ -294,20 +311,22 @@
"emergency=fire_hydrant"
],
"title": {
"en": "Fire hydrant",
"en": "a fire hydrant",
"ru": "Пожарный гидрант",
"ja": "消火栓",
"nb_NO": "en brannhydrant",
"fr": "une borne incendie",
"de": "eine löschwasser-hydrant",
"it": "una idrante antincendio"
"it": "una idrante antincendio",
"nl": "Brandkraan"
},
"description": {
"en": "A hydrant is a connection point where firefighters can tap water. It might be located underground.",
"ja": "消火栓は消防士が水を汲み上げることができる接続点です。地下にあるかもしれません。",
"fr": "Une borne incendie est un point où les pompiers peuvent salimenter en eau. Elle peut être enterrée.",
"de": "Ein Hydrant ist ein Anschlusspunkt, an dem die Feuerwehr Wasser zapfen kann. Er kann sich unterirdisch befinden.",
"it": "Un idrante è un punto di collegamento dove i pompieri possono estrarre acqua. Potrebbe trovarsi sottoterra."
"it": "Un idrante è un punto di collegamento dove i pompieri possono estrarre acqua. Potrebbe trovarsi sottoterra.",
"nl": "Een brandkraan is een kraan waar brandweerlieden een brandslang kunnen aansluiten. Soms zit deze ondergronds."
}
}
],

View file

@ -37,7 +37,7 @@
],
"title": {
"nl": "een informatiebord",
"en": "information board",
"en": "an information board",
"it": "una pannello informativo",
"fr": "une panneau d'informations",
"de": "eine informationstafel",

View file

@ -172,7 +172,7 @@
"tourism=map"
],
"title": {
"en": "Map",
"en": "a map",
"nl": "een kaart",
"it": "una mappa",
"ru": "Карта",

View file

@ -380,7 +380,7 @@
"fixme=Toegevoegd met MapComplete, geometry nog uit te tekenen"
],
"title": {
"en": "nature reserve",
"en": "a nature reserve",
"nl": "een natuurreservaat"
},
"description": {

View file

@ -1,7 +1,8 @@
{
"id": "note",
"name": {
"en": "OpenStreetMap notes"
"en": "OpenStreetMap notes",
"nl": "OpenStreetMap Notes"
},
"description": "This layer shows notes on OpenStreetMap. Having this layer in your theme will trigger the 'add new note' functionality in the 'addNewPoint'-popup (or if your theme has no presets, it'll enable adding notes)",
"source": {
@ -13,13 +14,15 @@
"minzoom": 10,
"title": {
"render": {
"en": "Note"
"en": "Note",
"nl": "Note"
},
"mappings": [
{
"if": "closed_at~*",
"then": {
"en": "Closed note"
"en": "Closed note",
"nl": "Gesloten Note"
}
}
]
@ -55,14 +58,16 @@
{
"id": "report-contributor",
"render": {
"en": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={_first_user_id}&reportable_type=User' target='_blank' class='subtle'>Report {_first_user} as spam</a>"
"en": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={_first_user_id}&reportable_type=User' target='_blank' class='subtle'>Report {_first_user} as spam</a>",
"nl": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={_first_user_id}&reportable_type=User' target='_blank' class='subtle'>{_first_user} melden als spam</a>"
},
"condition": "_opened_by_anonymous_user=false"
},
{
"id": "report-note",
"render": {
"en": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={id}&reportable_type=Note' target='_blank'>Report this note as spam or inappropriate</a>"
"en": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={id}&reportable_type=Note' target='_blank'>Report this note as spam or inappropriate</a>",
"nl": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={id}&reportable_type=Note' target='_blank'>Deze not melden als spam of ongepast</a>"
}
}
],
@ -106,7 +111,8 @@
}
],
"question": {
"en": "Should mention {search} in the first comment"
"en": "Should mention {search} in the first comment",
"nl": "Moet in de eerste opmerking \"{search}\" bevatten"
}
}
]
@ -122,7 +128,8 @@
}
],
"question": {
"en": "Should <b>not</b> mention {search} in the first comment"
"en": "Should <b>not</b> mention {search} in the first comment",
"nl": "Mag in de eerste opmerking <b>niet</b> \"{search}\" bevatten"
}
}
]
@ -138,7 +145,8 @@
}
],
"question": {
"en": "Opened by contributor {search}"
"en": "Opened by contributor {search}",
"nl": "Geopend door bijdrager {search}"
}
}
]
@ -154,7 +162,8 @@
}
],
"question": {
"en": "<b>Not</b> opened by contributor {search}"
"en": "<b>Not</b> opened by contributor {search}",
"nl": "<b>Niet</b> geopend door bijdrager {search}"
}
}
]
@ -170,7 +179,8 @@
}
],
"question": {
"en": "Last edited by contributor {search}"
"en": "Last edited by contributor {search}",
"nl": "Laatst bewerkt door bijdrager {search}"
}
}
]
@ -186,7 +196,8 @@
}
],
"question": {
"en": "Opened after {search}"
"en": "Opened after {search}",
"nl": "Geopend na {search}"
}
}
]
@ -203,7 +214,8 @@
}
],
"question": {
"en": "Created before {search}"
"en": "Created before {search}",
"nl": "Aangemaakt voor {search}"
}
}
]
@ -220,7 +232,8 @@
}
],
"question": {
"en": "Created after {search}"
"en": "Created after {search}",
"nl": "Aangemaakt na {search}"
}
}
]
@ -231,7 +244,8 @@
{
"osmTags": "_opened_by_anonymous_user=true",
"question": {
"en": "Only show notes opened by an anonymous contributor"
"en": "Only show notes opened by an anonymous contributor",
"nl": "Toon enkel de Notes geopend door een anonieme bijdrager"
}
}
]
@ -242,7 +256,8 @@
{
"osmTags": "closed_at=",
"question": {
"en": "Only show open notes"
"en": "Only show open notes",
"nl": "Toon enkel open Notes"
}
}
]
@ -253,7 +268,8 @@
{
"osmTags": "_is_import_note=",
"question": {
"en": "Hide import notes"
"en": "Hide import notes",
"nl": "Verberg import Notes"
}
}
]

View file

@ -1,7 +1,8 @@
{
"id": "note_import",
"name": {
"en": "Possible bookcases"
"en": "Possible bookcases",
"nl": "Mogelijke publieke boekenkastjes"
},
"description": "Template for note note imports.",
"source": {
@ -17,7 +18,8 @@
"minzoom": 10,
"title": {
"render": {
"en": "Possible feature"
"en": "Possible feature",
"nl": "Mogelijk object"
}
},
"calculatedTags": [

View file

@ -28,7 +28,7 @@
],
"title": {
"nl": "een parking voor auto's",
"en": "car parking"
"en": "a car parking"
}
}
],

View file

@ -1,7 +1,8 @@
{
"id": "pedestrian_path",
"name": {
"en": "Pedestrain paths"
"en": "Pedestrian paths",
"nl": "Pad voor voetgangers"
},
"minzoom": 18,
"source": {
@ -16,7 +17,8 @@
},
"title": {},
"description": {
"en": "Pedestrian footpaths, especially used for indoor navigation and snapping entrances to this layer"
"en": "Pedestrian footpaths, especially used for indoor navigation and snapping entrances to this layer",
"nl": "Pad voor voetgangers, in het bijzonder gebruikt voor navigatie binnen gebouwen en om aan toegangen vast te klikken in deze laag"
},
"mapRendering": [
{

View file

@ -85,7 +85,7 @@
"leisure=picnic_table"
],
"title": {
"en": "picnic table",
"en": "a picnic table",
"nl": "een picnic-tafel",
"it": "una tavolo da picnic",
"ru": "стол для пикника",

View file

@ -494,7 +494,7 @@
],
"title": {
"nl": "een speeltuin",
"en": "playground",
"en": "a playground",
"ru": "Детская площадка",
"fr": "une terrain de jeux",
"it": "una campetto",

View file

@ -50,7 +50,7 @@
"presets": [
{
"title": {
"en": "Bookcase",
"en": "a bookcase",
"nl": "een boekenruilkast",
"de": "eine bücherschrank",
"fr": "une microbibliothèque",

View file

@ -407,7 +407,7 @@
"presets": [
{
"title": {
"en": "recycling container",
"en": "a recycling container",
"nl": "een recycling container"
},
"tags": [
@ -417,7 +417,7 @@
},
{
"title": {
"en": "recycling centre",
"en": "a recycling centre",
"nl": "een recycling centre"
},
"tags": [

View file

@ -40,7 +40,8 @@
"ru": "{name}",
"ja": "{name}",
"de": "{name}",
"eo": "{name}"
"eo": "{name}",
"nl": "{name}"
}
},
{
@ -55,7 +56,8 @@
"ru": "{shop}",
"ja": "{shop}",
"de": "{shop}",
"eo": "{shop}"
"eo": "{shop}",
"nl": "{shop}"
}
}
]
@ -92,7 +94,8 @@
"fr": "Ce magasin vends {shop}",
"ja": "こちらのお店では{shop}を販売しております",
"de": "Dieses Geschäft verkauft {shop}",
"eo": "Ĉi tiu butiko vendas {shop}"
"eo": "Ĉi tiu butiko vendas {shop}",
"nl": "Deze winkel is van type \"{shop}\""
},
"question": {
"en": "What does this shop sell?",
@ -100,7 +103,8 @@
"ja": "このお店では何を売っていますか?",
"ru": "Что продаётся в этом магазине?",
"de": "Was wird in diesem Geschäft verkauft?",
"eo": "Kion vendas ĉi tiu butiko?"
"eo": "Kion vendas ĉi tiu butiko?",
"nl": "Wat verkoopt deze winkel?"
},
"freeform": {
"key": "shop"
@ -258,7 +262,8 @@
"ru": "<a href='{website}'>{website}</a>",
"ja": "<a href='{website}'>{website}</a>",
"de": "<a href='{website}'>{website}</a>",
"eo": "<a href='{website}'>{website}</a>"
"eo": "<a href='{website}'>{website}</a>",
"nl": "<a href='{website}'>{website}</a>"
},
"question": {
"en": "What is the website of this shop?",
@ -331,7 +336,7 @@
"shop=yes"
],
"title": {
"en": "Shop",
"en": "a shop",
"fr": "une magasin",
"ru": "Магазин",
"ja": "店",

View file

@ -280,6 +280,7 @@
}
],
"description": {
"en": "All carfree roads"
"en": "All carfree roads",
"nl": "Alle verkeersvrije wegen"
}
}

View file

@ -427,7 +427,7 @@
"title": {
"nl": "een ping-pong tafel",
"fr": "une table de ping-pong",
"en": "Tabletennis table",
"en": "a tabletennis table",
"it": "una tavolo da tennistavolo",
"ru": "Стол для настольного тенниса",
"de": "eine tischtennisplatte"
@ -441,7 +441,7 @@
"title": {
"nl": "een sportterrein",
"fr": "une terrain de sport",
"en": "Sport pitch",
"en": "a sport pitch",
"ru": "Спортивная площадка",
"it": "una campo sportivo",
"de": "eine sportplatz"

View file

@ -42,7 +42,7 @@
"presets": [
{
"title": {
"en": "street lamp",
"en": "a street lamp",
"nl": "een straatlantaarn"
},
"tags": [
@ -372,6 +372,7 @@
"enableRelocation": false
},
"description": {
"en": "A layer showing street lights"
"en": "A layer showing street lights",
"nl": "Een laag die alle straatlantaarns toont"
}
}

View file

@ -460,7 +460,8 @@
"surveillance:type=camera"
],
"title": {
"en": "surveillance camera"
"en": "a surveillance camera",
"nl": "bewakingscamera"
}
},
{
@ -470,7 +471,8 @@
"camera:mount=wall"
],
"title": {
"en": "surveillance camera mounted on a wall"
"en": "a surveillance camera mounted on a wall",
"nl": "bewakingscamera gemonteerd op een muur"
},
"preciseInput": {
"snapToLayer": "walls_and_buildings"
@ -538,6 +540,7 @@
}
],
"description": {
"en": "This layer shows surveillance cameras and allows a contributor to update information and add new cameras"
"en": "This layer shows surveillance cameras and allows a contributor to update information and add new cameras",
"nl": "Deze laag toont bewakingscamera's en laat toe om de informatie te verrijken en om nieuwe camera\"s toe te voegen"
}
}

View file

@ -25,7 +25,7 @@
"presets": [
{
"title": {
"en": "public toilet",
"en": "a public toilet",
"de": "eine öffentlich zugängliche toilette",
"fr": "une toilette publique",
"nl": "een publiek toilet",
@ -38,7 +38,7 @@
},
{
"title": {
"en": "toilets with wheelchair accessible toilet",
"en": "a toilets with wheelchair accessible toilet",
"de": "eine toiletten mit rollstuhlgerechter toilette",
"fr": "une toilettes accessible aux personnes à mobilité réduite",
"nl": "een rolstoeltoegankelijke, publiek toilet",

View file

@ -521,7 +521,7 @@
],
"title": {
"nl": "een loofboom",
"en": "Broadleaved tree",
"en": "a broadleaved tree",
"it": "una albero latifoglia",
"fr": "une arbre feuillu",
"ru": "Лиственное дерево",
@ -545,7 +545,7 @@
],
"title": {
"nl": "een naaldboom",
"en": "Needleleaved tree",
"en": "a needleleaved tree",
"it": "una albero aghifoglia",
"ru": "Хвойное дерево",
"fr": "une arbre résineux",
@ -569,7 +569,7 @@
],
"title": {
"nl": "een boom",
"en": "Tree",
"en": "a tree",
"it": "una albero",
"ru": "Дерево",
"fr": "une arbre",
@ -629,6 +629,7 @@
}
],
"description": {
"en": "A layer showing trees"
"en": "A layer showing trees",
"nl": "Een laag die bomen toont"
}
}

View file

@ -25,7 +25,7 @@
"presets": [
{
"title": {
"en": "Viewpoint",
"en": "a viewpoint",
"nl": "een uitzicht",
"de": "eine aussichtspunkt",
"fr": "une point de vue",

View file

@ -46,6 +46,7 @@
}
],
"description": {
"en": "A layer showing village-green (which are communal green areas, but not quite parks\""
"en": "A layer showing village-green (which are communal green areas, but not quite parks)",
"nl": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)"
}
}

View file

@ -3,11 +3,13 @@
"minzoom": 18,
"title": {
"render": {
"en": "Wall or building"
"en": "Wall or building",
"nl": "Muur of gebouw"
}
},
"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."
"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.",
"nl": "Speciale laag met alle muren en gebouwen. Deze laag is nuttig om objecten toe te voegen die met een muur verbonden zijn (zoals AEDs, brievenbussen, adressen, bewakingscamera's,...). Deze laag is standaard onzichtbaar en kan niet aangezet worden door de gebruiker."
},
"source": {
"osmTags": {

View file

@ -156,7 +156,7 @@
"amenity=waste_basket"
],
"title": {
"en": "Waste Basket",
"en": "a waste basket",
"nl": "een vuilnisbak",
"ru": "Контейнер для мусора",
"de": "eine abfalleimer",

View file

@ -1,10 +1,12 @@
{
"id": "waste_disposal",
"name": {
"en": "Waste Disposal Bins"
"en": "Waste Disposal Bins",
"nl": "Afvalcontainers voor huishoudelijk afval"
},
"description": {
"en": "Waste Disposal Bin, medium to large bin for disposal of (household) waste"
"en": "Waste Disposal Bin, medium to large bin for disposal of (household) waste",
"nl": "Een grote afvalcontainer voor (huishoudelijk) afval"
},
"source": {
"osmTags": "amenity=waste_disposal"
@ -13,7 +15,8 @@
"minzoomVisible": 18,
"title": {
"render": {
"en": "Waste Disposal"
"en": "Waste Disposal",
"nl": "Afvalbak"
}
},
"mapRendering": [
@ -28,13 +31,15 @@
"presets": [
{
"title": {
"en": "Waste Disposal Bin"
"en": "a waste disposal bin",
"nl": "Afvalcontainer"
},
"tags": [
"amenity=waste_disposal"
],
"description": {
"en": "Medium to large bin for disposal of (household) waste"
"en": "Medium to large bin for disposal of (household) waste",
"nl": "middelgrote of grote afvalcontainer voor (huishoudelijk) afval"
}
}
],
@ -42,10 +47,12 @@
{
"id": "access",
"render": {
"en": "Access: {access}"
"en": "Access: {access}",
"nl": "Toegankelijk voor {access}"
},
"question": {
"en": "Who can use this waste disposal bin?"
"en": "Who can use this waste disposal bin?",
"nl": "Wie mag deze afvalcontainer gebruiken?"
},
"freeform": {
"key": "access",
@ -55,19 +62,22 @@
{
"if": "access=yes",
"then": {
"en": "This bin can be used by anyone"
"en": "This bin can be used by anyone",
"nl": "Iedereen mag deze afvalcontainer gebruiken"
}
},
{
"if": "access=no",
"then": {
"en": "This bin is private"
"en": "This bin is private",
"nl": "Deze afvalcontainer is enkel voor privaat gebruik"
}
},
{
"if": "access=residents",
"then": {
"en": "This bin is only for residents"
"en": "This bin is only for residents",
"nl": "Enkel bewoners mogen deze afvalcontainer gebruiken"
}
}
]
@ -109,7 +119,8 @@
"options": [
{
"question": {
"en": "Only public access"
"en": "Only public access",
"nl": "Enkel publiek toegankelijke afvalcontainers"
},
"osmTags": "access=yes"
}

View file

@ -648,7 +648,7 @@
"tourism=caravan_site"
],
"title": {
"en": "camper site",
"en": "a camper site",
"ru": "площадка для кемпинга",
"ja": "キャンプサイト",
"zh_Hant": "露營地",
@ -1103,7 +1103,7 @@
"amenity=sanitary_dump_station"
],
"title": {
"en": "sanitary dump station",
"en": "a sanitary dump station",
"ja": "衛生ゴミ捨て場",
"it": "una luogo di sversamento delle acque reflue",
"fr": "une site de vidange",

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