diff --git a/Docs/Themes/atm.md b/Docs/Themes/atm.md index a2300c93a..db0924212 100644 --- a/Docs/Themes/atm.md +++ b/Docs/Themes/atm.md @@ -26,6 +26,7 @@ Available languages: - en - de - fr + - nl This document is autogenerated from [assets/themes/atm/atm.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/atm/atm.json) \ No newline at end of file diff --git a/Docs/wikiIndex.txt b/Docs/wikiIndex.txt index c6c0ef3c8..5c2bc7b66 100644 --- a/Docs/wikiIndex.txt +++ b/Docs/wikiIndex.txt @@ -112,7 +112,7 @@ {{service_item |name= [https://mapcomplete.osm.be/atm atm] |region= Worldwide -|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:_context|en}} +|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:fr|en}}, {{#language:nl|en}}, {{#language:_context|en}} |descr= A MapComplete theme: This map shows ATMs to withdraw or deposit money |material= {{yes|[https://mapcomplete.osm.be/ Yes]}} |image= MapComplete_Screenshot.png diff --git a/UI/AllThemesGui.ts b/UI/AllThemesGui.ts index 7a4cd705a..68cb52ddb 100644 --- a/UI/AllThemesGui.ts +++ b/UI/AllThemesGui.ts @@ -8,12 +8,9 @@ import { Utils } from "../Utils" import LanguagePicker1 from "./LanguagePicker" import IndexText from "./BigComponents/IndexText" import FeaturedMessage from "./BigComponents/FeaturedMessage" -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 {LoginToggle} from "./Popup/LoginButton"; +import { LoginToggle } from "./Popup/LoginButton" +import UserSurveyPanel from "./UserSurveyPanel" export default class AllThemesGui { setup() { @@ -29,12 +26,9 @@ export default class AllThemesGui { new Combine([ intro, new FeaturedMessage().SetClass("mb-4 block"), + new Combine([new UserSurveyPanel()]).SetClass("flex justify-center"), new MoreScreen(state, true), - new LoginToggle( - undefined, - Translations.t.index.logIn, - state - ), + new LoginToggle(undefined, Translations.t.index.logIn, state), new ImportViewerLinks(state.osmConnection), Translations.t.general.aboutMapcomplete .Subs({ osmcha_link: Utils.OsmChaLinkFor(7) }) diff --git a/UI/BigComponents/ThemeIntroductionPanel.ts b/UI/BigComponents/ThemeIntroductionPanel.ts index 9c117a1a9..b6817917a 100644 --- a/UI/BigComponents/ThemeIntroductionPanel.ts +++ b/UI/BigComponents/ThemeIntroductionPanel.ts @@ -13,6 +13,7 @@ import LoggedInUserIndicator from "../LoggedInUserIndicator" import { ActionButtons } from "./ActionButtons" import { BBox } from "../../Logic/BBox" import Loc from "../../Models/Loc" +import UserSurveyPanel from "../UserSurveyPanel" export default class ThemeIntroductionPanel extends Combine { constructor( @@ -68,7 +69,8 @@ export default class ThemeIntroductionPanel extends Combine { const hasPresets = layout.layers.some((l) => l.presets?.length > 0) super([ - layout.description.Clone().SetClass("blcok mb-4"), + layout.description.Clone().SetClass("block mb-4"), + new UserSurveyPanel(), new Combine([ t.welcomeExplanation.general, hasPresets diff --git a/UI/UserSurveyPanel.ts b/UI/UserSurveyPanel.ts new file mode 100644 index 000000000..992589561 --- /dev/null +++ b/UI/UserSurveyPanel.ts @@ -0,0 +1,50 @@ +import Combine from "./Base/Combine" +import { FixedUiElement } from "./Base/FixedUiElement" +import { SubtleButton } from "./Base/SubtleButton" +import Svg from "../Svg" +import { LocalStorageSource } from "../Logic/Web/LocalStorageSource" +import Toggle from "./Input/Toggle" + +export default class UserSurveyPanel extends Toggle { + private static readonly userSurveyHasBeenTaken = LocalStorageSource.GetParsed( + "usersurvey-has-been-taken", + false + ) + + constructor() { + super( + new Combine([ + new FixedUiElement("Thanks for taking the survey!").SetClass("thanks px-2"), + new SubtleButton(Svg.star_svg(), "Take the user survey again", { + imgSize: "h-6 w-6", + }) + .onClick(() => { + window.open( + "https://framaforms.org/mapcomplete-usage-survey-1672687708", + "_blank" + ) + UserSurveyPanel.userSurveyHasBeenTaken.setData(false) + }) + .SetClass("h-12"), + ]), + new Combine([ + new FixedUiElement("Please, fill in the user survey").SetClass("alert"), + "Hey! We'd like to get to know you better - would you mind to help out by filling out this form? Your opinion is important", + new FixedUiElement( + "We are specifically searching responses from underrepresented groups, such as non-technical people, minorities, women, people without an account, people of colour, ..." + ).SetClass("font-bold"), + "Results are fully anonymous and are used to improve MapComplete. We don't ask private information. So, don't hesitate and fill it out!", + new SubtleButton(Svg.star_outline_svg(), "Take the survey").onClick(() => { + window.open( + "https://framaforms.org/mapcomplete-usage-survey-1672687708", + "_blank" + ) + UserSurveyPanel.userSurveyHasBeenTaken.setData(true) + }), + ]).SetClass("block border-2 border-black rounded-xl flex flex-col p-2"), + UserSurveyPanel.userSurveyHasBeenTaken + ) + + this.SetStyle("max-width: 40rem") + } +} diff --git a/assets/contributors.json b/assets/contributors.json index 078e957dd..441f9454d 100644 --- a/assets/contributors.json +++ b/assets/contributors.json @@ -1,11 +1,11 @@ { "contributors": [ { - "commits": 4798, + "commits": 4811, "contributor": "Pieter Vander Vennet" }, { - "commits": 316, + "commits": 317, "contributor": "Robin van der Linde" }, { diff --git a/assets/layers/artwork/artwork.json b/assets/layers/artwork/artwork.json index 61ab288a5..364ccd984 100644 --- a/assets/layers/artwork/artwork.json +++ b/assets/layers/artwork/artwork.json @@ -612,7 +612,8 @@ "question": { "en": "Does this artwork serve as a bench?", "de": "Dient dieses Kunstwerk auch als Sitzbank?", - "fr": "Cette oeuvre d'art sert-elle de banc ?" + "fr": "Cette oeuvre d'art sert-elle de banc ?", + "nl": "Is dit kunstwerk ook een zitbank?" }, "mappings": [ { @@ -620,7 +621,8 @@ "then": { "en": "This artwork also serves as a bench", "de": "Dieses Kunstwerk dient auch als Sitzbank", - "fr": "Cette oeuvre d'art sert aussi de banc" + "fr": "Cette oeuvre d'art sert aussi de banc", + "nl": "Dit kunstwerk doet ook dienst als zitbank" } }, { @@ -628,7 +630,8 @@ "then": { "en": "This artwork does not serve as a bench", "de": "Dieses Kunstwerk dient nicht als Sitzbank", - "fr": "Cette oeuvre d'art ne sert pas de banc" + "fr": "Cette oeuvre d'art ne sert pas de banc", + "nl": "Dit kunstwerk doet geen dienst als zitbank" } }, { @@ -636,7 +639,8 @@ "then": { "en": "This artwork does not serve as a bench", "de": "Dieses Kunstwerk dient nicht als Sitzbank", - "fr": "Cette oeuvre d'art ne sert pas de banc" + "fr": "Cette oeuvre d'art ne sert pas de banc", + "nl": "Dit kunstwerk doet geen dienst als zitbank" }, "hideInAnswer": true } diff --git a/assets/layers/atm/atm.json b/assets/layers/atm/atm.json index 47200d678..6775bb025 100644 --- a/assets/layers/atm/atm.json +++ b/assets/layers/atm/atm.json @@ -116,14 +116,16 @@ "id": "cash_out", "question": { "en": "Can you withdraw cash from this ATM?", - "de": "Kann man an diesem Geldautomaten Bargeld abheben?" + "de": "Kann man an diesem Geldautomaten Bargeld abheben?", + "nl": "Kan je geld ophalen bij deze geldautomaat?" }, "mappings": [ { "if": "cash_out=", "then": { "en": "You can withdraw cash from this ATM", - "de": "Sie können an diesem Geldautomaten Bargeld abheben" + "de": "Sie können an diesem Geldautomaten Bargeld abheben", + "nl": "Je kan geld ophalen bij deze geldautomaat" }, "hideInAnswer": true }, @@ -131,14 +133,16 @@ "if": "cash_out=yes", "then": { "en": "You can withdraw cash from this ATM", - "de": "An diesem Geldautomaten können Sie Bargeld abheben" + "de": "An diesem Geldautomaten können Sie Bargeld abheben", + "nl": "Je kan geld ophalen bij deze geldautomaat" } }, { "if": "cash_out=no", "then": { "en": "You cannot withdraw cash from this ATM", - "de": "Sie können an diesem Geldautomaten kein Bargeld abheben" + "de": "Sie können an diesem Geldautomaten kein Bargeld abheben", + "nl": "Je kan geen geld ophalen bij deze geldautomaat" } } ] @@ -154,7 +158,8 @@ "if": "cash_in=", "then": { "en": "You probably cannot deposit cash into this ATM", - "de": "Sie können wahrscheinlich kein Bargeld in diesen Geldautomaten einzahlen" + "de": "Sie können wahrscheinlich kein Bargeld in diesen Geldautomaten einzahlen", + "nl": "Je kan waarschijnlijk geen geld deponeren in deze geldautomaat" }, "hideInAnswer": true }, @@ -162,14 +167,16 @@ "if": "cash_in=yes", "then": { "en": "You can deposit cash into this ATM", - "de": "Sie können Bargeld in diesen Geldautomaten einzahlen" + "de": "Sie können Bargeld in diesen Geldautomaten einzahlen", + "nl": "Je kan geld deponeren in deze geldautomaat" } }, { "if": "cash_in=no", "then": { "en": "You cannot deposit cash into this ATM", - "de": "Sie können an diesem Geldautomaten kein Bargeld einzahlen" + "de": "Sie können an diesem Geldautomaten kein Bargeld einzahlen", + "nl": "Je kan geen geld deponeren in deze geldautomaat" } } ] @@ -178,21 +185,24 @@ "id": "speech_output", "question": { "en": "Does this ATM have speech output for visually impaired users?", - "de": "Verfügt dieser Geldautomat über eine Sprachausgabe für sehbehinderte Benutzer?" + "de": "Verfügt dieser Geldautomat über eine Sprachausgabe für sehbehinderte Benutzer?", + "nl": "Heeft deze automaat spraak voor slechtziende en blinde gebruikers?" }, "mappings": [ { "if": "speech_output=yes", "then": { "en": "This ATM has speech output, usually available through a headphone jack", - "de": "Dieser Geldautomat verfügt über eine Sprachausgabe, die normalerweise über eine Kopfhörerbuchse verfügbar ist" + "de": "Dieser Geldautomat verfügt über eine Sprachausgabe, die normalerweise über eine Kopfhörerbuchse verfügbar ist", + "nl": "Deze automaat heeft spraak, waarschijnlijk beschikbaar via een hoofdtelefoon-aansluiting" } }, { "if": "speech_output=no", "then": { "en": "This ATM does not have speech output", - "de": "Dieser Geldautomat hat keine Sprachausgabe" + "de": "Dieser Geldautomat hat keine Sprachausgabe", + "nl": "Deze automaat heeft geen spraak" } } ] @@ -206,15 +216,18 @@ "key": "speech_output", "question": { "en": "In which languages does this ATM have speech output?", - "de": "In welchen Sprachen hat dieser Geldautomat eine Sprachausgabe?" + "de": "In welchen Sprachen hat dieser Geldautomat eine Sprachausgabe?", + "nl": "In welke taal is de srpaak van deze geldautomaat?" }, "render_list_item": { "en": "This ATM has speech output in {language():font-bold}", - "de": "Dieser Geldautomat hat eine Sprachausgabe in {language():font-bold}" + "de": "Dieser Geldautomat hat eine Sprachausgabe in {language():font-bold}", + "nl": "Deze geldautomaat heeft spraak in {language():font-bold}" }, "render_single_language": { "en": "This ATM has speech output in {language():font-bold}", - "de": "Dieser Geldautomat hat eine Sprachausgabe in {language():font-bold}" + "de": "Dieser Geldautomat hat eine Sprachausgabe in {language():font-bold}", + "nl": "Deze automaat heeft spraak in {language():font-bold}" } } } @@ -249,7 +262,8 @@ { "question": { "en": "With speech output", - "de": "Mit Sprachausgabe" + "de": "Mit Sprachausgabe", + "nl": "Heeft spraak" }, "osmTags": "speech_output=yes" } diff --git a/assets/layers/bench_at_pt/bench_at_pt.json b/assets/layers/bench_at_pt/bench_at_pt.json index 5c4236879..8af04cb47 100644 --- a/assets/layers/bench_at_pt/bench_at_pt.json +++ b/assets/layers/bench_at_pt/bench_at_pt.json @@ -222,7 +222,8 @@ "then": { "en": "This bus stop does not have a bench (there never was one or it has been removed)", "de": "Diese Bushaltestelle hat keine Bank (es gab nie eine oder sie wurde entfernt)", - "fr": "Cette station de bus n'a pas de banc (il n'y en a jamais eu ou il a été retiré)" + "fr": "Cette station de bus n'a pas de banc (il n'y en a jamais eu ou il a été retiré)", + "nl": "Deze bushalte heeft geen zitbank (er is er nooit een geweest of deze is verwijderd)" } } ], @@ -232,7 +233,8 @@ "explanation": { "en": "This bus stop is not used anymore", "de": "Diese Bushaltestelle wird nicht mehr genutzt", - "fr": "Cette station de bus n'est plus utilisée" + "fr": "Cette station de bus n'est plus utilisée", + "nl": "Deze bushalte wordt niet meer gebruikt" } } ], diff --git a/assets/layers/bike_parking/bike_parking.json b/assets/layers/bike_parking/bike_parking.json index 29be69568..a6b951a8e 100644 --- a/assets/layers/bike_parking/bike_parking.json +++ b/assets/layers/bike_parking/bike_parking.json @@ -436,7 +436,7 @@ "nl": "Hoeveel fietsen kunnen in deze fietsparking (inclusief potentiëel bakfietsen)?", "gl": "Cantas bicicletas caben neste aparcadoiro de bicicletas (incluídas as posíbeis bicicletas de carga)?", "de": "Wie viele Fahrräder passen auf diesen Fahrrad-Parkplatz (einschließlich möglicher Lastenfahrräder)?", - "it": "Quante biciclette entrano in questo parcheggio per bici (incluse le eventuali bici da trasporto)?", + "it": "Quante biciclette entrano in questo parcheggio per bici (incluse le eventuali bici cargo)?", "zh_Hant": "這個單車停車場能放幾台單車 (包括裝箱單車)?", "es": "¿Cuántas bicicletas caben en este aparcamiento de bicicletas (incluyendo posibles bicicletas de carga)?", "da": "Hvor mange cykler er der plads til på denne cykelparkering (inklusive mulige ladcykler)?", @@ -562,7 +562,7 @@ "gl": "Este aparcadoiro de bicicletas ten espazo para bicicletas de carga?", "de": "Hat der Parkplatz Stellflächen für Lastenfahrräder?", "fr": "Est-ce que ce parking à vélo a des emplacements pour des vélos cargo ?", - "it": "Questo parcheggio dispone di posti specifici per le bici da trasporto?", + "it": "Questo parcheggio dispone di posti specifici per le bici cargo?", "zh_Hant": "這個單車停車場有地方放裝箱的單車嗎?", "pt_BR": "O estacionamento de bicicletas tem vagas para bicicletas de carga?", "pt": "O estacionamento de bicicletas tem vagas para bicicletas de carga?", @@ -579,7 +579,7 @@ "gl": "Este aparcadoiro ten espazo para bicicletas de carga", "de": "Der Parkplatz hat Stellflächen für Lastenfahrräder", "fr": "Ce parking a de la place pour les vélos cargo", - "it": "Questo parcheggio ha posto per bici da trasporto", + "it": "Questo parcheggio ha posto per bici cargo", "zh_Hant": "這個停車場有地方可以放裝箱單車", "pt_BR": "Este estacionamento tem vagas para bicicletas de carga", "pt": "Este estacionamento tem vagas para bicicletas de carga", @@ -596,7 +596,7 @@ "gl": "Este aparcadoiro ten espazos designados (oficiais) para bicicletas de carga.", "de": "Der Parkplatz hat ausgewiesene (offizielle) Stellflächen für Lastenfahrräder.", "fr": "Ce parking a des emplacements (officiellement) destinés aux vélos cargo.", - "it": "Questo parcheggio ha posti destinati (ufficialmente) alle bici da trasporto.", + "it": "Questo parcheggio ha posti destinati (ufficialmente) alle bici cargo.", "zh_Hant": "這停車場有設計 (官方) 空間給裝箱的單車。", "pt_BR": "Este estacionamento tem vagas (oficiais) projetadas para bicicletas de carga.", "pt": "Este estacionamento tem vagas (oficiais) projetadas para bicicletas de carga.", @@ -613,7 +613,7 @@ "gl": "Non está permitido aparcar bicicletas de carga", "de": "Der Parkplatz bietet keine Stellflächen für Lastenfahrräder", "fr": "Il est interdit de garer des vélos cargo", - "it": "Il parcheggio delle bici da trasporto è proibito", + "it": "Il parcheggio delle bici cargo è proibito", "pt_BR": "Você não tem permissão para estacionar bicicletas de carga", "pt": "Não tem permissão para estacionar bicicletas de carga", "es": "No está permitido aparcar bicicletas de carga", @@ -631,7 +631,7 @@ "fr": "Combien de vélos de transport entrent dans ce parking à vélos ?", "gl": "Cantas bicicletas de carga caben neste aparcadoiro de bicicletas?", "de": "Wie viele Lastenfahrräder passen auf diesen Fahrrad-Parkplatz?", - "it": "Quante bici da trasporto entrano in questo parcheggio per bici?", + "it": "Quante bici cargo entrano in questo parcheggio per bici?", "pt_BR": "Quantas bicicletas de carga cabem neste estacionamento de bicicletas?", "pt": "Quantas bicicletas de carga cabem neste estacionamento de bicicletas?", "es": "¿Cuántas bicicletas de carga caben en este aparcamiento de bicicletas?", @@ -644,7 +644,7 @@ "fr": "Ce parking a de la place pour {capacity:cargo_bike} vélos de transport", "gl": "Neste aparcadoiro caben {capacity:cargo_bike} bicicletas de carga", "de": "Auf diesen Parkplatz passen {capacity:cargo_bike} Lastenfahrräder", - "it": "Questo parcheggio può contenere {capacity:cargo_bike} bici da trasporto", + "it": "Questo parcheggio può contenere {capacity:cargo_bike} bici cargo", "pt_BR": "Neste estacionamento cabem {capacity:cargo_bike} bicicletas de carga", "pt": "Neste estacionamento cabem {capacity:cargo_bike} bicicletas de carga", "es": "En este aparcamiento caben {capacity:cargo_bike} bicicletas de carga", diff --git a/assets/layers/climbing_area/climbing_area.json b/assets/layers/climbing_area/climbing_area.json index 86b91489e..2ea6ebf4a 100644 --- a/assets/layers/climbing_area/climbing_area.json +++ b/assets/layers/climbing_area/climbing_area.json @@ -43,7 +43,7 @@ "fr": "Mur d’escalade {name}", "it": "Muro da arrampicata {name}", "de": "Klettergarten {name}", - "nl": "" + "nl": "Klimrots of klimzone {name}" } }, { @@ -210,7 +210,8 @@ "en": "A climbing crag - a single rock or cliff with at least a few climbing routes", "fr": "Mur d’escalade, rocher avec plusieurs voies d’escalades", "it": "Un muro da arrampicata (un singolo masso o falesia con almeno qualche via per arrampicata)", - "de": "Ein Kletterfelsen - ein einzelner Fels oder eine Klippe mit mindestens einigen Kletterrouten" + "de": "Ein Kletterfelsen - ein einzelner Fels oder eine Klippe mit mindestens einigen Kletterrouten", + "nl": "Een klimzone - een enkele rots of klif met klimroutes" } }, { diff --git a/assets/layers/climbing_gym/climbing_gym.json b/assets/layers/climbing_gym/climbing_gym.json index 04419ac92..77c57781e 100644 --- a/assets/layers/climbing_gym/climbing_gym.json +++ b/assets/layers/climbing_gym/climbing_gym.json @@ -80,19 +80,22 @@ { "id": "shoe_rental", "question": { - "en": "Can one rent climbing shoes here?" + "en": "Can one rent climbing shoes here?", + "nl": "Kunnen hier klimschoenen gehuurd worden?" }, "mappings": [ { "if": "service:rental:climbing_shoes=yes", "then": { - "en": "Climbing shoes can be rented here" + "en": "Climbing shoes can be rented here", + "nl": "Klimschoenen kunnen hier gehuurd worden" } }, { "if": "service:rental:climbing_shoes=no", "then": { - "en": "Climbing shoes can not be rented here" + "en": "Climbing shoes can not be rented here", + "nl": "Hier kunnen geen klimschoenen gehuurd worden" } } ] @@ -100,19 +103,22 @@ { "id": "harness_rental", "question": { - "en": "Can one rent a climbing harness here?" + "en": "Can one rent a climbing harness here?", + "nl": "Kan een klimgordel hier gehuurd worden?" }, "mappings": [ { "if": "service:rental:climbing_harness=yes", "then": { - "en": "A climbing harness can be rented here" + "en": "A climbing harness can be rented here", + "nl": "Een klimgordel kan hier gehuurd worden" } }, { "if": "service:rental:climbing_harness=no", "then": { - "en": "A climbing harness can not be rented here" + "en": "A climbing harness can not be rented here", + "nl": "Hier kunnen geen klimgordels gehuurd worden" } } ] diff --git a/assets/layers/climbing_route/climbing_route.json b/assets/layers/climbing_route/climbing_route.json index 0e1ddaa45..44b0f1d31 100644 --- a/assets/layers/climbing_route/climbing_route.json +++ b/assets/layers/climbing_route/climbing_route.json @@ -11,7 +11,8 @@ }, "description": { "en": "A single climbing route and its properties. Some properties are derived from the containing features", - "de": "Eine einzelne Kletterroute und ihre Eigenschaften. Einige Eigenschaften werden von übergeordneten Objekten abgeleitet" + "de": "Eine einzelne Kletterroute und ihre Eigenschaften. Einige Eigenschaften werden von übergeordneten Objekten abgeleitet", + "nl": "Een klimroute en de eigenschappen van deze klimroute. Sommige eigenschappen worden afgeleid van omliggende kaart-objecten" }, "minzoom": 18, "source": { @@ -150,13 +151,15 @@ "en": "How many bolts does this route have before reaching the anchor?", "fr": "Combien de prises cette voie possède avant d’atteindre la moulinette ?", "de": "Wie viele Haken gibt es auf dieser Kletterroute bevor der Umlenker bzw. Standhaken erreicht ist?", - "it": "Quanti bulloni sono presenti in questo percorso prima di arrivare alla moulinette?" + "it": "Quanti bulloni sono presenti in questo percorso prima di arrivare alla moulinette?", + "nl": "Hoeveel bouten heeft deze route voordat je het relay bereikt?" }, "render": { "en": "This route has {climbing:bolts} bolts
This is without relays and indicates how much quickdraws a climber needs
", "fr": "Cette voie a {climbing:bolts} prises
C'est sans relai et indique de combien de dégaine un grimpeur a besoin
", "de": "Diese Route hat {climbing:bolts} Haken
Dies ist ohne Relais und gibt an, wie viel Schnellspanner ein Kletterer braucht
", - "it": "Questo percorso ha {climbing:bolts} bulloni" + "it": "Questo percorso ha {climbing:bolts} bulloni", + "nl": "Deze route heeft {climbing:bolts} klimbouten.
Dit is zonder het relay mee te tellen. Een klimmer heeft dus minstens {climbing:bolts} klimsetjes nodig om boven te raken
" }, "freeform": { "key": "climbing:bolts", @@ -173,7 +176,8 @@ "en": "This route is not bolted", "fr": "Cette voie n’a pas de prises", "de": "Auf dieser Kletterroute sind keine Haken vorhanden", - "it": "In questo percorso non sono presenti bulloni" + "it": "In questo percorso non sono presenti bulloni", + "nl": "Deze route heeft geen bouten" }, "addExtraTags": [ "climbing:bolts=" @@ -188,7 +192,8 @@ "en": "The rock type is {_embedding_features_with_rock:rock} as stated on the surrounding crag", "fr": "Le type de roche est {_embedding_features_with_rock:rock} selon le mur", "it": "Il tipo di roccia è {_embedding_features_with_rock:rock} come dichiarato sul muro circostante", - "de": "Der Gesteinstyp ist {_embedding_features_with_rock:rock}, wie auf dem umgebenden Felsen angegeben" + "de": "Der Gesteinstyp ist {_embedding_features_with_rock:rock}, wie auf dem umgebenden Felsen angegeben", + "nl": "De steensoort is {_embedding_features_with_rock:rock} zoals vermeld op de omliggende klimzone" }, "freeform": { "key": "_embedding_features_with_rock:rock" diff --git a/assets/layers/doctors/doctors.json b/assets/layers/doctors/doctors.json index ee3ba379a..9f6b18d81 100644 --- a/assets/layers/doctors/doctors.json +++ b/assets/layers/doctors/doctors.json @@ -9,7 +9,8 @@ }, "description": { "en": "This layer shows doctor offices", - "de": "Diese Ebene zeigt Arztpraxen, Zahnärzte und andere Gesundheitseinrichtungen" + "de": "Diese Ebene zeigt Arztpraxen, Zahnärzte und andere Gesundheitseinrichtungen", + "nl": "Deze laag toont dokterspraktijken" }, "source": { "osmTags": "amenity=doctors" diff --git a/assets/layers/gps_track/gps_track.json b/assets/layers/gps_track/gps_track.json index 458e046b4..4b595f03b 100644 --- a/assets/layers/gps_track/gps_track.json +++ b/assets/layers/gps_track/gps_track.json @@ -15,7 +15,7 @@ "id": "Privacy notice", "render": { "en": "This is the path you've travelled since this website is opened. Don't worry - this is only visible to you and no one else. Your location data is never sent off-device.", - "nl": "Dit is waar je was sinds je deze website hebt geopened. Dit is enkel zichtbaar voor jou en niemand anders, je locatie wordt niet verstuurd", + "nl": "Dit is waar je was sinds je deze website hebt geopend. Dit is enkel zichtbaar voor jou en niemand anders. Je locatie wordt niet verstuurd buiten je apparaat.", "de": "Dies ist der Weg, den Sie seit dem Besuch dieser Webseite zurückgelegt haben. Keine Sorge - diese Daten sind nur für Sie sichtbar und für niemanden sonst. Ihre Standortdaten werden niemals an ein anderes Gerät gesendet.", "fr": "C'est le chemin que vous avez parcouru depuis l'ouverture de ce site. Ne vous inquiétez pas - ceci n'est visible que pour vous et personne d'autre. Vos données de localisation ne sont jamais envoyées hors de l'appareil." } diff --git a/assets/layers/toilet_at_amenity/toilet_at_amenity.json b/assets/layers/toilet_at_amenity/toilet_at_amenity.json index ae7cb2685..50ec080ff 100644 --- a/assets/layers/toilet_at_amenity/toilet_at_amenity.json +++ b/assets/layers/toilet_at_amenity/toilet_at_amenity.json @@ -2,7 +2,8 @@ "id": "toilet_at_amenity", "name": { "en": "Toilets at other amenities", - "de": "Toiletten in anderen Einrichtungen" + "de": "Toiletten in anderen Einrichtungen", + "nl": "Toilet in een voorziening" }, "minzoom": 12, "source": { @@ -11,7 +12,8 @@ "title": { "render": { "en": "Toilet at amenity", - "de": "Toilette in Einrichtung" + "de": "Toilette in Einrichtung", + "nl": "Toilet in een voorziening" }, "mappings": [ { @@ -66,14 +68,16 @@ "if": "toilets:access=customers", "then": { "en": "Only access to customers of the amenity", - "de": "Nur Zugang für Kunden der Einrichtung" + "de": "Nur Zugang für Kunden der Einrichtung", + "nl": "Enkel toegankelijk voor klanten van de voorziening" } }, { "if": "toilets:access=no", "then": { "en": "Not accessible, even for customers of the amenity", - "de": "Nicht zugänglich, auch nicht für Kunden der Einrichtung" + "de": "Nicht zugänglich, auch nicht für Kunden der Einrichtung", + "nl": "Niet toegankelijk, ook niet voor klanten van de voorziening" } }, { @@ -423,7 +427,8 @@ ], "description": { "en": "A layer showing (public) toilets located at different places.", - "de": "Eine Ebene mit (öffentlichen) Toiletten an verschiedenen Orten." + "de": "Eine Ebene mit (öffentlichen) Toiletten an verschiedenen Orten.", + "nl": "Een laag die (publiek toegankelijke) toiletten toont in verschillende andere voorzieningen." }, "units": [ { diff --git a/assets/themes/atm/atm.json b/assets/themes/atm/atm.json index 2e7c30f7d..dce56a1c5 100644 --- a/assets/themes/atm/atm.json +++ b/assets/themes/atm/atm.json @@ -3,12 +3,14 @@ "title": { "en": "ATM Machines", "de": "Geldautomaten", - "fr": "Distributeurs DAB" + "fr": "Distributeurs DAB", + "nl": "Geldautomaten" }, "description": { "en": "This map shows ATMs to withdraw or deposit money", "de": "Diese Karte zeigt Geldautomaten zum Abheben oder Einzahlen von Geld", - "fr": "Cette carte montre les DABs pour retirer ou déposer de l'argent" + "fr": "Cette carte montre les DABs pour retirer ou déposer de l'argent", + "nl": "Deze kaart toont geldautomaten waar je geld kunt afhalen of geld op de bank kan zetten" }, "icon": "./assets/themes/atm/logo.svg", "startLat": 0, diff --git a/assets/themes/cyclestreets/cyclestreets.json b/assets/themes/cyclestreets/cyclestreets.json index 9bb453c5e..2390b28c1 100644 --- a/assets/themes/cyclestreets/cyclestreets.json +++ b/assets/themes/cyclestreets/cyclestreets.json @@ -2,7 +2,7 @@ "id": "cyclestreets", "title": { "en": "Cyclestreets", - "nl": "Fietsstraten", + "nl": "Fietsstraten en fietszones", "ja": "Cyclestreets", "zh_Hant": "單車街道", "de": "Fahrradstraßen", @@ -30,7 +30,7 @@ "da": "Et kort over cykelgader" }, "description": { - "nl": "Een fietsstraat is een straat waar

Op deze open kaart kan je alle gekende fietsstraten zien en kan je ontbrekende fietsstraten aanduiden. Om de kaart aan te passen, moet je je aanmelden met OpenStreetMap en helemaal inzoomen tot straatniveau. ", + "nl": "Een fietsstraat is een straat waar

Op deze open kaart kan je alle gekende fietsstraten zien en kan je ontbrekende fietsstraten aanduiden. Fietszones worden aangeduid door elke straat apart als fietsstraat te markeren.
Om de kaart aan te passen, moet je je aanmelden met OpenStreetMap en helemaal inzoomen tot straatniveau. ", "en": "A cyclestreet is is a street where motorized traffic is not allowed to overtake cyclists. They are signposted by a special traffic sign. Cyclestreets can be found in the Netherlands and Belgium, but also in Germany and France. ", "ja": "cyclestreetとは、自動車がサイクリストを追い越すことができない道です。専用の道路標識で表示されます。Cyclestreetsはオランダやベルギーにもありますが、ドイツやフランスにもあります。 ", "zh_Hant": "單車街道是機動車輛受限制,只允許單車通行的道路。通常會有路標顯示特別的交通指標。單車街道通常在荷蘭、比利時看到,但德國與法國也有。 ", diff --git a/assets/themes/onwheels/onwheels.json b/assets/themes/onwheels/onwheels.json index 2433b8933..19042467d 100644 --- a/assets/themes/onwheels/onwheels.json +++ b/assets/themes/onwheels/onwheels.json @@ -223,7 +223,9 @@ } ], "name": { - "en": "Disabled parking spaces" + "en": "Disabled parking spaces", + "de": "Behindertenparkplätze", + "nl": "Parkeerplaatsen voor personen met een beperking" } }, "hideTagRenderingsWithLabels": [ diff --git a/assets/translators.json b/assets/translators.json index b6113f60c..96b7ff2c6 100644 --- a/assets/translators.json +++ b/assets/translators.json @@ -1,11 +1,11 @@ { "contributors": [ { - "commits": 217, + "commits": 228, "contributor": "Pieter Vander Vennet" }, { - "commits": 197, + "commits": 198, "contributor": "kjon" }, { @@ -17,7 +17,7 @@ "contributor": "danieldegroot2" }, { - "commits": 57, + "commits": 58, "contributor": "Robin van der Linde" }, { @@ -112,6 +112,10 @@ "commits": 8, "contributor": "Vinicius" }, + { + "commits": 7, + "contributor": "mcliquid" + }, { "commits": 7, "contributor": "快乐的老鼠宝宝" @@ -128,10 +132,6 @@ "commits": 7, "contributor": "Niels Elgaard Larsen" }, - { - "commits": 6, - "contributor": "mcliquid" - }, { "commits": 6, "contributor": "Joost Schouppe" @@ -160,6 +160,10 @@ "commits": 6, "contributor": "lvgx" }, + { + "commits": 5, + "contributor": "Fabio Bettani" + }, { "commits": 5, "contributor": "BMN" @@ -208,10 +212,6 @@ "commits": 4, "contributor": "Jan Zabel" }, - { - "commits": 4, - "contributor": "Fabio Bettani" - }, { "commits": 3, "contributor": "aleksej0R" diff --git a/css/index-tailwind-output.css b/css/index-tailwind-output.css index 94276247c..f20b7451f 100644 --- a/css/index-tailwind-output.css +++ b/css/index-tailwind-output.css @@ -988,6 +988,10 @@ video { height: 3rem; } +.h-6 { + height: 1.5rem; +} + .h-4 { height: 1rem; } @@ -1004,10 +1008,6 @@ video { height: 2.75rem; } -.h-6 { - height: 1.5rem; -} - .h-96 { height: 24rem; } @@ -1503,6 +1503,11 @@ video { padding: 0.125rem; } +.px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + .px-0 { padding-left: 0px; padding-right: 0px; diff --git a/langs/de.json b/langs/de.json index 62945e3e3..6d8ea1414 100644 --- a/langs/de.json +++ b/langs/de.json @@ -305,7 +305,7 @@ }, "title": "Laden Sie Ihre Strecke auf OpenStreetMap.org hoch", "uploadFinished": "Ihre Strecke wurde hochgeladen!", - "uploading": "Hochladen Ihrer Strecke..." + "uploading": "Hochladen Ihrer Strecke…" }, "useSearch": "Verwenden Sie die Suche oben, um Voreinstellungen anzuzeigen", "useSearchForMore": "Verwenden Sie die Suchfunktion, um innerhalb von {total} weitere Werte zu suchen…", @@ -401,7 +401,7 @@ }, "compareToAlreadyExistingNotes": { "completelyImported": "Alle vorgeschlagenen Punkte haben (oder hatten) bereits eine Importnotiz", - "loading": "Notizen von OSM abrufen", + "loading": "Notizen von OSM abrufen…", "loadingFailed": "Laden von Notizen fehlgeschlagen aufgrund von {error}", "mapExplanation": "Die roten Elemente auf der nächsten Karte sind alle Datenpunkte aus Ihrem Datensatz. Es gibt {length} Elemente in Ihrem Datensatz.", "noPreviousNotesFound": "Keine früheren Importnotizen gefunden", @@ -542,9 +542,9 @@ "commandNotFound": "Befehl {key} nicht gefunden - siehe help für alle Befehle", "docs": "Führt einen Befehl aus und sendet die Ausgabe an eine andere Person", "executing": "Führt {_} aus und sendet das Ergebnis an {to}…", - "failed": "Ich konnte {cmd} aufgrund von {message} nicht ausführen", + "failed": "Konnte {cmd} aufgrund von {message} nicht ausführen", "noDm": "Ich konnte keinen Raum mit {to} erstellen", - "receipt": "Ich habe die Nachricht an {to} übermittelt", + "receipt": "Nachricht an {to} übermittelt", "selectValidCommand": "Geben Sie einen gültigen Befehl an", "selectValidUser": "Geben Sie einen gültigen Zielbenutzer an", "sendReason": "Ich habe Ihnen diese Nachricht geschickt, weil {sender} mich gebeten hat, diese mit {cmd} zu senden" @@ -565,7 +565,7 @@ "plural": "Ebenen", "singular": "Ebene" }, - "noIdIntro": "Geben Sie eine ID an, um weitere Informationen über ein MapComplete-Programmierelement zu erhalten. Bekannte Typen sind {list}", + "noIdIntro": "Geben Sie eine ID an, um weitere Infos über ein MapComplete-Programmierelement zu erhalten. Bekannte Typen sind {list}", "notFound": "Kein {singular} mit Namen {id} gefunden", "overview": "Die folgenden {plural} existieren:", "theme": { @@ -617,7 +617,7 @@ "arglang": "Die von nun an zu verwendende Sprache", "currentLanguage": "Die Sprache im aktuellen Raum ist {language}", "docs": "Legt die Sprache der Antworten für diesen Raum fest", - "hasBeenSet": "Die Sprache wurde auf {language} eingestellt.", + "hasBeenSet": "Sprache auf {language} eingestellt.", "helpTranslating": "Helfen Sie mit, meine Antworten auf Weblate zu übersetzen.", "knownLanguages": "Sie können eine der folgenden Sprachen wählen:", "notFound": "Die Sprache {language} wurde nicht gefunden" @@ -764,7 +764,7 @@ "li2": "machen Sie ein Foto, das die Rinde zeigt", "li3": "machen Sie ein Foto von den Blüten" }, - "loadingWikidata": "Informationen über {species} werden geladen", + "loadingWikidata": "Informationen über {species} werden geladen…", "matchPercentage": "{match}% Übereinstimmung", "overviewIntro": "Die KI auf PlantNet.org denkt, dass die Fotos die folgende Art zeigen.", "overviewTitle": "Automatisch erkannte Art", diff --git a/langs/en.json b/langs/en.json index cfe6d0d47..841a6e282 100644 --- a/langs/en.json +++ b/langs/en.json @@ -191,7 +191,7 @@ "loginFailedOfflineMode": "OpenStreetMap.org is currently not available due to maintenance. Making edits will be possible soon", "loginFailedReadonlyMode": "OpenStreetMap.org is currently in readonly mode due to maintenance. Making edits will be possible soon", "loginFailedUnreachableMode": "OpenStreetMap.org is currently not reachable. Are you connected to the internet or do you block third parties? Try again later", - "loginOnlyNeededToEdit": "if you want to edit the map", + "loginOnlyNeededToEdit": "if you want to make changes", "loginToStart": "Log in to answer this question", "loginWithOpenStreetMap": "Login with OpenStreetMap", "logout": "Log out", diff --git a/langs/layers/it.json b/langs/layers/it.json index 9c20c24f7..e7f613594 100644 --- a/langs/layers/it.json +++ b/langs/layers/it.json @@ -436,26 +436,26 @@ "render": "È un parcheggio bici del tipo: {bicycle_parking}" }, "Capacity": { - "question": "Quante biciclette entrano in questo parcheggio per bici (incluse le eventuali bici da trasporto)?", + "question": "Quante biciclette entrano in questo parcheggio per bici (incluse le eventuali bici cargo)?", "render": "Posti per {capacity} bici" }, "Cargo bike capacity?": { - "question": "Quante bici da trasporto entrano in questo parcheggio per bici?", - "render": "Questo parcheggio può contenere {capacity:cargo_bike} bici da trasporto" + "question": "Quante bici cargo entrano in questo parcheggio per bici?", + "render": "Questo parcheggio può contenere {capacity:cargo_bike} bici cargo" }, "Cargo bike spaces?": { "mappings": { "0": { - "then": "Questo parcheggio ha posto per bici da trasporto" + "then": "Questo parcheggio ha posto per bici cargo" }, "1": { - "then": "Questo parcheggio ha posti destinati (ufficialmente) alle bici da trasporto." + "then": "Questo parcheggio ha posti destinati (ufficialmente) alle bici cargo." }, "2": { - "then": "Il parcheggio delle bici da trasporto è proibito" + "then": "Il parcheggio delle bici cargo è proibito" } }, - "question": "Questo parcheggio dispone di posti specifici per le bici da trasporto?" + "question": "Questo parcheggio dispone di posti specifici per le bici cargo?" }, "Is covered?": { "mappings": { diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 248538937..fc988453c 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -142,6 +142,20 @@ "artwork_subject": { "question": "Wat beeldt dit kunstwerk af?", "render": "Dit kunstwerk beeldt {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)} af" + }, + "doubles_as_bench": { + "mappings": { + "0": { + "then": "Dit kunstwerk doet ook dienst als zitbank" + }, + "1": { + "then": "Dit kunstwerk doet geen dienst als zitbank" + }, + "2": { + "then": "Dit kunstwerk doet geen dienst als zitbank" + } + }, + "question": "Is dit kunstwerk ook een zitbank?" } }, "title": { @@ -155,6 +169,15 @@ }, "atm": { "description": "Geldautomaten om geld op te nemen", + "filter": { + "1": { + "options": { + "0": { + "question": "Heeft spraak" + } + } + } + }, "name": "Geldautomaten", "presets": { "0": { @@ -162,6 +185,9 @@ } }, "tagRenderings": { + "atm-in-bank-notice": { + "render": "Deze geldautomaat bevindt zich in of bij een bank" + }, "brand": { "freeform": { "placeholder": "Merknaam" @@ -169,6 +195,33 @@ "question": "Van welk merk is deze geldautomaat?", "render": "Het merk van deze geldautomaat is {brand}" }, + "cash_in": { + "mappings": { + "0": { + "then": "Je kan waarschijnlijk geen geld deponeren in deze geldautomaat" + }, + "1": { + "then": "Je kan geld deponeren in deze geldautomaat" + }, + "2": { + "then": "Je kan geen geld deponeren in deze geldautomaat" + } + } + }, + "cash_out": { + "mappings": { + "0": { + "then": "Je kan geld ophalen bij deze geldautomaat" + }, + "1": { + "then": "Je kan geld ophalen bij deze geldautomaat" + }, + "2": { + "then": "Je kan geen geld ophalen bij deze geldautomaat" + } + }, + "question": "Kan je geld ophalen bij deze geldautomaat?" + }, "name": { "render": "De naam van deze geldautomaat is {name}" }, @@ -178,6 +231,26 @@ }, "question": "Welk bedrijf beheert deze geldautomaat?", "render": "Deze geldautomaat wordt beheerd door {operator}" + }, + "speech_output": { + "mappings": { + "0": { + "then": "Deze automaat heeft spraak, waarschijnlijk beschikbaar via een hoofdtelefoon-aansluiting" + }, + "1": { + "then": "Deze automaat heeft geen spraak" + } + }, + "question": "Heeft deze automaat spraak voor slechtziende en blinde gebruikers?" + }, + "speech_output_language": { + "render": { + "special": { + "question": "In welke taal is de srpaak van deze geldautomaat?", + "render_list_item": "Deze geldautomaat heeft spraak in {language():font-bold}", + "render_single_language": "Deze automaat heeft spraak in {language():font-bold}" + } + } } }, "title": { @@ -448,6 +521,18 @@ } }, "bench_at_pt": { + "deletion": { + "extraDeleteReasons": { + "0": { + "explanation": "Deze bushalte wordt niet meer gebruikt" + } + }, + "nonDeleteMappings": { + "0": { + "then": "Deze bushalte heeft geen zitbank (er is er nooit een geweest of deze is verwijderd)" + } + } + }, "description": "Een laag die stopplaatsen van openbaar vervoer toont waar er een zitbank is", "name": "Zitbanken aan bushaltes", "tagRenderings": { @@ -2559,6 +2644,9 @@ "mappings": { "0": { "then": "Een klimboulder - een enkele rots of klif met één of enkele klimroutes die veilig zonder touw kunnen worden beklommen" + }, + "1": { + "then": "Een klimzone - een enkele rots of klif met klimroutes" } } }, @@ -2574,7 +2662,9 @@ }, "title": { "mappings": { - "0": {}, + "0": { + "then": "Klimrots of klimzone {name}" + }, "1": { "then": "Klimsite {name}" }, @@ -2634,8 +2724,30 @@ }, "question": "Is er een snelklimmuur (speed climbing)?" }, + "harness_rental": { + "mappings": { + "0": { + "then": "Een klimgordel kan hier gehuurd worden" + }, + "1": { + "then": "Hier kunnen geen klimgordels gehuurd worden" + } + }, + "question": "Kan een klimgordel hier gehuurd worden?" + }, "name": { "question": "Wat is de naam van dit Klimzaal?" + }, + "shoe_rental": { + "mappings": { + "0": { + "then": "Klimschoenen kunnen hier gehuurd worden" + }, + "1": { + "then": "Hier kunnen geen klimschoenen gehuurd worden" + } + }, + "question": "Kunnen hier klimschoenen gehuurd worden?" } }, "title": { @@ -2673,6 +2785,7 @@ } }, "climbing_route": { + "description": "Een klimroute en de eigenschappen van deze klimroute. Sommige eigenschappen worden afgeleid van omliggende kaart-objecten", "name": "Klimroute", "presets": { "0": { @@ -2696,6 +2809,18 @@ }, "question": "Hoe heet deze klimroute?", "render": "{name}" + }, + "Rock type via embedded feature": { + "render": "De steensoort is {_embedding_features_with_rock:rock} zoals vermeld op de omliggende klimzone" + }, + "bolts": { + "mappings": { + "0": { + "then": "Deze route heeft geen bouten" + } + }, + "question": "Hoeveel bouten heeft deze route voordat je het relay bereikt?", + "render": "Deze route heeft {climbing:bolts} klimbouten.
Dit is zonder het relay mee te tellen. Een klimmer heeft dus minstens {climbing:bolts} klimsetjes nodig om boven te raken
" } }, "title": { @@ -3365,6 +3490,7 @@ "name": "Richtingsvisualisatie" }, "doctors": { + "description": "Deze laag toont dokterspraktijken", "name": "Dokters", "presets": { "0": { @@ -4230,7 +4356,7 @@ "name": "Jouw afgelegde route", "tagRenderings": { "Privacy notice": { - "render": "Dit is waar je was sinds je deze website hebt geopened. Dit is enkel zichtbaar voor jou en niemand anders, je locatie wordt niet verstuurd" + "render": "Dit is waar je was sinds je deze website hebt geopend. Dit is enkel zichtbaar voor jou en niemand anders. Je locatie wordt niet verstuurd buiten je apparaat." } } }, @@ -7236,6 +7362,7 @@ } }, "toilet_at_amenity": { + "description": "Een laag die (publiek toegankelijke) toiletten toont in verschillende andere voorzieningen.", "filter": { "0": { "options": { @@ -7259,12 +7386,19 @@ } } }, + "name": "Toilet in een voorziening", "tagRenderings": { "toilet-access": { "mappings": { "0": { "then": "Publiek toegankelijk" }, + "1": { + "then": "Enkel toegankelijk voor klanten van de voorziening" + }, + "2": { + "then": "Niet toegankelijk, ook niet voor klanten van de voorziening" + }, "3": { "then": "Toegankelijk na het vragen van de sleutel" }, @@ -7314,7 +7448,8 @@ "0": { "then": "Toilet bij {name}" } - } + }, + "render": "Toilet in een voorziening" }, "units": { "0": { diff --git a/langs/nl.json b/langs/nl.json index 6fb68359d..f4707a06c 100644 --- a/langs/nl.json +++ b/langs/nl.json @@ -188,7 +188,7 @@ "loading": "Aan het laden…", "loadingTheme": "{theme} wordt geladen…", "loginFailed": "Het inloggen op OpenStreetMap is gefaald", - "loginOnlyNeededToEdit": "als je de kaart wilt aanpassen", + "loginOnlyNeededToEdit": "als je wijzigingen wilt maken", "loginToStart": "Meld je aan om deze vraag te beantwoorden", "loginWithOpenStreetMap": "Aanmelden met OpenStreetMap", "logout": "Afmelden", @@ -206,6 +206,7 @@ "nameInlineQuestion": "De naam van dit {category} is $$$", "newlyCreated": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.", "next": "Volgende", + "noMatchingMapping": "Geen overeenkomsten gevonden…", "noNameCategory": "{category} zonder naam", "noTagsSelected": "Geen tags geselecteerd", "notValid": "Kies een geldige waarde om verder te gaan", @@ -260,7 +261,7 @@ "addToHomeScreen": "

Voeg toe aan je thuisscherm

Je kan eenvoudigweg deze website aan het thuisscherm van je smartphone toevoegen voor een \"native feel\"", "copiedToClipboard": "Link gekopieerd naar klembord", "downloadCustomTheme": "Download de instellingen van dit thema", - "downloadCustomThemeHelp": "Een ervaring bijdrager kan op basis van dit bestand je thema verder verbeteren", + "downloadCustomThemeHelp": "Een ervaren bijdrager kan op basis van dit bestand je thema verder verbeteren", "editThemeDescription": "Pas vragen aan of voeg vragen toe aan dit kaartthema", "editThisTheme": "Pas dit thema aan", "embedIntro": "

Plaats dit op je website

Voeg dit kaartje toe op je eigen website.
We moedigen dit zelfs aan - je hoeft geen toestemming te vragen.
Het is gratis en zal dat altijd blijven. Hoe meer het gebruikt wordt, hoe waardevoller", @@ -294,13 +295,20 @@ }, "modes": { "private": { + "docs": "Je afgelegde traject wordt samengevoegd met andere tracks. Je afgelegde traject is enkel zichtbaar voor jou en je zal dit kunnen bekijken in andere editeerprogrammas. OpenStreetMap.org houdt een kopie van dit traject", "name": "Anoniem" }, "public": { + "docs": "Je traject is zichtbaar voor iedereen, vindbaar op je profielpagina en in de lijst met publieke GPS-trajecten", "name": "Publiek" } - } + }, + "title": "Upload je traject naar OpenStreetMap.org", + "uploadFinished": "Je traject is geupload!", + "uploading": "Traject uploaden…" }, + "useSearch": "Gebruik de zoekfunctie hierboven om meer opties te zien", + "useSearchForMore": "Gebruik de zoekfunctie om {total} meer waarden te vinden…", "weekdays": { "abbreviations": { "friday": "Vrij", @@ -343,6 +351,14 @@ "wikipediaboxTitle": "Wikipedia" } }, + "hotkeyDocumentation": { + "closeSidebar": "Sluit de zijbalk", + "geolocate": "Centreer de map op je huidige positie of zoom verder in naar de huidige positie. Vraagt geolocatie-toegang", + "openLayersPanel": "Open het paneel met lagen, filters en achtergrondkaart", + "selectBackground": "Selecteer een achtergrondlaag van category {category}", + "selectMapnik": "Selecteer OpenStreetMap-carto als achtergrondlaag", + "selectSearch": "Selecteer de zoekbalk om locaties te zoeken" + }, "image": { "addPicture": "Voeg foto toe", "ccb": "onder de CC-BY-licentie", @@ -432,7 +448,8 @@ "title": "Vergelijking met bestaande data", "titleLive": "Data van OSM", "titleNearby": "Objecten in de buurt", - "zoomIn": "Het huidige zoomniveau is {current}" + "zoomIn": "Het huidige zoomniveau is {current}", + "zoomLevelSelection": "De live data wordt getoond vanaf zoomlevel: " }, "createNotes": { "creating": "{count} van {total} kaartnota's werden gemaakt", @@ -745,11 +762,25 @@ "warnAnonymous": "Je bent niet aangemeld. We gaan je niet kunnen contacteren om deze kaartnota te verwerken." }, "plantDetection": { + "back": "Ga terug naar het soorten-overzicht", + "confirm": "Selecteer soort", + "error": "Er ging iets mis met het detecteren van de soort: {error}", "howTo": { "intro": "Voor optimale resultaten,", "li0": "neem een foto waar de boom in het midden staat zonder te veel achtergrond", - "li1": "neem een foto met een enkel blad" - } + "li1": "neem een foto met een enkel blad", + "li2": "neem een foto die de schors toont", + "li3": "neem een foto van de bloesems" + }, + "loadingWikidata": "Informatie over {species} aan het laden", + "matchPercentage": "{match}% overeenkomst", + "overviewIntro": "De AI van PlantNet.org denkt dat het om één van deze soorten gaat.", + "overviewTitle": "Gedetecteerd plantensoorten", + "overviewVerify": "Verifieer dat het de juiste soort is en link dit aan de boom", + "poweredByPlantnet": "Met dank aan plantnet.org", + "querying": "Plantnet.org aan het bevragen met {length} afbeeldingen", + "seeInfo": "Bekijk meer informatie van deze plantensoort", + "takeImages": "Neem afbeeldingen van de boom om de soort automatisch te herkennen" }, "privacy": { "editing": "Wanneer je een wijziging maakt, wordt deze wijziging opgeslaan op OpenStreetMap. Dit is zichtbaar voor iedereen. Een wijzigingenset gemaakt met MapComplete bevat de volgende data:\n Bekijk ook de privacy-policy op OpenStreetMap.org voor gedetailleerde info. We herinneren je eraan dat je een pseudoniem of fictieve naam kan gebruiken wanneer je je registreert.", @@ -887,9 +918,10 @@ "split": { "cancel": "Annuleren", "hasBeenSplit": "Deze weg is verknipt", - "inviteToSplit": "Knip deze weg in kleinere segmenten (om andere eigenschappen per segment toe te kennen)", + "inviteToSplit": "Deel deze weg op in kleinere segmenten (om andere eigenschappen per segment toe te kennen)", "loginToSplit": "Je moet aangemeld zijn om een weg te knippen", - "split": "Knip weg", + "split": "Bevestig het opdelen", + "splitAgain": "Deel deze weg opnieuw op", "splitTitle": "Duid op de kaart aan waar de eigenschappen van de weg veranderen" }, "translations": { diff --git a/langs/themes/de.json b/langs/themes/de.json index 908a05a66..9052cec0f 100644 --- a/langs/themes/de.json +++ b/langs/themes/de.json @@ -909,6 +909,11 @@ } } }, + "8": { + "override": { + "name": "Behindertenparkplätze" + } + }, "19": { "override": { "=title": { diff --git a/langs/themes/nl.json b/langs/themes/nl.json index 06f8ecd92..7f151db91 100644 --- a/langs/themes/nl.json +++ b/langs/themes/nl.json @@ -7,6 +7,10 @@ "description": "Een vrije kaart met standbeelden, bustes, graffiti en andere kunstwerken van over de hele wereld", "title": "Open kunstwerken-kaart" }, + "atm": { + "description": "Deze kaart toont geldautomaten waar je geld kunt afhalen of geld op de bank kan zetten", + "title": "Geldautomaten" + }, "bag": { "description": "Dit thema helpt het importeren van BAG data", "layers": { @@ -435,7 +439,7 @@ "title": "Fietsknooppuntennetwerken" }, "cyclestreets": { - "description": "Een fietsstraat is een straat waar

Op deze open kaart kan je alle gekende fietsstraten zien en kan je ontbrekende fietsstraten aanduiden. Om de kaart aan te passen, moet je je aanmelden met OpenStreetMap en helemaal inzoomen tot straatniveau. ", + "description": "Een fietsstraat is een straat waar

Op deze open kaart kan je alle gekende fietsstraten zien en kan je ontbrekende fietsstraten aanduiden. Fietszones worden aangeduid door elke straat apart als fietsstraat te markeren.
Om de kaart aan te passen, moet je je aanmelden met OpenStreetMap en helemaal inzoomen tot straatniveau. ", "layers": { "0": { "description": "Een fietsstraat is een straat waar gemotoriseerd verkeer een fietser niet mag inhalen", @@ -516,7 +520,7 @@ } }, "shortDescription": "Een kaart met alle gekende fietsstraten", - "title": "Fietsstraten" + "title": "Fietsstraten en fietszones" }, "cyclofix": { "description": "Het doel van deze kaart is om fietsers een gebruiksvriendelijke oplossing te bieden voor het vinden van de juiste infrastructuur voor hun behoeften.

U kunt uw exacte locatie volgen (enkel mobiel) en in de linkerbenedenhoek categorieën selecteren die voor u relevant zijn. U kunt deze tool ook gebruiken om 'spelden' aan de kaart toe te voegen of te bewerken en meer gegevens te verstrekken door de vragen te beantwoorden.

Alle wijzigingen die u maakt worden automatisch opgeslagen in de wereldwijde database van OpenStreetMap en kunnen door anderen vrij worden hergebruikt.

Bekijk voor meer info over cyclofix ook cyclofix.osm.be.", @@ -935,13 +939,20 @@ } } }, + "name": "Middelpunt van de wijzigingenset", "tagRenderings": { "contributor": { + "question": "Welke bijdrager maakte deze wijziging?", "render": "Wijziging gemaakt door {user}" }, "host": { + "question": "Op welk webadres werd deze wijziging gemaakt?", "render": "Wijziging met {host}" }, + "locale": { + "question": "In welke taal (en cultuur) werd deze wijziging gemaakt?", + "render": "De locale van de bijdrager is {locale}" + }, "show_changeset_id": { "render": "Wijzigingenset {id}" }, @@ -1036,6 +1047,11 @@ } } }, + "8": { + "override": { + "name": "Parkeerplaatsen voor personen met een beperking" + } + }, "19": { "override": { "=title": {