Merge master

This commit is contained in:
Pieter Vander Vennet 2024-07-28 02:38:24 +02:00
commit 1b01f75905
186 changed files with 4169 additions and 2235 deletions

View file

@ -24,7 +24,7 @@ jobs:
shell: bash
- name: create dependencies
run: npm run generate:licenses; npm run generate:images; npm run generate:charging-stations; npm run generate:service-worker; npm run generate:editor-layer-index
run: npm run generate:licenses; npm run generate:images; npm run generate:charging-stations; npm run generate:service-worker
shell: bash
- name: sync translations

View file

@ -810,6 +810,13 @@
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
@ -1436,6 +1443,13 @@
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
@ -1667,6 +1681,13 @@
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false

View file

@ -803,6 +803,13 @@ export default {
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
}
},
@ -1423,6 +1430,13 @@ export default {
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
@ -1653,6 +1667,13 @@ export default {
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
}
},

View file

@ -701,6 +701,13 @@
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
@ -1327,6 +1334,13 @@
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
@ -1558,6 +1572,13 @@
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false

View file

@ -694,6 +694,13 @@ export default {
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
}
},
@ -1314,6 +1321,13 @@ export default {
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
@ -1544,6 +1558,13 @@ export default {
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
}
},

View file

@ -482,6 +482,13 @@
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false

View file

@ -475,6 +475,13 @@ export default {
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
}
}

View file

@ -509,6 +509,13 @@
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false

View file

@ -502,6 +502,13 @@ export default {
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
}
},

View file

@ -556,6 +556,13 @@
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false

View file

@ -549,6 +549,13 @@ export default {
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
}
}

View file

@ -223,6 +223,13 @@
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
@ -618,6 +625,13 @@
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false

View file

@ -223,6 +223,13 @@ export default {
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
@ -611,6 +618,13 @@ export default {
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
}
},

View file

@ -436,6 +436,13 @@
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false

View file

@ -429,6 +429,13 @@ export default {
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
}
},

View file

