diff --git a/Docs/Layers/atm.md b/Docs/Layers/atm.md
index fd9eda4db4..9448f3bfdd 100644
--- a/Docs/Layers/atm.md
+++ b/Docs/Layers/atm.md
@@ -75,6 +75,8 @@ This tagrendering has no question and is thus read-only
+This tagrendering is only visible in the popup if the following condition is met: `name~.+`
+
### brand
diff --git a/Docs/Themes/blind_osm.md b/Docs/Themes/blind_osm.md
index 559c538db1..0974041374 100644
--- a/Docs/Themes/blind_osm.md
+++ b/Docs/Themes/blind_osm.md
@@ -30,6 +30,7 @@ Available languages:
- en
- de
+ - nl
This document is autogenerated from [assets/themes/blind_osm/blind_osm.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/blind_osm/blind_osm.json)
\ No newline at end of file
diff --git a/Docs/Themes/osm_community_index.md b/Docs/Themes/osm_community_index.md
index e28cb4a625..c3e271c5a9 100644
--- a/Docs/Themes/osm_community_index.md
+++ b/Docs/Themes/osm_community_index.md
@@ -25,6 +25,7 @@ Available languages:
- en
- de
+ - nl
This document is autogenerated from [assets/themes/osm_community_index/osm_community_index.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/osm_community_index/osm_community_index.json)
\ No newline at end of file
diff --git a/Docs/wikiIndex.txt b/Docs/wikiIndex.txt
index c7aba5ac89..d9909239f0 100644
--- a/Docs/wikiIndex.txt
+++ b/Docs/wikiIndex.txt
@@ -157,7 +157,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/blind_osm blind_osm]
|region= Worldwide
-|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:_context|en}}
+|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:nl|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: Help to map features relevant for the blind
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
@@ -364,7 +364,7 @@
{{service_item
|name= [https://mapcomplete.osm.be/osm_community_index osm_community_index]
|region= Worldwide
-|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:_context|en}}
+|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:nl|en}}, {{#language:_context|en}}
|descr= A MapComplete theme: An index of community resources for OpenStreetMap.
|material= {{yes|[https://mapcomplete.osm.be/ Yes]}}
|image= MapComplete_Screenshot.png
diff --git a/UI/AllThemesGui.ts b/UI/AllThemesGui.ts
index 4533d35167..91e5cea02a 100644
--- a/UI/AllThemesGui.ts
+++ b/UI/AllThemesGui.ts
@@ -12,7 +12,7 @@ import Toggle from "./Input/Toggle"
import { SubtleButton } from "./Base/SubtleButton"
import { VariableUiElement } from "./Base/VariableUIElement"
import Svg from "../Svg"
-import {ImportViewerLinks} from "./BigComponents/UserInformation";
+import { ImportViewerLinks } from "./BigComponents/UserInformation"
export default class AllThemesGui {
setup() {
@@ -36,7 +36,9 @@ export default class AllThemesGui {
.onClick(() => state.osmConnection.AttemptLogin()),
state.osmConnection.isLoggedIn
),
- new ImportViewerLinks(state.osmConnection).SetClass("p-4 border-2 border-gray-500 m-4 block"),
+ new ImportViewerLinks(state.osmConnection).SetClass(
+ "p-4 border-2 border-gray-500 m-4 block"
+ ),
Translations.t.general.aboutMapcomplete
.Subs({ osmcha_link: Utils.OsmChaLinkFor(7) })
.SetClass("link-underline"),
diff --git a/UI/BaseUIElement.ts b/UI/BaseUIElement.ts
index dbf73e57e6..b7f92fc905 100644
--- a/UI/BaseUIElement.ts
+++ b/UI/BaseUIElement.ts
@@ -3,7 +3,7 @@
*
* Assumes a read-only configuration, so it has no 'ListenTo'
*/
-import {Utils} from "../Utils";
+import { Utils } from "../Utils"
export default abstract class BaseUIElement {
protected _constructedHtmlElement: HTMLElement
@@ -43,32 +43,32 @@ export default abstract class BaseUIElement {
this._constructedHtmlElement?.scrollTo(0, 0)
}
- public ScrollIntoView(options?: {
- onlyIfPartiallyHidden?: boolean
- }) {
- if(this._constructedHtmlElement === undefined){
+ public ScrollIntoView(options?: { onlyIfPartiallyHidden?: boolean }) {
+ if (this._constructedHtmlElement === undefined) {
return
}
- let alignToTop = true;
- if(options?.onlyIfPartiallyHidden){
+ let alignToTop = true
+ if (options?.onlyIfPartiallyHidden) {
// Is the element completely in the view?
- const parentRect = Utils.findParentWithScrolling(this._constructedHtmlElement.parentElement).getBoundingClientRect();
- const elementRect = this._constructedHtmlElement.getBoundingClientRect();
+ const parentRect = Utils.findParentWithScrolling(
+ this._constructedHtmlElement.parentElement
+ ).getBoundingClientRect()
+ const elementRect = this._constructedHtmlElement.getBoundingClientRect()
// Check if the element is within the vertical bounds of the parent element
const topIsVisible = elementRect.top >= parentRect.top
const bottomIsVisible = elementRect.bottom <= parentRect.bottom
- const inView = topIsVisible && bottomIsVisible ;
- if(inView){
+ const inView = topIsVisible && bottomIsVisible
+ if (inView) {
return
}
- if(topIsVisible){
+ if (topIsVisible) {
alignToTop = false
}
}
this._constructedHtmlElement?.scrollIntoView({
behavior: "smooth",
- block: "start"
+ block: "start",
})
}
/**
diff --git a/UI/DefaultGUI.ts b/UI/DefaultGUI.ts
index 6835198193..7fc3ec155e 100644
--- a/UI/DefaultGUI.ts
+++ b/UI/DefaultGUI.ts
@@ -1,7 +1,7 @@
import FeaturePipelineState from "../Logic/State/FeaturePipelineState"
import State from "../State"
-import {Utils} from "../Utils"
-import {UIEventSource} from "../Logic/UIEventSource"
+import { Utils } from "../Utils"
+import { UIEventSource } from "../Logic/UIEventSource"
import FullWelcomePaneWithTabs from "./BigComponents/FullWelcomePaneWithTabs"
import MapControlButton from "./MapControlButton"
import Svg from "../Svg"
@@ -16,7 +16,7 @@ import ScrollableFullScreen from "./Base/ScrollableFullScreen"
import Translations from "./i18n/Translations"
import SimpleAddUI from "./BigComponents/SimpleAddUI"
import StrayClickHandler from "../Logic/Actors/StrayClickHandler"
-import {DefaultGuiState} from "./DefaultGuiState"
+import { DefaultGuiState } from "./DefaultGuiState"
import LayerConfig from "../Models/ThemeConfig/LayerConfig"
import * as home_location_json from "../assets/layers/home_location/home_location.json"
import NewNoteUi from "./Popup/NewNoteUi"
@@ -24,11 +24,11 @@ import Combine from "./Base/Combine"
import AddNewMarker from "./BigComponents/AddNewMarker"
import FilteredLayer from "../Models/FilteredLayer"
import ExtraLinkButton from "./BigComponents/ExtraLinkButton"
-import {VariableUiElement} from "./Base/VariableUIElement";
-import Img from "./Base/Img";
-import UserInformationPanel from "./BigComponents/UserInformation";
-import {LoginToggle} from "./Popup/LoginButton";
-import {FixedUiElement} from "./Base/FixedUiElement";
+import { VariableUiElement } from "./Base/VariableUIElement"
+import Img from "./Base/Img"
+import UserInformationPanel from "./BigComponents/UserInformation"
+import { LoginToggle } from "./Popup/LoginButton"
+import { FixedUiElement } from "./Base/FixedUiElement"
/**
* The default MapComplete GUI initializer
@@ -127,7 +127,7 @@ export default class DefaultGUI {
addNewPoint,
hasPresets ? new AddNewMarker(state.filteredLayers) : noteMarker
)
- state.LastClickLocation.addCallbackAndRunD(_ => {
+ state.LastClickLocation.addCallbackAndRunD((_) => {
ScrollableFullScreen.collapse()
})
}
@@ -167,7 +167,7 @@ export default class DefaultGUI {
leafletMap: state.leafletMap,
layerToShow: selectedElement.layerDef,
features: state.selectedElementsLayer,
- state
+ state,
})
state.leafletMap.addCallbackAndRunD((_) => {
@@ -185,34 +185,36 @@ export default class DefaultGUI {
const self = this
new Combine([
Toggle.If(state.featureSwitchUserbadge, () => {
-
const userInfo = new UserInformationPanel(state)
const mapControl = new MapControlButton(
- new VariableUiElement(state.osmConnection.userDetails.map(ud => {
+ new VariableUiElement(
+ state.osmConnection.userDetails.map((ud) => {
if (ud?.img === undefined) {
return Svg.person_ui().SetClass("mt-1 block")
}
- return new Img(ud?.img);
- })).SetClass("block rounded-full overflow-hidden"),
- {
- dontStyle: true
- }
- ).onClick(() => userInfo.Activate());
+ return new Img(ud?.img)
+ })
+ ).SetClass("block rounded-full overflow-hidden"),
+ {
+ dontStyle: true,
+ }
+ ).onClick(() => userInfo.Activate())
return new LoginToggle(
- mapControl, Translations.t.general.loginWithOpenStreetMap, state
+ mapControl,
+ Translations.t.general.loginWithOpenStreetMap,
+ state
)
-
-
-
}),
Toggle.If(
state.featureSwitchExtraLinkEnabled,
() => new ExtraLinkButton(state, state.layoutToUse.extraLink)
),
Toggle.If(state.featureSwitchWelcomeMessage, () => self.InitWelcomeMessage()),
- Toggle.If(state.featureSwitchIsTesting, () => new FixedUiElement("TESTING").SetClass("alert m-2 border-2 border-black"))
+ Toggle.If(state.featureSwitchIsTesting, () =>
+ new FixedUiElement("TESTING").SetClass("alert m-2 border-2 border-black")
+ ),
])
.SetClass("flex flex-col")
.AttachTo("top-left")
@@ -229,8 +231,11 @@ export default class DefaultGUI {
.SetClass("flex items-center justify-center normal-background h-full")
.AttachTo("on-small-screen")
- Toggle.If(state.featureSwitchSearch, () => new SearchAndGo(state).SetClass("shadow rounded-full h-min w-full overflow-hidden sm:max-w-sm pointer-events-auto")).AttachTo("top-right")
-
+ Toggle.If(state.featureSwitchSearch, () =>
+ new SearchAndGo(state).SetClass(
+ "shadow rounded-full h-min w-full overflow-hidden sm:max-w-sm pointer-events-auto"
+ )
+ ).AttachTo("top-right")
new LeftControls(state, guiState).AttachTo("bottom-left")
new RightControls(state).AttachTo("bottom-right")
@@ -256,11 +261,7 @@ export default class DefaultGUI {
private InitWelcomeMessage(): BaseUIElement {
const isOpened = this.guiState.welcomeMessageIsOpened
- new FullWelcomePaneWithTabs(
- isOpened,
- this.guiState.welcomeMessageOpenedTab,
- this.state
- )
+ new FullWelcomePaneWithTabs(isOpened, this.guiState.welcomeMessageOpenedTab, this.state)
// ?-Button on Desktop, opens panel with close-X.
const help = new MapControlButton(Svg.help_svg())
@@ -280,6 +281,6 @@ export default class DefaultGUI {
isOpened.setData(false)
})
- return help.SetClass("pointer-events-auto")
+ return help.SetClass("pointer-events-auto")
}
}
diff --git a/assets/contributors.json b/assets/contributors.json
index 91b88a085d..9553d4ab40 100644
--- a/assets/contributors.json
+++ b/assets/contributors.json
@@ -1,11 +1,11 @@
{
"contributors": [
{
- "commits": 4686,
+ "commits": 4735,
"contributor": "Pieter Vander Vennet"
},
{
- "commits": 259,
+ "commits": 300,
"contributor": "Robin van der Linde"
},
{
@@ -81,12 +81,12 @@
"contributor": "ToastHawaii"
},
{
- "commits": 13,
- "contributor": "Nicole"
+ "commits": 14,
+ "contributor": "dependabot[bot]"
},
{
- "commits": 12,
- "contributor": "dependabot[bot]"
+ "commits": 13,
+ "contributor": "Nicole"
},
{
"commits": 12,
diff --git a/assets/layers/artwork/artwork.json b/assets/layers/artwork/artwork.json
index 9c7af91cc9..3b2b4af579 100644
--- a/assets/layers/artwork/artwork.json
+++ b/assets/layers/artwork/artwork.json
@@ -127,7 +127,9 @@
"tagRenderings": [
"images",
{
- "labels": ["artwork-question"],
+ "labels": [
+ "artwork-question"
+ ],
"render": {
"en": "This is a {artwork_type}",
"nl": "Dit is een {artwork_type}",
@@ -449,7 +451,9 @@
},
{
"id": "artwork-artist-wikidata",
- "labels": ["artwork-question"],
+ "labels": [
+ "artwork-question"
+ ],
"render": {
"en": "This artwork was made by {wikidata_label(artist:wikidata):font-weight:bold}
{wikipedia(artist:wikidata)}",
"de": "Dieses Kunstwerk wurde geschaffen von {wikidata_label(artist:wikidata):font-weight:bold}
{wikipedia(artist:wikidata)}",
@@ -521,7 +525,9 @@
},
"condition": "artist:wikidata=",
"id": "artwork-artist_name",
- "labels": ["artwork-question"]
+ "labels": [
+ "artwork-question"
+ ]
},
{
"question": {
@@ -565,7 +571,9 @@
"type": "url"
},
"id": "artwork-website",
- "labels": ["artwork-question"]
+ "labels": [
+ "artwork-question"
+ ]
},
"wikipedia",
{
@@ -591,7 +599,9 @@
"pt": "A obra de arte representa {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}",
"es": "Esta obra de arte representa {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}"
},
- "labels": ["artwork-question"]
+ "labels": [
+ "artwork-question"
+ ]
},
{
"id": "doubles_as_bench",
@@ -662,4 +672,4 @@
"filter": [
"has_image"
]
-}
+}
\ No newline at end of file
diff --git a/assets/layers/atm/atm.json b/assets/layers/atm/atm.json
index c092e2274e..d38c727779 100644
--- a/assets/layers/atm/atm.json
+++ b/assets/layers/atm/atm.json
@@ -84,4 +84,4 @@
]
}
]
-}
+}
\ No newline at end of file
diff --git a/assets/layers/bench/bench.json b/assets/layers/bench/bench.json
index 709a2f838c..76f5549815 100644
--- a/assets/layers/bench/bench.json
+++ b/assets/layers/bench/bench.json
@@ -839,7 +839,6 @@
"condition": "tourism=artwork"
}
}
-
],
"presets": [
{
@@ -943,4 +942,4 @@
},
"has_image"
]
-}
+}
\ No newline at end of file
diff --git a/assets/layers/bench_at_pt/bench_at_pt.json b/assets/layers/bench_at_pt/bench_at_pt.json
index cae6134077..f36acc7e38 100644
--- a/assets/layers/bench_at_pt/bench_at_pt.json
+++ b/assets/layers/bench_at_pt/bench_at_pt.json
@@ -233,7 +233,10 @@
}
],
"softDeletionTags": {
- "and": ["disused:highway=bus_stop","bench=no"]
+ "and": [
+ "disused:highway=bus_stop",
+ "bench=no"
+ ]
}
},
"description": {
@@ -245,4 +248,4 @@
"da": "Et lag, der viser alle offentlige stoppesteder, som har en bænk",
"cs": "Vrstva zobrazující všechny zastávky veřejné dopravy, které mají lavičku"
}
-}
+}
\ No newline at end of file
diff --git a/assets/layers/climbing_gym/climbing_gym.json b/assets/layers/climbing_gym/climbing_gym.json
index 58b176cc3f..b0f0eeae04 100644
--- a/assets/layers/climbing_gym/climbing_gym.json
+++ b/assets/layers/climbing_gym/climbing_gym.json
@@ -78,7 +78,7 @@
},
"opening_hours",
"climbing.toprope",
-{
+ {
"builtin": "climbing.average_length",
"override": {
"condition": "climbing:toprope!=no"
@@ -171,4 +171,4 @@
}
}
]
-}
+}
\ No newline at end of file
diff --git a/assets/layers/etymology/etymology.json b/assets/layers/etymology/etymology.json
index bf2cfb0b99..4e902feec5 100644
--- a/assets/layers/etymology/etymology.json
+++ b/assets/layers/etymology/etymology.json
@@ -454,4 +454,4 @@
}
}
]
-}
+}
\ No newline at end of file
diff --git a/assets/layers/filters/filters.json b/assets/layers/filters/filters.json
index 1ef180ee80..91f6231ab0 100644
--- a/assets/layers/filters/filters.json
+++ b/assets/layers/filters/filters.json
@@ -62,7 +62,7 @@
"options": [
{
"question": {
- "en":"With and without images",
+ "en": "With and without images",
"nl": "Met en zonder afbeelding"
}
},
@@ -175,4 +175,4 @@
]
}
]
-}
+}
\ No newline at end of file
diff --git a/assets/layers/selected_element/selected_element.json b/assets/layers/selected_element/selected_element.json
index 7c9393ba31..f322b58631 100644
--- a/assets/layers/selected_element/selected_element.json
+++ b/assets/layers/selected_element/selected_element.json
@@ -12,9 +12,12 @@
{
"icon": "circle:red",
"iconSize": "1,1,center",
- "location": ["point","projected_centerpoint"],
+ "location": [
+ "point",
+ "projected_centerpoint"
+ ],
"css": "box-shadow: red 0 0 20px 20px; z-index: -1; height: 1px; width: 1px;",
"cssClasses": "block relative rounded-full"
}
]
-}
+}
\ No newline at end of file
diff --git a/assets/tagRenderings/questions.json b/assets/tagRenderings/questions.json
index 0ffb0350a0..5756feaca8 100644
--- a/assets/tagRenderings/questions.json
+++ b/assets/tagRenderings/questions.json
@@ -689,14 +689,16 @@
"if": "opening_hours=\"by appointment\"",
"then": {
"en": "Only by appointment",
- "de": "Nur nach Vereinbarung"
+ "de": "Nur nach Vereinbarung",
+ "nl": "Alleen op afspraak"
}
},
{
"if": "opening_hours~i~\"by appointment\"|by appointment",
"then": {
"en": "Only by appointment",
- "de": "Nur nach Vereinbarung"
+ "de": "Nur nach Vereinbarung",
+ "nl": "Alleen op afspraak"
},
"hideInAnswer": true
}
diff --git a/assets/themes/atm/atm.json b/assets/themes/atm/atm.json
index ebf699264b..c2b0dac81d 100644
--- a/assets/themes/atm/atm.json
+++ b/assets/themes/atm/atm.json
@@ -13,4 +13,4 @@
"layers": [
"atm"
]
-}
+}
\ No newline at end of file
diff --git a/assets/themes/benches/benches.json b/assets/themes/benches/benches.json
index 1dbe93fbd9..14f11f7b3e 100644
--- a/assets/themes/benches/benches.json
+++ b/assets/themes/benches/benches.json
@@ -63,4 +63,4 @@
"bench_at_pt"
],
"credits": "Florian Edelmann"
-}
+}
\ No newline at end of file
diff --git a/assets/themes/blind_osm/blind_osm.json b/assets/themes/blind_osm/blind_osm.json
index 66c250c089..4009fd570d 100644
--- a/assets/themes/blind_osm/blind_osm.json
+++ b/assets/themes/blind_osm/blind_osm.json
@@ -2,11 +2,13 @@
"id": "blind_osm",
"title": {
"en": "OSM for the blind",
- "de": "OSM für Blinde"
+ "de": "OSM für Blinde",
+ "nl": "OSM voor blinden"
},
"description": {
"en": "Help to map features relevant for the blind",
- "de": "Hilfe zur Kartierung blindenrelevanter Merkmale"
+ "de": "Hilfe zur Kartierung blindenrelevanter Merkmale",
+ "nl": "Help zaken die relevant zijn voor blinden in kaart te brengen"
},
"icon": "./assets/themes/blind_osm/Blindicon.svg",
"startLat": 52.99238,
diff --git a/assets/themes/campersite/campersite.json b/assets/themes/campersite/campersite.json
index e153519c0c..5e44c224fc 100644
--- a/assets/themes/campersite/campersite.json
+++ b/assets/themes/campersite/campersite.json
@@ -732,7 +732,7 @@
"de": "Es sind nur Plätze für Dauercamper vorhanden (wenn Sie diese Antwort auswählen, verschwindet der Ort von der Karte)",
"es": "Solo es posible permanecer aquí si tienes un contrato a largo plazo (este lugar desaparecerá de este mapa si escoges esto)",
"da": "Det er kun muligt at bo her, hvis du har en langtidskontrakt (dette sted forsvinder fra kortet, hvis du vælger dette)",
- "nl": "Hier kan je enkel verblijven met een langetermijnscontract (deze plaats zal verborgen worden van deze kaart als je dit kiest)",
+ "nl": "Hier kan je enkel verblijven met een langetermijnscontract (deze plaats verdwijnt van deze kaart als je dit kiest)",
"ca": "Només és possible romandre aquí si teniu un contracte a llarg termini (aquest lloc desapareixerà d'aquest mapa si trieu això)",
"nb_NO": "Det er kun mulig å bo her hvis man har en langtidskontrakt (dette stedet vil forsvinne fra kartet hvis du velger dette)"
}
diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
index 80c6edbffa..9175bec25b 100644
--- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json
+++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
@@ -122,6 +122,10 @@
"if": "theme=artwork",
"then": "./assets/themes/artwork/artwork.svg"
},
+ {
+ "if": "theme=atm",
+ "then": "./assets/themes/atm/logo.svg"
+ },
{
"if": "theme=bag",
"then": "./assets/themes/bag/logo.svg"
diff --git a/assets/themes/maps/maps.json b/assets/themes/maps/maps.json
index 1da32d5146..55de5726e9 100644
--- a/assets/themes/maps/maps.json
+++ b/assets/themes/maps/maps.json
@@ -45,4 +45,4 @@
"layers": [
"map"
]
-}
+}
\ No newline at end of file
diff --git a/assets/themes/maxspeed/maxspeed.json b/assets/themes/maxspeed/maxspeed.json
index 9357b086b4..4eac04116f 100644
--- a/assets/themes/maxspeed/maxspeed.json
+++ b/assets/themes/maxspeed/maxspeed.json
@@ -21,7 +21,8 @@
"en": "This map shows the legally allowed maximum speed on every road. If a maxspeed is missing or wrong, you can correct it here.",
"de": "Diese Karte zeigt die zulässige Höchstgeschwindigkeit auf jeder Straße. Wenn eine Höchstgeschwindigkeit fehlt oder falsch ist, können Sie dies hier korrigieren.",
"fr": "Cette carte montre la vitesse maximale autorisée sur les routes. Si la vitesse maximale est manquante ou erronée, vous pouvez la corriger ici.",
- "da": "Dette kort viser den lovligt tilladte maksimale hastighed på hver vej. Hvis en maxspeed mangler eller er forkert, kan du rette den her."
+ "da": "Dette kort viser den lovligt tilladte maksimale hastighed på hver vej. Hvis en maxspeed mangler eller er forkert, kan du rette den her.",
+ "nl": "Deze kaart toont de maximum toegestane snelheid voor elke weg. Als er een maximumsnelheid mist of niet klopt, kan je hem hier aanpassen."
},
"icon": "./assets/themes/maxspeed/maxspeed_logo.svg",
"startLat": 0,
diff --git a/assets/themes/osm_community_index/osm_community_index.json b/assets/themes/osm_community_index/osm_community_index.json
index 6819de6817..14de61f478 100644
--- a/assets/themes/osm_community_index/osm_community_index.json
+++ b/assets/themes/osm_community_index/osm_community_index.json
@@ -2,15 +2,18 @@
"id": "osm_community_index",
"title": {
"en": "OSM Community Index",
- "de": "OSM-Community-Index"
+ "de": "OSM-Community-Index",
+ "nl": "OSM Community Overzicht"
},
"description": {
"en": "A list of resources for users of OpenStreetMap. 'Resources' can be links to forums, meetups, Slack groups, IRC channels, mailing lists, and so on. Anything that mappers, especially beginners, might find interesting or helpful.",
- "de": "Eine Liste von Ressourcen für Nutzer von OpenStreetMap. 'Ressourcen' können Links zu Foren, Treffen, Slack-Gruppen, IRC-Kanälen, Mailinglisten und so weiter sein. Alles, was Mapper, insbesondere Anfänger, interessant oder hilfreich finden könnten."
+ "de": "Eine Liste von Ressourcen für Nutzer von OpenStreetMap. 'Ressourcen' können Links zu Foren, Treffen, Slack-Gruppen, IRC-Kanälen, Mailinglisten und so weiter sein. Alles, was Mapper, insbesondere Anfänger, interessant oder hilfreich finden könnten.",
+ "nl": "Een lijst van hulpmiddelen van gebruikers van OpenStreetMap. 'Hulpmiddelen' kunnen fora, meetups, Slack groepen, IRC kanalen, mailinglijsten, en meer zijn. Alles dat mappers, vooral beginners, nuttig of behulpzaam kunnen vinden."
},
"shortDescription": {
"en": "An index of community resources for OpenStreetMap.",
- "de": "Ein Index von Community-Ressourcen für OpenStreetMap."
+ "de": "Ein Index von Community-Ressourcen für OpenStreetMap.",
+ "nl": "Een overzicht van hulpbronnen voor OpenStreetMap van de community."
},
"icon": "./assets/themes/osm_community_index/osm.svg",
"startLat": 50.8465573,
diff --git a/assets/translators.json b/assets/translators.json
index eb4b139f35..d81b7d13ee 100644
--- a/assets/translators.json
+++ b/assets/translators.json
@@ -1,11 +1,11 @@
{
"contributors": [
{
- "commits": 213,
+ "commits": 214,
"contributor": "Pieter Vander Vennet"
},
{
- "commits": 190,
+ "commits": 191,
"contributor": "kjon"
},
{
@@ -17,7 +17,7 @@
"contributor": "danieldegroot2"
},
{
- "commits": 45,
+ "commits": 48,
"contributor": "Robin van der Linde"
},
{
diff --git a/langs/de.json b/langs/de.json
index 59c3cfe70e..2597921ca0 100644
--- a/langs/de.json
+++ b/langs/de.json
@@ -86,6 +86,7 @@
"add": {
"addNew": "{category} hinzufügen",
"addNewMapLabel": "Hier klicken, um ein neues Element hinzuzufügen",
+ "backToSelect": "Wählen Sie eine andere Kategorie",
"confirmButton": "Eine {category} hinzufügen.
{inscription}
" + }, "bench-material": { "mappings": { "0": { @@ -368,11 +427,32 @@ "question": "What is the bench (seating) made from?", "render": "Material: {material}" }, + "bench-memorial": { + "mappings": { + "0": { + "then": "This bench is a memorial for someone or something" + }, + "1": { + "then": "This bench is a not a memorial for someone or something" + } + }, + "question": "Does this bench act as memorial for someone or something?" + }, "bench-seats": { + "mappings": { + "0": { + "then": "This bench does not have separated seats" + } + }, "question": "How many seats does this bench have?", "render": "{seats} seats" }, "bench-survey:date": { + "mappings": { + "0": { + "then": "Surveyed today!" + } + }, "question": "When was this bench last surveyed?", "render": "This bench was last surveyed on {survey:date}" } @@ -382,6 +462,18 @@ } }, "bench_at_pt": { + "deletion": { + "extraDeleteReasons": { + "0": { + "explanation": "This bus stop is not used anymore" + } + }, + "nonDeleteMappings": { + "0": { + "then": "This bus stop does not have a bench (there never was one or it has been removed)" + } + } + }, "description": "A layer showing all public-transport-stops which do have a bench", "name": "Benches at public transport stops", "tagRenderings": { @@ -3768,6 +3860,9 @@ }, "3": { "options": { + "0": { + "question": "With and without images" + }, "1": { "question": "Has at least one image" }, @@ -6507,6 +6602,9 @@ "render": "School {name}" } }, + "selected_element": { + "description": "Highlights the currently selected element. Override this layer to have different colors" + }, "shelter": { "description": "Layer showing shelter structures", "name": "Shelter", @@ -7288,6 +7386,11 @@ "freeform": { "placeholder": "Name of the operator" }, + "mappings": { + "0": { + "then": "Dutch Railways (NS)" + } + }, "question": "Who is the operator of this ticket machine?", "render": "This ticket machine is operated by {operator}" } diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 76dc8524d4..c58590e9ba 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -256,6 +256,28 @@ }, "bench": { "description": "Een zitbank is een houten, metalen, stenen, … oppervlak waar een mens kan zitten. Deze laag toont ze en stelt er enkele vragen over.", + "filter": { + "0": { + "options": { + "0": { + "question": "is een gedenkteken" + } + } + }, + "1": { + "options": { + "0": { + "question": "Met en zonder rugleuning" + }, + "1": { + "question": "Heeft een rugleuning" + }, + "2": { + "question": "Heeft geen rugleuning" + } + } + } + }, "name": "Zitbanken", "presets": { "0": { @@ -263,6 +285,17 @@ } }, "tagRenderings": { + "bench-artwork": { + "mappings": { + "0": { + "then": "Deze bank heeft een geïntegreerd kunstwerk" + }, + "1": { + "then": "Deze bank heeft geen geïntegreerd kunstwerk" + } + }, + "question": "Heeft deze bank een geïntegreerd kunstwerk?{inscription}
" + }, "bench-material": { "mappings": { "0": { @@ -332,11 +377,32 @@ "question": "Uit welk materiaal is het zitgedeelte van deze zitbank gemaakt?", "render": "Gemaakt van {material}" }, + "bench-memorial": { + "mappings": { + "0": { + "then": "Deze bank is een gedenkteken aan iemand of iets" + }, + "1": { + "then": "Deze bank is geen gedenkteken aan iemand of iets" + } + }, + "question": "Is deze bank een gedenkteken voor iemand of iets?" + }, "bench-seats": { + "mappings": { + "0": { + "then": "Deze bank is niet ingedeeld in aparte zitplaatsen" + } + }, "question": "Hoeveel zitplaatsen heeft deze bank?", "render": "{seats} zitplaatsen" }, "bench-survey:date": { + "mappings": { + "0": { + "then": "Vandaag nagekeken!" + } + }, "question": "Wanneer is deze laatste bank laatst gesurveyed?", "render": "Deze bank is laatst gesurveyd op {survey:date}" } @@ -3662,6 +3728,9 @@ }, "3": { "options": { + "0": { + "question": "Met en zonder afbeelding" + }, "1": { "question": "Heeft minstens één afbeelding" }, @@ -6133,6 +6202,9 @@ "render": "School {name}" } }, + "selected_element": { + "description": "Toont het geselecteerde element" + }, "shelter": { "name": "Schuilplaats", "tagRenderings": { @@ -6844,6 +6916,17 @@ } } }, + "ticket_machine": { + "tagRenderings": { + "operator": { + "mappings": { + "0": { + "then": "Nederlandse Spoorwegen (NS)" + } + } + } + } + }, "toilet": { "description": "Een laag die publieke toiletten toont", "filter": { diff --git a/langs/nl.json b/langs/nl.json index 8539dd1e14..b26bdca0e3 100644 --- a/langs/nl.json +++ b/langs/nl.json @@ -86,6 +86,7 @@ "add": { "addNew": "Voeg {category} toe", "addNewMapLabel": "Klik hier om een item toe te voegen", + "backToSelect": "Selecteer een andere categorie", "confirmButton": "Voeg een {category} toe