@ -167,6 +167,13 @@
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"definitions": {

View file

@ -167,6 +167,13 @@ export default {
"classes": {
"description": "question: What css-classes should be applied to showing this attribute?\n\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)",
"type": "string"
},
"filter": {
"description": "This tagRendering can introduce this builtin filter",
"type": "array",
"items": {
"type": "string"
}
}
},
"definitions": {

View file

@ -29,6 +29,7 @@ Available languages:
- pl
- it
- da
- zh_Hans
# Layers defined in this theme configuration file

View file

@ -35,6 +35,7 @@ Available languages:
- it
- pl
- da
- zh_Hans
# Table of contents

View file

@ -28,6 +28,7 @@ Available languages:
- cs
- zh_Hant
- pl
- zh_Hans
# Table of contents

View file

@ -21,6 +21,8 @@ Available languages:
- fr
- pl
- da
- es
- zh_Hans
# Layers defined in this theme configuration file

View file

@ -29,6 +29,7 @@ Available languages:
- zh_Hant
- eu
- pl
- zh_Hans
# Layers defined in this theme configuration file

View file

@ -35,6 +35,7 @@ Available languages:
- es
- eu
- pt
- zh_Hans
# Layers defined in this theme configuration file

View file

@ -30,6 +30,7 @@ Available languages:
- cs
- eu
- pl
- zh_Hans
# Layers defined in this theme configuration file

View file

@ -33,6 +33,7 @@ Available languages:
- it
- pl
- da
- zh_Hans
# Layers defined in this theme configuration file

View file

@ -33,6 +33,7 @@ Available languages:
- eu
- pl
- da
- zh_Hans
# Layers defined in this theme configuration file

View file

@ -34,6 +34,7 @@ Available languages:
- cs
- eu
- pl
- zh_Hans
# Layers defined in this theme configuration file

View file

@ -49,7 +49,7 @@
{{service_item
|name= [https://mapcomplete.org/cafes_and_pubs cafes_and_pubs]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:ca|en}}, {{#language:es|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:nb_NO|en}}, {{#language:pa_PK|en}}, {{#language:cs|en}}, {{#language:it|en}}, {{#language:zh_Hant|en}}, {{#language:eu|en}}, {{#language:pl|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:ca|en}}, {{#language:es|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:nb_NO|en}}, {{#language:pa_PK|en}}, {{#language:cs|en}}, {{#language:it|en}}, {{#language:zh_Hant|en}}, {{#language:eu|en}}, {{#language:pl|en}}, {{#language:zh_Hans|en}}
|descr= A MapComplete theme: Coffeehouses, pubs and bars
|material= {{yes|[https://mapcomplete.org/ Yes]}}
|image= MapComplete_Screenshot.png
@ -103,7 +103,7 @@
{{service_item
|name= [https://mapcomplete.org/bookcases bookcases]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:it|en}}, {{#language:hu|en}}, {{#language:es|en}}, {{#language:da|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:eu|en}}, {{#language:pl|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:it|en}}, {{#language:hu|en}}, {{#language:es|en}}, {{#language:da|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:eu|en}}, {{#language:pl|en}}, {{#language:zh_Hans|en}}
|descr= A MapComplete theme: A public bookcase is a small streetside cabinet, box, old phone booth or some other objects where books are stored
|material= {{yes|[https://mapcomplete.org/ Yes]}}
|image= MapComplete_Screenshot.png
@ -112,7 +112,7 @@
{{service_item
|name= [https://mapcomplete.org/advertising advertising]
|region= Worldwide
|lang= {{#language:ca|en}}, {{#language:es|en}}, {{#language:en|en}}, {{#language:de|en}}, {{#language:cs|en}}, {{#language:fr|en}}, {{#language:nl|en}}, {{#language:zh_Hant|en}}, {{#language:eu|en}}, {{#language:pl|en}}
|lang= {{#language:ca|en}}, {{#language:es|en}}, {{#language:en|en}}, {{#language:de|en}}, {{#language:cs|en}}, {{#language:fr|en}}, {{#language:nl|en}}, {{#language:zh_Hant|en}}, {{#language:eu|en}}, {{#language:pl|en}}, {{#language:zh_Hans|en}}
|descr= A MapComplete theme: Where I can find advertising features?
|material= {{yes|[https://mapcomplete.org/ Yes]}}
|image= MapComplete_Screenshot.png
@ -130,7 +130,7 @@
{{service_item
|name= [https://mapcomplete.org/atm atm]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:nl|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:nb_NO|en}}, {{#language:es|en}}, {{#language:id|en}}, {{#language:zh_Hant|en}}, {{#language:eu|en}}, {{#language:it|en}}, {{#language:pl|en}}, {{#language:da|en}}
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:nl|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:nb_NO|en}}, {{#language:es|en}}, {{#language:id|en}}, {{#language:zh_Hant|en}}, {{#language:eu|en}}, {{#language:it|en}}, {{#language:pl|en}}, {{#language:da|en}}, {{#language:zh_Hans|en}}
|descr= A MapComplete theme: This map shows ATMs to withdraw or deposit money
|material= {{yes|[https://mapcomplete.org/ Yes]}}
|image= MapComplete_Screenshot.png
@ -148,7 +148,7 @@
{{service_item
|name= [https://mapcomplete.org/bicycle_parkings bicycle_parkings]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:de|en}}
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:zh_Hans|en}}
|descr= A MapComplete theme: A map showing all types of bicycle parkings
|material= {{yes|[https://mapcomplete.org/ Yes]}}
|image= MapComplete_Screenshot.png
@ -157,7 +157,7 @@
{{service_item
|name= [https://mapcomplete.org/bicycle_rental bicycle_rental]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:id|en}}, {{#language:fr|en}}, {{#language:es|en}}, {{#language:nb_NO|en}}, {{#language:ca|en}}, {{#language:da|en}}, {{#language:cs|en}}, {{#language:eu|en}}, {{#language:pl|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:id|en}}, {{#language:fr|en}}, {{#language:es|en}}, {{#language:nb_NO|en}}, {{#language:ca|en}}, {{#language:da|en}}, {{#language:cs|en}}, {{#language:eu|en}}, {{#language:pl|en}}, {{#language:zh_Hans|en}}
|descr= A MapComplete theme: A map with bicycle rental stations and bicycle rental shops
|material= {{yes|[https://mapcomplete.org/ Yes]}}
|image= MapComplete_Screenshot.png
@ -166,7 +166,7 @@
{{service_item
|name= [https://mapcomplete.org/bicyclelib bicyclelib]
|region= Worldwide
|lang= {{#language:nl|en}}, {{#language:en|en}}, {{#language:it|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:fr|en}}, {{#language:zh_Hant|en}}, {{#language:de|en}}, {{#language:hu|en}}, {{#language:nb_NO|en}}, {{#language:ca|en}}, {{#language:da|en}}, {{#language:cs|en}}, {{#language:es|en}}, {{#language:eu|en}}, {{#language:pl|en}}
|lang= {{#language:nl|en}}, {{#language:en|en}}, {{#language:it|en}}, {{#language:ru|en}}, {{#language:ja|en}}, {{#language:fr|en}}, {{#language:zh_Hant|en}}, {{#language:de|en}}, {{#language:hu|en}}, {{#language:nb_NO|en}}, {{#language:ca|en}}, {{#language:da|en}}, {{#language:cs|en}}, {{#language:es|en}}, {{#language:eu|en}}, {{#language:pl|en}}, {{#language:zh_Hans|en}}
|descr= A MapComplete theme: A bicycle library is a place where bicycles can be lent, often for a small yearly fee
|material= {{yes|[https://mapcomplete.org/ Yes]}}
|image= MapComplete_Screenshot.png
@ -175,7 +175,7 @@
{{service_item
|name= [https://mapcomplete.org/binoculars binoculars]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:it|en}}, {{#language:nb_NO|en}}, {{#language:zh_Hant|en}}, {{#language:hu|en}}, {{#language:fr|en}}, {{#language:es|en}}, {{#language:ca|en}}, {{#language:da|en}}, {{#language:cs|en}}, {{#language:eu|en}}, {{#language:pl|en}}
|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:it|en}}, {{#language:nb_NO|en}}, {{#language:zh_Hant|en}}, {{#language:hu|en}}, {{#language:fr|en}}, {{#language:es|en}}, {{#language:ca|en}}, {{#language:da|en}}, {{#language:cs|en}}, {{#language:eu|en}}, {{#language:pl|en}}, {{#language:zh_Hans|en}}
|descr= A MapComplete theme: A map with fixed binoculars
|material= {{yes|[https://mapcomplete.org/ Yes]}}
|image= MapComplete_Screenshot.png
@ -184,7 +184,7 @@
{{service_item
|name= [https://mapcomplete.org/blind_osm blind_osm]
|region= Worldwide
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:nl|en}}, {{#language:fr|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:nb_NO|en}}, {{#language:es|en}}, {{#language:eu|en}}, {{#language:it|en}}, {{#language:pl|en}}
|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:nl|en}}, {{#language:fr|en}}, {{#language:ca|en}}, {{#language:cs|en}}, {{#language:nb_NO|en}}, {{#language:es|en}}, {{#language:eu|en}}, {{#language:it|en}}, {{#language:pl|en}}, {{#language:zh_Hans|en}}
|descr= A MapComplete theme: Help to map features relevant for the blind
|material= {{yes|[https://mapcomplete.org/ Yes]}}
|image= MapComplete_Screenshot.png

View file

@ -29,7 +29,7 @@
"nl": "Een vrije kaart met standbeelden, bustes, graffiti en andere kunstwerken van over de hele wereld",
"fr": "Une carte ouverte de statues, bustes, graffitis et autres œuvres d'art de par le monde",
"de": "Eine freie Karte mit Statuen, Büsten, Graffitis und anderen Kunstwerken auf der ganzen Welt",
"it": "Diverse opere darte",
"it": "Una mappa libera delle statue, i busti, i graffiti e le altre opere d'arte di tutto il mondo",
"ru": "Разнообразные произведения искусства",
"es": "Un mapa abierto de Estatuas, bustos, Graffitis y otras Obras de Arte en todo el mundo",
"ja": "多様な作品",

View file

@ -471,7 +471,8 @@
"if": "rental=cargo_bike",
"then": {
"en": "Cargo bikes can be rented here",
"nl": "Bakfietsen kunnen hier gehuurd worden"
"nl": "Bakfietsen kunnen hier gehuurd worden",
"de": "Lastenräder können hier gemietet werden"
}
}
],

View file

@ -87,7 +87,9 @@
}
],
"lineRendering": [],
"titleIcons": ["icons.defaults"],
"titleIcons": [
"icons.defaults"
],
"presets": [
{
"title": {

View file

@ -526,10 +526,12 @@
"type": "text",
"key": "defibrillator:location:fr"
},
"condition": {"or":[
"_country=be",
"defibrillator:location:fr~*"
]},
"condition": {
"or": [
"_country=be",
"defibrillator:location:fr~*"
]
},
"id": "defibrillator-defibrillator:location:fr"
},
"wheelchair-access",

View file

@ -113,7 +113,8 @@
"override": {
"question": {
"en": "Is the firepit available all around the year?",
"nl": "Is deze kampvuurplaats heel het jaar door beschikbaar?"
"nl": "Is deze kampvuurplaats heel het jaar door beschikbaar?",
"de": "Ist diese Feuerstelle rund um das Jahr nutzbar?"
}
}
}

View file

@ -256,7 +256,8 @@
}
]
},
{"id": "lactosefree",
{
"id": "lactosefree",
"labels": [
"defaults",
"in_favourite"
@ -264,14 +265,19 @@
"mappings": [
{
"if": {
"or":["diet:lactose_free=only","diet:lactose_free=yes","diet:lactose_free=limited"]
"or": [
"diet:lactose_free=only",
"diet:lactose_free=yes",
"diet:lactose_free=limited"
]
},
"#": "ignore-image-in-then",
"then": "<img alt='lactose free' src='./assets/layers/questions/lactose_free.svg'>"
}
]
},
{"id": "glutenfree",
{
"id": "glutenfree",
"labels": [
"defaults",
"in_favourite"
@ -279,14 +285,17 @@
"mappings": [
{
"if": {
"or":["diet:gluten_free=only","diet:gluten_free=yes","diet:gluten_free=limited"]
"or": [
"diet:gluten_free=only",
"diet:gluten_free=yes",
"diet:gluten_free=limited"
]
},
"#": "ignore-image-in-then",
"then": "<img alt='gluten free' src='./assets/layers/questions/glutenfree.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [

View file

@ -439,7 +439,8 @@
"en": "You can pick up missed parcels here",
"de": "Hier können Sie verpasste Pakete abholen",
"ca": "Podeu recollir els paquets perduts aquí",
"cs": "Zmeškané zásilky si můžete vyzvednout zde"
"cs": "Zmeškané zásilky si můžete vyzvednout zde",
"nl": "Je kunt hier gemiste pakjes ophalen"
}
},
{
@ -463,7 +464,8 @@
"question": {
"en": "Can you send parcels to here for pickup?",
"de": "Können Sie Pakete zur Abholung hierher schicken?",
"ca": "Pots enviar paquets aquí per a arreplegar-los?"
"ca": "Pots enviar paquets aquí per a arreplegar-los?",
"nl": "Kun je deze plaats gebruiken als afhaalpunt?"
},
"freeform": {
"key": "post_office:parcel_to",

View file

@ -2819,7 +2819,8 @@
"id": "seasonal",
"question": {
"en": "Is {title()} available all around the year?",
"nl": "Is {title()} heel het jaar beschikbaar?"
"nl": "Is {title()} heel het jaar beschikbaar?",
"de": "Ist {title()} rund um das Jahr nutzbar?"
},
"mappings": [
{
@ -2852,35 +2853,40 @@
{
"id": "shower",
"question": {
"en": "Does this facility offer showers?"
"en": "Does this facility offer showers?",
"de": "Gibt es in dieser Einrichtung Duschen?"
},
"mappings": [
{
"if": "shower=hot",
"icon": "./assets/layers/shower/shower.svg",
"then": {
"en": "This facility does have showers with warm water"
"en": "This facility does have showers with warm water",
"de": "Diese Einrichtung verfügt über Duschen mit warmem Wasser"
}
},
{
"if": "shower=cold",
"icon": "./assets/layers/shower/shower.svg",
"then": {
"en": "This facility does have showers, but the water is not heated"
"en": "This facility does have showers, but the water is not heated",
"de": "Diese Einrichtung verfügt zwar über Duschen, aber das Wasser ist nicht beheizt"
}
},
{
"if": "shower=yes",
"icon": "./assets/layers/shower/shower.svg",
"then": {
"en": "This facility does have showers"
"en": "This facility does have showers",
"de": "Diese Einrichtung hat Duschen"
}
},
{
"if": "shower=no",
"icon": "invalid;./assets/layers/shower/shower.svg",
"then": {
"en": "This facility does not offer a shower"
"en": "This facility does not offer a shower",
"de": "Diese Einrichtung hat keine Duschen"
}
}
]

View file

@ -283,66 +283,77 @@
{
"id": "pedagogy",
"question": {
"en": "What educational theory is applied on this school?"
"en": "What educational theory is applied on this school?",
"de": "Welche Bildungstheorie wird auf dieser Schule angewendet?"
},
"mappings": [
{
"if": "pedagogy=mainstream",
"then": {
"en": "This school does not use a specific pedagogy"
"en": "This school does not use a specific pedagogy",
"de": "Diese Schule benutzt keine spezifische Pädagogik"
}
},
{
"if": "pedagogy=montessori",
"then": {
"en": "This school uses the Montessori method of education"
"en": "This school uses the Montessori method of education",
"de": "Diese Schule nutzt die Montessori Methode der Bildung"
}
},
{
"if": "pedagogy=freinet",
"then": {
"en": "This school is associated with the Freinet Modern School Movement"
"en": "This school is associated with the Freinet Modern School Movement",
"de": "Diese Schule ist mit der Freinet Modern School Movement verbunden"
}
},
{
"if": "pedagogy=jenaplan",
"then": {
"en": "This school uses the Jenaplan teaching concept"
"en": "This school uses the Jenaplan teaching concept",
"de": "Diese Schule nutzt das Lehrkonzept von Jenaplan"
}
},
{
"if": "pedagogy=waldorf",
"then": {
"en": "This school uses the Steiner/Waldorf educational philosophy"
"en": "This school uses the Steiner/Waldorf educational philosophy",
"de": "Diese Schule nutzt die Steiner/Waldorfer Bildungsphilosophie"
}
},
{
"if": "pedagogy=dalton",
"then": {
"en": "This school uses the Dalton plan teaching concept"
"en": "This school uses the Dalton plan teaching concept",
"de": "Diese Schule nutzt das Dalton Plan Lehrkonzept"
}
},
{
"if": "pedagogy=outdoor",
"then": {
"en": "This school uses outdoor learning"
"en": "This school uses outdoor learning",
"de": "Diese Schule nutzt Outdoor-Lernen"
}
},
{
"if": "pedagogy=reggio_emilia",
"then": {
"en": "This school uses the Reggio Emilia approach"
"en": "This school uses the Reggio Emilia approach",
"de": "Diese Schule nutzt den Reggio Emilia-Ansatz"
}
},
{
"if": "pedagogy=sudbury",
"then": {
"en": "This school uses the Sudbury system"
"en": "This school uses the Sudbury system",
"de": "Diese Schule nutzt das Sudbury-System"
}
}
],
"render": {
"en": "This school uses {pedagogy}"
"en": "This school uses {pedagogy}",
"de": "Diese Schule benutzt {pedagogy}"
},
"freeform": {
"key": "pedagogy"

View file

@ -12,7 +12,8 @@
"eu": "Publizitatea",
"pl": "Reklamy",
"it": "Pubblicità",
"da": "Reklamer"
"da": "Reklamer",
"zh_Hans": "广告"
},
"description": {
"ca": "Alguna vegada t'has preguntat quanta publictat hi ha als nostres carrers i carreteres? Amb aquest mapa podràs trobar i afegir informació de tots els elements publictaris que t'hi trobes pel carrer",
@ -27,7 +28,8 @@
"eu": "Inoiz pentsatu duzu zenbat iragarki dauden gure kale eta errepideetan? Mapa honekin, kalean aurki ditzakezun publizitate-ezaugarri guztiei buruzko informazioa aurkitu eta erants dezakezu",
"pl": "Czy zastanawiałeś się kiedyś, ile reklam jest na naszych ulicach i drogach? Dzięki tej mapie możesz znaleźć i dodać informacje o wszystkich funkcjach reklamowych, które możesz znaleźć na ulicy",
"pt": "Já se perguntou quantas propagandas existem nas nossas ruas e estradas? Com este mapa pode encontrar e adicionar informações sobre todos os recursos de publicidade que pode encontrar na rua",
"it": "Vi siete mai chiesti quante pubblicità ci sono nelle nostre strade e strade? Con questa mappa è possibile trovare e aggiungere informazioni su tutte le caratteristiche pubblicitarie che si possono trovare sulla strada"
"it": "Vi siete mai chiesti quante pubblicità ci sono nelle nostre strade e strade? Con questa mappa è possibile trovare e aggiungere informazioni su tutte le caratteristiche pubblicitarie che si possono trovare sulla strada",
"zh_Hans": "你是否曾经想过我们的街道和道路上有多少广告?通过这张地图,你可以查找并添加有关街道上所有广告特征的信息"
},
"shortDescription": {
"ca": "On puc trobar elements publicitaris?",
@ -39,7 +41,8 @@
"nl": "Waar zijn er reclameborden?",
"zh_Hant": "我能夠在那裡找到廣告物件?",
"eu": "Non aurki ditzaket publizitate ezaugarriak?",
"pl": "Gdzie mogę znaleźć obiekty reklamowe?"
"pl": "Gdzie mogę znaleźć obiekty reklamowe?",
"zh_Hans": "我可以在哪里找到广告功能?"
},
"icon": "./assets/themes/advertising/icon.svg",
"credits": [

View file

@ -7,7 +7,7 @@
"de": "Kunstwerk",
"hu": "Műalkotástérkép",
"id": "Buka Peta Karya Seni",
"it": "Mappa libera delle opere d'arte",
"it": "Opere d'arte",
"ru": "Открытая карта произведений искусства",
"ja": "オープン アートワーク マップ",
"zh_Hant": "藝術品",
@ -30,7 +30,7 @@
"fr": "Une carte ouverte de statues, bustes, graffitis et autres œuvres d'art de par le monde",
"de": "Eine freie Karte mit Statuen, Büsten, Graffitis und anderen Kunstwerken auf der ganzen Welt",
"id": "Peta terbuka patung, grafiti, dan karya seni lainnya di seluruh dunia",
"it": "Benvenuto/a sulla mappa libera dellarte, una mappa delle statue, i busti, i graffiti e le altre realizzazioni artistiche di tutto il mondo",
"it": "Una mappa libera delle statue, i busti, i graffiti e le altre opere d'arte di tutto il mondo",
"ru": "Добро пожаловать на открытую карта произведений искусства - карту статуй, бюстов, граффити и других произведений искусства по всему миру",
"es": "Un mapa abierto de Estatuas, bustos, Graffitis y otras Obras de Arte en todo el mundo",
"ja": "オープン アートワーク マップへようこそ。世界中の銅像や胸像、壁の落書きなどのアートワークの地図です",

View file

@ -15,7 +15,8 @@
"eu": "Kutxazain automatikoa",
"it": "Sportelli bancomat",
"pl": "Bankomaty",
"da": "Hæveautomater"
"da": "Hæveautomater",
"zh_Hans": "自动取款机"
},
"description": {
"en": "This map shows ATMs to withdraw or deposit money",
@ -31,7 +32,8 @@
"eu": "Mapa honek dirua atera edo sartzeko kutxazain automatikoak erakusten ditu",
"it": "Questa mappa mostra gli sportelli Bancomat per ritirare o depositare del denaro",
"pl": "Ta mapa pokazuje bankomaty, w których można wypłacać lub wpłacać pieniądze",
"da": "Dette kort viser hæveautomater, hvor du kan hæve og indsætte kontanter"
"da": "Dette kort viser hæveautomater, hvor du kan hæve og indsætte kontanter",
"zh_Hans": "这张地图显示了可以取款或存款的自动取款机"
},
"icon": "./assets/themes/atm/logo.svg",
"layers": [
@ -99,7 +101,8 @@
"it": "Importa questo sportello bancomat",
"pl": "Importuj ten bankomat",
"cs": "Importovat tento bankomat",
"da": "Importer denne hæveautomat"
"da": "Importer denne hæveautomat",
"zh_Hans": "导入这个ATM"
},
"icon": "./assets/svg/addSmall.svg"
}
@ -116,7 +119,8 @@
"cs": "OpenStreetMap ví o <a href='#{_closest_osm_poi}'> bankomatu, který je {_closest_osm_poi_distance} metr daleko.</a> ",
"pl": "OpenStreetMap wie o <a href='#{_closest_osm_poi}'>bankomacie oddalonym o {_closest_osm_poi_distance} metry.</a> ",
"nl": "OpenStreetMap kent <a href='#{_closest_osm_poi}'>een geldautomaat die {_closest_osm_poi_distance} meter weg is</a> ",
"da": "OpenStreetMap kender <a href='#{_closest_osm_poi}'>en hæveautomatet, som ligger {_closest_osm_poi_distance} meter væk.</a> "
"da": "OpenStreetMap kender <a href='#{_closest_osm_poi}'>en hæveautomatet, som ligger {_closest_osm_poi_distance} meter væk.</a> ",
"zh_Hans": "OpenStreetMap 知道有一个<a href='#{_closest_osm_poi}'>自动取款机,它距离你 {_closest_osm_poi_distance} 米。</a> "
}
},
{
@ -137,7 +141,8 @@
"pl": "Dodaj wszystkie sugerowane znaczniki do najbliższego bankomatu",
"cs": "Přidání všech navrhovaných značek do nejbližšího bankomatu",
"nl": "Voeg alle gesuggereerde tags toe aan de dichtstbijzijnde geldautomaat",
"da": "Tilføj alle foreslåede tags til den nærmeste hæveautomat"
"da": "Tilføj alle foreslåede tags til den nærmeste hæveautomat",
"zh_Hans": "将所有建议的标签添加到距离最近的自动取款机"
},
"image": "./assets/svg/addSmall.svg",
"maproulette_id": "mr_taskId"

View file

@ -10,7 +10,8 @@
"es": "Ayudante de importación BAG",
"cs": "Pomocník pro import BAG",
"zh_Hant": "BAG 匯入助手",
"pl": "Pomocnik importowy BAG"
"pl": "Pomocnik importowy BAG",
"zh_Hans": "BAG 导入助手"
},
"description": {
"nl": "Dit thema helpt het importeren van BAG data",
@ -22,7 +23,8 @@
"zgh": "ⵉⵜⵜⴰⵡⵙ ⵉⵎⵔⵙⵉ ⴰⴷ ⴳ ⵡⴰⵎⵎⴰⵥ ⵜⵎⵓⵛⴰ ⵙⴳ BAG",
"es": "Este tema ayuda a importar datos de BAG",
"eu": "Gai honek BAGeko datuak inportatzen laguntzen du",
"pl": "Motyw ten pomaga w importowaniu danych z BAG"
"pl": "Motyw ten pomaga w importowaniu danych z BAG",
"zh_Hans": "这个主题帮助导入来自BAG的数据"
},
"shortDescription": {
"nl": "BAG import helper tool",
@ -33,7 +35,8 @@
"es": "Herramienta de ayuda a la importación BAG",
"cs": "Pomocný nástroj pro import BAG",
"eu": "BAGak inportatzen laguntzeko tresna",
"pl": "Narzędzie wspomagające import BAG"
"pl": "Narzędzie wspomagające import BAG",
"zh_Hans": "BAG 导入辅助工具"
},
"icon": "./assets/themes/bag/logo.svg",
"startZoom": 9,
@ -69,7 +72,8 @@
"zgh": "ⵜⴳⴰ ⵜⵙⴰⵖⵓⵍⵜ ⴳ BAG <b>{ref:bag}</b>",
"es": "La referencia de BAG es <b>{ref:bag}</b>",
"cs": "Reference v BAG je <b>{ref:bag}</b>",
"pl": "Numer referencyjny w BAG to <b>{ref:bag}</b>"
"pl": "Numer referencyjny w BAG to <b>{ref:bag}</b>",
"zh_Hans": "在 BAG 中的参考是 <b>{ref:bag}</b>"
},
"mappings": [
{
@ -83,7 +87,8 @@
"ca": "Aquest edifici no té referència al BAG",
"zgh": "ⵜⵓⵚⴽⴰ ⴰⴷ ⵓⵔ ⵖⵓⵔⵙ ⵜⴰⵙⴰⵖⵓⵍⵜ ⴳ BAG",
"es": "Este edificio no tiene referencia en el BAG",
"pl": "Budynek ten nie ma odniesienia w BAG"
"pl": "Budynek ten nie ma odniesienia w BAG",
"zh_Hans": "这栋建筑在BAG中没有参考信息"
}
}
]
@ -197,7 +202,8 @@
"zgh": "ⵜⵓⵚⴽⴰⵡⵉⵏ ⵙⴳ ⵡⴰⵔⵔⴰ BAG",
"es": "Edificios del registro BAG",
"cs": "Budovy z registru BAG",
"pl": "Budynki z rejestru BAG"
"pl": "Budynki z rejestru BAG",
"zh_Hans": "BAG 注册中的建筑物"
},
"source": {
"geoJson": "https://service.pdok.nl/lv/bag/wfs/v2_0?request=GetFeature&service=WFS&version=2.0.0&outputFormat=application%2Fjson%3B%20subtype%3Dgeojson&typeName=bag%3Apand&bbox={x_min}%2C{y_min}%2C{x_max}%2C{y_max}%2CCRS84&srsName=EPSG%3A4326",
@ -252,7 +258,8 @@
"cs": "Zatím nebyly vypočteny správné hodnoty. Aktualizujte stránku",
"nb_NO": "Har ikke regnet ut riktige verdier enda. Gjenoppfrisk siden.",
"es": "Aún no se han calculado los valores correctos. Actualice esta página",
"pl": "Jeszcze nie obliczono poprawnych wartości. Odśwież tę stronę"
"pl": "Jeszcze nie obliczono poprawnych wartości. Odśwież tę stronę",
"zh_Hans": "尚未计算出正确的值。请刷新此页面"
}
},
{
@ -281,7 +288,8 @@
"ca": "La referència a BAG és <b>{_bag_obj:ref:bag}</b>",
"es": "La referencia en BAG es <b>{_bag_obj:ref:bag}</b>",
"cs": "Reference v BAG je <b>{_bag_obj:ref:bag}</b>",
"pl": "Odniesienie w BAG to <b>{_bag_obj:ref:bag}</b>"
"pl": "Odniesienie w BAG to <b>{_bag_obj:ref:bag}</b>",
"zh_Hans": "在 BAG 中的参考文献是 <b>{_bag_obj:ref:bag}</b>"
}
},
{
@ -297,7 +305,8 @@
"cs": "Tato budova byla postavena v <b>{_bag_obj:start_date}</b>",
"nb_NO": "Bygning oppført <b>{_bag_obj:start_date}</b>",
"pl": "Ten budynek zbudowano w <b>{_bag_obj:start_date}</b>",
"pt": "Esta construção é de <b>{_bag_obj:start_date}</b>"
"pt": "Esta construção é de <b>{_bag_obj:start_date}</b>",
"zh_Hans": "这座建筑建于 <b>{_bag_obj:start_date}</b>"
},
"mappings": [
{
@ -311,7 +320,8 @@
"cs": "Stavba byla zahájena v <b>{_bag_obj:start_date}</b>",
"nb_NO": "Oppføring startet <b>{_bag_obj:start_date}</b>",
"es": "Este edificio se empezó a construir en <b>{_bag_obj:start_date}</b>",
"pl": "Budynek został zbudowany w <b>{_bag_obj:start_date}</b>"
"pl": "Budynek został zbudowany w <b>{_bag_obj:start_date}</b>",
"zh_Hans": "该建筑始建于 <b>{_bag_obj:start_date}</b>"
}
}
]
@ -327,7 +337,8 @@
"cs": "Typ budovy je <b>{_bag_obj:building}.</b>",
"nb_NO": "Dette er en bygning av typen <b>{_bag_obj:building}</b>",
"es": "El edificio es de tipo <b>{_bag_obj:building}</b>",
"pl": "Rodzaj budynku to <b>{_bag_obj:building}</b>"
"pl": "Rodzaj budynku to <b>{_bag_obj:building}</b>",
"zh_Hans": "建筑类型是 <b>{_bag_obj:building}</b>"
},
"mappings": [
{
@ -340,7 +351,8 @@
"ca": "El tipus d'edifici serà <b>{_bag_obj:construction}</b>",
"cs": "Typ budovy bude <b>{_bag_obj:construction}</b>",
"es": "El tipo de edificio será un <b>{_bag_obj:construction}</b>",
"pl": "Budynek będzie o typie <b>{_bag_obj:construction}</b>"
"pl": "Budynek będzie o typie <b>{_bag_obj:construction}</b>",
"zh_Hans": "建筑类型将是 <b>{_bag_obj:construction}</b>"
}
}
]

View file

@ -39,7 +39,8 @@
"da": "Dette kort viser alle bænke, der er registreret i OpenStreetMap: Individuelle bænke og bænke, der hører til offentlige transportpladser eller shelters. Med en OpenStreetMap-konto kan du kortlægge nye bænke eller redigere detaljer om eksisterende bænke.",
"cs": "Tato mapa zobrazuje všechny lavičky, které jsou zaznamenány v OpenStreetMap: samostatné lavičky a lavičky patřící k zastávkám veřejné dopravy nebo přístřeškům.",
"eu": "OpenStreetMap-en erregistratzen diren banku guztiak erakusten ditu mapa honek: garraio publikoko geralekuetako edo babeslekuetako banakako bankuak eta bankuak.",
"pl": "Mapa ta pokazuje wszystkie ławki zarejestrowane w OpenStreetMap: ławki indywidualne oraz ławki należące do przystanków komunikacji miejskiej lub wiat."
"pl": "Mapa ta pokazuje wszystkie ławki zarejestrowane w OpenStreetMap: ławki indywidualne oraz ławki należące do przystanków komunikacji miejskiej lub wiat.",
"zh_Hans": "这张地图显示了所有记录在 OpenStreetMap 中的长椅:包括独立长椅和属于公共交通站点或候车亭的长椅。"
},
"shortDescription": {
"en": "A map of benches",

View file

@ -6,11 +6,17 @@
"ca": "Aparcament de bicicletes",
"fr": "Stationnement vélo",
"pl": "Parkingi dla rowerów",
"da": "Cykelparkering"
"da": "Cykelparkering",
"es": "Aparcamiento de bicicletas",
"zh_Hans": "自行车停车场",
"it": "Parcheggi per biciclette"
},
"description": {
"en": "A map showing all types of bicycle parkings",
"de": "Eine Karte mit allen Arten von Fahrradabstellplätzen"
"de": "Eine Karte mit allen Arten von Fahrradabstellplätzen",
"es": "Un mapa que muestra todos los tipos de aparcamientos de bicicletas",
"zh_Hans": "一张显示所有类型自行车停车设施的地图",
"it": "Una mappa che mostra tutti i tipi di parcheggi per biciclette"
},
"icon": "./assets/themes/bicycle_parkings/logo.svg",
"layers": [

View file

@ -14,7 +14,9 @@
"cs": "Půjčovna kol",
"zh_Hant": "單車租借站",
"eu": "Bizikleta alokairua",
"pl": "Wypożyczanie rowerów"
"pl": "Wypożyczanie rowerów",
"zh_Hans": "自行车租赁",
"it": "Noleggio biciclette"
},
"description": {
"en": "On this map, you'll find the many bicycle rental stations as they are known by OpenStreetMap",
@ -28,7 +30,8 @@
"cs": "Na této mapě najdete půjčovny jízdních kol, jak jsou uvedeny v OpenStreetMap",
"eu": "Mapa honetan aurkituko dituzu bizikletak alokatzeko OpenStreetMap-ek ezagutzen dituen estazio ugari",
"it": "In questa mappa trovi i luoghi conosciuti da OpenStreetMap dove puoi noleggiare delle biciclette",
"pl": "Na tej mapie znajdziesz wiele stacji wynajmu rowerów, znanych w OpenStreetMap"
"pl": "Na tej mapie znajdziesz wiele stacji wynajmu rowerów, znanych w OpenStreetMap",
"zh_Hans": "在这张地图上,你可以找到许多由 OpenStreetMap 记录的自行车租赁站点"
},
"shortDescription": {
"en": "A map with bicycle rental stations and bicycle rental shops",
@ -42,7 +45,9 @@
"da": "Et kort med cykeludlejningsstationer og cykeludlejningsbutikker",
"cs": "Mapa se stanicemi a obchody pro vypůjčení kol",
"eu": "Bizikletak alokatzeko estazioen eta bizikletak alokatzeko denden mapa",
"pl": "Mapa ze stacjami wypożyczania rowerów i wypożyczalniami rowerów"
"pl": "Mapa ze stacjami wypożyczania rowerów i wypożyczalniami rowerów",
"zh_Hans": "一张包含自行车租赁站点和自行车租赁商店的地图",
"it": "Una mappa con le stazioni e i negozi per il noleggio delle biciclette"
},
"icon": "./assets/themes/bicycle_rental/logo.svg",
"layers": [

View file

@ -20,7 +20,8 @@
"cs": "Bicycle libraries",
"es": "Bibliotecas de bicicletas",
"eu": "Bizikleta liburutegia",
"pt": "Bibliotecas de bicicletas"
"pt": "Bibliotecas de bicicletas",
"zh_Hans": "自行车图书馆"
},
"description": {
"nl": "Een fietsbibliotheek is een plaats waar men een fiets kan lenen, vaak voor een klein bedrag per jaar. Een typisch voorbeeld zijn kinderfietsbibliotheken, waar men een fiets op maat van het kind kan lenen. Is het kind de fiets ontgroeid, dan kan het te kleine fietsje omgeruild worden voor een grotere.",
@ -38,7 +39,8 @@
"cs": "\"Bicycle library\" je místo, kde si lze půjčit jízdní kola, často za malý roční poplatek. Významným případem použití jsou \"bicycle libraries\" pro děti, které jim umožňují vyměnit kolo za větší, když ze svého stávajícího kola vyrostou",
"es": "Una biblioteca de bicicletas es un lugar donde se prestan bicicletas, a menudo por una pequeña cuota anual. Un caso de uso notable son las bibliotecas de bicicletas para niños, que les permiten cambiar por una bicicleta más grande cuando les queda pequeña",
"eu": "Bizikletak uzteko lekua da bizikleta-liburutegia, askotan urteko kuota txiki baten truke. Kasu aipagarri bat haurrentzako bizikleta-liburutegiak dira, egungo bizikleta gainditu dutenean bizikleta handiago baterako aldatzeko aukera ematen dietenak",
"pl": "Biblioteka rowerowa to miejsce, w którym można wypożyczyć rowery, często za niewielką opłatą roczną. Godnym uwagi przypadkiem zastosowania są biblioteki rowerowe dla dzieci, które pozwalają im zmienić rower na większy, gdy wyrosną z obecnego roweru"
"pl": "Biblioteka rowerowa to miejsce, w którym można wypożyczyć rowery, często za niewielką opłatą roczną. Godnym uwagi przypadkiem zastosowania są biblioteki rowerowe dla dzieci, które pozwalają im zmienić rower na większy, gdy wyrosną z obecnego roweru",
"zh_Hans": "自行车图书馆是一个可以借用自行车的地方,通常需要支付小额的年度费用。一个显著的使用场景是儿童自行车图书馆,这允许孩子们在长大后更换成更大的自行车"
},
"icon": "./assets/themes/bicyclelib/logo.svg",
"layers": [

View file

@ -15,7 +15,8 @@
"pa_PK": "بائینوکولر",
"cs": "Dalekohledy",
"eu": "Binokularrak",
"pl": "Lornetki"
"pl": "Lornetki",
"zh_Hans": "望远镜"
},
"description": {
"en": "A map with binoculars fixed in place with a pole. It can typically be found on touristic locations, viewpoints, on top of panoramic towers or occasionally on a nature reserve.",
@ -31,7 +32,8 @@
"da": "Et kort over udsigtskikkert fastgjort på en stang. Det kan typisk findes på turistmæssige steder, udsigtspunkter, på toppen af panoramatårne eller lejlighedsvis på et naturreservat.",
"cs": "Mapa s dalekohledem upevněným na místě pomocí tyče. Obvykle se nachází na turistických místech, rozhlednách, vrcholech panoramatických věží nebo příležitostně v přírodních rezervacích.",
"eu": "Zutoin batean prismatiko finkoak dituen mapa. Leku turistikoetan, begiratokietan, dorre panoramikoen gainean edo, batzuetan, erreserba natural batean egoten da.",
"pl": "Mapa z lornetkami zamocowanymi na słupku. Zwykle można je odnaleźć w lokalizacjach turystycznych, punktach widokowych, na szczytach wież panoramicznych lub czasami w rezerwacie przyrody."
"pl": "Mapa z lornetkami zamocowanymi na słupku. Zwykle można je odnaleźć w lokalizacjach turystycznych, punktach widokowych, na szczytach wież panoramicznych lub czasami w rezerwacie przyrody.",
"zh_Hans": "一张显示固定在杆子上的望远镜的地图。这种望远镜通常可以在旅游景点、观景点、全景塔顶部或偶尔在自然保护区找到。"
},
"shortDescription": {
"en": "A map with fixed binoculars",
@ -47,7 +49,8 @@
"da": "Et kort over fastgjorte kikkerter",
"cs": "Mapa s pevnými dalekohledy",
"eu": "Prismatiko finkoak dituen mapa",
"pl": "Mapa ze stałymi lornetkami"
"pl": "Mapa ze stałymi lornetkami",
"zh_Hans": "一张显示固定望远镜的地图"
},
"icon": "./assets/layers/binocular/telescope.svg",
"layers": [

View file

@ -13,7 +13,8 @@
"eu": "OSM itsuentzat",
"it": "OSM per i non vedenti",
"pl": "OSM dla niewidomych",
"da": "OSM for blinde"
"da": "OSM for blinde",
"zh_Hans": "为盲人设计的OSM"
},
"description": {
"en": "Help to map features relevant for the blind",
@ -26,7 +27,8 @@
"es": "Ayuda para cartografiar elementos relevantes para invidentes",
"eu": "Itsuentzako elementu garrantzitsuak kartografiatzeko laguntza",
"it": "Aiuta a mappare le caratteristiche importanti per i non vedenti",
"pl": "Pomóż umieszczać na mapie obiekty ważne dla niewidomych"
"pl": "Pomóż umieszczać na mapie obiekty ważne dla niewidomych",
"zh_Hans": "帮助绘制与盲人相关的设施"
},
"icon": "./assets/themes/blind_osm/Blindicon.svg",
"startZoom": 20,

View file

@ -18,7 +18,8 @@
"cs": "Veřejné knihovničky",
"eu": "Apalategi publikoak",
"pl": "Publiczne regały na książki",
"da": "Bogbytteskabe"
"da": "Bogbytteskabe",
"zh_Hans": "公共书柜"
},
"description": {
"en": "A public bookcase is a small streetside cabinet, box, old phone booth or some other objects where books are stored. Everyone can place or take a book. This map aims to collect all these bookcases.",
@ -35,7 +36,8 @@
"ca": "Una llibreria pública és un xicotet armari al carrer, una caixa, una vella cabina telefònica o algun altre objecte on es guarden llibres. Tothom pot col·locar o agafar un llibre. Aquest mapa pretén recollir totes aquestes llibreries.",
"cs": "Veřejná knihovna je malá pouliční skříňka, krabice, stará telefonní budka nebo jiný předmět, ve kterém jsou uloženy knihy. Kdokoliv do ní může umístit, nebo si z ní vzít knihu. Cílem této mapy je shromáždit všechny tyto knihovny.",
"eu": "Kale-liburutegi publiko bat kale-armairu txiki bat da, kaxa, telefono-kabina zaharra edo liburuak gordetzeko beste objektu batzuk. Guztiek jar edo har dezakete liburu bat. Koaderno horiek guztiak biltzea da mapa honen helburua.",
"pl": "Publiczny regał na książki to mała przyuliczna szafka, pudełko, stara budka telefoniczna lub inne przedmioty, w których przechowywane są książki. Każdy może w nich zostawić lub zabrać książkę. Celem tej mapy jest zebranie wszystkich tych regałów."
"pl": "Publiczny regał na książki to mała przyuliczna szafka, pudełko, stara budka telefoniczna lub inne przedmioty, w których przechowywane są książki. Każdy może w nich zostawić lub zabrać książkę. Celem tej mapy jest zebranie wszystkich tych regałów.",
"zh_Hans": "公共书柜是一个小型街边橱柜、盒子、旧电话亭或其他储存书籍的物品。任何人都可以放置或取走一本书。这张地图旨在收集所有这些书柜。"
},
"icon": "./assets/themes/bookcases/bookcase.svg",
"layers": [

View file

@ -17,7 +17,8 @@
"pa_PK": "کیفے یا پب",
"cs": "Kavárny a hospody",
"eu": "Kafetegiak eta pubak",
"pl": "Kawiarnie i puby"
"pl": "Kawiarnie i puby",
"zh_Hans": "咖啡馆和酒吧"
},
"description": {
"en": "Coffeehouses, pubs and bars",
@ -30,10 +31,11 @@
"nb_NO": "Kneiper og barer",
"pa_PK": "پب (بار)",
"cs": "Kavárny, hospody a bary",
"it": "Pub e bar",
"it": "Caffetterie, pub e bar",
"zh_Hant": "咖啡廳、俱樂部與酒吧",
"eu": "Kafetegiak, pubak eta tabernak",
"pl": "Kawiarnie, puby i bary"
"pl": "Kawiarnie, puby i bary",
"zh_Hans": "咖啡馆、酒吧和酒吧"
},
"icon": "./assets/layers/cafe_pub/pub.svg",
"layers": [

View file

@ -21,7 +21,7 @@
},
"description": {
"en": "This site collects all official camper stopover places and places where you can dump grey and black water. You can add details about the services provided and the cost. Add pictures and reviews.",
"it": "Questo sito raccoglie tutti i luoghi ufficiali dove sostare con il camper e aree dove è possibile scaricare acque grigie e nere. Puoi aggiungere dettagli riguardanti i servizi forniti e il loro costo. Aggiungi foto e recensioni. Questo è al contempo un sito web e una web app. I dati sono memorizzati su OpenStreetMap in modo tale che siano per sempre liberi e riutilizzabili da qualsiasi app.",
"it": "Questo sito raccoglie tutti i luoghi ufficiali dove sostare con il camper e aree dove è possibile scaricare acque grigie e nere. Puoi aggiungere dettagli riguardanti i servizi forniti e il loro costo. Aggiungi foto e recensioni.",
"ru": "На этом сайте собраны все официальные места остановки кемперов и места, где можно сбросить серую и черную воду. Вы можете добавить подробную информацию о предоставляемых услугах и их стоимости. Добавлять фотографии и отзывы. Это веб-сайт и веб-приложение. Данные хранятся в OpenStreetMap, поэтому они будут бесплатными всегда и могут быть повторно использованы любым приложением.",
"ja": "このWebサイトでは、すべてのキャンピングカーの公式停車場所と、汚水を捨てることができる場所を収集します。提供されるサービスとコストに関する詳細を追加できます。写真とレビューを追加します。これはウェブサイトとウェブアプリです。データはOpenStreetMapに保存されるので、永遠に無料で、どんなアプリからでも再利用できます。",
"zh_Hant": "這個網站收集所有官方露營地點,以及那邊能排放廢水。你可以加上詳細的服務項目與價格,加上圖片以及評價。",
@ -34,7 +34,8 @@
"da": "Denne side samler alle officielle camper-stopsteder og steder, hvor du kan dumpe gråt og sort vand. Du kan tilføje detaljer om de leverede tjenester og omkostningerne. Tilføj billeder og anmeldelser. Dette er en hjemmeside og en webapp. Dataene gemmes i OpenStreetMap, så de vil være gratis for evigt og kan genbruges af enhver app.",
"cs": "Na této stránce jsou shromážděna všechna oficiální místa pro zastavení karavanů a místa, kde můžete vypouštět šedou a černou vodu. Můžete přidat podrobnosti o poskytovaných službách a cenách. Přidávejte fotografie a recenze.",
"eu": "Karabanak gelditzeko leku ofizial guztiak eta ur gris eta beltzak botatzeko lekuak biltzen ditu. Emandako zerbitzuei eta kostuari buruzko xehetasunak gehitu ditzakezu. Erantsi argazkiak eta aipamenak.",
"pl": "Na tej stronie zebrano wszystkie oficjalne miejsca postoju kamperów oraz miejsca, w których można wylać zanieczyszczoną wodę. Możesz dodać szczegóły dotyczące świadczonych usług i kosztów. Dodaj zdjęcia i recenzje."
"pl": "Na tej stronie zebrano wszystkie oficjalne miejsca postoju kamperów oraz miejsca, w których można wylać zanieczyszczoną wodę. Możesz dodać szczegóły dotyczące świadczonych usług i kosztów. Dodaj zdjęcia i recenzje.",
"zh_Hans": "该网站汇总了所有官方的露营车停留点以及可以倾倒灰水和黑水的地点。你可以添加有关提供的服务和费用的详细信息,并且可以上传图片和撰写评论。"
},
"shortDescription": {
"en": "Find sites to spend the night with your camper",
@ -83,7 +84,8 @@
"pa_PK": "کیمب‌سائیٹاں",
"cs": "Kempovací místa",
"eu": "Akanpatzeko tokiak",
"pl": "Miejsca kamperowe"
"pl": "Miejsca kamperowe",
"zh_Hans": "露营地"
},
"minzoom": 7,
"source": {
@ -159,7 +161,8 @@
"pa_PK": "کیمب‌سائیٹاں",
"cs": "kempovací místa",
"eu": "Kanpatzeko tokiak",
"pl": "miejsca dla kamperów"
"pl": "miejsca dla kamperów",
"zh_Hans": "露营地"
},
"tagRenderings": [
"images",
@ -226,7 +229,8 @@
"cs": "Účtuje si toto místo poplatek?",
"eu": "Leku horrek kuota bat kobratzen du?",
"pl": "Czy to miejsce pobiera opłatę?",
"pt": "Este lugar cobra alguma taxa?"
"pt": "Este lugar cobra alguma taxa?",
"zh_Hans": "这个地方是否收费?"
},
"mappings": [
{
@ -253,7 +257,8 @@
"cs": "Použití je zpoplatněno",
"eu": "Erabiltzeko ordaindu behar duzu",
"pl": "Wymagana jest opłata, aby skorzystać",
"pt": "Deve pagar para usar"
"pt": "Deve pagar para usar",
"zh_Hans": "需要付费使用"
}
},
{
@ -275,7 +280,8 @@
"ca": "Es pot utilitzar gratuïtament",
"cs": "Lze použít zdarma",
"pl": "Można skorzystać za darmo",
"pt": "Pode ser usado de graça"
"pt": "Pode ser usado de graça",
"zh_Hans": "可免费使用"
},
"addExtraTags": [
"charge="
@ -301,7 +307,8 @@
"cs": "Toto místo si účtuje {charge}",
"eu": "Leku honek {charge} kobratzen du",
"pl": "To miejsce pobiera opłatę w wysokości {charge}",
"pt": "Este lugar cobra {charge}"
"pt": "Este lugar cobra {charge}",
"zh_Hans": "这个地方收费 {charge}"
},
"question": {
"en": "How much does this place charge?",
@ -320,7 +327,8 @@
"cs": "Kolik si toto místo účtuje?",
"eu": "Zenbat kobratzen du leku honek?",
"pl": "Ile kosztuje to miejsce?",
"pt": "Quanto este lugar cobra?"
"pt": "Quanto este lugar cobra?",
"zh_Hans": "这个地方的收费是多少?"
},
"freeform": {
"key": "charge"
@ -422,7 +430,8 @@
"cs": "{capacity} táborníků může toto místo využívat současně",
"eu": "{capacity} kanpinlariek aldi berean erabil dezakete leku hau",
"pl": "{capacity} kamperów może z tego miejsca korzystać jednocześnie",
"pt": "{capacity} campistas podem usar este lugar ao mesmo tempo"
"pt": "{capacity} campistas podem usar este lugar ao mesmo tempo",
"zh_Hans": "{capacity} 名露营者可以同时使用这个地方"
},
"question": {
"en": "How many campers can stay here? (skip if there is no obvious number of spaces or allowed vehicles)",
@ -440,7 +449,8 @@
"cs": "Kolik táborníků zde může zůstat? (přeskočte, pokud není zjevný počet míst nebo povolených vozidel)",
"eu": "Zenbat kanpinlari gera daitezke hemen? (jauzi egin leku edo ibilgailu kopuru nabaririk ez badago)",
"pl": "Ile kamperów może tu przebywać? (pomiń, jeśli nie ma oczywistej liczby miejsc lub dozwolonych pojazdów)",
"pt": "Quantos campistas podem ficar aqui? (pule se não houver um número óbvio de vagas ou veículos permitidos)"
"pt": "Quantos campistas podem ficar aqui? (pule se não houver um número óbvio de vagas ou veículos permitidos)",
"zh_Hans": "这里可以容纳多少辆露营车?(如果没有明显的车位数量或允许的车辆数,请跳过)"
},
"freeform": {
"key": "capacity",
@ -468,7 +478,8 @@
"cs": "Poskytuje toto místo připojení k internetu?",
"eu": "Leku honek Interneterako sarbidea eskaintzen du?",
"pl": "Czy to miejsce oferuje dostęp do internetu?",
"pt": "Este lugar fornece acesso a internet?"
"pt": "Este lugar fornece acesso a internet?",
"zh_Hans": "这里有网络连接吗?"
},
"mappings": [
{
@ -494,7 +505,8 @@
"nb_NO": "Det finnes tilgang til Internett",
"cs": "Připojení k internetu je k dispozici",
"pl": "Jest dostęp do internetu",
"pt": "Há acesso à internet"
"pt": "Há acesso à internet",
"zh_Hans": "这里有网络连接"
}
},
{
@ -521,7 +533,8 @@
"ca": "Hi ha accés a Internet",
"cs": "Připojení k internetu je k dispozici",
"pl": "Jest dostęp do internetu",
"pt": "Há acesso à Internet"
"pt": "Há acesso à Internet",
"zh_Hans": "这里有网络连接"
},
"hideInAnswer": true
},
@ -548,7 +561,8 @@
"ca": "No hi ha accés a Internet",
"cs": "Připojení k internetu není k dispozici",
"pl": "Nie ma dostępu do internetu",
"pt": "Não há acesso à internet"
"pt": "Não há acesso à internet",
"zh_Hans": "这里没有网络连接"
}
}
]
@ -596,7 +610,8 @@
"ca": "Heu de pagar un extra per accedir a Internet",
"cs": "Přístup k internetu je možný za poplatek",
"pl": "Dostęp do internetu jest dodatkowo płatny",
"pt": "Deve pagar um suplemento pelo acesso à internet"
"pt": "Deve pagar um suplemento pelo acesso à internet",
"zh_Hans": "互联网访问需要额外付费"
}
},
{
@ -621,7 +636,8 @@
"ca": "No cal pagar extra per l'accés a Internet",
"cs": "Přístup k internetu je možný bez poplatku",
"pl": "Dostęp do internetu nie jest dodatkowo płatny",
"pt": "Não precisa pagar um suplemento pelo acesso à internet"
"pt": "Não precisa pagar um suplemento pelo acesso à internet",
"zh_Hans": "互联网访问无需额外付费"
}
}
],
@ -788,7 +804,7 @@
"ru": "Да, здесь есть места для долгосрочной аренды, но вы можете остановиться и на сутки",
"ja": "はい、長期レンタルのスポットもあり、日常的に滞在することもできます",
"zh_Hant": "有些地方提供長期租用,但你也可以用天計算費用",
"it": "Sì, ci sono spazi per il noleggio a lungo termine, ma puoi anche pagare per singola giornata",
"it": "Ci sono spazi per il noleggio a lungo termine, ma puoi anche pagare per singola giornata",
"fr": "Il est possible dy passer seulement une nuit",
"pt_BR": "Sim, há alguns pontos para aluguel a longo prazo, mas você também pode ficar em uma base diária",
"de": "Es gibt einige Plätze für Langzeitmieten, aber auch eine tageweise Anmietung ist möglich",
@ -812,7 +828,7 @@
"ru": "Нет, здесь нет постоянных гостей",
"ja": "いいえ、ここには長期滞在者はいません",
"zh_Hant": "這裏沒有永久的客人",
"it": "No, non ci sono ospiti a lungo termine qui",
"it": "Non ci sono ospiti a lungo termine qui",
"fr": "Il ny a pas de résidents permanents",
"pt_BR": "Não, não há hóspedes permanentes aqui",
"de": "Hier gibt es keine Dauergäste",
@ -868,7 +884,8 @@
"ca": "Més detalls sobre aquest lloc: {description}",
"cs": "Další podrobnosti o tomto místě: {description}",
"pl": "Więcej szczegółów o tym miejscu: {description}",
"pt": "Mais pormenores sobre este lugar: {description}"
"pt": "Mais pormenores sobre este lugar: {description}",
"zh_Hans": "关于此地的更多细节:{description}"
},
"question": {
"en": "Would you like to add a general description of this place? (Do not repeat information previously asked or shown above. Please keep it objective - opinions go into the reviews)",
@ -885,7 +902,8 @@
"nb_NO": "Vil du legge til en generell beskrivelse av dette stedet? (Ikke gjenta info det har blitt spurt om eller som vises ovenfor. Hold det objektivt. Meninger henvises til vurderingene.)",
"cs": "Chcete přidat obecný popis tohoto místa? (Neopakujte informace, na které jsme se ptali dříve, nebo které byly uvedeny výše. Zachovejte prosím objektivitu - názory patří do hodnocení)",
"eu": "Gustatuko litzaizuke toki honen deskribapen orokorra gehitzea? (Ez errepikatu aurretik eskatutako edo adierazitako informazioa. Mesedez, eutsi helburuari - berrikuspenetarako iritziak)",
"pl": "Chcesz dodać ogólny opis tego miejsca? (Nie powtarzaj informacji zadanych wcześniej lub pokazanych powyżej. Zachowaj obiektywizm opinie trafiają do recenzji)"
"pl": "Chcesz dodać ogólny opis tego miejsca? (Nie powtarzaj informacji zadanych wcześniej lub pokazanych powyżej. Zachowaj obiektywizm opinie trafiają do recenzji)",
"zh_Hans": "您想添加一个关于此地的一般描述吗?(请勿重复之前询问或显示的信息。请保持客观——意见和评价请在评论中提供)"
},
"freeform": {
"key": "description",
@ -919,7 +937,8 @@
"cs": "kempovací místa",
"eu": "Kanpin bat",
"pl": "miejsce dla kampera",
"pt": "uma local de acampamento"
"pt": "uma local de acampamento",
"zh_Hans": "露营地"
},
"description": {
"en": "Add a new official camper site. These are designated places to stay overnight with your camper. They might look like a real camping or just look like a parking. They might not be signposted at all, but just be defined in a municipal decision. A regular parking intended for campers where it is not expected to spend the night, is -not- a camper site ",
@ -936,7 +955,8 @@
"da": "Tilføj en ny officiel campingplads. Disse er udpegede steder at overnatte med din autocamper. De kan ligne en rigtig campingplads eller bare ligne en parkeringsplads. De er måske slet ikke skiltet, men er blot defineret i en kommunal beslutning. En almindelig parkering beregnet til campister, hvor det ikke forventes at overnatte, er -ikke- en autocamperplads ",
"cs": "Přidejte nové oficiální kempovací místo. Jedná se o místa, určená pro přenocování s karavanem. Mohou vypadat jako skutečný kemp nebo jen jako parkoviště. Takováto místa nemusí být označena, ale stačí, pokud jsou pouze definována v rozhodnutí obce. Běžné parkoviště určené pro táborníky, kde se nepovažuje za kempovací místo. ",
"eu": "Kanpaleku ofizialeko beste leku bat gehitu du. Gaua zure karabanarekin igarotzeko lekuak dira. Benetako kanpin baten edo, besterik gabe, aparkaleku baten itxura izan dezakete. Baliteke ez egotea inola ere seinaleztatuta, baizik eta udal erabaki batean definitzea. Kanpinlarientzako aparkaleku arrunt bat ez da kanpin bat, gaua bertan pasatzea espero ez bada ere. ",
"pl": "Dodaj nowe oficjalne miejsce dla kamperów. Są to wyznaczone miejsca, w których można przenocować w swoim kamperze. Mogą wyglądać jak prawdziwy kemping lub po prostu wyglądać jak parking. Mogą one w ogóle nie być oznakowane, a jedynie określone w decyzji gminy. Zwykły parking przeznaczony dla kamperów, na którym nie przewiduje się nocowania, nie jest miejscem dla kamperów "
"pl": "Dodaj nowe oficjalne miejsce dla kamperów. Są to wyznaczone miejsca, w których można przenocować w swoim kamperze. Mogą wyglądać jak prawdziwy kemping lub po prostu wyglądać jak parking. Mogą one w ogóle nie być oznakowane, a jedynie określone w decyzji gminy. Zwykły parking przeznaczony dla kamperów, na którym nie przewiduje się nocowania, nie jest miejscem dla kamperów ",
"zh_Hans": "添加一个新的官方露营车场地。这些是专门设置的供露营车过夜的地点。它们可能看起来像真正的露营地,也可能只是看起来像一个停车场。它们可能没有任何标识,仅在市政决策中定义。普通的停车场,尽管可能供露营车使用,但不期望在其中过夜的,不算作露营车场地 "
}
}
],

View file

@ -8,7 +8,7 @@
"ja": "登山地図を開く",
"zh_Hant": "攀岩館、俱樂部和場所",
"nb_NO": "Åpent klatrekart",
"it": "Mappa aperta per le arrampicate",
"it": "Palestre, club e luoghi attrezzati per l'arrampicata",
"fr": "Escalade : gymnases, clubs et spots",
"hu": "Mászótérkép",
"ca": "Gimnasos, clubs i llocs d'escalada",
@ -349,7 +349,8 @@
"ca": "Aquesta botiga de reparació de calçat repara sabates d'escalada?",
"cs": "Opravuje tato opravna obuvy horolezecké boty?",
"pl": "Czy ten warsztat szewski naprawia buty wspinaczkowe?",
"da": "Reparerer denne butik klatresko?"
"da": "Reparerer denne butik klatresko?",
"it": "Questo negozio ripara scarpe da arrampicata?"
},
"mappings": [
{
@ -362,7 +363,8 @@
"ca": "Aquesta botiga repara sabates d'escalada",
"cs": "Tento obchod opravuje lezeckou obuv",
"pl": "Ten warsztat naprawia buty wspinaczkowe",
"da": "Denne butik reparerer klatresko"
"da": "Denne butik reparerer klatresko",
"it": "Questo negozio ripara scarpe da arrampicata"
}
},
{
@ -375,7 +377,8 @@
"ca": "Aquesta botiga no repara sabates d'escalada",
"cs": "Tento obchod neopravuje lezeckou obuv",
"pl": "Ten warsztat nie naprawia butów wspinaczkowych",
"da": "Denne butik reparerer ikke klatresko"
"da": "Denne butik reparerer ikke klatresko",
"it": "Questo negozio non ripara scarpe da arrampicata"
}
}
]
@ -408,7 +411,8 @@
"ca": "Aquesta botiga de reparació de calçat també repara sabates d'escalada?",
"cs": "Opravuje tato opravna obuvy také lezeckou obuv?",
"pl": "Czy ten warsztat obuwniczy naprawia również buty wspinaczkowe?",
"da": "Reparerer denne skomager klatresko?"
"da": "Reparerer denne skomager klatresko?",
"it": "Questo negozio ripara scarpe da arrampicata?"
},
"mappings": [
{
@ -421,7 +425,8 @@
"ca": "Aquesta botiga repara sabates d'escalada",
"cs": "Tento obchod opravuje lezeckou obuv",
"pl": "Ten warsztat naprawia buty wspinaczkowe",
"da": "Denne butik reparerer klatresko"
"da": "Denne butik reparerer klatresko",
"it": "Questo negozio ripara scarpe da arrampicata"
}
},
{
@ -434,7 +439,8 @@
"ca": "Aquesta botiga no repara sabates d'escalada",
"cs": "Tento obchod neopravuje lezeckou obuv",
"pl": "Ten warsztat nie naprawia butów wspinaczkowych",
"da": "Denne butik reparerer ikke klatresko"
"da": "Denne butik reparerer ikke klatresko",
"it": "Questo negozio non ripara scarpe da arrampicata"
}
}
]
@ -453,7 +459,8 @@
"ca": "una botiga de reparació de calçat",
"cs": "opravna bot",
"pl": "warsztat szewski",
"da": "en skomager"
"da": "en skomager",
"it": "un calzolaio"
}
}
]

View file

@ -10,7 +10,8 @@
"fr": "Horloges",
"eu": "Erlojuak",
"pl": "Zegary",
"da": "Ure"
"da": "Ure",
"it": "Orologi"
},
"description": {
"en": "Map showing all public clocks",
@ -21,7 +22,8 @@
"cs": "Mapa zobrazující veřejné hodiny",
"fr": "Carte affichant toutes les horloges publiques",
"pl": "Mapa pokazująca wszystkie zegary publiczne",
"da": "Kort over alle ure i det offentlige rum"
"da": "Kort over alle ure i det offentlige rum",
"it": "Mappa di tutti gli orologi pubblici"
},
"icon": "./assets/layers/clock/clock.svg",
"layers": [

View file

@ -468,7 +468,8 @@
"ca": "Aquest carrer és una pista ciclable",
"cs": "Tato ulice je cyklistickou silnicí",
"es": "Esta calle tiene ciclovías",
"pl": "To jest droga dla rowerów"
"pl": "To jest droga dla rowerów",
"it": "Questa strada è una strada per biciclette"
},
"hideInAnswer": true
},
@ -491,7 +492,8 @@
"ca": "Aquest carrer és una carretera ciclista (té un límit de velocitat de 30km/h i els vehicles no estan permesos)(el senyal es preguntarà més tard)",
"cs": "Tato ulice je cyklistická (rychlost je zde omezena na 30 km/h vozidla sem mají zákaz vjezdu) (na značku se zeptáme později)",
"es": "Esta calle es una vía ciclista (tiene un límite de velocidad de 30 km/h y no se permiten vehículos) (se pedirá señal más adelante)",
"pl": "Ulica ta jest drogą rowerową (ograniczona prędkość wynosi 30 km/h i nie wolno wjeżdżać pojazdom) (znak zostanie poproszony później)"
"pl": "Ulica ta jest drogą rowerową (ograniczona prędkość wynosi 30 km/h i nie wolno wjeżdżać pojazdom) (znak zostanie poproszony później)",
"it": "Questa strada è una strada per biciclette (ha un limite di velocità di 30 km/h e i veicoli non sono ammessi)(il segnale verrà richiesto più tardi)"
},
"hideInAnswer": "_country!=de"
},
@ -625,7 +627,8 @@
"es": "Residentes autorizados",
"cs": "Přístup povolen obyvatelům",
"pl": "Mieszkańcy dopuszczeni",
"da": "Beboere tilladt"
"da": "Beboere tilladt",
"it": "Permesso l'accesso ai residenti"
},
"icon": {
"path": "./assets/themes/cyclestreets/Zeichen_244_1020-30.svg",
@ -649,7 +652,8 @@
"ca": "Vehicles a motor permesos",
"es": "Vehículos a motor permitidos",
"pl": "Pojazdy silnikowe dozwolone",
"da": "Motorkøretøjer tilladt"
"da": "Motorkøretøjer tilladt",
"it": "Permesso l'accesso ai veicoli a motore"
},
"icon": {
"path": "./assets/themes/cyclestreets/Zeichen_244_KFZ_frei.svg",
@ -674,7 +678,8 @@
"ca": "Motos permeses",
"es": "Motocicletas permitidas",
"pl": "Motocykle dozwolone",
"da": "Motorcykler tilladt"
"da": "Motorcykler tilladt",
"it": "Permesso l'accesso ai motocicli"
},
"icon": {
"path": "./assets/themes/cyclestreets/Zeichen_244_1022-12.svg",
@ -700,7 +705,8 @@
"ca": "Cotxes permesos",
"es": "Coches permitidos",
"pl": "Samochody dozwolone",
"da": "Biler tilladt"
"da": "Biler tilladt",
"it": "Permesso l'accesso alle auto"
},
"icon": {
"path": "./assets/themes/cyclestreets/Zeichen_244_1024-10.svg",

View file

@ -9,7 +9,7 @@
"ru": "Cyclofix - открытая карта для велосипедистов",
"ja": "Cyclofix - サイクリストのためのオープンマップ",
"zh_Hant": "單車修正—單車騎士的地圖",
"it": "Cyclofix - una mappa libera per chi va in bici",
"it": "Cyclofix - una mappa per chi va in bici",
"nb_NO": "Cyclofix — et åpent kart for syklister",
"hu": "Cyclofix nyílt térkép kerékpárosoknak",
"es": "Cyclofix - un mapa para ciclistas",

View file

@ -13,7 +13,8 @@
"es": "Educación",
"eu": "Hezkuntza",
"pl": "Edukacja",
"zh_Hant": "教育"
"zh_Hant": "教育",
"it": "Istruzione"
},
"description": {
"en": "On this map, you'll find information about all types of schools and education and can easily add more information",
@ -24,7 +25,8 @@
"da": "På dette kort finder du information om alle typer skoler og uddannelse og kan nemt tilføje flere oplysninger",
"cs": "Na této mapě najdete informace o všech typech škol a vzdělávání a můžete snadno přidat další informace",
"es": "En este mapa, encontrará información sobre todos los tipos de escuelas y centros de educación y puede añadir fácilmente más información",
"pl": "Na tej mapie znajdziesz informacje o wszystkich typach szkół i edukacji, a także możesz łatwo dodać więcej informacji"
"pl": "Na tej mapie znajdziesz informacje o wszystkich typach szkół i edukacji, a także możesz łatwo dodać więcej informacji",
"it": "In questa mappa troverai informazioni su tutti i tipi di scuole e istituti di istruzione e puoi aggiungere facilmente ulteriori informazioni"
},
"icon": "./assets/layers/school/college.svg",
"layers": [

View file

@ -13,7 +13,7 @@
"da": "Etymology - hvad er et sted opkaldt efter?",
"nb_NO": "Åpent etymologikart",
"cs": "Etymologie - podle čeho se ulice jmenuje?",
"es": "Etimología - a qué se debe el nombre de una calle?",
"es": "Etimología: ¿De qué recibe el nombre un lugar?",
"pl": "Etymologia - od czego pochodzi nazwa ulicy?"
},
"description": {

View file

@ -26,7 +26,8 @@
"da": "Restauranter og fastfood",
"ca": "Restaurants i menjar ràpid",
"cs": "Restaurace a rychlého občerstvení",
"pl": "Restauracje i fast foody"
"pl": "Restauracje i fast foody",
"it": "Ristoranti e fast food"
},
"icon": "./assets/layers/food/restaurant.svg",
"layers": [

View file

@ -45,18 +45,21 @@
"id": "historic",
"question": {
"en": "Is this a ghost sign?",
"de": "Ist das ein Geisterzeichen?"
"de": "Ist das ein Geisterzeichen?",
"es": "¿Es esto una señal fantasma?"
},
"questionHint": {
"en": "Is this sign for a business that no longer exists or no longer being maintained?",
"de": "Ist dieses Schild für ein Geschäft, das nicht mehr existiert oder nicht mehr gepflegt wird?"
"de": "Ist dieses Schild für ein Geschäft, das nicht mehr existiert oder nicht mehr gepflegt wird?",
"es": "¿Este cartel es para una empresa que ya no existe o que ya no recibe mantenimiento?"
},
"mappings": [
{
"if": "historic=advertising",
"then": {
"en": "This is a ghost sign",
"de": "Das ist ein Geisterzeichen"
"de": "Das ist ein Geisterzeichen",
"es": "Esta es una señal fantasma"
},
"alsoShowIf": "historic=yes"
},
@ -64,7 +67,8 @@
"if": "historic=",
"then": {
"en": "This is not a ghost sign, answering this will hide the sign from the map",
"de": "Dies ist kein Geisterzeichen, die Antwort darauf wird das Schild von der Karte verstecken"
"de": "Dies ist kein Geisterzeichen, die Antwort darauf wird das Schild von der Karte verstecken",
"es": "Esta no es una señal fantasma, al responder esto se ocultará la señal del mapa"
}
}
]
@ -81,19 +85,22 @@
"id": "inscription",
"question": {
"en": "What is the text on the sign?",
"de": "Was ist der Text auf dem Schild?"
"de": "Was ist der Text auf dem Schild?",
"es": "¿Cuál es el texto del cartel?"
},
"freeform": {
"key": "inscription",
"type": "string",
"placeholder": {
"en": "Text on the sign",
"de": "Text auf dem Schild"
"de": "Text auf dem Schild",
"es": "Texto en el cartel"
}
},
"render": {
"en": "The text on the sign is: {inscription}",
"de": "Der Text auf dem Schild ist: {inscription}"
"de": "Der Text auf dem Schild ist: {inscription}",
"es": "El texto del cartel es: {inscription}"
}
},
{
@ -109,7 +116,8 @@
"placeholder": {
"en": "Business name",
"de": "Unternehmensname",
"es": "Nombre comercial"
"es": "Nombre comercial",
"it": "Nome dell'attività"
}
},
"render": {

View file

@ -1,16 +1,24 @@
{
"id": "glutenfree",
"title": {
"en": "Glutenfree"
"en": "Glutenfree",
"de": "Glutenfrei",
"it": "Senza glutine"
},
"description": {
"en": "A crowdsourced map with glutenfree items"
"en": "A crowdsourced map with glutenfree items",
"de": "Eine gemeinschaftliche Karte mit glutenfreien Produkten",
"it": "Una mappa in crowdsourcing per articoli senza glutine"
},
"icon": "./assets/layers/questions/glutenfree.svg",
"layers": [
{
"builtin": "food",
"hideTagRenderingsWithLabels": ["gluten_free","images","reviews"],
"hideTagRenderingsWithLabels": [
"gluten_free",
"images",
"reviews"
],
"override": {
"source": {
"osmTags": {
@ -27,11 +35,14 @@
},
{
"builtin": "food",
"hideTagRenderingsWithLabels": ["gluten_free","images","reviews"],
"hideTagRenderingsWithLabels": [
"gluten_free",
"images",
"reviews"
],
"override": {
"name": null,
"minzoom": 17,
"isCounted": false,
"filter": {
"sameAs": "food_glutenfree"
@ -40,7 +51,11 @@
},
{
"builtin": "ice_cream",
"hideTagRenderingsWithLabels": ["gluten_free","images","reviews"],
"hideTagRenderingsWithLabels": [
"gluten_free",
"images",
"reviews"
],
"override": {
"source": {
"osmTags": {
@ -57,7 +72,11 @@
},
{
"builtin": "ice_cream",
"hideTagRenderingsWithLabels": ["gluten_free","images","reviews"],
"hideTagRenderingsWithLabels": [
"gluten_free",
"images",
"reviews"
],
"override": {
"name": null,
"minzoom": 17,
@ -69,7 +88,11 @@
},
{
"builtin": "shops",
"hideTagRenderingsWithLabels": ["gluten_free","images","reviews"],
"hideTagRenderingsWithLabels": [
"gluten_free",
"images",
"reviews"
],
"override": {
"source": {
"osmTags": {
@ -86,7 +109,11 @@
},
{
"builtin": "shops",
"hideTagRenderingsWithLabels": ["gluten_free","images","reviews"],
"hideTagRenderingsWithLabels": [
"gluten_free",
"images",
"reviews"
],
"override": {
"name": null,
"minzoom": 17,

View file

@ -3,7 +3,7 @@
"title": {
"en": "Hackerspaces and makerspaces",
"de": "Hackerspaces und Makerspaces",
"it": "Hackerspace",
"it": "Hackerspace e makerspace",
"ru": "Хакерспейсы",
"zh_Hant": "駭客空間與創客空間",
"hu": "Hackerspace-ek",

View file

@ -14,7 +14,8 @@
"es": "Atención sanitaria",
"eu": "Osasun laguntza",
"pl": "Służba zdrowia",
"zh_Hant": "醫療保健"
"zh_Hant": "醫療保健",
"it": "Assistenza sanitaria"
},
"description": {
"en": "On this map, various healthcare related items are shown",
@ -25,7 +26,8 @@
"nl": "Op deze kaart vind je dokters, apothekers, kinesisten, ziekenhuizen en andere gezondheidsgerelateerde diensten",
"cs": "Na této mapě jsou zobrazeny různé položky související se zdravotní péčí",
"es": "En este mapa se muestran varios elementos relacionados con la salud",
"pl": "Na tej mapie pokazane są różne elementy związane z opieką zdrowotną"
"pl": "Na tej mapie pokazane są różne elementy związane z opieką zdrowotną",
"it": "Su questa mappa sono indicati vari elementi relativi all'assistenza sanitaria"
},
"icon": "./assets/layers/doctors/doctors.svg",
"startZoom": 16,
@ -57,7 +59,8 @@
"ca": "una botiga de subministraments mèdics",
"nl": "een winkel voor medische hulpmiddelen",
"fr": "un commerce d'équipements médicaux",
"pl": "sklep z artykułami medycznymi"
"pl": "sklep z artykułami medycznymi",
"it": "un negozio di forniture mediche"
},
"tags": [
"shop=medical_supply"
@ -72,7 +75,8 @@
"ca": "una botiga d'audiòfons",
"nl": "een hoorapparatenwinkel",
"fr": "un magasin d'appareils auditifs",
"pl": "sklep z aparatami słuchowymi"
"pl": "sklep z aparatami słuchowymi",
"it": "un negozio di apparecchi acustici"
},
"tags": [
"shop=hearing_aids"
@ -88,7 +92,8 @@
"fr": "un opticien",
"nl": "een optieker",
"pl": "optyk",
"zh_Hant": "配鏡師"
"zh_Hant": "配鏡師",
"it": "un ottico"
},
"tags": [
"shop=optician"

View file

@ -13,7 +13,8 @@
"es": "Hoteles",
"eu": "Hotelak",
"pl": "Hotele",
"zh_Hant": "飯店"
"zh_Hant": "飯店",
"it": "Hotel"
},
"description": {
"en": "On this map, you'll find hotels in your area",
@ -25,7 +26,8 @@
"cs": "Na této mapě najdete hotely ve vašem okolí",
"es": "En este mapa encontrarás hoteles en tu zona",
"ca": "En aquest mapa trobareu hotels a la vostra zona",
"pl": "Na tej mapie znajdziesz hotele w Twojej okolicy"
"pl": "Na tej mapie znajdziesz hotele w Twojej okolicy",
"it": "Su questa mappa, troverai gli hotel della tua zona"
},
"icon": "./assets/layers/hotel/hotel.svg",
"startZoom": 13,

View file

@ -6,14 +6,16 @@
"cs": "Zmrzlina",
"ca": "Gelat",
"es": "Helado",
"da": "Is"
"da": "Is",
"it": "Gelato"
},
"description": {
"en": "A map showing ice cream parlors and ice cream vending machines",
"de": "Eine Karte, die Eisdielen und Eisautomaten zeigt",
"cs": "Mapa zobrazující prodej zmrzliny a automaty na zmrzlinu",
"ca": "Un mapa que mostra les gelateries i les màquines expenedores de gelats",
"es": "Mapa de heladerías y máquinas expendedoras de helados"
"es": "Mapa de heladerías y máquinas expendedoras de helados",
"it": "Una mappa che mostra le gelaterie e i distributori automatici di gelato"
},
"icon": "./assets/layers/ice_cream/ice_cream.svg",
"layers": [

View file

@ -13,7 +13,8 @@
"es": "En interiores",
"eu": "Barnealdean",
"pl": "Wewnątrz",
"zh_Hant": "室內"
"zh_Hant": "室內",
"it": "Al chiuso"
},
"description": {
"en": "On this map, publicly accessible indoor places are shown",
@ -25,7 +26,8 @@
"nb_NO": "Viser offentlig tilgjenglige innendørssteder",
"es": "En este mapa se muestran los lugares cubiertos de acceso público",
"ca": "En aquest mapa es mostren els llocs interiors accessibles al públic",
"pl": "Na tej mapie pokazane są publicznie dostępne miejsca w pomieszczeniach zamkniętych"
"pl": "Na tej mapie pokazane są publicznie dostępne miejsca w pomieszczeniach zamkniętych",
"it": "Su questa mappa sono indicati i luoghi al chiuso accessibili al pubblico"
},
"icon": "./assets/layers/entrance/entrance.svg",
"startZoom": 14,

View file

@ -59,7 +59,8 @@
"es": "un cruce",
"eu": "bidegurutze bat",
"cs": "křížení",
"pl": "przejście"
"pl": "przejście",
"it": "un incrocio"
},
"tags": [
"highway=crossing"
@ -73,7 +74,8 @@
"es": "Cruce para peatones y/o ciclistas",
"ca": "Creuament per vianants i/o ciclistes",
"pl": "Przejście dla pieszych i/lub przejazd dla rowerów",
"cs": "Přechod pro chodce a/nebo cyklisty"
"cs": "Přechod pro chodce a/nebo cyklisty",
"it": "Attraversamenti per pedoni e/o ciclisti"
},
"snapToLayer": [
"cycleways_and_roads"

View file

@ -10,7 +10,11 @@
"layers": [
{
"builtin": "food",
"hideTagRenderingsWithLabels": ["lactose_free","images","reviews"],
"hideTagRenderingsWithLabels": [
"lactose_free",
"images",
"reviews"
],
"override": {
"source": {
"osmTags": {
@ -27,11 +31,14 @@
},
{
"builtin": "food",
"hideTagRenderingsWithLabels": ["lactose_free","images","reviews"],
"hideTagRenderingsWithLabels": [
"lactose_free",
"images",
"reviews"
],
"override": {
"name": null,
"minzoom": 17,
"isCounted": false,
"filter": {
"sameAs": "food_lactosefree"
@ -40,7 +47,11 @@
},
{
"builtin": "ice_cream",
"hideTagRenderingsWithLabels": ["lactose_free","images","reviews"],
"hideTagRenderingsWithLabels": [
"lactose_free",
"images",
"reviews"
],
"override": {
"source": {
"osmTags": {
@ -57,7 +68,11 @@
},
{
"builtin": "ice_cream",
"hideTagRenderingsWithLabels": ["lactose_free","images","reviews"],
"hideTagRenderingsWithLabels": [
"lactose_free",
"images",
"reviews"
],
"override": {
"name": null,
"minzoom": 17,
@ -69,7 +84,11 @@
},
{
"builtin": "shops",
"hideTagRenderingsWithLabels": ["lactose_free","images","reviews"],
"hideTagRenderingsWithLabels": [
"lactose_free",
"images",
"reviews"
],
"override": {
"source": {
"osmTags": {
@ -86,7 +105,11 @@
},
{
"builtin": "shops",
"hideTagRenderingsWithLabels": ["lactose_free","images","reviews"],
"hideTagRenderingsWithLabels": [
"lactose_free",
"images",
"reviews"
],
"override": {
"name": null,
"minzoom": 17,

View file

@ -3,11 +3,13 @@
"title": {
"en": "Lighthouses",
"de": "Leuchttürme",
"da": "Fyrtårne"
"da": "Fyrtårne",
"it": "Fari"
},
"description": {
"en": "Lighthouses are tall buildings with a light on top to guide marine traffic.",
"de": "Leuchttürme sind hohe Gebäude mit einem Licht an der Spitze, das den Schiffsverkehr leitet."
"de": "Leuchttürme sind hohe Gebäude mit einem Licht an der Spitze, das den Schiffsverkehr leitet.",
"it": "I fari sono edifici alti con una luce in cima per guidare il traffico marittimo."
},
"icon": "./assets/themes/lighthouses/lighthouse.svg",
"startZoom": 0,

View file

@ -1,13 +1,17 @@
{
"id": "mapcomplete-changes",
"title": {
"en": "Changes made with MapComplete"
"en": "Changes made with MapComplete",
"de": "Änderungen mit MapComplete vorgenommen"
},
"shortDescription": {
"en": "Shows changes made by MapComplete"
"en": "Shows changes made by MapComplete",
"de": "Zeigt Änderungen, die mit MapComplete vorgenommen wurden"
},
"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",
"it": "Questa mappa mostra tutte le modifiche fatte con MapComplete"
},
"icon": "./assets/svg/logo.svg",
"hideFromOverview": true,
@ -18,7 +22,8 @@
{
"id": "mapcomplete-changes",
"name": {
"en": "Changeset centers"
"en": "Changeset centers",
"de": "Änderungssatz zentriert"
},
"minzoom": 0,
"source": {
@ -28,41 +33,49 @@
},
"title": {
"render": {
"en": "Changeset for {theme}"
"en": "Changeset for {theme}",
"de": "Änderungssatz für {theme}"
}
},
"description": {
"en": "Shows all MapComplete changes"
"en": "Shows all MapComplete changes",
"de": "Zeigt alle MapComplete Änderungen",
"it": "Mostra tutte le modifiche fatte con MapComplete"
},
"tagRenderings": [
{
"id": "show_changeset_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>"
}
},
{
"id": "contributor",
"question": {
"en": "What contributor did make this change?"
"en": "What contributor did make this change?",
"de": "Welcher Mitwirkende hat diese Änderung vorgenommen?"
},
"freeform": {
"key": "user"
},
"render": {
"en": "Change made by <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>"
"en": "Change made by <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>",
"de": "Änderung vorgenommen von <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>"
}
},
{
"id": "theme-id",
"question": {
"en": "What theme was used to make this change?"
"en": "What theme was used to make this change?",
"de": "Welches Thema wurde für diese Änderung verwendet?"
},
"freeform": {
"key": "theme"
},
"render": {
"en": "Change with theme <a href='https://mapcomplete.org/{theme}'>{theme}</a>"
"en": "Change with theme <a href='https://mapcomplete.org/{theme}'>{theme}</a>",
"de": "Änderung mit Thema <a href='https://mapcomplete.org/{theme}'>{theme}</a>"
}
},
{
@ -71,19 +84,23 @@
"key": "locale"
},
"question": {
"en": "What locale (language) was this change made in?"
"en": "What locale (language) was this change made in?",
"de": "In welcher Sprache wurde diese Änderung vorgenommen?"
},
"render": {
"en": "User locale is {locale}"
"en": "User locale is {locale}",
"de": "Benutzersprache ist {locale}"
}
},
{
"id": "host",
"render": {
"en": "Change with with <a href='{host}'>{host}</a>"
"en": "Change with with <a href='{host}'>{host}</a>",
"de": "Änderung mit <a href='{host}'>{host}</a>"
},
"question": {
"en": "What host (website) was this change made with?"
"en": "What host (website) was this change made with?",
"de": "Mit welchem Host (Website) wurde diese Änderung vorgenommen?"
},
"freeform": {
"key": "host"
@ -104,10 +121,12 @@
{
"id": "version",
"question": {
"en": "What version of MapComplete was used to make this change?"
"en": "What version of MapComplete was used to make this change?",
"de": "Welche Version von MapComplete wurde für diese Änderung verwendet?"
},
"render": {
"en": "Made with {editor}"
"en": "Made with {editor}",
"de": "Erstellt mit {editor}"
},
"freeform": {
"key": "editor"
@ -509,7 +528,9 @@
}
],
"question": {
"en": "Themename contains {search}"
"en": "Themename contains {search}",
"de": "Themenname enthält {search}",
"it": "Il nome del tema contiene {search}"
}
}
]
@ -525,7 +546,9 @@
}
],
"question": {
"en": "Themename does <b>not</b> contain {search}"
"en": "Themename does <b>not</b> contain {search}",
"de": "Themenname enthält <b>nicht</b> {search}",
"it": "Il nome del tema <b>not</b> contiene {search}"
}
}
]
@ -541,7 +564,8 @@
}
],
"question": {
"en": "Made by contributor {search}"
"en": "Made by contributor {search}",
"de": "Erstellt von Mitwirkendem {search}"
}
}
]
@ -557,7 +581,8 @@
}
],
"question": {
"en": "<b>Not</b> made by contributor {search}"
"en": "<b>Not</b> made by contributor {search}",
"de": "<b>Nicht</b> erstellt von Mitwirkendem {search}"
}
}
]
@ -574,7 +599,8 @@
}
],
"question": {
"en": "Made before {search}"
"en": "Made before {search}",
"de": "Erstellt vor {search}"
}
}
]
@ -591,7 +617,8 @@
}
],
"question": {
"en": "Made after {search}"
"en": "Made after {search}",
"de": "Erstellt nach {search}"
}
}
]
@ -607,7 +634,8 @@
}
],
"question": {
"en": "User language (iso-code) {search}"
"en": "User language (iso-code) {search}",
"de": "Benutzersprache (ISO-Code) {search}"
}
}
]
@ -623,7 +651,8 @@
}
],
"question": {
"en": "Made with host {search}"
"en": "Made with host {search}",
"de": "Erstellt mit Host {search}"
}
}
]
@ -634,7 +663,8 @@
{
"osmTags": "add-image>0",
"question": {
"en": "Changeset added at least one image"
"en": "Changeset added at least one image",
"de": "Änderungssatz fügte mindestens ein Bild hinzu"
}
}
]
@ -645,7 +675,8 @@
{
"osmTags": "theme!=grb",
"question": {
"en": "Exclude GRB theme"
"en": "Exclude GRB theme",
"de": "GRB-Thema ausschließen"
}
}
]
@ -656,7 +687,8 @@
{
"osmTags": "theme!=etymology",
"question": {
"en": "Exclude etymology theme"
"en": "Exclude etymology theme",
"de": "Etymologie-Thema ausschließen"
}
}
]
@ -671,7 +703,8 @@
{
"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 findest du <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a>"
}
},
{

View file

@ -23,7 +23,8 @@
"cs": "Na této mapě najdete zajímavé informace pro turisty a milovníky přírody.",
"ca": "En aquest mapa es pot trobar informació interessant per a turistes i amants de la natura.",
"zh_Hant": "在這份地圖,你可以找到觀光客與自然愛好者感興趣的資訊...",
"pl": "Na tej mapie można znaleźć ciekawe informacje dla turystów i miłośników przyrody."
"pl": "Na tej mapie można znaleźć ciekawe informacje dla turystów i miłośników przyrody.",
"it": "Su questa mappa si possono trovare informazioni interessanti per turisti e amanti della natura."
},
"shortDescription": {
"en": "A map for nature lovers, with interesting POI's",
@ -35,7 +36,8 @@
"cs": "Mapa pro milovníky přírody se zajímavými body zájmu",
"ca": "Un mapa per als amants de la natura, amb PDI interessants",
"zh_Hant": "為了自然愛好者,以及有趣的興趣點的地圖",
"pl": "Mapa dla miłośników przyrody z ciekawymi punktami POI"
"pl": "Mapa dla miłośników przyrody z ciekawymi punktami POI",
"it": "Una mappa per amanti della natura con interessanti POI"
},
"icon": "./assets/themes/nature/logo.svg",
"startZoom": 12,

View file

@ -22,7 +22,8 @@
"cs": "Na této mapě jsou zobrazena veřejně přístupná místa pro vozíčkáře, a lze je také snadno přidat",
"es": "En este mapa se muestran los lugares accesibles al público en silla de ruedas, que pueden añadirse fácilmente",
"ca": "En aquest mapa, es mostren llocs públics accessibles per a cadira de rodes i es poden afegir fàcilment",
"pl": "Na tej mapie pokazane są miejsca publicznie dostępne dla wózków inwalidzkich, które można łatwo dodać"
"pl": "Na tej mapie pokazane są miejsca publicznie dostępne dla wózków inwalidzkich, które można łatwo dodać",
"it": "Su questa mappa sono indicati i luoghi pubblici accessibili con sedia a rotelle e possono essere facilmente aggiunti"
},
"icon": "./assets/themes/onwheels/crest.svg",
"startZoom": 17,
@ -280,7 +281,8 @@
"es": "Plazas de aparcamiento para discapacitados",
"ca": "Places d'aparcament per a minusvàlids",
"pl": "Miejsca parkingowe dla niepełnosprawnych",
"da": "Handikapparkeringspladser"
"da": "Handikapparkeringspladser",
"it": "Parcheggi per disabili"
}
},
"hideTagRenderingsWithLabels": [
@ -484,7 +486,8 @@
"es": "Estadísticas",
"eu": "Estatistika",
"pl": "Statystyki",
"zh_Hant": "統計數據"
"zh_Hant": "統計數據",
"it": "Statistiche"
}
},
"tagRenderings+": [

View file

@ -4,7 +4,7 @@
"en": "Wind power generators",
"fr": "Générateurs d'énergie éolienne",
"de": "Windkraftanlagen",
"it": "OpenWindPowerMap",
"it": "Generatori di energia eolica",
"ru": "Открытая карта ветроэнергетики",
"zh_Hant": "風力發電機",
"id": "OpenWindPowerMap",

View file

@ -10,7 +10,8 @@
"es": "Veterinarios, parques para perros y otros servicios para mascotas",
"cs": "Veterináři, psí parky a další služby pro domácí zvířata",
"zh_Hant": "獸醫院、寵物公園以及其他寵物設施",
"pl": "Kliniki weterynaryjne, parki dla psów i inne obiekty dla zwierząt"
"pl": "Kliniki weterynaryjne, parki dla psów i inne obiekty dla zwierząt",
"it": "Veterinari, parchi accessibili ai cani e altri servizi per animali domestici"
},
"description": {
"en": "On this map, you'll find various interesting places for you pets: veterinarians, dog parks, pet shops, dog-friendly restaurants, ...",
@ -47,7 +48,8 @@
"es": "Restaurantes que admiten perros",
"cs": "Restaurace vhodné pro vstup se psy",
"zh_Hant": "寵物友善餐廳",
"pl": "Restauracje przyjazne psom"
"pl": "Restauracje przyjazne psom",
"it": "Ristoranti che accettano i cani"
},
"pointRendering": [
{
@ -102,7 +104,8 @@
"es": "Tiendas aptas para perros",
"cs": "Obchody vhodné pro vstup se psy",
"zh_Hant": "寵物友善商家",
"pl": "Sklepy przyjazne psom"
"pl": "Sklepy przyjazne psom",
"it": "Negozi che accettano i cani"
},
"title": {
"render": {
@ -117,7 +120,8 @@
"es": "Tiendas aptas para perros",
"cs": "Obchody vhodné pro vstup se psy",
"zh_Hant": "寵物友善商家",
"pl": "Sklepy przyjazne psom"
"pl": "Sklepy przyjazne psom",
"it": "Negozi che accettano i cani"
},
"mappings": [
{

View file

@ -31,7 +31,8 @@
"pa_PK": "ڈاک کوڈ",
"cs": "Poštovní směrovací čísla",
"zh_Hant": "郵遞區號",
"pl": "Kody pocztowe"
"pl": "Kody pocztowe",
"it": "Codici postali"
},
"shortDescription": {
"en": "Postal codes",
@ -69,7 +70,8 @@
"pa_PK": "ڈاک کوڈ",
"cs": "poštovní směrovací čísla",
"zh_Hant": "郵遞區號",
"pl": "kody pocztowe"
"pl": "kody pocztowe",
"it": "codici postali"
},
"minzoom": 8,
"title": {
@ -86,7 +88,8 @@
"ca": "Codi postal {postal_code}",
"cs": "Poštovní směrovací číslo {postal_code}",
"zh_Hant": "郵遞區號 {postal_code}",
"pl": "Kod pocztowy {postal_code}"
"pl": "Kod pocztowy {postal_code}",
"it": "Codice postale {postal_code}"
}
},
"description": {},
@ -106,7 +109,8 @@
"ca": "El codi postal és {postal_code}",
"cs": "Poštovní směrovací číslo je {postal_code}",
"zh_Hant": "郵遞區號是 {postal_code}",
"pl": "Kod pocztowy to {postal_code}"
"pl": "Kod pocztowy to {postal_code}",
"it": "Ilcodice postale è {postal_code}"
}
}
],
@ -176,7 +180,8 @@
"es": "Municipios",
"cs": "radnice",
"zh_Hant": "城鎮",
"pl": "ratusz"
"pl": "ratusz",
"it": "municipi"
},
"minzoom": 12,
"title": {
@ -193,7 +198,8 @@
"es": "Municipio {name}",
"cs": "Radnice {name}",
"zh_Hant": "城鎮 {name}",
"pl": "Ratusz {name}"
"pl": "Ratusz {name}",
"it": "Municipio {name}"
}
},
"calculatedTags": [

View file

@ -7,7 +7,7 @@
"zh_Hant": "商店",
"ru": "Открытая карта магазинов",
"de": "Geschäfte",
"it": "Mappa dei negozi",
"it": "Negozi",
"nb_NO": "Kart over åpne butikker",
"hu": "Bolttérkép",
"nl": "Winkels",

View file

@ -30,7 +30,8 @@
"pa_PK": "آزمائش تھیم",
"cs": "Experimentální téma",
"zh_Hant": "實驗性的主題",
"pl": "Temat eksperymentalny"
"pl": "Temat eksperymentalny",
"it": "Tema sperimentale"
},
"shortDescription": {
"en": "Sidewalk mapping",

View file

@ -11,7 +11,8 @@
"cs": "Sport",
"zh_Hant": "運動",
"eu": "Kirolak",
"pl": "Sporty"
"pl": "Sporty",
"it": "Sport"
},
"description": {
"en": "All about sports, find sport pitches, fitness centres and more.",
@ -21,7 +22,8 @@
"es": "Todo sobre deportes, encuentra campos de deporte, gimnasios y mucho más.",
"cs": "Vše o sportu, sportovní hřiště, fitness centra a další.",
"fr": "Tout sur les sports, trouver les terrains de sport, les salles de sport et plus encore.",
"pl": "Wszystko o sporcie, znajdź boiska sportowe, centra fitness i nie tylko."
"pl": "Wszystko o sporcie, znajdź boiska sportowe, centra fitness i nie tylko.",
"it": "Tutto sullo sport, trova campi sportivi, centri fitness e molto altro."
},
"shortDescription": {
"en": "Map showing sport facilities.",
@ -32,7 +34,8 @@
"es": "Mapa con instalaciones deportivas.",
"cs": "Mapa se sportovními zařízeními.",
"zh_Hant": "顯示運動設施的地圖。",
"pl": "Mapa pokazująca obiekty sportowe."
"pl": "Mapa pokazująca obiekty sportowe.",
"it": "Mappa che mostra gli impianti sportivi."
},
"icon": "./assets/themes/sports/sport.svg",
"layers": [

View file

@ -11,7 +11,8 @@
"cs": "Vlaková nádraží",
"zh_Hant": "火車站",
"pl": "Stacje Kolejowe",
"da": "Togstationer"
"da": "Togstationer",
"it": "Stazioni ferroviarie"
},
"description": {
"en": "View, edit and add details to a train station",
@ -21,7 +22,8 @@
"ca": "Veure, editar i afegir detalls a una estació de tren",
"es": "Ver, editar y añadir detalles a una estación de tren",
"cs": "Zobrazení, úprava a přidání podrobností o vlakovém nádraží",
"pl": "Przeglądaj, edytuj i dodawaj szczegóły do stacji kolejowej"
"pl": "Przeglądaj, edytuj i dodawaj szczegóły do stacji kolejowej",
"it": "Visualizza, modifica e aggiungi informazioni su una stazione ferroviaria"
},
"icon": "./assets/themes/stations/rail-light.svg",
"defaultBackgroundId": "protomaps.white",

View file

@ -29,7 +29,8 @@
"ca": "En aquest mapa pots trobar tot el relacionat amb l'enllumenat públic",
"nb_NO": "Alt om gatebelysning",
"cs": "Na této mapě najdete vše o pouličním osvětlení",
"pl": "Na tej mapie możesz znaleźć wszystko o oświetleniu ulicznym"
"pl": "Na tej mapie możesz znaleźć wszystko o oświetleniu ulicznym",
"it": "Su questa mappa puoi trovare tutto ciò che riguarda l'illuminazione stradale"
},
"icon": "./assets/layers/street_lamps/street_lamp.svg",
"startZoom": 19,

View file

@ -17,7 +17,7 @@
"nl": "Een hulpmiddel om data van velopark.be in OpenStreetMap in te laden"
},
"descriptionTail": {
"*": "<h3>Maintainer tools</h3><ul class='link-underline'><li><a target='_blank' href='https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Themes/velopark.md'>See documentation and links to Overpass</a></li><li><a href='https://maproulette.org/api/v2/challenge/view/43282' download='Velopark_sync_2024-01-15.geojson'>Download the first sync results</a></li></ul>"
"*": "<h3>Maintainer tools</h3><ul class='link-underline'><li><a target='_blank' href='https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Themes/velopark.md'>See documentation and links to Overpass</a></li><li><a href='https://maproulette.org/api/v2/challenge/view/43282' download='Velopark_sync_2024-01-15.geojson'>Download the first sync results</a></li><li><a href='http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22amenity%22%3D%22bicycle_parking%22%5D%5B%22ref%3Avelopark%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B' target='_blank'>See all bicycle parkings with a velopark ref</a>To export: visit this link, click 'run' and then 'export'; 'export as geojson'</ul>"
},
"icon": "./assets/themes/velopark/velopark.svg",
"startZoom": 18,

View file

@ -10,7 +10,8 @@
"es": "Máquinas expendedoras",
"pl": "Automaty sprzedające",
"zh_Hant": "自動販賣機",
"da": "Salgsautomater"
"da": "Salgsautomater",
"it": "Distributori automatici"
},
"description": {
"en": "Find vending machines for everything",
@ -20,7 +21,8 @@
"ca": "Troba màquines expenedores per a tot",
"cs": "Najít prodejní automaty na vše",
"es": "Encontrar máquinas expendedoras para todo",
"pl": "Znajdź wszelakie automaty sprzedające"
"pl": "Znajdź wszelakie automaty sprzedające",
"it": "Trova distributori automatici per ogni cosa"
},
"icon": "./assets/layers/vending_machine/vending_machine.svg",
"startZoom": 19,

View file

@ -180,7 +180,7 @@
"attribution": {
"attributionBackgroundLayer": "Die aktuelle Hintergrundebene ist {name}",
"attributionBackgroundLayerWithCopyright": "Die aktuelle Hintergrundebene ist {name}: {copyright}",
"attributionContent": "<p>Alle Daten werden bereitgestellt von <a href='https://osm.org' target='_blank'>OpenStreetMap</a>, frei verwendbar unter der <a href='https://osm.org/copyright' target='_blank'>Open Database License</a>.</p>",
"attributionContent": "<p>Alle Daten werden bereitgestellt von <a href='https://www.openstreetmap.org' target='_blank'>OpenStreetMap</a>, frei verwendbar unter der <a href='https://openstreetmap.org/copyright' target='_blank'>Open Database License</a>.</p>",
"attributionTitle": "Danke",
"codeContributionsBy": "MapComplete wurde erstellt von {contributors} und <a href='https://github.com/pietervdvn/MapComplete/graphs/contributors' target='_blank'>{hiddenCount} weiteren Personen</a>",
"donate": "MapComplete finanziell unterstützen",
@ -562,6 +562,7 @@
"isDeleted": "Gelöscht",
"nearby": {
"close": "Übersicht mit nahegelegenen Bildern ausklappen",
"failed": "Abruf von Bildern von {service} fehlgeschlagen",
"link": "Dieses Bild zeigt das Objekt",
"noNearbyImages": "Keine nahegelegenen Bilder gefunden",
"seeNearby": "Bilder in der Nähe durchsuchen und verlinken",

View file

@ -180,7 +180,7 @@
"attribution": {
"attributionBackgroundLayer": "The current background layer is {name}",
"attributionBackgroundLayerWithCopyright": "The current background layer is {name}: {copyright}",
"attributionContent": "<p>All data is provided by <a href='https://osm.org' target='_blank'>OpenStreetMap</a>, freely reusable under <a href='https://osm.org/copyright' target='_blank'>the Open DataBase License</a>.</p>",
"attributionContent": "<p>All data is provided by <a href='https://www.openstreetmap.org' target='_blank'>OpenStreetMap</a>, freely reusable under <a href='https://www.openstreetmap.org/copyright' target='_blank'>the Open DataBase License</a>.</p>",
"attributionTitle": "Attribution notice",
"codeContributionsBy": "MapComplete has been built by {contributors} and <a href='https://github.com/pietervdvn/MapComplete/graphs/contributors' target='_blank'>{hiddenCount} more contributors</a>",
"donate": "Support MapComplete financially",
@ -337,7 +337,7 @@
"on_weekends": "Opened on weekends {ranges}",
"openTill": "till",
"open_24_7": "Open around the clock",
"open_during_ph": "During a public holiday, this is",
"open_during_ph": "During a public holiday, it is",
"opensAt": "from",
"ph_closed": "closed",
"ph_not_known": " ",

View file

@ -164,7 +164,7 @@
"isApplied": "Los cambios serán aplicados"
},
"attribution": {
"attributionContent": "<p>Todos los datos son proporcionados por <a href=\"https://osm.org\" target=\"_blank\">OpenStreetMap</a>, reutilizables libremente bajo <a href=\"https://osm.org/copyright\" target=\"_blank\">la Licencia Abierta de Bases de Datos (ODL)</a>.</p>",
"attributionContent": "<p>Todos los datos son proporcionados por <a href='https://www.openstreetmap.org' target='_blank'>OpenStreetMap</a>, reutilizables libremente bajo <a href='https://www.openstreetmap.org/copyright' target='_blank'>la Licencia Abierta de Bases de Datos (ODL)</a>.</p>",
"attributionTitle": "Aviso de atribución",
"codeContributionsBy": "MapComplete ha sido construido por {contributors} y <a href=\"https://github.com/pietervdvn/MapComplete/graphs/contributors\" target=\"_blank\">{hiddenCount} más contribuidores</a>",
"donate": "Apoya a MapComplete de manera financiera",

View file

@ -140,7 +140,7 @@
"intro": "Hai cliccato in un punto dove non ci sono ancora dei dati.<br/>",
"layerNotEnabled": "Il livello {layer} non è abilitato. Abilita questo livello per aggiungere un elemento",
"openLayerControl": "Apri il pannello di controllo dei livelli",
"pleaseLogin": "Accedi per aggiungere un nuovo elemento",
"pleaseLogin": "Accedi in OpenStreetMap per aggiungere un nuovo elemento",
"presetInfo": "Il nuovo PDI avrà {tags}",
"stillLoading": "Caricamento dei dati ancora in corso. Attendi un po prima di aggiungere un nuovo elemento.",
"title": "Aggiungi un nuovo elemento",
@ -161,6 +161,7 @@
"editId": "Apri l'editor online di OpenStreetMap qui",
"editJosm": "Modifica qui con JOSM",
"followOnMastodon": "Segui MapComplete su Mastodon",
"gotoSourceCode": "Visualizza il codice sorgente",
"iconAttribution": {
"title": "Icone utilizzate"
},
@ -168,10 +169,13 @@
"josmOpened": "JOSM è aperto",
"mapContributionsBy": "I dati attualmente visibili sono stati creati da {contributors}",
"mapContributionsByAndHidden": "I dati attualmente visibili sono stati modificati da {contributors} e {hiddenCount} altri contributori",
"mapDataByOsm": "Dati della mappa: OpenStreetMap",
"mapillaryHelp": "<b>Mapillary</b> è un servizio online che fornisce immagini a livello stradale e li distribuisce con una licenza libera. I contributori possono usare queste immagini per migliorare OpenStreetMap",
"openIssueTracker": "Segnala un problema",
"openMapillary": "Apri Mapillary qui",
"openOsmcha": "Vedi le ultime modifiche effettuate con {theme}",
"openOsmchaLastWeek": "Vedi le modifiche degli ultimi 7 giorni",
"openThemeDocumentation": "Apri la documentazione per la mappa tematica {name}",
"seeOnMapillary": "Guarda questa immagine su Mapillary",
"themeBy": "Tema manutenuto da {author}",
"title": "Copyright e attribuzione",
@ -180,11 +184,15 @@
"back": "Indietro",
"backToIndex": "Ritorna alla panoramica con tutte le mappe tematiche",
"backToMap": "Torna alla mappa",
"backgroundMap": "Mappa di sfondo",
"backgroundMap": "Scegli un livello di sfondo",
"cancel": "Annulla",
"confirm": "Conferma",
"customThemeIntro": "<h3>Temi personalizzati</h3>Questi sono i temi degli utenti che hai già visitato.",
"download": {
"custom": {
"height": "Altezza dell'immagine (in mm):",
"width": "Larghezza dell'immagine (in mm): "
},
"downloadAsPdf": "Scarica un PDF della mappa corrente",
"downloadAsPdfHelper": "Ideale per stampare la mappa corrente",
"downloadAsPng": "Scarca come immagine",
@ -210,6 +218,11 @@
"example": "Esempio",
"examples": "Esempi",
"fewChangesBefore": "Rispondi ad alcune domande di elementi esistenti prima di aggiungere un nuovo elemento.",
"filterPanel": {
"disableAll": "Disabilita tutto",
"enableAll": "Abilita tutto"
},
"geopermissionDenied": "È stato negato l'utilizzo della geolocalizzazione",
"getStartedLogin": "Accedi con OpenStreetMap per iniziare",
"getStartedNewAccount": " oppure <a href=\"https://www.openstreetmap.org/user/new\" target=\"_blank\">crea un nuovo account</a>",
"goToInbox": "Apri posta in arrivo",
@ -218,7 +231,10 @@
},
"labels": {
"background": "Cambia lo sfondo",
"menu": "Menu"
"jumpToLocation": "Vai alla tua attuale posizione",
"menu": "Menu",
"zoomIn": "Aumenta la zoom",
"zoomOut": "Diminuisci lo zoom"
},
"layerSelection": {
"title": "Seleziona livelli",
@ -247,6 +263,7 @@
},
"nameInlineQuestion": "Il nome di questa {category} è $$$",
"next": "Avanti",
"noMatchingMapping": "Nessuna voce corrisponde alla tua ricerca…",
"noNameCategory": "{category} senza nome",
"noTagsSelected": "Nessuna etichetta selezionata",
"notValid": "Seleziona un valore valido per continuare",
@ -254,11 +271,16 @@
"openStreetMapIntro": "<h3>Una mappa libera</h3><p>Non sarebbe perfetto se esistesse una carta geografica che chiunque può modificare e utilizzare liberamente? Un unico posto in un cui conservare tutte le informazioni geografiche? In questo modo tutti questi siti web con mappe diverse, piccole e incompatibili (che sono sempre obsolete) diverrebbero istantaneamente inutili.</p><p><b><a href=\"https://OpenStreetMap.org\" target=\"_blank\">OpenStreetMap</a></b> è proprio questa mappa. I dati geografici possono essere usati liberamente (rispettando <a href=\"https://osm.org/copyright\" target=\"_blank\">lattribuzione e la pubblicazione delle modifiche di quei dati</a>). In più, chiunque può aggiungere liberamente nuovi dati e correggere gli errori. Anche questo sito usa OpenStreetMap. Tutti i dati provengono da lì e le tue risposte e correzioni finiscono sempre lì.</p><p>Moltissime persone e applicazioni già usano OpenStreetmap: <a href=\"https://maps.me/\" target=\"_blank\">Maps.me</a>, <a href=\"https://osmAnd.net\" target=\"_blank\">OsmAnd</a> ma anche le cartine di Facebook, Instagram, Apple e Bing si basano (parzialmente) su OpenStreetMap. Tutto quello che cambi qua si rifletterà anche su quelle applicazioni (non appena avranno aggiornato i loro dati!)</p>",
"openTheMap": "Apri la mappa",
"opening_hours": {
"all_days_from": "Aperto tutti i giorni {ranges}",
"closed_permanently": "Chiuso per un periodo sconosciuto",
"closed_until": "Chiuso fino al {date}",
"error_loading": "Errore: impossibile visualizzare questi orari di apertura.",
"friday": "Il venerdì {ranges}",
"loadingCountry": "Determinazione del Paese…",
"monday": "Il lunedì {ranges}",
"not_all_rules_parsed": "Gli orari di apertura di questo negozio sono complicati. Le seguenti regole sono state ignorate per loggetto in ingresso:",
"on_weekdays": "Aperto nei giorni feriali {ranges}",
"on_weekends": "Aperto nei fine settimana {ranges}",
"openTill": "fino a",
"open_24_7": "Sempre aperto",
"open_during_ph": "Durante le festività questo luogo è",
@ -300,6 +322,7 @@
},
"readYourMessages": "Leggi tutti i tuoi messaggi OpenStreetMap prima di aggiungere un nuovo elemento.",
"removeLocationHistory": "Elimina la cronologia di geolocalizzazione",
"retry": "Riprova",
"returnToTheMap": "Ritorna alla mappa",
"save": "Salva",
"screenToSmall": "Apri {theme} in una nuova finestra",
@ -310,6 +333,7 @@
"searchShort": "Cerca…",
"searching": "Ricerca…"
},
"share": "Condividi",
"sharescreen": {
"copiedToClipboard": "Collegamento copiato negli appunti",
"embedIntro": "<h3>Incorpora nel tuo sito web</h3>Siamo lieti se vorrai includere questa cartina nel tuo sito web.<br/>Ti incoraggiamo a farlo (non devi neanche chieder il permesso).<br/>È gratuito e lo sarà per sempre. Più persone lo useranno e più valore acquisirà.",
@ -391,6 +415,10 @@
"wikipediaboxTitle": "Wikipedia"
}
},
"hotkeyDocumentation": {
"closeSidebar": "Chiudi la barra laterale",
"selectFavourites": "Apri la pagina dei preferiti"
},
"image": {
"addPicture": "Aggiungi foto",
"doDelete": "Rimuovi immagine",
@ -407,8 +435,10 @@
},
"index": {
"#": "Questi testi sono mostrati sopra ai pulsanti del tema quando nessun tema è stato caricato",
"about": "Info su MapComplete",
"featuredThemeTitle": "Questa settimana in vetrina",
"intro": "MapComplete è un visualizzatore/editore di OpenStreetMap che mostra le informazioni riguardanti gli oggetti di uno specifico tema e permette di aggiornarle.",
"learnMore": "Approfondisci",
"pickTheme": "Scegli un tema qui sotto per iniziare.",
"title": "Benvenuto/a su MapComplete"
},
@ -440,6 +470,27 @@
"multi_apply": {
"autoApply": "Quando si modificano gli attributi {attr_names}, questi attributi vengono anche automaticamente cambiati su altri {count} oggetti"
},
"notes": {
"addAComment": "Aggiungi un commento",
"addComment": "Aggiungi commento",
"addCommentAndClose": "Aggiungi commento e chiudi",
"addCommentPlaceholder": "Aggiungi un commento…",
"anonymous": "Utente anonimo",
"closeNote": "Chiudi nota",
"createNote": "Crea una nuova nota",
"createNoteTitle": "Crea una nuova nota qui",
"creating": "Sto creando una nota…",
"disableAllNoteFilters": "Disabilita tutti i filtri",
"isCreated": "La tua nota è stata creata!"
},
"privacy": {
"geodataTitle": "La tua geolocalizzazione",
"items": {
"language": "Lingua dell'interfaccia utente",
"username": "Il tuo nome utente"
},
"title": "Normativa sulla privacy"
},
"reviews": {
"affiliated_reviewer_warning": "(Recensione di un affiliato)",
"attribution": "Le recensioni sono fornite da <a href=\"https://mangrove.reviews/\" target=\"_blank\">Mangrove Reviews</a> e sono disponibili con licenza <a href=\"https://mangrove.reviews/terms#8-licensing-of-content\" target=\"_blank\">CC-BY 4.0</a>.",
@ -460,5 +511,25 @@
"loginToSplit": "Devi aver effettuato laccesso per dividere una strada",
"split": "Dividi",
"splitTitle": "Scegli sulla cartina il punto dove vuoi dividere la strada"
},
"validation": {
"email": {
"description": "indirizzo e-mail",
"feedback": "Questo non è un indirizzo e-mail valido",
"noAt": "Un indirizzo e-mail deve contenere un @"
},
"nat": {
"notANumber": "Inserisci un numero"
},
"opening_hours": {
"description": "Orario di apertura"
},
"pfloat": {
"description": "un numero positivo"
},
"phone": {
"description": "un numero di telefono",
"feedback": "Questo non è un numero di telefono valido"
}
}
}

View file

@ -8182,6 +8182,23 @@
}
}
},
"shower": {
"mappings": {
"0": {
"then": "Diese Einrichtung verfügt über Duschen mit warmem Wasser"
},
"1": {
"then": "Diese Einrichtung verfügt zwar über Duschen, aber das Wasser ist nicht beheizt"
},
"2": {
"then": "Diese Einrichtung hat Duschen"
},
"3": {
"then": "Diese Einrichtung hat keine Duschen"
}
},
"question": "Gibt es in dieser Einrichtung Duschen?"
},
"single_level": {
"mappings": {
"0": {

View file

@ -139,7 +139,7 @@
}
},
"artwork": {
"description": "Diverse opere darte",
"description": "Una mappa libera delle statue, i busti, i graffiti e le altre opere d'arte di tutto il mondo",
"name": "Opere darte",
"presets": {
"0": {

View file

@ -883,6 +883,10 @@
},
"title": "Geisterzeichen"
},
"glutenfree": {
"description": "Eine gemeinschaftliche Karte mit glutenfreien Produkten",
"title": "Glutenfrei"
},
"grb": {
"description": "Dieses Thema ist ein Versuch, die Automatisierung des GRB-Imports zu unterstützen.",
"layers": {
@ -983,6 +987,133 @@
"description": "Leuchttürme sind hohe Gebäude mit einem Licht an der Spitze, das den Schiffsverkehr leitet.",
"title": "Leuchttürme"
},
"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": "Themenname enthält <b>nicht</b> {search}"
}
}
},
"2": {
"options": {
"0": {
"question": "Erstellt von Mitwirkendem {search}"
}
}
},
"3": {
"options": {
"0": {
"question": "<b>Nicht</b> erstellt von Mitwirkendem {search}"
}
}
},
"4": {
"options": {
"0": {
"question": "Erstellt vor {search}"
}
}
},
"5": {
"options": {
"0": {
"question": "Erstellt nach {search}"
}
}
},
"6": {
"options": {
"0": {
"question": "Benutzersprache (ISO-Code) {search}"
}
}
},
"7": {
"options": {
"0": {
"question": "Erstellt mit Host {search}"
}
}
},
"8": {
"options": {
"0": {
"question": "Änderungssatz fügte mindestens ein Bild hinzu"
}
}
},
"9": {
"options": {
"0": {
"question": "GRB-Thema ausschließen"
}
}
},
"10": {
"options": {
"0": {
"question": "Etymologie-Thema ausschließen"
}
}
}
},
"name": "Änderungssatz zentriert",
"tagRenderings": {
"contributor": {
"question": "Welcher Mitwirkende hat diese Änderung vorgenommen?",
"render": "Änderung vorgenommen von <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>"
},
"host": {
"question": "Mit welchem Host (Website) wurde diese Änderung vorgenommen?",
"render": "Änderung mit <a href='{host}'>{host}</a>"
},
"locale": {
"question": "In welcher Sprache wurde diese Änderung vorgenommen?",
"render": "Benutzersprache ist {locale}"
},
"show_changeset_id": {
"render": "Änderungssatz <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>"
},
"theme-id": {
"question": "Welches Thema wurde für diese Änderung verwendet?",
"render": "Änderung mit Thema <a href='https://mapcomplete.org/{theme}'>{theme}</a>"
},
"version": {
"question": "Welche Version von MapComplete wurde für diese Änderung verwendet?",
"render": "Erstellt mit {editor}"
}
},
"title": {
"render": "Änderungssatz für {theme}"
}
},
"1": {
"override": {
"tagRenderings+": {
"0": {
"render": "Weitere Statistiken findest du <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a>"
}
}
}
}
},
"shortDescription": "Zeigt Änderungen, die mit MapComplete vorgenommen wurden",
"title": "Änderungen mit MapComplete vorgenommen"
},
"maproulette": {
"description": "Thema mit MapRoulette-Aufgaben, die Sie suchen, filtern und beheben können.",
"title": "MapRoulette-Aufgaben"

View file

@ -96,6 +96,10 @@
"shortDescription": "Un mapa de bancos",
"title": "Bancos"
},
"bicycle_parkings": {
"description": "Un mapa que muestra todos los tipos de aparcamientos de bicicletas",
"title": "Aparcamiento de bicicletas"
},
"bicycle_rental": {
"description": "En este mapa, encontrará las numerosas estaciones de alquiler de bicicletas tal y como las conoce OpenStreetMap",
"shortDescription": "Un mapa con estaciones de alquiler de bicicletas y tiendas de alquiler de bicicletas",
@ -687,7 +691,7 @@
}
},
"shortDescription": "¿Cual es el origen de un topónimo?",
"title": "Etimología - a qué se debe el nombre de una calle?"
"title": "Etimología: ¿De qué recibe el nombre un lugar?"
},
"facadegardens": {
"description": "<a href='https://nl.wikipedia.org/wiki/Geveltuin' target=_blank>Los jardines de fachada</a>, las fachadas verdes y los árboles en la ciudad no sólo aportan paz y tranquilidad, sino también una ciudad más bella, una mayor biodiversidad, un efecto refrescante y una mejor calidad del aire. <br/> Klimaan VZW y Mechelen Klimaatneutraal quieren trazar un mapa de los jardines de fachada existentes y nuevos como ejemplo para las personas que quieran construir su propio jardín o para los paseantes urbanos amantes de la naturaleza. <br/>Más información sobre el proyecto en <a href='https://klimaan.be/' target=_blank>klimaan.be</a>.",
@ -828,6 +832,25 @@
},
"question": "¿Para qué negocio se hizo este cartel?",
"render": "Este cartel se hizo para: {brand}"
},
"historic": {
"mappings": {
"0": {
"then": "Esta es una señal fantasma"
},
"1": {
"then": "Esta no es una señal fantasma, al responder esto se ocultará la señal del mapa"
}
},
"question": "¿Es esto una señal fantasma?",
"questionHint": "¿Este cartel es para una empresa que ya no existe o que ya no recibe mantenimiento?"
},
"inscription": {
"freeform": {
"placeholder": "Texto en el cartel"
},
"question": "¿Cuál es el texto del cartel?",
"render": "El texto del cartel es: {inscription}"
}
}
}

View file

@ -8,8 +8,8 @@
"title": "Mappa dei defibrillatori (DAE)"
},
"artwork": {
"description": "Benvenuto/a sulla mappa libera dellarte, una mappa delle statue, i busti, i graffiti e le altre realizzazioni artistiche di tutto il mondo",
"title": "Mappa libera delle opere d'arte"
"description": "Una mappa libera delle statue, i busti, i graffiti e le altre opere d'arte di tutto il mondo",
"title": "Opere d'arte"
},
"atm": {
"description": "Questa mappa mostra gli sportelli Bancomat per ritirare o depositare del denaro",
@ -35,8 +35,14 @@
"shortDescription": "Una mappa delle panchine",
"title": "Panchine"
},
"bicycle_parkings": {
"description": "Una mappa che mostra tutti i tipi di parcheggi per biciclette",
"title": "Parcheggi per biciclette"
},
"bicycle_rental": {
"description": "In questa mappa trovi i luoghi conosciuti da OpenStreetMap dove puoi noleggiare delle biciclette"
"description": "In questa mappa trovi i luoghi conosciuti da OpenStreetMap dove puoi noleggiare delle biciclette",
"shortDescription": "Una mappa con le stazioni e i negozi per il noleggio delle biciclette",
"title": "Noleggio biciclette"
},
"bicyclelib": {
"description": "«Biciclette in prestito» è un luogo dove le biciclette possono essere prese in prestito, spesso in cambio di un piccolo contributo annuale. Un caso degno di nota è quello delle biciclette in prestito per bambini che permettono loro di cambiare le dimensioni della propria bici quando quella attuale diventa troppo piccola",
@ -56,11 +62,11 @@
"title": "Mappa libera delle microbiblioteche"
},
"cafes_and_pubs": {
"description": "Pub e bar",
"description": "Caffetterie, pub e bar",
"title": "Caffè e pub"
},
"campersite": {
"description": "Questo sito raccoglie tutti i luoghi ufficiali dove sostare con il camper e aree dove è possibile scaricare acque grigie e nere. Puoi aggiungere dettagli riguardanti i servizi forniti e il loro costo. Aggiungi foto e recensioni. Questo è al contempo un sito web e una web app. I dati sono memorizzati su OpenStreetMap in modo tale che siano per sempre liberi e riutilizzabili da qualsiasi app.",
"description": "Questo sito raccoglie tutti i luoghi ufficiali dove sostare con il camper e aree dove è possibile scaricare acque grigie e nere. Puoi aggiungere dettagli riguardanti i servizi forniti e il loro costo. Aggiungi foto e recensioni.",
"layers": {
"0": {
"description": "Aree camper",
@ -123,10 +129,10 @@
"caravansites-long-term": {
"mappings": {
"0": {
"then": "Sì, ci sono spazi per il noleggio a lungo termine, ma puoi anche pagare per singola giornata"
"then": "Ci sono spazi per il noleggio a lungo termine, ma puoi anche pagare per singola giornata"
},
"1": {
"then": "No, non ci sono ospiti a lungo termine qui"
"then": "Non ci sono ospiti a lungo termine qui"
},
"2": {
"then": "Puoi soggiornare qui solo se hai un contratto a lungo termine (se selezioni questa opzione, questo luogo sarà rimosso da questa mappa)"
@ -333,9 +339,52 @@
}
}
}
},
"1": {
"override": {
"+tagRenderings": {
"0": {
"mappings": {
"0": {
"then": "Questo negozio ripara scarpe da arrampicata"
},
"1": {
"then": "Questo negozio non ripara scarpe da arrampicata"
}
},
"question": "Questo negozio ripara scarpe da arrampicata?"
}
}
}
},
"2": {
"override": {
"+tagRenderings": {
"0": {
"mappings": {
"0": {
"then": "Questo negozio ripara scarpe da arrampicata"
},
"1": {
"then": "Questo negozio non ripara scarpe da arrampicata"
}
},
"question": "Questo negozio ripara scarpe da arrampicata?"
}
},
"=presets": {
"0": {
"title": "un calzolaio"
}
}
}
}
},
"title": "Mappa aperta per le arrampicate"
"title": "Palestre, club e luoghi attrezzati per l'arrampicata"
},
"clock": {
"description": "Mappa di tutti gli orologi pubblici",
"title": "Orologi"
},
"cycle_highways": {
"description": "Questa cartina mostra le strade per velocipedi",
@ -388,6 +437,12 @@
"0": {
"then": "Questa è una strada ciclabile (e ha un limite di velocità massima di 30 km/h)"
},
"1": {
"then": "Questa strada è una strada per biciclette"
},
"2": {
"then": "Questa strada è una strada per biciclette (ha un limite di velocità di 30 km/h e i veicoli non sono ammessi)(il segnale verrà richiesto più tardi)"
},
"3": {
"then": "Questa è una strada ciclabile"
},
@ -400,6 +455,22 @@
},
"question": "È <b>{name}</b> una strada ciclabile?"
},
"1": {
"mappings": {
"0": {
"then": "Permesso l'accesso ai residenti"
},
"1": {
"then": "Permesso l'accesso ai veicoli a motore"
},
"2": {
"then": "Permesso l'accesso ai motocicli"
},
"3": {
"then": "Permesso l'accesso alle auto"
}
}
},
"2": {
"question": "Questa strada diventerà una strada ciclabile quando?",
"render": "Questa strada diventerà una strada ciclabile dal {cyclestreet:start_date}"
@ -411,7 +482,7 @@
},
"cyclofix": {
"description": "Questa mappa offre a chi va in bici una soluzione semplice per trovare tutte le infrastrutture di cui ha bisogno.<br><br>Puoi tracciare la tua posizione esatta (solo su mobile) e selezionare i livelli che ti interessano nell'angolo in basso a sinistra. Puoi anche usare questo strumento per aggiungere o modificare punti di interesse alla mappa e aggiungere nuove informazioni rispendendo alle domande.<br><br>Tutte le modifiche che apporterai saranno automaticamente salvate nel database mondiale di OpenStreetMap e potranno essere liberamente riutilizzate da tutti e tutte.<br><br>Per maggiori informazioni sul progetto ciclofix, visita <a href='https://cyclofix.osm.be/'>cyclofix.osm.be</a>.",
"title": "Cyclofix - una mappa libera per chi va in bici"
"title": "Cyclofix - una mappa per chi va in bici"
},
"disaster_response": {
"description": "Questa mappa contiene elementi pensati per la preparazione e risposta ai disastri.",
@ -421,6 +492,10 @@
"description": "Questa mappa mostra tutti i luoghi in cui è disponibile acqua potabile ed è possibile aggiungerne di nuovi",
"title": "Acqua potabile"
},
"education": {
"description": "In questa mappa troverai informazioni su tutti i tipi di scuole e istituti di istruzione e puoi aggiungere facilmente ulteriori informazioni",
"title": "Istruzione"
},
"etymology": {
"description": "Su questa cartina sono visibili i nomi a cui sono riferiti gli oggetti. Le strade, gli edifici, etc. provengono da OpenStreetMap che è a sua volta collegata a Wikidata. Nel popup, se esiste, verrà mostrato larticolo Wikipedia o l'elemento Wikidata a cui si riferisce il nome di quelloggetto. Se loggetto stesso ha una pagina Wikpedia, anchessa verrà mostrata.<br/><br/><b>Anche tu puoi contribuire!</b>Ingrandisci abbastanza e <i>tutte</i> le strade appariranno. Puoi cliccare su una e apparirà un popup con la ricerca Wikidata. Con pochi clic puoi aggiungere un collegamento etimologico. Tieni presente che per farlo, hai bisogno di un account gratuito su OpenStreetMap.",
"layers": {
@ -526,6 +601,7 @@
"title": "Giardini verticali"
},
"food": {
"description": "Ristoranti e fast food",
"title": "Ristoranti e fast food"
},
"fritures": {
@ -541,29 +617,142 @@
"description": "Una <b>bici fantasma</b> è un monumento in ricordo di un ciclista che è morto in un incidente stradale, che ha la forma di un una bicicletta bianca installata in maniera permanente ne luogo dellincidente.<br/><br/>In questa mappa, è possibile vedere tutte le bici fantasma che sono state aggiunte su OpenStreetMap. Ne manca una? Chiunque può aggiungere o migliorare le informazioni qui presenti (è solo richiesto un account gratuito su OpenStreetMap). <p>Esiste un <a href='https://masto.bike/@ghostbikebot' target='_blank'>account automatizzato su Mastodon da aggiornamenti mensili sulle bici fantasma del mondo</a></p>",
"title": "Bici fantasma"
},
"ghostsigns": {
"layers": {
"0": {
"tagRenderings": {
"brand": {
"freeform": {
"placeholder": "Nome dell'attività"
}
}
}
}
}
},
"glutenfree": {
"description": "Una mappa in crowdsourcing per articoli senza glutine",
"title": "Senza glutine"
},
"hackerspaces": {
"description": "Su questa cartina è possibile vedere gli hackerspace, aggiungerne di nuovi o aggiornare le informazioni tutto in maniera pratica",
"shortDescription": "Una cartina degli hackerspace",
"title": "Hackerspace"
"title": "Hackerspace e makerspace"
},
"hailhydrant": {
"description": "In questa cartina puoi vedere e aggiornare idranti, stazioni dei pompieri, stazioni delle ambulanze ed estintori del tuo quartiere preferito.",
"shortDescription": "Carta che mostra gli idranti, gli estintori, le caserme dei vigili del fuoco e le stazioni delle ambulanze.",
"title": "Idranti, estintori, caserme dei vigili del fuoco e stazioni delle ambulanze"
},
"healthcare": {
"description": "Su questa mappa sono indicati vari elementi relativi all'assistenza sanitaria",
"layers": {
"5": {
"override": {
"=presets": {
"0": {
"title": "un negozio di forniture mediche"
},
"1": {
"title": "un negozio di apparecchi acustici"
},
"2": {
"title": "un ottico"
}
}
}
}
},
"title": "Assistenza sanitaria"
},
"hotels": {
"description": "Su questa mappa, troverai gli hotel della tua zona",
"title": "Hotel"
},
"icecream": {
"description": "Una mappa che mostra le gelaterie e i distributori automatici di gelato",
"title": "Gelato"
},
"indoors": {
"description": "Su questa mappa sono indicati i luoghi al chiuso accessibili al pubblico",
"title": "Al chiuso"
},
"kerbs_and_crossings": {
"layers": {
"1": {
"override": {
"=presets": {
"0": {
"description": "Attraversamenti per pedoni e/o ciclisti",
"title": "un incrocio"
}
}
}
}
}
},
"lighthouses": {
"description": "I fari sono edifici alti con una luce in cima per guidare il traffico marittimo.",
"title": "Fari"
},
"mapcomplete-changes": {
"description": "Questa mappa mostra tutte le modifiche fatte con MapComplete",
"layers": {
"0": {
"description": "Mostra tutte le modifiche fatte con MapComplete",
"filter": {
"0": {
"options": {
"0": {
"question": "Il nome del tema contiene {search}"
}
}
},
"1": {
"options": {
"0": {
"question": "Il nome del tema <b>not</b> contiene {search}"
}
}
}
}
}
}
},
"maps": {
"description": "In questa carta puoi trovare tutte le mappe conosciute da OpenStreetMap (tipicamente una grossa mappa su di un pannello informativo che mostra larea, la città o la regione, ad es. una mappa turistica dietro a un manifesto, la mappa di una riserva naturale, la mappa della rete ciclistica regionale, etc.)<br/><br/>Se manca una mappa, puoi aggiungerla facilmente a questa su OpenStreetMap.",
"shortDescription": "Questo tema mostra tutte le mappe (turistiche) di cui OpenStreetMap dispone",
"title": "Una mappa di mappe"
},
"nature": {
"description": "Su questa mappa si possono trovare informazioni interessanti per turisti e amanti della natura.",
"shortDescription": "Una mappa per amanti della natura con interessanti POI"
},
"observation_towers": {
"description": "Torri pubblicamente accessibili per godere della vista",
"shortDescription": "Torri pubblicamente accessibili per godere della vista",
"title": "Torri di osservazione"
},
"onwheels": {
"description": "Su questa mappa sono indicati i luoghi pubblici accessibili con sedia a rotelle e possono essere facilmente aggiunti",
"layers": {
"8": {
"override": {
"name": "Parcheggi per disabili"
}
},
"19": {
"override": {
"=title": {
"render": "Statistiche"
}
}
}
}
},
"openwindpowermap": {
"description": "Una cartina per la visione e la modifica delle turbine eoliche.",
"title": "OpenWindPowerMap"
"title": "Generatori di energia eolica"
},
"parkings": {
"description": "Questa cartina mostra diversi posti dove parcheggiare",
@ -574,12 +763,50 @@
"description": "Crea un tema personale basato sui livelli disponibili per tutti i temi. Per mostrare dei dati, apri <a href='#filter'>selezione livello</a>",
"title": "Tema personale"
},
"pets": {
"layers": {
"1": {
"override": {
"name": "Ristoranti che accettano i cani"
}
},
"2": {
"override": {
"name": "Negozi che accettano i cani",
"title": {
"render": "Negozi che accettano i cani"
}
}
}
},
"title": "Veterinari, parchi accessibili ai cani e altri servizi per animali domestici"
},
"playgrounds": {
"description": "In questa cartina vengono mostrati i parchi giochi a cui è possibile aggiungere dettagli",
"shortDescription": "Una cartina dei parchi giochi",
"title": "Parchi giochi"
},
"postal_codes": {
"description": "Codici postali",
"layers": {
"0": {
"name": "codici postali",
"tagRenderings": {
"postal_code": {
"render": "Ilcodice postale è {postal_code}"
}
},
"title": {
"render": "Codice postale {postal_code}"
}
},
"2": {
"name": "municipi",
"title": {
"render": "Municipio {name}"
}
}
},
"shortDescription": "Codici postali",
"title": "Codici postali"
},
@ -591,9 +818,10 @@
"shops": {
"description": "In questa cartina è possibile aggiungere informazioni di base di un negozio, orari di apertura e numeri di telefono",
"shortDescription": "Una cartina modificabile con informazioni di base dei negozi",
"title": "Mappa dei negozi"
"title": "Negozi"
},
"sidewalks": {
"description": "Tema sperimentale",
"layers": {
"0": {
"name": "Marciapiedi",
@ -629,14 +857,22 @@
"shortDescription": "Una cartina che mostra i campi sportivi",
"title": "Campi sportivi"
},
"sports": {
"description": "Tutto sullo sport, trova campi sportivi, centri fitness e molto altro.",
"shortDescription": "Mappa che mostra gli impianti sportivi.",
"title": "Sport"
},
"stations": {
"description": "Visualizza, modifica e aggiungi informazioni su una stazione ferroviaria",
"layers": {
"3": {
"name": "Stazioni ferroviarie"
}
}
},
"title": "Stazioni ferroviarie"
},
"street_lighting": {
"description": "Su questa mappa puoi trovare tutto ciò che riguarda l'illuminazione stradale",
"layers": {
"1": {
"name": "Strade illuminate",
@ -705,6 +941,10 @@
"shortDescription": "Mappa tutti gli alberi",
"title": "Alberi"
},
"vending_machine": {
"description": "Trova distributori automatici per ogni cosa",
"title": "Distributori automatici"
},
"waste": {
"description": "Mappa dei cestini per i rifiuti e i centri di raccolta e riciclo rifiuti.",
"title": "Rifiuti"

View file

@ -1,4 +1,9 @@
{
"advertising": {
"description": "你是否曾经想过我们的街道和道路上有多少广告?通过这张地图,你可以查找并添加有关街道上所有广告特征的信息",
"shortDescription": "我可以在哪里找到广告功能?",
"title": "广告"
},
"aed": {
"description": "在这份地图上可以寻找和标记附近的除颤器",
"title": "Open AED Map"
@ -7,8 +12,182 @@
"description": "一个雕塑、半身像、涂鸦和其他全球艺术品的地图",
"title": "Open Artwork Map"
},
"atm": {
"description": "这张地图显示了可以取款或存款的自动取款机",
"layers": {
"3": {
"override": {
"=tagRenderings": {
"0": {
"render": {
"special": {
"text": "导入这个ATM"
}
}
},
"1": {
"render": "OpenStreetMap 知道有一个<a href='#{_closest_osm_poi}'>自动取款机,它距离你 {_closest_osm_poi_distance} 米。</a> "
},
"2": {
"render": {
"special": {
"message": "将所有建议的标签添加到距离最近的自动取款机"
}
}
}
}
}
}
},
"title": "自动取款机"
},
"bag": {
"description": "这个主题帮助导入来自BAG的数据",
"layers": {
"0": {
"tagRenderings": {
"Reference": {
"mappings": {
"0": {
"then": "这栋建筑在BAG中没有参考信息"
}
},
"render": "在 BAG 中的参考是 <b>{ref:bag}</b>"
}
}
},
"2": {
"description": "BAG 注册中的建筑物",
"tagRenderings": {
"Build year": {
"mappings": {
"0": {
"then": "该建筑始建于 <b>{_bag_obj:start_date}</b>"
}
},
"render": "这座建筑建于 <b>{_bag_obj:start_date}</b>"
},
"Building type": {
"mappings": {
"0": {
"then": "建筑类型将是 <b>{_bag_obj:construction}</b>"
}
},
"render": "建筑类型是 <b>{_bag_obj:building}</b>"
},
"Import button": {
"mappings": {
"0": {
"then": "尚未计算出正确的值。请刷新此页面"
}
}
},
"Reference": {
"render": "在 BAG 中的参考文献是 <b>{_bag_obj:ref:bag}</b>"
}
}
}
},
"shortDescription": "BAG 导入辅助工具",
"title": "BAG 导入助手"
},
"benches": {
"description": "这张地图显示了所有记录在 OpenStreetMap 中的长椅:包括独立长椅和属于公共交通站点或候车亭的长椅。",
"shortDescription": "长椅地图",
"title": "长椅"
},
"bicycle_parkings": {
"description": "一张显示所有类型自行车停车设施的地图",
"title": "自行车停车场"
},
"bicycle_rental": {
"description": "在这张地图上,你可以找到许多由 OpenStreetMap 记录的自行车租赁站点",
"shortDescription": "一张包含自行车租赁站点和自行车租赁商店的地图",
"title": "自行车租赁"
},
"bicyclelib": {
"description": "自行车图书馆是一个可以借用自行车的地方,通常需要支付小额的年度费用。一个显著的使用场景是儿童自行车图书馆,这允许孩子们在长大后更换成更大的自行车",
"title": "自行车图书馆"
},
"binoculars": {
"description": "一张显示固定在杆子上的望远镜的地图。这种望远镜通常可以在旅游景点、观景点、全景塔顶部或偶尔在自然保护区找到。",
"shortDescription": "一张显示固定望远镜的地图",
"title": "望远镜"
},
"blind_osm": {
"description": "帮助绘制与盲人相关的设施",
"title": "为盲人设计的OSM"
},
"bookcases": {
"description": "公共书柜是一个小型街边橱柜、盒子、旧电话亭或其他储存书籍的物品。任何人都可以放置或取走一本书。这张地图旨在收集所有这些书柜。",
"title": "公共书柜"
},
"cafes_and_pubs": {
"description": "咖啡馆、酒吧和酒吧",
"title": "咖啡馆和酒吧"
},
"campersite": {
"description": "该网站汇总了所有官方的露营车停留点以及可以倾倒灰水和黑水的地点。你可以添加有关提供的服务和费用的详细信息,并且可以上传图片和撰写评论。",
"layers": {
"0": {
"description": "露营地",
"name": "露营地",
"presets": {
"0": {
"description": "添加一个新的官方露营车场地。这些是专门设置的供露营车过夜的地点。它们可能看起来像真正的露营地,也可能只是看起来像一个停车场。它们可能没有任何标识,仅在市政决策中定义。普通的停车场,尽管可能供露营车使用,但不期望在其中过夜的,不算作露营车场地 ",
"title": "露营地"
}
},
"tagRenderings": {
"caravansites-capacity": {
"question": "这里可以容纳多少辆露营车?(如果没有明显的车位数量或允许的车辆数,请跳过)",
"render": "{capacity} 名露营者可以同时使用这个地方"
},
"caravansites-charge": {
"question": "这个地方的收费是多少?",
"render": "这个地方收费 {charge}"
},
"caravansites-description": {
"question": "您想添加一个关于此地的一般描述吗?(请勿重复之前询问或显示的信息。请保持客观——意见和评价请在评论中提供)",
"render": "关于此地的更多细节:{description}"
},
"caravansites-fee": {
"mappings": {
"0": {
"then": "需要付费使用"
},
"1": {
"then": "可免费使用"
}
},
"question": "这个地方是否收费?"
},
"caravansites-internet": {
"mappings": {
"0": {
"then": "这里有网络连接"
},
"1": {
"then": "这里有网络连接"
},
"2": {
"then": "这里没有网络连接"
}
},
"question": "这里有网络连接吗?"
},
"caravansites-internet-fee": {
"mappings": {
"0": {
"then": "互联网访问需要额外付费"
},
"1": {
"then": "互联网访问无需额外付费"
}
}
}
}
}
}
}
}

View file

@ -180,7 +180,7 @@
"attribution": {
"attributionBackgroundLayer": "目前的背景圖層是 {name}",
"attributionBackgroundLayerWithCopyright": "目前的背景圖層是 {name}{copyright}",
"attributionContent": "<p>所有資料由<a href=\"https://osm.org\" target=\"_blank\">開放街圖</a>提供,在<a href=\"https://osm.org/copyright\" target=\"_blank\">開放資料庫授權條款</a>之下自由再利用。</p>",
"attributionContent": "<p>所有資料由<a href='https://www.openstreetmap.org' target='_blank'>開放街圖</a>提供,在<a href='https://www.openstreetmap.org/copyright' target='_blank'>開放資料庫授權條款</a>之下自由再利用。</p>",
"attributionTitle": "署名通知",
"codeContributionsBy": "MapComplete 是由 {contributors} 和其他 <a href=\"https://github.com/pietervdvn/MapComplete/graphs/contributors\" target=\"_blank\">{hiddenCount} 位貢獻者</a>構建而成",
"donate": "財務上支援 MapComplete",
@ -562,6 +562,7 @@
"isDeleted": "已刪除",
"nearby": {
"close": "以附近圖片收起面板",
"failed": "從 {service} 擷取影像失敗",
"link": "這個圖片顯示物物",
"noNearbyImages": "附近沒有找到圖片",
"seeNearby": "瀏覽與連結附近圖片",

16
package-lock.json generated
View file

@ -1,12 +1,12 @@
{
"name": "mapcomplete",
"version": "0.44.4",
"version": "0.44.11",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "mapcomplete",
"version": "0.44.4",
"version": "0.44.11",
"license": "GPL-3.0-or-later",
"dependencies": {
"@comunica/core": "^3.0.1",
@ -7893,9 +7893,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001640",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz",
"integrity": "sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==",
"version": "1.0.30001642",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz",
"integrity": "sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==",
"dev": true,
"funding": [
{
@ -25250,9 +25250,9 @@
"version": "2.0.1"
},
"caniuse-lite": {
"version": "1.0.30001640",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz",
"integrity": "sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==",
"version": "1.0.30001642",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz",
"integrity": "sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==",
"dev": true
},
"canonicalize": {

View file

@ -35,7 +35,6 @@
"summary_server": "https://cache.mapcomplete.org/",
"geoip_server": "https://ipinfo.mapcomplete.org/",
"error_server": "https://report.mapcomplete.org/report",
"api_keys": {
"#": "Various API-keys for various services. Feel free to reuse those in another MapComplete-hosted version",
"imgur": "7070e7167f0a25a",
@ -62,7 +61,6 @@
}
},
"scripts": {
"init": "npm ci && npm run prep:layeroverview && npm run generate && npm run download:editor-layer-index && npm run generate:layouts && npm run clean && npm run weblate:add-upstream",
"start": "npm run generate:layeroverview && npm run strt",
"#strt:https": "Start in HTTPS mode. Makes a few things a bit harder, but allows to debug on Android with logging in",
@ -72,7 +70,6 @@
"build:single": "./scripts/single_build.sh",
"build:dbscript": "vite-node ./scripts/osm2pgsql/generateBuildDbScript.ts",
"prepare-deploy": "npm run generate:service-worker && ./scripts/prepare-build.sh && npm run build",
"watch:css": "tailwindcss -i src/index.css -o public/css/index-tailwind-output.css --watch",
"generate:css": "tailwindcss -i src/index.css -o public/css/index-tailwind-output.css",
"generate:doctests": "doctest-ts-improved . --ignore .*.spec.ts --ignore .*ConfigJson.ts",
@ -91,58 +88,41 @@
"query:licenses": "vite-node scripts/generateLicenseInfo.ts -- --query",
"generate:contributor-list": "vite-node scripts/generateContributors.ts",
"generate:service-worker": "tsc src/service-worker.ts --outFile public/service-worker.js && git_hash=$(git rev-parse HEAD) && sed -i.bak \"s/GITHUB-COMMIT/$git_hash/\" public/service-worker.js && rm public/service-worker.js.bak",
"reset:layeroverview": "npm run prep:layeroverview && npm run generate:layeroverview && npm run refresh:layeroverview",
"prep:layeroverview": "mkdir -p ./src/assets/generated/layers; echo {\\\"themes\\\":[]} > ./src/assets/generated/known_themes.json && echo {\\\"layers\\\": []} > ./src/assets/generated/known_layers.json && rm -f ./src/assets/generated/layers/*.json && rm -f ./src/assets/generated/themes/*.json && cp ./assets/layers/usersettings/usersettings.json ./src/assets/generated/layers/usersettings.json && echo '{}' > ./src/assets/generated/layers/favourite.json && echo '{}' > ./src/assets/generated/layers/summary.json && echo '{}' > ./src/assets/generated/layers/last_click.json",
"generate": "npm run generate:licenses && npm run generate:images && npm run generate:charging-stations && npm run generate:translations && npm run refresh:layeroverview && npm run generate:service-worker",
"generate:charging-stations": "cd ./assets/layers/charging_station && vite-node csvToJson.ts && cd -",
"clean:tests": "find . -type f -name \"*.doctest.ts\" | xargs -r rm",
"clean": "rm -rf .cache/ && (find *.html | grep -v \"^\\(404\\|index\\|land\\|privacy\\|test\\|studio\\|theme\\|style_test\\|statistics\\|status\\|leaderboard\\).html\" | xargs -r rm) && (ls | grep \"^index_[a-zA-Z_-]\\+\\.ts$\" | xargs -r rm)",
"generate:dependency-graph": "node_modules/.bin/depcruise --exclude \"^node_modules\" --output-type dot Logic/State/MapState.ts > dependencies.dot && dot dependencies.dot -T svg -o dependencies.svg && rm dependencies.dot",
"scrapeWebsites": "vite-node scripts/importscripts/compareWebsiteData.ts -- ~/Downloads/ShopsWithWebsiteNodes.csv ~/data/scraped_websites/",
"### 0": "VELOPARK",
"velopark:compare": "vite-node scripts/velopark/compare.ts -- velopark_nonsynced_.geojson ~/Projecten/OSM/Fietsberaad/2024-02-02\\ Fietsenstallingen_OSM_met_velopark_ref.geojson\n",
"velopark:download": "vite-node scripts/velopark/veloParkToGeojson.ts ",
"### 1": "CODE AND DATA MAINTAINENCE",
"download:nsi-logos": "vite-node scripts/downloadNsiLogos.ts || npm run downloadNsiLogos # This script crashes often without the possibility to correct - hence the auto retry with OR",
"download:editor-layer-index": "vite-node scripts/downloadEli.ts",
"download:stats": "vite-node scripts/GenerateSeries.ts",
"download:images": "vite-node scripts/generateImageAnalysis.ts -- ~/data/imgur-image-backup/",
"weblate:add-upstream": "git remote add weblate-github git@github.com:weblate/MapComplete.git && git remote add weblate-hosted-core https://hosted.weblate.org/git/mapcomplete/core/ && git remote add weblate-hosted-layers https://hosted.weblate.org/git/mapcomplete/layers/",
"weblate:merge": "git remote update weblate-github; git merge weblate-github/weblate-mapcomplete-core weblate-github/weblate-mapcomplete-layers weblate-github/weblate-mapcomplete-layer-translations",
"weblate:merge-heavy": "git fetch weblate-hosted-layers; git fetch weblate-hosted-core; git merge weblate-hosted-layers/master weblate-hosted-core/master ",
"lint": "npm run lint:prettier && npm run lint:eslint && npm run lint:themes",
"lint:eslint": "eslint ./src",
"lint:prettier": "prettier --check '**/*.ts' '**/*.svelte'",
"lint:themes": "vite-node scripts/lint.ts",
"format": "prettier --write '**/*.ts' '**/*.svelte'",
"optimize-images-png": "cd assets/generated/ && find -name '*.png' -exec optipng '{}' \\; && echo 'PNGs are optimized'",
"optimize-images-jpg": "cd assets/ && find . -regextype sed -regex \".*/.*.\\(jpg\\|JPG\\|JPEG\\|jpeg\\)\" -exec jpegoptim '{}' \\; && echo 'JPGs are optimized'",
"optimize-images-scaledown-jpg": "cd assets/ && find . -regextype sed -regex \".*/.*.\\(jpg\\|JPG\\|JPEG\\|jpeg\\)\" -exec mogrify -resize 640x640\\> '{}' \\; && echo 'JPGs are optimized'",
"generate:schemas": "ts2json-schema -p src/Models/ThemeConfig/Json/ -o Docs/Schemas/ -t tsconfig.json -R . -m \".*ConfigJson\" && echo 'tsjson is done' && vite-node scripts/fixSchemas.ts ",
"reuse-compliance": "reuse lint",
"housekeeping": "git pull && npx update-browserslist-db@latest && npm run weblate:merge-heavy && npm run generate && npm run generate:docs && npm run generate:schemas && npm run generate:contributor-list && vite-node scripts/fetchLanguages.ts && vite-node scripts/generateSunnyUnlabeled.ts && npm run format && git add assets/ langs/ Docs/ **/*.ts Docs/* src/* && git commit -m 'chore: automated housekeeping...'",
"###": "MICROSERVICES AND SERVER MAINTAINENCE",
"server:summary": "vite-node scripts/osm2pgsql/tilecountServer.ts",
"server:ldjson": "vite-node scripts/serverLdScrape.ts",
"sever:studio": "vite-node scripts/studioServer -- /root/git/MapComplete/assets",
"server:errorreport": "vite-node scripts/serverErrorReport.ts -- /root/error_reports/",
"generate:buildDbScript": "vite-node scripts/osm2pgsql/generateBuildDbScript.ts",
"generate:summaryCache": "vite-node scripts/generateSummaryTileCache.ts"
},

View file

@ -54,15 +54,15 @@ class ToSlideshowJson {
sections.push(currentSection)
currentSection = []
}
line = line.replace("src=\"../../public/", "src=\"./")
line = line.replace("src=\"../../", "src=\"./")
line = line.replace('src="../../public/', 'src="./')
line = line.replace('src="../../', 'src="./')
currentSection.push(line)
}
sections.push(currentSection)
writeFileSync(
this._target,
JSON.stringify({
sections: sections.map((s) => s.join("\n")).filter((s) => s.length > 0)
sections: sections.map((s) => s.join("\n")).filter((s) => s.length > 0),
})
)
}
@ -81,7 +81,7 @@ class WikiPageGenerator {
generate() {
let wikiPage =
"{|class=\"wikitable sortable\"\n" +
'{|class="wikitable sortable"\n' +
"! Name, link !! Genre !! Covered region !! Language !! Description !! Free materials !! Image\n" +
"|-"
@ -139,7 +139,7 @@ export class GenerateDocs extends Script {
}
this.WriteMarkdownFile("./Docs/Tags_format.md", TagUtils.generateDocs(), [
"src/Logic/Tags/TagUtils.ts"
"src/Logic/Tags/TagUtils.ts",
])
new ToSlideshowJson(
@ -165,24 +165,20 @@ export class GenerateDocs extends Script {
})
this.WriteMarkdownFile("./Docs/SpecialRenderings.md", SpecialVisualizations.HelpMessage(), [
"src/UI/SpecialVisualizations.ts"
"src/UI/SpecialVisualizations.ts",
])
this.WriteMarkdownFile(
"./Docs/CalculatedTags.md",
[
"# Metatags",
SimpleMetaTaggers.HelpText(),
ExtraFunctions.HelpText()
].join("\n"),
["# Metatags", SimpleMetaTaggers.HelpText(), ExtraFunctions.HelpText()].join("\n"),
["src/Logic/SimpleMetaTagger.ts", "src/Logic/ExtraFunctions.ts"]
)
this.WriteMarkdownFile("./Docs/SpecialInputElements.md", Validators.HelpText(), [
"src/UI/InputElement/Validators.ts"
"src/UI/InputElement/Validators.ts",
])
this.WriteMarkdownFile("./Docs/ChangesetMeta.md", Changes.getDocs(), [
"src/Logic/Osm/Changes.ts",
"src/Logic/Osm/ChangesetHandler.ts"
"src/Logic/Osm/ChangesetHandler.ts",
])
new WikiPageGenerator().generate()
@ -225,20 +221,21 @@ export class GenerateDocs extends Script {
const warnAutomated =
"[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources)\n\n"
const generatedFrom =
[
"This document is autogenerated from",
autogenSource.map(s => `[${s}](https://github.com/pietervdvn/MapComplete/blob/develop/${s})`).join(", ")
].join(" ")
const generatedFrom = [
"This document is autogenerated from",
autogenSource
.map((s) => `[${s}](https://github.com/pietervdvn/MapComplete/blob/develop/${s})`)
.join(", "),
].join(" ")
writeFileSync(filename, warnAutomated + md + "\n\n" + generatedFrom + "\n")
}
private generateHotkeyDocs() {
new ThemeViewState(new LayoutConfig(<any>bookcases), new Set())
this.WriteMarkdownFile("./Docs/Hotkeys.md", Hotkeys.generateDocumentation(), ["src/UI/Base/Hotkeys.ts"])
this.WriteMarkdownFile("./Docs/Hotkeys.md", Hotkeys.generateDocumentation(), [
"src/UI/Base/Hotkeys.ts",
])
}
private generateBuiltinUnits() {
@ -271,7 +268,7 @@ export class GenerateDocs extends Script {
}
this.WriteMarkdownFile("./Docs/builtin_units.md", ["# Units", ...els].join("\n\n"), [
`assets/layers/unit/unit.json`
`assets/layers/unit/unit.json`,
])
}
@ -438,39 +435,41 @@ export class GenerateDocs extends Script {
}
private generateForTheme(theme: LayoutConfig): void {
const allLayers = AllSharedLayers.getSharedLayersConfigs()
const layersToShow = theme.layers
.filter((l) => !l.id.startsWith("note_import_") && l.id !== "favourite" && Constants.added_by_default.indexOf(<any>l.id) < 0)
const layersToInline = layersToShow.filter(l => !allLayers.has(l.id))
const layersToShow = theme.layers.filter(
(l) =>
!l.id.startsWith("note_import_") &&
l.id !== "favourite" &&
Constants.added_by_default.indexOf(<any>l.id) < 0
)
const layersToInline = layersToShow.filter((l) => !allLayers.has(l.id))
const el = [
["##",
[
"##",
theme.title,
"(",
`[${theme.id}](https://mapcomplete.org/${theme.id})`,
")"
")",
].join(" "),
"_This document details some technical information about this MapComplete theme, mostly about the attributes used in the theme. Various links point toward more information about the attributes, e.g. to the OpenStreetMap-wiki, to TagInfo or tools creating statistics_",
"The theme introduction reads:\n",
"> "+parse_html(theme.description.textFor("en")).textContent.replace(/\n/g, " "),
"> " + parse_html(theme.description.textFor("en")).textContent.replace(/\n/g, " "),
"",
"This theme contains the following layers:",
MarkdownUtils.list(
layersToShow
.map((l) => {
if (allLayers.has(l.id)) {
return (`[${l.id}](../Layers/${l.id}.md)`)
}
return (`[${l.id} (defined in this theme)](#${l.id.trim().replace(/ /g, "-")})`)
})
layersToShow.map((l) => {
if (allLayers.has(l.id)) {
return `[${l.id}](../Layers/${l.id}.md)`
}
return `[${l.id} (defined in this theme)](#${l.id.trim().replace(/ /g, "-")})`
})
),
"Available languages:",
MarkdownUtils.list(theme.language.filter((ln) => ln !== "_context")),
"# Layers defined in this theme configuration file",
"These layers can not be reused in different themes.",
...layersToInline.map(l => l.GenerateDocumentation(null))
...layersToInline.map((l) => l.GenerateDocumentation(null)),
].join("\n")
this.WriteMarkdownFile(
"./Docs/Themes/" + theme.id + ".md",
@ -530,7 +529,9 @@ export class GenerateDocs extends Script {
"# Special and other useful layers",
"MapComplete has a few data layers available in the theme which have special properties through builtin-hooks. Furthermore, there are some normal layers (which are built from normal Theme-config files) but are so general that they get a mention here.",
"# Priviliged layers",
MarkdownUtils.list(Constants.priviliged_layers.map((id) => "[" + id + "](#" + id + ")")),
MarkdownUtils.list(
Constants.priviliged_layers.map((id) => "[" + id + "](#" + id + ")")
),
...Utils.NoNull(
Constants.priviliged_layers.map((id) => AllSharedLayers.sharedLayers.get(id))
).map((l) =>
@ -548,9 +549,11 @@ export class GenerateDocs extends Script {
Array.from(AllSharedLayers.sharedLayers.keys()).map(
(id) => `[${id}](./Layers/${id}.md)`
)
)
),
].join("\n\n")
this.WriteMarkdownFile("./Docs/BuiltinLayers.md", el, ["src/Customizations/AllKnownLayouts.ts"])
this.WriteMarkdownFile("./Docs/BuiltinLayers.md", el, [
"src/Customizations/AllKnownLayouts.ts",
])
}
}

View file

@ -73,9 +73,13 @@ export class GenerateFavouritesLayer extends Script {
}
private addTagRenderings(proto: LayerConfigJson) {
const addedByDefault = (<{labels: string[], id: string}[]> questions.tagRenderings)
.filter(tr => tr?.["labels"]?.indexOf("added_by_default") > 0 || tr?.["labels"]?.indexOf("added_by_default_top") > 0 )
.map(tr => tr.id)
const addedByDefault = (<{ labels: string[]; id: string }[]>questions.tagRenderings)
.filter(
(tr) =>
tr?.["labels"]?.indexOf("added_by_default") > 0 ||
tr?.["labels"]?.indexOf("added_by_default_top") > 0
)
.map((tr) => tr.id)
const blacklistedIds = new Set([
"images",
"questions",
@ -87,7 +91,7 @@ export class GenerateFavouritesLayer extends Script {
"delete-button",
"all-tags",
"all_tags",
...addedByDefault
...addedByDefault,
])
const generatedTagRenderings: (string | QuestionableTagRenderingConfigJson)[] = []
@ -236,8 +240,8 @@ export class GenerateFavouritesLayer extends Script {
if (seenTitleIcons.has(titleIcon.id)) {
continue
}
if(titleIcon.id === undefined){
continue
if (titleIcon.id === undefined) {
continue
}
seenTitleIcons.add(titleIcon.id)
console.log("Adding title icon", titleIcon.id)

View file

@ -24,7 +24,7 @@ function genImages(dryrun = false) {
.replace(/\n/g, " ")
.replace(/\r/g, "")
.replace(/\\/g, "\\")
.replace(/"/g, "\\\"")
.replace(/"/g, '\\"')
.replaceAll(" ", " ")
let hasNonAsciiChars = Array.from(svg)
@ -38,20 +38,18 @@ function genImages(dryrun = false) {
const nameUC = name.toUpperCase().at(0) + name.substring(1)
const svelteCode =
"<script>\nexport let color = \"#000000\"\n</script>\n" +
'<script>\nexport let color = "#000000"\n</script>\n' +
svg
.replace(
"<svg ",
"<svg {...$$$$restProps} on:click on:mouseover on:mouseenter on:mouseleave on:keydown on:focus ",
"<svg {...$$$$restProps} on:click on:mouseover on:mouseenter on:mouseleave on:keydown on:focus "
)
.replace(/\\"/g, "\"")
.replace(/\\"/g, '"')
.replace(/(rgb\(0%,0%,0%\)|#000000|#000)/g, "{color}")
fs.writeFileSync("./src/assets/svg/" + nameUC + ".svelte", svelteCode, "utf8")
}
}
class GenerateIncludedImages extends Script {
constructor() {
super("Converts all images from assets/svg into svelte-classes.")
@ -59,7 +57,6 @@ class GenerateIncludedImages extends Script {
async main(args: string[]): Promise<void> {
genImages()
}
}

View file

@ -332,7 +332,6 @@ class LayerOverviewUtils extends Script {
return <QuestionableTagRenderingConfigJson[]>sharedQuestions.tagRenderings
}
return this.getSharedTagRenderings(
doesImageExist,
dict,
@ -807,7 +806,11 @@ class LayerOverviewUtils extends Script {
ScriptUtils.ReadSvgSync(themeFile.icon, (svg) => {
const width: string = svg["$"].width
if (width === undefined) {
throw "The logo at " + themeFile.icon + " does not have a defined width"
throw (
"The logo at " +
themeFile.icon +
" does not have a defined width"
)
}
const height: string = svg["$"].height
const err = themeFile.hideFromOverview ? console.warn : console.error
@ -818,9 +821,12 @@ class LayerOverviewUtils extends Script {
err(e)
}
if (width?.endsWith("%")) {
throw "The logo at " + themeFile.icon + " has a relative width; this is not supported"
throw (
"The logo at " +
themeFile.icon +
" has a relative width; this is not supported"
)
}
const w = parseInt(width)

View file

@ -457,27 +457,26 @@ class GenerateLayouts extends Script {
let ogImage = layout.socialImage
let twitterImage = ogImage
if (ogImage === LayoutConfig.defaultSocialImage && layout.official) {
try{
try {
ogImage = (await this.createSocialImage(layout, "")) ?? layout.socialImage
twitterImage = (await this.createSocialImage(layout, "Wide")) ?? layout.socialImage
}catch (e) {
} catch (e) {
console.error("Could not generate image:", e)
}
}
if (twitterImage.endsWith(".svg")) {
try{
// svgs are badly supported as social image, we use a generated svg instead
twitterImage = await this.createIcon(twitterImage, 512, alreadyWritten)
}catch (e) {
try {
// svgs are badly supported as social image, we use a generated svg instead
twitterImage = await this.createIcon(twitterImage, 512, alreadyWritten)
} catch (e) {
console.error("Could not generate image:", e)
}
}
if (ogImage.endsWith(".svg")) {
try{
try {
ogImage = await this.createIcon(ogImage, 512, alreadyWritten)
}catch (e) {
} catch (e) {
console.error("Could not generate image:", e)
}
}

View file

@ -9,7 +9,6 @@ import { ImmutableStore } from "../src/Logic/UIEventSource"
import { Utils } from "../src/Utils"
class HandleErrors extends Script {
constructor() {
super("Inspects the errors made on a given day. Argument: path to errors")
}
@ -30,9 +29,10 @@ class HandleErrors extends Script {
continue
}
try {
const parsed: {
ip: string, index: number, date: string,
ip: string
index: number
date: string
message: {
stacktrace: string
message: string
@ -51,18 +51,25 @@ class HandleErrors extends Script {
}
console.log(e.username, e.layout, e.message, parsed.date)
for (const pendingChange of e.pendingChanges) {
console.log("\t https://osm.org/" + pendingChange.type + "/" + pendingChange.id, pendingChange.meta.changeType, pendingChange.doDelete ? "DELETE" : "")
console.log(
"\t https://osm.org/" + pendingChange.type + "/" + pendingChange.id,
pendingChange.meta.changeType,
pendingChange.doDelete ? "DELETE" : ""
)
}
const neededIds = Changes.GetNeededIds(e.pendingChanges)
// We _do not_ pass in the Changes object itself - we want the data from OSM directly in order to apply the changes
const osmObjects: { id: string, osmObj: OsmObject | "deleted" }[] = await Promise.all<{
id: string;
osmObj: OsmObject | "deleted"
}>(
neededIds.map(async id => ({ id, osmObj: await downloader.DownloadObjectAsync(id) }))
)
const osmObjects: { id: string; osmObj: OsmObject | "deleted" }[] =
await Promise.all<{
id: string
osmObj: OsmObject | "deleted"
}>(
neededIds.map(async (id) => ({
id,
osmObj: await downloader.DownloadObjectAsync(id),
}))
)
const objects = osmObjects
.filter((obj) => obj.osmObj !== "deleted")
@ -70,40 +77,53 @@ class HandleErrors extends Script {
const { toUpload, refused } = Changes.fragmentChanges(e.pendingChanges, objects)
const changes: {
newObjects: OsmObject[]
modifiedObjects: OsmObject[]
deletedObjects: OsmObject[]
} = new Changes({
dryRun: new ImmutableStore(true),
osmConnection
osmConnection,
}).CreateChangesetObjects(toUpload, objects)
const changeset = Changes.createChangesetFor("", changes)
const path = "error_changeset_" + parsed.index + "_" + e.layout + "_" + e.username + ".osc"
if(changeset === "<osmChange version='0.6' generator='Mapcomplete 0.44.7'></osmChange>"){
console.log("Changes for "+parsed.index+": empty changeset, not creating a file for it")
}else if (createdChangesets.has(changeset)) {
console.log("Changeset " + parsed.index + " is identical to previously seen changeset, not writing to file")
const path =
"error_changeset_" + parsed.index + "_" + e.layout + "_" + e.username + ".osc"
if (
changeset ===
"<osmChange version='0.6' generator='Mapcomplete 0.44.7'></osmChange>"
) {
console.log(
"Changes for " +
parsed.index +
": empty changeset, not creating a file for it"
)
} else if (createdChangesets.has(changeset)) {
console.log(
"Changeset " +
parsed.index +
" is identical to previously seen changeset, not writing to file"
)
} else {
writeFileSync(path, changeset, "utf8")
createdChangesets.add(changeset)
}
const refusedContent = JSON.stringify(refused)
if (refusedFiles.has(refusedContent)) {
console.log("Refused changes for " + parsed.index + " is identical to previously seen changeset, not writing to file")
console.log(
"Refused changes for " +
parsed.index +
" is identical to previously seen changeset, not writing to file"
)
} else {
writeFileSync(path + ".refused.json", refusedContent, "utf8")
refusedFiles.add(refusedContent)
}
console.log("Written", path, "with " + e.pendingChanges.length + " changes")
} catch (e) {
console.log("Parsing line failed:", e)
}
}
}
}

View file

@ -6,7 +6,6 @@ import ScriptUtils from "./ScriptUtils"
import { IncomingMessage } from "node:http"
class ServerErrorReport extends Script {
private errorReport = 0
constructor() {
@ -14,7 +13,8 @@ class ServerErrorReport extends Script {
}
private getFilename(logDirectory: string, d: Date): string {
return logDirectory +
return (
logDirectory +
"/" +
d.getUTCFullYear() +
"_" +
@ -22,11 +22,18 @@ class ServerErrorReport extends Script {
"_" +
d.getUTCDate() +
".lines.json"
)
}
public reportError(path: string, queryParams: URLSearchParams, req: IncomingMessage, body: string | undefined, logDirectory: string): string {
public reportError(
path: string,
queryParams: URLSearchParams,
req: IncomingMessage,
body: string | undefined,
logDirectory: string
): string {
if (!body) {
throw "{\"error\": \"No body; use a post request\"}"
throw '{"error": "No body; use a post request"}'
}
console.log(body)
const ip = <string>req.headers["x-forwarded-for"]
@ -39,14 +46,13 @@ class ServerErrorReport extends Script {
const d = new Date()
const file = this.getFilename(logDirectory, d)
const date = d.toISOString()
const contents =
"\n" + JSON.stringify({ ip, index: this.errorReport, date, message: body })
const contents = "\n" + JSON.stringify({ ip, index: this.errorReport, date, message: body })
if (!existsSync(file)) {
writeFileSync(file, contents)
} else {
appendFileSync(file, contents)
}
this. errorReport++
this.errorReport++
return `{"status":"ok", "nr": ${this.errorReport}}`
}
@ -58,8 +64,8 @@ class ServerErrorReport extends Script {
console.log("Created this directory")
}
if (!existsSync(logDirectory+"/csp")) {
mkdirSync(logDirectory+"/csp")
if (!existsSync(logDirectory + "/csp")) {
mkdirSync(logDirectory + "/csp")
console.log("Created this directory")
}
@ -75,23 +81,33 @@ class ServerErrorReport extends Script {
errorsToday = contents.split("\n").length
}
return JSON.stringify({
"online": true,
"errors_today": errorsToday,
online: true,
errors_today: errorsToday,
})
},
},
{
mustMatch: "report",
mimetype: "application/json",
handle: async (path: string, queryParams: URLSearchParams, req: IncomingMessage, body: string | undefined) => {
handle: async (
path: string,
queryParams: URLSearchParams,
req: IncomingMessage,
body: string | undefined
) => {
return this.reportError(path, queryParams, req, body, logDirectory)
},
},
{
mustMatch: "csp",
mimetype: "application/json",
handle: async (path: string, queryParams: URLSearchParams, req: IncomingMessage, body: string | undefined) => {
return this.reportError(path, queryParams, req, body, logDirectory+"/csp")
handle: async (
path: string,
queryParams: URLSearchParams,
req: IncomingMessage,
body: string | undefined
) => {
return this.reportError(path, queryParams, req, body, logDirectory + "/csp")
},
},
])

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